@ihabdevteam/core 0.114.0 → 0.116.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -824,7 +824,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
824
824
  \uC124\uCE58 \uBA85\uB839\uC5B4 (\uC2A4\uD1A0\uB9AC\uC9C0 SDK \uBBF8\uC124\uCE58 \uC2DC):
825
825
  npm install @supabase/supabase-js
826
826
  pnpm add @supabase/supabase-js
827
- `),this.name="StorageNotConfiguredError"}};function Zh(e){Kh(e)}function Do(e,n){if(!e)return null;const a=na();return a?.resolvePath?a.resolvePath(e,n):n?`${n}/${e}.mp3`:null}async function jo(e){if(!e)return null;const n=na();if(!n)throw new So("getSignedOrPublicUrl");try{return await n.resolveUrl(e)}catch{return null}}async function Eo(e){const n=na();if(!n)throw new So("downloadSound");return n.download(e)}function Yh(){return na()?.noiseBaseUrl??"/sounds/noise"}const To="__ihab_core_tts_config__";function Ma(){return globalThis[To]?.urlResolver??null}function Xh(){return globalThis[To]?.fallbackUrlResolver??null}const Jh="__ihab_core_pronunciation_resolver__";function Qh(){return globalThis[Jh]??null}let Fn=null;const Mo=new WeakMap;function em(){if(Fn)return Fn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Fn=new e,Fn):null}catch{return null}}function La(){try{Fn?.resume()}catch{}}function $a(e){if(!e)return null;const n=Mo.get(e);if(n)return n;const a=em();if(!a)return null;try{const r=a.createMediaElementSource(e),o=a.createAnalyser();return o.fftSize=1024,o.smoothingTimeConstant=.6,r.connect(o),r.connect(a.destination),Mo.set(e,o),o}catch{return null}}function tm(e,n){e.getFloatTimeDomainData(n);let a=0;for(let r=0;r<n.length;r++){const o=n[r];a+=o*o}return Math.sqrt(a/n.length)}const nm="__ihab_core_image_config__";function kn(){return globalThis[nm]??null}const Lo="word_image_existence_map_v1";let mn=null;const aa=new Map;function am(){if(mn)return mn;try{const e=typeof localStorage<"u"?localStorage.getItem(Lo):null;mn=e?JSON.parse(e):{}}catch{mn={}}return mn}let Ra=null;function rm(){Ra||(Ra=setTimeout(()=>{Ra=null;try{typeof localStorage<"u"&&mn&&localStorage.setItem(Lo,JSON.stringify(mn))}catch{}},200))}function om(e,n){return`${e}_${n??1}`}async function $o(e,n){const a=am(),r=om(e,n);if(r in a)return a[r];if(aa.has(r))return aa.get(r);const o=kn();if(!o)return!1;const s=o(e,n);if(!s)return!1;const l=fetch(s,{method:"HEAD",signal:AbortSignal.timeout(8e3)}).then(c=>c.ok).catch(()=>!1).then(c=>(a[r]=c,rm(),aa.delete(r),c));return aa.set(r,l),l}const Ro=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],Po=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],sm=["","\u3131","\u3132","\u3133","\u3134","\u3135","\u3136","\u3137","\u3139","\u313A","\u313B","\u313C","\u313D","\u313E","\u313F","\u3140","\u3141","\u3142","\u3144","\u3145","\u3146","\u3147","\u3148","\u314A","\u314B","\u314C","\u314D","\u314E"];function On(e){if(!e)return null;const n=e.charCodeAt(0)-44032;return n<0||n>=11172?null:{cho:Math.floor(n/588),jung:Math.floor(n%588/28),jong:n%28}}function im(e){const n=On(e[0]||"");return n?Ro[n.cho]:""}function lm(e,n){if(!n)return!0;const a=[...n],r=c=>Ro.includes(c),o=c=>Po.includes(c),s=a.map(c=>r(c)?"cho":o(c)?"jung":On(c)?"syl":"other");if(s.includes("other"))return e.includes(n);const l=[...e];for(let c=0;c+a.length<=l.length;c++){let d=!0;for(let u=0;u<a.length;u++){const h=l[c+u],p=s[u];if(p==="cho"){if(im(h)!==a[u]){d=!1;break}}else if(p==="jung"){const C=On(h);if(!C||Po[C.jung]!==a[u]){d=!1;break}}else{const C=On(a[u]);if(C&&C.jong===0){const g=On(h);if(!g||g.cho!==C.cho||g.jung!==C.jung){d=!1;break}}else if(h!==a[u]){d=!1;break}}}if(d)return!0}return!1}const cm={3:["\u3131","\u3145"],5:["\u3134","\u3148"],6:["\u3134","\u314E"],9:["\u3139","\u3131"],10:["\u3139","\u3141"],11:["\u3139","\u3142"],12:["\u3139","\u3145"],13:["\u3139","\u314C"],14:["\u3139","\u314D"],15:["\u3139","\u314E"],18:["\u3142","\u3145"]};Object.fromEntries(Object.entries(cm).map(([e,n])=>[n.join(""),sm[Number(e)]]));const um="word_pair_index_v2",dm="word_pair_index_sig_v2";let ra=null;function pm(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(um),n=localStorage.getItem(dm);return!e||!n?null:{index:JSON.parse(e),sig:n}}catch{return null}}function hm(){if(ra)return ra;const e=pm();return e?(ra=e.index,e.sig,ra):null}const mm={\u314F:{nucleus:"\u314F"},\u3151:{glide:"j",nucleus:"\u314F"},\u3153:{nucleus:"\u3153"},\u3155:{glide:"j",nucleus:"\u3153"},\u3157:{nucleus:"\u3157"},\u315B:{glide:"j",nucleus:"\u3157"},\u315C:{nucleus:"\u315C"},\u3160:{glide:"j",nucleus:"\u315C"},\u3161:{nucleus:"\u3161"},\u3163:{nucleus:"\u3163"},\u3150:{nucleus:"\u3154/\u3150"},\u3152:{glide:"j",nucleus:"\u3154/\u3150"},\u3154:{nucleus:"\u3154/\u3150"},\u3156:{glide:"j",nucleus:"\u3154/\u3150"},\u3158:{glide:"w",nucleus:"\u314F"},\u3159:{glide:"w",nucleus:"\u3154/\u3150"},\u315A:{glide:"w",nucleus:"\u3154/\u3150"},\u315D:{glide:"w",nucleus:"\u3153"},\u315E:{glide:"w",nucleus:"\u3154/\u3150"},\u315F:{glide:"w",nucleus:"\u3163"},\u3162:{glide:"\u0270",nucleus:"\u3163"}},Pa=/[ㄱ-ㅎ]/,Cm=/[ㅏ-ㅣ]/;function Io(e){for(let n=e.length-1;n>=0;n--){const a=e[n],r=a.charCodeAt(0);if(r>=44032&&r<=55203||Pa.test(a)||Cm.test(a))return a}return null}function fm(e){const n=Io(e);if(!n)return"\uAC00";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Pa.test(n)?"\uC774":"\uAC00"}function gm(e){return`${e}${fm(e)}`}function bm(e){const n=Io(e);if(!n)return"\uB97C";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Pa.test(n)?"\uC744":"\uB97C"}function ym(e){return`${e}${bm(e)}`}function vm(e,n,a){const r=e.slice(),[o]=r.splice(n,1);return r.splice(a,0,o),r}function Hn(e,n=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const o=Math.floor(n()*(r+1));[a[r],a[o]]=[a[o],a[r]]}return a}function Fo(e,n="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958"){if(e instanceof Error)return e.message||n;if(typeof e=="string")return e||n;if(e&&typeof e=="object"){const a=e;for(const r of[a.message,a.error_description,a.error])if(typeof r=="string"&&r)return r}return n}const xm="__ihab_core_word_pool__";function _m(){return globalThis[xm]??null}const Oo=globalThis;function Ho(e,n){const a=r=>{};try{const r=n();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function wm(e){Ho("time",()=>Oo.__ihabTrainingTimeLogger?.(e))}function km(e){Ho("completion",()=>Oo.__ihabTrainingCompletionLogger?.(e))}function $t(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function Am(e){for(const n of["correct","isCorrect","heard","judgement"])if(typeof e[n]=="boolean")return e[n];return e.score===1?!0:e.score===0?!1:null}function Nm(e){return Array.isArray(e)?e.map((n,a)=>{const r=n??{};return{index:a,itemId:$t(r.contextCode)??$t(r.itemId)??$t(r.itemCode)??$t(r.id),question:$t(r.question)??$t(r.sentence)??$t(r.word)??$t(r.targetSyllable),answer:$t(r.answer),selected:$t(r.selectedText)??$t(r.selected),correct:Am(r)}}):[]}const Ia=globalThis;async function Bm(){try{return await Ia.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Sm(e){const n=a=>{};try{const a=Ia.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(n)}catch(a){n(a)}}function Fa(e){try{Ia.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function Dm(e){if(typeof document<"u")try{const n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style.position="fixed",n.style.top="0",n.style.left="0",n.style.opacity="0",n.style.pointerEvents="none",document.body.appendChild(n),n.focus(),n.select(),n.setSelectionRange(0,e.length);const a=document.execCommand("copy");if(document.body.removeChild(n),a)return!0}catch{}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}function jm(){return Oa(new Date)}function Oa(e){if(e==null||e==="")return"";const n=e instanceof Date?e:new Date(e);return isNaN(n.getTime())?"":new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(n)}function zo(e,n){if(!e)return"";const a=new Date(e).getTime();if(Number.isNaN(a))return"";const r=Math.max(0,Math.floor((Date.now()-a)/1e3)),o=Math.floor(r/60),s=Math.floor(o/60),l=Math.floor(s/24),c=Math.floor(l/7),d=Math.floor(l/30),u=Math.floor(l/365);return o<1?n("store.time.justNow","\uBC29\uAE08 \uC804"):o<60?n("store.time.minutesAgo",{n:o}):s<24?n("store.time.hoursAgo",{n:s}):l<7?n("store.time.daysAgo",{n:l}):c<5?n("store.time.weeksAgo",{n:c}):l<365?n("store.time.monthsAgo",{n:Math.min(d,11)}):n("store.time.yearsAgo",{n:u})}function Vo(e,n={}){const{sep:a=".",pad:r=!0,trailingDot:o=!1,fallback:s="\u2014"}=n;if(!e)return s;const l=Oa(e instanceof Date?e:String(e));if(!l)return s;const[c,d,u]=l.split("-"),h=r?d:String(Number(d)),p=r?u:String(Number(u));return`${c}${a}${h}${a}${p}${o?".":""}`}function zn(e){if(!e)return e;const n=e.trim();return/^[₩$]/.test(n)?n:/원\s*$/.test(n)?"\u20A9"+n.replace(/\s*원\s*$/,"").trim():n}function Wo(e,n){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),o=Number(a[2]),s=a[1].padStart(2,"0");return o===0?n("date.timeH",{h:r,hh:s,mm:a[2]}):n("date.timeHM",{h:r,hh:s,m:o,mm:a[2]})}function Ha(e){return(e??0).toLocaleString("ko-KR")}const Em=[{key:"FOOD",label:"\uC74C\uC2DD",icon:"salad",color:"#FF8A65",subs:[{key:"TRKRFD",label:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD"},{key:"MDKRFD",label:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD"},{key:"WRLDFD",label:"\uC138\uACC4\uC758 \uC74C\uC2DD"},{key:"MTRFRT",label:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C"},{key:"GEFDKL",label:"\uC74C\uC2DD \uC0C1\uC2DD"}]},{key:"HLTH",label:"\uAC74\uAC15",icon:"heart",color:"#66BB6A",subs:[{key:"HTETHB",label:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00"},{key:"DISILL",label:"\uBCD1\uACFC \uC9C8\uD658"},{key:"EXCISE",label:"\uC6B4\uB3D9"},{key:"GEHTKL",label:"\uAC74\uAC15\uC0C1\uC2DD"}]},{key:"WETH",label:"\uB0A0\uC528",icon:"sun-medium",color:"#42A5F5",subs:[{key:"GESSKL",label:"\uACC4\uC808\uC0C1\uC2DD"},{key:"SNWRAN",label:"\uB208\uACFC \uBE44"},{key:"WTHFCT",label:"\uC77C\uAE30\uC608\uBCF4"},{key:"GEWTKL",label:"\uB0A0\uC528\uC0C1\uC2DD"}]},{key:"PRSN",label:"\uC778\uBB3C",icon:"user-round",color:"#AB47BC",subs:[{key:"JODYPS",label:"\uC870\uC120\uC2DC\uB300"},{key:"MDKRPS",label:"\uD55C\uAD6D \uADFC\uD604\uB300"},{key:"THKDPS",label:"\uC0BC\uAD6D\uC2DC\uB300"},{key:"WRLART",label:"\uC138\uACC4\uC758 \uC608\uC220\uAC00"},{key:"WRLPSN",label:"\uC138\uACC4\uC758 \uC778\uBB3C"}]},{key:"KRCT",label:"\uD55C\uAD6D\uBB38\uD654",icon:"bow-arrow",color:"#EC407A",subs:[{key:"KRLANG",label:"\uC6B0\uB9AC\uB9D0"},{key:"TRPLCT",label:"\uC804\uD1B5\uB180\uC774"},{key:"HERITG",label:"\uBB38\uD654\uC7AC"},{key:"EVTFES",label:"\uD589\uC0AC\uC640 \uCD95\uC81C"},{key:"GECTKL",label:"\uC0C1\uC2DD"}]},{key:"STRY",label:"\uC774\uC57C\uAE30",icon:"message-circle",color:"#8D6E63",subs:[{key:"FRYTAL",label:"\uB3D9\uD654"},{key:"AMZING",label:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30"},{key:"DAYSTR",label:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30"}]},{key:"LOCA",label:"\uC9C0\uC5ED",icon:"map-pin",color:"#26A69A",subs:[{key:"KRLDMK",label:"\uD55C\uAD6D\uC758 \uBA85\uC18C"},{key:"SELNMK",label:"\uC11C\uC6B8\uC758 \uBA85\uC18C"},{key:"WRDTRB",label:"\uC138\uACC4\uC5EC\uD589"},{key:"NAVIGT",label:"\uAE38 \uCC3E\uAE30"}]},{key:"SOAR",label:"\uC0AC\uD68C\uC640 \uC608\uC220",icon:"landmark",color:"#5C6BC0",subs:[{key:"KRSOCI",label:"\uD55C\uAD6D"},{key:"ECONEW",label:"\uACBD\uC81C\uC640 \uB274\uC2A4"},{key:"GENART",label:"\uC608\uC220"},{key:"GELFKL",label:"\uC0DD\uD65C \uC0C1\uC2DD"}]},{key:"NTSC",label:"\uC790\uC5F0\uACFC \uACFC\uD559",icon:"leaf",color:"#9CCC65",subs:[{key:"ANIMAL",label:"\uB3D9\uBB3C"},{key:"PLANTS",label:"\uC2DD\uBB3C"},{key:"ETHPLT",label:"\uC9C0\uAD6C"},{key:"TOLELC",label:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488"},{key:"GESCKL",label:"\uACFC\uD559\uC0C1\uC2DD"}]},{key:"SPRT",label:"\uC2A4\uD3EC\uCE20",icon:"trophy",color:"#FFCA28",subs:[{key:"INVDSP",label:"\uAC1C\uC778\uACBD\uAE30"},{key:"MARART",label:"\uACA9\uD22C\uAE30"},{key:"TEAMSP",label:"\uB2E8\uCCB4\uACBD\uAE30"},{key:"FOOTBL",label:"\uCD95\uAD6C"},{key:"GESPKL",label:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}]}],Tm=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];function qo(){return Em}function Mm(){return Tm}const Lm=[],$m=[],Rm=[],Pm=[];function Im(){return{LISTEN_IN_NOISE:Lm,SHORT_STORY:$m,LONG_STORY:Rm,ORDERING_SENTENCE:Pm}}const Fm=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}];let oa=null,Uo=null,Go=null;function Om(){const e=_m();if(e&&e.entries.length>0){const n=hm();if(oa&&Uo===e&&Go===n)return oa;const a=new Set,r=[];for(const o of e.entries)!o.word||a.has(o.word)||(a.add(o.word),r.push({w:o.word,s:o.syllables,p:n?.[o.word]?[...n[o.word].cho??[],...n[o.word].jung??[],...n[o.word].jong??[]]:[],pron:o.pronunciation||o.word,grade:o.grade}));return oa=r,Uo=e,Go=n,oa}return[]}new Proxy([],{get(e,n){const a=Om(),r=a[n];return typeof r=="function"?r.bind(a):r}});const Hm="0.114.0";function zm(e){return typeof window>"u"?"":Wh.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use"],FORBID_ATTR:["xlink:href","href"]})}function Vm(e){const[n,a]=i.useState(null),[r,o]=i.useState(null),[s,l]=i.useState(null),[c,d]=i.useState(null);return i.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),o(null),l(null);return}const u=e.split("/").pop();let h=e;u&&(e.startsWith("/")?h=Ta(e):/^(Logo|Symbol)/i.test(u)?h=Ta(`logo/${u}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),h=e)),a(h)},[e]),i.useEffect(()=>{if(!n)return;let u=!1;async function h(){try{let p=await fetch(n);p.ok||(p=await fetch(n));const C=p.headers.get("content-type")||"";if(u)return;if(C.includes("svg")){o("mask");return}if(C.startsWith("image/")){o("img");return}const g=await fetch(n);if(!g.ok)throw new Error("not ok");const f=await g.text();if(u)return;if(/^\s*<svg[\s>]/i.test(f)){const m=zm(f);if(!m){o("none");return}l(m),o("inline");return}o("none")}catch{u||o("none")}}return h(),()=>{u=!0}},[n]),i.useEffect(()=>{let u=!1,h=null;return r==="mask"&&n&&fetch(n).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{u||(h=URL.createObjectURL(p),d(h))}).catch(()=>{u||o("img")}),()=>{u=!0,h&&URL.revokeObjectURL(h),d(null)}},[r,n]),{iconToUse:n,mode:r,svgText:s,blobUrl:c}}function Ie(e){const{icon:n,label:a,className:r,imgClassName:o,maskClassName:s,svgClassName:l,wrapperStyle:c,size:d}=e||{},u=r??"iconRenderer-icon",h=o??"iconRenderer-icon-image",p=s??"iconRenderer-icon-mask",C=l??"iconRenderer-icon-svg",g=typeof n=="string"?n:null,f=ch(g),{iconToUse:m,mode:b,svgText:v,blobUrl:w}=Vm(g),_=(N,M={})=>t.jsx("span",{className:u,style:c,...M,children:N}),y=(N,M={})=>t.jsx("img",{src:N,alt:typeof a=="string"?a:a?String(a):"",className:h,...M});if(!n)return null;if(typeof n!="string")return _(n);if(n==="none")return _(t.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"></svg>'}}),{"aria-hidden":"true"});if(f)try{return _(i.createElement(f,{className:C,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(m&&m.endsWith(".svg")){if(b==="mask"){const N={"--icon-url":w?`url(${w})`:`url(${m})`};return _(t.jsx("span",{className:p,style:N}),{"aria-hidden":"true"})}return b==="img"?_(y(m,{onError:N=>{N.currentTarget.onerror=null,N.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):b==="inline"?_(t.jsx("span",{className:C,dangerouslySetInnerHTML:v?{__html:v}:void 0}),{"aria-hidden":"true"}):_(null,{"aria-hidden":"true"})}if(n.startsWith("/")||n.includes("/assets/")||n.match(/\.(png|jpg|jpeg|webp|gif)$/i))return y(Ta(n),{style:c,onError:N=>{N.currentTarget.onerror=null,N.currentTarget.style.display="none"}});const B=typeof d=="number"?d:20,x=`<svg width="${B}" height="${B}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return _(t.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:x}}),{"aria-hidden":"true"})}function Wm({icon:e,emoji:n,title:a,message:r,hint:o,action:s,compact:l,className:c}){return t.jsxs("div",{className:ye("empty-state",l&&"empty-state--compact",c),children:[n&&t.jsx("span",{className:"empty-state__emoji",children:n}),e&&t.jsx(Ie,{icon:e,className:"empty-state__icon"}),a&&t.jsx("p",{className:"empty-state__title body-2",children:a}),r&&t.jsx("p",{className:"empty-state__message body-3",children:r}),o&&t.jsx("p",{className:"empty-state__hint caption-1",children:o}),s&&t.jsxs("button",{className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:s.onClick,children:[s.icon&&t.jsx(Ie,{icon:s.icon,className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:s.label})]})]})}function qm({message:e,hint:n,icon:a="triangle-alert",onRetry:r,retryLabel:o,className:s}){const{t:l}=me.useTranslation();return t.jsxs("div",{className:ye("empty-state","error-state",s),role:"alert",children:[t.jsx(Ie,{icon:a,className:"empty-state__icon error-state__icon"}),t.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),n&&t.jsx("p",{className:"empty-state__hint caption-1",children:n}),r&&t.jsxs("button",{className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:r,children:[t.jsx(Ie,{icon:"rotate-cw",className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:o??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function Um({icon:e,title:n,description:a,cta:r,tone:o="main",disabled:s=!1,onClick:l,className:c=""}){const d=()=>{s||l?.()};return t.jsx("section",{role:"button",tabIndex:s?-1:0,"aria-disabled":s||void 0,"aria-label":n,onClick:d,onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),d())},className:ye("action-card",`action-card--${o}`,s&&"action-card--disabled",c),children:t.jsxs("div",{className:"action-card__body",children:[t.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:t.jsx(Ie,{icon:e,size:34})}),t.jsxs("div",{className:"action-card__text",children:[t.jsx("h2",{className:"action-card__title",children:n}),t.jsx("p",{className:"action-card__desc",children:a})]}),t.jsxs("div",{className:"action-card__cta",children:[t.jsx("span",{children:r}),t.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:t.jsx(Ie,{icon:"arrow-right",size:18})})]})]})})}function Gm({as:e="div",className:n="",children:a,storage:r,...o}){r&&Zh({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl});const s=ye("ihabdevteam-core-scope",n);return t.jsx(e,{className:s,...o,children:a})}function Km({title:e="",lines:n=[],notices:a=null,children:r,variant:o="default",dismissible:s=!1,className:l=""}){const{t:c}=me.useTranslation(),[d,u]=i.useState(!1),h=i.useCallback(()=>u(!0),[]);if(d)return null;const p=`notice-box notice-box--${o} body-2 ${l}`.trim();if(a&&Array.isArray(a)&&a.length)return t.jsx("div",{className:p,role:"note",children:a.map((g,f)=>t.jsxs("div",{className:"notice-box__inner",children:[g.title?t.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,t.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?t.jsx("div",{children:g.lines.map((m,b)=>t.jsx("span",{className:"notice-box__line body-3",children:m},b))}):g.children??null})]},f))});const C=e||n.length?t.jsxs("div",{className:"notice-box__inner",children:[e?t.jsx("span",{className:"notice-box__title body-1",children:e}):null,t.jsx("div",{className:"notice-box__body",children:n.length?t.jsx("ul",{children:n.map((g,f)=>t.jsx("li",{className:"notice-box__line",children:g},f))}):r})]}):t.jsx("div",{className:"notice-box__inner",children:r});return t.jsxs("div",{className:p,role:"note",children:[C,s&&t.jsx("button",{className:"notice-box__dismiss",onClick:h,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}function za(e,n=!0){i.useEffect(()=>{if(!n)return;const a=e.current;if(!a)return;const r=o=>{if(o.key!=="Tab")return;const s=Array.from(a.querySelectorAll(Vn)).filter(d=>!d.closest('[aria-hidden="true"]'));if(!s.length){o.preventDefault();return}const l=s[0],c=s[s.length-1];o.shiftKey&&document.activeElement===l?(o.preventDefault(),c.focus()):!o.shiftKey&&document.activeElement===c&&(o.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,n])}const Vn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function nn(e){const{anchorRect:n,anchorEl:a,offset:r=20,edgeMargin:o=20,onClose:s,closeOnOutsideClick:l=!0,className:c="",role:d="dialog",ariaLabel:u="",children:h,backdrop:p=!1,isMobilePopup:C=!1,useBorder:g=!0,header:f}=e||{},m=i.useRef(null),[b,v]=i.useState({position:"fixed",left:0,top:-9999}),[w,_]=i.useState(!1),[y,B]=i.useState("bottom"),[x,N]=i.useState(!1),[M,k]=i.useState(!1),D=!n&&!a,H=i.useCallback((S=!1)=>{if(M&&C)return;const U=a?a.getBoundingClientRect():n;if(!U||!m.current)return;const X=m.current,{offsetWidth:J,offsetHeight:Q}=X,E=window.innerWidth,$=window.innerHeight,L=E-U.right,W=U.left,O=U.top,Y=$-U.bottom;let I=0,q=0,K="top";if(O>=Q+r)K="top",q=U.top-r-Q,I=U.left+U.width/2-J/2;else if(Y>=Q+r)K="bottom",q=U.bottom+r,I=U.left+U.width/2-J/2;else if(L>=J+r)K="right",I=U.right+r,q=U.top+U.height/2-Q/2;else if(W>=J+r)K="left",I=U.left-r-J,q=U.top+U.height/2-Q/2;else{const ge=Math.max(O,Y,L,W);ge===O?(K="top",q=U.top-r-Q,I=U.left+U.width/2-J/2):ge===Y?(K="bottom",q=U.bottom+r,I=U.left+U.width/2-J/2):ge===L?(K="right",I=U.right+r,q=U.top+U.height/2-Q/2):(K="left",I=U.left-r-J,q=U.top+U.height/2-Q/2)}const oe=Number(o)||8;I=Math.min(Math.max(I,oe),E-J-oe),q=Math.min(Math.max(q,oe),$-Q-oe);const pe=Math.round(I),fe=Math.round(q);S&&m.current?(m.current.style.left=`${pe}px`,m.current.style.top=`${fe}px`,m.current.dataset.placement=K):(B(K||y),v({position:"fixed",left:pe,top:fe}),N(!0))},[M,C,a,n,r,o,y]);i.useLayoutEffect(()=>{if(D)return;if(M&&C){v({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),N(!0);return}H();const S=requestAnimationFrame(()=>H());return()=>cancelAnimationFrame(S)},[n,a,r,h,o,D,M,C,H]),i.useEffect(()=>{if(D||M&&C||!m.current||typeof ResizeObserver>"u")return;const S=new ResizeObserver(()=>{n&&H()});return S.observe(m.current),()=>S.disconnect()},[n,h,o,D,M,C,H]),i.useEffect(()=>{if(D||M&&C)return;const S=()=>H(!0);return window.addEventListener("resize",S),document.addEventListener("scroll",S,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",S),document.removeEventListener("scroll",S,{capture:!0})}},[n,r,h,o,D,M,C,H]),i.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const S=window.matchMedia("(max-width: 768px)"),U=()=>k(!!S.matches);U();try{S.addEventListener?S.addEventListener("change",U):S.addListener(U)}catch{try{S.addListener(U)}catch{}}return()=>{try{S.removeEventListener?S.removeEventListener("change",U):S.removeListener(U)}catch{}}},[]);const R=i.useRef(!1),j=i.useCallback((S=!1)=>{if(!(w||R.current)){if(R.current=!0,S){_(!0);try{s&&s()}catch{}return}_(!0),setTimeout(()=>{s&&s()},200)}},[w,s,_]);i.useEffect(()=>{const S=J=>{const Q=m.current;if(!Q)return;const E=J.target;if(E&&!Q.contains(E)){try{if(E.closest&&E.closest("[data-tooltip-ignore]"))return}catch{}l&&j(!0)}},U=J=>{const Q=m.current;if(!Q)return;const E=J.target;if(E&&!Q.contains(E)){try{if(E.closest&&E.closest("[data-tooltip-ignore]"))return}catch{}l&&j(!0)}},X=J=>{if(J.key==="Escape"){J.stopPropagation(),j();return}if(J.key==="Tab"){const Q=m.current;if(!Q)return;const E=Q.querySelectorAll(Vn);if(!E||E.length===0)return;const $=E[0],L=E[E.length-1],W=document.activeElement;J.shiftKey?W===$&&(J.preventDefault(),L.focus()):W===L&&(J.preventDefault(),$.focus())}};return document.addEventListener("pointerdown",S,!0),document.addEventListener("click",U,!0),document.addEventListener("keydown",X),()=>{document.removeEventListener("pointerdown",S,!0),document.removeEventListener("click",U,!0),document.removeEventListener("keydown",X)}},[s,l,j]),i.useEffect(()=>{const S=()=>{j(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",S),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",S)}},[j]);const P=t.jsxs("div",{ref:m,className:`tooltip-content ${D?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${w?"is-closing":""} ${c} ${M&&C?"is-mobile":""}`,role:d,"aria-label":u||void 0,style:D?{}:{...b,visibility:x?"visible":"hidden"},tabIndex:-1,"data-placement":y,"data-left":D?"":b.left,"data-top":D?"":b.top,"data-anchor-left":n?Math.round(n.left):"","data-anchor-top":n?Math.round(n.top):"","data-anchor-width":n?Math.round(n.width):"","data-anchor-height":n?Math.round(n.height):"",children:[f!=null&&t.jsx("div",{className:"tooltip-content__header h5",children:f}),h]});if(D||typeof document>"u")return P;if(p||M&&C){const S=t.jsxs("div",{className:"tooltip-portal",children:[t.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&j(!0)}}),P]});return Tt.createPortal(S,document.body)}return Tt.createPortal(P,document.body)}function an(e){const{anchorRect:n,text:a,offset:r=8,onClose:o,className:s="",ariaLabel:l}=e||{};return a?t.jsx(nn,{anchorRect:n,offset:r,onClose:o,closeOnOutsideClick:!1,className:`tooltip-info ${s}`,ariaLabel:l||a,children:t.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function Cn(e){const{t:n}=me.useTranslation(),{anchorRect:a,title:r,items:o,activeIndex:s=-1,showIndex:l=!0,onClose:c,offset:d=12,closeOnOutsideClick:u=!0}=e||{},h=(Array.isArray(o)?o:o?[o]:[]).map(p=>typeof p=="string"?{text:p}:p);return!h.length&&!r?null:t.jsx(nn,{anchorRect:a,offset:d,onClose:c,closeOnOutsideClick:u,useBorder:!1,className:"tooltip-description",ariaLabel:r||n("tooltip.description","\uC124\uBA85"),children:t.jsxs("div",{className:"tooltip-description__box",children:[r&&t.jsx("span",{className:"tooltip-description__title body-2",children:r}),t.jsx("ol",{className:"tooltip-description__items",children:h.map((p,C)=>t.jsxs("li",{className:`tooltip-description__item body-3${C===s?" tooltip-description__item--active":""}`,children:[l&&h.length>1&&t.jsxs("span",{className:"tooltip-description__index button-1",children:[C+1,"."]}),p.color&&t.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),t.jsx("span",{children:p.text})]},C))})]})})}function te(e){const{size:n=48,type:a,htmlType:r,href:o,target:s,rel:l,icon:c,rightIcon:d,label:u,count:h,subLabel:p,children:C,ariaLabel:g,variant:f="default",align:m="center",selected:b,toggleable:v=!1,disabled:w=!1,useLabel:_=!0,useBorder:y=!0,useBG:B=!0,useDisabledCovered:x=!1,useDisabledInvisible:N=!1,width:M,minWidth:k,onClick:D,onDisabledClick:H,showTooltipInfo:R=!1,tooltipInfoText:j=null,tooltipDescription:P=null,iconSize:S="medium",iconColor:U,shape:X="rounded",color:J,className:Q,...E}=e,$=typeof n=="string"&&isNaN(Number(n))?n.toLowerCase():String(Number(n)||48),L=$.match(/^\d+$/)?`button${$}`:`button-${$}`,W=Number(n),O=!isNaN(W)&&W<40?"button-2":"button-1",Y=u??C,I=w||!!E.disabled,q=I?x?"disabled-covered":N?"disabled-invisibled":"disabled":f,K=q?`button--variant-${q}`:"",oe=m?`button--align-${m}`:"",pe=X?`button--shape-${X}`:"",fe=typeof U=="string"&&U.startsWith("--")?`var(${U})`:U,ge={...M?{width:typeof M=="number"?`${M}px`:M}:{},...k?{minWidth:typeof k=="number"?`${k}px`:k}:{},...y?{}:{"--button-border":I?"0":"1px solid transparent"},...fe?{"--button-icon-color":fe}:{},...J?{"--color-main":J}:{}},he=_===!1?"":Y,T=Array.isArray(he)?he.length>0:!!he,V=!!d,ee=a??(T||c||V?"bar":"dot"),Ce=`${L}--${ee}`,ie=i.useRef(null),ue=i.useRef(I),[se,ae]=i.useState(!!b),[je,Fe]=i.useState(!1),[He,$e]=i.useState(null),Ee=i.useCallback(()=>Fe(!1),[]);i.useEffect(()=>{typeof b=="boolean"&&ae(b)},[b]),i.useEffect(()=>{if(ue.current&&!I&&ie.current){const Me=ie.current;Me.blur(),Me.style.pointerEvents="none";const et=requestAnimationFrame(()=>{requestAnimationFrame(()=>{ie.current&&(ie.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(et)}ue.current=I},[I]);const Se=typeof b=="boolean"?!!b:se,ke=v||typeof b=="boolean"?Se?"true":"false":void 0,Pe=ye("button",L,Ce,K,oe,pe,Se?"is-selected":null,B?null:"button--no-bg",Q),Ye=`button__icon button__icon--${S}`,xe=Array.isArray(p)?p:p!==void 0?[p]:[],Oe=()=>{if(Array.isArray(he))return he.map((et,tt)=>{const Ze=xe[tt];return t.jsxs("span",{className:`button__label-text${Ze!==void 0?" button__label-text--has-sub":""}`,children:[et,Ze!==void 0&&t.jsx("span",{className:"button__sub-label-text caption-1",children:Ze})]},tt)});const Me=p!==void 0;return t.jsxs("span",{className:`button__label-text${Me?" button__label-text--has-sub":""}`,children:[he,h!=null&&t.jsx("span",{className:"button__count",children:h}),Me&&t.jsx("span",{className:"button__sub-label-text caption-1",children:p})]})},De=Me=>{I||(typeof E.onMouseLeave=="function"&&E.onMouseLeave(Me),typeof b!="boolean"&&ae(!1),Me.currentTarget.blur())},We=Me=>{if(I){H?.(Me);return}typeof b!="boolean"&&v&&ae(et=>!et),D?.(Me)},Xe=i.useCallback(()=>{(R||P)&&(Fe(!0),$e(ie.current?.getBoundingClientRect()??null))},[R,P]),qe=i.useCallback(()=>{(R||P)&&(Fe(!1),$e(null))},[R,P]),Re={...E};delete Re.disabled,delete Re.className,delete Re.faded,delete Re.useFaded,delete Re.loading,delete Re.onMouseLeave,delete Re.onPointerEnter,delete Re.onPointerLeave,delete Re.onFocus,delete Re.onBlur,I&&(Object.keys(Re).forEach(Me=>{/^on[A-Z]/.test(Me)&&typeof Re[Me]=="function"&&delete Re[Me]}),Re["aria-disabled"]="true");const ot=(typeof R=="string"?R:null)??(typeof j=="string"?j:null)??(typeof g=="string"?g:null)??(typeof Y=="string"?Y:null)??void 0,pt=typeof g=="string"?g:typeof Y=="string"?Y:ot,Ue=(Me,et)=>t.jsx(Ie,{icon:Me,label:et??pt,className:Ye,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),at=()=>ee==="dot"?t.jsxs(t.Fragment,{children:[Ue(c),T&&t.jsx("span",{className:`button__label ${O}`,children:Oe()})]}):m==="center"&&c?t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"button__center-group",children:[t.jsx("span",{className:"button__left",children:Ue(c)}),T&&t.jsx("span",{className:`button__label ${O}`,children:Oe()})]}),V&&t.jsx("span",{className:"button__right",children:Ue(d)})]}):t.jsxs(t.Fragment,{children:[c&&t.jsx("span",{className:"button__left",children:Ue(c,g??Y)}),T&&t.jsx("span",{className:`button__label ${O}`,children:Oe()}),V&&t.jsx("span",{className:"button__right",children:Ue(d)})]}),Be=!!o&&!I;return t.jsxs(t.Fragment,{children:[t.jsx(Be?"a":"button",{...Re,ref:ie,...Be?{href:o,target:s,rel:l??(s==="_blank"?"noreferrer":void 0)}:{type:r,disabled:I&&!H},className:Pe,"aria-pressed":ke,"aria-label":pt,"aria-disabled":Be&&I?!0:void 0,style:ge,onClick:We,onMouseLeave:De,onPointerEnter:Me=>{Xe(),!I&&typeof E.onPointerEnter=="function"&&E.onPointerEnter(Me)},onPointerLeave:Me=>{qe(),!I&&typeof E.onPointerLeave=="function"&&E.onPointerLeave(Me)},onFocus:Me=>{Xe(),!I&&typeof E.onFocus=="function"&&E.onFocus(Me)},onBlur:Me=>{De(Me),qe(),!I&&typeof E.onBlur=="function"&&E.onBlur(Me)},children:at()}),je&&P?t.jsx(Cn,{anchorRect:He,title:P.title,items:P.items,onClose:Ee}):je&&ot?t.jsx(an,{anchorRect:He,text:ot,onClose:Ee}):null]})}function nt(e,n,a){const r=i.useRef(null);return i.useLayoutEffect(()=>{const o=r.current?.parentElement??null;return n(o,e),()=>a(o)},[e,n,a]),r}const Wn={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Va=new WeakMap;function Ko(e){if(e)return Va.get(e)}function xt(e,n){e&&(e.style.setProperty(Wn.title,n.title),e.style.setProperty(Wn.description,n.description),Va.set(e,n))}function _t(e){e&&(e.style.removeProperty(Wn.title),e.style.removeProperty(Wn.description),Va.delete(e))}const Zo={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Yo(){const e=nt(Zo,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Xo={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Jo(){const e=nt(Xo,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Qo={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function es(){const e=nt(Qo,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const ts={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function ns(){const e=nt(ts,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const as={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function rs(){const e=nt(as,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const os={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function ss(){const e=nt(os,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const is={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function ls(){const e=nt(is,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const cs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function us(){const e=nt(cs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const ds={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function ps(){const e=nt(ds,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const hs={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function ms(){const e=nt(hs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Cs={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function fs(){const e=nt(Cs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:t.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const gs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function bs(){const e=nt(gs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const ys={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function vs(){const e=nt(ys,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const xs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function _s(){const e=nt(xs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Zm=[{key:"main",label:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"soft",label:"\uC18C\uD504\uD2B8",textTone:"dark"},{key:"sub",label:"\uC11C\uBE0C \uCEEC\uB7EC",textTone:"light"},{key:"deep",label:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"softSub",label:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",textTone:"dark"},{key:"warm",label:"\uC6DC(\uAC15\uC870)",textTone:"dark"},{key:"dark",label:"\uB2E4\uD06C",textTone:"light"},{key:"radial",label:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"diagonal",label:"\uB300\uAC01\uC120 \uD328\uD134",textTone:"dark"},{key:"dots",label:"\uB3C4\uD2B8 \uD328\uD134",textTone:"dark"},{key:"outline",label:"\uC544\uC6C3\uB77C\uC778",textTone:"dark"},{key:"success",label:"\uC131\uACF5/\uC644\uB8CC",textTone:"light"},{key:"naver",label:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",textTone:"light"},{key:"instagram",label:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4",textTone:"light"}],ws={main:Yo,soft:Jo,sub:es,deep:ns,softSub:rs,warm:ss,dark:ls,radial:us,diagonal:ps,dots:ms,outline:fs,success:bs,naver:vs,instagram:_s};function ks({storageKey:e="fontScale",baseFont:n=20,minScale:a=.8,maxScale:r=1.4,step:o=.1,lineHeightRatio:s=1.4}={}){const l=b=>Math.max(a,Math.min(r,Number(b))),[c,d]=i.useState(()=>{try{const b=localStorage.getItem(e),v=b?Number(b):1;return Number.isFinite(v)?v:1}catch{return 1}});i.useEffect(()=>{try{localStorage.setItem(e,String(c))}catch{}},[e,c]);const u=b=>{d(typeof b=="function"?v=>l(b(v)):l(b))},h=()=>u(b=>+(b+o).toFixed(6)),p=()=>u(b=>+(b-o).toFixed(6)),C=c<r-Number.EPSILON,g=c>a+Number.EPSILON,f=Math.round(n*c),m=Math.round(f*s);return{scale:c,setScale:u,increase:h,decrease:p,canIncrease:C,canDecrease:g,fontSize:f,lineHeight:m}}const As=i.createContext(null);function Ym(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}function Gt(e){const n=i.useContext(As),a=s=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(s).matches,[r,o]=i.useState(a(e));return i.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const s=window.matchMedia(e),l=d=>o(d.matches),c=s;return c.addEventListener?c.addEventListener("change",l):c.addListener&&c.addListener(l),o(s.matches),()=>{c.removeEventListener?c.removeEventListener("change",l):c.removeListener&&c.removeListener(l)}},[e]),n&&typeof n.mobile=="boolean"&&Ym(e)?n.mobile:r}function Wa(e){const n=i.useRef(e);return i.useEffect(()=>{n.current=e}),n}function Ns(e,n){const a=Wa(n);i.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const qa=" \xB7 ",Bs=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(qa)?e.split(qa).pop()??e:e})(),Xm=i.createContext(!1);function Jm(e){const n=i.useContext(Xm);i.useEffect(()=>{if(n||typeof e!="string"||!e)return;const a=document.title;return document.title=Bs?`${e}${qa}${Bs}`:e,()=>{document.title=a}},[e,n])}const Ss=[{value:"10",label:"10\uAC1C\uC529 \uBCF4\uAE30"},{value:"25",label:"25\uAC1C\uC529 \uBCF4\uAE30"},{value:"50",label:"50\uAC1C\uC529 \uBCF4\uAE30"},{value:"100",label:"100\uAC1C\uC529 \uBCF4\uAE30"}];function Qm(e,n,a){const{t:r}=me.useTranslation(),[o,s]=i.useState(()=>{const f=a?.initialPageSize;return f&&Ss.some(m=>m.value===f)?f:"25"}),[l,c]=i.useState(1),[d,u]=i.useState(n);d!==n&&(u(n),l!==1&&c(1));const h=i.useMemo(()=>Ss.map(f=>({...f,label:r("visits.showN",{n:f.value})})),[r]),p=i.useCallback(f=>{s(f),c(1)},[]),C=Math.max(1,Math.ceil(e.length/Number(o))),g=Math.min(l,C);return{pageRows:i.useMemo(()=>e.slice((g-1)*Number(o),g*Number(o)),[e,g,o]),pageSizeProps:{options:h,value:o,onChange:p},paginationProps:{page:g,total:C,onChange:c},setPage:c}}function e0(){const[e,n]=i.useState(null),a=i.useCallback(o=>{n(s=>s?.key===o?{key:o,asc:!s.asc}:{key:o,asc:!0})},[]),r=i.useCallback((o,s)=>({label:o,sortDir:e?.key===s?e.asc?"asc":"desc":null,onClick:()=>a(s)}),[e,a]);return{\uC815\uB82C:e,\uCE78:r}}const rn="\uC804\uCCB4";Object.fromEntries(Object.entries(mm).map(([e,{nucleus:n}])=>[e,n]));const t0={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},n0={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},a0={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function r0(e,n){if("place"in n)return t0[n.place](e);const a=n0[n.vowel](e);return n.glide?`${a} \xB7 ${a0[n.glide](e)}`:a}const o0=(e,{defaultValue:n})=>n,Ds=(e,n)=>({jamos:e,phonetic:n,tooltip:r0(o0,n)}),Kt=(e,n)=>n.map(a=>Ds([a],{place:e})),mt=(e,n,a)=>Ds([...e],a?{vowel:n,glide:a}:{vowel:n}),Ua={cho:[Kt("labial",["\u3142","\u3143","\u314D","\u3141"]),Kt("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),Kt("alveolar",["\u3145","\u3146"]),Kt("palatal",["\u3148","\u3149","\u314A"]),Kt("velar",["\u3131","\u3132","\u314B"]),Kt("glottal",["\u314E"])],jung:[[mt("\u3163","frontHigh"),mt("\u315F","frontHigh","w"),mt("\u3162","frontHigh","velar")],[mt("\u3161","backHighUnrounded")],[mt("\u315C","backHighRounded"),mt("\u3160","backHighRounded","j")],[mt("\u3154\u3150","frontMid"),mt("\u3156\u3152","frontMid","j"),mt("\u3159\u315A\u315E","frontMid","w")],[mt("\u3153","backMidUnrounded"),mt("\u3155","backMidUnrounded","j"),mt("\u315D","backMidUnrounded","w")],[mt("\u3157","backMidRounded"),mt("\u315B","backMidRounded","j")],[mt("\u314F","low"),mt("\u3151","low","j"),mt("\u3158","low","w")]],jong:[Kt("labial",["\u3142","\u3141"]),Kt("alveolar",["\u3137","\u3134","\u3139"]),Kt("velar",["\u3131","\u3147"])]},s0=e=>e===i0?[]:Array.from(e),i0="__NO_CODA__",Ga=e=>e.map(n=>n.map(({jamos:a,phonetic:r,tooltip:o})=>({v:a.join(""),phonetic:r,tooltip:o}))),js={cho:Ga(Ua.cho),jung:Ga(Ua.jung),jong:Ga(Ua.jong)};js.jung.flat().forEach(({v:e})=>{for(const n of s0(e));}),new Set(js.cho.flat().map(e=>e.v));const An=[];let sa=!1;function Es(e){if(e.key!=="Escape"||e.defaultPrevented)return;const n=An[An.length-1];n&&(e.stopPropagation(),n())}function Ka(e){return An.push(e),!sa&&typeof document<"u"&&(document.addEventListener("keydown",Es),sa=!0),()=>{const n=An.lastIndexOf(e);n>=0&&An.splice(n,1),An.length===0&&sa&&typeof document<"u"&&(document.removeEventListener("keydown",Es),sa=!1)}}function l0(e,n=!0){const a=Wa(e);i.useEffect(()=>{if(n)return Ka(()=>{a.current?.()})},[n,a])}function ia(){const[e,n]=i.useState(null),a=i.useCallback(s=>n(s.getBoundingClientRect()),[]),r=i.useCallback(()=>n(null),[]),o=i.useCallback(s=>{const l=s.getBoundingClientRect();n(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:o}}function Ts(e="warning"){const[n,a]=i.useState(""),[r,o]=i.useState(e),[s,l]=i.useState(0),c=i.useCallback((p,C)=>{o(C),a(p),l(g=>g+1)},[]),d=i.useCallback(p=>c(p,"warning"),[c]),u=i.useCallback(p=>c(p,"normal"),[c]),h=i.useCallback(()=>a(""),[]);return{toastMessage:n,toastType:r,toastKey:s,showToast:c,showWarning:d,showNormal:u,clearToast:h}}function qn({computeStyle:e,onScroll:n="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[o,s]=i.useState(!1),[l,c]=i.useState({}),d=i.useRef(null),u=i.useRef(null),h=i.useCallback(()=>{d.current&&c(e(d.current.getBoundingClientRect()))},[e]);i.useEffect(()=>{if(!o)return;h();const g=v=>{const w=v.target;r&&w.closest?.(r)||d.current?.contains(w)||u.current?.contains(w)||s(!1)};document.addEventListener("mousedown",g);const f=v=>{u.current?.contains(v.target)||(n==="reposition"?h():n==="close"&&s(!1))};n!=="ignore"&&window.addEventListener("scroll",f,!0);const m=()=>{a==="reposition"?h():a==="close"&&s(!1)};a!=="ignore"&&window.addEventListener("resize",m);const b=v=>{v.key==="Escape"&&s(!1)};return document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",g),n!=="ignore"&&window.removeEventListener("scroll",f,!0),a!=="ignore"&&window.removeEventListener("resize",m),document.removeEventListener("keydown",b)}},[o,h,n,a,r]);const p=i.useCallback(()=>s(g=>!g),[]),C=i.useCallback(()=>s(!1),[]);return{open:o,setOpen:s,toggle:p,close:C,style:l,triggerRef:d,menuRef:u}}function c0(e,{mode:n="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:o,playMs:s=1100,feedbackMs:l=1500}={}){const[c,d]=i.useState([]),[u,h]=i.useState(0),[p,C]=i.useState("idle"),[g,f]=i.useState(null),[m,b]=i.useState([]),[v,w]=i.useState(null),[_,y]=i.useState(0),B=i.useRef(0),x=i.useCallback(E=>{B.current=typeof E=="function"?E(B.current):E,y(B.current)},[]),N=i.useRef(r),M=i.useRef(o);i.useEffect(()=>{N.current=r,M.current=o},[r,o]);const k=i.useRef([]),D=()=>{k.current.forEach(clearTimeout),k.current=[]},H=(E,$)=>{k.current.push(setTimeout($,E))};i.useEffect(()=>()=>D(),[]);const R=c[u]?.id??null,j=i.useCallback(()=>{D(),C("playing"),b([]),w(null),x(0);let E=0;e.forEach(($,L)=>{H(E,()=>{h(L),f($.id),N.current?.($)}),H(E+1e3,()=>{f(null),b(W=>[...W,$.id])}),E+=1300}),H(E,()=>{C("done"),M.current?.({score:0,total:e.length})})},[e,x]),P=i.useCallback((E,$)=>{if($>=E.length){C("done"),M.current?.({score:B.current,total:E.length});return}h($),w(null),C("playing"),f(E[$].id),N.current?.(E[$]),H(s,()=>{f(null),C("waiting")})},[s]),S=i.useCallback(()=>{D();const E=Hn(e);d(E),x(0),b([]),P(E,0)},[e,P,x]),U=i.useCallback(()=>{n==="playback"?(d(e),j()):S()},[n,e,j,S]),X=i.useCallback(()=>{D(),C("idle"),f(null),b([]),w(null),h(0),x(0),d([])},[x]);i.useEffect(()=>{a?U():X()},[n,e.length,a]);const J=i.useCallback(E=>{p!=="waiting"||n==="playback"||(w(E),E===c[u]?.id&&x($=>$+1),n==="exam"?(C("playing"),H(400,()=>P(c,u+1))):(C("feedback"),H(l,()=>P(c,u+1))))},[p,n,c,u,P,l,x]),Q=n==="playback"?e.length:c.length;return{bind:{activeSpeakerId:g,playedIds:m,selectedId:v,answerId:R,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:J},index:u,total:Q,score:_,phase:p,done:p==="done",start:U,reset:X}}function u0({title:e,description:n,actionLabel:a,onAction:r,bg:o,color:s,size:l="medium",actionVariant:c,titleColor:d,descriptionColor:u,className:h=""}){const p=o??s??"main",C=i.useRef(null),[g,f]=i.useState("main"),m=Gt("(max-width: 767px)");i.useLayoutEffect(()=>{const w=C.current;w&&(d!==void 0&&w.style.setProperty("--promo-banner-bg-title",d),u!==void 0&&w.style.setProperty("--promo-banner-bg-description",u))},[d,u]),i.useLayoutEffect(()=>{const w=C.current;if(!w)return;const _=Ko(w);f(_?.actionVariant??"main")},[p]);const b=ye("promo-banner",`promo-banner--${l}`,h),v=ws[p];return t.jsxs("div",{ref:C,className:b,role:"note",children:[t.jsx(v,{}),t.jsxs("div",{className:"promo-banner__text",children:[t.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),n&&t.jsx("span",{className:"promo-banner__description body-3",children:n})]}),a&&r&&t.jsx(te,{size:40,variant:c??g,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...m?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function d0({children:e,interval:n=5e3,dotTone:a,className:r="","aria-label":o}){const{t:s}=me.useTranslation(),l=o??s("topBanner.ariaLabel","\uBC30\uB108"),c=i.Children.toArray(e),d=c.length,[u,h]=i.useState(0),[p,C]=i.useState(!1),g=d>0?u%d:0;return i.useEffect(()=>{if(d<2||n<=0||p)return;const f=window.setInterval(()=>h(m=>(m+1)%d),n);return()=>window.clearInterval(f)},[d,n,p]),d===0?null:t.jsxs("section",{className:ye("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),onFocus:()=>C(!0),onBlur:()=>C(!1),children:[t.jsx("div",{className:"top-banner__viewport",children:t.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${g*100}%)`},children:c.map((f,m)=>t.jsx("div",{className:"top-banner__slide","aria-hidden":m!==g,...m!==g?{inert:!0}:{},children:f},m))})}),d>1&&t.jsx("div",{className:`top-banner__dots${(a?.[g]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((f,m)=>t.jsx("button",{type:"button",className:`top-banner__dot${m===g?" top-banner__dot--active":""}`,"aria-label":s("topBanner.dotAriaLabel",{count:d,index:m+1,defaultValue:`${d}\uAC1C \uC911 ${m+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":m===g,onClick:()=>h(m)},m))})]})}function p0({title:e,body:n,open:a=!1,onToggle:r,avatar:o,titleClassName:s="body-2",bodyClassName:l="body-2",className:c=""}){const{t:d}=me.useTranslation();return t.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),children:[t.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:u=>{if(u.key==="Enter"||u.key===" ")u.preventDefault(),r?.();else if(u.key==="ArrowDown"||u.key==="ArrowUp"){u.preventDefault();const h=u.currentTarget.closest('[role="list"]');if(!h)return;const p=Array.from(h.querySelectorAll("[data-accordion-header]")),C=p.indexOf(u.currentTarget);(u.key==="ArrowDown"?p[C+1]:p[C-1])?.focus()}},children:[o&&t.jsx("div",{className:"accordion-item__avatar",children:o}),t.jsx("div",{className:`accordion-item__title ${s}`,children:e}),t.jsx("div",{className:"accordion-item__chevron",children:t.jsx(Ie,{icon:a?"chevron-up":"chevron-down",label:a?d("accordion.collapse","\uC811\uAE30"):d("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&t.jsx("div",{className:`accordion-item__body ${l}`,children:typeof n=="string"?t.jsx("p",{children:n}):n})]})}function h0({items:e=[],defaultOpenIndex:n=0,size:a=72,className:r="",bodyClassName:o}){const[s,l]=i.useState(n);return t.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((c,d)=>t.jsx(p0,{title:c.title,body:c.body,avatar:c.avatar,open:d===s,onToggle:()=>l(d===s?-1:d),bodyClassName:o},d))})}function m0(){return t.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("polyline",{points:"2,6 5,9 10,3"})})}function C0(){return t.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[t.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),t.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function f0(){return t.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:t.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function ut(e){const{type:n="bar",size:a,className:r="","aria-label":o}=e;if(n==="dot"){const{icon:_,number:y,position:B="top-right",onClick:x,animate:N=!1}=e,M=y!==void 0?"number":_??"check",k=typeof a=="number"?a:32,D=ye("circle-badge",`circle-badge--${M}`,`circle-badge--${B}`,`circle-badge--${k}`,N?"circle-badge--animate":"",x?"circle-badge--clickable":"",r),H=y!==void 0?`${y}\uBC88\uC9F8 \uC120\uD0DD`:{check:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",minus:"\uC81C\uC678"}[_??"check"];return t.jsxs("span",{className:D,onClick:x,onKeyDown:x?R=>{R.key!=="Enter"&&R.key!==" "||(R.preventDefault(),R.currentTarget.click())}:void 0,"aria-label":o??H,role:x?"button":void 0,tabIndex:x?0:void 0,children:[y!==void 0&&y,y===void 0&&_==="check"&&t.jsx(m0,{}),y===void 0&&_==="remove"&&t.jsx(C0,{}),y===void 0&&_==="minus"&&t.jsx(f0,{})]})}const{label:s,children:l,variant:c="default",fill:d="filled",minWidth:u,iconLeft:h,iconRight:p,color:C}=e,g=typeof a=="number"?"medium":a??"medium",f={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",m={small:12,medium:14,large:16}[g]??14,b=ye("badge",`badge--${c}`,`badge--${g}`,d!=="filled"?`badge--${d}`:"",f,r),v=C?.startsWith("--")?`var(${C})`:C,w=u!==void 0||v?{...u!==void 0?{minWidth:typeof u=="number"?`${u}px`:u}:{},...v?{"--badge-color":v}:{}}:void 0;return t.jsxs("span",{className:b,style:w,children:[h&&t.jsx(Ie,{icon:h,size:m,className:"badge__icon"}),s??l,p&&t.jsx(Ie,{icon:p,size:m,className:"badge__icon"})]})}function la({columns:e=[],onClose:n,className:a="",size:r="medium"}){const{t:o}=me.useTranslation(),s=r==="small"?40:48,[l,c]=i.useState([{title:null,columns:e}]),d=l[l.length-1];i.useEffect(()=>{c(f=>{try{if(!Array.isArray(f)||f.length===0)return[{title:null,columns:e}];const m=f.slice(),b=m[0]&&typeof m[0].title<"u"?m[0].title:null;return m[0]={title:b,columns:e},m}catch{return[{title:null,columns:e}]}})},[e]);const u=i.useCallback(()=>c(f=>f.length>1?f.slice(0,f.length-1):f),[]),h=i.useRef(null),p=i.useRef(null),C=l.length;i.useEffect(()=>{p.current||(p.current=document.activeElement);let f=0,m=0;const b=()=>{const v=h.current?.querySelector("button:not([disabled])");if(v&&v.offsetParent){v.focus({preventScroll:!0});return}m++<20&&(f=requestAnimationFrame(b))};return f=requestAnimationFrame(b),()=>cancelAnimationFrame(f)},[C]),i.useEffect(()=>()=>{p.current?.focus?.({preventScroll:!0})},[]);const g=i.useCallback(f=>{if(f){if(Array.isArray(f.children)&&f.children.length){c(m=>[...m,{title:f.label||null,columns:[{title:null,items:f.children||[]}]}]);return}try{typeof f.onClick=="function"&&f.onClick()}catch{}try{f&&f.closeOnSelect&&typeof n=="function"&&n()}catch{}}},[n]);return t.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(l.length>1||d.title)&&t.jsxs("div",{className:"tooltip-menu__header",children:[l.length>1?t.jsx(te,{size:s,type:"dot",icon:"chevron-left",ariaLabel:o("common.back","\uB4A4\uB85C"),onClick:u,variant:"transparent-gray",useBorder:!1}):null,t.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),t.jsx("div",{className:"tooltip-menu__columns",ref:h,children:d.columns&&d.columns.map((f,m)=>t.jsxs("div",{className:"tooltip-menu__column",children:[f.title?t.jsx("div",{className:"tooltip-menu__column-title body-3",children:f.title}):null,t.jsx("div",{className:"tooltip-menu__items",children:(f.items||[]).map((b,v)=>t.jsx(te,{className:"tooltip-menu__item",size:s,type:b.label?"bar":"dot",icon:b.selected?"check":b.icon||"none",rightIcon:Array.isArray(b.children)&&b.children.length?"chevron-right":b.badgeCount?t.jsx(ut,{type:"dot",position:"inline",number:Math.min(b.badgeCount,99),size:24,"aria-label":`${b.badgeCount}`}):void 0,label:b.label,ariaLabel:b.label,onClick:()=>g(b),selected:b.selected,disabled:b.disabled,showTooltipInfo:b.tooltip||!1,useBorder:!1,align:"left"},v))})]},m))})]})}const g0=52,Ms=10;function Ls({items:e=[],activeKey:n,onChange:a,appMode:r,onAppModeChange:o,moreItems:s=[]}){const{t:l}=me.useTranslation(),c=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",u=r==="manager"?l("nav.modeLabelMalgwi","\uB9D0\uADC0"):l("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),h=i.useRef(null),[p,C]=i.useState(0),g=e.length;i.useEffect(()=>{const S=h.current;if(!S||(C(S.clientWidth),typeof ResizeObserver>"u"))return;const U=new ResizeObserver(X=>C(X[0].contentRect.width));return U.observe(S),()=>U.disconnect()},[]);const f=p>0?Math.floor((p+Ms)/(g0+Ms)):g,m=p>0&&f<g,b=m?f:g,v=e.slice(0,b),w=e.slice(b),_=m||s.length>0,y=i.useCallback(S=>({position:"fixed",bottom:window.innerHeight-S.top+8,right:window.innerWidth-S.right,zIndex:1e4}),[]),B=i.useId(),{open:x,toggle:N,close:M,style:k,triggerRef:D,menuRef:H}=qn({computeStyle:y,onScroll:"ignore",onResize:"ignore"}),R=i.useCallback(()=>o?.(c),[o,c]),j=i.useMemo(()=>w.find(S=>S.key===n)??s.find(S=>S.selected||S.key&&S.key===n),[w,n,s]),P=i.useMemo(()=>[{items:[...w.map(S=>({label:S.label,icon:S.icon,selected:S.key===n,closeOnSelect:!0,onClick:()=>{S.key&&a&&a(S.key),M()}})),...s.map(S=>({label:S.label,icon:S.icon,badgeCount:S.badgeCount,selected:S.selected??(!!S.key&&S.key===n),closeOnSelect:!0,onClick:()=>{S.onClick?.(),M()}}))]}],[w,s,n,a,M]);return t.jsxs("nav",{className:"bottom-nav","aria-label":l("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[o&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bottom-nav__left",children:t.jsx(te,{size:52,type:"dot",icon:d,ariaLabel:u,className:"bottom-nav-item",onClick:R})}),t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),t.jsx("div",{className:"bottom-nav__items",ref:h,children:v.map(S=>t.jsx(te,{size:52,type:"dot",icon:S.icon,ariaLabel:S.label,selected:S.key===n,disabled:S.state==="disabled",className:"bottom-nav-item",onClick:()=>S.key&&a?.(S.key)},S.key))}),_&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),t.jsx("div",{className:"bottom-nav__right",children:t.jsxs("div",{ref:D,children:[t.jsx(te,{size:52,type:"dot",icon:j?.icon??"ellipsis",ariaLabel:j?.label??l("nav.more","\uB354\uBCF4\uAE30"),selected:!!j,className:"bottom-nav-item",onClick:N,"aria-expanded":x,"aria-controls":x?B:void 0}),x&&Tt.createPortal(t.jsx("div",{id:B,role:"group","aria-label":l("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:k,ref:H,children:t.jsx(la,{columns:P,onClose:M})}),document.body)]})})]})]})}function b0(e){const{t:n}=me.useTranslation(),{activeKey:a,unreadCount:r,onDebug:o,onNotification:s,onSetting:l,onHelp:c,onAccount:d}=e||{},u="default";return t.jsxs("div",{className:"side-nav__footer",children:[o&&t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"terminal",ariaLabel:n("nav.debug","\uB514\uBC84\uADF8"),onClick:o,selected:a==="debug"}),t.jsxs("span",{className:"side-nav__notification-wrap",children:[t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"bell",ariaLabel:n("nav.notifications","\uC54C\uB9BC"),onClick:s,selected:a==="notifications"}),!!r&&t.jsx(ut,{type:"dot",number:Math.min(r,99),size:24})]}),t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"settings",ariaLabel:n("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"message-circle-question-mark",ariaLabel:n("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"user-round",ariaLabel:n("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]})}function $s(e){const{item:n,itemKey:a,label:r,icon:o,active:s,onClick:l,style:c,state:d,labelStyle:u}=e||{},h=n?.key??a??"",p=n?.label??r??"",C=n?.icon??o??"",g=n?.badge??0,f=t.jsx("span",{className:"side-nav__icon-wrap",children:t.jsx(Ie,{icon:C,label:typeof p=="string"?p:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),m=d==="disabled",b=`side-nav__item ${s?"active":""} ${d||""} ${m?"disabled":""} ${n?.child?"side-nav__item--child":""}`,v=i.useCallback(w=>{if(!m){try{w.currentTarget.blur()}catch{}l?.(h,w.currentTarget)}},[m,h,l]);return t.jsxs("button",{className:b,onClick:v,"aria-label":typeof p=="string"?p:void 0,style:c,"aria-disabled":m,children:[f,t.jsx("span",{className:"side-nav__label button-1 f",style:u,children:p}),g>0&&t.jsx(ut,{type:"dot",position:"inline",number:Math.min(g,99),size:24,"aria-label":`${g}`}),d==="loading"&&t.jsx("span",{className:"side-nav__spinner","aria-label":"loading"})]})}function Rs(e){const{t:n}=me.useTranslation(),{items:a=[],activeKey:r,onChange:o,unreadCount:s,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,appMode:p,onAppModeChange:C}=e||{},g=i.useCallback(()=>C?.(p==="malgwi"?"manager":"malgwi"),[C,p]);return t.jsxs("nav",{"aria-label":n("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[t.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(f=>!f.section&&(f.key||f.label)).map((f,m)=>t.jsxs(i.Fragment,{children:[f.divider&&t.jsx("div",{className:"side-nav__separator"}),t.jsx($s,{item:f,active:f.key===r,state:f.disabled?"disabled":void 0,onClick:(b,v)=>{if(f.disabled)return;if(f.href){window.open(f.href,"_blank","noopener,noreferrer");try{v?.blur()}catch{}return}o?.(f.key);try{const _=document.querySelector(".content-area");_?_.scrollTop=0:window.scrollTo({top:0})}catch{}try{v?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const w=document.querySelector(".header");if(w&&!(typeof w.matches=="function"&&w.matches(":hover"))){w.classList.add("header--force-collapsed");const _=()=>{w.classList.remove("header--force-collapsed"),w.removeEventListener("mouseenter",_)};w.addEventListener("mouseenter",_)}}})]},f.key??`side-nav__item-${m}`)),C&&t.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),C&&t.jsx($s,{item:{key:"__mode-switch__",label:p==="malgwi"?n("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"):n("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"),icon:p==="malgwi"?"arrow-right":"arrow-left"},onClick:g})]}),t.jsx(b0,{activeKey:r,unreadCount:s,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h})]})}var Za='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2080_3066)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="black"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="black"/>%0A<path d="M46.4288 17.8571H25.0002C15.138 17.8571 7.14307 25.852 7.14307 35.7143V57.1428C7.14307 67.0051 15.138 75 25.0002 75H46.4288C56.291 75 64.2859 67.0051 64.2859 57.1428V35.7143C64.2859 25.852 56.291 17.8571 46.4288 17.8571Z" fill="%234DCDC0"/>%0A<path d="M34.8607 50.7393C25.8285 60.6821 10.6142 61.6678 0.385667 53.1643C-0.0821902 52.775 -0.13219 52.0678 0.278524 51.6178L16.3535 33.925L34.8607 50.7393Z" fill="%234DCDC0"/>%0A<path d="M53.5714 25H32.1428C22.2821 25 14.2856 32.9964 14.2856 42.8571V64.2857C14.2856 74.1464 22.2821 82.1429 32.1428 82.1429H48.2535C49.2178 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7214 51.8928 85.6321C62.8392 84.675 71.4285 75.4821 71.4285 64.2857V42.8571C71.4285 32.9964 63.4321 25 53.5714 25Z" fill="%234DCDC0"/>%0A<path d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23499CDF"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="white"/>%0A<path d="M36.0715 57.1429C35.0287 57.1429 33.9822 56.875 33.0358 56.3286C32.1822 55.8357 31.8894 54.7429 32.3858 53.8893C32.8787 53.0357 33.9715 52.7429 34.8251 53.2393C35.8037 53.8036 37.043 53.6429 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3536 40.4322 35.9107 37.5072 35.7286C36.5215 35.6679 35.5715 35.8464 34.693 36.2679C33.8037 36.6929 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0429C34.5751 32.3714 36.1537 32.0679 37.7322 32.1643C42.4894 32.4607 46.3072 36.4286 46.4251 41.1964C46.4822 43.5286 45.6715 45.7786 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9357C41.8965 53.2464 41.3037 54.4357 40.368 55.375C39.2001 56.5429 37.6465 57.15 36.0751 57.15L36.0715 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2080_3066">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Ya='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7374)">%0A<path d="M237.151 26.0393V72.7214H216.65V26.0393H237.151ZM234.408 70.0464V28.7179H219.254V70.0464H234.408ZM261.495 76.3607H258.819V48.9679H247.575V75.4679H244.899V23.9821H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3607Z" fill="black"/>%0A<path d="M299.722 69.2571C302.076 68.775 304.031 68.1464 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.789 72.0357C297.435 72.4929 295.045 72.7214 292.623 72.7214H272.257V25.6964H275V69.975H292.623C294.998 69.975 297.364 69.7357 299.722 69.2536V69.2571ZM311.69 76.4321V23.6393H314.433V76.3643L311.69 76.4321Z" fill="black"/>%0A<path d="M340.556 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.329 62.2643 333.632 65.925C330.935 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.33 63.1107C334.617 59.3572 336.354 54.5179 337.542 48.5893C338.73 42.6643 339.369 36.0393 339.461 28.7143H324.992V26.0357H356.602V28.7143H342.201C342.155 35.9 341.605 42.3072 340.556 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="black"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="black"/>%0A<path d="M181.886 47.8714V57.275C179.097 58.5571 174.73 59.1964 168.791 59.1964H168.174V76.3607H158.299V59.1964H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8714H181.886ZM148.971 34.2786V24.875H177.634V47.05H167.76V34.2821H148.971V34.2786ZM194.64 76.3607H184.765V23.6393H194.64V76.3643V76.3607Z" fill="black"/>%0A<path d="M48.1549 17.8571H26.7511C16.9002 17.8571 8.91455 25.852 8.91455 35.7143V57.1428C8.91455 67.0051 16.9002 75 26.7511 75H48.1549C58.0058 75 65.9915 67.0051 65.9915 57.1428V35.7143C65.9915 25.852 58.0058 17.8571 48.1549 17.8571Z" fill="%234DCDC0"/>%0A<path d="M36.6007 50.7393C27.579 60.6821 12.3823 61.6678 2.1655 53.1643C1.69818 52.775 1.64824 52.0678 2.05848 51.6178L18.1149 33.925L36.6007 50.7393Z" fill="%234DCDC0"/>%0A<path d="M55.2897 25H33.8859C24.0365 25 16.0493 32.9964 16.0493 42.8571V64.2857C16.0493 74.1464 24.0365 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7214 53.6131 85.6321C64.5469 84.675 73.1262 75.4821 73.1262 64.2857V42.8571C73.1262 32.9964 65.139 25 55.2897 25Z" fill="%234DCDC0"/>%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23499CDF"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="white"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7374">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',y0='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65214)">%0A<path d="M57.1427 17.8571H35.7141C25.8518 17.8571 17.8569 25.852 17.8569 35.7143V57.1428C17.8569 67.0051 25.8518 75 35.7141 75H57.1427C67.0049 75 74.9998 67.0051 74.9998 57.1428V35.7143C74.9998 25.852 67.0049 17.8571 57.1427 17.8571Z" fill="%234DCDC0"/>%0A<path d="M45.575 50.7393C36.5429 60.6821 21.3286 61.6678 11.1 53.1643C10.6322 52.775 10.5822 52.0678 10.9929 51.6178L27.0679 33.925L45.575 50.7393Z" fill="%234DCDC0"/>%0A<path d="M64.2857 25H42.8571C32.9964 25 25 32.9964 25 42.8571V64.2857C25 74.1464 32.9964 82.1429 42.8571 82.1429H58.9679C59.9321 82.1429 60.7143 82.925 60.7143 83.8893C60.7143 84.9107 61.5893 85.7214 62.6071 85.6321C73.5536 84.675 82.1429 75.4821 82.1429 64.2857V42.8571C82.1429 32.9964 74.1464 25 64.2857 25Z" fill="%234DCDC0"/>%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23499CDF"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="white"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2359 35.6679 46.2859 35.8464 45.4073 36.2679C44.5145 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2002 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2175_65214">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';function Ps({appMode:e}){const{t:n}=me.useTranslation(),a=e==="manager",r=a?Ya:Za,o=y0,s=Gt("(min-width: 768px) and (max-width: 1023px)");return t.jsx("div",{className:"brand-identity__root","aria-label":n("header.biArea","BI \uC601\uC5ED"),children:s?t.jsx("img",{src:o,alt:n("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):t.jsx("img",{src:r,alt:a?n("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):n("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image"})})}function Is({activeKey:e,onChange:n,items:a,malgwiItems:r,managerItems:o,unreadCount:s,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,appMode:p,onAppModeChange:C}){const{t:g}=me.useTranslation(),f=Gt("(max-width: 767px)"),m=i.useMemo(()=>{const k=[];return l&&k.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&k.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:s,onClick:c}),u&&k.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:u}),h&&k.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:h}),d&&k.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:d}),k},[g,l,c,u,h,d,s]),b=i.useCallback(k=>({position:"fixed",top:k.bottom+8,right:Math.max(8,window.innerWidth-k.right),zIndex:1e4}),[]),v=i.useId(),{open:w,toggle:_,close:y,style:B,triggerRef:x,menuRef:N}=qn({computeStyle:b,onScroll:"ignore",onResize:"ignore"}),M=i.useMemo(()=>[{items:m.map(k=>({label:k.label,icon:k.icon,badgeCount:k.badgeCount,selected:k.selected??(!!k.key&&k.key===e),closeOnSelect:!0,onClick:()=>{k.onClick?.(),y()}}))}],[m,e,y]);return t.jsxs("aside",{className:`header${p==="manager"?" header--manager":""}`,children:[t.jsxs("div",{className:"header__bi",children:[t.jsx(Ps,{appMode:p}),t.jsxs("div",{className:"header__menu-button",ref:x,children:[t.jsx(te,{size:48,type:"dot",shape:"pill",variant:"default",icon:"menu",ariaLabel:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:_,"aria-expanded":w,"aria-controls":w?v:void 0}),w&&Tt.createPortal(t.jsx("div",{id:v,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:B,ref:N,children:t.jsx(la,{columns:M,onClose:y})}),document.body)]})]}),t.jsx(Rs,{items:a,activeKey:e??void 0,onChange:n,unreadCount:s,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,appMode:p,onAppModeChange:C}),f&&t.jsx(Ls,{items:a,activeKey:e??void 0,onChange:n,appMode:p,onAppModeChange:C})]})}const v0=Is;var x0={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",cancel:"\uCDE8\uC18C",info:"\uC124\uBA85",errorState:{message:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retry:"\uB2E4\uC2DC \uC2DC\uB3C4"},save:"\uC800\uC7A5",confirm:"\uD655\uC778",close:"\uB2EB\uAE30",back:"\uB4A4\uB85C",emptyTrainingName:"\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",remove:"\uC81C\uAC70",image:"\uC774\uBBF8\uC9C0",delete:"\uC0AD\uC81C",reset:"\uCD08\uAE30\uD654",update:"\uC5C5\uB370\uC774\uD2B8",download:"\uB2E4\uC6B4\uB85C\uB4DC",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",pause:"\uBA48\uCDA4",playPause:"\uC7AC\uC0DD / \uBA48\uCDA4",replay:"\uB2E4\uC2DC\uB4E3\uAE30",subscription:"\uC774\uC6A9\uAD8C",done:"\uC644\uB8CC",failed:"\uC2E4\uD328",continue:"\uACC4\uC18D",notification:"\uC54C\uB9BC",emptyList:"\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",menu:"\uBA54\uB274",resetSelection:"\uC120\uD0DD \uCD08\uAE30\uD654",pageSizeLabel:"{{n}}\uAC1C\uC529 \uBCF4\uAE30",totalCountPrefix:"\uCD1D ",totalCountSuffix:"\uAC1C",expand:"\uD3BC\uCE58\uAE30",collapse:"\uC811\uAE30",popup:"\uD31D\uC5C5",codeBlock:"\uCF54\uB4DC \uBE14\uB85D",totalPrefix:"\uCD1D ",copyCode:"\uCF54\uB4DC \uBCF5\uC0AC",copied:"\uBCF5\uC0AC\uB428",col:{problem:"\uBB38\uC81C"},phonetics:{place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"},vowel:{frontHigh:"\uC804\uC124 \uACE0\uBAA8\uC74C",backHighUnrounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C",backHighRounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C",frontMid:"\uC804\uC124 \uC911\uBAA8\uC74C",backMidUnrounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C",backMidRounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C",low:"\uC800\uBAA8\uC74C"},glide:{j:"j\uD65C\uC74C",w:"w\uD65C\uC74C",velar:"\u0270\uD65C\uC74C"}}},_0={rangeSelect:"\uAE30\uAC04 \uC120\uD0DD",dow:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],yearMonth:"{{year}}\uB144 {{month}}\uC6D4",prevMonth:"\uC774\uC804 \uB2EC",addOnDate:"{{date}}\uC5D0 \uBC29\uBB38 \uB4F1\uB85D",nextMonth:"\uB2E4\uC74C \uB2EC",prevWeek:"\uC774\uC804 \uC8FC",nextWeek:"\uB2E4\uC74C \uC8FC",legend:{visited:"\uBC29\uBB38",scheduled:"\uC608\uC57D",noVisit:"\uBBF8\uBC29\uBB38"},periodSelect:"\uAE30\uAC04 \uB2E8\uC704"},w0={planSuffix:"\uC774\uC6A9\uAD8C",labeledPlan:"{{label}} \uC774\uC6A9\uAD8C",couponCode:"\uC774\uC6A9\uAD8C \uCF54\uB4DC",specialLabel:"\uC624\uD508\uD2B9\uAC00",unitDay:"\uC77C",unitYear:"\uB144",remainingDay:"{{n}}\uC77C \uB0A8\uC74C",remainingHour:"{{n}}\uC2DC\uAC04 \uB0A8\uC74C",remainingMinute:"{{n}}\uBD84 \uB0A8\uC74C",remainingSecond:"{{n}}\uCD08 \uB0A8\uC74C",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},k0={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},A0={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},N0={selected:"\uC120\uD0DD\uB428"},B0={placeholder:"\uC120\uD0DD"},S0={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},D0={biArea:"BI \uC601\uC5ED",biSymbol:"BI \uC2EC\uBCFC",logoMalgwi:"\uB9D0\uADC0 \uB85C\uACE0",logoManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0",menuOpen:"\uBA54\uB274 \uC5F4\uAE30",utilMenu:"\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"},j0={mainMenu:"\uBA54\uC778 \uBA54\uB274",bottomNav:"\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158",goToManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9",goToMalgwi:"\uB9D0\uADC0\uB85C \uC774\uB3D9",modeLabelManager:"\uB9D0\uADC0 \uB9E4\uB2C8\uC800",modeLabelMalgwi:"\uB9D0\uADC0",training:"\uD6C8\uB828",settings:"\uC124\uC815",notifications:"\uC54C\uB9BC",account:"\uACC4\uC815",help:"\uB3C4\uC6C0\uB9D0",debug:"\uB514\uBC84\uADF8",coupons:"\uCFE0\uD3F0",topic:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",trainingType:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",wordPairs:"\uB300\uB9BD\uC30D \uCC3E\uAE30",wordSearch:"\uB2E8\uC5B4 \uCC3E\uAE30",wordTable:"\uB2E8\uC5B4\uD45C \uB9CC\uB4E4\uAE30",company:"\uC5C5\uCCB4\uC815\uBCF4",more:"\uB354\uBCF4\uAE30",moreMenu:"\uB354\uBCF4\uAE30 \uBA54\uB274"},E0={language:{training:{label:"\uD6C8\uB828 \uC5B8\uC5B4",sub:"\uD6C8\uB828\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uB2E8\uC5B4\uC640 \uC74C\uC131 \uC5B8\uC5B4"}},notifications:{title:"\uC54C\uB9BC"},display:{fontSize:{small:"\uC791\uAC8C",large:"\uD06C\uAC8C"}},cache:{title:"\uCE90\uC2DC \uAD00\uB9AC",confirmMessage:"\uCE90\uC2DC({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",delete:"\uC0AD\uC81C",deleting:"\uC0AD\uC81C \uC911",cleared:"\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",group:{wordData:{label:"\uB2E8\uC5B4 \uB370\uC774\uD130",sub:"\uB2E8\uC5B4 \uBAA9\uB85D \uBC0F \uBC84\uC804 \uC815\uBCF4"},pairIndex:{label:"\uB2E8\uC5B4\uC30D \uC778\uB371\uC2A4",sub:"\uCD08\uC131\xB7\uC911\uC131\xB7\uC885\uC131 \uB300\uB9BD\uC30D \uBD84\uC11D \uCE90\uC2DC"},imageCache:{label:"\uC774\uBBF8\uC9C0 \uCE90\uC2DC",sub:"\uB2E8\uC5B4\uBCC4 \uC774\uBBF8\uC9C0 \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778 \uACB0\uACFC"},trainingRecord:{label:"\uD6C8\uB828 \uAE30\uB85D",sub:"\uC624\uB298\uC758 \uD6C8\uB828 \uC9C4\uD589\uB960 \uBC0F \uD559\uC2B5 \uC77C\uC218"}}},button:{save:"\uC124\uC815 \uC800\uC7A5"},popup:{clear:{confirm:"\uCD08\uAE30\uD654"},update:{confirm:"\uC5C5\uB370\uC774\uD2B8"},cache:{title:"{{label}} \uC0AD\uC81C",message:"{{label}}({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"}},saved:"\u2713 \uC800\uC7A5\uB428",account:{title:"\uACC4\uC815",delete:{sub:"\uD0C8\uD1F4 \uD6C4 30\uC77C \uC774\uB0B4 \uC7AC\uAC00\uC785 \uC2DC \uBCF5\uAD6C \uAC00\uB2A5\uD569\uB2C8\uB2E4."}}},T0={addButton:"\uC774\uC6A9\uAD8C \uCD94\uAC00\uD558\uAE30",couponButton:"\uCFE0\uD3F0 \uC785\uB825",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",segment:{personal:"\uB9D0\uADC0",org:"\uB9D0\uADC0\uB9E4\uB2C8\uC800"},org:{title:"\uD604\uC7AC \uC774\uC6A9\uAD8C",disc:"\uAE30\uAD00\uC5D0\uC11C \uC0AC\uC6A9 \uC911\uC778 \uC774\uC6A9\uAD8C \uC815\uBCF4\uC785\uB2C8\uB2E4.",empty:"\uB4F1\uB85D\uB41C \uAE30\uAD00 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",fallbackTitle:"\uAE30\uAD00 \uC774\uC6A9\uAD8C",startDate:"\uC2DC\uC791\uC77C",endDate:"\uB9CC\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04",duration:"\uC774\uC6A9 \uAE30\uAC04"},active:{infoTitle:"\uC774\uC6A9 \uC815\uBCF4",refund:"\uD658\uBD88 \uC694\uCCAD",startDate:"\uC0AC\uC6A9 \uC2DC\uC791\uC77C",endDate:"\uC885\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04"},pending:{title:"\uBCF4\uC720",empty:"\uB300\uAE30 \uC911\uC778 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}},M0={profile:{planSuffix:"\uD50C\uB79C",plan:"\uD50C\uB79C"},basicInfo:{name:{placeholder:"\uD64D\uAE38\uB3D9"}},security:{title:"\uBCF4\uC548",password:{label:"\uBE44\uBC00\uBC88\uD638"},twoFactor:{label:"2\uB2E8\uACC4 \uC778\uC99D",sub:"\uACC4\uC815 \uBCF4\uC548\uC744 \uAC15\uD654\uD558\uC138\uC694"}}},L0={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},$0={settings:"\uC124\uC815",start:{title:"\uB2E8\uC5B4\uD6C8\uB828 \uC2DC\uC791",description:"\uC544\uB798 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD574 \uC2DC\uC791\uD558\uC138\uC694"},difficulty:{tooltip:"\uAC00\uC7A5 \uC26C\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uBB34\uC791\uC704', \uAC00\uC7A5 \uC5B4\uB824\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uCD08\uC131\uCC28\uC774' \uC785\uB2C8\uB2E4."},contrast:{label:"\uB300\uB9BD",type:"\uB300\uB9BD \uC885\uB958",count:"\uB300\uB9BD \uAC2F\uC218",diffPhonemeCount:"\uB2E4\uB978 \uC74C\uC18C\uC758 \uCD1D \uAC2F\uC218",n:"{{n}}\uAC1C"},filter:{random:"\uBB34\uC791\uC704",trainOnset:"\uCD08\uC131",trainVowel:"\uBAA8\uC74C",trainCoda:"\uC885\uC131",phonemeGroup:"\uD6C8\uB828 \uC74C\uC808",noLimit:"\uBB34\uAD00",codaExclude:"\uC81C\uC678",gradeLabel:"\uB4F1\uAE09",excludeImageInfo:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC: \uB2E8\uC5B4 \uC911\uC5D0 \uC774\uBBF8\uC9C0\uAC00 \uC788\uB294 \uB2E8\uC5B4\uB9CC \uACB0\uACFC\uC5D0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",sameStructureInfo:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC: \uC815\uB2F5\uACFC \uC624\uB2F5\uC758 \uC74C\uC808 \uAD6C\uC870(\uAE00\uC790 \uC218\xB7\uBC1B\uCE68 \uC720\uBB34 \uB4F1)\uAC00 \uAC19\uC740 \uACB0\uACFC\uB9CC \uB0A8\uACA8\uC694.",selectSection:"\uC120\uD0DD",excludeImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",sameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},noQuestions:"\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",countQuestions:"{{n}}\uBB38\uC81C",countSentences:"{{n}}\uBB38\uC7A5",comingSoon:"\uC900\uBE44 \uC911",nextQuestion:"\uB2E4\uC74C \uBB38\uC81C",noiseLevelTitle:"\uC18C\uC74C \uD06C\uAE30",noiseTypeTitle:"\uC18C\uC74C \uC885\uB958",playVolumeTitle:"\uC7AC\uC0DD \uC18C\uB9AC",playSpeedTitle:"\uC7AC\uC0DD \uC18D\uB3C4",meter:{sentence:"\uC7AC\uC0DD",noise:"\uC18C\uC74C",toggle:"\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"},viewResult:"\uACB0\uACFC\uBCF4\uAE30",problemNotice:"{{n}}\uBC88 \uBB38\uC81C \uC785\uB2C8\uB2E4.",trainingSettingsTitle:"\uD6C8\uB828 \uC124\uC815",sentencePreview:"\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30",notHeard:"\uC548 \uB4E4\uB838\uC5B4\uC694.",heardWell:"\uC798 \uB4E4\uB838\uC5B4\uC694.",confirmTitle:"\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694.",noSoundWaveform:"\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",noise:{level:{none:"\uC5C6\uC74C",weak:"\uC57D\uD568",medium:"\uBCF4\uD1B5",strong:"\uAC15\uD568",veryStrong:"\uB9E4\uC6B0 \uAC15\uD568"},type:{none:"\uC5C6\uC74C",default:"\uAE30\uBCF8",street:"\uAE38\uAC70\uB9AC",buzz:"\uC640\uAE00\uC640\uAE00",restaurant:"\uC2DD\uB2F9"}},listenTitle:"\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694.",listenButton:"\uBB38\uC7A5 \uB4E3\uAE30",playSound:"\uC18C\uB9AC \uB4E3\uAE30",playAll:"\uBAA8\uB450 \uB4E3\uAE30",stop:"\uC815\uC9C0",preview:"\uBBF8\uB9AC \uB4E3\uAE30",next:"\uB2E4\uC74C",completed:"\uD6C8\uB828 \uC644\uB8CC",selected:"\uC120\uD0DD\uB428",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD",fontSizeMin:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.",fontSizeMax:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.",fontSizeDecrease:"\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C",fontSizeIncrease:"\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00",toggleBackground:"\uBC30\uACBD \uC804\uD658",cardInstructions:"\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694.",noCards:"\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",audioFetchError:"\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",selectConfirm:"\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694.",orderListDefault:"\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694.",result:{eyebrow:"\uD6C8\uB828 \uC644\uB8CC",title:"\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.",scoreAria:"{{correct}} / {{total}} \uBB38\uD56D",elapsed:"\uC18C\uC694 \uC2DC\uAC04",summary:"{{correct}}\uAC1C\uC758 \uBB38\uD56D\uC744 \uC798 \uB4E4\uC5C8\uC2B5\uB2C8\uB2E4.",tableAriaLabel:"\uBB38\uD56D\uBCC4 \uD310\uC815",colJudge:"\uD310\uC815",colAnswerSelected:"\uC815\uB2F5 \xB7 \uC120\uD0DD",colAnswer:"\uC815\uB2F5",colSelected:"\uC120\uD0DD",heardWell:"\uC798 \uB4E4\uC5C8\uC5B4\uC694",notHeard:"\uBABB \uB4E4\uC5C8\uC5B4\uC694",notJudged:"\uBBF8\uD310\uC815",replay:"\uB2E4\uC2DC\uD558\uAE30",done:"\uC644\uB8CC",viewResult:"\uACB0\uACFC \uD655\uC778"},up:"\uC704\uB85C",down:"\uC544\uB798\uB85C",prev:"\uC774\uC804",listenLabel:"\uBB38\uC7A5 \uB4E3\uAE30",sourcePlay:"\uC18C\uC2A4 {{n}} \uC7AC\uC0DD",listen:"\uB4E3\uAE30"},R0={totalCount:"\uAC1C\uC758 \uD6C8\uB828 \uBB36\uC74C",renameGroup:"\uADF8\uB8F9 \uC774\uB984 \uBC14\uAFB8\uAE30",itemCount:"\uD6C8\uB828 \uAC1C\uC218",menu:{edit:"\uD6C8\uB828 \uBB36\uC74C \uC218\uC815",rename:"\uC774\uB984 \uBC14\uAFB8\uAE30",move:"\uADF8\uB8F9 \uC774\uB3D9",duplicate:"\uD6C8\uB828 \uBB36\uC74C \uBCF5\uC0AC",publish:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30"},sort:{customers:"\uD6C8\uB828 \uACE0\uAC1D"},copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",removeLink:"\uB9C1\uD06C \uC81C\uAC70",linkRemoved:"\uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",linkSaveFirst:"\uBA3C\uC800 \uD6C8\uB828 \uBB36\uC74C\uC744 \uC800\uC7A5\uD574\uC8FC\uC138\uC694.",linkSaveFirstHint:"\uC800\uC7A5\uB41C \uD6C8\uB828 \uBB36\uC74C\uC5D0\uC11C\uB9CC \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkCopySelect:"\uBCF5\uC0AC\uAC00 \uB9C9\uD600 \uB9C1\uD06C\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4. Ctrl/\u2318+C\uB85C \uBCF5\uC0AC\uD558\uC138\uC694.",nameRequired:"\uD6C8\uB828 \uBB36\uC74C \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.",itemRequired:"\uD6C8\uB828\uC744 1\uAC1C \uC774\uC0C1 \uB2F4\uC544\uC8FC\uC138\uC694.",randomAdd:"\uBB34\uC791\uC704 \uCD94\uAC00"},P0={totalCount:"\uBA85\uC758 \uACE0\uAC1D",loadError:"\uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",basicInfo:{editTooltip:"\uC218\uC815\uD558\uAE30"},member:{placeholder:"\uC774\uBA54\uC77C \uB610\uB294 \uC804\uD654",link:"\uC5F0\uACB0",linking:"\uC5F0\uACB0 \uC911\u2026"},device:{title:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30",addTooltip:"\uC0C8\uB85C \uC0DD\uC131",addButton:"\uAE30\uAE30 \uCD94\uAC00",listTooltip:"\uBAA9\uB85D \uBCF4\uAE30",listTitle:"\uCE21 \uAE30\uAE30 \uBAA9\uB85D",historyEmpty:"\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",wearing:"\uCE21 \uCC29\uC6A9\uC911",notRegistered:"\uBBF8\uB4F1\uB85D",unit:"\uAC1C",wearingNow:"\uCC29\uC6A9",wear:"\uCC29\uC6A9",unwear:"\uCC29\uC6A9 \uD574\uC81C",wornSince:"{{date}}\uBD80\uD130",release:"\uD574\uC81C",historyTitle:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30 \uC774\uB825"},schedule:{title:"\uBC29\uBB38 \uC608\uC815",addTooltip:"\uC608\uC815 \uB4F1\uB85D",listTooltip:"\uC804\uCCB4 \uBCF4\uAE30",empty:"\uC608\uC815\uB41C \uBC29\uBB38\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",registerTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC608\uC815 \uB4F1\uB85D",memoPlaceholder:"\uBC29\uBB38 \uC608\uC815 \uAD00\uB828 \uBA54\uBAA8\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694."},visitHistory:{title:"\uBC29\uBB38 \uC774\uB825",addTooltip:"\uC2E0\uADDC \uB4F1\uB85D",empty:"\uC544\uC9C1 \uBC29\uBB38 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",popupTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC774\uB825",registerTitle:" \uACE0\uAC1D\uB2D8 \uC2E0\uADDC \uBC29\uBB38 \uB4F1\uB85D"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uC0C1\uD669",active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",copy:"\uB9C1\uD06C \uBCF5\uC0AC",copied:"\uB9C1\uD06C\uAC00 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},moreItems:"\uB354 \uC788\uC74C",viewAll:"\uC804\uCCB4 \uBCF4\uAE30",visits:{title:"\uBC29\uBB38"},trainingRecord:{title:"\uACE0\uAC1D \uD6C8\uB828 \uAE30\uB85D"},status:{trainingSubtitle:"\uD6C8\uB828 \uD604\uD669"},detail:{session:{completedFmt:"\uC644\uB8CC {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:"\uC758 \uBC29\uBB38"}},I0={plan:{recommendedFor:"\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.",features:"\uD575\uC2EC \uAE30\uB2A5",freePrice:"\uBB34\uB8CC",contact:"\uBB38\uC758\uD558\uAE30",tierFallback:"\uC774\uC6A9\uAD8C",openPromo:"\uC624\uD508 \uD2B9\uAC00"},products:{mgrEnterprise:{tier:{price:"\uBB38\uC758"}}}},F0={title:"\uCFE0\uD3F0",subtitle:"\uCFE0\uD3F0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uAC70\uB098 \uBCF4\uC720 \uCFE0\uD3F0\uC744 \uD655\uC778\uD558\uC138\uC694.",input:{label:"\uCFE0\uD3F0 \uCF54\uB4DC",placeholder:"\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"},applyButton:"\uC801\uC6A9",error:{invalid:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uCFE0\uD3F0 \uCF54\uB4DC\uC785\uB2C8\uB2E4.",alreadyUsed:"\uC774\uBBF8 \uC0AC\uC6A9\uB41C \uCFE0\uD3F0\uC785\uB2C8\uB2E4."},success:{applied:'"{{name}}" \uCFE0\uD3F0\uC774 \uC801\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.'},section:{owned:"\uBCF4\uC720 \uCFE0\uD3F0"},status:{used:"\uC0AC\uC6A9 \uC644\uB8CC",available:"\uC0AC\uC6A9 \uAC00\uB2A5"}},O0={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},H0={subtitle:"\uC5C5\uCCB4 \uBC0F \uBC95\uC778 \uC815\uBCF4\uB97C \uAD00\uB9AC\uD558\uC138\uC694.",editButton:"\uC815\uBCF4 \uC218\uC815",basicInfo:{title:"\uAE30\uBCF8 \uC815\uBCF4"},contactInfo:{title:"\uC5F0\uB77D\uCC98 \uC815\uBCF4"}},z0={title:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",subtitle:"\uC6D0\uD558\uB294 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD558\uC138\uC694.",listenInNoise:{title:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},shortStory:{title:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uC774\uD574\uD569\uB2C8\uB2E4."},longStory:{title:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uC9D1\uC911\uD574\uC11C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uD30C\uC545\uD569\uB2C8\uB2E4."},orderingSentence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uB4E4\uC740 \uBB38\uC7A5\uB4E4\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD569\uB2C8\uB2E4."},SAME_SOUND_PICK:{label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},SAME_OR_DIFF:{label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",sub:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},HEAR_AND_PICK_SAME:{label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},HEAR_AND_PICK_INCLUDED:{label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},STARTS_WITH_SAME_SOUND:{label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."},LISTEN_AND_REMEMBER_ORDER:{label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",sub:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."},MERGE_2_SYLLABLES:{label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_SYLLABLES:{label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_2_PHONEMES:{label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_PHONEMES:{label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_PART_FROM_COMPOUND:{label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84 \uD0C8\uB77D",sub:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",sub:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",sub:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"},CHANGE_1_SYLL_IN_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_SYLL_IN_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_1SYLL:{label:"1\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_2SYLL:{label:"2\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}},V0={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},W0={colName:"\uB2E8\uC5B4\uD45C \uC774\uB984",open:"\uC5F4\uAE30",countSuffix:"\uAC1C\uC758 \uB2E8\uC5B4\uD45C",tab:{cards:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",tables:"\uB2E8\uC5B4\uD45C"},cardsEmpty:"\uC544\uC9C1 \uB9CC\uB4E0 \uB2E8\uC5B4\uD45C \uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",addCard:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC \uCD94\uAC00",menu:{publishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30",unpublishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0\uC11C \uB0B4\uB9AC\uAE30"},newBadge:"\uC0C8\uB85C \uB9CC\uB4E0 \uD45C"},q0={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},U0={defaultName:"\uB2E8\uC5B4 \uD45C",title:"\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30",subtitle:"\uCE78\uC744 \uC124\uC815\uD558\uACE0 \uB2E8\uC5B4\uB97C \uCD94\uAC00\uD558\uC5EC \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4.",filterTitle:"\uD45C \uC124\uC815",filter:{composition:"\uAD6C\uC131",image:"\uC774\uBBF8\uC9C0",word:"\uB2E8\uC5B4",standardPron:"\uD45C\uC900 \uBC1C\uC74C",colloquialPron:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",paperOrientation:"\uC6A9\uC9C0 \uBC29\uD5A5",landscape:"\uAC00\uB85C",portrait:"\uC138\uB85C",columns:"\uCE78 \uC218",column:"{{count}}\uCE78",itemsPerPageWord:"\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218",itemsPerPagePair:"\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218",itemsPerPageOption:"{{count}}\uAC1C",pageIndicator:"{{current}} / {{total}}",pageNumber:"\uD398\uC774\uC9C0 \uBC88\uD638",pageNumberLeft:"\uC67C\uCABD",pageNumberCenter:"\uC911\uC559",pageNumberRight:"\uC624\uB978\uCABD",border:"\uC678\uACFD\uC120",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"\uC0AD\uC81C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",button:"\uCC44\uC810\uD558\uAE30",pickTitle:"\uB204\uAD6C\uB97C \uCC44\uC810\uD560\uAE4C\uC694?",pickSubtitle:"\u2018{{name}}\u2019 \uD45C\uB85C \uD6C8\uB828\uD55C \uACE0\uAC1D\uC744 \uACE0\uB974\uC138\uC694.",pickSearch:"\uC774\uB984 \uB610\uB294 \uC804\uD654\uBC88\uD638\uB85C \uCC3E\uAE30",pickEmpty:"\uB4F1\uB85D\uB41C \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickNoMatch:"\uCC3E\uB294 \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickAgain:"\uACE0\uAC1D \uB2E4\uC2DC \uACE0\uB974\uAE30",scoringFor:"{{name}} \uB2D8 \uCC44\uC810 \uC911",none:"\uCE78\uC744 \uB20C\uB7EC \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB9E4\uAE30\uC138\uC694.",tally:"{{marked}}\uCE78 \uCC44\uC810 \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 \uC815\uB2F5\uB960 {{rate}}%",save:"\uCC44\uC810 \uC800\uC7A5",saved:"{{name}} \uB2D8\uC758 \uCC44\uC810 {{count}}\uCE78\uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.",reviewTitle:"\uBCF5\uC2B5\uD45C\uB97C \uB9CC\uB4E4\uAE4C\uC694?",reviewMessage:"{{name}} \uB2D8\uC774 \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC73C\uB85C \uC0C8 \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uB9DE\uD78C \uCE78\uC740 \uBE60\uC9D1\uB2C8\uB2E4.",reviewConfirm:"\uBCF5\uC2B5\uD45C \uB9CC\uB4E4\uAE30",reviewDescription:"\u2018{{name}}\u2019 \uCC44\uC810\uC5D0\uC11C \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC744 \uBAA8\uC740 \uD45C\uC785\uB2C8\uB2E4.",reviewCreated:"\u2018{{name}}\u2019\uC744(\uB97C) \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 {{count}}\uCE78.",discardTitle:"\uB9E4\uAE34 \uCC44\uC810\uC744 \uBC84\uB9B4\uAE4C\uC694?",discardMessage:"{{count}}\uCE78\uC744 \uB9E4\uACBC\uC9C0\uB9CC \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB098\uAC00\uBA74 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",discardConfirm:"\uBC84\uB9AC\uACE0 \uB098\uAC00\uAE30"}},G0={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB2E8\uC5B4\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},filterTitle:"\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815",filter:{positionAny:"\uBB34\uAD00",positionHead:"\uC5B4\uB450",positionMid:"\uC5B4\uC911",positionTail:"\uC5B4\uB9D0",difficulty:"\uB4F1\uAE09",grade:"{{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable:"{{n}}\uC74C\uC808",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",pos:{noun:"\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)",verb:"\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)",modifier:"\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)"},wordType:"\uC720\uD615",type:{native:"\uACE0\uC720\uC5B4",sino:"\uD55C\uC790\uC5B4",foreign:"\uC678\uB798\uC5B4",mixed:"\uD63C\uC885\uC5B4"},exclude:"\uC81C\uC678",excludeNoImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"},searchButton:"\uAC80\uC0C9\uD558\uAE30",resultUnit:"\uB2E8\uC5B4",remaining:"{{count}}\uAC1C \uB0A8\uC74C",resultDisc:"\uC6D0\uD558\uB294 {{unit}} \uC120\uD0DD\uD558\uC138\uC694. {{max}}\uAC1C\uAE4C\uC9C0 \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ({{selected}}/{{max}})",resultTitlePrefix:"\uCD1D ",resultTitleSuffix:"\uAC1C\uC758 {{unit}} \uAC80\uC0C9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",emptyResult:"\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",groupCount:"{{count}}\uAC1C",sort:{aria:"\uC815\uB82C",match:"\uC2DC\uC791 \uC6B0\uC120",ganada:"\uAC00\uB098\uB2E4\uC21C \u2191",ganadaDesc:"\uAC00\uB098\uB2E4\uC21C \u2193",syllable:"\uC74C\uC808 \uC218 \u2191",syllableDesc:"\uC74C\uC808 \uC218 \u2193",grade:"\uB4F1\uAE09\uC21C \u2191",gradeDesc:"\uB4F1\uAE09\uC21C \u2193"},pageSize:"{{count}}\uAC1C\uC529 \uBCF4\uAE30",pageSizeAria:"\uD398\uC774\uC9C0 \uD06C\uAE30",popup:{title:"{{n}}\uBC88 \uCE78\uC5D0 \uB123\uC744 \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},K0={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},Z0={title:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uACE0 \uB4E3\uAE30 \uD6C8\uB828\uC744 \uC2DC\uC791\uD558\uC138\uC694.",noiseTitle:"\uC18C\uC74C \uD558 \uBB38\uC7A5\uB4E3\uAE30",shortStoryTitle:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",FOOD:"\uC74C\uC2DD",HLTH:"\uAC74\uAC15",WETH:"\uB0A0\uC528",PRSN:"\uC778\uBB3C",KRCT:"\uD55C\uAD6D\uBB38\uD654",STRY:"\uC774\uC57C\uAE30",LOCA:"\uC9C0\uC5ED",SOAR:"\uC0AC\uD68C\uC640 \uC608\uC220",NTSC:"\uC790\uC5F0\uACFC \uACFC\uD559",SPRT:"\uC2A4\uD3EC\uCE20",sub:{TRKRFD:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD",MDKRFD:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD",WRLDFD:"\uC138\uACC4\uC758 \uC74C\uC2DD",MTRFRT:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C",GEFDKL:"\uC74C\uC2DD \uC0C1\uC2DD",HTETHB:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00",DISILL:"\uBCD1\uACFC \uC9C8\uD658",EXCISE:"\uC6B4\uB3D9",GEHTKL:"\uAC74\uAC15\uC0C1\uC2DD",GESSKL:"\uACC4\uC808\uC0C1\uC2DD",SNWRAN:"\uB208\uACFC \uBE44",WTHFCT:"\uC77C\uAE30\uC608\uBCF4",GEWTKL:"\uB0A0\uC528\uC0C1\uC2DD",JODYPS:"\uC870\uC120\uC2DC\uB300",MDKRPS:"\uD55C\uAD6D \uADFC\uD604\uB300",THKDPS:"\uC0BC\uAD6D\uC2DC\uB300",WRLART:"\uC138\uACC4\uC758 \uC608\uC220\uAC00",WRLPSN:"\uC138\uACC4\uC758 \uC778\uBB3C",KRLANG:"\uC6B0\uB9AC\uB9D0",TRPLCT:"\uC804\uD1B5\uB180\uC774",HERITG:"\uBB38\uD654\uC7AC",EVTFES:"\uD589\uC0AC\uC640 \uCD95\uC81C",GECTKL:"\uC0C1\uC2DD",FRYTAL:"\uB3D9\uD654",AMZING:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30",DAYSTR:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30",KRLDMK:"\uD55C\uAD6D\uC758 \uBA85\uC18C",SELNMK:"\uC11C\uC6B8\uC758 \uBA85\uC18C",WRDTRB:"\uC138\uACC4\uC5EC\uD589",NAVIGT:"\uAE38 \uCC3E\uAE30",KRSOCI:"\uD55C\uAD6D",ECONEW:"\uACBD\uC81C\uC640 \uB274\uC2A4",GENART:"\uC608\uC220",GELFKL:"\uC0DD\uD65C \uC0C1\uC2DD",ANIMAL:"\uB3D9\uBB3C",PLANTS:"\uC2DD\uBB3C",ETHPLT:"\uC9C0\uAD6C",TOLELC:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488",GESCKL:"\uACFC\uD559\uC0C1\uC2DD",INVDSP:"\uAC1C\uC778\uACBD\uAE30",MARART:"\uACA9\uD22C\uAE30",TEAMSP:"\uB2E8\uCCB4\uACBD\uAE30",FOOTBL:"\uCD95\uAD6C",GESPKL:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}},Y0={maxUses:"\uCD5C\uB300 \uC0AC\uC6A9 \uD69F\uC218 (\uBE44\uC6CC\uB450\uBA74 \uBB34\uC81C\uD55C)",redirect:"\uC774\uB3D9\uD560 \uD398\uC774\uC9C0 URL (\uBE44\uC6CC\uB450\uBA74 \uC571 \uBA54\uC778)",creating:"\uC0DD\uC131 \uC911\u2026",create:"\uB9C1\uD06C \uC0DD\uC131",created:"\u2713 \uB9C1\uD06C\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copied:"\uBCF5\uC0AC\uB428!",copy:"\uBCF5\uC0AC",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",empty:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",uses:"{{count}}\uD68C \uC0AC\uC6A9",expiresAt:"\uB9CC\uB8CC: {{date}}",createdAt:"\uC0DD\uC131: {{date}}",confirmDelete:"\uC0AD\uC81C\uD560\uAE4C\uC694?",deactivate:"\uBE44\uD65C\uC131\uD654",delete:"\uC0AD\uC81C",status:{active:"\uC720\uD6A8",expired:"\uB9CC\uB8CC",inactive:"\uBE44\uD65C\uC131"}},X0={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},J0={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},Q0={direction:{left:"\uC88C",right:"\uC6B0",label:"\uBC29\uD5A5"},wornDate:"\uCC29\uC6A9\uC77C",deviceType:"\uC885\uB958",brand:"\uBE0C\uB79C\uB4DC",fitType:"\uCC29\uC6A9\uD615\uD0DC",productName:"\uC81C\uD488\uBA85",validationError:{brandAndProduct:"\uBE0C\uB79C\uB4DC\uC640 \uC81C\uD488\uBA85\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."},addNew:"\uC0C8 \uAE30\uAE30 \uCD94\uAC00",selectFromList:"\uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD",removeDevice:"\uCC29\uC6A9 \uD574\uC81C"},e2={stat:{totalCustomers:"\uCD1D \uACE0\uAC1D",monthlyVisits:"\uC774\uB2EC \uCD1D \uBC29\uBB38"},chart:{visitDetail:"\uC0C1\uC138 \uBC29\uBB38 \uD604\uD669",trainingDetail:"\uC0C1\uC138 \uD6C8\uB828 \uD604\uD669",weekly:"\uC8FC\uBCC4",daily:"\uC77C\uBCC4",periodMonth:"\uC6D4",periodWeek:"\uC8FC",weeklyPrefix:"\uC8FC\uAC04",monthlyPrefix:"\uC6D4\uAC04",visit:"\uBC29\uBB38",reservation:"\uC608\uC57D",trainingDone:"\uD6C8\uB828 \uC644\uB8CC",trainingInProgress:"\uD6C8\uB828 \uC911",weekRange:"{{start}}~{{end}}",week:"{{n}}\uC8FC"},subscriptionStatus:{active:"{{pct}}% \uD65C\uC131",expired:"{{pct}}% \uB9CC\uB8CC",unused:"{{pct}}% \uBBF8\uC0AC\uC6A9"}},t2={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},n2={sentenceTyping:{roundCount:"{{rounds}}\uBB38\uC81C \xB7 \uBB38\uC81C\uB2F9 {{timeLimit}}\uCD08"},wordDefense:{me:"\uB098"},dictation:{title:"\uBC1B\uC544\uC4F0\uAE30",desc:"\uBB38\uC7A5\uC744 \uB4E3\uACE0 \uC815\uD655\uD788 \uBC1B\uC544\uC801\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC131 \uC7AC\uC0DD, \uC785\uB825 \uD544\uB4DC, \uC815\uB2F5 \uBE44\uAD50"},result:{heading:"{{number}}\uB2E8\uACC4 \uD574\uB2F5",retry:"\uB2E4\uC2DC \uD480\uAE30"},common:{accuracy:"{{pct}}% \uC815\uD655\uB3C4"},soundMatch:{title:"\uC18C\uB9AC \uB9E4\uCE6D",desc:"\uAC19\uC740 \uC18C\uB9AC\uB97C \uAC00\uC9C4 \uB2E8\uC5B4 \uB610\uB294 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB9E4\uCE6D\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uD50C\uB808\uC774 \uBC84\uD2BC, \uD0C0\uC774\uBA38, \uC810\uC218 \uC9D1\uACC4"},orderSequence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uD769\uC5B4\uC9C4 \uBB38\uC7A5 \uC870\uAC01\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uBB38\uC7A5 \uC138\uD2B8, \uC21C\uC11C \uD655\uC778 \uC778\uD130\uD398\uC774\uC2A4"},speedListen:{title:"\uC18D\uB3C4 \uB4E3\uAE30",desc:"\uC2DC\uAC04 \uC81C\uD55C \uB0B4\uC5D0 \uBB38\uC7A5\uC758 \uB2E8\uC5B4 \uC218\uB97C \uB9DE\uCD94\uB294 \uB3C4\uC804\uD615 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC81C\uD55C\uC2DC\uAC04, \uC810\uC218\uD310"},noiseChallenge:{title:"\uC18C\uC74C \uCC4C\uB9B0\uC9C0",desc:"\uBC30\uACBD \uC18C\uC74C \uC18D\uC5D0\uC11C \uBB38\uC7A5\uC744 \uBD84\uBCC4\uD558\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB2E4\uC591\uD55C \uC18C\uC74C \uB808\uBCA8, \uC810\uC218 \uC9D1\uACC4"},fastListen:{title:"\uBE60\uB978 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB4E4\uB824\uC8FC\uACE0 \uD575\uC2EC \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB09C\uC774\uB3C4\uBCC4 \uC18D\uB3C4, \uD0C0\uC774\uBA38"},shadowing:{title:"\uC250\uB3C4\uC789",desc:"\uBB38\uC7A5\uC744 \uB530\uB77C \uB9D0\uD558\uBA70 \uBC1C\uC74C\uACFC \uC5B5\uC591\uC744 \uC5F0\uC2B5\uD558\uB294 \uBAA8\uB4DC\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC7AC\uC0DD, \uB179\uC74C, \uBE44\uAD50 \uD53C\uB4DC\uBC31"},phonemeHunt:{title:"\uC74C\uC6B4 \uCC3E\uAE30",desc:"\uD2B9\uC815 \uC74C\uC6B4(\uBC1C\uC74C)\uC744 \uD3EC\uD568\uD55C \uB2E8\uC5B4\uB97C \uCC3E\uC544\uB0B4\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC6B4 \uD544\uD130, \uD78C\uD2B8 \uAE30\uB2A5"}},a2={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
827
+ `),this.name="StorageNotConfiguredError"}};function Zh(e){Kh(e)}function Do(e,n){if(!e)return null;const a=na();return a?.resolvePath?a.resolvePath(e,n):n?`${n}/${e}.mp3`:null}async function jo(e){if(!e)return null;const n=na();if(!n)throw new So("getSignedOrPublicUrl");try{return await n.resolveUrl(e)}catch{return null}}async function Eo(e){const n=na();if(!n)throw new So("downloadSound");return n.download(e)}function Yh(){return na()?.noiseBaseUrl??"/sounds/noise"}const To="__ihab_core_tts_config__";function Ma(){return globalThis[To]?.urlResolver??null}function Xh(){return globalThis[To]?.fallbackUrlResolver??null}const Jh="__ihab_core_pronunciation_resolver__";function Qh(){return globalThis[Jh]??null}let Fn=null;const Mo=new WeakMap;function em(){if(Fn)return Fn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Fn=new e,Fn):null}catch{return null}}function La(){try{Fn?.resume()}catch{}}function $a(e){if(!e)return null;const n=Mo.get(e);if(n)return n;const a=em();if(!a)return null;try{const r=a.createMediaElementSource(e),o=a.createAnalyser();return o.fftSize=1024,o.smoothingTimeConstant=.6,r.connect(o),r.connect(a.destination),Mo.set(e,o),o}catch{return null}}function tm(e,n){e.getFloatTimeDomainData(n);let a=0;for(let r=0;r<n.length;r++){const o=n[r];a+=o*o}return Math.sqrt(a/n.length)}const nm="__ihab_core_image_config__";function kn(){return globalThis[nm]??null}const Lo="word_image_existence_map_v1";let mn=null;const aa=new Map;function am(){if(mn)return mn;try{const e=typeof localStorage<"u"?localStorage.getItem(Lo):null;mn=e?JSON.parse(e):{}}catch{mn={}}return mn}let Ra=null;function rm(){Ra||(Ra=setTimeout(()=>{Ra=null;try{typeof localStorage<"u"&&mn&&localStorage.setItem(Lo,JSON.stringify(mn))}catch{}},200))}function om(e,n){return`${e}_${n??1}`}async function $o(e,n){const a=am(),r=om(e,n);if(r in a)return a[r];if(aa.has(r))return aa.get(r);const o=kn();if(!o)return!1;const s=o(e,n);if(!s)return!1;const l=fetch(s,{method:"HEAD",signal:AbortSignal.timeout(8e3)}).then(c=>c.ok).catch(()=>!1).then(c=>(a[r]=c,rm(),aa.delete(r),c));return aa.set(r,l),l}const Ro=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],Po=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],sm=["","\u3131","\u3132","\u3133","\u3134","\u3135","\u3136","\u3137","\u3139","\u313A","\u313B","\u313C","\u313D","\u313E","\u313F","\u3140","\u3141","\u3142","\u3144","\u3145","\u3146","\u3147","\u3148","\u314A","\u314B","\u314C","\u314D","\u314E"];function On(e){if(!e)return null;const n=e.charCodeAt(0)-44032;return n<0||n>=11172?null:{cho:Math.floor(n/588),jung:Math.floor(n%588/28),jong:n%28}}function im(e){const n=On(e[0]||"");return n?Ro[n.cho]:""}function lm(e,n){if(!n)return!0;const a=[...n],r=c=>Ro.includes(c),o=c=>Po.includes(c),s=a.map(c=>r(c)?"cho":o(c)?"jung":On(c)?"syl":"other");if(s.includes("other"))return e.includes(n);const l=[...e];for(let c=0;c+a.length<=l.length;c++){let d=!0;for(let u=0;u<a.length;u++){const h=l[c+u],p=s[u];if(p==="cho"){if(im(h)!==a[u]){d=!1;break}}else if(p==="jung"){const C=On(h);if(!C||Po[C.jung]!==a[u]){d=!1;break}}else{const C=On(a[u]);if(C&&C.jong===0){const g=On(h);if(!g||g.cho!==C.cho||g.jung!==C.jung){d=!1;break}}else if(h!==a[u]){d=!1;break}}}if(d)return!0}return!1}const cm={3:["\u3131","\u3145"],5:["\u3134","\u3148"],6:["\u3134","\u314E"],9:["\u3139","\u3131"],10:["\u3139","\u3141"],11:["\u3139","\u3142"],12:["\u3139","\u3145"],13:["\u3139","\u314C"],14:["\u3139","\u314D"],15:["\u3139","\u314E"],18:["\u3142","\u3145"]};Object.fromEntries(Object.entries(cm).map(([e,n])=>[n.join(""),sm[Number(e)]]));const um="word_pair_index_v2",dm="word_pair_index_sig_v2";let ra=null;function pm(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(um),n=localStorage.getItem(dm);return!e||!n?null:{index:JSON.parse(e),sig:n}}catch{return null}}function hm(){if(ra)return ra;const e=pm();return e?(ra=e.index,e.sig,ra):null}const mm={\u314F:{nucleus:"\u314F"},\u3151:{glide:"j",nucleus:"\u314F"},\u3153:{nucleus:"\u3153"},\u3155:{glide:"j",nucleus:"\u3153"},\u3157:{nucleus:"\u3157"},\u315B:{glide:"j",nucleus:"\u3157"},\u315C:{nucleus:"\u315C"},\u3160:{glide:"j",nucleus:"\u315C"},\u3161:{nucleus:"\u3161"},\u3163:{nucleus:"\u3163"},\u3150:{nucleus:"\u3154/\u3150"},\u3152:{glide:"j",nucleus:"\u3154/\u3150"},\u3154:{nucleus:"\u3154/\u3150"},\u3156:{glide:"j",nucleus:"\u3154/\u3150"},\u3158:{glide:"w",nucleus:"\u314F"},\u3159:{glide:"w",nucleus:"\u3154/\u3150"},\u315A:{glide:"w",nucleus:"\u3154/\u3150"},\u315D:{glide:"w",nucleus:"\u3153"},\u315E:{glide:"w",nucleus:"\u3154/\u3150"},\u315F:{glide:"w",nucleus:"\u3163"},\u3162:{glide:"\u0270",nucleus:"\u3163"}},Pa=/[ㄱ-ㅎ]/,Cm=/[ㅏ-ㅣ]/;function Io(e){for(let n=e.length-1;n>=0;n--){const a=e[n],r=a.charCodeAt(0);if(r>=44032&&r<=55203||Pa.test(a)||Cm.test(a))return a}return null}function fm(e){const n=Io(e);if(!n)return"\uAC00";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Pa.test(n)?"\uC774":"\uAC00"}function gm(e){return`${e}${fm(e)}`}function bm(e){const n=Io(e);if(!n)return"\uB97C";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Pa.test(n)?"\uC744":"\uB97C"}function ym(e){return`${e}${bm(e)}`}function vm(e,n,a){const r=e.slice(),[o]=r.splice(n,1);return r.splice(a,0,o),r}function Hn(e,n=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const o=Math.floor(n()*(r+1));[a[r],a[o]]=[a[o],a[r]]}return a}function Fo(e,n="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958"){if(e instanceof Error)return e.message||n;if(typeof e=="string")return e||n;if(e&&typeof e=="object"){const a=e;for(const r of[a.message,a.error_description,a.error])if(typeof r=="string"&&r)return r}return n}const xm="__ihab_core_word_pool__";function _m(){return globalThis[xm]??null}const Oo=globalThis;function Ho(e,n){const a=r=>{};try{const r=n();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function wm(e){Ho("time",()=>Oo.__ihabTrainingTimeLogger?.(e))}function km(e){Ho("completion",()=>Oo.__ihabTrainingCompletionLogger?.(e))}function $t(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function Am(e){for(const n of["correct","isCorrect","heard","judgement"])if(typeof e[n]=="boolean")return e[n];return e.score===1?!0:e.score===0?!1:null}function Nm(e){return Array.isArray(e)?e.map((n,a)=>{const r=n??{};return{index:a,itemId:$t(r.contextCode)??$t(r.itemId)??$t(r.itemCode)??$t(r.id),question:$t(r.question)??$t(r.sentence)??$t(r.word)??$t(r.targetSyllable),answer:$t(r.answer),selected:$t(r.selectedText)??$t(r.selected),correct:Am(r)}}):[]}const Ia=globalThis;async function Bm(){try{return await Ia.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Sm(e){const n=a=>{};try{const a=Ia.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(n)}catch(a){n(a)}}function Fa(e){try{Ia.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function Dm(e){if(typeof document<"u")try{const n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style.position="fixed",n.style.top="0",n.style.left="0",n.style.opacity="0",n.style.pointerEvents="none",document.body.appendChild(n),n.focus(),n.select(),n.setSelectionRange(0,e.length);const a=document.execCommand("copy");if(document.body.removeChild(n),a)return!0}catch{}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}function jm(){return Oa(new Date)}function Oa(e){if(e==null||e==="")return"";const n=e instanceof Date?e:new Date(e);return isNaN(n.getTime())?"":new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(n)}function zo(e,n){if(!e)return"";const a=new Date(e).getTime();if(Number.isNaN(a))return"";const r=Math.max(0,Math.floor((Date.now()-a)/1e3)),o=Math.floor(r/60),s=Math.floor(o/60),l=Math.floor(s/24),c=Math.floor(l/7),d=Math.floor(l/30),u=Math.floor(l/365);return o<1?n("store.time.justNow","\uBC29\uAE08 \uC804"):o<60?n("store.time.minutesAgo",{n:o}):s<24?n("store.time.hoursAgo",{n:s}):l<7?n("store.time.daysAgo",{n:l}):c<5?n("store.time.weeksAgo",{n:c}):l<365?n("store.time.monthsAgo",{n:Math.min(d,11)}):n("store.time.yearsAgo",{n:u})}function Vo(e,n={}){const{sep:a=".",pad:r=!0,trailingDot:o=!1,fallback:s="\u2014"}=n;if(!e)return s;const l=Oa(e instanceof Date?e:String(e));if(!l)return s;const[c,d,u]=l.split("-"),h=r?d:String(Number(d)),p=r?u:String(Number(u));return`${c}${a}${h}${a}${p}${o?".":""}`}function zn(e){if(!e)return e;const n=e.trim();return/^[₩$]/.test(n)?n:/원\s*$/.test(n)?"\u20A9"+n.replace(/\s*원\s*$/,"").trim():n}function Wo(e,n){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),o=Number(a[2]),s=a[1].padStart(2,"0");return o===0?n("date.timeH",{h:r,hh:s,mm:a[2]}):n("date.timeHM",{h:r,hh:s,m:o,mm:a[2]})}function Ha(e){return(e??0).toLocaleString("ko-KR")}const Em=[{key:"FOOD",label:"\uC74C\uC2DD",icon:"salad",color:"#FF8A65",subs:[{key:"TRKRFD",label:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD"},{key:"MDKRFD",label:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD"},{key:"WRLDFD",label:"\uC138\uACC4\uC758 \uC74C\uC2DD"},{key:"MTRFRT",label:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C"},{key:"GEFDKL",label:"\uC74C\uC2DD \uC0C1\uC2DD"}]},{key:"HLTH",label:"\uAC74\uAC15",icon:"heart",color:"#66BB6A",subs:[{key:"HTETHB",label:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00"},{key:"DISILL",label:"\uBCD1\uACFC \uC9C8\uD658"},{key:"EXCISE",label:"\uC6B4\uB3D9"},{key:"GEHTKL",label:"\uAC74\uAC15\uC0C1\uC2DD"}]},{key:"WETH",label:"\uB0A0\uC528",icon:"sun-medium",color:"#42A5F5",subs:[{key:"GESSKL",label:"\uACC4\uC808\uC0C1\uC2DD"},{key:"SNWRAN",label:"\uB208\uACFC \uBE44"},{key:"WTHFCT",label:"\uC77C\uAE30\uC608\uBCF4"},{key:"GEWTKL",label:"\uB0A0\uC528\uC0C1\uC2DD"}]},{key:"PRSN",label:"\uC778\uBB3C",icon:"user-round",color:"#AB47BC",subs:[{key:"JODYPS",label:"\uC870\uC120\uC2DC\uB300"},{key:"MDKRPS",label:"\uD55C\uAD6D \uADFC\uD604\uB300"},{key:"THKDPS",label:"\uC0BC\uAD6D\uC2DC\uB300"},{key:"WRLART",label:"\uC138\uACC4\uC758 \uC608\uC220\uAC00"},{key:"WRLPSN",label:"\uC138\uACC4\uC758 \uC778\uBB3C"}]},{key:"KRCT",label:"\uD55C\uAD6D\uBB38\uD654",icon:"bow-arrow",color:"#EC407A",subs:[{key:"KRLANG",label:"\uC6B0\uB9AC\uB9D0"},{key:"TRPLCT",label:"\uC804\uD1B5\uB180\uC774"},{key:"HERITG",label:"\uBB38\uD654\uC7AC"},{key:"EVTFES",label:"\uD589\uC0AC\uC640 \uCD95\uC81C"},{key:"GECTKL",label:"\uC0C1\uC2DD"}]},{key:"STRY",label:"\uC774\uC57C\uAE30",icon:"message-circle",color:"#8D6E63",subs:[{key:"FRYTAL",label:"\uB3D9\uD654"},{key:"AMZING",label:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30"},{key:"DAYSTR",label:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30"}]},{key:"LOCA",label:"\uC9C0\uC5ED",icon:"map-pin",color:"#26A69A",subs:[{key:"KRLDMK",label:"\uD55C\uAD6D\uC758 \uBA85\uC18C"},{key:"SELNMK",label:"\uC11C\uC6B8\uC758 \uBA85\uC18C"},{key:"WRDTRB",label:"\uC138\uACC4\uC5EC\uD589"},{key:"NAVIGT",label:"\uAE38 \uCC3E\uAE30"}]},{key:"SOAR",label:"\uC0AC\uD68C\uC640 \uC608\uC220",icon:"landmark",color:"#5C6BC0",subs:[{key:"KRSOCI",label:"\uD55C\uAD6D"},{key:"ECONEW",label:"\uACBD\uC81C\uC640 \uB274\uC2A4"},{key:"GENART",label:"\uC608\uC220"},{key:"GELFKL",label:"\uC0DD\uD65C \uC0C1\uC2DD"}]},{key:"NTSC",label:"\uC790\uC5F0\uACFC \uACFC\uD559",icon:"leaf",color:"#9CCC65",subs:[{key:"ANIMAL",label:"\uB3D9\uBB3C"},{key:"PLANTS",label:"\uC2DD\uBB3C"},{key:"ETHPLT",label:"\uC9C0\uAD6C"},{key:"TOLELC",label:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488"},{key:"GESCKL",label:"\uACFC\uD559\uC0C1\uC2DD"}]},{key:"SPRT",label:"\uC2A4\uD3EC\uCE20",icon:"trophy",color:"#FFCA28",subs:[{key:"INVDSP",label:"\uAC1C\uC778\uACBD\uAE30"},{key:"MARART",label:"\uACA9\uD22C\uAE30"},{key:"TEAMSP",label:"\uB2E8\uCCB4\uACBD\uAE30"},{key:"FOOTBL",label:"\uCD95\uAD6C"},{key:"GESPKL",label:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}]}],Tm=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];function qo(){return Em}function Mm(){return Tm}const Lm=[],$m=[],Rm=[],Pm=[];function Im(){return{LISTEN_IN_NOISE:Lm,SHORT_STORY:$m,LONG_STORY:Rm,ORDERING_SENTENCE:Pm}}const Fm=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}];let oa=null,Uo=null,Go=null;function Om(){const e=_m();if(e&&e.entries.length>0){const n=hm();if(oa&&Uo===e&&Go===n)return oa;const a=new Set,r=[];for(const o of e.entries)!o.word||a.has(o.word)||(a.add(o.word),r.push({w:o.word,s:o.syllables,p:n?.[o.word]?[...n[o.word].cho??[],...n[o.word].jung??[],...n[o.word].jong??[]]:[],pron:o.pronunciation||o.word,grade:o.grade}));return oa=r,Uo=e,Go=n,oa}return[]}new Proxy([],{get(e,n){const a=Om(),r=a[n];return typeof r=="function"?r.bind(a):r}});const Hm="0.116.0";function zm(e){return typeof window>"u"?"":Wh.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use"],FORBID_ATTR:["xlink:href","href"]})}function Vm(e){const[n,a]=i.useState(null),[r,o]=i.useState(null),[s,l]=i.useState(null),[c,d]=i.useState(null);return i.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),o(null),l(null);return}const u=e.split("/").pop();let h=e;u&&(e.startsWith("/")?h=Ta(e):/^(Logo|Symbol)/i.test(u)?h=Ta(`logo/${u}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),h=e)),a(h)},[e]),i.useEffect(()=>{if(!n)return;let u=!1;async function h(){try{let p=await fetch(n);p.ok||(p=await fetch(n));const C=p.headers.get("content-type")||"";if(u)return;if(C.includes("svg")){o("mask");return}if(C.startsWith("image/")){o("img");return}const g=await fetch(n);if(!g.ok)throw new Error("not ok");const f=await g.text();if(u)return;if(/^\s*<svg[\s>]/i.test(f)){const m=zm(f);if(!m){o("none");return}l(m),o("inline");return}o("none")}catch{u||o("none")}}return h(),()=>{u=!0}},[n]),i.useEffect(()=>{let u=!1,h=null;return r==="mask"&&n&&fetch(n).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{u||(h=URL.createObjectURL(p),d(h))}).catch(()=>{u||o("img")}),()=>{u=!0,h&&URL.revokeObjectURL(h),d(null)}},[r,n]),{iconToUse:n,mode:r,svgText:s,blobUrl:c}}function Ie(e){const{icon:n,label:a,className:r,imgClassName:o,maskClassName:s,svgClassName:l,wrapperStyle:c,size:d}=e||{},u=r??"iconRenderer-icon",h=o??"iconRenderer-icon-image",p=s??"iconRenderer-icon-mask",C=l??"iconRenderer-icon-svg",g=typeof n=="string"?n:null,f=ch(g),{iconToUse:m,mode:b,svgText:v,blobUrl:w}=Vm(g),_=(N,M={})=>t.jsx("span",{className:u,style:c,...M,children:N}),y=(N,M={})=>t.jsx("img",{src:N,alt:typeof a=="string"?a:a?String(a):"",className:h,...M});if(!n)return null;if(typeof n!="string")return _(n);if(n==="none")return _(t.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"></svg>'}}),{"aria-hidden":"true"});if(f)try{return _(i.createElement(f,{className:C,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(m&&m.endsWith(".svg")){if(b==="mask"){const N={"--icon-url":w?`url(${w})`:`url(${m})`};return _(t.jsx("span",{className:p,style:N}),{"aria-hidden":"true"})}return b==="img"?_(y(m,{onError:N=>{N.currentTarget.onerror=null,N.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):b==="inline"?_(t.jsx("span",{className:C,dangerouslySetInnerHTML:v?{__html:v}:void 0}),{"aria-hidden":"true"}):_(null,{"aria-hidden":"true"})}if(n.startsWith("/")||n.includes("/assets/")||n.match(/\.(png|jpg|jpeg|webp|gif)$/i))return y(Ta(n),{style:c,onError:N=>{N.currentTarget.onerror=null,N.currentTarget.style.display="none"}});const B=typeof d=="number"?d:20,x=`<svg width="${B}" height="${B}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return _(t.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:x}}),{"aria-hidden":"true"})}function Wm({icon:e,emoji:n,title:a,message:r,hint:o,action:s,compact:l,className:c}){return t.jsxs("div",{className:ye("empty-state",l&&"empty-state--compact",c),children:[n&&t.jsx("span",{className:"empty-state__emoji",children:n}),e&&t.jsx(Ie,{icon:e,className:"empty-state__icon"}),a&&t.jsx("p",{className:"empty-state__title body-2",children:a}),r&&t.jsx("p",{className:"empty-state__message body-3",children:r}),o&&t.jsx("p",{className:"empty-state__hint caption-1",children:o}),s&&t.jsxs("button",{className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:s.onClick,children:[s.icon&&t.jsx(Ie,{icon:s.icon,className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:s.label})]})]})}function qm({message:e,hint:n,icon:a="triangle-alert",onRetry:r,retryLabel:o,className:s}){const{t:l}=me.useTranslation();return t.jsxs("div",{className:ye("empty-state","error-state",s),role:"alert",children:[t.jsx(Ie,{icon:a,className:"empty-state__icon error-state__icon"}),t.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),n&&t.jsx("p",{className:"empty-state__hint caption-1",children:n}),r&&t.jsxs("button",{className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:r,children:[t.jsx(Ie,{icon:"rotate-cw",className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:o??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function Um({icon:e,title:n,description:a,cta:r,tone:o="main",disabled:s=!1,onClick:l,className:c=""}){const d=()=>{s||l?.()};return t.jsx("section",{role:"button",tabIndex:s?-1:0,"aria-disabled":s||void 0,"aria-label":n,onClick:d,onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),d())},className:ye("action-card",`action-card--${o}`,s&&"action-card--disabled",c),children:t.jsxs("div",{className:"action-card__body",children:[t.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:t.jsx(Ie,{icon:e,size:34})}),t.jsxs("div",{className:"action-card__text",children:[t.jsx("h2",{className:"action-card__title",children:n}),t.jsx("p",{className:"action-card__desc",children:a})]}),t.jsxs("div",{className:"action-card__cta",children:[t.jsx("span",{children:r}),t.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:t.jsx(Ie,{icon:"arrow-right",size:18})})]})]})})}function Gm({as:e="div",className:n="",children:a,storage:r,...o}){r&&Zh({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl});const s=ye("ihabdevteam-core-scope",n);return t.jsx(e,{className:s,...o,children:a})}function Km({title:e="",lines:n=[],notices:a=null,children:r,variant:o="default",dismissible:s=!1,className:l=""}){const{t:c}=me.useTranslation(),[d,u]=i.useState(!1),h=i.useCallback(()=>u(!0),[]);if(d)return null;const p=`notice-box notice-box--${o} body-2 ${l}`.trim();if(a&&Array.isArray(a)&&a.length)return t.jsx("div",{className:p,role:"note",children:a.map((g,f)=>t.jsxs("div",{className:"notice-box__inner",children:[g.title?t.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,t.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?t.jsx("div",{children:g.lines.map((m,b)=>t.jsx("span",{className:"notice-box__line body-3",children:m},b))}):g.children??null})]},f))});const C=e||n.length?t.jsxs("div",{className:"notice-box__inner",children:[e?t.jsx("span",{className:"notice-box__title body-1",children:e}):null,t.jsx("div",{className:"notice-box__body",children:n.length?t.jsx("ul",{children:n.map((g,f)=>t.jsx("li",{className:"notice-box__line",children:g},f))}):r})]}):t.jsx("div",{className:"notice-box__inner",children:r});return t.jsxs("div",{className:p,role:"note",children:[C,s&&t.jsx("button",{className:"notice-box__dismiss",onClick:h,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}function za(e,n=!0){i.useEffect(()=>{if(!n)return;const a=e.current;if(!a)return;const r=o=>{if(o.key!=="Tab")return;const s=Array.from(a.querySelectorAll(Vn)).filter(d=>!d.closest('[aria-hidden="true"]'));if(!s.length){o.preventDefault();return}const l=s[0],c=s[s.length-1];o.shiftKey&&document.activeElement===l?(o.preventDefault(),c.focus()):!o.shiftKey&&document.activeElement===c&&(o.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,n])}const Vn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function nn(e){const{anchorRect:n,anchorEl:a,offset:r=20,edgeMargin:o=20,onClose:s,closeOnOutsideClick:l=!0,className:c="",role:d="dialog",ariaLabel:u="",children:h,backdrop:p=!1,isMobilePopup:C=!1,useBorder:g=!0,header:f}=e||{},m=i.useRef(null),[b,v]=i.useState({position:"fixed",left:0,top:-9999}),[w,_]=i.useState(!1),[y,B]=i.useState("bottom"),[x,N]=i.useState(!1),[M,k]=i.useState(!1),D=!n&&!a,H=i.useCallback((S=!1)=>{if(M&&C)return;const U=a?a.getBoundingClientRect():n;if(!U||!m.current)return;const X=m.current,{offsetWidth:J,offsetHeight:Q}=X,E=window.innerWidth,$=window.innerHeight,L=E-U.right,W=U.left,O=U.top,Y=$-U.bottom;let I=0,q=0,K="top";if(O>=Q+r)K="top",q=U.top-r-Q,I=U.left+U.width/2-J/2;else if(Y>=Q+r)K="bottom",q=U.bottom+r,I=U.left+U.width/2-J/2;else if(L>=J+r)K="right",I=U.right+r,q=U.top+U.height/2-Q/2;else if(W>=J+r)K="left",I=U.left-r-J,q=U.top+U.height/2-Q/2;else{const ge=Math.max(O,Y,L,W);ge===O?(K="top",q=U.top-r-Q,I=U.left+U.width/2-J/2):ge===Y?(K="bottom",q=U.bottom+r,I=U.left+U.width/2-J/2):ge===L?(K="right",I=U.right+r,q=U.top+U.height/2-Q/2):(K="left",I=U.left-r-J,q=U.top+U.height/2-Q/2)}const oe=Number(o)||8;I=Math.min(Math.max(I,oe),E-J-oe),q=Math.min(Math.max(q,oe),$-Q-oe);const pe=Math.round(I),fe=Math.round(q);S&&m.current?(m.current.style.left=`${pe}px`,m.current.style.top=`${fe}px`,m.current.dataset.placement=K):(B(K||y),v({position:"fixed",left:pe,top:fe}),N(!0))},[M,C,a,n,r,o,y]);i.useLayoutEffect(()=>{if(D)return;if(M&&C){v({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),N(!0);return}H();const S=requestAnimationFrame(()=>H());return()=>cancelAnimationFrame(S)},[n,a,r,h,o,D,M,C,H]),i.useEffect(()=>{if(D||M&&C||!m.current||typeof ResizeObserver>"u")return;const S=new ResizeObserver(()=>{n&&H()});return S.observe(m.current),()=>S.disconnect()},[n,h,o,D,M,C,H]),i.useEffect(()=>{if(D||M&&C)return;const S=()=>H(!0);return window.addEventListener("resize",S),document.addEventListener("scroll",S,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",S),document.removeEventListener("scroll",S,{capture:!0})}},[n,r,h,o,D,M,C,H]),i.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const S=window.matchMedia("(max-width: 768px)"),U=()=>k(!!S.matches);U();try{S.addEventListener?S.addEventListener("change",U):S.addListener(U)}catch{try{S.addListener(U)}catch{}}return()=>{try{S.removeEventListener?S.removeEventListener("change",U):S.removeListener(U)}catch{}}},[]);const R=i.useRef(!1),j=i.useCallback((S=!1)=>{if(!(w||R.current)){if(R.current=!0,S){_(!0);try{s&&s()}catch{}return}_(!0),setTimeout(()=>{s&&s()},200)}},[w,s,_]);i.useEffect(()=>{const S=J=>{const Q=m.current;if(!Q)return;const E=J.target;if(E&&!Q.contains(E)){try{if(E.closest&&E.closest("[data-tooltip-ignore]"))return}catch{}l&&j(!0)}},U=J=>{const Q=m.current;if(!Q)return;const E=J.target;if(E&&!Q.contains(E)){try{if(E.closest&&E.closest("[data-tooltip-ignore]"))return}catch{}l&&j(!0)}},X=J=>{if(J.key==="Escape"){J.stopPropagation(),j();return}if(J.key==="Tab"){const Q=m.current;if(!Q)return;const E=Q.querySelectorAll(Vn);if(!E||E.length===0)return;const $=E[0],L=E[E.length-1],W=document.activeElement;J.shiftKey?W===$&&(J.preventDefault(),L.focus()):W===L&&(J.preventDefault(),$.focus())}};return document.addEventListener("pointerdown",S,!0),document.addEventListener("click",U,!0),document.addEventListener("keydown",X),()=>{document.removeEventListener("pointerdown",S,!0),document.removeEventListener("click",U,!0),document.removeEventListener("keydown",X)}},[s,l,j]),i.useEffect(()=>{const S=()=>{j(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",S),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",S)}},[j]);const P=t.jsxs("div",{ref:m,className:`tooltip-content ${D?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${w?"is-closing":""} ${c} ${M&&C?"is-mobile":""}`,role:d,"aria-label":u||void 0,style:D?{}:{...b,visibility:x?"visible":"hidden"},tabIndex:-1,"data-placement":y,"data-left":D?"":b.left,"data-top":D?"":b.top,"data-anchor-left":n?Math.round(n.left):"","data-anchor-top":n?Math.round(n.top):"","data-anchor-width":n?Math.round(n.width):"","data-anchor-height":n?Math.round(n.height):"",children:[f!=null&&t.jsx("div",{className:"tooltip-content__header h5",children:f}),h]});if(D||typeof document>"u")return P;if(p||M&&C){const S=t.jsxs("div",{className:"tooltip-portal",children:[t.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&j(!0)}}),P]});return Tt.createPortal(S,document.body)}return Tt.createPortal(P,document.body)}function an(e){const{anchorRect:n,text:a,offset:r=8,onClose:o,className:s="",ariaLabel:l}=e||{};return a?t.jsx(nn,{anchorRect:n,offset:r,onClose:o,closeOnOutsideClick:!1,className:`tooltip-info ${s}`,ariaLabel:l||a,children:t.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function Cn(e){const{t:n}=me.useTranslation(),{anchorRect:a,title:r,items:o,activeIndex:s=-1,showIndex:l=!0,onClose:c,offset:d=12,closeOnOutsideClick:u=!0}=e||{},h=(Array.isArray(o)?o:o?[o]:[]).map(p=>typeof p=="string"?{text:p}:p);return!h.length&&!r?null:t.jsx(nn,{anchorRect:a,offset:d,onClose:c,closeOnOutsideClick:u,useBorder:!1,className:"tooltip-description",ariaLabel:r||n("tooltip.description","\uC124\uBA85"),children:t.jsxs("div",{className:"tooltip-description__box",children:[r&&t.jsx("span",{className:"tooltip-description__title body-2",children:r}),t.jsx("ol",{className:"tooltip-description__items",children:h.map((p,C)=>t.jsxs("li",{className:`tooltip-description__item body-3${C===s?" tooltip-description__item--active":""}`,children:[l&&h.length>1&&t.jsxs("span",{className:"tooltip-description__index button-1",children:[C+1,"."]}),p.color&&t.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),t.jsx("span",{children:p.text})]},C))})]})})}function te(e){const{size:n=48,type:a,htmlType:r,href:o,target:s,rel:l,icon:c,rightIcon:d,label:u,count:h,subLabel:p,children:C,ariaLabel:g,variant:f="default",align:m="center",selected:b,toggleable:v=!1,disabled:w=!1,useLabel:_=!0,useBorder:y=!0,useBG:B=!0,useDisabledCovered:x=!1,useDisabledInvisible:N=!1,width:M,minWidth:k,onClick:D,onDisabledClick:H,showTooltipInfo:R=!1,tooltipInfoText:j=null,tooltipDescription:P=null,iconSize:S="medium",iconColor:U,shape:X="rounded",color:J,className:Q,...E}=e,$=typeof n=="string"&&isNaN(Number(n))?n.toLowerCase():String(Number(n)||48),L=$.match(/^\d+$/)?`button${$}`:`button-${$}`,W=Number(n),O=!isNaN(W)&&W<40?"button-2":"button-1",Y=u??C,I=w||!!E.disabled,q=I?x?"disabled-covered":N?"disabled-invisibled":"disabled":f,K=q?`button--variant-${q}`:"",oe=m?`button--align-${m}`:"",pe=X?`button--shape-${X}`:"",fe=typeof U=="string"&&U.startsWith("--")?`var(${U})`:U,ge={...M?{width:typeof M=="number"?`${M}px`:M}:{},...k?{minWidth:typeof k=="number"?`${k}px`:k}:{},...y?{}:{"--button-border":I?"0":"1px solid transparent"},...fe?{"--button-icon-color":fe}:{},...J?{"--color-main":J}:{}},he=_===!1?"":Y,T=Array.isArray(he)?he.length>0:!!he,V=!!d,ee=a??(T||c||V?"bar":"dot"),Ce=`${L}--${ee}`,ie=i.useRef(null),ue=i.useRef(I),[se,ae]=i.useState(!!b),[je,Fe]=i.useState(!1),[He,$e]=i.useState(null),Ee=i.useCallback(()=>Fe(!1),[]);i.useEffect(()=>{typeof b=="boolean"&&ae(b)},[b]),i.useEffect(()=>{if(ue.current&&!I&&ie.current){const Me=ie.current;Me.blur(),Me.style.pointerEvents="none";const et=requestAnimationFrame(()=>{requestAnimationFrame(()=>{ie.current&&(ie.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(et)}ue.current=I},[I]);const Se=typeof b=="boolean"?!!b:se,ke=v||typeof b=="boolean"?Se?"true":"false":void 0,Pe=ye("button",L,Ce,K,oe,pe,Se?"is-selected":null,B?null:"button--no-bg",Q),Ye=`button__icon button__icon--${S}`,xe=Array.isArray(p)?p:p!==void 0?[p]:[],Oe=()=>{if(Array.isArray(he))return he.map((et,tt)=>{const Ze=xe[tt];return t.jsxs("span",{className:`button__label-text${Ze!==void 0?" button__label-text--has-sub":""}`,children:[et,Ze!==void 0&&t.jsx("span",{className:"button__sub-label-text caption-1",children:Ze})]},tt)});const Me=p!==void 0;return t.jsxs("span",{className:`button__label-text${Me?" button__label-text--has-sub":""}`,children:[he,h!=null&&t.jsx("span",{className:"button__count",children:h}),Me&&t.jsx("span",{className:"button__sub-label-text caption-1",children:p})]})},De=Me=>{I||(typeof E.onMouseLeave=="function"&&E.onMouseLeave(Me),typeof b!="boolean"&&ae(!1),Me.currentTarget.blur())},We=Me=>{if(I){H?.(Me);return}typeof b!="boolean"&&v&&ae(et=>!et),D?.(Me)},Xe=i.useCallback(()=>{(R||P)&&(Fe(!0),$e(ie.current?.getBoundingClientRect()??null))},[R,P]),qe=i.useCallback(()=>{(R||P)&&(Fe(!1),$e(null))},[R,P]),Re={...E};delete Re.disabled,delete Re.className,delete Re.faded,delete Re.useFaded,delete Re.loading,delete Re.onMouseLeave,delete Re.onPointerEnter,delete Re.onPointerLeave,delete Re.onFocus,delete Re.onBlur,I&&(Object.keys(Re).forEach(Me=>{/^on[A-Z]/.test(Me)&&typeof Re[Me]=="function"&&delete Re[Me]}),Re["aria-disabled"]="true");const ot=(typeof R=="string"?R:null)??(typeof j=="string"?j:null)??(typeof g=="string"?g:null)??(typeof Y=="string"?Y:null)??void 0,pt=typeof g=="string"?g:typeof Y=="string"?Y:ot,Ue=(Me,et)=>t.jsx(Ie,{icon:Me,label:et??pt,className:Ye,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),at=()=>ee==="dot"?t.jsxs(t.Fragment,{children:[Ue(c),T&&t.jsx("span",{className:`button__label ${O}`,children:Oe()})]}):m==="center"&&c?t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"button__center-group",children:[t.jsx("span",{className:"button__left",children:Ue(c)}),T&&t.jsx("span",{className:`button__label ${O}`,children:Oe()})]}),V&&t.jsx("span",{className:"button__right",children:Ue(d)})]}):t.jsxs(t.Fragment,{children:[c&&t.jsx("span",{className:"button__left",children:Ue(c,g??Y)}),T&&t.jsx("span",{className:`button__label ${O}`,children:Oe()}),V&&t.jsx("span",{className:"button__right",children:Ue(d)})]}),Be=!!o&&!I;return t.jsxs(t.Fragment,{children:[t.jsx(Be?"a":"button",{...Re,ref:ie,...Be?{href:o,target:s,rel:l??(s==="_blank"?"noreferrer":void 0)}:{type:r,disabled:I&&!H},className:Pe,"aria-pressed":ke,"aria-label":pt,"aria-disabled":Be&&I?!0:void 0,style:ge,onClick:We,onMouseLeave:De,onPointerEnter:Me=>{Xe(),!I&&typeof E.onPointerEnter=="function"&&E.onPointerEnter(Me)},onPointerLeave:Me=>{qe(),!I&&typeof E.onPointerLeave=="function"&&E.onPointerLeave(Me)},onFocus:Me=>{Xe(),!I&&typeof E.onFocus=="function"&&E.onFocus(Me)},onBlur:Me=>{De(Me),qe(),!I&&typeof E.onBlur=="function"&&E.onBlur(Me)},children:at()}),je&&P?t.jsx(Cn,{anchorRect:He,title:P.title,items:P.items,onClose:Ee}):je&&ot?t.jsx(an,{anchorRect:He,text:ot,onClose:Ee}):null]})}function nt(e,n,a){const r=i.useRef(null);return i.useLayoutEffect(()=>{const o=r.current?.parentElement??null;return n(o,e),()=>a(o)},[e,n,a]),r}const Wn={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Va=new WeakMap;function Ko(e){if(e)return Va.get(e)}function xt(e,n){e&&(e.style.setProperty(Wn.title,n.title),e.style.setProperty(Wn.description,n.description),Va.set(e,n))}function _t(e){e&&(e.style.removeProperty(Wn.title),e.style.removeProperty(Wn.description),Va.delete(e))}const Zo={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Yo(){const e=nt(Zo,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Xo={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Jo(){const e=nt(Xo,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Qo={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function es(){const e=nt(Qo,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const ts={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function ns(){const e=nt(ts,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const as={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function rs(){const e=nt(as,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const os={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function ss(){const e=nt(os,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const is={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function ls(){const e=nt(is,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const cs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function us(){const e=nt(cs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const ds={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function ps(){const e=nt(ds,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const hs={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function ms(){const e=nt(hs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Cs={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function fs(){const e=nt(Cs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:t.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const gs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function bs(){const e=nt(gs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const ys={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function vs(){const e=nt(ys,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const xs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function _s(){const e=nt(xs,xt,_t);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Zm=[{key:"main",label:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"soft",label:"\uC18C\uD504\uD2B8",textTone:"dark"},{key:"sub",label:"\uC11C\uBE0C \uCEEC\uB7EC",textTone:"light"},{key:"deep",label:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"softSub",label:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",textTone:"dark"},{key:"warm",label:"\uC6DC(\uAC15\uC870)",textTone:"dark"},{key:"dark",label:"\uB2E4\uD06C",textTone:"light"},{key:"radial",label:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"diagonal",label:"\uB300\uAC01\uC120 \uD328\uD134",textTone:"dark"},{key:"dots",label:"\uB3C4\uD2B8 \uD328\uD134",textTone:"dark"},{key:"outline",label:"\uC544\uC6C3\uB77C\uC778",textTone:"dark"},{key:"success",label:"\uC131\uACF5/\uC644\uB8CC",textTone:"light"},{key:"naver",label:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",textTone:"light"},{key:"instagram",label:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4",textTone:"light"}],ws={main:Yo,soft:Jo,sub:es,deep:ns,softSub:rs,warm:ss,dark:ls,radial:us,diagonal:ps,dots:ms,outline:fs,success:bs,naver:vs,instagram:_s};function ks({storageKey:e="fontScale",baseFont:n=20,minScale:a=.8,maxScale:r=1.4,step:o=.1,lineHeightRatio:s=1.4}={}){const l=b=>Math.max(a,Math.min(r,Number(b))),[c,d]=i.useState(()=>{try{const b=localStorage.getItem(e),v=b?Number(b):1;return Number.isFinite(v)?v:1}catch{return 1}});i.useEffect(()=>{try{localStorage.setItem(e,String(c))}catch{}},[e,c]);const u=b=>{d(typeof b=="function"?v=>l(b(v)):l(b))},h=()=>u(b=>+(b+o).toFixed(6)),p=()=>u(b=>+(b-o).toFixed(6)),C=c<r-Number.EPSILON,g=c>a+Number.EPSILON,f=Math.round(n*c),m=Math.round(f*s);return{scale:c,setScale:u,increase:h,decrease:p,canIncrease:C,canDecrease:g,fontSize:f,lineHeight:m}}const As=i.createContext(null);function Ym(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}function Gt(e){const n=i.useContext(As),a=s=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(s).matches,[r,o]=i.useState(a(e));return i.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const s=window.matchMedia(e),l=d=>o(d.matches),c=s;return c.addEventListener?c.addEventListener("change",l):c.addListener&&c.addListener(l),o(s.matches),()=>{c.removeEventListener?c.removeEventListener("change",l):c.removeListener&&c.removeListener(l)}},[e]),n&&typeof n.mobile=="boolean"&&Ym(e)?n.mobile:r}function Wa(e){const n=i.useRef(e);return i.useEffect(()=>{n.current=e}),n}function Ns(e,n){const a=Wa(n);i.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const qa=" \xB7 ",Bs=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(qa)?e.split(qa).pop()??e:e})(),Xm=i.createContext(!1);function Jm(e){const n=i.useContext(Xm);i.useEffect(()=>{if(n||typeof e!="string"||!e)return;const a=document.title;return document.title=Bs?`${e}${qa}${Bs}`:e,()=>{document.title=a}},[e,n])}const Ss=[{value:"10",label:"10\uAC1C\uC529 \uBCF4\uAE30"},{value:"25",label:"25\uAC1C\uC529 \uBCF4\uAE30"},{value:"50",label:"50\uAC1C\uC529 \uBCF4\uAE30"},{value:"100",label:"100\uAC1C\uC529 \uBCF4\uAE30"}];function Qm(e,n,a){const{t:r}=me.useTranslation(),[o,s]=i.useState(()=>{const f=a?.initialPageSize;return f&&Ss.some(m=>m.value===f)?f:"25"}),[l,c]=i.useState(1),[d,u]=i.useState(n);d!==n&&(u(n),l!==1&&c(1));const h=i.useMemo(()=>Ss.map(f=>({...f,label:r("visits.showN",{n:f.value})})),[r]),p=i.useCallback(f=>{s(f),c(1)},[]),C=Math.max(1,Math.ceil(e.length/Number(o))),g=Math.min(l,C);return{pageRows:i.useMemo(()=>e.slice((g-1)*Number(o),g*Number(o)),[e,g,o]),pageSizeProps:{options:h,value:o,onChange:p},paginationProps:{page:g,total:C,onChange:c},setPage:c}}function e0(){const[e,n]=i.useState(null),a=i.useCallback(o=>{n(s=>s?.key===o?{key:o,asc:!s.asc}:{key:o,asc:!0})},[]),r=i.useCallback((o,s)=>({label:o,sortDir:e?.key===s?e.asc?"asc":"desc":null,onClick:()=>a(s)}),[e,a]);return{\uC815\uB82C:e,\uCE78:r}}const rn="\uC804\uCCB4";Object.fromEntries(Object.entries(mm).map(([e,{nucleus:n}])=>[e,n]));const t0={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},n0={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},a0={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function r0(e,n){if("place"in n)return t0[n.place](e);const a=n0[n.vowel](e);return n.glide?`${a} \xB7 ${a0[n.glide](e)}`:a}const o0=(e,{defaultValue:n})=>n,Ds=(e,n)=>({jamos:e,phonetic:n,tooltip:r0(o0,n)}),Kt=(e,n)=>n.map(a=>Ds([a],{place:e})),mt=(e,n,a)=>Ds([...e],a?{vowel:n,glide:a}:{vowel:n}),Ua={cho:[Kt("labial",["\u3142","\u3143","\u314D","\u3141"]),Kt("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),Kt("alveolar",["\u3145","\u3146"]),Kt("palatal",["\u3148","\u3149","\u314A"]),Kt("velar",["\u3131","\u3132","\u314B"]),Kt("glottal",["\u314E"])],jung:[[mt("\u3163","frontHigh"),mt("\u315F","frontHigh","w"),mt("\u3162","frontHigh","velar")],[mt("\u3161","backHighUnrounded")],[mt("\u315C","backHighRounded"),mt("\u3160","backHighRounded","j")],[mt("\u3154\u3150","frontMid"),mt("\u3156\u3152","frontMid","j"),mt("\u3159\u315A\u315E","frontMid","w")],[mt("\u3153","backMidUnrounded"),mt("\u3155","backMidUnrounded","j"),mt("\u315D","backMidUnrounded","w")],[mt("\u3157","backMidRounded"),mt("\u315B","backMidRounded","j")],[mt("\u314F","low"),mt("\u3151","low","j"),mt("\u3158","low","w")]],jong:[Kt("labial",["\u3142","\u3141"]),Kt("alveolar",["\u3137","\u3134","\u3139"]),Kt("velar",["\u3131","\u3147"])]},s0=e=>e===i0?[]:Array.from(e),i0="__NO_CODA__",Ga=e=>e.map(n=>n.map(({jamos:a,phonetic:r,tooltip:o})=>({v:a.join(""),phonetic:r,tooltip:o}))),js={cho:Ga(Ua.cho),jung:Ga(Ua.jung),jong:Ga(Ua.jong)};js.jung.flat().forEach(({v:e})=>{for(const n of s0(e));}),new Set(js.cho.flat().map(e=>e.v));const An=[];let sa=!1;function Es(e){if(e.key!=="Escape"||e.defaultPrevented)return;const n=An[An.length-1];n&&(e.stopPropagation(),n())}function Ka(e){return An.push(e),!sa&&typeof document<"u"&&(document.addEventListener("keydown",Es),sa=!0),()=>{const n=An.lastIndexOf(e);n>=0&&An.splice(n,1),An.length===0&&sa&&typeof document<"u"&&(document.removeEventListener("keydown",Es),sa=!1)}}function l0(e,n=!0){const a=Wa(e);i.useEffect(()=>{if(n)return Ka(()=>{a.current?.()})},[n,a])}function ia(){const[e,n]=i.useState(null),a=i.useCallback(s=>n(s.getBoundingClientRect()),[]),r=i.useCallback(()=>n(null),[]),o=i.useCallback(s=>{const l=s.getBoundingClientRect();n(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:o}}function Ts(e="warning"){const[n,a]=i.useState(""),[r,o]=i.useState(e),[s,l]=i.useState(0),c=i.useCallback((p,C)=>{o(C),a(p),l(g=>g+1)},[]),d=i.useCallback(p=>c(p,"warning"),[c]),u=i.useCallback(p=>c(p,"normal"),[c]),h=i.useCallback(()=>a(""),[]);return{toastMessage:n,toastType:r,toastKey:s,showToast:c,showWarning:d,showNormal:u,clearToast:h}}function qn({computeStyle:e,onScroll:n="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[o,s]=i.useState(!1),[l,c]=i.useState({}),d=i.useRef(null),u=i.useRef(null),h=i.useCallback(()=>{d.current&&c(e(d.current.getBoundingClientRect()))},[e]);i.useEffect(()=>{if(!o)return;h();const g=v=>{const w=v.target;r&&w.closest?.(r)||d.current?.contains(w)||u.current?.contains(w)||s(!1)};document.addEventListener("mousedown",g);const f=v=>{u.current?.contains(v.target)||(n==="reposition"?h():n==="close"&&s(!1))};n!=="ignore"&&window.addEventListener("scroll",f,!0);const m=()=>{a==="reposition"?h():a==="close"&&s(!1)};a!=="ignore"&&window.addEventListener("resize",m);const b=v=>{v.key==="Escape"&&s(!1)};return document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",g),n!=="ignore"&&window.removeEventListener("scroll",f,!0),a!=="ignore"&&window.removeEventListener("resize",m),document.removeEventListener("keydown",b)}},[o,h,n,a,r]);const p=i.useCallback(()=>s(g=>!g),[]),C=i.useCallback(()=>s(!1),[]);return{open:o,setOpen:s,toggle:p,close:C,style:l,triggerRef:d,menuRef:u}}function c0(e,{mode:n="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:o,playMs:s=1100,feedbackMs:l=1500}={}){const[c,d]=i.useState([]),[u,h]=i.useState(0),[p,C]=i.useState("idle"),[g,f]=i.useState(null),[m,b]=i.useState([]),[v,w]=i.useState(null),[_,y]=i.useState(0),B=i.useRef(0),x=i.useCallback(E=>{B.current=typeof E=="function"?E(B.current):E,y(B.current)},[]),N=i.useRef(r),M=i.useRef(o);i.useEffect(()=>{N.current=r,M.current=o},[r,o]);const k=i.useRef([]),D=()=>{k.current.forEach(clearTimeout),k.current=[]},H=(E,$)=>{k.current.push(setTimeout($,E))};i.useEffect(()=>()=>D(),[]);const R=c[u]?.id??null,j=i.useCallback(()=>{D(),C("playing"),b([]),w(null),x(0);let E=0;e.forEach(($,L)=>{H(E,()=>{h(L),f($.id),N.current?.($)}),H(E+1e3,()=>{f(null),b(W=>[...W,$.id])}),E+=1300}),H(E,()=>{C("done"),M.current?.({score:0,total:e.length})})},[e,x]),P=i.useCallback((E,$)=>{if($>=E.length){C("done"),M.current?.({score:B.current,total:E.length});return}h($),w(null),C("playing"),f(E[$].id),N.current?.(E[$]),H(s,()=>{f(null),C("waiting")})},[s]),S=i.useCallback(()=>{D();const E=Hn(e);d(E),x(0),b([]),P(E,0)},[e,P,x]),U=i.useCallback(()=>{n==="playback"?(d(e),j()):S()},[n,e,j,S]),X=i.useCallback(()=>{D(),C("idle"),f(null),b([]),w(null),h(0),x(0),d([])},[x]);i.useEffect(()=>{a?U():X()},[n,e.length,a]);const J=i.useCallback(E=>{p!=="waiting"||n==="playback"||(w(E),E===c[u]?.id&&x($=>$+1),n==="exam"?(C("playing"),H(400,()=>P(c,u+1))):(C("feedback"),H(l,()=>P(c,u+1))))},[p,n,c,u,P,l,x]),Q=n==="playback"?e.length:c.length;return{bind:{activeSpeakerId:g,playedIds:m,selectedId:v,answerId:R,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:J},index:u,total:Q,score:_,phase:p,done:p==="done",start:U,reset:X}}function u0({title:e,description:n,actionLabel:a,onAction:r,bg:o,color:s,size:l="medium",actionVariant:c,titleColor:d,descriptionColor:u,className:h=""}){const p=o??s??"main",C=i.useRef(null),[g,f]=i.useState("main"),m=Gt("(max-width: 767px)");i.useLayoutEffect(()=>{const w=C.current;w&&(d!==void 0&&w.style.setProperty("--promo-banner-bg-title",d),u!==void 0&&w.style.setProperty("--promo-banner-bg-description",u))},[d,u]),i.useLayoutEffect(()=>{const w=C.current;if(!w)return;const _=Ko(w);f(_?.actionVariant??"main")},[p]);const b=ye("promo-banner",`promo-banner--${l}`,h),v=ws[p];return t.jsxs("div",{ref:C,className:b,role:"note",children:[t.jsx(v,{}),t.jsxs("div",{className:"promo-banner__text",children:[t.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),n&&t.jsx("span",{className:"promo-banner__description body-3",children:n})]}),a&&r&&t.jsx(te,{size:40,variant:c??g,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...m?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function d0({children:e,interval:n=5e3,dotTone:a,className:r="","aria-label":o}){const{t:s}=me.useTranslation(),l=o??s("topBanner.ariaLabel","\uBC30\uB108"),c=i.Children.toArray(e),d=c.length,[u,h]=i.useState(0),[p,C]=i.useState(!1),g=d>0?u%d:0;return i.useEffect(()=>{if(d<2||n<=0||p)return;const f=window.setInterval(()=>h(m=>(m+1)%d),n);return()=>window.clearInterval(f)},[d,n,p]),d===0?null:t.jsxs("section",{className:ye("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),onFocus:()=>C(!0),onBlur:()=>C(!1),children:[t.jsx("div",{className:"top-banner__viewport",children:t.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${g*100}%)`},children:c.map((f,m)=>t.jsx("div",{className:"top-banner__slide","aria-hidden":m!==g,...m!==g?{inert:!0}:{},children:f},m))})}),d>1&&t.jsx("div",{className:`top-banner__dots${(a?.[g]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((f,m)=>t.jsx("button",{type:"button",className:`top-banner__dot${m===g?" top-banner__dot--active":""}`,"aria-label":s("topBanner.dotAriaLabel",{count:d,index:m+1,defaultValue:`${d}\uAC1C \uC911 ${m+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":m===g,onClick:()=>h(m)},m))})]})}function p0({title:e,body:n,open:a=!1,onToggle:r,avatar:o,titleClassName:s="body-2",bodyClassName:l="body-2",className:c=""}){const{t:d}=me.useTranslation();return t.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),children:[t.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:u=>{if(u.key==="Enter"||u.key===" ")u.preventDefault(),r?.();else if(u.key==="ArrowDown"||u.key==="ArrowUp"){u.preventDefault();const h=u.currentTarget.closest('[role="list"]');if(!h)return;const p=Array.from(h.querySelectorAll("[data-accordion-header]")),C=p.indexOf(u.currentTarget);(u.key==="ArrowDown"?p[C+1]:p[C-1])?.focus()}},children:[o&&t.jsx("div",{className:"accordion-item__avatar",children:o}),t.jsx("div",{className:`accordion-item__title ${s}`,children:e}),t.jsx("div",{className:"accordion-item__chevron",children:t.jsx(Ie,{icon:a?"chevron-up":"chevron-down",label:a?d("accordion.collapse","\uC811\uAE30"):d("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&t.jsx("div",{className:`accordion-item__body ${l}`,children:typeof n=="string"?t.jsx("p",{children:n}):n})]})}function h0({items:e=[],defaultOpenIndex:n=0,size:a=72,className:r="",bodyClassName:o}){const[s,l]=i.useState(n);return t.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((c,d)=>t.jsx(p0,{title:c.title,body:c.body,avatar:c.avatar,open:d===s,onToggle:()=>l(d===s?-1:d),bodyClassName:o},d))})}function m0(){return t.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("polyline",{points:"2,6 5,9 10,3"})})}function C0(){return t.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[t.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),t.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function f0(){return t.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:t.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function ut(e){const{type:n="bar",size:a,className:r="","aria-label":o}=e;if(n==="dot"){const{icon:_,number:y,position:B="top-right",onClick:x,animate:N=!1}=e,M=y!==void 0?"number":_??"check",k=typeof a=="number"?a:32,D=ye("circle-badge",`circle-badge--${M}`,`circle-badge--${B}`,`circle-badge--${k}`,N?"circle-badge--animate":"",x?"circle-badge--clickable":"",r),H=y!==void 0?`${y}\uBC88\uC9F8 \uC120\uD0DD`:{check:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",minus:"\uC81C\uC678"}[_??"check"];return t.jsxs("span",{className:D,onClick:x,onKeyDown:x?R=>{R.key!=="Enter"&&R.key!==" "||(R.preventDefault(),R.currentTarget.click())}:void 0,"aria-label":o??H,role:x?"button":void 0,tabIndex:x?0:void 0,children:[y!==void 0&&y,y===void 0&&_==="check"&&t.jsx(m0,{}),y===void 0&&_==="remove"&&t.jsx(C0,{}),y===void 0&&_==="minus"&&t.jsx(f0,{})]})}const{label:s,children:l,variant:c="default",fill:d="filled",minWidth:u,iconLeft:h,iconRight:p,color:C}=e,g=typeof a=="number"?"medium":a??"medium",f={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",m={small:12,medium:14,large:16}[g]??14,b=ye("badge",`badge--${c}`,`badge--${g}`,d!=="filled"?`badge--${d}`:"",f,r),v=C?.startsWith("--")?`var(${C})`:C,w=u!==void 0||v?{...u!==void 0?{minWidth:typeof u=="number"?`${u}px`:u}:{},...v?{"--badge-color":v}:{}}:void 0;return t.jsxs("span",{className:b,style:w,children:[h&&t.jsx(Ie,{icon:h,size:m,className:"badge__icon"}),s??l,p&&t.jsx(Ie,{icon:p,size:m,className:"badge__icon"})]})}function la({columns:e=[],onClose:n,className:a="",size:r="medium"}){const{t:o}=me.useTranslation(),s=r==="small"?40:48,[l,c]=i.useState([{title:null,columns:e}]),d=l[l.length-1];i.useEffect(()=>{c(f=>{try{if(!Array.isArray(f)||f.length===0)return[{title:null,columns:e}];const m=f.slice(),b=m[0]&&typeof m[0].title<"u"?m[0].title:null;return m[0]={title:b,columns:e},m}catch{return[{title:null,columns:e}]}})},[e]);const u=i.useCallback(()=>c(f=>f.length>1?f.slice(0,f.length-1):f),[]),h=i.useRef(null),p=i.useRef(null),C=l.length;i.useEffect(()=>{p.current||(p.current=document.activeElement);let f=0,m=0;const b=()=>{const v=h.current?.querySelector("button:not([disabled])");if(v&&v.offsetParent){v.focus({preventScroll:!0});return}m++<20&&(f=requestAnimationFrame(b))};return f=requestAnimationFrame(b),()=>cancelAnimationFrame(f)},[C]),i.useEffect(()=>()=>{p.current?.focus?.({preventScroll:!0})},[]);const g=i.useCallback(f=>{if(f){if(Array.isArray(f.children)&&f.children.length){c(m=>[...m,{title:f.label||null,columns:[{title:null,items:f.children||[]}]}]);return}try{typeof f.onClick=="function"&&f.onClick()}catch{}try{f&&f.closeOnSelect&&typeof n=="function"&&n()}catch{}}},[n]);return t.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(l.length>1||d.title)&&t.jsxs("div",{className:"tooltip-menu__header",children:[l.length>1?t.jsx(te,{size:s,type:"dot",icon:"chevron-left",ariaLabel:o("common.back","\uB4A4\uB85C"),onClick:u,variant:"transparent-gray",useBorder:!1}):null,t.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),t.jsx("div",{className:"tooltip-menu__columns",ref:h,children:d.columns&&d.columns.map((f,m)=>t.jsxs("div",{className:"tooltip-menu__column",children:[f.title?t.jsx("div",{className:"tooltip-menu__column-title body-3",children:f.title}):null,t.jsx("div",{className:"tooltip-menu__items",children:(f.items||[]).map((b,v)=>t.jsx(te,{className:"tooltip-menu__item",size:s,type:b.label?"bar":"dot",icon:b.selected?"check":b.icon||"none",rightIcon:Array.isArray(b.children)&&b.children.length?"chevron-right":b.badgeCount?t.jsx(ut,{type:"dot",position:"inline",number:Math.min(b.badgeCount,99),size:24,"aria-label":`${b.badgeCount}`}):void 0,label:b.label,ariaLabel:b.label,onClick:()=>g(b),selected:b.selected,disabled:b.disabled,showTooltipInfo:b.tooltip||!1,useBorder:!1,align:"left"},v))})]},m))})]})}const g0=52,Ms=10;function Ls({items:e=[],activeKey:n,onChange:a,appMode:r,onAppModeChange:o,moreItems:s=[]}){const{t:l}=me.useTranslation(),c=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",u=r==="manager"?l("nav.modeLabelMalgwi","\uB9D0\uADC0"):l("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),h=i.useRef(null),[p,C]=i.useState(0),g=e.length;i.useEffect(()=>{const S=h.current;if(!S||(C(S.clientWidth),typeof ResizeObserver>"u"))return;const U=new ResizeObserver(X=>C(X[0].contentRect.width));return U.observe(S),()=>U.disconnect()},[]);const f=p>0?Math.floor((p+Ms)/(g0+Ms)):g,m=p>0&&f<g,b=m?f:g,v=e.slice(0,b),w=e.slice(b),_=m||s.length>0,y=i.useCallback(S=>({position:"fixed",bottom:window.innerHeight-S.top+8,right:window.innerWidth-S.right,zIndex:1e4}),[]),B=i.useId(),{open:x,toggle:N,close:M,style:k,triggerRef:D,menuRef:H}=qn({computeStyle:y,onScroll:"ignore",onResize:"ignore"}),R=i.useCallback(()=>o?.(c),[o,c]),j=i.useMemo(()=>w.find(S=>S.key===n)??s.find(S=>S.selected||S.key&&S.key===n),[w,n,s]),P=i.useMemo(()=>[{items:[...w.map(S=>({label:S.label,icon:S.icon,selected:S.key===n,closeOnSelect:!0,onClick:()=>{S.key&&a&&a(S.key),M()}})),...s.map(S=>({label:S.label,icon:S.icon,badgeCount:S.badgeCount,selected:S.selected??(!!S.key&&S.key===n),closeOnSelect:!0,onClick:()=>{S.onClick?.(),M()}}))]}],[w,s,n,a,M]);return t.jsxs("nav",{className:"bottom-nav","aria-label":l("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[o&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bottom-nav__left",children:t.jsx(te,{size:52,type:"dot",icon:d,ariaLabel:u,className:"bottom-nav-item",onClick:R})}),t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),t.jsx("div",{className:"bottom-nav__items",ref:h,children:v.map(S=>t.jsx(te,{size:52,type:"dot",icon:S.icon,ariaLabel:S.label,selected:S.key===n,disabled:S.state==="disabled",className:"bottom-nav-item",onClick:()=>S.key&&a?.(S.key)},S.key))}),_&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),t.jsx("div",{className:"bottom-nav__right",children:t.jsxs("div",{ref:D,children:[t.jsx(te,{size:52,type:"dot",icon:j?.icon??"ellipsis",ariaLabel:j?.label??l("nav.more","\uB354\uBCF4\uAE30"),selected:!!j,className:"bottom-nav-item",onClick:N,"aria-expanded":x,"aria-controls":x?B:void 0}),x&&Tt.createPortal(t.jsx("div",{id:B,role:"group","aria-label":l("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:k,ref:H,children:t.jsx(la,{columns:P,onClose:M})}),document.body)]})})]})]})}function b0(e){const{t:n}=me.useTranslation(),{activeKey:a,unreadCount:r,onDebug:o,onNotification:s,onSetting:l,onHelp:c,onAccount:d}=e||{},u="default";return t.jsxs("div",{className:"side-nav__footer",children:[o&&t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"terminal",ariaLabel:n("nav.debug","\uB514\uBC84\uADF8"),onClick:o,selected:a==="debug"}),t.jsxs("span",{className:"side-nav__notification-wrap",children:[t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"bell",ariaLabel:n("nav.notifications","\uC54C\uB9BC"),onClick:s,selected:a==="notifications"}),!!r&&t.jsx(ut,{type:"dot",number:Math.min(r,99),size:24})]}),t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"settings",ariaLabel:n("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"message-circle-question-mark",ariaLabel:n("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),t.jsx(te,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"user-round",ariaLabel:n("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]})}function $s(e){const{item:n,itemKey:a,label:r,icon:o,active:s,onClick:l,style:c,state:d,labelStyle:u}=e||{},h=n?.key??a??"",p=n?.label??r??"",C=n?.icon??o??"",g=n?.badge??0,f=t.jsx("span",{className:"side-nav__icon-wrap",children:t.jsx(Ie,{icon:C,label:typeof p=="string"?p:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),m=d==="disabled",b=`side-nav__item ${s?"active":""} ${d||""} ${m?"disabled":""} ${n?.child?"side-nav__item--child":""}`,v=i.useCallback(w=>{if(!m){try{w.currentTarget.blur()}catch{}l?.(h,w.currentTarget)}},[m,h,l]);return t.jsxs("button",{className:b,onClick:v,"aria-label":typeof p=="string"?p:void 0,style:c,"aria-disabled":m,children:[f,t.jsx("span",{className:"side-nav__label button-1 f",style:u,children:p}),g>0&&t.jsx(ut,{type:"dot",position:"inline",number:Math.min(g,99),size:24,"aria-label":`${g}`}),d==="loading"&&t.jsx("span",{className:"side-nav__spinner","aria-label":"loading"})]})}function Rs(e){const{t:n}=me.useTranslation(),{items:a=[],activeKey:r,onChange:o,unreadCount:s,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,appMode:p,onAppModeChange:C}=e||{},g=i.useCallback(()=>C?.(p==="malgwi"?"manager":"malgwi"),[C,p]);return t.jsxs("nav",{"aria-label":n("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[t.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(f=>!f.section&&(f.key||f.label)).map((f,m)=>t.jsxs(i.Fragment,{children:[f.divider&&t.jsx("div",{className:"side-nav__separator"}),t.jsx($s,{item:f,active:f.key===r,state:f.disabled?"disabled":void 0,onClick:(b,v)=>{if(f.disabled)return;if(f.href){window.open(f.href,"_blank","noopener,noreferrer");try{v?.blur()}catch{}return}o?.(f.key);try{const _=document.querySelector(".content-area");_?_.scrollTop=0:window.scrollTo({top:0})}catch{}try{v?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const w=document.querySelector(".header");if(w&&!(typeof w.matches=="function"&&w.matches(":hover"))){w.classList.add("header--force-collapsed");const _=()=>{w.classList.remove("header--force-collapsed"),w.removeEventListener("mouseenter",_)};w.addEventListener("mouseenter",_)}}})]},f.key??`side-nav__item-${m}`)),C&&t.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),C&&t.jsx($s,{item:{key:"__mode-switch__",label:p==="malgwi"?n("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"):n("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"),icon:p==="malgwi"?"arrow-right":"arrow-left"},onClick:g})]}),t.jsx(b0,{activeKey:r,unreadCount:s,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h})]})}var Za='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2080_3066)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="black"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="black"/>%0A<path d="M46.4288 17.8571H25.0002C15.138 17.8571 7.14307 25.852 7.14307 35.7143V57.1428C7.14307 67.0051 15.138 75 25.0002 75H46.4288C56.291 75 64.2859 67.0051 64.2859 57.1428V35.7143C64.2859 25.852 56.291 17.8571 46.4288 17.8571Z" fill="%234DCDC0"/>%0A<path d="M34.8607 50.7393C25.8285 60.6821 10.6142 61.6678 0.385667 53.1643C-0.0821902 52.775 -0.13219 52.0678 0.278524 51.6178L16.3535 33.925L34.8607 50.7393Z" fill="%234DCDC0"/>%0A<path d="M53.5714 25H32.1428C22.2821 25 14.2856 32.9964 14.2856 42.8571V64.2857C14.2856 74.1464 22.2821 82.1429 32.1428 82.1429H48.2535C49.2178 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7214 51.8928 85.6321C62.8392 84.675 71.4285 75.4821 71.4285 64.2857V42.8571C71.4285 32.9964 63.4321 25 53.5714 25Z" fill="%234DCDC0"/>%0A<path d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23499CDF"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="white"/>%0A<path d="M36.0715 57.1429C35.0287 57.1429 33.9822 56.875 33.0358 56.3286C32.1822 55.8357 31.8894 54.7429 32.3858 53.8893C32.8787 53.0357 33.9715 52.7429 34.8251 53.2393C35.8037 53.8036 37.043 53.6429 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3536 40.4322 35.9107 37.5072 35.7286C36.5215 35.6679 35.5715 35.8464 34.693 36.2679C33.8037 36.6929 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0429C34.5751 32.3714 36.1537 32.0679 37.7322 32.1643C42.4894 32.4607 46.3072 36.4286 46.4251 41.1964C46.4822 43.5286 45.6715 45.7786 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9357C41.8965 53.2464 41.3037 54.4357 40.368 55.375C39.2001 56.5429 37.6465 57.15 36.0751 57.15L36.0715 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2080_3066">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Ya='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7374)">%0A<path d="M237.151 26.0393V72.7214H216.65V26.0393H237.151ZM234.408 70.0464V28.7179H219.254V70.0464H234.408ZM261.495 76.3607H258.819V48.9679H247.575V75.4679H244.899V23.9821H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3607Z" fill="black"/>%0A<path d="M299.722 69.2571C302.076 68.775 304.031 68.1464 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.789 72.0357C297.435 72.4929 295.045 72.7214 292.623 72.7214H272.257V25.6964H275V69.975H292.623C294.998 69.975 297.364 69.7357 299.722 69.2536V69.2571ZM311.69 76.4321V23.6393H314.433V76.3643L311.69 76.4321Z" fill="black"/>%0A<path d="M340.556 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.329 62.2643 333.632 65.925C330.935 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.33 63.1107C334.617 59.3572 336.354 54.5179 337.542 48.5893C338.73 42.6643 339.369 36.0393 339.461 28.7143H324.992V26.0357H356.602V28.7143H342.201C342.155 35.9 341.605 42.3072 340.556 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="black"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="black"/>%0A<path d="M181.886 47.8714V57.275C179.097 58.5571 174.73 59.1964 168.791 59.1964H168.174V76.3607H158.299V59.1964H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8714H181.886ZM148.971 34.2786V24.875H177.634V47.05H167.76V34.2821H148.971V34.2786ZM194.64 76.3607H184.765V23.6393H194.64V76.3643V76.3607Z" fill="black"/>%0A<path d="M48.1549 17.8571H26.7511C16.9002 17.8571 8.91455 25.852 8.91455 35.7143V57.1428C8.91455 67.0051 16.9002 75 26.7511 75H48.1549C58.0058 75 65.9915 67.0051 65.9915 57.1428V35.7143C65.9915 25.852 58.0058 17.8571 48.1549 17.8571Z" fill="%234DCDC0"/>%0A<path d="M36.6007 50.7393C27.579 60.6821 12.3823 61.6678 2.1655 53.1643C1.69818 52.775 1.64824 52.0678 2.05848 51.6178L18.1149 33.925L36.6007 50.7393Z" fill="%234DCDC0"/>%0A<path d="M55.2897 25H33.8859C24.0365 25 16.0493 32.9964 16.0493 42.8571V64.2857C16.0493 74.1464 24.0365 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7214 53.6131 85.6321C64.5469 84.675 73.1262 75.4821 73.1262 64.2857V42.8571C73.1262 32.9964 65.139 25 55.2897 25Z" fill="%234DCDC0"/>%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23499CDF"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="white"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7374">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',y0='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65214)">%0A<path d="M57.1427 17.8571H35.7141C25.8518 17.8571 17.8569 25.852 17.8569 35.7143V57.1428C17.8569 67.0051 25.8518 75 35.7141 75H57.1427C67.0049 75 74.9998 67.0051 74.9998 57.1428V35.7143C74.9998 25.852 67.0049 17.8571 57.1427 17.8571Z" fill="%234DCDC0"/>%0A<path d="M45.575 50.7393C36.5429 60.6821 21.3286 61.6678 11.1 53.1643C10.6322 52.775 10.5822 52.0678 10.9929 51.6178L27.0679 33.925L45.575 50.7393Z" fill="%234DCDC0"/>%0A<path d="M64.2857 25H42.8571C32.9964 25 25 32.9964 25 42.8571V64.2857C25 74.1464 32.9964 82.1429 42.8571 82.1429H58.9679C59.9321 82.1429 60.7143 82.925 60.7143 83.8893C60.7143 84.9107 61.5893 85.7214 62.6071 85.6321C73.5536 84.675 82.1429 75.4821 82.1429 64.2857V42.8571C82.1429 32.9964 74.1464 25 64.2857 25Z" fill="%234DCDC0"/>%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23499CDF"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="white"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2359 35.6679 46.2859 35.8464 45.4073 36.2679C44.5145 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2002 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2175_65214">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';function Ps({appMode:e}){const{t:n}=me.useTranslation(),a=e==="manager",r=a?Ya:Za,o=y0,s=Gt("(min-width: 768px) and (max-width: 1023px)");return t.jsx("div",{className:"brand-identity__root","aria-label":n("header.biArea","BI \uC601\uC5ED"),children:s?t.jsx("img",{src:o,alt:n("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):t.jsx("img",{src:r,alt:a?n("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):n("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image"})})}function Is({activeKey:e,onChange:n,items:a,malgwiItems:r,managerItems:o,unreadCount:s,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,appMode:p,onAppModeChange:C}){const{t:g}=me.useTranslation(),f=Gt("(max-width: 767px)"),m=i.useMemo(()=>{const k=[];return l&&k.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&k.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:s,onClick:c}),u&&k.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:u}),h&&k.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:h}),d&&k.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:d}),k},[g,l,c,u,h,d,s]),b=i.useCallback(k=>({position:"fixed",top:k.bottom+8,right:Math.max(8,window.innerWidth-k.right),zIndex:1e4}),[]),v=i.useId(),{open:w,toggle:_,close:y,style:B,triggerRef:x,menuRef:N}=qn({computeStyle:b,onScroll:"ignore",onResize:"ignore"}),M=i.useMemo(()=>[{items:m.map(k=>({label:k.label,icon:k.icon,badgeCount:k.badgeCount,selected:k.selected??(!!k.key&&k.key===e),closeOnSelect:!0,onClick:()=>{k.onClick?.(),y()}}))}],[m,e,y]);return t.jsxs("aside",{className:`header${p==="manager"?" header--manager":""}`,children:[t.jsxs("div",{className:"header__bi",children:[t.jsx(Ps,{appMode:p}),t.jsxs("div",{className:"header__menu-button",ref:x,children:[t.jsx(te,{size:48,type:"dot",shape:"pill",variant:"default",icon:"menu",ariaLabel:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:_,"aria-expanded":w,"aria-controls":w?v:void 0}),w&&Tt.createPortal(t.jsx("div",{id:v,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:B,ref:N,children:t.jsx(la,{columns:M,onClose:y})}),document.body)]})]}),t.jsx(Rs,{items:a,activeKey:e??void 0,onChange:n,unreadCount:s,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,appMode:p,onAppModeChange:C}),f&&t.jsx(Ls,{items:a,activeKey:e??void 0,onChange:n,appMode:p,onAppModeChange:C})]})}const v0=Is;var x0={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",cancel:"\uCDE8\uC18C",info:"\uC124\uBA85",errorState:{message:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retry:"\uB2E4\uC2DC \uC2DC\uB3C4"},save:"\uC800\uC7A5",confirm:"\uD655\uC778",close:"\uB2EB\uAE30",back:"\uB4A4\uB85C",emptyTrainingName:"\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",remove:"\uC81C\uAC70",image:"\uC774\uBBF8\uC9C0",delete:"\uC0AD\uC81C",reset:"\uCD08\uAE30\uD654",update:"\uC5C5\uB370\uC774\uD2B8",download:"\uB2E4\uC6B4\uB85C\uB4DC",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",pause:"\uBA48\uCDA4",playPause:"\uC7AC\uC0DD / \uBA48\uCDA4",replay:"\uB2E4\uC2DC\uB4E3\uAE30",subscription:"\uC774\uC6A9\uAD8C",done:"\uC644\uB8CC",failed:"\uC2E4\uD328",continue:"\uACC4\uC18D",notification:"\uC54C\uB9BC",emptyList:"\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",menu:"\uBA54\uB274",resetSelection:"\uC120\uD0DD \uCD08\uAE30\uD654",pageSizeLabel:"{{n}}\uAC1C\uC529 \uBCF4\uAE30",totalCountPrefix:"\uCD1D ",totalCountSuffix:"\uAC1C",expand:"\uD3BC\uCE58\uAE30",collapse:"\uC811\uAE30",popup:"\uD31D\uC5C5",codeBlock:"\uCF54\uB4DC \uBE14\uB85D",totalPrefix:"\uCD1D ",copyCode:"\uCF54\uB4DC \uBCF5\uC0AC",copied:"\uBCF5\uC0AC\uB428",col:{problem:"\uBB38\uC81C"},phonetics:{place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"},vowel:{frontHigh:"\uC804\uC124 \uACE0\uBAA8\uC74C",backHighUnrounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C",backHighRounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C",frontMid:"\uC804\uC124 \uC911\uBAA8\uC74C",backMidUnrounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C",backMidRounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C",low:"\uC800\uBAA8\uC74C"},glide:{j:"j\uD65C\uC74C",w:"w\uD65C\uC74C",velar:"\u0270\uD65C\uC74C"}}},_0={rangeSelect:"\uAE30\uAC04 \uC120\uD0DD",dow:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],yearMonth:"{{year}}\uB144 {{month}}\uC6D4",prevMonth:"\uC774\uC804 \uB2EC",addOnDate:"{{date}}\uC5D0 \uBC29\uBB38 \uB4F1\uB85D",nextMonth:"\uB2E4\uC74C \uB2EC",prevWeek:"\uC774\uC804 \uC8FC",nextWeek:"\uB2E4\uC74C \uC8FC",legend:{visited:"\uBC29\uBB38",scheduled:"\uC608\uC57D",noVisit:"\uBBF8\uBC29\uBB38"},periodSelect:"\uAE30\uAC04 \uB2E8\uC704"},w0={planSuffix:"\uC774\uC6A9\uAD8C",labeledPlan:"{{label}} \uC774\uC6A9\uAD8C",couponCode:"\uC774\uC6A9\uAD8C \uCF54\uB4DC",specialLabel:"\uC624\uD508\uD2B9\uAC00",unitDay:"\uC77C",unitYear:"\uB144",remainingDay:"{{n}}\uC77C \uB0A8\uC74C",remainingHour:"{{n}}\uC2DC\uAC04 \uB0A8\uC74C",remainingMinute:"{{n}}\uBD84 \uB0A8\uC74C",remainingSecond:"{{n}}\uCD08 \uB0A8\uC74C",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},k0={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},A0={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},N0={selected:"\uC120\uD0DD\uB428"},B0={placeholder:"\uC120\uD0DD"},S0={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},D0={biArea:"BI \uC601\uC5ED",biSymbol:"BI \uC2EC\uBCFC",logoMalgwi:"\uB9D0\uADC0 \uB85C\uACE0",logoManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0",menuOpen:"\uBA54\uB274 \uC5F4\uAE30",utilMenu:"\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"},j0={mainMenu:"\uBA54\uC778 \uBA54\uB274",bottomNav:"\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158",goToManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9",goToMalgwi:"\uB9D0\uADC0\uB85C \uC774\uB3D9",modeLabelManager:"\uB9D0\uADC0 \uB9E4\uB2C8\uC800",modeLabelMalgwi:"\uB9D0\uADC0",training:"\uD6C8\uB828",settings:"\uC124\uC815",notifications:"\uC54C\uB9BC",account:"\uACC4\uC815",help:"\uB3C4\uC6C0\uB9D0",debug:"\uB514\uBC84\uADF8",coupons:"\uCFE0\uD3F0",topic:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",trainingType:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",wordPairs:"\uB300\uB9BD\uC30D \uCC3E\uAE30",wordSearch:"\uB2E8\uC5B4 \uCC3E\uAE30",wordTable:"\uB2E8\uC5B4\uD45C \uB9CC\uB4E4\uAE30",company:"\uC5C5\uCCB4\uC815\uBCF4",more:"\uB354\uBCF4\uAE30",moreMenu:"\uB354\uBCF4\uAE30 \uBA54\uB274"},E0={language:{training:{label:"\uD6C8\uB828 \uC5B8\uC5B4",sub:"\uD6C8\uB828\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uB2E8\uC5B4\uC640 \uC74C\uC131 \uC5B8\uC5B4"}},notifications:{title:"\uC54C\uB9BC"},display:{fontSize:{small:"\uC791\uAC8C",large:"\uD06C\uAC8C"}},cache:{title:"\uCE90\uC2DC \uAD00\uB9AC",confirmMessage:"\uCE90\uC2DC({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",delete:"\uC0AD\uC81C",deleting:"\uC0AD\uC81C \uC911",cleared:"\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",group:{wordData:{label:"\uB2E8\uC5B4 \uB370\uC774\uD130",sub:"\uB2E8\uC5B4 \uBAA9\uB85D \uBC0F \uBC84\uC804 \uC815\uBCF4"},pairIndex:{label:"\uB2E8\uC5B4\uC30D \uC778\uB371\uC2A4",sub:"\uCD08\uC131\xB7\uC911\uC131\xB7\uC885\uC131 \uB300\uB9BD\uC30D \uBD84\uC11D \uCE90\uC2DC"},imageCache:{label:"\uC774\uBBF8\uC9C0 \uCE90\uC2DC",sub:"\uB2E8\uC5B4\uBCC4 \uC774\uBBF8\uC9C0 \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778 \uACB0\uACFC"},trainingRecord:{label:"\uD6C8\uB828 \uAE30\uB85D",sub:"\uC624\uB298\uC758 \uD6C8\uB828 \uC9C4\uD589\uB960 \uBC0F \uD559\uC2B5 \uC77C\uC218"}}},button:{save:"\uC124\uC815 \uC800\uC7A5"},popup:{clear:{confirm:"\uCD08\uAE30\uD654"},update:{confirm:"\uC5C5\uB370\uC774\uD2B8"},cache:{title:"{{label}} \uC0AD\uC81C",message:"{{label}}({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"}},saved:"\u2713 \uC800\uC7A5\uB428",account:{title:"\uACC4\uC815",delete:{sub:"\uD0C8\uD1F4 \uD6C4 30\uC77C \uC774\uB0B4 \uC7AC\uAC00\uC785 \uC2DC \uBCF5\uAD6C \uAC00\uB2A5\uD569\uB2C8\uB2E4."}}},T0={addButton:"\uC774\uC6A9\uAD8C \uCD94\uAC00\uD558\uAE30",couponButton:"\uCFE0\uD3F0 \uC785\uB825",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",segment:{personal:"\uB9D0\uADC0",org:"\uB9D0\uADC0\uB9E4\uB2C8\uC800"},org:{title:"\uD604\uC7AC \uC774\uC6A9\uAD8C",disc:"\uAE30\uAD00\uC5D0\uC11C \uC0AC\uC6A9 \uC911\uC778 \uC774\uC6A9\uAD8C \uC815\uBCF4\uC785\uB2C8\uB2E4.",empty:"\uB4F1\uB85D\uB41C \uAE30\uAD00 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",fallbackTitle:"\uAE30\uAD00 \uC774\uC6A9\uAD8C",startDate:"\uC2DC\uC791\uC77C",endDate:"\uB9CC\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04",duration:"\uC774\uC6A9 \uAE30\uAC04"},active:{infoTitle:"\uC774\uC6A9 \uC815\uBCF4",refund:"\uD658\uBD88 \uC694\uCCAD",startDate:"\uC0AC\uC6A9 \uC2DC\uC791\uC77C",endDate:"\uC885\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04"},pending:{title:"\uBCF4\uC720",empty:"\uB300\uAE30 \uC911\uC778 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}},M0={profile:{planSuffix:"\uD50C\uB79C",plan:"\uD50C\uB79C"},basicInfo:{name:{placeholder:"\uD64D\uAE38\uB3D9"}},security:{title:"\uBCF4\uC548",password:{label:"\uBE44\uBC00\uBC88\uD638"},twoFactor:{label:"2\uB2E8\uACC4 \uC778\uC99D",sub:"\uACC4\uC815 \uBCF4\uC548\uC744 \uAC15\uD654\uD558\uC138\uC694"}}},L0={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},$0={settings:"\uC124\uC815",start:{title:"\uB2E8\uC5B4\uD6C8\uB828 \uC2DC\uC791",description:"\uC544\uB798 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD574 \uC2DC\uC791\uD558\uC138\uC694"},difficulty:{tooltip:"\uAC00\uC7A5 \uC26C\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uBB34\uC791\uC704', \uAC00\uC7A5 \uC5B4\uB824\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uCD08\uC131\uCC28\uC774' \uC785\uB2C8\uB2E4."},contrast:{label:"\uB300\uB9BD",type:"\uB300\uB9BD \uC885\uB958",count:"\uB300\uB9BD \uAC2F\uC218",diffPhonemeCount:"\uB2E4\uB978 \uC74C\uC18C\uC758 \uCD1D \uAC2F\uC218",n:"{{n}}\uAC1C"},filter:{random:"\uBB34\uC791\uC704",trainOnset:"\uCD08\uC131",trainVowel:"\uBAA8\uC74C",trainCoda:"\uC885\uC131",phonemeGroup:"\uD6C8\uB828 \uC74C\uC808",noLimit:"\uBB34\uAD00",codaExclude:"\uC81C\uC678",gradeLabel:"\uB4F1\uAE09",excludeImageInfo:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC: \uB2E8\uC5B4 \uC911\uC5D0 \uC774\uBBF8\uC9C0\uAC00 \uC788\uB294 \uB2E8\uC5B4\uB9CC \uACB0\uACFC\uC5D0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",sameStructureInfo:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC: \uC815\uB2F5\uACFC \uC624\uB2F5\uC758 \uC74C\uC808 \uAD6C\uC870(\uAE00\uC790 \uC218\xB7\uBC1B\uCE68 \uC720\uBB34 \uB4F1)\uAC00 \uAC19\uC740 \uACB0\uACFC\uB9CC \uB0A8\uACA8\uC694.",selectSection:"\uC120\uD0DD",excludeImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",sameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},noQuestions:"\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",countQuestions:"{{n}}\uBB38\uC81C",countSentences:"{{n}}\uBB38\uC7A5",comingSoon:"\uC900\uBE44 \uC911",nextQuestion:"\uB2E4\uC74C \uBB38\uC81C",noiseLevelTitle:"\uC18C\uC74C \uD06C\uAE30",noiseTypeTitle:"\uC18C\uC74C \uC885\uB958",playVolumeTitle:"\uC7AC\uC0DD \uC18C\uB9AC",playSpeedTitle:"\uC7AC\uC0DD \uC18D\uB3C4",meter:{sentence:"\uC7AC\uC0DD",noise:"\uC18C\uC74C",toggle:"\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"},viewResult:"\uACB0\uACFC\uBCF4\uAE30",problemNotice:"{{n}}\uBC88 \uBB38\uC81C \uC785\uB2C8\uB2E4.",trainingSettingsTitle:"\uD6C8\uB828 \uC124\uC815",sentencePreview:"\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30",notHeard:"\uC548 \uB4E4\uB838\uC5B4\uC694.",heardWell:"\uC798 \uB4E4\uB838\uC5B4\uC694.",confirmTitle:"\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694.",noSoundWaveform:"\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",noise:{level:{none:"\uC5C6\uC74C",weak:"\uC57D\uD568",medium:"\uBCF4\uD1B5",strong:"\uAC15\uD568",veryStrong:"\uB9E4\uC6B0 \uAC15\uD568"},type:{none:"\uC5C6\uC74C",default:"\uAE30\uBCF8",street:"\uAE38\uAC70\uB9AC",buzz:"\uC640\uAE00\uC640\uAE00",restaurant:"\uC2DD\uB2F9"}},listenTitle:"\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694.",listenButton:"\uBB38\uC7A5 \uB4E3\uAE30",playSound:"\uC18C\uB9AC \uB4E3\uAE30",playAll:"\uBAA8\uB450 \uB4E3\uAE30",stop:"\uC815\uC9C0",preview:"\uBBF8\uB9AC \uB4E3\uAE30",next:"\uB2E4\uC74C",completed:"\uD6C8\uB828 \uC644\uB8CC",selected:"\uC120\uD0DD\uB428",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD",fontSizeMin:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.",fontSizeMax:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.",fontSizeDecrease:"\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C",fontSizeIncrease:"\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00",toggleBackground:"\uBC30\uACBD \uC804\uD658",cardInstructions:"\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694.",noCards:"\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",audioFetchError:"\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",selectConfirm:"\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694.",orderListDefault:"\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694.",result:{eyebrow:"\uD6C8\uB828 \uC644\uB8CC",title:"\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.",scoreAria:"{{correct}} / {{total}} \uBB38\uD56D",elapsed:"\uC18C\uC694 \uC2DC\uAC04",summary:"{{correct}}\uAC1C\uC758 \uBB38\uD56D\uC744 \uC798 \uB4E4\uC5C8\uC2B5\uB2C8\uB2E4.",tableAriaLabel:"\uBB38\uD56D\uBCC4 \uD310\uC815",colJudge:"\uD310\uC815",colAnswerSelected:"\uC815\uB2F5 \xB7 \uC120\uD0DD",colAnswer:"\uC815\uB2F5",colSelected:"\uC120\uD0DD",heardWell:"\uC798 \uB4E4\uC5C8\uC5B4\uC694",notHeard:"\uBABB \uB4E4\uC5C8\uC5B4\uC694",notJudged:"\uBBF8\uD310\uC815",replay:"\uB2E4\uC2DC\uD558\uAE30",done:"\uC644\uB8CC",viewResult:"\uACB0\uACFC \uD655\uC778"},up:"\uC704\uB85C",down:"\uC544\uB798\uB85C",prev:"\uC774\uC804",listenLabel:"\uBB38\uC7A5 \uB4E3\uAE30",sourcePlay:"\uC18C\uC2A4 {{n}} \uC7AC\uC0DD",listen:"\uB4E3\uAE30"},R0={totalCount:"\uAC1C\uC758 \uD6C8\uB828 \uBB36\uC74C",renameGroup:"\uADF8\uB8F9 \uC774\uB984 \uBC14\uAFB8\uAE30",itemCount:"\uD6C8\uB828 \uAC1C\uC218",menu:{edit:"\uD6C8\uB828 \uBB36\uC74C \uC218\uC815",rename:"\uC774\uB984 \uBC14\uAFB8\uAE30",move:"\uADF8\uB8F9 \uC774\uB3D9",duplicate:"\uD6C8\uB828 \uBB36\uC74C \uBCF5\uC0AC",publish:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30"},sort:{customers:"\uD6C8\uB828 \uACE0\uAC1D"},copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",removeLink:"\uB9C1\uD06C \uC81C\uAC70",linkRemoved:"\uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",linkSaveFirst:"\uBA3C\uC800 \uD6C8\uB828 \uBB36\uC74C\uC744 \uC800\uC7A5\uD574\uC8FC\uC138\uC694.",linkSaveFirstHint:"\uC800\uC7A5\uB41C \uD6C8\uB828 \uBB36\uC74C\uC5D0\uC11C\uB9CC \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkCopySelect:"\uBCF5\uC0AC\uAC00 \uB9C9\uD600 \uB9C1\uD06C\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4. Ctrl/\u2318+C\uB85C \uBCF5\uC0AC\uD558\uC138\uC694.",nameRequired:"\uD6C8\uB828 \uBB36\uC74C \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.",itemRequired:"\uD6C8\uB828\uC744 1\uAC1C \uC774\uC0C1 \uB2F4\uC544\uC8FC\uC138\uC694.",randomAdd:"\uBB34\uC791\uC704 \uCD94\uAC00"},P0={totalCount:"\uBA85\uC758 \uACE0\uAC1D",loadError:"\uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",basicInfo:{editTooltip:"\uC218\uC815\uD558\uAE30"},member:{placeholder:"\uC774\uBA54\uC77C \uB610\uB294 \uC804\uD654",link:"\uC5F0\uACB0",linking:"\uC5F0\uACB0 \uC911\u2026"},device:{title:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30",addTooltip:"\uC0C8\uB85C \uC0DD\uC131",addButton:"\uAE30\uAE30 \uCD94\uAC00",listTooltip:"\uBAA9\uB85D \uBCF4\uAE30",listTitle:"\uCE21 \uAE30\uAE30 \uBAA9\uB85D",historyEmpty:"\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",wearing:"\uCE21 \uCC29\uC6A9\uC911",notRegistered:"\uBBF8\uB4F1\uB85D",unit:"\uAC1C",wearingNow:"\uCC29\uC6A9",wear:"\uCC29\uC6A9",unwear:"\uCC29\uC6A9 \uD574\uC81C",wornSince:"{{date}}\uBD80\uD130",release:"\uD574\uC81C",historyTitle:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30 \uC774\uB825"},schedule:{title:"\uBC29\uBB38 \uC608\uC815",addTooltip:"\uC608\uC815 \uB4F1\uB85D",listTooltip:"\uC804\uCCB4 \uBCF4\uAE30",empty:"\uC608\uC815\uB41C \uBC29\uBB38\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",registerTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC608\uC815 \uB4F1\uB85D",memoPlaceholder:"\uBC29\uBB38 \uC608\uC815 \uAD00\uB828 \uBA54\uBAA8\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694."},visitHistory:{title:"\uBC29\uBB38 \uC774\uB825",addTooltip:"\uC2E0\uADDC \uB4F1\uB85D",empty:"\uC544\uC9C1 \uBC29\uBB38 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",popupTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC774\uB825",registerTitle:" \uACE0\uAC1D\uB2D8 \uC2E0\uADDC \uBC29\uBB38 \uB4F1\uB85D"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uC0C1\uD669",active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",copy:"\uB9C1\uD06C \uBCF5\uC0AC",copied:"\uB9C1\uD06C\uAC00 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},moreItems:"\uB354 \uC788\uC74C",viewAll:"\uC804\uCCB4 \uBCF4\uAE30",visits:{title:"\uBC29\uBB38"},trainingRecord:{title:"\uACE0\uAC1D \uD6C8\uB828 \uAE30\uB85D"},status:{trainingSubtitle:"\uD6C8\uB828 \uD604\uD669"},detail:{session:{completedFmt:"\uC644\uB8CC {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:"\uC758 \uBC29\uBB38"}},I0={plan:{recommendedFor:"\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.",features:"\uD575\uC2EC \uAE30\uB2A5",freePrice:"\uBB34\uB8CC",contact:"\uBB38\uC758\uD558\uAE30",tierFallback:"\uC774\uC6A9\uAD8C",openPromo:"\uC624\uD508 \uD2B9\uAC00"},products:{mgrEnterprise:{tier:{price:"\uBB38\uC758"}}}},F0={title:"\uCFE0\uD3F0",subtitle:"\uCFE0\uD3F0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uAC70\uB098 \uBCF4\uC720 \uCFE0\uD3F0\uC744 \uD655\uC778\uD558\uC138\uC694.",input:{label:"\uCFE0\uD3F0 \uCF54\uB4DC",placeholder:"\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"},applyButton:"\uC801\uC6A9",error:{invalid:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uCFE0\uD3F0 \uCF54\uB4DC\uC785\uB2C8\uB2E4.",alreadyUsed:"\uC774\uBBF8 \uC0AC\uC6A9\uB41C \uCFE0\uD3F0\uC785\uB2C8\uB2E4."},success:{applied:'"{{name}}" \uCFE0\uD3F0\uC774 \uC801\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.'},section:{owned:"\uBCF4\uC720 \uCFE0\uD3F0"},status:{used:"\uC0AC\uC6A9 \uC644\uB8CC",available:"\uC0AC\uC6A9 \uAC00\uB2A5"}},O0={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},H0={subtitle:"\uC5C5\uCCB4 \uBC0F \uBC95\uC778 \uC815\uBCF4\uB97C \uAD00\uB9AC\uD558\uC138\uC694.",editButton:"\uC815\uBCF4 \uC218\uC815",basicInfo:{title:"\uAE30\uBCF8 \uC815\uBCF4"},contactInfo:{title:"\uC5F0\uB77D\uCC98 \uC815\uBCF4"}},z0={title:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",subtitle:"\uC6D0\uD558\uB294 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD558\uC138\uC694.",listenInNoise:{title:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},shortStory:{title:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uC774\uD574\uD569\uB2C8\uB2E4."},longStory:{title:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uC9D1\uC911\uD574\uC11C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uD30C\uC545\uD569\uB2C8\uB2E4."},orderingSentence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uB4E4\uC740 \uBB38\uC7A5\uB4E4\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD569\uB2C8\uB2E4."},SAME_SOUND_PICK:{label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},SAME_OR_DIFF:{label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",sub:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},HEAR_AND_PICK_SAME:{label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},HEAR_AND_PICK_INCLUDED:{label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},STARTS_WITH_SAME_SOUND:{label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."},LISTEN_AND_REMEMBER_ORDER:{label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",sub:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."},MERGE_2_SYLLABLES:{label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_SYLLABLES:{label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_2_PHONEMES:{label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_PHONEMES:{label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_PART_FROM_COMPOUND:{label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84 \uD0C8\uB77D",sub:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",sub:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",sub:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"},CHANGE_1_SYLL_IN_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_SYLL_IN_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_1SYLL:{label:"1\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_2SYLL:{label:"2\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}},V0={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},W0={colName:"\uB2E8\uC5B4\uD45C \uC774\uB984",open:"\uC5F4\uAE30",countSuffix:"\uAC1C\uC758 \uB2E8\uC5B4\uD45C",tab:{cards:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",tables:"\uB2E8\uC5B4\uD45C"},cardsEmpty:"\uC544\uC9C1 \uB9CC\uB4E0 \uB2E8\uC5B4\uD45C \uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",addCard:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC \uCD94\uAC00",menu:{publishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30",unpublishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0\uC11C \uB0B4\uB9AC\uAE30"},newBadge:"\uC0C8\uB85C \uB9CC\uB4E0 \uD45C"},q0={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},U0={defaultName:"\uB2E8\uC5B4 \uD45C",title:"\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30",subtitle:"\uCE78\uC744 \uC124\uC815\uD558\uACE0 \uB2E8\uC5B4\uB97C \uCD94\uAC00\uD558\uC5EC \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4.",filterTitle:"\uD45C \uC124\uC815",filter:{composition:"\uAD6C\uC131",image:"\uC774\uBBF8\uC9C0",word:"\uB2E8\uC5B4",standardPron:"\uD45C\uC900 \uBC1C\uC74C",colloquialPron:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",paperOrientation:"\uC6A9\uC9C0 \uBC29\uD5A5",landscape:"\uAC00\uB85C",portrait:"\uC138\uB85C",columns:"\uCE78 \uC218",column:"{{count}}\uCE78",itemsPerPageWord:"\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218",itemsPerPagePair:"\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218",itemsPerPageOption:"{{count}}\uAC1C",pageIndicator:"{{current}} / {{total}}",pageNumber:"\uD398\uC774\uC9C0 \uBC88\uD638",pageNumberLeft:"\uC67C\uCABD",pageNumberCenter:"\uC911\uC559",pageNumberRight:"\uC624\uB978\uCABD",border:"\uC678\uACFD\uC120",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"\uC0AD\uC81C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",button:"\uCC44\uC810\uD558\uAE30",pickTitle:"\uB204\uAD6C\uB97C \uCC44\uC810\uD560\uAE4C\uC694?",pickSubtitle:"\u2018{{name}}\u2019 \uD45C\uB85C \uD6C8\uB828\uD55C \uACE0\uAC1D\uC744 \uACE0\uB974\uC138\uC694.",pickSearch:"\uC774\uB984 \uB610\uB294 \uC804\uD654\uBC88\uD638\uB85C \uCC3E\uAE30",pickEmpty:"\uB4F1\uB85D\uB41C \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickNoMatch:"\uCC3E\uB294 \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickAgain:"\uACE0\uAC1D \uB2E4\uC2DC \uACE0\uB974\uAE30",scoringFor:"{{name}} \uB2D8 \uCC44\uC810 \uC911",none:"\uCE78\uC744 \uB20C\uB7EC \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB9E4\uAE30\uC138\uC694.",tally:"{{marked}}\uCE78 \uCC44\uC810 \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 \uC815\uB2F5\uB960 {{rate}}%",save:"\uCC44\uC810 \uC800\uC7A5",saved:"{{name}} \uB2D8\uC758 \uCC44\uC810 {{count}}\uCE78\uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.",reviewTitle:"\uBCF5\uC2B5\uD45C\uB97C \uB9CC\uB4E4\uAE4C\uC694?",reviewMessage:"{{name}} \uB2D8\uC774 \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC73C\uB85C \uC0C8 \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uB9DE\uD78C \uCE78\uC740 \uBE60\uC9D1\uB2C8\uB2E4.",reviewConfirm:"\uBCF5\uC2B5\uD45C \uB9CC\uB4E4\uAE30",reviewDescription:"\u2018{{name}}\u2019 \uCC44\uC810\uC5D0\uC11C \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC744 \uBAA8\uC740 \uD45C\uC785\uB2C8\uB2E4.",reviewCreated:"\u2018{{name}}\u2019\uC744(\uB97C) \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 {{count}}\uCE78.",discardTitle:"\uB9E4\uAE34 \uCC44\uC810\uC744 \uBC84\uB9B4\uAE4C\uC694?",discardMessage:"{{count}}\uCE78\uC744 \uB9E4\uACBC\uC9C0\uB9CC \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB098\uAC00\uBA74 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",discardConfirm:"\uBC84\uB9AC\uACE0 \uB098\uAC00\uAE30"}},G0={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB2E8\uC5B4\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},filterTitle:"\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815",filter:{positionAny:"\uBB34\uAD00",positionHead:"\uC5B4\uB450",positionMid:"\uC5B4\uC911",positionTail:"\uC5B4\uB9D0",difficulty:"\uB4F1\uAE09",grade:"{{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable:"{{n}}\uC74C\uC808",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",pos:{noun:"\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)",verb:"\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)",modifier:"\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)"},wordType:"\uC720\uD615",type:{native:"\uACE0\uC720\uC5B4",sino:"\uD55C\uC790\uC5B4",foreign:"\uC678\uB798\uC5B4",mixed:"\uD63C\uC885\uC5B4"},exclude:"\uC81C\uC678",excludeNoImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"},searchButton:"\uAC80\uC0C9\uD558\uAE30",resultUnit:"\uB2E8\uC5B4",remaining:"{{count}}\uAC1C \uB0A8\uC74C",resultDisc:"\uC6D0\uD558\uB294 {{unit}} \uC120\uD0DD\uD558\uC138\uC694. {{max}}\uAC1C\uAE4C\uC9C0 \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ({{selected}}/{{max}})",resultTitlePrefix:"\uCD1D ",resultTitleSuffix:"\uAC1C\uC758 {{unit}} \uAC80\uC0C9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",emptyResult:"\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",groupCount:"{{count}}\uAC1C",sort:{aria:"\uC815\uB82C",match:"\uC2DC\uC791 \uC6B0\uC120",ganada:"\uAC00\uB098\uB2E4\uC21C \u2191",ganadaDesc:"\uAC00\uB098\uB2E4\uC21C \u2193",syllable:"\uC74C\uC808 \uC218 \u2191",syllableDesc:"\uC74C\uC808 \uC218 \u2193",grade:"\uB4F1\uAE09\uC21C \u2191",gradeDesc:"\uB4F1\uAE09\uC21C \u2193"},pageSize:"{{count}}\uAC1C\uC529 \uBCF4\uAE30",pageSizeAria:"\uD398\uC774\uC9C0 \uD06C\uAE30",popup:{title:"{{n}}\uBC88 \uCE78\uC5D0 \uB123\uC744 \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},K0={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},Z0={title:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uACE0 \uB4E3\uAE30 \uD6C8\uB828\uC744 \uC2DC\uC791\uD558\uC138\uC694.",noiseTitle:"\uC18C\uC74C \uD558 \uBB38\uC7A5\uB4E3\uAE30",shortStoryTitle:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",FOOD:"\uC74C\uC2DD",HLTH:"\uAC74\uAC15",WETH:"\uB0A0\uC528",PRSN:"\uC778\uBB3C",KRCT:"\uD55C\uAD6D\uBB38\uD654",STRY:"\uC774\uC57C\uAE30",LOCA:"\uC9C0\uC5ED",SOAR:"\uC0AC\uD68C\uC640 \uC608\uC220",NTSC:"\uC790\uC5F0\uACFC \uACFC\uD559",SPRT:"\uC2A4\uD3EC\uCE20",sub:{TRKRFD:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD",MDKRFD:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD",WRLDFD:"\uC138\uACC4\uC758 \uC74C\uC2DD",MTRFRT:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C",GEFDKL:"\uC74C\uC2DD \uC0C1\uC2DD",HTETHB:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00",DISILL:"\uBCD1\uACFC \uC9C8\uD658",EXCISE:"\uC6B4\uB3D9",GEHTKL:"\uAC74\uAC15\uC0C1\uC2DD",GESSKL:"\uACC4\uC808\uC0C1\uC2DD",SNWRAN:"\uB208\uACFC \uBE44",WTHFCT:"\uC77C\uAE30\uC608\uBCF4",GEWTKL:"\uB0A0\uC528\uC0C1\uC2DD",JODYPS:"\uC870\uC120\uC2DC\uB300",MDKRPS:"\uD55C\uAD6D \uADFC\uD604\uB300",THKDPS:"\uC0BC\uAD6D\uC2DC\uB300",WRLART:"\uC138\uACC4\uC758 \uC608\uC220\uAC00",WRLPSN:"\uC138\uACC4\uC758 \uC778\uBB3C",KRLANG:"\uC6B0\uB9AC\uB9D0",TRPLCT:"\uC804\uD1B5\uB180\uC774",HERITG:"\uBB38\uD654\uC7AC",EVTFES:"\uD589\uC0AC\uC640 \uCD95\uC81C",GECTKL:"\uC0C1\uC2DD",FRYTAL:"\uB3D9\uD654",AMZING:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30",DAYSTR:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30",KRLDMK:"\uD55C\uAD6D\uC758 \uBA85\uC18C",SELNMK:"\uC11C\uC6B8\uC758 \uBA85\uC18C",WRDTRB:"\uC138\uACC4\uC5EC\uD589",NAVIGT:"\uAE38 \uCC3E\uAE30",KRSOCI:"\uD55C\uAD6D",ECONEW:"\uACBD\uC81C\uC640 \uB274\uC2A4",GENART:"\uC608\uC220",GELFKL:"\uC0DD\uD65C \uC0C1\uC2DD",ANIMAL:"\uB3D9\uBB3C",PLANTS:"\uC2DD\uBB3C",ETHPLT:"\uC9C0\uAD6C",TOLELC:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488",GESCKL:"\uACFC\uD559\uC0C1\uC2DD",INVDSP:"\uAC1C\uC778\uACBD\uAE30",MARART:"\uACA9\uD22C\uAE30",TEAMSP:"\uB2E8\uCCB4\uACBD\uAE30",FOOTBL:"\uCD95\uAD6C",GESPKL:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}},Y0={maxUses:"\uCD5C\uB300 \uC0AC\uC6A9 \uD69F\uC218 (\uBE44\uC6CC\uB450\uBA74 \uBB34\uC81C\uD55C)",redirect:"\uC774\uB3D9\uD560 \uD398\uC774\uC9C0 URL (\uBE44\uC6CC\uB450\uBA74 \uC571 \uBA54\uC778)",creating:"\uC0DD\uC131 \uC911\u2026",create:"\uB9C1\uD06C \uC0DD\uC131",created:"\u2713 \uB9C1\uD06C\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copied:"\uBCF5\uC0AC\uB428!",copy:"\uBCF5\uC0AC",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",empty:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",uses:"{{count}}\uD68C \uC0AC\uC6A9",expiresAt:"\uB9CC\uB8CC: {{date}}",createdAt:"\uC0DD\uC131: {{date}}",confirmDelete:"\uC0AD\uC81C\uD560\uAE4C\uC694?",deactivate:"\uBE44\uD65C\uC131\uD654",delete:"\uC0AD\uC81C",status:{active:"\uC720\uD6A8",expired:"\uB9CC\uB8CC",inactive:"\uBE44\uD65C\uC131"}},X0={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},J0={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},Q0={direction:{left:"\uC88C",right:"\uC6B0",label:"\uBC29\uD5A5"},wornDate:"\uCC29\uC6A9\uC77C",deviceType:"\uC885\uB958",brand:"\uBE0C\uB79C\uB4DC",fitType:"\uCC29\uC6A9\uD615\uD0DC",productName:"\uC81C\uD488\uBA85",validationError:{brandAndProduct:"\uBE0C\uB79C\uB4DC\uC640 \uC81C\uD488\uBA85\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."},addNew:"\uC0C8 \uAE30\uAE30 \uCD94\uAC00",selectFromList:"\uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD",removeDevice:"\uCC29\uC6A9 \uD574\uC81C"},e2={stat:{totalCustomers:"\uCD1D \uACE0\uAC1D",monthlyVisits:"\uC774\uB2EC \uCD1D \uBC29\uBB38"},chart:{visitDetail:"\uC0C1\uC138 \uBC29\uBB38 \uD604\uD669",trainingDetail:"\uC0C1\uC138 \uD6C8\uB828 \uD604\uD669",weekly:"\uC8FC\uBCC4",daily:"\uC77C\uBCC4",periodMonth:"\uC6D4",periodWeek:"\uC8FC",weeklyPrefix:"\uC8FC\uAC04",monthlyPrefix:"\uC6D4\uAC04",visit:"\uBC29\uBB38",reservation:"\uC608\uC57D",trainingDone:"\uD6C8\uB828 \uC644\uB8CC",trainingInProgress:"\uD6C8\uB828 \uC911",weekRange:"{{start}}~{{end}}",week:"{{n}}\uC8FC"},subscriptionStatus:{active:"{{pct}}% \uD65C\uC131",expired:"{{pct}}% \uB9CC\uB8CC",unused:"{{pct}}% \uBBF8\uC0AC\uC6A9"}},t2={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},n2={sentenceTyping:{roundCount:"{{rounds}}\uBB38\uC81C \xB7 \uBB38\uC81C\uB2F9 {{timeLimit}}\uCD08"},wordDefense:{me:"\uB098"},dictation:{title:"\uBC1B\uC544\uC4F0\uAE30",desc:"\uBB38\uC7A5\uC744 \uB4E3\uACE0 \uC815\uD655\uD788 \uBC1B\uC544\uC801\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC131 \uC7AC\uC0DD, \uC785\uB825 \uD544\uB4DC, \uC815\uB2F5 \uBE44\uAD50"},result:{heading:"{{number}}\uB2E8\uACC4 \uD574\uB2F5",retry:"\uB2E4\uC2DC \uD480\uAE30"},common:{accuracy:"{{pct}}% \uC815\uD655\uB3C4"},soundMatch:{title:"\uC18C\uB9AC \uB9E4\uCE6D",desc:"\uAC19\uC740 \uC18C\uB9AC\uB97C \uAC00\uC9C4 \uB2E8\uC5B4 \uB610\uB294 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB9E4\uCE6D\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uD50C\uB808\uC774 \uBC84\uD2BC, \uD0C0\uC774\uBA38, \uC810\uC218 \uC9D1\uACC4"},orderSequence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uD769\uC5B4\uC9C4 \uBB38\uC7A5 \uC870\uAC01\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uBB38\uC7A5 \uC138\uD2B8, \uC21C\uC11C \uD655\uC778 \uC778\uD130\uD398\uC774\uC2A4"},speedListen:{title:"\uC18D\uB3C4 \uB4E3\uAE30",desc:"\uC2DC\uAC04 \uC81C\uD55C \uB0B4\uC5D0 \uBB38\uC7A5\uC758 \uB2E8\uC5B4 \uC218\uB97C \uB9DE\uCD94\uB294 \uB3C4\uC804\uD615 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC81C\uD55C\uC2DC\uAC04, \uC810\uC218\uD310"},noiseChallenge:{title:"\uC18C\uC74C \uCC4C\uB9B0\uC9C0",desc:"\uBC30\uACBD \uC18C\uC74C \uC18D\uC5D0\uC11C \uBB38\uC7A5\uC744 \uBD84\uBCC4\uD558\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB2E4\uC591\uD55C \uC18C\uC74C \uB808\uBCA8, \uC810\uC218 \uC9D1\uACC4"},fastListen:{title:"\uBE60\uB978 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB4E4\uB824\uC8FC\uACE0 \uD575\uC2EC \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB09C\uC774\uB3C4\uBCC4 \uC18D\uB3C4, \uD0C0\uC774\uBA38"},shadowing:{title:"\uC250\uB3C4\uC789",desc:"\uBB38\uC7A5\uC744 \uB530\uB77C \uB9D0\uD558\uBA70 \uBC1C\uC74C\uACFC \uC5B5\uC591\uC744 \uC5F0\uC2B5\uD558\uB294 \uBAA8\uB4DC\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC7AC\uC0DD, \uB179\uC74C, \uBE44\uAD50 \uD53C\uB4DC\uBC31"},phonemeHunt:{title:"\uC74C\uC6B4 \uCC3E\uAE30",desc:"\uD2B9\uC815 \uC74C\uC6B4(\uBC1C\uC74C)\uC744 \uD3EC\uD568\uD55C \uB2E8\uC5B4\uB97C \uCC3E\uC544\uB0B4\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC6B4 \uD544\uD130, \uD78C\uD2B8 \uAE30\uB2A5"}},a2={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
828
828
  \uC2E0\uB8B0\uB97C \uC313\uACE0
829
829
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},r2={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},o2={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},s2={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},i2={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},l2={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},c2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},u2={ariaLabel:"\uC120\uD0DD \uD0ED"},d2={ariaLabel:"\uD0ED"},p2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},h2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},m2={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},C2={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},f2={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},g2={manage:{unit:"\uAC74"}},b2={cancelLabel:"\uCDE8\uC18C"},y2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},v2={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},x2={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},_2={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},w2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},k2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},A2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},N2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},B2={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},S2={common:x0,calendar:_0,passCard:w0,searchField:k0,rating:A0,colorPicker:N0,dropdown:B0,accordion:S0,header:D0,nav:j0,settings:E0,usage:T0,account:M0,help:L0,training:$0,trainingSettings:R0,customers:P0,payment:I0,coupons:F0,visits:O0,company:H0,trainingType:z0,myWordTraining:V0,myWordTable:W0,keyWords:q0,wordTable:U0,wordSearch:G0,wordPrint:K0,topic:Z0,accessLinkManager:Y0,login:X0,trainingPlanRun:J0,device:Q0,manager:e2,wordPairs:t2,game:n2,footer:a2,landing:r2,date:o2,trainingSetPage:s2,wordTrainingPreview:i2,wordData:l2,textField:c2,segmentedControl:u2,tabs:d2,fileUpload:p2,avatar:h2,myHomework:m2,trainingStatus:C2,store:f2,homework:g2,inquiry:b2,progress:y2,trainingMiss:v2,table:x2,wordScore:_2,topBanner:w2,datePicker:k2,report:A2,tooltip:N2,phonemeProfile:B2},D2={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}}},j2={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit"},E2={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},T2={clearAriaLabel:"Clear search"},M2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},L2={selected:"selected"},$2={placeholder:"Select"},R2={collapse:"Collapse",expand:"Expand"},P2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu"},I2={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu"},F2={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},O2={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},H2={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password"},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},z2={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},V2={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",diffPhonemeCount:"Total differing phonemes",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions:"{{n}} questions",countSentences:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseLevelTitle:"Noise Level",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",stop:"Stop",preview:"Preview",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen"},W2={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},q2={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"}},U2={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},G2={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},K2={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},Z2={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},Y2={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},X2={comingSoon:"Word training is coming soon."},J2={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"}},Q2={title:"Key Words",empty:"No key words available."},eC={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap a cell to mark \u25CB \xB7 \u25B3 \xB7 \u2715.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"}},tC={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},nC={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},aC={title:"By Topic",subtitle:"Select a topic to start listening training",noiseTitle:"Sentence Listening in Noise",shortStoryTitle:"Short Story Listening",FOOD:"Food",HLTH:"Health",WETH:"Weather",PRSN:"People",KRCT:"Korean Culture",STRY:"Stories",LOCA:"Locations",SOAR:"Society & Arts",NTSC:"Nature & Science",SPRT:"Sports",sub:{TRKRFD:"Traditional Korean Food",MDKRFD:"Modern Korean Food",WRLDFD:"World Cuisine",MTRFRT:"Ingredients & Fruits",GEFDKL:"Food Facts",HTETHB:"Healthy Eating",DISILL:"Diseases",EXCISE:"Exercise",GEHTKL:"Health Facts",GESSKL:"Seasons",SNWRAN:"Snow & Rain",WTHFCT:"Weather Forecast",GEWTKL:"Weather Facts",JODYPS:"Joseon Dynasty",MDKRPS:"Modern Korea",THKDPS:"Three Kingdoms",WRLART:"World Artists",WRLPSN:"World Figures",KRLANG:"Korean Language",TRPLCT:"Traditional Games",HERITG:"Heritage",EVTFES:"Events & Festivals",GECTKL:"General Knowledge",FRYTAL:"Fairy Tales",AMZING:"Amazing Stories",DAYSTR:"Everyday Stories",KRLDMK:"Korean Landmarks",SELNMK:"Seoul Landmarks",WRDTRB:"World Travel",NAVIGT:"Navigation",KRSOCI:"Korea",ECONEW:"Economy & News",GENART:"Arts",GELFKL:"Life Tips",ANIMAL:"Animals",PLANTS:"Plants",ETHPLT:"Earth",TOLELC:"Tools & Electronics",GESCKL:"Science Facts",INVDSP:"Individual Sports",MARART:"Martial Arts",TEAMSP:"Team Sports",FOOTBL:"Soccer",GESPKL:"Sports Facts"}},rC={maxUses:"Max uses (leave blank for unlimited)",redirect:"Redirect URL (leave blank for app home)",creating:"Creating\u2026",create:"Create link",created:"\u2713 Link created",copied:"Copied!",copy:"Copy",loading:"Loading\u2026",empty:"No links created yet.",uses:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},oC={passwordPlaceholder:"Enter password"},sC={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove"},iC={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},lC={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},cC={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},uC={lead:`IHAB builds trust
830
830
  through sound
@@ -965,7 +965,7 @@ ${_.badge}`:_.badge:void 0;if(B&&d(_.code))return null;if(!_.badge&&!u)return h(
965
965
  </html>`}function mr({getElements:e,paperW:n,paperH:a,fileName:r="",onPopupBlocked:o,header:s=""}){const l=i.useCallback(()=>{n4(e(),n,a,r,s)},[e,n,a,r,s]),c=i.useCallback(()=>{const u=e();if(u.length===0)return;const h=window.open("","_blank");if(!h){o?.();return}h.document.write(hr(u,n,a,!1,r,s)),h.document.close()},[e,n,a,r,o,s]),d=i.useCallback(()=>{const u=e();if(u.length===0)return;const h=hr(u,n,a,!1,r,s),p=new Blob([h],{type:"text/html;charset=utf-8"}),C=URL.createObjectURL(p),g=r&&pr(r),f=Object.assign(document.createElement("a"),{href:C,download:`${g}.html`});document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(C)},[e,n,a,r,s]);return{print:l,openNewWindow:c,downloadHtml:d}}function Ui(e){const{t:n}=me.useTranslation(),[a,r]=i.useState("landscape"),[o,s]=i.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[l,c]=i.useState("\uD45C\uC2DC"),[d,u]=i.useState(!0),[h,p]=i.useState(!0),[C,g]=i.useState(8),[f,m]=i.useState("right"),b=e.length,v=e.some(R=>R.words.length>1),w=e.some(R=>R.words.some(j=>!!j.colloquialLabel)),_=Math.min(C,Math.max(b,1)),y=i.useMemo(()=>Si(e,_),[e,_]),B=y.length>1,x=_,[N,M]=i.useState(!1);i.useEffect(()=>{let R=!1;if(!kn()){M(!1);return}return Promise.all(e.flatMap(j=>j.words.map(P=>$o(P.label,P.homonum)))).then(j=>{R||M(j.some(Boolean))}),()=>{R=!0}},[e]);const k=i.useMemo(()=>[Li(n,{hasImage:N,hasColloquial:w}),$i(n),...b>0?[Fi(n,{hasPairs:v,itemCount:b})]:[],...B?[Oi(n)]:[],Ri(n),...x>1?[Pi(n)]:[],...v?[Ii(n)]:[]],[n,N,w,b,v,B,x]),D={...Vi(n,{contentTypes:o,orientation:a,showOutline:d,cutLine:l,showDivLine:h}),...b>0?{[n(v?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${_}\uAC1C`}:{},...B?{[n("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Hi[f]}:{}},H=i.useCallback((R,j)=>{Wi(n,R,j,{setContentTypes:s,setOrientation:r,setShowOutline:u,setCutLine:c,setShowDivLine:p})||(j===n("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||j===n("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?g(parseInt(R)):j===n("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&m(zi(R)))},[n]);return{settings:{orientation:a,contentTypes:o,cutLine:l,showOutline:d,showDivLine:h,count:x},filterSections:k,filterSelected:D,handleSelect:H,pages:y,isPaginated:B,pageNumberPosition:f}}function a4({items:e,words:n,title:a,subtitle:r,emptyText:o,buttons:s,renderButtons:l,renderFooter:c,footerClassName:d,printFileName:u,showSettings:h,autoPrint:p,className:C,onClose:g,scoring:f=!1,onScoreChange:m,printHeader:b,beforeClose:v}){const{t:w}=me.useTranslation(),_=i.useMemo(()=>Array.isArray(e)?e:(Array.isArray(n)?n:[]).filter(oe=>typeof oe=="string"&&oe.length>0).map((oe,pe)=>({id:`${oe}-${pe}`,words:[{label:oe}]})),[e,n]),{settings:y,filterSections:B,filterSelected:x,handleSelect:N,pages:M,isPaginated:k,pageNumberPosition:D}=Ui(_),H=i.useMemo(()=>Bi(M.map(oe=>oe.length)),[M]),[R,j]=i.useState({}),P=i.useCallback((oe,pe)=>{j(fe=>({...fe,[pa(oe)]:ki(fe[pa(oe)]??null,pe)}))},[]),S=i.useRef(m);i.useEffect(()=>{S.current=m}),i.useEffect(()=>{S.current?.(cr(R))},[R]);const U=i.useMemo(()=>cr(R),[R]),X=i.useRef(null),{toastMessage:J,toastKey:Q,showWarning:E,clearToast:$}=Ts("warning"),L=i.useRef([]),W=i.useCallback(()=>k?L.current.filter(oe=>oe!==null):X.current?[X.current]:[],[k]),{print:O,openNewWindow:Y}=mr({getElements:W,paperW:jn[y.orientation].width,paperH:jn[y.orientation].height,fileName:u??"",header:b??"",onPopupBlocked:()=>E(w("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}),I=i.useMemo(()=>c?void 0:l?l({print:O,openNewWindow:Y}):u?[{label:w("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>Y()},{label:w("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>O()},...s??[]]:s,[c,l,u,s,w,O,Y]),q=i.useMemo(()=>c?c({print:O,openNewWindow:Y}):void 0,[c,O,Y]),K=i.useRef(!1);return i.useEffect(()=>{if(!p||K.current)return;K.current=!0;const oe=window.setTimeout(()=>O(),100);return()=>window.clearTimeout(oe)},[p,O]),t.jsxs(on,{title:a??w("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:ye("word-table-popup",C),buttons:I,footer:q,footerClassName:d,beforeClose:v,onClose:g,children:[_.length>0?t.jsxs("div",{className:"word-table-popup__body",children:[h&&t.jsx(dr,{sections:B,selected:x,onSelect:N}),k?t.jsx("div",{className:"word-table-popup__pages",children:M.map((oe,pe)=>t.jsx(En,{items:oe,orientation:y.orientation,contentTypes:y.contentTypes,cutLine:y.cutLine,showOutline:y.showOutline,showDivLine:y.showDivLine,count:y.count,contentRef:fe=>{L.current[pe]=fe},pageNumber:{current:pe+1,total:M.length},pageNumberPosition:D,scoring:f,scoreIndexOffset:H[pe],marks:U,onMarkClick:P},pe))}):t.jsx("div",{className:"word-table-popup__table",children:t.jsx(En,{items:_,orientation:y.orientation,contentTypes:y.contentTypes,cutLine:y.cutLine,showOutline:y.showOutline,showDivLine:y.showDivLine,count:y.count,contentRef:X,fitHeight:!0,scoring:f,marks:U,onMarkClick:P})})]}):t.jsx("p",{className:"word-table-popup__empty body-3",children:o??w("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),t.jsx(Bn,{message:J,position:"top",onClose:$},Q)]})}const r4=new Set(["x","triangle"]);function o4(e,n){const a=[];for(let r=0;r<e.length;r++){const o=n[String(r)];o&&r4.has(o)&&a.push(e[r])}return a}function s4(e,n){const[,a,r]=Oa(n).split("-"),o=`${a}.${r}`,s=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;let l=e.trim(),c=1;for(;;){const u=s.exec(l);if(!u)break;c=Math.max(c,(u[1]?Number(u[1]):1)+1),l=l.slice(0,u.index).trim()}const d=c>=2?`${c}\uCC28 `:"";return`${l||"\uB2E8\uC5B4\uD45C"} ${d}\uBCF5\uC2B5 ${o}`}function i4(e,n){const a={};for(const[r,o]of Object.entries(n)){if(o!=="o"&&o!=="triangle"&&o!=="x")continue;const s=Number(r),l=e[s];l&&(a[r]=l)}return a}function l4(e){return e.map(n=>n.label).join(" / ")}function c4(e,n,a){const r=Vo(a);return[e.trim(),r,n.trim()].filter(Boolean).join(" \xB7 ")}const u4=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ha(e,n){return u4().compare(e,n)}function d4(e,n){return typeof e=="number"&&typeof n=="number"?e-n:ha(e==null?"":String(e),n==null?"":String(n))}function Gi(e,n,a){return a===0?0:(e+n*.5)/a}function p4(e){const n=new Map,a=[...e].sort((o,s)=>o.scoredAt.localeCompare(s.scoredAt));for(const o of a)for(const[s,l]of Object.entries(o.marks)){const c=o.labels?.[s];if(!c)continue;const d=n.get(c)??{o:0,triangle:0,x:0,latest:l,latestAt:o.scoredAt};if(l==="o")d.o++;else if(l==="triangle")d.triangle++;else if(l==="x")d.x++;else continue;d.latest=l,d.latestAt=o.scoredAt,n.set(c,d)}const r=[];for(const[o,s]of n){const l=s.o+s.triangle+s.x;r.push({label:o,tried:l,o:s.o,triangle:s.triangle,x:s.x,rate:Gi(s.o,s.triangle,l),latest:s.latest,latestAt:s.latestAt})}return r.sort((o,s)=>o.rate-s.rate||s.tried-o.tried||ha(o.label,s.label)),r}function h4(e){const n=new Map;for(const r of e){const o=r.tableId??`name:${r.tableName}`,s=n.get(o)??{tableName:r.tableName,tableId:r.tableId,rows:[]};s.rows.push(r),n.set(o,s)}const a=[];for(const r of n.values()){const o=[...r.rows].sort((l,c)=>l.scoredAt.localeCompare(c.scoredAt)),s=o.map(l=>{const c=Object.values(l.marks),d=c.filter(h=>h==="o").length,u=c.filter(h=>h==="triangle").length;return Gi(d,u,c.filter(h=>h==="o"||h==="triangle"||h==="x").length)});a.push({tableName:r.tableName,tableId:r.tableId,rates:s,times:o.map(l=>l.scoredAt),delta:s.length>=2?s[s.length-1]-s[0]:null})}return a.sort((r,o)=>(o.times[o.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function m4(e,n=8){return e.filter(a=>a.latest!=="o").slice(0,n)}function C4(e){const n=new Map;let a=0,r=0;const o=[...e].sort((l,c)=>l.answeredAt.localeCompare(c.answeredAt));for(const l of o){if(l.isCorrect==null)continue;const c=l.itemTitle?.trim();if(!c){r++;continue}a++;const d=l.itemId?.trim()||c,u=`${l.trainingType}|${d}`,h=n.get(u)??{trainingType:l.trainingType,itemId:d,title:c,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};h.tried++,l.isCorrect||h.wrong++,h.title=c,h.latestCorrect=l.isCorrect,h.latestAt=l.answeredAt,h.lastSelected=l.selected,l.setId&&!h.setIds.includes(l.setId)&&h.setIds.unshift(l.setId),n.set(u,h)}const s=[...n.entries()].map(([l,c])=>({key:l,trainingType:c.trainingType,itemId:c.itemId,title:c.title,tried:c.tried,wrong:c.wrong,rate:c.tried===0?0:(c.tried-c.wrong)/c.tried,latestCorrect:c.latestCorrect,latestAt:c.latestAt,lastSelected:c.lastSelected,setIds:c.setIds}));return s.sort((l,c)=>l.rate-c.rate||c.tried-l.tried||ha(l.title,c.title)),{items:s,counted:a,skippedNoTitle:r}}function f4(e,n=8){return e.filter(a=>!a.latestCorrect).slice(0,n)}function g4(e){const n=new Map;for(const r of e){const o=n.get(r.trainingType)??[];o.push(r),n.set(r.trainingType,o)}const a=[...n.entries()].map(([r,o])=>({trainingType:r,items:o,pending:o.filter(s=>!s.latestCorrect).length}));return a.sort((r,o)=>o.pending-r.pending||r.trainingType.localeCompare(o.trainingType)),a}const Cr=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function b4(e){const n=new Map;let a=0;for(const s of e){if(s.latestCorrect)continue;const l=s.setIds[0];if(!l){a++;continue}const c=`${s.trainingType}|${l}`,d=n.get(c)??{setId:l,trainingType:s.trainingType,pending:0};d.pending++,n.set(c,d)}const r=(s,l)=>l.pending-s.pending||s.trainingType.localeCompare(l.trainingType)||s.setId.localeCompare(l.setId),o=[...n.values()];return{sentence:o.filter(s=>Cr.includes(s.trainingType)).sort(r),word:o.filter(s=>!Cr.includes(s.trainingType)).sort(r),noSet:a}}function y4(e,n,a=5){const r=new Set(n);if(r.size===0)return[];const o=[];for(const s of e){const l=new Set,c=[];for(const d of s.cellLabels)r.has(d)&&!l.has(d)&&(l.add(d),c.push(d));c.length!==0&&o.push({id:s.id,name:s.name,kind:s.kind,covered:c,totalCells:s.cellLabels.length})}return o.sort((s,l)=>l.covered.length-s.covered.length||s.totalCells-l.totalCells||ha(s.name,l.name)),o.slice(0,Math.max(0,a))}function v4(e,n){const a=new Set(e.flatMap(r=>r.covered));return n.filter(r=>!a.has(r))}function x4(e,n){const a=new Map;for(const o of e)for(const s of o.cells){const l=o.labelOf(s);a.has(l)||a.set(l,s)}const r=[];for(const o of n){const s=a.get(o);s!==void 0&&r.push(s)}return r}function _4(e){if(!e||e<=0)return"-";const n=Math.floor(e/60),a=e%60;return n>0?`${n}\uBD84${a>0?` ${a}\uCD08`:""}`:`${a}\uCD08`}function w4(e,n){const a=[],r=new Set;for(const o of e){const s=n(o);r.has(s)||(r.add(s),a.push({key:s,value:o,pinned:!1}))}return a}function k4(e,n){return e.map(a=>a.key===n?{...a,pinned:!a.pinned}:a)}function A4(e,n){return e.filter(a=>a.key!==n)}function N4(e,n,a){const r=e.filter(u=>u.pinned),o=new Set(r.map(u=>u.key)),s=e.length-r.length,l=[],c=new Set(o);for(const u of n){if(l.length>=s)break;const h=a(u);c.has(h)||(c.add(h),l.push({key:h,value:u,pinned:!1}))}const d=[...l];return e.map(u=>u.pinned?u:d.shift()).filter(u=>u!==void 0)}function B4(e){return e.map(n=>n.value)}function S4(e){const{category:n={},isSelected:a=!1,onClick:r}=e||{},o=n?.key?` icon-grid-menu__button--${n.key}`:"",s=i.useId();return t.jsxs("div",{className:`icon-grid-menu__button-wrapper${o}`,children:[t.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":n?.key,onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":s,disabled:a,children:t.jsx(Ie,{icon:n.icon,label:n.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),t.jsx("span",{id:s,className:"icon-grid-menu__button-label button-1",children:n.label})]})}function D4(e){const{categories:n=[],selected:a,onSelect:r,size:o="medium"}=e||{},s=a??(n&&n[0]?.key)??null,[l,c]=i.useState(s??null);i.useEffect(()=>{a!=null&&c(a)},[a]);const d=i.useRef(r),u=i.useRef(l),h=i.useRef(a!==void 0);i.useEffect(()=>{!h.current&&u.current&&typeof d.current=="function"&&d.current(u.current)},[]);const p=i.useCallback(C=>{const g=l===C?null:C;c(g),r?.(g)},[l,r]);return t.jsx("div",{className:`icon-grid-menu icon-grid-menu--${o}`,children:(n||[]).map(C=>t.jsx(S4,{category:C,isSelected:l===C.key,onClick:()=>p(C.key)},C.key))})}function j4({subs:e=[],selected:n,onSelect:a,size:r="medium"}){const o=r==="small"?32:40;return t.jsx("div",{className:`choice-chips choice-chips--${r}`,children:t.jsx("div",{className:"choice-chips__list",children:e.map(s=>t.jsx(te,{size:o,type:"bar",label:s.label,selected:n===s.key,className:"choice-chips__button",onClick:()=>a?.(s.key)},s.key))})})}function E4({onTermsClick:e,onPrivacyClick:n,contact:a}={}){const r=a?.email??"support@ihab.co.kr",o=a?.tel??"031-380-3724",{t:s}=me.useTranslation();return t.jsx("footer",{className:"site-footer",children:t.jsxs("div",{className:"safearea",children:[t.jsxs("div",{className:"site-footer__top",children:[t.jsx("div",{className:"site-footer__brand",children:t.jsx("div",{className:"site-footer__lead h3",children:s("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
966
966
  \uC2E0\uB8B0\uB97C \uC313\uACE0
967
967
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
968
- `).map((l,c,d)=>t.jsxs(i.Fragment,{children:[l,c<d.length-1&&t.jsx("br",{})]},c))})}),t.jsxs("div",{className:"site-footer__links",children:[t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.site.title","\uC0AC\uC774\uD2B8")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.malgwi","\uB9D0\uADC0")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.sns.title","SNS")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:s("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.policy.title","\uC815\uCC45")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:s("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"#",onClick:l=>{n&&(l.preventDefault(),n())},children:s("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),t.jsx("hr",{className:"site-footer__rule"}),t.jsxs("div",{className:"site-footer__bottom",children:[t.jsx("div",{className:"site-footer__brand",children:t.jsx("img",{src:Ja,alt:"IHAB",className:"site-footer__logo"})}),t.jsxs("div",{className:"site-footer__meta",children:[t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:s("footer.ceo","\uB300\uD45C")}),t.jsx("span",{className:"footer-meta caption-1",children:s("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:s("footer.address","\uC8FC\uC18C")}),t.jsx("span",{className:"footer-meta caption-1",children:s("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:s("footer.support","\uACE0\uAC1D\uC13C\uD130")}),t.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",o]})]})]})]}),t.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function T4({logo:e,logoAlt:n="",logoHref:a,links:r=[],actions:o,className:s,containerClassName:l,renderLink:c,menuLabel:d={open:"\uBA54\uB274 \uC5F4\uAE30",close:"\uBA54\uB274 \uB2EB\uAE30"}}){const[u,h]=i.useState(!1),p=l?`${l} landing-header__inner`:"landing-header__inner",C=(g,f)=>c?c(g,{onClick:f}):t.jsx("a",{href:g.href,onClick:f,"aria-current":g.current?"page":void 0,children:g.label});return t.jsxs("header",{className:s?`landing-header ${s}`:"landing-header",children:[t.jsxs("div",{className:p,children:[e!=null&&(()=>{const g=typeof e=="string"?t.jsx("img",{src:e,alt:n,className:"landing-header__logo"}):e;return a?t.jsx("a",{href:a,className:"landing-header__brand",children:g}):t.jsx("div",{className:"landing-header__brand",children:g})})(),r.length>0&&t.jsx("nav",{className:"landing-header__links",children:r.map(g=>t.jsx("span",{children:C(g)},g.href))}),t.jsxs("div",{className:"landing-header__actions",children:[o,r.length>0&&t.jsx("button",{type:"button",onClick:()=>h(g=>!g),"aria-expanded":u,"aria-controls":"landing-header-drawer","aria-label":u?d.close:d.open,className:u?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:t.jsxs("span",{className:"landing-header__burger",children:[t.jsx("span",{}),t.jsx("span",{}),t.jsx("span",{})]})})]})]}),r.length>0&&t.jsx("nav",{id:"landing-header-drawer",hidden:!u,className:"landing-header__drawer",children:t.jsx("div",{className:l??void 0,children:r.map(g=>t.jsx("span",{className:"landing-header__drawer-item",children:C(g,()=>h(!1))},g.href))})})]})}function M4({children:e,action:n,onClick:a,className:r}){const o=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return t.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:t.jsxs("div",{className:o,onClick:a,...bi(a),children:[t.jsx("div",{className:"bottom-sticky__content",children:e}),n]})})}const fr=9,L4=e=>Math.round(Math.min(fr,Math.max(0,e))/fr*100),$4=e=>e/100*fr,Ki={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},Zi=i.createContext(null);function gr(){return i.useContext(Zi)}const br=e=>`${Yh()}/${e}`,Yi=e=>Array.from({length:10},(n,a)=>br(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),ma={get defaultNoise(){return br("noise1.mp3")},get street(){return Yi("noise2")},get restaurant(){return Yi("noise3")},get buzz(){return br("noise4.mp3")}};function R4(e){const n=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return ma.defaultNoise;case"street":return ma.street[n];case"restaurant":return ma.restaurant[n];case"buzz":return ma.buzz;default:return null}}function P4({noisePlayer:e,audioRef:n,playbackStateRef:a}){const r=i.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const o=i.useRef(null),[s,l]=i.useState(null),c=i.useRef(null),d=i.useRef(null),u=i.useRef(null),h=i.useRef(0),p=i.useRef(null),C=i.useCallback(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),p.current!==null&&(clearTimeout(p.current),p.current=null)},[]),g=i.useCallback((b,v=250)=>{const w=o.current;if(!w||!w.src)return;h.current+=1,C();try{La(),r.current?.("noise",$a(w))}catch{}const _=w.paused?0:w.volume;w.paused&&(w.volume=0),w.play().catch(()=>{});const y=performance.now(),B=()=>{const x=Math.min(1,(performance.now()-y)/v);try{w.volume=Math.max(0,Math.min(1,_+(b-_)*x))}catch{}x<1?u.current=requestAnimationFrame(B):u.current=null};u.current=requestAnimationFrame(B)},[C]),f=i.useCallback((b=250,v)=>{const w=o.current;if(!w||w.paused){v?.();return}const _=++h.current;C();const y=performance.now(),B=w.volume,x=()=>{const N=Math.min(1,(performance.now()-y)/b);try{w.volume=Math.max(0,B*(1-N))}catch{}if(N<1)u.current=requestAnimationFrame(x);else{u.current=null,p.current!==null&&(clearTimeout(p.current),p.current=null);try{w.pause()}catch{}v?.()}};u.current=requestAnimationFrame(x),p.current=setTimeout(()=>{if(p.current=null,h.current===_){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{w.paused||(w.volume=0,w.pause(),v?.())}catch{}}},b+150)},[C]);i.useEffect(()=>{const b=document.createElement("audio");return b.loop=!0,b.crossOrigin="anonymous",o.current=b,()=>{C();try{b.pause(),b.src=""}catch{}o.current=null}},[C]);const m=!!e?.settings.enabled&&(e?.settings.level??0)>0;return i.useEffect(()=>{if(!m)return;let b=0;const v=setInterval(()=>{const w=o.current;if(!w||w.paused){b=0;return}const _=n.current;if(_&&!_.paused&&!_.ended||a.current==="playing"){b=0;return}b+=1,b>=2&&(b=0,f())},400);return()=>clearInterval(v)},[f,m,n,a]),i.useEffect(()=>{const b=()=>{if(!document.hidden)return;const v=o.current;if(v&&!v.paused){C();try{v.pause()}catch{}}};return document.addEventListener("visibilitychange",b),()=>document.removeEventListener("visibilitychange",b)},[C]),i.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,level:e.settings.level,type:e.settings.type}:null},[e,e?.settings.enabled,e?.settings.level,e?.settings.type]),i.useEffect(()=>{const b=e?.settings,v=o.current;if(!v)return;if(!b||!b.enabled||b.level===0){f();return}const w=Math.min(1,b.level/9);if(c.current!==b.type){const _=R4(b.type);_&&(c.current=b.type,l(_),f(150,()=>{v.src=_,v.load();const y=n.current;y&&!y.paused&&v.addEventListener("canplay",function B(){v.removeEventListener("canplay",B);const x=n.current;x&&!x.paused&&!x.ended&&g(w)})}))}else{const _=n.current,y=!!_&&!_.paused&&!_.ended;if(y&&v.paused&&v.src)g(w);else if(!v.paused)if(!y)f();else{C();const B=v.volume,x=performance.now(),N=()=>{const M=Math.min(1,(performance.now()-x)/150);try{v.volume=B+(w-B)*M}catch{}M<1?u.current=requestAnimationFrame(N):u.current=null};u.current=requestAnimationFrame(N)}}},[e?.settings,e?.settings.enabled,e?.settings.level,e?.settings.type,C,g,f,n]),i.useEffect(()=>{const b=o.current;if(b)try{b.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:o,activeNoiseUrl:s,noiseSettingsRef:d,cancelNoiseFade:C,fadeInNoise:g,fadeOutNoise:f}}function I4({ttsText:e,playbackRate:n,mainVolume:a,fillRef:r,waveProgressRef:o,setProgress:s,setPlaybackState:l,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:h,onDoneRef:p,handleEndRef:C}){const g=i.useRef(null),f=i.useRef(0),m=i.useRef(null);i.useEffect(()=>()=>{try{if(m.current&&(cancelAnimationFrame(m.current),m.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const b=(_,y=1)=>{try{const B=(_||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(_||"").length);return Math.max(700,Math.round(B*300/Math.max(.25,y)))}catch{return 1200}},v=i.useCallback(_=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!0)}catch{}return}const y=window.speechSynthesis;try{try{y.cancel()}catch{}const B=_??e,x=(Array.isArray(B)?B[0]??"":B)||"",N=new SpeechSynthesisUtterance(x);try{N.rate=Math.max(.3,Math.min(3,n))}catch{}try{N.volume=Math.max(0,Math.min(1,a))}catch{}f.current=b(x,N.rate||1),g.current=performance.now(),s(0),l("playing"),c("playMode");const M=h.current;M?.enabled&&(M?.level??0)>0&&d(M.level/9);const k=()=>{try{const D=g.current||performance.now(),H=performance.now()-D,R=f.current||1200,j=Math.min(1,H/R);s(j);try{r.current&&(r.current.style.left=`${j*100}%`),o.current&&o.current.style.setProperty("--progress",String(j))}catch{}j<1&&(m.current=requestAnimationFrame(k))}catch{}};N.onend=()=>{try{m.current&&(cancelAnimationFrame(m.current),m.current=null),s(1),l("stopped");try{C.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},N.onstart=()=>{try{m.current&&(cancelAnimationFrame(m.current),m.current=null),m.current=requestAnimationFrame(k)}catch{}};try{y.speak(N)}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}},[e,n,a,d,r,o,s,l,c,h,p,C]),w=i.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}m.current&&(cancelAnimationFrame(m.current),m.current=null),u(),g.current=null}catch{}l("stopped"),c("active"),s(0)},[u,l,c,s]);return{startTTS:v,stopTTS:w}}async function F4(e,n,a){try{const r=window.AudioContext||window.webkitAudioContext,o=new r,s=await o.decodeAudioData(e.slice(0)),l=s.numberOfChannels>0?s.getChannelData(0):null;if(!l)return null;const c=a&&a>0?Math.min(l.length,Math.floor(a*s.sampleRate)):l.length,d=Math.max(n,c),u=Math.floor(d/n)||1,h=new Array(n).fill(0).map((p,C)=>{const g=C*u,f=Math.min(g+u,d);let m=0;for(let b=g;b<f;b++){const v=Math.abs(l[b]);v>m&&(m=v)}return m});try{o.close&&o.close()}catch{}return h}catch{return null}}async function Xi(e,n,a){try{const r=await(await fetch(e)).arrayBuffer();return await F4(r,n,a)}catch(r){try{const o=Fo(r)}catch{}return null}}const Ji=4;function O4(e){const{src:n,segments:a,progress:r=0,waveProgressRef:o,noiseSrc:s,noiseLevel:l=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:h,showSoundWaveForm:p=!0}=e,C=i.useRef(null),g=i.useRef(null),[f,m]=i.useState(null),[b,v]=i.useState(!1),[w,_]=i.useState(null),[y,B]=i.useState(2),[x,N]=i.useState(0),[M,k]=i.useState(null),[D,H]=i.useState(!1),R=3,j=3,P=1,S=300,U=i.useRef(0),X=i.useCallback(async(oe,pe)=>{const fe=++U.current,ge=()=>U.current===fe;try{if(v(!1),!oe){ge()&&m(null);return}let he=pe;if(!he)try{for(let Fe=0;Fe<4&&!(C.current||g.current);Fe++)await new Promise(He=>requestAnimationFrame(He));await new Promise(Fe=>requestAnimationFrame(Fe));const V=C.current,ee=g&&g.current?g.current:V?V.closest(".audio-player__wave"):null,Ce=ee?ee.getBoundingClientRect():V?V.getBoundingClientRect():null,ie=Ce?Math.max(100,Ce.width):320,ue=Ce?Ce.height:0;ue>0&&N(ue),he=Math.max(P,Math.min(S,Math.floor((ie+j)/(R+j))));const se=he*R,ae=Math.max(0,he-1),je=ae>0?(ie-se)/ae:j;B(Math.max(0,je))}catch{he=120}const T=await Xi(oe,he);if(!ge())return;if(!T){m(null),v(!1);return}m(T),_(he),v(!0)}catch{if(!ge())return;m(null),v(!1)}},[v,m,N,B,_]);i.useEffect(()=>{const oe=a&&a[0]&&a[0].src||n||a&&a.length===1&&a[0]&&a[0].src;X(typeof oe=="string"?oe:void 0).catch(()=>{}),H(!1)},[n,a,X]),i.useEffect(()=>{let oe=!1;if(!s||!w){k(null);return}const pe=d>0?d*(c||1):void 0;return Xi(s,w,pe).then(fe=>{oe||k(fe)}).catch(()=>{oe||k(null)}),()=>{oe=!0}},[s,w,d,c]);const J=Math.max(0,Math.min(1,u)),Q=i.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),E=w||40,$=i.useMemo(()=>Array.from({length:E}).map((oe,pe)=>{const fe=f&&f[pe]!=null?f[pe]:null,ge=fe==null?null:Math.min(1,fe/Q*J),he=ge!=null&&x>0&&ge*x<=Ji,T=ge==null?.15:he?0:ge,V=E>1?pe/(E-1):0;return t.jsx("div",{className:he?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":T,"--i":pe,"--mix":V}},pe)}),[E,f,Q,J,x]),L={"--progress":String(Math.max(0,Math.min(1,r)))},W={"--bar-gap":`${y}px`},O=Math.max(0,Math.min(9,l))/9,Y=b&&(s?!!M:!0);i.useEffect(()=>{Y&&H(!0)},[Y]);const I=D?b:Y;i.useEffect(()=>{h?.(I)},[I,h]);const q=w||40,K=i.useMemo(()=>Array.from({length:q}).map((oe,pe)=>{const fe=M&&M[pe]!=null?M[pe]:null,ge=fe==null?0:Math.min(1,fe/Q*O),he=x>0&&ge*x<=Ji,T=he?0:ge,V=q>1?pe/(q-1):0;return t.jsx("div",{className:he?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":T,"--i":pe,"--mix":V}},pe)}),[q,M,Q,O,x]);return t.jsxs("div",{className:"audio-player__wave",ref:g,style:W,children:[s&&t.jsx("div",{className:`audio-player__wave-noise ${Y?"is-ready":""}`,"aria-hidden":"true",children:K}),p&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${I?"is-ready":""}`,ref:C,children:$}),t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${I?"is-ready":""}`,ref:o,style:L,children:$})]})]})}const H4={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function yr(e,n){return new Promise((a,r)=>{const o=document.createElement("audio");let s=!1;const l=()=>{try{o.src=""}catch{}},c=()=>{if(s)return;s=!0;const u=isFinite(o.duration)&&o.duration||0;l(),a(u)},d=u=>{s||(s=!0,l(),n.rejectOnError?r(new Error(u)):a(0))};o.addEventListener("loadedmetadata",c),o.addEventListener("error",()=>d("audio load failed")),setTimeout(()=>d("audio load timeout"),n.timeoutMs),o.src=e})}const z4=2e3;function Qi(e,n=z4){return new Promise(a=>{let r=!1;const o=()=>{r||(r=!0,a())};e.addEventListener("canplay",o,{once:!0}),e.addEventListener("error",o,{once:!0}),setTimeout(o,n)})}function V4({showSoundWaveForm:e,showNoiseWaveForm:n,timeoutMs:a=2500}){const r=i.useRef(!1),o=i.useRef([]),s=i.useCallback(d=>{if(r.current=d,!d||!o.current.length)return;const u=o.current;o.current=[];for(const h of u)h()},[]),l=i.useCallback(()=>{r.current=!1},[]),c=i.useCallback(()=>!e&&!n||r.current?Promise.resolve():new Promise(d=>{const u=setTimeout(d,a);o.current.push(()=>{clearTimeout(u),d()})}),[e,n,a]);return i.useEffect(()=>()=>{const d=o.current;o.current=[];for(const u of d)u()},[]),{onReadyChange:s,waitForReady:c,markNotReady:l}}function W4(){const e=i.useRef([]),n=i.useCallback(o=>(e.current.push(o),o),[]),a=i.useCallback(o=>{const s=new Set([...o].filter(Boolean));e.current=e.current.filter(l=>{if(s.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),r=i.useCallback(()=>{a([])},[a]);return i.useEffect(()=>()=>{for(const o of e.current)try{URL.revokeObjectURL(o)}catch{}e.current=[]},[]),{track:n,keepOnly:a,revokeAll:r}}function q4({offsetY:e=8}={}){const n=i.useRef(null),[a,r]=i.useState(null),o=i.useCallback(()=>r(null),[]),s=i.useCallback(()=>{try{const l=n.current?.getBoundingClientRect();if(!l)return;r({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return i.useEffect(()=>{if(a)return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[a,o]),{ref:n,rect:a,show:s,hide:o}}function U4({currentTime:e,sources:n,index:a,audioDuration:r}){const o=a||0,s=Array.isArray(n)&&n.length>0?n[o]:void 0,l=s?s.duration||r||0:r||0;if(!(l>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/l))}function G4(e,n){if(!Array.isArray(e))return null;const a=n||0;return a<e.length-1?a+1:null}function K4({ended:e,completedByEnd:n}){return!!e||!!n}function Z4(e){return e.map((n,a)=>({src:n.src,label:String(a+1),color:void 0,duration:n.duration||0}))}function Y4(e){return e.reduce((n,a)=>n+(a.duration||0),0)}function X4(e,n,a){const r=Array.isArray(e)?e:e?[e]:[],o=[];for(const s of r)if(s){if(typeof s=="object"&&s!==null&&"src"in s&&s.src){const l=s;o.push({code:l.code??null,src:l.src});continue}if(typeof s=="string"&&(s.startsWith("http")||s.includes("/"))){o.push({code:null,src:s});continue}if(typeof s=="string"||typeof s=="number"){const l=String(s),c=a(l,n);c&&o.push({code:l,resolvedPath:c})}}return o}function J4({audioRef:e,fillRef:n,waveProgressRef:a,sourcesRef:r,currentIndexRef:o}){const s=i.useRef(null),l=i.useCallback(()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null)},[]),c=i.useCallback(()=>{if(s.current!==null)return;const u=()=>{try{const h=e.current,p=U4({currentTime:h&&typeof h.currentTime=="number"?h.currentTime:0,sources:r.current,index:o.current,audioDuration:h&&h.duration?h.duration:0});try{n.current&&(n.current.style.left=`${p*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(p))}catch{}}catch{}s.current=requestAnimationFrame(u)};s.current=requestAnimationFrame(u)},[e,n,a,r,o]),d=i.useCallback(u=>{l();try{n.current&&(n.current.style.left=`${u*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(u))}catch{}},[l,n,a]);return i.useEffect(()=>l,[l]),{start:c,stop:l,settleTo:d}}function vr({btnLabel:e,soundSrc:n,bucketPath:a,onDone:r,disabled:o=!1,ttsText:s=null,className:l,showSoundWaveForm:c=!0,showNoiseWaveForm:d=!0}){const{t:u}=me.useTranslation(),h=e,p=gr(),C=i.useRef(p?.registerAnalyser);i.useEffect(()=>{C.current=p?.registerAnalyser});const g=i.useRef(null),f=i.useRef(null),m=i.useRef(null),b=W4(),v=i.useRef(null),w=i.useRef(!1),_=i.useRef(0),y=i.useRef(null),{ref:B,rect:x,show:N,hide:M}=q4();i.useEffect(()=>()=>{C.current?.("main",null),C.current?.("noise",null)},[]);const[k,D]=i.useState(!1),[H,R]=i.useState("idle"),[j,P]=i.useState("stopped"),S=i.useRef("stopped");i.useEffect(()=>{S.current=j},[j]);const[U,X]=i.useState(0),[J,Q]=i.useState("active"),[E,$]=i.useState(null),[L,W]=i.useState(null),[O,Y]=i.useState(0),[I,q]=i.useState(!1),[K,oe]=i.useState(0),pe=p?.playbackRate??1,fe=p?.mainVolume??1,[ge,he]=i.useState("idle"),[T,V]=i.useState(""),[ee]=i.useState("top"),Ce=i.useRef(null),ie=i.useRef(0),ue=i.useRef(null),{start:se,stop:ae,settleTo:je}=J4({audioRef:g,fillRef:f,waveProgressRef:ue,sourcesRef:Ce,currentIndexRef:ie}),{onReadyChange:Fe,waitForReady:He,markNotReady:$e}=V4({showSoundWaveForm:c,showNoiseWaveForm:d}),Ee=i.useRef(null),Se=i.useRef(o),ke=i.useRef(r),Pe=i.useRef(null),Ye=i.useRef(!1),[xe,Oe]=i.useState(!1),De=i.useCallback(F=>{Ye.current=F,Oe(F)},[]),We=i.useRef(null),{activeNoiseUrl:Xe,noiseSettingsRef:qe,fadeInNoise:Re,fadeOutNoise:ot}=P4({noisePlayer:p,audioRef:g,playbackStateRef:S}),{startTTS:pt,stopTTS:Ue}=I4({ttsText:s,playbackRate:pe,mainVolume:fe,fillRef:f,waveProgressRef:ue,setProgress:X,setPlaybackState:P,setStateLocal:Q,fadeInNoise:Re,fadeOutNoise:ot,noiseSettingsRef:qe,onDoneRef:ke,handleEndRef:We}),at=Array.isArray(n)?n.filter(Boolean):n?[n]:[],Be=(!at||at.length===0)&&!!s,Me=Array.isArray(E)&&E.length>0?E:Array.isArray(L)&&L.length>0?L:null,et=Math.max(Array.isArray(Me)?Me.length:0,at.length),tt=i.useCallback(async(F,Z=3,le=50)=>{for(let be=0;be<Z;be++)try{return await F.play(),!0}catch(ve){if((ve instanceof Error||typeof ve=="object"&&ve&&"name"in ve?ve.name:void 0)==="AbortError"){await new Promise(Ne=>setTimeout(Ne,le));continue}try{V(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{V(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),Ze=i.useCallback(()=>{const F=g.current;if(!F)return;const Z=()=>{P("playing"),Q("playMode"),q(!0),se();try{La(),C.current?.("main",$a(F))}catch{}const ve=qe.current;ve?.enabled&&(ve?.level??0)>0&&Re(ve.level/9)},le=()=>{K4({ended:!!F?.ended,completedByEnd:Ye.current})||(P("paused"),ae(),ot())},be=()=>{try{const ve=Ce.current,Ne=G4(ve,ie.current);if(Ne!==null){ie.current=Ne,Y(Ne),q(!0);const Le=ve?.[Ne]&&ve[Ne].src;if(Le&&F){F.src=Le,F.load(),tt(F).catch(()=>{});return}}}catch{}P("stopped"),X(1);try{if(F)try{F.currentTime=0}catch{}}catch{}ae(),q(!1),ot();try{!Se.current&&We.current&&We.current()}catch{}};return F.addEventListener("play",Z),F.addEventListener("pause",le),F.addEventListener("ended",be),()=>{try{F.removeEventListener("play",Z),F.removeEventListener("pause",le),F.removeEventListener("ended",be),ae()}catch{}}},[Re,ot,tt,qe,se,ae]);i.useEffect(()=>Ze(),[Ze]),i.useEffect(()=>{Se.current=o},[o]),i.useEffect(()=>{ke.current=r},[r]),i.useEffect(()=>{if(o||J!=="active")return;const F=y.current;if(!F)return;let Z=null;const le=requestAnimationFrame(()=>{try{const be=F.getTotalLength();if(!be)return;const ve=be*.2;F.style.strokeDasharray=`${be-ve} ${ve}`;const Ne="triFlow_"+Math.random().toString(36).slice(2);Z=document.createElement("style"),Z.textContent=`@keyframes ${Ne}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${be}}}`,document.head.appendChild(Z),F.style.animation=`${Ne} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(le),Z?.remove()}},[J,o]),i.useEffect(()=>{Ce.current=E},[E]),i.useEffect(()=>{ie.current=O},[O]),i.useEffect(()=>{const F=m.current,Z=v.current;if(!F||!Z)return;let le=null;const be=32,ve=60,Ne=()=>{try{const st=Array.from(F.querySelectorAll(":scope > .button"));let ce=0;st.forEach(Mt=>{if(Mt===Z)return;const Mn=Mt.getBoundingClientRect();ce+=Mn.width});const we=F.getBoundingClientRect().width,ze=Math.max(0,Math.floor(we-ce-8)),lt=et;if(!lt||ze<=0){Array.from(Z.children).forEach(Mt=>{try{Mt.style.width=""}catch{}});return}let ht=Math.floor(ze/lt);ht>ve&&(ht=ve),ht<be&&(ht=Math.max(be,Math.floor(ze/lt))),Array.from(Z.querySelectorAll(".button")).forEach(Mt=>{try{Mt.style.width=`${ht}px`}catch{}})}catch{}},Le=requestAnimationFrame(Ne);try{le=new ResizeObserver(()=>{requestAnimationFrame(Ne)}),le.observe(F),le.observe(Z),window.addEventListener("resize",Ne)}catch{}return()=>{try{cancelAnimationFrame(Le)}catch{}try{le&&(le.disconnect(),le=null)}catch{}try{window.removeEventListener("resize",Ne)}catch{}}},[E,L,et]),i.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),Pe.current&&(clearTimeout(Pe.current),Pe.current=null)}catch{}},[]);const rt=(F,Z)=>{$(F),oe(Z),$e(),W(Z4(F)),Ce.current=F},Ct=async(F,Z)=>{De(!1),w.current=!1,F.src=Z,F.load(),await Qi(F),await He(),D(!1),await tt(F),Q("playMode"),Y(0),q(!0)},Pt=async(F,Z=!1)=>{const le=g.current;D(!0),R("measuring_duration");try{const be=await yr(F,{timeoutMs:1e4,rejectOnError:!0});rt([{src:F,objectUrl:null,duration:be}],be),R("ready"),Z&&le&&await Ct(le,F)}finally{w.current=!1,D(!1)}},Je=async(F,Z=!1)=>{const le=g.current;D(!0),R("measuring_duration");try{const be=await Promise.all(F.map(Ne=>yr(Ne,{timeoutMs:1e4}))),ve=F.map((Ne,Le)=>({src:Ne,objectUrl:null,duration:be[Le]||0}));rt(ve,Y4(ve)),R("ready"),Z&&le&&ve.length>0&&await Ct(le,ve[0].src)}finally{w.current=!1,D(!1)}},wt=async(F=!1,Z=!0)=>{const le=g.current,be=n?Array.isArray(n)?n:[n]:[];if(!(!be||be.length===0||!be.some(Boolean))&&!w.current){w.current=!0,Z&&D(!0),R("resolving");try{const ve=X4(n,a,Do),Ne=[];let Le=0;for(const st of ve){let ce=st.src??null,we=null;if(!ce&&st.resolvedPath){try{R("getting_signed_url"),ce=await jo(st.resolvedPath)}catch{ce=null}if(!ce)try{R("downloading");const lt=await Eo(st.resolvedPath);if(lt){const ht=lt instanceof Blob?lt:new Blob([lt]);we=b.track(URL.createObjectURL(ht)),ce=we}}catch{R("error");try{V(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),Q("active")}catch{}}}if(!ce)continue;let ze=0;try{R("measuring_duration"),ze=await yr(ce,{timeoutMs:3e3})}catch{ze=0}Le+=ze||0,Ne.push({...st,src:ce,objectUrl:we,duration:ze})}if(rt(Ne,Le),Ne.length>0&&F&&le){const st=Ne[0];De(!1);try{b.keepOnly(Ne.map(ce=>ce.objectUrl))}catch{}if(R("ready"),w.current=!1,st.src&&le)try{le.src=st.src,le.load(),await Qi(le),await He(),Z&&D(!1),le&&await tt(le)}catch{Z&&D(!1)}else Z&&D(!1);Q("playMode"),Y(0),q(!0)}}finally{w.current=!1,Z&&D(!1),R(ve=>ve==="ready"?"ready":"idle")}}},Bt=async()=>{const F=g.current;if(!(!F&&!Be)){if(Be){const Z=window.speechSynthesis;if(J==="active"){const le=Ma(),be=Array.isArray(s)?s.filter(Boolean):s?[s]:[];if(le&&be.length>0){Q("load"),D(!0),R("resolving"),w.current=!0;try{const ve=await Promise.all(be.map(Ne=>Promise.resolve(le(Ne))));ve.length>1?await Je(ve,!0):await Pt(ve[0],!0)}catch{w.current=!1,D(!1),Q("active"),pt(be[0]||void 0)}return}pt(be[0]||void 0);return}if(J==="playMode"){if(F){if(F.paused){if(Ye.current){await Et();return}await tt(F),P("playing")}else F.pause(),P("paused");return}try{if(Z&&Z.paused)try{Z.resume(),P("playing")}catch{}else try{Z.pause(),P("paused")}catch{}}catch{}}return}if(J==="active"){if(o&&Array.isArray(Ce.current)&&Ce.current.length>0){const Z=Ce.current[0];try{if(Z.src&&F)try{F.src=Z.src,F.load(),F&&await tt(F)}catch{}Q("playMode"),Y(0),q(!0);return}catch{}}Q("load"),await wt(!0);return}if(J!=="load"&&(J==="playMode"||J==="active"))try{if(F&&F.paused){if(Ye.current){await Et();return}F&&await tt(F),P("playing")}else F&&(F.pause(),P("paused"))}catch(Z){(Z instanceof Error||typeof Z=="object"&&Z&&"name"in Z)&&Z.name}}},Et=async()=>{const F=g.current;if(F)try{const Z=Ce.current;if(Array.isArray(Z)&&Z.length>1){await yt(0);return}De(!1);try{F.currentTime=0}catch{}F&&await tt(F),P("playing"),Q("playMode")}catch{}},Qt=()=>{if(Be){Ue();return}const F=g.current;try{if(F){try{F.pause()}catch{}try{F.currentTime=0}catch{}}}catch{}ot(),P("stopped"),Q("active"),X(0),q(!1)},It=async(F,{sameSegment:Z=!1}={})=>{const le=++_.current,be=g.current,ve=Ce.current?.[F]?.src;try{if(De(!1),Y(F),q(!0),ie.current=F,!ve||!be||(Z||$e(),be.src=ve,be.load(),Z||await He(),le!==_.current)||(await tt(be),le!==_.current))return;P("playing"),Q("playMode")}catch{}},Vt=async()=>{const F=Ce.current,Z=ie.current||0;if(!F||Z<=0){await Et();return}await It(Z-1)},en=async()=>{const F=Ce.current,Z=ie.current||0;if(!F||Z>=F.length-1){Qt();return}await It(Z+1)},bt=()=>{if(Ye.current)return;const F=200,Z=340;De(!0);try{X(1)}catch{}je(1);try{he("hold")}catch{}try{const le=g.current,be=Be&&!!le?.src;if(!Be||be){if(le){le.pause();try{le.currentTime=0}catch{}}}else Ue();ot()}catch{}try{P("stopped")}catch{}if(q(!1),!Se.current)try{Pe.current&&(clearTimeout(Pe.current),Pe.current=null),Pe.current=setTimeout(()=>{try{he("out")}catch{}Pe.current=setTimeout(()=>{try{typeof ke.current=="function"&&ke.current(!0)}catch{}try{he("idle")}catch{}Pe.current=null},Z)},F)}catch{}};i.useEffect(()=>{We.current=bt});const cn=i.useCallback(()=>V(""),[]),yt=async F=>{(Ce.current||[])[F]&&await It(F,{sameSegment:F===ie.current})},Wt=j==="playing",un=i.useMemo(()=>{if(!L||L.length<=1)return L;const F=L[O];return F?[F]:L},[L,O]),Ge=o===!0;i.useEffect(()=>{try{const F=g.current;F&&typeof F.playbackRate=="number"&&(F.playbackRate=pe||1)}catch{}},[pe]),i.useEffect(()=>{try{const F=g.current;F&&(F.volume=Math.max(0,Math.min(1,fe)))}catch{}},[fe]);const St=ge==="hold",ft=ge==="out",qt=J==="playMode"&&!k&&!xe||St||ft,Ft=j!=="stopped"||St||ft,Ot=j==="paused",Ht=Math.max(0,Math.min(100,(U||0)*100)),re=ye("audio-player__fill",qt?"is-visible":"",Ft?"is-expanded":"",Ot?"is-paused":"",ft?"is-out":"");return t.jsxs("div",{className:`audio-player ${Ge?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof h=="string"?h:void 0,children:[t.jsxs("div",{className:`audio-player__panel ${Wt?"is-playing":""} ${k?"is-loading":""} ${J!=="default"?"is-revealed":""}`,children:[k?t.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[t.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),t.jsx("span",{className:"audio-player__loading-text",children:H4[H]})]}):null,J==="active"?t.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{M(),Bt()},"aria-label":typeof h=="string"?h:u("training.listen","\uB4E3\uAE30"),onMouseEnter:N,onMouseLeave:M,onFocus:N,onBlur:M,children:t.jsx("span",{ref:B,className:"audio-player__button-triangle-wrap",children:t.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:t.jsx("path",{ref:y,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,x&&t.jsx(an,{anchorRect:x,text:typeof h=="string"&&h?h:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),t.jsxs("div",{className:`audio-player__play ${J==="playMode"||Wt?"is-visible":""}`,children:[t.jsxs("div",{ref:m,className:"audio-player__buttons",children:[t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:Vt,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:J!=="playMode"}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Wt?"pause":"play",onClick:Bt,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Qt,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:J!=="playMode"}),et>1?t.jsx("div",{ref:v,className:"audio-player__source-buttons",children:Array.from({length:et}).map((F,Z)=>t.jsx(te,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(Z+1),onClick:()=>{try{yt(Z)}catch{}},ariaLabel:u("training.sourcePlay",{n:Z+1}),variant:"transparent-white",selected:I&&O===Z,disabled:J!=="playMode"||!(Array.isArray(E)&&E[Z]),showTooltipInfo:!0},Z))}):null,!Array.isArray(E)||E.length<=1?t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Et,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"}):null,t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:en,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:J!=="playMode"}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:bt,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"})]}),t.jsxs("div",{className:"audio-player__slider",children:[t.jsx("div",{className:re,ref:f,style:{left:`${Ht}%`},"aria-hidden":"true"}),(c||d)&&t.jsx(O4,{segments:un,progress:U,totalDuration:K,onSegmentClick:yt,waveProgressRef:ue,showSoundWaveForm:c,noiseSrc:d&&p?.settings.enabled&&(p?.settings.level??0)>0?Xe:null,noiseLevel:p?.settings.level??0,noiseSpeed:p?.settings.speed??1,mainVolume:fe,onReadyChange:Fe})]})]}),t.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&t.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[t.jsx(Ie,{icon:"triangle-alert",size:14}),u("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),t.jsx(Bn,{message:T,position:ee,onClose:cn})]})}function Ca(e){const{t:n}=me.useTranslation(),{text:a,label:r,anchorRect:o=null,onClose:s,closeOnOutsideClick:l=!0,isMobilePopup:c=!1}=e||{},[d,u]=i.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});i.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:h,decrease:p,canIncrease:C,canDecrease:g,fontSize:f,lineHeight:m}=ks({storageKey:"tooltip-fontScale"}),b=i.useCallback(()=>u(B=>B==="dark"?"light":"dark"),[]),v=i.useCallback(B=>{try{B.stopPropagation()}catch{}try{typeof s=="function"&&s()}catch{}},[s]),w=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],_={fontSize:`${f}px`,lineHeight:`${m}px`,"--tt-line-height":`${m}px`,"--tt-marker-size":"28px"},y=t.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[t.jsxs("div",{className:"tooltip-textbox__box",children:[r&&t.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),t.jsx("div",{className:"tooltip-textbox__text body-1",style:_,children:w.map((B,x)=>t.jsxs("div",{className:"tooltip-textbox__line",children:[w.length>1?t.jsx("div",{className:"tooltip-textbox__marker",children:t.jsx("span",{className:"tooltip-textbox__line-number button-1",children:x+1})}):null,t.jsx("span",{className:"tooltip-textbox__line-text",children:B})]},x))})]}),t.jsxs("div",{className:"tooltip-textbox__buttons",children:[t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:p,ariaLabel:n("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!g}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:h,ariaLabel:n("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!C}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:b,ariaLabel:n("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:v,ariaLabel:n("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return o?t.jsx(nn,{anchorRect:o,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:s,closeOnOutsideClick:l,isMobilePopup:c,ariaLabel:r||n("tooltip.textbox","\uBCF8\uBB38"),children:y}):t.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:y})}function el({state:e="disabled"}){const{t:n}=me.useTranslation();return t.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[t.jsx("div",{className:"bullet__dot",children:t.jsx(Ie,{icon:"chevron-right",label:n("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),t.jsx("div",{className:"ts-bullet__line"})]})}function tl({title:e,children:n,className:a="",state:r="disabled",usePreviewTextBtn:o=!1,onPreviewTextBtn:s,previewText:l=null,useFaded:c,usePlayAllBtn:d=!1,onPlayAll:u,playAllActive:h=!1}){const{t:p}=me.useTranslation(),C=Gt("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),f=`training-step__title-row training-step__title-row--${r}`.trim(),m=i.useRef(null),[b,v]=i.useState(!1),[w,_]=i.useState(null),[y,B]=i.useState(null),x=i.useRef(s);i.useEffect(()=>{x.current=s});const N=i.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(D=>typeof D=="string"||typeof D=="number")?l.join(""):"",[l]),M=i.useCallback(()=>{v(!1),_(null),B(null)},[]);i.useEffect(()=>{if(!b)return;let D;try{typeof x.current=="function"&&(D=x.current())}catch{}if(D===!1){M();return}B(typeof D<"u"&&D!==null?D:null)},[N]);const k=i.useCallback(()=>{let D;try{typeof s=="function"&&(D=s())}catch{}if(D!==!1){if(B(typeof D<"u"&&D!==null?D:l),!m.current){v(H=>!H);return}if(b)v(!1),_(null),B(null);else{const H=m.current.getBoundingClientRect();_(H),v(!0)}}},[s,l,b]);return t.jsxs("div",{className:f,children:[t.jsx("p",{className:g,children:t.jsx("span",{className:"training-step__title-text",children:e??n})}),o||d?t.jsxs("div",{className:"title-controls",children:[t.jsxs("div",{className:"title-buttons",children:[d&&t.jsx(te,{size:32,type:C?"dot":"bar",icon:"play-circle",label:C?void 0:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:h,onClick:u,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||h}),o&&t.jsx("div",{ref:m,children:t.jsx(te,{size:32,type:C?"dot":"bar",icon:"eye",label:C?void 0:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:b,onClick:k,variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof s!="function"})})]}),b&&t.jsx(Ca,{text:y??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:w,onClose:M,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function xr(e,n){return typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled"}function vn({index:e,stepIndex:n,isLast:a=!1,title:r="",titleProps:o={},children:s,className:l="",onDone:c=void 0,useTitleFaded:d=void 0}){const{t:u}=me.useTranslation(),[h,p]=i.useState(()=>xr(e,n));i.useEffect(()=>{const B=xr(e,n);if(B!==h){const x=setTimeout(()=>p(B),0);return()=>clearTimeout(x)}},[e,n,h]);const C=i.useCallback((...B)=>{xr(e,n)==="done"||h==="done"||typeof c=="function"&&c(...B)},[e,n,h,c]),[g,f]=i.useState(!1),[m,b]=i.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),v=i.useCallback(B=>{if(!B)return null;try{const x=B;if(typeof B=="object"&&(x.currentTarget||x.target)&&(x.nativeEvent||x.type)){const k=x.currentTarget??x.target;if(k&&typeof k.getBoundingClientRect=="function")return k.getBoundingClientRect()}if(B instanceof DOMRect)return B;const N=B;if(N&&typeof N.getBoundingClientRect=="function")return N.getBoundingClientRect();const M=B?.current;return M&&typeof M.getBoundingClientRect=="function"?M.getBoundingClientRect():null}catch{return null}},[]),w=i.useCallback((B,{text:x="",label:N="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:M=!1,alignX:k="center",alignY:D="top"}={})=>{const H=v(B);b({text:x,label:N,anchorRect:H,backdrop:M,alignX:k,alignY:D}),f(!0)},[v]),_=i.useCallback(()=>{f(!1),b(B=>({...B,anchorRect:null}))},[]),y=i.Children.map(s,B=>{if(i.isValidElement(B)){const x=B;if(typeof x.type=="string")return x;const N=x.props??{},M=typeof N.onDone=="function"?N.onDone:C,k=typeof N.disabled=="boolean";let D=h==="disabled";return k&&(D=!!N.disabled),i.cloneElement(x,{onDone:M,disabled:D,showTooltip:w,hideTooltip:_})}return B});return t.jsxs("div",{className:`training-step training-step--${h} ${a?"training-step--last":""} ${l}`,"aria-current":h==="active",children:[t.jsx(el,{state:h}),t.jsxs("div",{className:"training-step__content",children:[t.jsx(tl,{state:h,title:r,...o,useFaded:d}),y]}),g?t.jsx(nn,{anchorRect:m.anchorRect,backdrop:m.backdrop,onClose:_,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:t.jsx(Ca,{text:m.text,onClose:_})}):null]})}function nl({context:e,state:n="disabled",theme:a="light"}){const{t:r}=me.useTranslation(),[o,s]=i.useState("disabled"),[l,c]=i.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});i.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const d=()=>c(k=>k==="dark"?"light":"dark"),{increase:u,decrease:h,canIncrease:p,canDecrease:C,fontSize:g,lineHeight:f}=ks({storageKey:"textbox_fontScale"}),[m,b]=i.useState(""),v=i.useCallback(()=>s("active"),[]),w=i.useCallback(()=>b(""),[]),_=k=>{try{b(k)}catch{}},y=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");i.useEffect(()=>{if(n!=="disabled"){const k=setTimeout(()=>s(n),0);return()=>clearTimeout(k)}},[n]);const B=i.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);i.useEffect(()=>{const k=setTimeout(()=>s("disabled"),0);return()=>clearTimeout(k)},[B]);const x=n==="disabled"?o:n,N=x==="disabled"?"training-text-box--disabled":x==="active"?"training-text-box--active":x==="done"?"training-text-box--done":"",M=i.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${f}px`}),[g,f]);return t.jsxs("div",{className:`training-text-box ${N} ${x!=="disabled"&&l==="dark"?"is-dark":""}`,children:[x==="disabled"&&t.jsx("div",{className:"training-text-box__preview",children:t.jsx(te,{size:48,type:"bar",onClick:v,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),t.jsx("div",{className:"training-text-box__area","aria-hidden":x==="disabled",children:t.jsx("span",{className:"training-text-box__inner h3",style:M,children:B})}),x!=="disabled"&&t.jsxs("div",{className:"training-text-box__buttons","aria-hidden":x==="disabled",children:[t.jsx(te,{size:32,type:"dot",onClick:h,onDisabledClick:()=>_(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!C,useBorder:!1,showTooltipInfo:!0,...!y&&{width:"60px"}}),t.jsx(te,{size:32,type:"dot",onClick:u,onDisabledClick:()=>_(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!y&&{width:"60px"}}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),t.jsx(Bn,{message:m,position:"top",onClose:w})]})}function _r({index:e,stepIndex:n,isLast:a=!1,title:r,useTitleFaded:o,onDone:s,onChange:l,answer:c,wrongAnswers:d,choices:u,multiSelect:h=!1,correctCount:p=0,useDisabledCovered:C=!1,choiceIcons:g,shuffleChoices:f=!0}){const{t:m}=me.useTranslation(),b=r??m("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),v=typeof e=="number"?e:-1,w=typeof n!="number"?"disabled":v<n?"done":v===n?"active":"disabled",_=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,y=d?d.join("||"):"",B=u?u.join("||"):"",[x,N]=i.useState(()=>Array.isArray(_)?f?Hn(_):_.slice():void 0);i.useEffect(()=>{Array.isArray(_)&&_.length?N(f?Hn(_):_.slice()):N(void 0)},[c,y,B,f]);const[M,k]=i.useState(null),[D,H]=i.useState(()=>new Set);i.useEffect(()=>{k(null),H(new Set)},[B]);const R=i.useRef(void 0);i.useEffect(()=>{const S=R.current;typeof S=="number"&&typeof n=="number"&&typeof e=="number"&&S>=e&&n<e&&(k(null),H(new Set)),R.current=n},[n,e]);const j=i.useCallback(S=>{if(w!=="active")return;const U=x?.[S];if(U==null)return;const X=U,J=w==="active"||w==="done";if(h){const Q=new Set(D),E=Q.has(X);E?Q.delete(X):Q.add(X),H(Q),typeof l=="function"&&l({selectedValues:[...Q],__ts:Date.now()}),J&&(typeof p=="number"&&p>0?Q.size>=p:!E)&&typeof s=="function"&&w==="active"&&s({selectedValues:[...Q],__ts:Date.now()})}else k(X),typeof l=="function"&&l({selectedIndex:S,selectedValue:X,__ts:Date.now()}),J&&typeof s=="function"&&w==="active"&&s({selectedIndex:S,selectedValue:X,__ts:Date.now()})},[x,w,h,l,s,p,D]),P=`training-step__buttons${Array.isArray(x)&&x.length>3?" training-step__buttons--wrap-3":""}`;return t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:b,useTitleFaded:o,children:t.jsx("div",{className:P,children:Array.isArray(x)&&x.length>0?x.map((S,U)=>t.jsx(te,{size:56,type:"bar",onClick:()=>j(U),ariaLabel:String(S),label:S,useLabel:!0,icon:g?g[String(S)]:void 0,variant:"default",disabled:w==="disabled",selected:h?D.has(S):M===S,useDisabledCovered:C,minWidth:0},String(S))):null})})}function wr({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:o,onChange:s,context:l,demoSelected:c}){const{t:d}=me.useTranslation(),u=r??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),h=typeof e=="number"?e:-1,p=typeof n!="number"?"disabled":h<n?"done":h===n?"active":"disabled",C=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",g=l&&typeof l=="object"?l.choices:void 0,[f,m]=i.useState(c??null);i.useEffect(()=>{if(c==null&&f!==null){const _=setTimeout(()=>m(null),0);return()=>clearTimeout(_)}},[C,c,f]);const b=i.useCallback(_=>{const y=typeof _=="object"&&_!==null?Object.assign({},_,{__ts:Date.now()}):{value:_,__ts:Date.now()};typeof s=="function"&&s(y),p==="active"&&typeof o=="function"&&o(y)},[s,p,o]),v=i.useCallback(()=>{p==="active"&&(m(!1),b(!1))},[b,p]),w=i.useCallback(()=>{p==="active"&&(m(!0),b(!0))},[b,p]);return t.jsxs(vn,{index:e,stepIndex:n,isLast:a,title:u,onDone:o,useTitleFaded:!1,children:[t.jsx(nl,{context:l,state:p}),t.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((_,y)=>t.jsx(te,{size:56,type:"bar",onClick:()=>{p==="active"&&(m(y),b&&b(y))},disabled:p==="disabled",ariaLabel:String(_),label:_,variant:p,selected:f===y},y)):t.jsxs(t.Fragment,{children:[t.jsx(te,{size:56,type:"bar",onClick:v,disabled:p==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),t.jsx(te,{size:56,type:"bar",onClick:w,disabled:p==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function kr({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:o,btnLabel:s,soundSrc:l,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:h,disabled:p,_pageIndex:C,showSoundWaveForm:g,showNoiseWaveForm:f}){const{t:m}=me.useTranslation(),b=r??m("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),v=p??(typeof n=="number"&&typeof e=="number"?e>n:!1);return t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:b,onDone:o,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:h},children:t.jsx(vr,{soundSrc:l,ttsText:l?null:u??b,bucketPath:c,btnLabel:s||m("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:v,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${C??0}-s${e}`)})}function Ar({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:o,onChange:s,context:l=[]}){const{t:c}=me.useTranslation(),d=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),u=$=>typeof $=="string"?$:$&&($.context||$.sentence||$.question||"")||"",[h,p]=i.useState(Array.isArray(l)?l:[]),[C,g]=i.useState(()=>(h||[]).map(($,L)=>({id:L,text:u($)}))),f=i.useMemo(()=>typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled",[n,e]);i.useEffect(()=>{const $=Array.isArray(l)?l:[];p($);const L=(W=>{const O=(W||[]).map((K,oe)=>({id:oe,text:u(K)}));if(O.length<=1)return O;const Y=(K,oe)=>{if(K.length!==oe.length)return!1;for(let pe=0;pe<K.length;pe++)if(K[pe].text!==oe[pe].text)return!1;return!0};let I=Hn(O),q=0;for(;Y(I,O)&&q<20;)I=Hn(O),q+=1;return I})($);g(L);try{if(typeof s=="function"){const W=L.filter((O,Y)=>O.text===u($[Y])).length;s({shuffled:L,score:W,total:($||[]).length,initial:!0,__ts:Date.now()})}if(typeof o=="function"&&f==="active"){const W=L.filter((O,Y)=>O.text===u($[Y])).length;o({shuffled:L,score:W,total:($||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const m=($,L)=>{const W=[...C],O=$+L;if(O<0||O>=W.length)return;const Y=W[O];W[O]=W[$],W[$]=Y,P(W);try{if(typeof o=="function"&&f==="active"){const I=W.filter((q,K)=>q.text===u(h[K])).length;o({shuffled:W,score:I,total:(h||[]).length,__ts:Date.now()})}}catch{}},[b,v]=i.useState(null),w=i.useRef(null),_=i.useRef(null),y=i.useRef(null),B=i.useRef(null),x=i.useRef(null),N=i.useRef({x:0,y:0}),M=i.useRef(null),k=i.useRef({dx:0,dy:0}),D=()=>{if(M.current!==null)return;const $=()=>{M.current=requestAnimationFrame($);const L=N.current,W=k.current||{dx:0,dy:0};w.current&&(w.current.style.transform=`translate3d(${L.x-W.dx}px, ${L.y-W.dy}px, 0)`)};M.current=requestAnimationFrame($)},H=i.useRef(new Map),R=i.useRef(new Map),j=()=>{const $=new Map;return H.current.forEach((L,W)=>{L&&L.getBoundingClientRect&&$.set(W,L.getBoundingClientRect())}),$},P=$=>{const L=j();g($);try{if(typeof s=="function"){const W=$.filter((O,Y)=>O.text===u(h[Y])).length;s({shuffled:$,score:W,total:(h||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const W=j();$.forEach(O=>{const Y=L.get(O.id),I=W.get(O.id),q=H.current.get(O.id);if(!q||!Y||!I)return;const K=Y.top-I.top;K&&(q.style.transition="none",q.style.transform=`translateY(${K}px)`,requestAnimationFrame(()=>{q.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",q.style.transform="";const oe=()=>{q.style.transition="",q.removeEventListener("transitionend",oe)};q.addEventListener("transitionend",oe)}))})})},S=($,L)=>{try{try{L.dataTransfer?.setData("text/plain",String($))}catch{}try{L.dataTransfer&&(L.dataTransfer.effectAllowed="move")}catch{}try{const W=document.createElement("div");W.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(W),L.dataTransfer?.setDragImage(W,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(W)}catch{}})}catch{}}catch{}v($);try{const W=C[$],O=document.createElement("div");O.className="order-list__dragging-object order-list__dragging-object--visible",O.textContent=W&&W.text?W.text:"",document.body.appendChild(O),w.current=O;const Y=H.current.get(W.id);let I=L.clientX||0,q=L.clientY||0;try{if(Y&&Y.getBoundingClientRect){const he=Y.getBoundingClientRect();I=he.left+he.width/2,q=he.top+he.height/2}}catch{}const K=O.getBoundingClientRect(),oe=K.width/2,pe=K.height/2;k.current={dx:oe,dy:pe},O.style.transition="none",N.current={x:I,y:q},O.style.transform=`translate3d(${I-oe}px, ${q-pe}px, 0)`,requestAnimationFrame(()=>{try{O.style.transition=""}catch{}D()});const fe=he=>{const T=he;N.current={x:T.clientX,y:T.clientY},D()};y.current=fe,document.addEventListener("mousemove",fe);const ge=he=>{const T=he;N.current={x:T.clientX,y:T.clientY},D()};_.current=ge,document.addEventListener("dragover",ge);try{L.dataTransfer?.setData("text/plain",String($));try{L.dataTransfer?.setData("application/json",JSON.stringify({idx:$}))}catch{}}catch{}}catch{}},U=($,L)=>{L.preventDefault();try{L.dataTransfer&&(L.dataTransfer.dropEffect="move")}catch{}try{x.current!==null&&(clearTimeout(x.current),x.current=null);const W=L.currentTarget&&L.currentTarget.closest?L.currentTarget.closest(".order-list__item"):null;if(W&&B.current!==W){if(B.current)try{B.current.classList.remove("drag-over")}catch{}try{W.classList.add("drag-over")}catch{}B.current=W}}catch{}},X=($,L)=>{L.preventDefault();const W=L.dataTransfer?.getData("text/plain")||"",O=W?parseInt(W,10):b,Y=$;if(typeof O!="number"||isNaN(O)||O===Y){v(null),E(),J();return}const I=vm(C,O,Y);P(I),v(null),J();try{if(typeof o=="function"&&f==="active"){const q=I.filter((K,oe)=>K.text===u(h[oe])).length;o({shuffled:I,score:q,total:(h||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const q=document.querySelectorAll(".order-list .order-list__item")[Y];if(!q)return;const K=q.querySelector(".order-list__slot")||q;try{K.classList.add("pulse"),K.offsetHeight,K.classList.add("to-dark");const oe=()=>{K.classList.remove("pulse","to-dark"),K.removeEventListener("transitionend",oe)};K.addEventListener("transitionend",oe)}catch{}})}catch{}E()},J=()=>{if(w.current){try{document.body.removeChild(w.current)}catch{}w.current=null}_.current&&(document.removeEventListener("dragover",_.current),_.current=null),y.current&&(document.removeEventListener("mousemove",y.current),y.current=null),M.current!==null&&(cancelAnimationFrame(M.current),M.current=null)},Q=()=>{v(null),E(),J()};i.useEffect(()=>()=>J(),[]);const E=()=>{try{if(x.current!==null&&(clearTimeout(x.current),x.current=null),B.current){try{B.current.classList.remove("drag-over")}catch{}B.current=null}document.querySelectorAll(".order-list .order-list__item").forEach($=>$.classList.remove("drag-over"))}catch{}};return i.useEffect(()=>{try{const $=Math.max(1,(C||[]).length);C.forEach((L,W)=>{const O=R.current.get(L.id);if(!O)return;let Y=50;$>1&&(Y=Math.round(W/($-1)*100));try{O.style.setProperty("--marker-pos",Y+"%")}catch{}})}catch{}},[C]),i.useEffect(()=>()=>{J(),x.current!==null&&(clearTimeout(x.current),x.current=null)},[]),t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:d,children:t.jsx("div",{className:"order-list",children:C.map(($,L)=>{const W=Math.max(1,(C||[]).length),O=W>1?Math.round(L/(W-1)*100):50;return t.jsx("div",{className:"order-list__item",children:t.jsxs("div",{className:"order-list__slot","data-disabled":f==="disabled","aria-disabled":f==="disabled",children:[f!=="disabled"?t.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":O+"%"},ref:Y=>{const I=R.current;Y?I.set($.id,Y):I.delete($.id)},children:t.jsx("span",{className:"order-list__slot-number button-1",children:L+1})}):null,t.jsxs("div",{ref:Y=>{const I=H.current;Y?I.set($.id,Y):I.delete($.id)},className:`order-list__draggable ${b===L?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:f==="active",onDragStart:f==="active"?Y=>S(L,Y):void 0,onDragEnter:f==="active"?Y=>U(L,Y):void 0,onDragOver:f==="active"?Y=>U(L,Y):void 0,onDragLeave:f==="active"?()=>{try{x.current!==null&&clearTimeout(x.current),x.current=setTimeout(()=>{try{const Y=document.querySelectorAll(".order-list .order-list__item");Y&&Y[L]&&(Y[L].classList.remove("drag-over"),B.current===Y[L]&&(B.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f==="active"?Y=>X(L,Y):void 0,onDragEnd:f==="active"?Q:void 0,children:[t.jsx("span",{className:"order-list__item-text body-2",children:$.text}),f==="active"?t.jsxs("span",{className:"order-list__item-buttons",children:[t.jsx(te,{size:32,type:"dot",onClick:()=>m(L,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:L===0,useBorder:!1,useDisabledInvisible:!0}),t.jsx(te,{size:32,type:"dot",onClick:()=>m(L,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:L===C.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},$.id)})})})}const Q4=8e3;function e5(e,n){return new Promise(a=>{let r=!1;const o=()=>{r||(r=!0,a())};e.then(o,o),setTimeout(o,n)})}function al({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:o,onChange:s,context:l=[],selectable:c=!1,hideLabel:d=!1,hideAudio:u=!1,maxCards:h}){const{t:p}=me.useTranslation(),C=r??p("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=i.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),f=h??3,m=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const b=typeof e=="number"?e:-1,v=typeof n!="number"?"disabled":b<n?"done":b===n?"active":"disabled",[w,_]=i.useState(null),y=i.useRef([]),[B,x]=i.useState(!1),N=i.useMemo(()=>g.map(H=>H?.id??H?.word??"").join("|"),[g]);i.useEffect(()=>{_(null),y.current=[]},[N]);const M=i.useCallback((H,R)=>{if(c)return;const j={item:H,index:R,__ts:Date.now()};try{typeof s=="function"&&s(j)}catch{}if(v==="active"&&typeof o=="function")try{o(j)}catch{}},[c,s,v,o]),k=i.useCallback(async()=>{if(!(B||v==="disabled")){x(!0);try{for(const H of y.current)H&&await e5(H.play(),Q4)}finally{x(!1)}}},[B,v]),D=i.useCallback((H,R)=>{if(v!=="active")return;_(R);const j={selectedValue:H.word||H.title||"",selectedIndex:R,item:H,__ts:Date.now()};try{typeof s=="function"&&s(j)}catch{}if(v==="active"&&typeof o=="function")try{o(j)}catch{}},[s,v,o]);return t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:C,onDone:o,titleProps:{usePlayAllBtn:!u&&m.length>0,onPlayAll:k,playAllActive:B},children:t.jsx("div",{className:"training-step__cards",children:m.length===0?t.jsx("div",{className:"training-step__empty",children:p("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):m.map((H,R)=>t.jsx(lr,{ref:j=>{y.current[R]=j},item:H,disabled:v==="disabled",onPlayDone:()=>M(H,R),selectable:c,selected:c&&w===R,onSelect:c?()=>D(H,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},H&&H.id||R))})})}const t5=160,rl=()=>{};function sn(e){const n=i.useId();if(!("variant"in e)){const{label:m,sub:b,onClick:v,children:w,align:_="horizontal",icon:y}=e,B=x=>{v&&x.target===x.currentTarget&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),v())};return t.jsxs("div",{className:ye("panel-row",_==="vertical"?"panel-row--vertical":"",v?"panel-row--clickable":""),onClick:v,onKeyDown:v?B:void 0,role:v?"button":void 0,tabIndex:v?0:void 0,children:[y!=null&&t.jsx("div",{className:"panel-row__icon",children:y}),m!=null&&t.jsxs("div",{className:"panel-row__left",children:[t.jsx("div",{className:"panel-row__label body-3",children:m}),b&&t.jsx("div",{className:"panel-row__sub caption-1",children:b})]}),t.jsx("div",{className:"panel-row__right",children:w})]})}if(e.variant==="description")return t.jsx("div",{className:"panel-row panel-row--block",children:t.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return t.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return t.jsx("div",{className:"panel-row panel-row--loading",children:t.jsx(Zn,{size:28})});if(e.variant==="custom"&&!e.label)return t.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:o,onClick:s,required:l,error:c,align:d="horizontal",useFullWidth:u=!1,icon:h}=e;let p=null;const C=a==="toggle"?`panel-toggle-${n}`:void 0;if(a==="toggle"){const m=e;p=t.jsx(ai,{checked:m.checked,onChange:m.onChange,id:C})}else if(a==="segmented"){const m=e;p=t.jsx(bn,{options:m.options,value:m.value,onChange:m.onChange,size:m.size??40,ariaLabel:r})}else if(a==="dropdown"){const m=e,b=m.dropdowns?.length?t.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:m.dropdowns.map((v,w)=>t.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:t.jsx(Rt,{options:v.options,value:v.value,onChange:v.onChange,placeholder:v.placeholder,block:u,error:!!c,ariaLabel:v.ariaLabel??([r,v.placeholder].filter(Boolean).join(" ")||void 0)})},w))}):t.jsx(Rt,{options:m.options??[],value:m.value??"",onChange:m.onChange??rl,block:u,error:!!c,ariaLabel:r});p=c?t.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[b,t.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):b}else if(a==="button"){const m=e;m.buttons?.length?p=t.jsx("div",{className:"panel-row__button-group",children:m.buttons.map((b,v)=>t.jsx(te,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.label},v))}):p=t.jsx(te,{size:m.btnSize??40,variant:m.btnVariant??"default",disabled:m.disabled,onClick:m.onClick,children:m.buttonLabel})}else if(a==="text"){const m=e;p=t.jsx("span",{className:`panel-row__text body-2${u?" panel-row__text--full":""}`,style:m.valueColor?{color:m.valueColor}:void 0,children:m.value})}else if(a==="input"){const m=e;p=t.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[t.jsx(gn,{value:m.value,onChange:m.onChange??rl,onKeyDown:m.onKeyDown,onEnter:m.onEnter,placeholder:m.placeholder,inputMode:m.inputMode,readOnly:m.readOnly,disabled:m.disabled,type:m.type,autoComplete:m.autoComplete,maxLength:m.maxLength,showCount:m.showCount,multiline:m.multiline,rows:m.rows,fullWidth:u,error:c,ariaLabel:r,required:l}),m.helperText&&t.jsx("div",{className:"panel-row__helper caption-1",children:m.helperText})]})}else a==="custom"&&(p=e.children);const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&u,f=m=>{s&&m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),s())};return t.jsxs("div",{className:ye("panel-row",d==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",s?"panel-row--clickable":""),onClick:s,onKeyDown:s?f:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,children:[h!=null&&t.jsx("div",{className:"panel-row__icon",children:h}),t.jsxs("div",{className:"panel-row__left",children:[C?t.jsxs("label",{htmlFor:C,className:"panel-row__label body-3",children:[r,l&&t.jsx("span",{className:"required-mark",children:"*"})]}):t.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&t.jsx("span",{className:"required-mark",children:"*"})]}),o&&t.jsx("div",{className:"panel-row__sub caption-1",children:o})]}),t.jsx("div",{className:"panel-row__right",children:p})]})}function ol(e){const n=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==n);return[...new Set(a)].join(" \xB7 ")}function n5({devices:e,onRelease:n}){const{t:a}=me.useTranslation();return t.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(r=>{const o=e[r],s=r==="\uC88C"?a("device.direction.left","\uC88C"):a("device.direction.right","\uC6B0");return t.jsxs("div",{className:"panel-row__device-column",children:[t.jsxs("div",{className:"panel-row__device-head",children:[t.jsx("span",{className:"panel-row__device-side body-2b",children:s}),o&&n&&t.jsx(te,{size:32,type:"dot",icon:"x",ariaLabel:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>n(r)})]}),o?t.jsxs("div",{className:"panel-row__device-info",children:[t.jsxs("span",{className:"panel-row__device-kind",children:[o.device&&t.jsx(ut,{size:"small",variant:fi(o.device),fill:"soft",label:o.device}),ol(o)&&t.jsx("span",{className:"panel-row__device-detail body-3",children:ol(o)})]}),t.jsx("span",{className:"panel-row__device-name body-2b",children:o.productName||o.brand}),t.jsx("span",{className:"panel-row__device-date caption-1",children:a("customers.device.wornSince",{date:`${o.wornYear}.${o.wornMonth}.${o.wornDay}`})})]}):t.jsx("span",{className:"panel-row__device-empty body-3",children:a("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},r)})})}function fa({title:e,icon:n,disc:a,actions:r,size:o="medium",minHeight:s,maxWidth:l,className:c,scrollable:d,useBorder:u=!0,useBg:h=!0,useRowBorder:p=!0,labelWidth:C,form:g=!1,loading:f,empty:m,children:b}){const v=ye("panel",`panel--${o}`,g?"panel--form":"",s!==void 0?"panel--fill":"",u?"":"panel--no-border",h?"":"panel--no-bg",p?"":"panel--no-row-border",c),w={};return s!==void 0&&(w.minHeight=s),l!==void 0&&(w.maxWidth=typeof l=="number"?`${l}px`:l),C!==void 0&&(w["--panel-label-width"]=typeof C=="number"?`${C}px`:C),t.jsxs("div",{className:v,style:Object.keys(w).length?w:void 0,children:[(e!=null||a!=null)&&t.jsxs("div",{className:ye("panel__header",a!=null?"panel__header--with-disc":""),children:[n&&t.jsx(Ie,{icon:n,label:typeof e=="string"?e:void 0,className:"panel__icon"}),t.jsxs("div",{className:"panel__title-group",children:[e!=null&&t.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&t.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&t.jsx("div",{className:"panel__actions",children:r})]}),f?t.jsx(sn,{variant:"loading"}):m!=null&&(b==null||Array.isArray(b)&&b.length===0)?t.jsx(sn,{variant:"empty",children:m}):d?t.jsx("div",{className:"panel__body--scroll",children:b}):b]})}function a5({cols:e=2,children:n}){return t.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:n})}function r5(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function sl(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}r5(dn.t.bind(dn)),sl(dn.t.bind(dn));const Nr="none",o5=.5,s5=1.5,i5=.25;function Br({title:e,valueLabel:n,value:a,min:r,max:o,step:s,tickStep:l,size:c,onChange:d}){return t.jsxs(sn,{variant:"custom",label:e,useFullWidth:!0,children:[t.jsx(pi,{value:a,onChange:d,min:r,max:o,step:s,size:c,showBgTick:!0,tickStep:l,ariaLabel:e,className:"noise-settings__slider-input"}),t.jsx("div",{className:"noise-settings__value button-1",children:n})]})}function il({anchorRect:e,onClose:n}){const{t:a}=me.useTranslation(),r=Gt("(max-width: 767px)")?40:24,o=gr(),s=o?.settings.level??0,l=o?.settings.type??"defaultNoise",c=o?.settings.enabled??!0,d=L4(s),u=o?.playbackRate??1,h=o?.mainVolume??1,p=Math.round(h*100),C=i.useCallback(b=>{try{o?.setMainVolume(Math.max(0,Math.min(1,b/100)))}catch{}},[o]),g=i.useCallback(b=>{try{o?.setPlaybackRate(b)}catch{}},[o]),f=i.useCallback(b=>{const v=$4(b);try{o?.setSettings({level:v})}catch{}},[o]),m=i.useCallback(b=>{try{b===Nr?o?.setSettings({enabled:!1}):o?.setSettings({type:b,enabled:!0})}catch{}},[o]);return t.jsx(nn,{anchorRect:e,offset:12,onClose:n,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:t.jsxs("div",{className:"noise-settings__header",children:[t.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),t.jsx(te,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:n})]}),children:t.jsxs(fa,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[t.jsx(Br,{title:a("training.playVolumeTitle","\uC7AC\uC0DD \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:C}),t.jsx(Br,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:o5,max:s5,step:i5,size:r,onChange:g}),t.jsx(Br,{title:a("training.noiseLevelTitle","\uC18C\uC74C \uD06C\uAE30"),valueLabel:`${d}%`,value:d,min:0,max:100,step:10,size:r,onChange:f}),t.jsx(sn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:t.jsx(bn,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Nr,label:a("training.noise.type.none","\uC5C6\uC74C")},...sl(a).map(b=>({key:b.value,label:b.label}))],value:c?l:Nr,onChange:m})})]})})}function ll({useNoiseSettingBtn:e=!1,onSettings:n,onNext:a,onResult:r,stepIndex:o=0,stepCount:s=0,pageIndex:l=0,pageCount:c=1}){const{t:d}=me.useTranslation(),[u,h]=i.useState(!1),[p,C]=i.useState(null),[g,f]=i.useState(!1),m=i.useRef(null),b=i.useRef(null),v=gr(),w=l<c-1,_=l===c-1,y=o===Math.max(0,s);i.useEffect(()=>{e||(h(!1),C(null))},[e]);const B=i.useCallback(()=>{h(!1),C(null)},[]),x=i.useCallback(()=>{if(u){h(!1),C(null);return}const k=m?.current?.getBoundingClientRect();k&&C(k),n?.(),h(!0)},[u,n]),N=i.useCallback(()=>{if(u){h(!1),C(null);return}const k=b?.current?.getBoundingClientRect();k&&C(k),n?.(),h(!0)},[u,n]),M=i.useCallback(()=>f(k=>!k),[]);return t.jsxs("div",{className:"pp-bottom",children:[t.jsxs("div",{className:"pp-bottom__left",children:[e?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pp-bottom__settings--desktop",children:t.jsx("div",{ref:m,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(te,{size:56,type:"bar",icon:"settings",onClick:x,selected:u,ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),t.jsx("div",{className:"pp-bottom__settings--mobile",children:t.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(te,{size:56,type:"dot",icon:"settings",onClick:N,selected:u,ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&t.jsx(te,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:M,selected:g,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&t.jsxs("div",{className:"pp-bottom__meters",children:[t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),t.jsx(ar,{analyser:v?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),t.jsx(ar,{analyser:v?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),t.jsxs("div",{className:"pp-bottom__right",children:[_&&t.jsx(te,{size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!y}),w&&t.jsx(te,{size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!y})]}),e&&u&&t.jsx(il,{anchorRect:p,onClose:B})]})}function cl({title:e,subtitle:n,desc:a,depth:r,icon:o,wrapperStyle:s,iconTooltip:l,pageIndex:c,pageCount:d,progressMax:u,progressIndex:h,onBack:p,onClose:C}){const{t:g}=me.useTranslation(),f=Gt("(max-width: 767px)"),m=Number.isInteger(h)?h:c||0,b=Number.isInteger(u)?u:d||0,v=p||C,w=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,_=typeof e=="string"?e.trim():e,y=typeof n=="string"?n.trim():n,B=!!(_||y),x=B?_||y:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),N=w||n,M=f&&typeof N=="string"&&(N.includes(" \xB7 ")||N.includes(" / "))?N.split(/\s[·/]\s/).pop():N,k=i.useMemo(()=>{const D=s&&typeof s=="object"?{...s}:{};return!("width"in D)&&!("height"in D)&&(D.width="40px",D.height="40px"),D},[s]);return t.jsxs("header",{className:"pp-title training-popup-title",children:[t.jsxs("div",{className:"pp-title__left",children:[v?t.jsx(te,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:v,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,t.jsx("div",{children:o?t.jsx(yi,{icon:o,label:e,tooltip:l,wrapperStyle:k}):null}),t.jsxs("div",{className:"pp-title__text",children:[M?t.jsx("span",{className:"pp-title__depth caption-1",children:M}):null,t.jsx("span",{className:`pp-title__title h2${B?"":" pp-title__title--empty"}`,children:x}),a?t.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),t.jsx(Ci,{max:Math.max(0,b??0),index:Math.max(0,m??0)})]})}function l5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function c5(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(n=>typeof n=="string"?n.split("|").map(a=>a.trim()).filter(Boolean):n||n===0?[String(n)]:[]):typeof e=="string"?e.split("|").map(n=>n.trim()).filter(Boolean):[String(e)]}function ul(e,n,a){const r=e,o=r?.title||r?.name||(Array.isArray(n)?n[n.length-1]:void 0)||a||"\uD6C8\uB828",s=qo().find(c=>c.key===(r?.category_0||r?.category_main_code)),l=s?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:o,label:r?.title||o,depth:n,icon:s?.icon,wrapperStyle:s?.color?{"--t-item-fg":s.color}:void 0,iconTooltip:[s?.label,l?.label].filter(Boolean).join(" / ")||void 0}}function Sr(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function u5(e){const n=e;return Array.isArray(n?.items)?n.items:Array.isArray(e)?e:e?[e]:[]}function d5({idPrefix:e,trainingData:n,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:o=[],emptyMessage:s,buildResults:l,metaPatch:c}){const d=ul(n,a,r),u=typeof c=="function"?c(d)||{}:c||{},h=n?.id||n?.title||o.length;return{id:`${e}:${h}`,meta:{...d,...u},pages:o,emptyMessage:s,buildResults:l}}function p5(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const n=e;return n.context||n.sentence||n.question||""||""}return""}function h5(e){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return n.selectedValues;if(n.selectedValue!==void 0)return n.selectedValue;if(n.selectedIndex!==void 0)return n.selectedIndex;if(n.value!==void 0)return n.value}return e}function m5(e,n=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(n))return String(n[e]??"");if(typeof e=="string")return e}function dl(e,n){if(!(!e||typeof e!="object"))return e[`step-${n}`]}function C5(e,n,a,r){return dl(e,n*a+r)}function f5({payload:e,selected:n,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const o=e;if(Array.isArray(o.selectedValues))return r.every(s=>o.selectedValues.includes(s))&&o.selectedValues.every(s=>r.includes(s));if(typeof o.correct=="boolean")return o.correct}if(r.length){if(typeof n=="number"&&Array.isArray(a)&&a.length)return r.some(o=>String(o)===String(a[n]));if(typeof n<"u")return r.some(o=>String(o)===String(n))}}function g5(e){return e?Array.isArray(e.items)?e.items.map(n=>{const a=n;return typeof n=="string"?{sentence:n}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(n=>{const a=n;return typeof n=="string"?{sentence:n}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const pl=i.createContext(null);function b5(){const e=i.useContext(pl);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function y5({index:e,stepIndex:n,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:o=[],onDone:s,onChange:l}){const c=typeof e=="number"?e:-1,d=typeof n!="number"?"disabled":c<n?"done":c===n?"active":"disabled",[u,h]=i.useState(()=>o.map(()=>null)),p=o.join("|");i.useEffect(()=>{h(p?p.split("|").map(()=>null):[])},[p]);const C=i.useMemo(()=>u.filter(f=>f!==null).length+1,[u]),g=i.useCallback(f=>{d==="active"&&h(m=>{const b=[...m];if(b[f]!==null){const w=b[f];return b.map(_=>_!==null&&_>=w?null:_)}b[f]=C;const v={selectedOrder:b,words:o,__ts:Date.now()};try{typeof l=="function"&&l(v)}catch{}if(b.every(w=>w!==null))try{typeof s=="function"&&s(v)}catch{}return b})},[d,C,l,s,o]);return t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:r,onDone:s,children:t.jsx("div",{className:"training-step__cards",children:o.map((f,m)=>t.jsx(lr,{item:{word:f},disabled:d==="disabled",selectable:!0,selected:u[m]!==null,orderRank:u[m],onSelect:()=>g(m),flipDelay:m*120,hideLabel:!1,hideAudio:!0},`${f}-${m}`))})})}function ga(e){return null}ga.__isTrainingPage=!0;function Tn(e,n){const a=b5();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof n=="number"?e===n-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function hl({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l}=Tn(e,n);return t.jsx(kr,{...a,index:r,stepIndex:o,isLast:s,onDone:l})}function ml({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(_r,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function Cl({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(wr,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function fl({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(Ar,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function gl({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(al,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function v5({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(y5,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function Dr(...e){for(const n of e)if(typeof n=="string"){const a=n.trim();if(a.length)return a}else{if(typeof n=="number"||typeof n=="boolean")return String(n);if(Array.isArray(n)&&n.length)return n.join(", ");if(n&&typeof n=="object"){const a=n,r=[a.text,a.label,a.value];for(const o of r){if(typeof o=="string"&&o.trim().length)return o.trim();if(typeof o=="number"||typeof o=="boolean")return String(o)}}}return null}function x5(e){return Dr(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function bl(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const n=Dr(e?.status,e?.result,e?.judge,e?.note);if(n){const a=n.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function yl(e){const{score:n,contextsLength:a,results:r=[],subtitle:o,onReplay:s,onClose:l,inline:c=!1}=e||{},{t:d}=me.useTranslation();i.useEffect(()=>{const m=a??0;n!=null&&m>0&&n/m>.5&&window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},[n,a]);const u=i.useCallback(m=>{const b=bl(m),v=Dr(m?.wording,m?.label);return b===!0?{variant:"main",label:v??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:b===!1?{variant:"danger",label:v??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:v??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),h=a??0,p=n??0,C=i.useMemo(()=>Array.isArray(r)?r:[],[r]),g=i.useMemo(()=>C.map(m=>{const b=m??{},v=x5(b)||"(\uB0B4\uC6A9\uC5C6\uC74C)",{variant:w,label:_}=u(b),y=Array.isArray(b.corrects)?b.corrects:[],B=y.length?y.join(", "):b.answer!=null&&b.answer!==""?String(b.answer):null,x=typeof b.selectedText=="string"?b.selectedText:null,N=bl(b)===!0;return{problem:v,variant:w,label:_,answer:B,selectedText:x,isCorrect:N}}),[C,u]),f=i.useMemo(()=>g.some(m=>m.answer!==null||m.selectedText!==null),[g]);return t.jsx(on,{onClose:l,inline:c,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",footerClassName:"trp-result__foot",footer:({animateThen:m,closeWithAnimation:b})=>t.jsxs("div",{className:"trp-actions",children:[t.jsx(te,{size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>m(s)}),t.jsx(te,{size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:b})]}),children:()=>t.jsxs("div",{className:"trp-result is-on",children:[t.jsxs("header",{className:"trp-result__head",children:[t.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),t.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),o&&t.jsx("p",{className:"trp-result__subtitle body-3",children:o}),t.jsx("div",{className:"trp-score",children:t.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:p,total:h}),children:[t.jsx("span",{className:"trp-score__big",children:p}),t.jsx("span",{className:"trp-score__sep",children:"/"}),t.jsx("span",{className:"trp-score__total",children:h})]})})]}),g.length>0&&t.jsx("section",{className:"trp-result__body",children:t.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[t.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[t.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&t.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),t.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),g.map((m,b)=>t.jsxs("div",{className:"result-table__row",role:"row",children:[t.jsxs("div",{className:"trp-row__problem",children:[t.jsx("span",{className:"trp-row__no caption-1",children:String(b+1).padStart(2,"0")}),t.jsx("div",{className:"trp-row__q body-2",children:m.problem})]}),f&&t.jsxs("div",{className:"trp-row__answers",children:[m.answer!==null&&t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),t.jsx("span",{className:"trp-row__answer-value body-2",children:m.answer})]}),t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${m.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),t.jsx("span",{className:`trp-row__answer-value body-2 ${m.isCorrect?"is-correct":"is-wrong"}`,children:m.selectedText??"\u2014"})]})]}),t.jsx("div",{className:"trp-row__judge",children:t.jsx(ut,{variant:m.variant,label:m.label,fill:"soft",minWidth:80})})]},b))]})})]})})}function _5(e){i.useEffect(()=>{if(!e)return;const n=new Date;return()=>{const a=new Date;a.getTime()-n.getTime()<5e3||wm({trainingType:e,startedAt:n.toISOString(),endedAt:a.toISOString()})}},[e])}function jr(e,n){return e&&e.id||`page-${n??0}`}function Er(e,n){return e&&e.key||`step-${n??0}`}function ba(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function w5(e,n){return typeof e?.props=="function"?e.props(n)||{}:e?.props||{}}const vl=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]),k5=e=>t.jsx(yl,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose});function A5(e){const{scenario:n,title:a,subTitle:r,depth:o,icon:s,wrapperStyle:l,iconTooltip:c,pageIndex:d,pageCount:u,stepIndex:h,stepCount:p,onBack:C,onComplete:g,onNext:f,onSettings:m,useNoiseSetting:b=!0,children:v,ariaLabel:w,label:_,buildResults:y,onResult:B,typeKey:x,entryPoint:N,dailyTotal:M,itemRef:k,renderResultPopup:D,noiseOverride:H}=e;_5(x&&!vl.has(x)?x:"");const R=i.useRef(0);i.useEffect(()=>{R.current=Date.now()},[]);const{t:j}=me.useTranslation(),P=B,S=!!n,U=n?.id||null,X=n?.meta||{},J=Array.isArray(n?.pages)?n.pages:[],Q=Array.isArray(v)||i.isValidElement(v)&&typeof v!="function"?i.Children.toArray(v).filter(i.isValidElement):[],E=Q.length>0,$=re=>re===ga||re?.__isTrainingPage===!0,L=E&&Q.some(re=>$(re.type)),W=L?Q.filter(re=>$(re.type)).map((re,F)=>{const Z=re.props||{};return{id:`children-page-${F}`,steps:i.Children.toArray(Z.children).filter(i.isValidElement),pageTop:Z.pageTop||Z.top||null,pageBottom:Z.pageBottom||Z.bottom||null}}):[{id:"children-page-0",steps:Q}],O=E&&!S&&typeof v!="function",Y=O?Math.max(1,W.length):0;i.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),i.useEffect(()=>{if(typeof document>"u"||!document.body)return;const re=document.body;return re.dataset.ihabTrainingPopupCount=String(Number(re.dataset.ihabTrainingPopupCount||"0")+1),re.classList.add("ihab-training-popup-open"),()=>{const F=Number(re.dataset.ihabTrainingPopupCount||"1")-1;F>0?re.dataset.ihabTrainingPopupCount=String(F):(delete re.dataset.ihabTrainingPopupCount,re.classList.remove("ihab-training-popup-open"))}},[]),i.useEffect(()=>{if(!(typeof document>"u"||!document.body))return Fg()},[]);const[I,q]=i.useState({...Ki,enabled:!1}),K=i.useRef(I);i.useEffect(()=>{K.current=I},[I]);const oe=i.useRef(H);i.useEffect(()=>{let re=!1;return Bm().then(F=>{if(re)return;const Z=F?{...K.current,...F}:{...Ki};K.current=Z,q(Z),Fa(Z);const le=oe.current;if(le){const be=typeof le=="function"?le(Z):le,ve={...Z,...be};K.current=ve,q(ve),Fa(ve)}}),()=>{re=!0}},[]);const[pe,fe]=i.useState(null),[ge,he]=i.useState(null),T=i.useCallback((re,F)=>{re==="main"?fe(F):he(F)},[]),V=i.useCallback(re=>{const F={...K.current,...re};K.current=F,q(F),oe.current||Sm(F),Fa(F)},[]),ee=I.mainSpeed,Ce=I.mainVolume,ie=i.useCallback(re=>V({mainSpeed:re}),[V]),ue=i.useCallback(re=>V({mainVolume:re}),[V]),se=i.useMemo(()=>({settings:I,setSettings:V,registerAnalyser:T,mainAnalyser:pe,noiseAnalyser:ge,playbackRate:ee,setPlaybackRate:ie,mainVolume:Ce,setMainVolume:ue}),[I,V,T,pe,ge,ee,ie,Ce,ue]),ae=i.useRef(null),[je,Fe]=i.useState("center"),[He,$e]=i.useState(!1),Ee=i.useRef(!1),Se=i.useRef(null),ke=i.useCallback(re=>{Ee.current||(Ee.current=!0,$e(!0),Se.current=setTimeout(re,t5))},[]);i.useEffect(()=>()=>{Se.current&&clearTimeout(Se.current)},[]),i.useEffect(()=>{const re=ae.current;if(!re)return;const F=Array.from(re.querySelectorAll(Vn)).filter(le=>!le.closest('[aria-hidden="true"]'))[0];if(F)try{F.focus()}catch{}const Z=le=>{if(le.key==="Escape"){le.preventDefault(),ke(()=>{typeof C=="function"&&C()});return}};return re.addEventListener("keydown",Z),()=>re.removeEventListener("keydown",Z)},[C,ke]),za(ae,!0);const[Pe,Ye]=i.useState(!1),xe=i.useRef(!1),[Oe,De]=i.useState(null),[We,Xe]=i.useState(""),[qe,Re]=i.useState(()=>ba()),ot=i.useRef(typeof d=="number"?d:null);i.useEffect(()=>{!S&&!O||(Re(ba()),De(null))},[S,U,O]),i.useEffect(()=>{O&&Re(re=>{const F=Math.max(0,Math.min(re.pageIndex,Math.max(0,Y-1)));return F!==re.pageIndex?{...re,pageIndex:F,stepIndex:0}:re})},[O,Y]);const pt=O?Math.max(0,Math.min(qe.pageIndex,Y-1)):0,Ue=O?W[pt]:null,at=O&&Ue&&Array.isArray(Ue.steps)?Ue.steps:[],Be=S?qe.pageIndex:O?pt:typeof d=="number"?d:0,Me=S?J[Math.max(0,Math.min(qe.pageIndex,Math.max(0,J.length-1)))]:null,et=S&&Me&&Array.isArray(Me.steps)?Me.steps:[],tt=S?et.length:O?at.length:typeof p=="number"?p:0,Ze=S||O?Math.max(0,Math.min(qe.stepIndex,Math.max(0,tt))):typeof h=="number"?h:0,rt=S?J.length:O?Y:typeof u=="number"?u:0;i.useLayoutEffect(()=>{const re=ot.current;if(typeof Be=="number"&&re!==null&&Be!==re&&Be>re)try{Xe(j("training.problemNotice",{n:Be+1}))}catch{}ot.current=typeof Be=="number"?Be:ot.current},[Be,d,j]),i.useLayoutEffect(()=>{const re=ae.current;if(!re)return;const F=()=>re.querySelector(".page-popup__scroll");let Z=null,le=null,be=null;const ve=we=>{const ze=F();if(!ze)return;const lt=ze.scrollHeight<=ze.clientHeight;if(Fe(lt?"center":"top"),we&&!xe.current){xe.current=!0;try{Ye(!0)}catch{}try{st.disconnect()}catch{}}},Ne=()=>{Z!==null&&cancelAnimationFrame(Z),Z=requestAnimationFrame(()=>{le!==null&&clearTimeout(le),le=setTimeout(()=>ve(!0),60)})},Le=()=>{be!==null&&cancelAnimationFrame(be),be=requestAnimationFrame(()=>ve(!1))};Ne(),window.addEventListener("resize",Le);const st=new MutationObserver(Ne);st.observe(re,{childList:!0,subtree:!0,attributes:!0});const ce=setTimeout(()=>{xe.current||ve(!0)},400);return()=>{window.removeEventListener("resize",Le),Z!==null&&cancelAnimationFrame(Z),le!==null&&clearTimeout(le),be!==null&&cancelAnimationFrame(be),clearTimeout(ce);try{st.disconnect()}catch{}}},[ae]);const Ct=i.useCallback(re=>{ae.current&&(ae.current._childOnNext=re)},[]),Pt=i.useCallback(re=>{ae.current&&(ae.current._childOnResult=re)},[]),Je=i.useCallback((re,F,Z)=>{Re(le=>{const be=le.answersByPage[re]||{},ve=be[F],Ne=Sr(Z),Le=Sr(ve);return ve&&Le>Ne?le:{...le,answersByPage:{...le.answersByPage,[re]:{...be,[F]:Z}}}})},[Re]),wt=i.useCallback((re,F,Z)=>{const le=jr(Me,Be),be=Er(re,F);Je(le,be,Z)},[Me,Be,Je]),Bt=i.useCallback((re,F,Z)=>{const le=jr(Me,Be),be=Er(re,F);Je(le,be,Z),!Z?.allowChange&&re?.autoAdvance!==!1&&Re(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,F+1)}))},[Me,Be,Je,Re]),Et=i.useCallback((re,F)=>{const Z=Ue?.id||`children-page-${Be??0}`,le=typeof F=="number"?F:Ze??0,be=`step-${le}`;Je(Z,be,re),re?.allowChange||Re(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,le+1)}))},[Ue,Be,Ze,Je,Re]),Qt=i.useCallback((re,F)=>{const Z=Ue?.id||`children-page-${Be??0}`,le=`step-${typeof F=="number"?F:Ze??0}`;Je(Z,le,re)},[Ue,Be,Ze,Je]),It=O?{currentPageIndex:Be??0,currentStepIndex:Ze??0,totalStepsInPage:at.length,handleStepDone:Et,handleStepChange:Qt}:null,Vt=async()=>{const re=typeof n?.buildResults=="function"?await Promise.resolve(n.buildResults({scenario:n,pages:J,flowState:qe,answersByPage:qe.answersByPage})):null;return typeof P=="function"&&await Promise.resolve(P(re))||re},en=async()=>{const re=Ue?.id||`children-page-${qe.pageIndex}`,F=qe.answersByPage[re]||{},Z=L?(()=>{const ve={};let Ne=0;return W.forEach(Le=>{const st=qe.answersByPage[Le.id]||{},ce=Array.isArray(Le.steps)?Le.steps.length:0;for(let we=0;we<ce;we+=1){const ze=st[`step-${we}`];typeof ze<"u"&&(ve[`step-${Ne+we}`]=ze)}Ne+=ce}),ve})():F;if(typeof y=="function"){const ve=await Promise.resolve(y(Z,{pageAnswers:F,answersByPage:qe.answersByPage,pages:W,currentPageId:re}));return typeof P=="function"&&await Promise.resolve(P(ve))||ve}const le=Object.entries(F).map(([ve,Ne],Le)=>({index:Le,key:ve,payload:Ne})),be={results:le,answers:le,score:0};return typeof P=="function"&&await Promise.resolve(P(be))||be},bt=()=>{try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(S){const Z=Vt();De({});const le=Z;Promise.resolve(le).then(be=>{De(be||{isEmpty:!0})}).catch(be=>{De({isEmpty:!0})});return}if(O){const Z=en();De({});const le=Z;Promise.resolve(le).then(be=>{De(be||{isEmpty:!0})}).catch(be=>{De({isEmpty:!0})});return}const re=ae.current&&ae.current._childOnResult,F=Z=>{try{return Z?Z():void 0}catch{return}};if(typeof re=="function"){const Z=F(re);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Ut&&Ut.tagName.toUpperCase()==="SCRIPT"&&Ut.src||new URL("components.cjs.js",document.baseURI).href}catch{}Z&&typeof Z.then!="function"?De(Z):De(Z&&typeof Z.then=="function"?{}:{}),Promise.resolve(Z).then(le=>{le&&De(le)}).catch(le=>{});return}if(typeof P=="function"){const Z=F(P);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Ut&&Ut.tagName.toUpperCase()==="SCRIPT"&&Ut.src||new URL("components.cjs.js",document.baseURI).href}catch{}Z&&typeof Z.then!="function"?De(Z):De(Z&&typeof Z.then=="function"?{}:{}),Promise.resolve(Z).then(le=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Ut&&Ut.tagName.toUpperCase()==="SCRIPT"&&Ut.src||new URL("components.cjs.js",document.baseURI).href}catch{}le&&De(le)}).catch(le=>{console.error("viewResults external handler failed",le)});return}},cn=()=>{if(S){if(typeof Be=="number"&&typeof rt=="number"&&Be<rt-1){Re(F=>({...F,pageIndex:F.pageIndex+1,stepIndex:0}));return}return bt()}if(O){const F=at.length;if(typeof Ze=="number"&&Ze<F-1){Re(Z=>({...Z,stepIndex:Z.stepIndex+1}));return}if(typeof Be=="number"&&typeof rt=="number"&&Be<rt-1){Re(Z=>({...Z,pageIndex:Z.pageIndex+1,stepIndex:0}));return}return bt()}if(typeof f=="function"){try{f()}catch{}return}const re=ae.current&&ae.current._childOnNext;if(typeof re=="function"){try{re()}catch{}return}},yt=S?X.title||X.label||w||j("common.popup","\uD31D\uC5C5"):a||_||(Array.isArray(o)?o[o.length-1]:void 0)||w||j("common.popup","\uD31D\uC5C5"),Wt=S?X.title??X.label??yt:a??_??yt,un=(re,F)=>{const Z=jr(Me,Be),le=Er(re,F),be=qe.answersByPage[Z]?.[le],ve=w5(re,{page:Me,pageIndex:Be,step:re,stepIndex:F,storedPayload:be,answersByPage:qe.answersByPage,flowState:qe}),Ne={key:le,index:F,stepIndex:Ze,isLast:F===et.length-1};switch(re?.type){case"listen":return t.jsx(kr,{...Ne,...ve,onDone:Le=>Bt(re,F,Le)});case"confirm":return t.jsx(_r,{...Ne,...ve,onDone:Le=>Bt(re,F,Le),onChange:Le=>wt(re,F,Le)});case"confirmWithText":return t.jsx(wr,{...Ne,...ve,onDone:Le=>Bt(re,F,Le),onChange:Le=>wt(re,F,Le)});case"orderList":return t.jsx(Ar,{...Ne,...ve,onDone:Le=>Bt(re,F,Le),onChange:Le=>wt(re,F,Le)});default:return null}},Ge=S?J.length>0?t.jsx("div",{className:"training-steps",children:et.map((re,F)=>un(re,F))}):t.jsx("div",{className:"page-popup__content page-popup__content--center",children:t.jsx("div",{className:"pp-empty",children:n?.emptyMessage||j("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,St=O?t.jsxs(pl.Provider,{value:It,children:[Ue?.pageTop?t.jsx("div",{className:"training-page-top",children:Ue.pageTop}):null,t.jsx("div",{className:"training-steps",children:at.map((re,F)=>{const Z=re;return i.cloneElement(Z,{...Z.props,_stepIndex:F,_totalSteps:at.length,_stepKey:`step-${F}`,_pageIndex:Be})})}),Ue?.pageBottom?t.jsx("div",{className:"training-page-bottom",children:Ue.pageBottom}):null]}):null,ft=i.useCallback(()=>{let re;if(x){const F=Oe,Z=F?.results||F?.answers||[],le=Array.isArray(Z)&&Z.length>0?Z.length:null,be=Array.isArray(Z)?Z.filter(Ne=>Ne?.correct===!0||Ne?.isCorrect===!0||Ne?.score===1||Ne?.heard===!0||Ne?.judgement===!0).length:null,ve=le!=null?be:null;km({items:Nm(Z),category:vl.has(x)?"sentence":"word",trainingType:x,entryPoint:N??"sentence",itemRef:k??null,correct:ve,total:le,score:typeof F?.score=="number"?F.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-R.current)/1e3)),dailyTotal:M??null}),re={correct:ve,total:le}}De(null),ke(()=>{typeof g=="function"&&g(re),typeof C=="function"&&C()})},[g,C,x,N,M,k,Oe,De,ke]),qt=i.useCallback(()=>Xe(""),[Xe]),Ft=i.useCallback(()=>{ke(()=>{typeof C=="function"&&C()})},[C,ke]),Ot=t.jsxs("div",{className:`page-popup${He?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":yt,children:[t.jsxs("div",{ref:ae,className:`page-popup__panel ${Pe?"":"page-popup__panel--measuring"} ${je==="center"?"page-popup__panel--center":je==="top"?"page-popup__panel--top":""}`,children:[t.jsx(cl,{title:Wt,subtitle:S?X.subtitle||X.label:Array.isArray(o)?o.join(" / "):void 0,desc:S?void 0:r,depth:S?X.depth:o,icon:S?X.icon:s,wrapperStyle:S?X.wrapperStyle:l,iconTooltip:S?X.iconTooltip:c,progressMax:rt,progressIndex:Be,pageIndex:Be,pageCount:rt,onBack:Ft,onClose:Ft}),t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:`page-popup__content ${je==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:O?St:S?Ge:typeof v=="function"?v({registerOnNext:Ct,registerOnResult:Pt,panelRef:ae,setResultOverlay:De}):v})}),t.jsx(ll,{onSettings:m,onNext:cn,onResult:bt,useNoiseSettingBtn:!!(S?X.useNoiseSetting??!0:b),stepIndex:Ze,stepCount:tt,pageIndex:Be,pageCount:rt})]}),Oe&&!Oe.isEmpty&&(D??k5)({score:Oe.score,results:Oe.results||Oe.answers||[],contextsLength:Oe.results?Oe.results.length:Oe.answers?Oe.answers.length:0,onReplay:()=>{if(De(null),S){if(Re(ba()),typeof n?.onReplay=="function")try{n.onReplay()}catch{}return}if(O){Re(ba());return}try{const re=ae.current&&ae.current._childOnResult;typeof re=="function"&&re({replay:!0})}catch{}},onClose:ft}),Oe?.isEmpty&&t.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":j("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:t.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:"page-popup__content page-popup__content--center",children:t.jsx("div",{className:"page-popup__empty",children:j("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),t.jsx("div",{className:"page-popup__bottom",children:t.jsx(te,{variant:"main",size:48,onClick:ft,label:j("training.result.done","\uC644\uB8CC")})})]})}),t.jsx(Bn,{message:We,position:"top",onClose:qt})]}),Ht=t.jsx(Zi.Provider,{value:se,children:Ot});return typeof document<"u"&&document.body?Tt.createPortal(Ht,document.body):Ht}const ln=A5;ln.Page=ga,ln.ListenStep=hl,ln.ConfirmStep=ml,ln.ConfirmWithTextStep=Cl,ln.OrderListStep=fl,ln.CardStep=gl,ln.CardOrderStep=v5;function N5({label:e,homonum:n}){const a=kn()?.(e,n)??"",{imgRef:r,loading:o,hasImage:s,onLoad:l,onError:c}=ir(a);return s?t.jsxs("div",{className:"tooltip-word-image__cell",children:[o&&t.jsx("div",{className:"tooltip-word-image__spinner"}),t.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:o?0:1},onLoad:l,onError:c})]}):t.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:t.jsx("span",{children:e})})}function xl({words:e,anchorRect:n}){const a=i.useRef(null),[r,o]=i.useState(null);return i.useLayoutEffect(()=>{if(!n||!a.current)return;const{offsetWidth:s,offsetHeight:l}=a.current,c=window.innerWidth;let d=n.left+n.width/2-s/2,u=n.top-l-8;u<8&&(u=n.bottom+8),d=Math.max(8,Math.min(d,c-s-8)),o({left:d,top:u})},[n]),!n||e.length===0?null:Tt.createPortal(t.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:t.jsx("div",{className:"tooltip-word-image__cells",children:e.map(s=>t.jsx(N5,{label:s.label,homonum:s.homonum},`${s.label}_${s.homonum??1}`))})}),document.body)}function B5({titleIcon:e,resultCount:n,resultUnit:a,searchQuery:r,items:o,groups:s,selected:l=[],onSelect:c,maxSelect:d,onClearSelection:u,onPrint:h,onPrintEmpty:p,className:C,emptyHint:g,sectionType:f="page",disc:m,notice:b}){const{t:v,i18n:w}=me.useTranslation(),_=w.language?.startsWith("ko")??!1,{anchorRect:y,openAt:B,close:x}=ia(),[N,M]=i.useState(null),k=i.useCallback(()=>{x(),M(null)},[x]);l0(k,!!N);const D=(r??"").trim(),H=/^[^,[\]\s]+$/.test(D)?D:"",R=H.length>0,[j,P]=i.useState("ganada"),[S,U]=i.useState("50"),[X,J]=i.useState(1),[Q,E]=i.useState(R);Q!==R&&(E(R),P(R?"match":"ganada"));const $=j==="match"&&!R?"ganada":j,L=i.useMemo(()=>[...R?[{value:"match",label:v("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],{value:"ganada",label:v("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:v("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:v("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:v("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:v("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:v("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[v,R]),W=i.useMemo(()=>["10","25","50","100"].map(ue=>({value:ue,label:v("wordSearch.pageSize",{count:Number(ue),defaultValue:`${ue}\uAC1C\uC529 \uBCF4\uAE30`})})),[v]),O=ue=>ue.words[0],Y=i.useCallback((ue,se)=>{const ae=He=>O(He)?.label??"",je=He=>O(He)?.syllables??[...ae(He)].length,Fe=He=>{const $e=parseInt(O(He)?.grade??"",10);return Number.isFinite($e)?$e:999};switch($){case"match":{const He=[...H].length,$e=Ee=>lm(ae(Ee).slice(0,He),H)?0:1;return $e(ue)-$e(se)||ae(ue).localeCompare(ae(se),"ko")}case"ganada":return ae(ue).localeCompare(ae(se),"ko");case"ganada_desc":return ae(se).localeCompare(ae(ue),"ko");case"syllable":return je(ue)-je(se)||ae(ue).localeCompare(ae(se),"ko");case"syllable_desc":return je(se)-je(ue)||ae(ue).localeCompare(ae(se),"ko");case"grade":return Fe(ue)-Fe(se)||ae(ue).localeCompare(ae(se),"ko");case"grade_desc":return Fe(se)-Fe(ue)||ae(ue).localeCompare(ae(se),"ko");default:return 0}},[$,H]),I=i.useMemo(()=>o.slice().sort(Y),[o,Y]),q=Number(S)||10,K=i.useMemo(()=>(s??[]).flatMap(ue=>ue.items.slice().sort(Y).map(se=>({item:se,label:ue.label}))),[s,Y]),oe=s?K.length:I.length,pe=Math.max(1,Math.ceil(oe/q)),fe=Math.min(X,pe),ge=i.useMemo(()=>I.slice((fe-1)*q,fe*q),[I,fe,q]),he=i.useMemo(()=>{if(!s)return null;const ue=K.slice((fe-1)*q,fe*q),se=new Map;for(const{item:ae,label:je}of ue)se.has(je)||se.set(je,[]),se.get(je).push(ae);return[...se.entries()].map(([ae,je])=>({label:ae,items:je}))},[s,K,fe,q]);i.useEffect(()=>{J(1)},[j,S,oe]);const T=oe>0?t.jsxs("div",{className:"word-search-result-block__toolbar",children:[t.jsx(Rt,{size:40,options:L,value:$,onChange:P,ariaLabel:v("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),t.jsx(Rt,{size:40,options:W,value:S,onChange:U,ariaLabel:v("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),t.jsx(ca,{page:fe,totalPages:pe,onChange:J})]}):void 0,V=ue=>{c&&c(ue)},ee=n!==void 0&&a?t.jsxs(t.Fragment,{children:[v("wordSearch.resultTitlePrefix","\uCD1D "),t.jsx("span",{style:{color:"var(--color-main)"},children:n}),v("wordSearch.resultTitleSuffix",{unit:_?gm(a):a})]}):void 0,Ce=n!==void 0&&n>0&&d!==void 0&&a?v("wordSearch.resultDisc",{unit:_?ym(a):a,max:d,selected:l.length}):void 0,ie=m??(b?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"word-search-result-block__notice",children:b}),Ce?t.jsx("span",{className:"word-search-result-block__disc",children:Ce}):null]}):Ce);return t.jsxs(Sn,{type:f,icon:e,title:ee,action:T,disc:ie,className:ye("word-search-result-block",C),children:[t.jsxs("div",{className:"word-search-result-block__inner",children:[(s?s.length===0:o.length===0)&&t.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[t.jsx("p",{className:"word-search-result-block__empty body-3",children:v("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&t.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),s?(he??[]).map(ue=>t.jsx("div",{className:"word-search-result-block__group",children:t.jsx("div",{className:"word-search-result-block__items",children:ue.items.map(se=>{const ae=l.includes(se.id);return t.jsx("div",{onMouseEnter:je=>{B(je.currentTarget),M(se.words)},onMouseLeave:k,children:t.jsx(te,{size:"word",align:"grid",label:se.words.map(je=>je.label),subLabel:se.words.map(je=>je.subLabel).filter(Boolean).length>0?se.words.map(je=>je.subLabel):void 0,selected:ae,onClick:()=>V(se.id),minWidth:200})},se.id)})})},ue.label)):t.jsx("div",{className:"word-search-result-block__items",children:ge.map(ue=>{const se=l.includes(ue.id);return t.jsx("div",{onMouseEnter:ae=>{B(ae.currentTarget),M(ue.words)},onMouseLeave:k,children:t.jsx(te,{size:"word",align:"grid",label:ue.words.map(ae=>ae.label),subLabel:ue.words.map(ae=>ae.subLabel).filter(Boolean).length>0?ue.words.map(ae=>ae.subLabel):void 0,selected:se,onClick:()=>V(ue.id),minWidth:200})},ue.id)})}),N&&y&&t.jsx(xl,{words:N,anchorRect:y})]}),pe>1&&t.jsx("div",{className:"word-search-result-block__pagination-bottom",children:t.jsx(ca,{page:fe,totalPages:pe,onChange:J})}),(u||h)&&t.jsxs("div",{className:"word-search-result-block__actions",children:[u&&t.jsx(te,{size:"56",type:"bar",label:v("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:u}),h&&t.jsx("div",{onClick:l.length===0?p:void 0,children:t.jsx(te,{size:"56",type:"bar",variant:"main",label:v("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:h})})]})]})}function S5(e,n){return n.map(a=>{const r=typeof a=="string"?a:a.label,o=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:o}})}function D5({sections:e,selectedList:n,count:a,onCountChange:r,maxCount:o=4,minCount:s=1,combinationSections:l,combinationSectionsForSlot:c,onSelect:d,placeholder:u="-",className:h,title:p,titleIcon:C,disc:g,showInfoButton:f=!1,onClearPhoneme:m,onSearch:b,onSearchEmpty:v,searchDisabled:w=!1,searchLabel:_,searchChecking:y=!1,pairMode:B=!1,sectionType:x="page",beforeSearchContent:N,beforeContent:M,afterContent:k,hideCountControl:D=!1,ordinal:H=!1}){const{t:R}=me.useTranslation(),j=i.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),P=i.useMemo(()=>Array.from({length:o-s+1},(I,q)=>{const K=s+q;return{key:String(K),label:R("wordPairs.count",{n:K})}}),[R,o,s]),S=i.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),U=i.useCallback(I=>H?R("wordPairs.phonemeOrdinalLabel",{ordinal:S[I-1]??I}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:I}),[H,S,a,R]),X=i.useCallback(I=>H?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:S[I-1]??I}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:I}),[H,S,a,R]),J=i.useCallback((I,q)=>q?t.jsxs(t.Fragment,{children:[I,t.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):I,[]),{anchorRect:Q,toggleAt:E,close:$}=ia(),L=i.useCallback(I=>r(Number(I)),[r]),W=Gt("(max-width: 767px)"),O=i.useCallback(I=>S5(I,e).map(({label:q,value:K,displayLabel:oe})=>{const pe=!!K&&K!=="\uC5C6\uC74C";return t.jsxs("span",{className:ye("phoneme-select-block__cell-jamo-part",K?"":"phoneme-select-block__cell-jamo-part--empty",pe?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[t.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${K==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:K==="\uC5C6\uC74C"?"x":K||u}),pe&&t.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:oe??q})]},q)}),[e,u]),Y=t.jsxs(t.Fragment,{children:[t.jsx("div",{"data-tooltip-ignore":!0,children:t.jsx(te,{size:40,type:W?"dot":void 0,icon:"info",label:W?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),selected:!!Q,onClick:I=>E(I.currentTarget)})}),Q&&t.jsx(Cn,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:j,anchorRect:Q,onClose:$})]});return t.jsxs(Sn,{type:x,title:p,icon:C,disc:g,action:Y,className:ye("phoneme-select-block",h),children:[M,(!D||f&&!(p||g))&&t.jsxs("div",{className:"phoneme-select-block__controls",children:[!D&&t.jsx(bn,{options:P,value:String(a),onChange:L,size:40,className:"phoneme-select-block__count-control"}),f&&!(p||g)&&Y]}),t.jsx("div",{className:"phoneme-select-block__cells",children:B?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,q)=>{const K=n[q*2]??{};return t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:O(K)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:U(q+1)})]},q)})}),t.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,q)=>{const K=n[q*2+1]??{};return t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:O(K)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:X(q+1)})]},q)})})]}):n.map((I,q)=>t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:O(I)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:U(q+1)})]},q))}),(l||c)&&t.jsx("div",{className:"phoneme-select-block__panels",children:t.jsx("div",{className:"phoneme-select-block__detail",children:B?t.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,q)=>{const K=n[q*2]??{};return t.jsx(Jt,{title:J(U(q+1),q===0),sections:c?c(K,q*2):l,selected:K,onSelect:d?.(q*2),align:"newline"},q)})}),t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,q)=>{const K=n[q*2+1]??{};return t.jsx(Jt,{title:X(q+1),sections:c?c(K,q*2+1):l,selected:K,onSelect:d?.(q*2+1),align:"newline"},q)})})]}):n.map((I,q)=>t.jsx(Jt,{title:J(U(q+1),q===0),sections:c?c(I,q):l,selected:I,onSelect:d?.(q),align:"newline"},q))})}),N&&t.jsx("div",{className:"phoneme-select-block__before-search",children:N}),(m||b||y)&&(()=>{const I=n.every(q=>Object.entries(q).every(([K,oe])=>!oe||K==="\uC885\uC131"&&oe==="\uC5C6\uC74C"));return t.jsxs("div",{className:"phoneme-select-block__search-row",onClick:I?v:void 0,children:[m&&t.jsx(te,{size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:I,onClick:I?void 0:m}),y?t.jsxs("div",{className:"phoneme-select-block__checking",children:[t.jsx("div",{className:"phoneme-select-block__spinner"}),t.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:_??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):b&&t.jsx(te,{size:"56",type:"bar",variant:"main",label:_??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:I||w,onClick:I||w?void 0:b})]})})(),k]})}function j5({title:e,sections:n,selected:a,onSelect:r,className:o}){const{t:s}=me.useTranslation();return t.jsx(Jt,{className:o,title:e??s("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:n,selected:a,onSelect:r,align:"inline"})}function E5({title:e,headerAction:n,sections:a,selected:r,onSelect:o,className:s}){const{t:l}=me.useTranslation();return a.length===0?null:t.jsx(Jt,{className:s,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:n,sections:a,selected:r,onSelect:o,align:"newline"})}function T5({title:e,mode:n,onModeChange:a,matchMode:r,onMatchModeChange:o,positionCount:s,onPositionCountChange:l,inputMode:c,onInputModeChange:d,className:u}){const{t:h}=me.useTranslation(),p={searchMode:h("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:h("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:h("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:h("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:h("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:h("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:h("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:h("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:h("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:h("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:h("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},C=b=>h("wordPairs.count",{n:b}),g=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:t.jsx(Kn,{title:h("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[h("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),h("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),h("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:p.phonemeOrder,items:[p.orderAny,p.orderMatch],display:"segmented",labelAction:t.jsx(Kn,{items:h("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:p.count,items:[C(1),C(2)],display:"segmented"},{label:p.inputMode,items:[p.charInput,p.pronInput],display:"segmented",labelAction:t.jsx(Kn,{title:h("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[h("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),h("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],f={[p.searchMode]:n==="explicit"?p.explicit:n==="pick"?p.pick:p.include,[p.phonemeOrder]:r==="ordered"?p.orderMatch:p.orderAny,[p.count]:C(s),[p.inputMode]:c==="phoneme"?p.pronInput:p.charInput},m=(b,v)=>{v===p.searchMode?a(b===p.explicit?"explicit":b===p.pick?"pick":"include"):v===p.phonemeOrder?o(b===p.orderMatch?"ordered":"unordered"):v===p.count?l(b===C(2)?2:1):v===p.inputMode&&d(b===p.pronInput?"phoneme":"word")};return t.jsx(Jt,{className:u,title:e??h("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:f,onSelect:m,align:"inline"})}function M5(e){const{title:n,items:a,columns:r,gridTemplateColumns:o,searchPlaceholder:s,searchFn:l,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:u,selectedIds:h,onSelect:p,onClose:C,pageSizeOptions:g=[10,25,50,100],initialPageSize:f,emptyText:m,countLabel:b,topContent:v,className:w=""}=e,{t:_}=me.useTranslation(),y=s??_("common.search","\uAC80\uC0C9"),B=m??_("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[x,N]=i.useState(""),[M,k]=i.useState(c??r[0]?.key??""),[D,H]=i.useState(d),[R,j]=i.useState(String(f??g[0]??10)),[P,S]=i.useState(1);i.useEffect(()=>{S(1)},[x,R]);const U=l!==null,X=i.useCallback((I,q)=>{if(!q)return!0;const K=q.toLowerCase();return r.some(oe=>{const pe=I[oe.key];return pe==null?!1:String(pe).toLowerCase().includes(K)})},[r]),J=l??X,Q=i.useMemo(()=>{const I=U?a.filter(q=>J(q,x)):a;return M?[...I].sort((q,K)=>{const oe=q[M]??"",pe=K[M]??"";if(oe===pe)return 0;const fe=d4(oe,pe);return D?fe:-fe}):I},[a,x,M,D,U,J]),E=Math.max(1,Math.ceil(Q.length/Number(R))),$=Q.slice((P-1)*Number(R),P*Number(R)),L=i.useCallback(I=>{M===I?H(q=>!q):(k(I),H(!0))},[M]),W=i.useMemo(()=>{if(typeof b=="string"&&b.includes("{n}")){const[I,q]=b.split("{n}");return{prefix:I,suffix:q}}return{prefix:_("common.totalCountPrefix","\uCD1D "),suffix:_("common.totalCountSuffix","\uAC1C")}},[b,_]),O=i.useMemo(()=>r.map(I=>({label:I.label,onClick:I.sortable!==!1?()=>L(I.key):void 0,className:I.className,sortDir:I.sortable!==!1&&M===I.key?D?"asc":"desc":null})),[r,M,D,L]),Y=i.useMemo(()=>g.map(I=>({value:String(I),label:_("common.pageSizeLabel",{n:I})})),[g,_]);return t.jsxs(on,{className:`popup-list ${w}`,title:n,onClose:C,children:[v,t.jsx(Qa,{count:{value:Q.length,prefix:W.prefix,suffix:W.suffix},search:U?{value:x,onChange:N,placeholder:y}:void 0,pageSize:{options:Y,value:R,onChange:j},pagination:{page:P,total:E,onChange:S}}),t.jsx(or,{size:"medium",gridTemplateColumns:o,resizable:!0,fields:O,items:$,onRowClick:p,renderRow:I=>{const q=h!=null?I.id!=null&&h.has(I.id):u!=null&&I.id===u;return r.map(K=>({content:K.render?K.render(I):I[K.key]??"",className:q?"popup-list__row--selected":K.className}))},empty:B})]})}function L5(e){const{title:n,message:a,topContent:r,details:o,children:s,confirmLabel:l,cancelLabel:c,hideCancel:d=!1,extraAction:u,confirmVariant:h="main",confirmDisabled:p=!1,onConfirm:C,closeOnConfirm:g=!0,onClose:f,inline:m,size:b="small",className:v}=e,{t:w}=me.useTranslation(),_=i.useRef(!1),[y,B]=i.useState(!1);return t.jsxs(on,{title:n,onClose:f,closeDisabled:y,inline:m,size:b,className:ye("confirm-popup",v),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||y,onClick:async({closeWithAnimation:x})=>{if(!_.current){_.current=!0,B(!0);try{await u.onClick(x),(u.closeOnClick??!0)&&x()}finally{_.current=!1,B(!1)}}}}]:[],...d?[]:[{label:c??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:y,onClick:({closeWithAnimation:x})=>x()}],{label:l??w("common.confirm","\uD655\uC778"),variant:h,disabled:p||y,onClick:async({closeWithAnimation:x})=>{if(!_.current){_.current=!0,B(!0);try{await C(x),g&&x()}finally{_.current=!1,B(!1)}}}}],children:[r!=null&&t.jsx("div",{className:"confirm-popup__top",children:r}),o&&o.length>0&&t.jsx(fa,{children:o.map((x,N)=>t.jsx(sn,{label:x.label,children:t.jsx("span",{className:"panel-row__text body-2",children:x.value})},N))}),t.jsx("p",{className:"body-2 confirm-popup__message",children:a}),s]})}function $5({onApply:e,onCancel:n}){const{t:a}=me.useTranslation(),[r,o]=i.useState(""),[s,l]=i.useState(!1),[c,d]=i.useState(null),u=i.useRef(null);i.useEffect(()=>{u.current?.focus()},[]);const h=i.useCallback(async g=>{const f=r.trim();if(f){l(!0),d(null);try{await e(f),g()}catch(m){d(Fo(m)),l(!1)}}},[r,e]),p=i.useCallback((g,f)=>{g.key==="Enter"&&h(f)},[h]),C=g=>{o(g.target.value),d(null)};return t.jsx(on,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:n,closeDisabled:s,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:s,onClick:({closeWithAnimation:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||s,onClick:({closeWithAnimation:g})=>{h(g)}}],children:({closeWithAnimation:g})=>t.jsxs(t.Fragment,{children:[t.jsx("input",{ref:u,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:C,onKeyDown:f=>p(f,g),disabled:s,autoComplete:"off",spellCheck:!1}),c&&t.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}const R5=200;function P5(e){return e.itemId?(Im()[e.trainingType]??[]).find(n=>n?.id!=null&&String(n.id)===String(e.itemId))??null:null}function I5({plan:e,anchorRect:n,offset:a=12,onClose:r}){const{t:o}=me.useTranslation(),s=i.useMemo(()=>Fm.map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items]);if(s.length===0)return null;const l=t.jsx("div",{className:"tooltip-training__box",children:t.jsx("div",{className:"tooltip-training__groups",children:s.flatMap(({type:c,items:d},u)=>[u>0?t.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,t.jsxs("div",{className:"tooltip-training__section",children:[t.jsx("div",{className:"tooltip-training__section-header",children:t.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),t.jsx("div",{className:"tooltip-training__items",children:d.map((h,p)=>{const C=P5(h);return C?t.jsx(sr,{index:p,type:c,trainingData:C,size:"compact",hideCheckBadge:!0},h.itemId??p):null})})]},c.key)])})});return n?t.jsx(nn,{anchorRect:n,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:o("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const _l=["var(--color-main)","var(--color-sub)"];function wl({active:e=!1,count:n=40,duration:a=2e3,strength:r=1,onComplete:o,trigger:s=0}){const l=i.useMemo(()=>{const m=Math.floor(n/2),b=n-m,v=(w,_)=>Array.from({length:w}).map((y,B)=>{const x=6+Math.random()*12,N=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),M=_l[Math.floor(Math.random()*_l.length)],k=Math.random()*300,D=(360+Math.random()*260)*r*1.2,H=(_==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(H)*D,j=Math.sin(H)*D*1.35,P=Math.random()*720-360,S=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),U=Math.random()>.7?"50%":"3px";return{id:`${_}-${B}`,side:_,size:N,color:M,delay:k,vx:R,vy:j,angularVel:P,life:S,borderRadius:U}});return[...v(m,"left"),...v(b,"right")]},[n,r]),c=i.useRef(null),d=i.useRef({}),u=i.useRef(null),h=i.useRef(o);i.useEffect(()=>{h.current=o},[o]);const p=i.useRef(null),C=i.useRef(null),g=()=>{if(typeof document>"u")return null;let m=document.querySelector("[data-ihab-effect-root]");return m||(m=document.createElement("div"),m.className="app-effect",m.dataset.ihabEffectRoot="",m.style.position="fixed",m.style.inset="0",m.style.pointerEvents="none",m.style.zIndex="99998",document.body.appendChild(m)),m};if(typeof document<"u"&&C.current==null&&(C.current=g()),i.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){h.current?.();return}const m=1200,b=performance.now(),v=C.current&&C.current!==document.body?C.current.getBoundingClientRect():null,w=Math.max(60,(window.innerHeight||800)*.05),_=E=>Math.max(40,(E||window.innerWidth)*.02),y=v?.width||window.innerWidth||375,B=v?.height||window.innerHeight||812,x=E=>{const $=[...E].sort((L,W)=>L-W);return $[Math.floor($.length/2)]||1},N=x(l.map(E=>Math.abs(E.vy))),M=x(l.map(E=>Math.abs(E.vx))),k=Math.sqrt(2*m*(B*.72+w))/N,D=N*k/m,H=y*.5/(M*D),R=(E,$,L)=>Math.min(L,Math.max($,E)),j=R(k,.8,2.4),P=R(H,.7,2.2),S=l.map(E=>({...E,vx:E.vx*P,vy:E.vy*j,startTime:b+E.delay,ended:!1})),U=v?{x:v.left-_(v.width),y:v.top+v.height+w}:{x:-_(window.innerWidth),y:window.innerHeight+w},X=v?{x:v.left+v.width+_(v.width),y:v.top+v.height+w}:{x:window.innerWidth+_(window.innerWidth),y:window.innerHeight+w},J=E=>{let $=!1;for(const L of S){const W=d.current[L.id];if(!W||!W)continue;if(E<L.startTime){W.style.display="none";continue}if(!L._inited){const he=L.side==="left"?U.x:X.x,T=L.side==="left"?U.y:X.y;W.style.left=`${he}px`,W.style.top=`${T}px`,W.style.transform="translate3d(0px, 0px, 0)",W.style.display="block",W.style.zIndex="100000";try{if(typeof window<"u"&&typeof L.color=="string"&&L.color.startsWith("var(")){const V=L.color.slice(4,-1).trim(),ee=getComputedStyle(document.documentElement).getPropertyValue(V).trim();ee?W.style.background=ee:W.style.background="#FF0060"}}catch{}L._inited=!0}const O=(E-L.startTime)/1e3;if(O<0)continue;const Y=L.life/1e3;if(O>=Y){W.style.opacity="0",W.style.display="none",L.ended=!0;continue}$=!0;const I=L.side==="left"?U.x:X.x,q=L.side==="left"?U.y:X.y,K=I+L.vx*O,oe=q+L.vy*O+.5*m*O*O,pe=(L.angularVel||0)*O,fe=K-I,ge=oe-q;W.style.transform=`translate3d(${fe}px, ${ge}px, 0) rotate(${pe}deg)`,W.style.opacity=`${Math.max(0,1-O/Y)}`}$?u.current=requestAnimationFrame(J):h.current?.()};u.current=requestAnimationFrame(J);const Q=setTimeout(()=>{try{if((C.current?C.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const E=document.createElement("div");E.className="party-container",E.style.position="fixed",E.style.inset="0",E.style.pointerEvents="none",E.style.overflow="visible",E.style.zIndex="2147483647";for(const $ of l){const L=document.createElement("span");L.className=`confetti confetti--${$.side}`,L.setAttribute("aria-hidden","true"),L.style.display="none",L.style.position="fixed",L.style.left="0px",L.style.top="0px",L.style.width=`${$.size}px`,L.style.height=`${Math.max(4,$.size*.6)}px`;let W=$.color;try{if(typeof W=="string"&&W.startsWith("var(")){const O=W.slice(4,-1).trim(),Y=getComputedStyle(document.documentElement).getPropertyValue(O).trim();Y&&(W=Y)}}catch{}L.style.background=W,L.style.borderRadius=$.borderRadius,L.style.transform="translate3d(0,0,0)",L.style.opacity="0",E.appendChild(L),d.current[$.id]=L}(document.body||C.current).appendChild(E),p.current=E}}catch{}},300);return()=>{if(u.current&&cancelAnimationFrame(u.current),clearTimeout(Q),p.current){try{p.current.remove()}catch{}p.current=null}}},[e,a,s,l]),!e)return null;const f=t.jsx("div",{className:"party-container",ref:c,children:l.map(m=>t.jsx("span",{"aria-hidden":!0,ref:b=>{d.current[m.id]=b},className:`confetti confetti--${m.side}`,style:{width:`${m.size}px`,height:`${Math.max(4,m.size*.6)}px`,background:m.color,borderRadius:m.borderRadius}},`${m.id}-${s}`))});return typeof document<"u"?Tt.createPortal(f,C.current||document.body):f}function F5({trigger:e=0,active:n=!1}){const a=i.useRef(0);return i.useEffect(()=>{a.current=e},[e]),t.jsx(wl,{active:n,trigger:e})}function O5({title:e,sub:n,rightAction:a,titleAction:r,badge:o,badgeVariant:s="default",documentTitle:l,onBack:c,backLabel:d}){const{t:u}=me.useTranslation();Jm(typeof e=="string"?e:l??null);const h=d??u("common.back","\uB4A4\uB85C");return t.jsxs("div",{className:"page-title",children:[t.jsxs("div",{className:"page-title__main",children:[t.jsxs("div",{className:"page-title__title-row",children:[c&&t.jsx(te,{className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:h,showTooltipInfo:h,onClick:c}),t.jsx("h1",{className:"page-title__title h1",children:e}),o&&t.jsx("div",{className:"page-title__badge",children:t.jsx(ut,{label:o,size:"small",variant:s,fill:"outline"})}),r?t.jsx("div",{className:"page-title__title-action",children:r}):null]}),n&&t.jsx("p",{className:"page-title__sub body-2",children:n})]}),a?t.jsx("div",{className:"page-title__action",children:a}):null]})}function H5(e){return e??""}const kl=i.createContext({words:[],loading:!1});function z5(){return i.useContext(kl)}function V5({words:e,loading:n,error:a,statusMessage:r,localVersion:o,remoteVersion:s,progress:l,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return t.jsx(kl.Provider,{value:{words:e,loading:n,error:a,statusMessage:r,localVersion:o,remoteVersion:s,progress:l,clearAndRefetch:c,checkRemoteVersion:d},children:u})}function W5({items:e,actions:n,columns:a,flat:r=!1,className:o,style:s}){const l=a??e.length;return t.jsx("section",{className:ye("summary-strip",r&&"summary-strip--flat",o),style:{"--summary-strip-cols":String(l),...s},children:t.jsxs("div",{className:"summary-strip__row",children:[t.jsx("div",{className:"summary-strip__items",children:e.map((c,d)=>t.jsxs("div",{className:"summary-strip__item",children:[t.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),t.jsx("p",{className:"summary-strip__value body-3b",children:c.value})]},d))}),n&&t.jsx("div",{className:"summary-strip__actions",children:n})]})})}const q5=(e,n)=>`${e} / ${n}`;function U5({blocks:e,sectionTitles:n,logo:a,footer:r,pageLabel:o=q5,pageWidth:s,pageHeight:l,margin:c,className:d,style:u}){const{t:h}=me.useTranslation(),p=i.useRef(null),C=i.useRef(null),g=i.useRef(null),f=i.useRef(null),[m,b]=i.useState(null),[v,w]=i.useState(!1);i.useEffect(()=>{const D=p.current;if(!D)return;const H=()=>w(D.scrollWidth>D.clientWidth+1);if(H(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(H);return R.observe(D),()=>R.disconnect()},[m]);const _=e.map(D=>`${D.id}\0${D.section??""}\0${D.group??""}`).join("");i.useLayoutEffect(()=>{const D=C.current,H=f.current;if(!D||!H)return;const R=g.current?.offsetHeight??0,j=H.offsetHeight-R,P=Array.from(D.children).map(E=>E.offsetHeight),S=[];e.forEach((E,$)=>{const L=S[S.length-1],W=L?e[L[0]]:void 0;W&&E.group!=null&&W.group===E.group?L.push($):S.push([$])});const U=[];let X=[],J=0;const Q=()=>{X.length&&U.push(X),X=[],J=0};S.forEach(E=>{const $=E.reduce((L,W)=>L+P[W],0);X.length&&e[X[0]].section!==e[E[0]].section&&Q(),X.length&&J+$>j&&Q(),$>j?E.forEach(L=>{X.length&&J+P[L]>j&&Q(),X.push(L),J+=P[L]}):(E.forEach(L=>X.push(L)),J+=$)}),Q(),b(U)},[_]);const y=Ja,B=y,x=r??t.jsxs(t.Fragment,{children:[t.jsx("img",{src:B,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),N=(D,H,R)=>({header:t.jsxs("div",{className:"report-doc__header",children:[t.jsx("h2",{className:"report-doc__title h3b",children:R!=null&&n?.[R]||null}),a]}),footer:t.jsxs("div",{className:"report-doc__footer caption-1",children:[t.jsx("span",{className:"report-doc__footer-left",children:x}),t.jsx("span",{className:"report-doc__page-no",children:o(D,H)})]})}),M=N(1,1,e[0]?.section),k={...s?{"--report-page-w":s}:null,...l?{"--report-page-h":l}:null,...c?{"--report-margin":c}:null,...u};return t.jsxs("div",{ref:p,className:ye("report-doc",d),style:k,tabIndex:v?0:void 0,role:v?"group":void 0,"aria-label":v?h("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[t.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[t.jsx("div",{ref:f,className:"report-doc__ruler"}),t.jsxs("div",{ref:g,children:[M.header,M.footer]}),t.jsx("div",{ref:C,className:"report-doc__measure-blocks",children:e.map(D=>t.jsx("div",{children:D.content},D.id))})]}),m&&t.jsx("div",{className:"report-doc__pages",children:m.map((D,H)=>{const{header:R,footer:j}=N(H+1,m.length,e[D[0]].section);return t.jsxs("section",{className:"report-doc__page",children:[R,D.map(P=>t.jsx("div",{children:e[P].content},e[P].id)),j]},H)})})]})}function G5({title:e,fields:n,columns:a=4,className:r,style:o}){return t.jsxs("div",{className:ye("report-info",r),style:{"--report-info-cols":String(a),...o},children:[e&&t.jsx("p",{className:"report-info__title h5b",children:e}),t.jsx("div",{className:"report-info__grid",children:n.map((s,l)=>t.jsxs("div",{className:"report-info__field body-2",children:[t.jsx("span",{className:"report-info__label body-3",children:s.label}),t.jsx("span",{className:"report-info__value",children:s.value})]},l))})]})}function K5({title:e,message:n,actionLabel:a,onAction:r,icon:o,onClose:s,className:l=""}){const{t:c}=me.useTranslation(),d=a??c("common.update","\uC5C5\uB370\uC774\uD2B8");return t.jsxs("div",{className:ye("update-alert",l),role:"alert",children:[s&&t.jsx("button",{type:"button",className:"update-alert__close",onClick:s,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),t.jsxs("div",{className:"update-alert__top",children:[t.jsx("div",{className:"update-alert__icon",children:o??t.jsx(Kr,{size:20,strokeWidth:2})}),t.jsxs("div",{className:"update-alert__body",children:[t.jsx("div",{className:"update-alert__title h4",children:e}),t.jsx("div",{className:"update-alert__message body-3",children:n})]})]}),r&&t.jsx(te,{size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:d})]})}function Z5({title:e,description:n,topActions:a,children:r,footerLeft:o,footerRight:s,onClick:l,draggable:c,onDragStart:d,onDragEnd:u,className:h}){const p=o!=null||s!=null,C=r!=null&&r!==!1,g=i.useCallback(f=>{l&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),l())},[l]);return t.jsxs("div",{className:ye("training-card",l?"training-card--clickable":"",h),onClick:l,onKeyDown:l?g:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,draggable:c,onDragStart:d,onDragEnd:u,children:[t.jsxs("div",{className:"training-card__header",children:[t.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?t.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&t.jsx("div",{className:"training-card__top-actions",onClick:f=>f.stopPropagation(),children:a})]}),n!=null?typeof n=="string"?t.jsx("p",{className:"training-card__description body-3",children:n}):n:t.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),C&&t.jsx("div",{className:"training-card__body",children:r}),p&&t.jsxs("div",{className:"training-card__footer",children:[o!=null&&t.jsx("div",{className:"training-card__footer-left",children:o}),s!=null&&t.jsx("div",{className:"training-card__meta",children:s})]})]})}function Y5({title:e,count:n,collapsed:a=!1,onToggle:r,sort:o,actions:s,empty:l=!1,emptyContent:c,dragOver:d=!1,onDragOver:u,onDragLeave:h,onDrop:p,children:C,className:g}){const{t:f}=me.useTranslation(),m=r!=null,b=ye("training-card-group",d&&"training-card-group--dragover",a&&"training-card-group--collapsed",m&&"training-card-group--collapsible",g);return t.jsxs("div",{className:b,onDragOver:u,onDragLeave:h,onDrop:p,children:[t.jsxs("header",{className:"training-card-group__header",children:[m&&t.jsx(te,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron",onClick:r}),typeof e=="string"?t.jsx("span",{className:"training-card-group__title h5b",children:e}):e,n!==void 0&&t.jsx("span",{className:"training-card-group__count body-3b",children:n}),(o||s!=null)&&t.jsxs("span",{className:"training-card-group__actions",onClick:v=>v.stopPropagation(),children:[o&&t.jsx(Rt,{size:40,options:o.options,value:o.value,placeholder:o.placeholder,onChange:o.onChange}),s]})]}),!a&&(l?t.jsx("div",{className:"training-card-group__empty body-3",children:c}):t.jsx("div",{className:"training-card-group__grid",children:C}))]})}const X5="speechear:saved_word_tables";function J5(e){if(typeof e!="object"||e===null)return!1;const n=e;return typeof n.id=="string"&&typeof n.name=="string"&&Array.isArray(n.items)}function Q5(){try{const e=localStorage.getItem(X5);if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.filter(J5):[]}catch{return[]}}function eb({title:e,titleIcon:n,disc:a,items:r,onSaveComplete:o,onLoad:s,onRemoveItem:l,onReset:c,resetLabel:d,saveButtonLabel:u,secondarySaveButtonLabel:h,onReorder:p,showCellCount:C,onAddItem:g,className:f,renderSavePopup:m,renderWordSearch:b,hideControls:v,saveOnly:w,tableName:_,nameValue:y,onNameChange:B,descriptionValue:x,onDescriptionChange:N,namePlaceholder:M,descriptionPlaceholder:k,existingNames:D,editingName:H,onCancel:R}){const{t:j}=me.useTranslation(),P=d??j("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),S=r===void 0,U=!!B,[X,J]=i.useState([]),Q=(y??"").trim(),E=Q||(M??"").trim(),$=(x??"").trim()||(k??"").trim(),L=(D??[]).map(ce=>ce.trim().toLowerCase()),W=[H?.trim().toLowerCase(),...X].filter(ce=>!!ce),O=[...L];for(const ce of W){const we=O.indexOf(ce);we!==-1&&O.splice(we,1)}const Y=Q!==""&&O.includes(Q.toLowerCase()),[I,q]=i.useState(Array(4).fill(null)),[K,oe]=i.useState(4),[pe,fe]=i.useState(null),[ge,he]=i.useState("landscape"),[T,V]=i.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ee,Ce]=i.useState("\uD45C\uC2DC"),[ie,ue]=i.useState(!0),[se,ae]=i.useState(!0),je=i.useRef(null),Fe=i.useRef([]),[He,$e]=i.useState(8),[Ee,Se]=i.useState("right"),[ke,Pe]=i.useState(!1),[Ye,xe]=i.useState(!1),{toastMessage:Oe,toastType:De,showWarning:We,clearToast:Xe}=Ts("warning"),qe=i.useCallback(()=>fe(null),[fe]),[Re,ot]=i.useState(()=>Math.max(r?.length??1,1));i.useEffect(()=>{S||ot(ce=>Math.max(ce,r?.length??1))},[r?.length,S]);const pt=S?K:C?Math.max(Re,r?.length??1):Math.max(r?.length??0,1),{width:Ue,height:at}=jn[ge],Be=!S&&!C,Me=r?.length??0,et=Math.min(He,Math.max(Me,1)),tt=Be?et:pt,Ze=Be?Si(r??[],tt):null,rt=!!Ze&&Ze.length>1,Ct=S?I.some(ce=>ce!==null&&ce.length>1):(r??[]).some(ce=>ce.words.length>1),Pt=_?.trim()||`${Vo(jm())} ${Ct?j("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):j("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,Je=i.useCallback(()=>rt?Fe.current.filter(ce=>ce!==null):je.current?[je.current]:[],[rt]),{print:wt,openNewWindow:Bt,downloadHtml:Et}=mr({getElements:Je,paperW:Ue,paperH:at,fileName:Pt,onPopupBlocked:()=>{We(j("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Qt=ce=>{oe(ce),q(we=>{const ze=Array(ce).fill(null);return we.slice(0,ce).forEach((lt,ht)=>{ze[ht]=lt}),ze}),fe(null)},It=ce=>{q(we=>{const ze=[...we];return ze[ce]=null,ze}),pe===ce&&fe(null)},Vt=ce=>{if(pe===null)return;const we=pe;q(lt=>{const ht=[...lt];return ht[we]=ce,ht});const ze=I.findIndex((lt,ht)=>ht>we&&lt===null);fe(ze!==-1?ze:null)},en=S?I.some(ce=>ce?.some(we=>!!we.colloquialPronunciation)):(r??[]).some(ce=>ce.words.some(we=>!!we.colloquialLabel)),bt=i.useMemo(()=>kn()?S?I.flatMap(ce=>(ce??[]).map(we=>[we.word,we.homonum])):(r??[]).flatMap(ce=>ce.words.map(we=>[we.label,we.homonum])):[],[S,I,r]),[cn,yt]=i.useState(!1);i.useEffect(()=>{if(bt.length===0)return;let ce=!1;return Promise.all(bt.map(([we,ze])=>$o(we,ze))).then(we=>{ce||yt(we.some(Boolean))}),()=>{ce=!0}},[bt]);const Wt=bt.length>0&&cn,un=i.useMemo(()=>[...S||C?[{label:j("wordTable.filter.columns","\uCE78 \uC218"),items:Qg.map(ce=>({value:`${ce}\uCE78`,displayLabel:j("wordTable.filter.column",{count:ce})})),display:"segmented"}]:[],...Be&&(r?.length??0)>0?[Fi(j,{hasPairs:Ct,itemCount:Me})]:[],...rt?[Oi(j)]:[]],[j,S,C,Be,r?.length,Ct,Me,rt]),Ge={...S||C?{[j("wordTable.filter.columns","\uCE78 \uC218")]:`${S?K:Re}\uCE78`}:{},...Be&&(r?.length??0)>0?{[j(Ct?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${et}\uAC1C`}:{},...rt?{[j("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Hi[Ee]}:{}},St=(ce,we)=>{we===j("wordTable.filter.columns","\uCE78 \uC218")?S?Qt(parseInt(ce)):ot(parseInt(ce)):we===j(Ct?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?$e(parseInt(ce)):we===j("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&Se(zi(ce))},ft=S?I.filter(ce=>ce!==null).map(ce=>({id:ce[0].word,words:ce.map(we=>({label:we.word,subLabel:we.pronunciation,homonum:we.homonum}))})):r??[],qt=(ce=!1)=>{if(xe(ce),U&&o){const we=E.trim().toLowerCase();we&&J(ze=>ze.includes(we)?ze:[...ze,we]),o(E,ft,$||void 0,ce);return}if(w&&o){o("",ft,void 0,ce);return}if(o){Pe(!0);return}Et()},[Ft,Ot]=i.useState(!1),[Ht,re]=i.useState(""),F=Ht.trim(),Z=F!==""&&L.includes(F.toLowerCase()),le=()=>{re(E?`${E} (\uBCF5\uC0AC)`:""),Ot(!0)},be=()=>{!F||Z||!o||(o(F,ft,$||void 0,!0),Ot(!1))},ve=ft.length===0,Ne=ve||U&&(E===""||Y),Le=()=>{if(ve){We(j("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(U&&E===""){We(j("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}U&&Y&&We(j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},st=t.jsx(En,{items:ft,orientation:ge,contentTypes:T,cutLine:ee,showOutline:ie,showDivLine:se,count:pt});return t.jsxs(t.Fragment,{children:[t.jsxs(Sn,{type:"page",icon:n,title:e,disc:a,className:ye("word-table-block",f),children:[Ft&&t.jsx(on,{size:"small",title:h??j("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Ot(!1),footer:({closeWithAnimation:ce})=>t.jsxs(t.Fragment,{children:[t.jsx(te,{size:48,type:"bar",label:j("common.cancel","\uCDE8\uC18C"),onClick:ce}),t.jsx(te,{size:48,type:"bar",variant:"main",label:j("common.save","\uC800\uC7A5"),disabled:!F||Z,onClick:be})]}),children:t.jsx(gn,{label:j("wordTable.save.nameLabel","\uC774\uB984"),value:Ht,onChange:re,placeholder:j("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:be,error:Z?j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),ke&&o&&m?.({defaultName:typeof e=="string"?e:j("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:st,previewW:Ue,previewH:at,items:ft,existingNames:Q5().map(ce=>ce.name),saveAsNew:Ye,onSave:(ce,we)=>{o(ce,ft,we,Ye),Pe(!1)},onCancel:()=>Pe(!1)}),(S||g)&&pe!==null&&b?.({cellIndex:pe,onConfirm:S?Vt:ce=>{if(g){const we=ce[0];we&&g({id:we.word,words:[{label:we.word,subLabel:we.pronunciation,homonum:we.homonum}]})}fe(null)},onClose:qe}),!v&&t.jsx(dr,{hasImage:Wt,hasColloquial:en,contentTypes:T,orientation:ge,showOutline:ie,cutLine:ee,showDivLine:se,setters:{setContentTypes:V,setOrientation:he,setShowOutline:ue,setCutLine:Ce,setShowDivLine:ae},showCutLine:(Be?tt:pt)>1,showDivLine2:Ct,middleSections:un,extraSelected:Ge,onExtraSelect:St}),rt&&Ze?t.jsx("div",{className:"word-table-block__pages",children:Ze.map((ce,we)=>t.jsx(En,{orientation:ge,contentTypes:T,cutLine:ee,showOutline:ie,showDivLine:se,count:tt,items:ce,onRemoveItem:l,contentRef:ze=>{Fe.current[we]=ze},pageNumber:{current:we+1,total:Ze.length},pageNumberPosition:Ee},we))}):t.jsx(En,{orientation:ge,contentTypes:T,cutLine:ee,showOutline:ie,showDivLine:se,count:pt,items:S?void 0:r??[],editCells:S?I:void 0,activeCell:pe,onActivateCell:S||g?fe:void 0,onRemoveCell:S?It:void 0,onRemoveItem:S?void 0:l,onReorder:S?void 0:p,showFillerAdd:!!g,contentRef:je}),U&&!v&&t.jsxs(fa,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[t.jsx(sn,{variant:"custom",label:j("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:t.jsx(gn,{required:!0,value:y??"",onChange:B,placeholder:M?M+j("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):j("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:j("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:Y?j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ce=>{(ce.key==="Tab"&&!ce.shiftKey||ce.key===" ")&&!(y??"").trim()&&(M??"").trim()&&(ce.preventDefault(),B?.(M??""))}})}),t.jsx(sn,{variant:"custom",label:j("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:t.jsx(gn,{value:x??"",onChange:N,placeholder:k?k+j("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):j("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:j("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ce=>{(ce.key==="Tab"&&!ce.shiftKey||ce.key===" ")&&!(x??"").trim()&&(k??"").trim()&&(ce.preventDefault(),N?.(k??""))}})})]})]}),!v&&t.jsxs("div",{className:"word-table-block__actions",children:[t.jsxs("div",{className:"word-table-block__actions-left",children:[!w&&c&&t.jsx(te,{size:40,type:"bar",label:P,onClick:c}),!w&&s&&t.jsx(te,{size:40,type:"bar",label:j("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:s}),!w&&t.jsx(te,{size:40,type:"bar",label:j("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Bt})]}),t.jsxs("div",{className:"word-table-block__actions-right",children:[R&&t.jsx(te,{size:"56",type:"bar",label:j("common.cancel","\uCDE8\uC18C"),onClick:R}),!w&&t.jsx(te,{size:"56",type:"bar",label:j("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:wt}),h&&t.jsx(te,{size:"56",type:"bar",label:h,onClick:()=>U?le():qt(!0),disabled:ve,onDisabledClick:()=>{We(j("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),t.jsx(te,{size:"56",type:"bar",variant:"main",label:u??j("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>qt(!1),disabled:Ne,onDisabledClick:Le})]})]}),t.jsx(Bn,{message:Oe,type:De,onClose:Xe})]})}function Al({items:e,className:n}){const a=e.length,r=a<=3?1:2,o=Math.ceil(a/r)||1,s=r*o;return t.jsx("div",{className:ye("word-table-thumb",n),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:s},(l,c)=>{const d=e[c];return d?t.jsx("div",{className:"word-table-thumb__cell",children:(d.words.length?d.words:[{label:d.id}]).map((u,h)=>t.jsxs(i.Fragment,{children:[h>0&&t.jsx("span",{className:"word-table-thumb__divider"}),t.jsx("span",{className:"word-table-thumb__word body-3",children:u.label})]},h))},c):t.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}function tb({items:e,name:n,description:a,createdAt:r,published:o,publishedLabel:s,shared:l,sharedLabel:c,isNew:d,publisherName:u,publishedAt:h,likeCount:p,downloadCount:C,onPublisherClick:g,selected:f,onClick:m,onMore:b,titleNode:v,className:w}){const{t:_}=me.useTranslation(),y=v!=null,B=u!=null||h!=null||p!=null||C!=null,x=N=>{!y&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),m?.())};return t.jsxs("div",{className:ye("word-table-button",f?"word-table-button--selected":"",B?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":n,onClick:y?void 0:m,onKeyDown:x,children:[d&&t.jsx("span",{className:"word-table-button__new-dot","aria-label":_("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),t.jsx(Al,{items:e,className:"word-table-button__thumb"}),t.jsxs("div",{className:"word-table-button__info",children:[t.jsxs("div",{className:"word-table-button__info-text",children:[v??t.jsx("div",{className:"word-table-button__title h4",children:n}),a&&t.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),b&&!y&&t.jsx(te,{className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:_("common.moreFor",{name:n}),onClick:N=>{N.stopPropagation(),b(N)}})]}),(r||o||l)&&t.jsxs("div",{className:"word-table-button__meta-row",children:[t.jsx("span",{className:"word-table-button__meta caption-1",children:r?zo(r,_):""}),t.jsxs("span",{className:"word-table-button__badges",children:[o&&t.jsx(ut,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:s??"\uBC1C\uD589\uB428"}),l&&t.jsx(ut,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??"\uACF5\uC720 \uC911"})]})]}),B&&t.jsxs("div",{className:"word-table-button__footer",children:[t.jsxs("span",{className:"word-table-button__store-by",children:[u&&t.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:N=>{N.stopPropagation(),g?.()},children:u}),h&&t.jsx("span",{className:"training-card__date body-4",children:zo(h,_)})]}),t.jsxs("span",{className:"word-table-button__store-stats",children:[p!=null&&t.jsx(ut,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(p)}),C!=null&&t.jsx(ut,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(C)})]})]})]})}/**
968
+ `).map((l,c,d)=>t.jsxs(i.Fragment,{children:[l,c<d.length-1&&t.jsx("br",{})]},c))})}),t.jsxs("div",{className:"site-footer__links",children:[t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.site.title","\uC0AC\uC774\uD2B8")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.malgwi","\uB9D0\uADC0")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.sns.title","SNS")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:s("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.policy.title","\uC815\uCC45")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:s("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"#",onClick:l=>{n&&(l.preventDefault(),n())},children:s("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),t.jsx("hr",{className:"site-footer__rule"}),t.jsxs("div",{className:"site-footer__bottom",children:[t.jsx("div",{className:"site-footer__brand",children:t.jsx("img",{src:Ja,alt:"IHAB",className:"site-footer__logo"})}),t.jsxs("div",{className:"site-footer__meta",children:[t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:s("footer.ceo","\uB300\uD45C")}),t.jsx("span",{className:"footer-meta caption-1",children:s("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:s("footer.address","\uC8FC\uC18C")}),t.jsx("span",{className:"footer-meta caption-1",children:s("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:s("footer.support","\uACE0\uAC1D\uC13C\uD130")}),t.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",o]})]})]})]}),t.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function T4({logo:e,logoAlt:n="",logoHref:a,links:r=[],actions:o,className:s,containerClassName:l,renderLink:c,menuLabel:d={open:"\uBA54\uB274 \uC5F4\uAE30",close:"\uBA54\uB274 \uB2EB\uAE30"}}){const[u,h]=i.useState(!1),p=l?`${l} landing-header__inner`:"landing-header__inner",C=(g,f)=>c?c(g,{onClick:f}):t.jsx("a",{href:g.href,onClick:f,"aria-current":g.current?"page":void 0,children:g.label});return t.jsxs("header",{className:s?`landing-header ${s}`:"landing-header",children:[t.jsxs("div",{className:p,children:[e!=null&&(()=>{const g=typeof e=="string"?t.jsx("img",{src:e,alt:n,className:"landing-header__logo"}):e;return a?t.jsx("a",{href:a,className:"landing-header__brand",children:g}):t.jsx("div",{className:"landing-header__brand",children:g})})(),r.length>0&&t.jsx("nav",{className:"landing-header__links",children:r.map(g=>t.jsx("span",{children:C(g)},g.href))}),t.jsxs("div",{className:"landing-header__actions",children:[o,r.length>0&&t.jsx("button",{type:"button",onClick:()=>h(g=>!g),"aria-expanded":u,"aria-controls":"landing-header-drawer","aria-label":u?d.close:d.open,className:u?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:t.jsxs("span",{className:"landing-header__burger",children:[t.jsx("span",{}),t.jsx("span",{}),t.jsx("span",{})]})})]})]}),r.length>0&&t.jsx("nav",{id:"landing-header-drawer",hidden:!u,className:"landing-header__drawer",children:t.jsx("div",{className:l??void 0,children:r.map(g=>t.jsx("span",{className:"landing-header__drawer-item",children:C(g,()=>h(!1))},g.href))})})]})}function M4({children:e,action:n,onClick:a,className:r}){const o=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return t.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:t.jsxs("div",{className:o,onClick:a,...bi(a),children:[t.jsx("div",{className:"bottom-sticky__content",children:e}),n]})})}const fr=9,L4=e=>Math.round(Math.min(fr,Math.max(0,e))/fr*100),$4=e=>e/100*fr,Ki={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},Zi=i.createContext(null);function gr(){return i.useContext(Zi)}const br=e=>`${Yh()}/${e}`,Yi=e=>Array.from({length:10},(n,a)=>br(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),ma={get defaultNoise(){return br("noise1.mp3")},get street(){return Yi("noise2")},get restaurant(){return Yi("noise3")},get buzz(){return br("noise4.mp3")}};function R4(e){const n=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return ma.defaultNoise;case"street":return ma.street[n];case"restaurant":return ma.restaurant[n];case"buzz":return ma.buzz;default:return null}}function P4({noisePlayer:e,audioRef:n,playbackStateRef:a}){const r=i.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const o=i.useRef(null),[s,l]=i.useState(null),c=i.useRef(null),d=i.useRef(null),u=i.useRef(null),h=i.useRef(0),p=i.useRef(null),C=i.useCallback(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),p.current!==null&&(clearTimeout(p.current),p.current=null)},[]),g=i.useCallback((b,v=250)=>{const w=o.current;if(!w||!w.src)return;h.current+=1,C();try{La(),r.current?.("noise",$a(w))}catch{}const _=w.paused?0:w.volume;w.paused&&(w.volume=0),w.play().catch(()=>{});const y=performance.now(),B=()=>{const x=Math.min(1,(performance.now()-y)/v);try{w.volume=Math.max(0,Math.min(1,_+(b-_)*x))}catch{}x<1?u.current=requestAnimationFrame(B):u.current=null};u.current=requestAnimationFrame(B)},[C]),f=i.useCallback((b=250,v)=>{const w=o.current;if(!w||w.paused){v?.();return}const _=++h.current;C();const y=performance.now(),B=w.volume,x=()=>{const N=Math.min(1,(performance.now()-y)/b);try{w.volume=Math.max(0,B*(1-N))}catch{}if(N<1)u.current=requestAnimationFrame(x);else{u.current=null,p.current!==null&&(clearTimeout(p.current),p.current=null);try{w.pause()}catch{}v?.()}};u.current=requestAnimationFrame(x),p.current=setTimeout(()=>{if(p.current=null,h.current===_){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{w.paused||(w.volume=0,w.pause(),v?.())}catch{}}},b+150)},[C]);i.useEffect(()=>{const b=document.createElement("audio");return b.loop=!0,b.crossOrigin="anonymous",o.current=b,()=>{C();try{b.pause(),b.src=""}catch{}o.current=null}},[C]);const m=!!e?.settings.enabled&&(e?.settings.level??0)>0;return i.useEffect(()=>{if(!m)return;let b=0;const v=setInterval(()=>{const w=o.current;if(!w||w.paused){b=0;return}const _=n.current;if(_&&!_.paused&&!_.ended||a.current==="playing"){b=0;return}b+=1,b>=2&&(b=0,f())},400);return()=>clearInterval(v)},[f,m,n,a]),i.useEffect(()=>{const b=()=>{if(!document.hidden)return;const v=o.current;if(v&&!v.paused){C();try{v.pause()}catch{}}};return document.addEventListener("visibilitychange",b),()=>document.removeEventListener("visibilitychange",b)},[C]),i.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,level:e.settings.level,type:e.settings.type}:null},[e,e?.settings.enabled,e?.settings.level,e?.settings.type]),i.useEffect(()=>{const b=e?.settings,v=o.current;if(!v)return;if(!b||!b.enabled||b.level===0){f();return}const w=Math.min(1,b.level/9);if(c.current!==b.type){const _=R4(b.type);_&&(c.current=b.type,l(_),f(150,()=>{v.src=_,v.load();const y=n.current;y&&!y.paused&&v.addEventListener("canplay",function B(){v.removeEventListener("canplay",B);const x=n.current;x&&!x.paused&&!x.ended&&g(w)})}))}else{const _=n.current,y=!!_&&!_.paused&&!_.ended;if(y&&v.paused&&v.src)g(w);else if(!v.paused)if(!y)f();else{C();const B=v.volume,x=performance.now(),N=()=>{const M=Math.min(1,(performance.now()-x)/150);try{v.volume=B+(w-B)*M}catch{}M<1?u.current=requestAnimationFrame(N):u.current=null};u.current=requestAnimationFrame(N)}}},[e?.settings,e?.settings.enabled,e?.settings.level,e?.settings.type,C,g,f,n]),i.useEffect(()=>{const b=o.current;if(b)try{b.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:o,activeNoiseUrl:s,noiseSettingsRef:d,cancelNoiseFade:C,fadeInNoise:g,fadeOutNoise:f}}function I4({ttsText:e,playbackRate:n,mainVolume:a,fillRef:r,waveProgressRef:o,setProgress:s,setPlaybackState:l,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:h,onDoneRef:p,handleEndRef:C}){const g=i.useRef(null),f=i.useRef(0),m=i.useRef(null);i.useEffect(()=>()=>{try{if(m.current&&(cancelAnimationFrame(m.current),m.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const b=(_,y=1)=>{try{const B=(_||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(_||"").length);return Math.max(700,Math.round(B*300/Math.max(.25,y)))}catch{return 1200}},v=i.useCallback(_=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!0)}catch{}return}const y=window.speechSynthesis;try{try{y.cancel()}catch{}const B=_??e,x=(Array.isArray(B)?B[0]??"":B)||"",N=new SpeechSynthesisUtterance(x);try{N.rate=Math.max(.3,Math.min(3,n))}catch{}try{N.volume=Math.max(0,Math.min(1,a))}catch{}f.current=b(x,N.rate||1),g.current=performance.now(),s(0),l("playing"),c("playMode");const M=h.current;M?.enabled&&(M?.level??0)>0&&d(M.level/9);const k=()=>{try{const D=g.current||performance.now(),H=performance.now()-D,R=f.current||1200,j=Math.min(1,H/R);s(j);try{r.current&&(r.current.style.left=`${j*100}%`),o.current&&o.current.style.setProperty("--progress",String(j))}catch{}j<1&&(m.current=requestAnimationFrame(k))}catch{}};N.onend=()=>{try{m.current&&(cancelAnimationFrame(m.current),m.current=null),s(1),l("stopped");try{C.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},N.onstart=()=>{try{m.current&&(cancelAnimationFrame(m.current),m.current=null),m.current=requestAnimationFrame(k)}catch{}};try{y.speak(N)}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}},[e,n,a,d,r,o,s,l,c,h,p,C]),w=i.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}m.current&&(cancelAnimationFrame(m.current),m.current=null),u(),g.current=null}catch{}l("stopped"),c("active"),s(0)},[u,l,c,s]);return{startTTS:v,stopTTS:w}}async function F4(e,n,a){try{const r=window.AudioContext||window.webkitAudioContext,o=new r,s=await o.decodeAudioData(e.slice(0)),l=s.numberOfChannels>0?s.getChannelData(0):null;if(!l)return null;const c=a&&a>0?Math.min(l.length,Math.floor(a*s.sampleRate)):l.length,d=Math.max(n,c),u=Math.floor(d/n)||1,h=new Array(n).fill(0).map((p,C)=>{const g=C*u,f=Math.min(g+u,d);let m=0;for(let b=g;b<f;b++){const v=Math.abs(l[b]);v>m&&(m=v)}return m});try{o.close&&o.close()}catch{}return h}catch{return null}}async function Xi(e,n,a){try{const r=await(await fetch(e)).arrayBuffer();return await F4(r,n,a)}catch(r){try{const o=Fo(r)}catch{}return null}}const Ji=4;function O4(e){const{src:n,segments:a,progress:r=0,waveProgressRef:o,noiseSrc:s,noiseLevel:l=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:h,showSoundWaveForm:p=!0}=e,C=i.useRef(null),g=i.useRef(null),[f,m]=i.useState(null),[b,v]=i.useState(!1),[w,_]=i.useState(null),[y,B]=i.useState(2),[x,N]=i.useState(0),[M,k]=i.useState(null),[D,H]=i.useState(!1),R=3,j=3,P=1,S=300,U=i.useRef(0),X=i.useCallback(async(oe,pe)=>{const fe=++U.current,ge=()=>U.current===fe;try{if(v(!1),!oe){ge()&&m(null);return}let he=pe;if(!he)try{for(let Fe=0;Fe<4&&!(C.current||g.current);Fe++)await new Promise(He=>requestAnimationFrame(He));await new Promise(Fe=>requestAnimationFrame(Fe));const V=C.current,ee=g&&g.current?g.current:V?V.closest(".audio-player__wave"):null,Ce=ee?ee.getBoundingClientRect():V?V.getBoundingClientRect():null,ie=Ce?Math.max(100,Ce.width):320,ue=Ce?Ce.height:0;ue>0&&N(ue),he=Math.max(P,Math.min(S,Math.floor((ie+j)/(R+j))));const se=he*R,ae=Math.max(0,he-1),je=ae>0?(ie-se)/ae:j;B(Math.max(0,je))}catch{he=120}const T=await Xi(oe,he);if(!ge())return;if(!T){m(null),v(!1);return}m(T),_(he),v(!0)}catch{if(!ge())return;m(null),v(!1)}},[v,m,N,B,_]);i.useEffect(()=>{const oe=a&&a[0]&&a[0].src||n||a&&a.length===1&&a[0]&&a[0].src;X(typeof oe=="string"?oe:void 0).catch(()=>{}),H(!1)},[n,a,X]),i.useEffect(()=>{let oe=!1;if(!s||!w){k(null);return}const pe=d>0?d*(c||1):void 0;return Xi(s,w,pe).then(fe=>{oe||k(fe)}).catch(()=>{oe||k(null)}),()=>{oe=!0}},[s,w,d,c]);const J=Math.max(0,Math.min(1,u)),Q=i.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),E=w||40,$=i.useMemo(()=>Array.from({length:E}).map((oe,pe)=>{const fe=f&&f[pe]!=null?f[pe]:null,ge=fe==null?null:Math.min(1,fe/Q*J),he=ge!=null&&x>0&&ge*x<=Ji,T=ge==null?.15:he?0:ge,V=E>1?pe/(E-1):0;return t.jsx("div",{className:he?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":T,"--i":pe,"--mix":V}},pe)}),[E,f,Q,J,x]),L={"--progress":String(Math.max(0,Math.min(1,r)))},W={"--bar-gap":`${y}px`},O=Math.max(0,Math.min(9,l))/9,Y=b&&(s?!!M:!0);i.useEffect(()=>{Y&&H(!0)},[Y]);const I=D?b:Y;i.useEffect(()=>{h?.(I)},[I,h]);const q=w||40,K=i.useMemo(()=>Array.from({length:q}).map((oe,pe)=>{const fe=M&&M[pe]!=null?M[pe]:null,ge=fe==null?0:Math.min(1,fe/Q*O),he=x>0&&ge*x<=Ji,T=he?0:ge,V=q>1?pe/(q-1):0;return t.jsx("div",{className:he?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":T,"--i":pe,"--mix":V}},pe)}),[q,M,Q,O,x]);return t.jsxs("div",{className:"audio-player__wave",ref:g,style:W,children:[s&&t.jsx("div",{className:`audio-player__wave-noise ${Y?"is-ready":""}`,"aria-hidden":"true",children:K}),p&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${I?"is-ready":""}`,ref:C,children:$}),t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${I?"is-ready":""}`,ref:o,style:L,children:$})]})]})}const H4={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function yr(e,n){return new Promise((a,r)=>{const o=document.createElement("audio");let s=!1;const l=()=>{try{o.src=""}catch{}},c=()=>{if(s)return;s=!0;const u=isFinite(o.duration)&&o.duration||0;l(),a(u)},d=u=>{s||(s=!0,l(),n.rejectOnError?r(new Error(u)):a(0))};o.addEventListener("loadedmetadata",c),o.addEventListener("error",()=>d("audio load failed")),setTimeout(()=>d("audio load timeout"),n.timeoutMs),o.src=e})}const z4=2e3;function Qi(e,n=z4){return new Promise(a=>{let r=!1;const o=()=>{r||(r=!0,a())};e.addEventListener("canplay",o,{once:!0}),e.addEventListener("error",o,{once:!0}),setTimeout(o,n)})}function V4({showSoundWaveForm:e,showNoiseWaveForm:n,timeoutMs:a=2500}){const r=i.useRef(!1),o=i.useRef([]),s=i.useCallback(d=>{if(r.current=d,!d||!o.current.length)return;const u=o.current;o.current=[];for(const h of u)h()},[]),l=i.useCallback(()=>{r.current=!1},[]),c=i.useCallback(()=>!e&&!n||r.current?Promise.resolve():new Promise(d=>{const u=setTimeout(d,a);o.current.push(()=>{clearTimeout(u),d()})}),[e,n,a]);return i.useEffect(()=>()=>{const d=o.current;o.current=[];for(const u of d)u()},[]),{onReadyChange:s,waitForReady:c,markNotReady:l}}function W4(){const e=i.useRef([]),n=i.useCallback(o=>(e.current.push(o),o),[]),a=i.useCallback(o=>{const s=new Set([...o].filter(Boolean));e.current=e.current.filter(l=>{if(s.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),r=i.useCallback(()=>{a([])},[a]);return i.useEffect(()=>()=>{for(const o of e.current)try{URL.revokeObjectURL(o)}catch{}e.current=[]},[]),{track:n,keepOnly:a,revokeAll:r}}function q4({offsetY:e=8}={}){const n=i.useRef(null),[a,r]=i.useState(null),o=i.useCallback(()=>r(null),[]),s=i.useCallback(()=>{try{const l=n.current?.getBoundingClientRect();if(!l)return;r({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return i.useEffect(()=>{if(a)return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[a,o]),{ref:n,rect:a,show:s,hide:o}}function U4({currentTime:e,sources:n,index:a,audioDuration:r}){const o=a||0,s=Array.isArray(n)&&n.length>0?n[o]:void 0,l=s?s.duration||r||0:r||0;if(!(l>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/l))}function G4(e,n){if(!Array.isArray(e))return null;const a=n||0;return a<e.length-1?a+1:null}function K4({ended:e,completedByEnd:n}){return!!e||!!n}function Z4(e){return e.map((n,a)=>({src:n.src,label:String(a+1),color:void 0,duration:n.duration||0}))}function Y4(e){return e.reduce((n,a)=>n+(a.duration||0),0)}function X4(e,n,a){const r=Array.isArray(e)?e:e?[e]:[],o=[];for(const s of r)if(s){if(typeof s=="object"&&s!==null&&"src"in s&&s.src){const l=s;o.push({code:l.code??null,src:l.src});continue}if(typeof s=="string"&&(s.startsWith("http")||s.includes("/"))){o.push({code:null,src:s});continue}if(typeof s=="string"||typeof s=="number"){const l=String(s),c=a(l,n);c&&o.push({code:l,resolvedPath:c})}}return o}function J4({audioRef:e,fillRef:n,waveProgressRef:a,sourcesRef:r,currentIndexRef:o}){const s=i.useRef(null),l=i.useCallback(()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null)},[]),c=i.useCallback(()=>{if(s.current!==null)return;const u=()=>{try{const h=e.current,p=U4({currentTime:h&&typeof h.currentTime=="number"?h.currentTime:0,sources:r.current,index:o.current,audioDuration:h&&h.duration?h.duration:0});try{n.current&&(n.current.style.left=`${p*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(p))}catch{}}catch{}s.current=requestAnimationFrame(u)};s.current=requestAnimationFrame(u)},[e,n,a,r,o]),d=i.useCallback(u=>{l();try{n.current&&(n.current.style.left=`${u*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(u))}catch{}},[l,n,a]);return i.useEffect(()=>l,[l]),{start:c,stop:l,settleTo:d}}function vr({btnLabel:e,soundSrc:n,bucketPath:a,onDone:r,disabled:o=!1,ttsText:s=null,className:l,showSoundWaveForm:c=!0,showNoiseWaveForm:d=!0}){const{t:u}=me.useTranslation(),h=e,p=gr(),C=i.useRef(p?.registerAnalyser);i.useEffect(()=>{C.current=p?.registerAnalyser});const g=i.useRef(null),f=i.useRef(null),m=i.useRef(null),b=W4(),v=i.useRef(null),w=i.useRef(!1),_=i.useRef(0),y=i.useRef(null),{ref:B,rect:x,show:N,hide:M}=q4();i.useEffect(()=>()=>{C.current?.("main",null),C.current?.("noise",null)},[]);const[k,D]=i.useState(!1),[H,R]=i.useState("idle"),[j,P]=i.useState("stopped"),S=i.useRef("stopped");i.useEffect(()=>{S.current=j},[j]);const[U,X]=i.useState(0),[J,Q]=i.useState("active"),[E,$]=i.useState(null),[L,W]=i.useState(null),[O,Y]=i.useState(0),[I,q]=i.useState(!1),[K,oe]=i.useState(0),pe=p?.playbackRate??1,fe=p?.mainVolume??1,[ge,he]=i.useState("idle"),[T,V]=i.useState(""),[ee]=i.useState("top"),Ce=i.useRef(null),ie=i.useRef(0),ue=i.useRef(null),{start:se,stop:ae,settleTo:je}=J4({audioRef:g,fillRef:f,waveProgressRef:ue,sourcesRef:Ce,currentIndexRef:ie}),{onReadyChange:Fe,waitForReady:He,markNotReady:$e}=V4({showSoundWaveForm:c,showNoiseWaveForm:d}),Ee=i.useRef(null),Se=i.useRef(o),ke=i.useRef(r),Pe=i.useRef(null),Ye=i.useRef(!1),[xe,Oe]=i.useState(!1),De=i.useCallback(F=>{Ye.current=F,Oe(F)},[]),We=i.useRef(null),{activeNoiseUrl:Xe,noiseSettingsRef:qe,fadeInNoise:Re,fadeOutNoise:ot}=P4({noisePlayer:p,audioRef:g,playbackStateRef:S}),{startTTS:pt,stopTTS:Ue}=I4({ttsText:s,playbackRate:pe,mainVolume:fe,fillRef:f,waveProgressRef:ue,setProgress:X,setPlaybackState:P,setStateLocal:Q,fadeInNoise:Re,fadeOutNoise:ot,noiseSettingsRef:qe,onDoneRef:ke,handleEndRef:We}),at=Array.isArray(n)?n.filter(Boolean):n?[n]:[],Be=(!at||at.length===0)&&!!s,Me=Array.isArray(E)&&E.length>0?E:Array.isArray(L)&&L.length>0?L:null,et=Math.max(Array.isArray(Me)?Me.length:0,at.length),tt=i.useCallback(async(F,Z=3,le=50)=>{for(let be=0;be<Z;be++)try{return await F.play(),!0}catch(ve){if((ve instanceof Error||typeof ve=="object"&&ve&&"name"in ve?ve.name:void 0)==="AbortError"){await new Promise(Ne=>setTimeout(Ne,le));continue}try{V(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{V(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),Ze=i.useCallback(()=>{const F=g.current;if(!F)return;const Z=()=>{P("playing"),Q("playMode"),q(!0),se();try{La(),C.current?.("main",$a(F))}catch{}const ve=qe.current;ve?.enabled&&(ve?.level??0)>0&&Re(ve.level/9)},le=()=>{K4({ended:!!F?.ended,completedByEnd:Ye.current})||(P("paused"),ae(),ot())},be=()=>{try{const ve=Ce.current,Ne=G4(ve,ie.current);if(Ne!==null){ie.current=Ne,Y(Ne),q(!0);const Le=ve?.[Ne]&&ve[Ne].src;if(Le&&F){F.src=Le,F.load(),tt(F).catch(()=>{});return}}}catch{}P("stopped"),X(1);try{if(F)try{F.currentTime=0}catch{}}catch{}ae(),q(!1),ot();try{!Se.current&&We.current&&We.current()}catch{}};return F.addEventListener("play",Z),F.addEventListener("pause",le),F.addEventListener("ended",be),()=>{try{F.removeEventListener("play",Z),F.removeEventListener("pause",le),F.removeEventListener("ended",be),ae()}catch{}}},[Re,ot,tt,qe,se,ae]);i.useEffect(()=>Ze(),[Ze]),i.useEffect(()=>{Se.current=o},[o]),i.useEffect(()=>{ke.current=r},[r]),i.useEffect(()=>{if(o||J!=="active")return;const F=y.current;if(!F)return;let Z=null;const le=requestAnimationFrame(()=>{try{const be=F.getTotalLength();if(!be)return;const ve=be*.2;F.style.strokeDasharray=`${be-ve} ${ve}`;const Ne="triFlow_"+Math.random().toString(36).slice(2);Z=document.createElement("style"),Z.textContent=`@keyframes ${Ne}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${be}}}`,document.head.appendChild(Z),F.style.animation=`${Ne} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(le),Z?.remove()}},[J,o]),i.useEffect(()=>{Ce.current=E},[E]),i.useEffect(()=>{ie.current=O},[O]),i.useEffect(()=>{const F=m.current,Z=v.current;if(!F||!Z)return;let le=null;const be=32,ve=60,Ne=()=>{try{const st=Array.from(F.querySelectorAll(":scope > .button"));let ce=0;st.forEach(Mt=>{if(Mt===Z)return;const Mn=Mt.getBoundingClientRect();ce+=Mn.width});const we=F.getBoundingClientRect().width,ze=Math.max(0,Math.floor(we-ce-8)),lt=et;if(!lt||ze<=0){Array.from(Z.children).forEach(Mt=>{try{Mt.style.width=""}catch{}});return}let ht=Math.floor(ze/lt);ht>ve&&(ht=ve),ht<be&&(ht=Math.max(be,Math.floor(ze/lt))),Array.from(Z.querySelectorAll(".button")).forEach(Mt=>{try{Mt.style.width=`${ht}px`}catch{}})}catch{}},Le=requestAnimationFrame(Ne);try{le=new ResizeObserver(()=>{requestAnimationFrame(Ne)}),le.observe(F),le.observe(Z),window.addEventListener("resize",Ne)}catch{}return()=>{try{cancelAnimationFrame(Le)}catch{}try{le&&(le.disconnect(),le=null)}catch{}try{window.removeEventListener("resize",Ne)}catch{}}},[E,L,et]),i.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),Pe.current&&(clearTimeout(Pe.current),Pe.current=null)}catch{}},[]);const rt=(F,Z)=>{$(F),oe(Z),$e(),W(Z4(F)),Ce.current=F},Ct=async(F,Z)=>{De(!1),w.current=!1,F.src=Z,F.load(),await Qi(F),await He(),D(!1),await tt(F),Q("playMode"),Y(0),q(!0)},Pt=async(F,Z=!1)=>{const le=g.current;D(!0),R("measuring_duration");try{const be=await yr(F,{timeoutMs:1e4,rejectOnError:!0});rt([{src:F,objectUrl:null,duration:be}],be),R("ready"),Z&&le&&await Ct(le,F)}finally{w.current=!1,D(!1)}},Je=async(F,Z=!1)=>{const le=g.current;D(!0),R("measuring_duration");try{const be=await Promise.all(F.map(Ne=>yr(Ne,{timeoutMs:1e4}))),ve=F.map((Ne,Le)=>({src:Ne,objectUrl:null,duration:be[Le]||0}));rt(ve,Y4(ve)),R("ready"),Z&&le&&ve.length>0&&await Ct(le,ve[0].src)}finally{w.current=!1,D(!1)}},wt=async(F=!1,Z=!0)=>{const le=g.current,be=n?Array.isArray(n)?n:[n]:[];if(!(!be||be.length===0||!be.some(Boolean))&&!w.current){w.current=!0,Z&&D(!0),R("resolving");try{const ve=X4(n,a,Do),Ne=[];let Le=0;for(const st of ve){let ce=st.src??null,we=null;if(!ce&&st.resolvedPath){try{R("getting_signed_url"),ce=await jo(st.resolvedPath)}catch{ce=null}if(!ce)try{R("downloading");const lt=await Eo(st.resolvedPath);if(lt){const ht=lt instanceof Blob?lt:new Blob([lt]);we=b.track(URL.createObjectURL(ht)),ce=we}}catch{R("error");try{V(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),Q("active")}catch{}}}if(!ce)continue;let ze=0;try{R("measuring_duration"),ze=await yr(ce,{timeoutMs:3e3})}catch{ze=0}Le+=ze||0,Ne.push({...st,src:ce,objectUrl:we,duration:ze})}if(rt(Ne,Le),Ne.length>0&&F&&le){const st=Ne[0];De(!1);try{b.keepOnly(Ne.map(ce=>ce.objectUrl))}catch{}if(R("ready"),w.current=!1,st.src&&le)try{le.src=st.src,le.load(),await Qi(le),await He(),Z&&D(!1),le&&await tt(le)}catch{Z&&D(!1)}else Z&&D(!1);Q("playMode"),Y(0),q(!0)}}finally{w.current=!1,Z&&D(!1),R(ve=>ve==="ready"?"ready":"idle")}}},Bt=async()=>{const F=g.current;if(!(!F&&!Be)){if(Be){const Z=window.speechSynthesis;if(J==="active"){const le=Ma(),be=Array.isArray(s)?s.filter(Boolean):s?[s]:[];if(le&&be.length>0){Q("load"),D(!0),R("resolving"),w.current=!0;try{const ve=await Promise.all(be.map(Ne=>Promise.resolve(le(Ne))));ve.length>1?await Je(ve,!0):await Pt(ve[0],!0)}catch{w.current=!1,D(!1),Q("active"),pt(be[0]||void 0)}return}pt(be[0]||void 0);return}if(J==="playMode"){if(F){if(F.paused){if(Ye.current){await Et();return}await tt(F),P("playing")}else F.pause(),P("paused");return}try{if(Z&&Z.paused)try{Z.resume(),P("playing")}catch{}else try{Z.pause(),P("paused")}catch{}}catch{}}return}if(J==="active"){if(o&&Array.isArray(Ce.current)&&Ce.current.length>0){const Z=Ce.current[0];try{if(Z.src&&F)try{F.src=Z.src,F.load(),F&&await tt(F)}catch{}Q("playMode"),Y(0),q(!0);return}catch{}}Q("load"),await wt(!0);return}if(J!=="load"&&(J==="playMode"||J==="active"))try{if(F&&F.paused){if(Ye.current){await Et();return}F&&await tt(F),P("playing")}else F&&(F.pause(),P("paused"))}catch(Z){(Z instanceof Error||typeof Z=="object"&&Z&&"name"in Z)&&Z.name}}},Et=async()=>{const F=g.current;if(F)try{const Z=Ce.current;if(Array.isArray(Z)&&Z.length>1){await yt(0);return}De(!1);try{F.currentTime=0}catch{}F&&await tt(F),P("playing"),Q("playMode")}catch{}},Qt=()=>{if(Be){Ue();return}const F=g.current;try{if(F){try{F.pause()}catch{}try{F.currentTime=0}catch{}}}catch{}ot(),P("stopped"),Q("active"),X(0),q(!1)},It=async(F,{sameSegment:Z=!1}={})=>{const le=++_.current,be=g.current,ve=Ce.current?.[F]?.src;try{if(De(!1),Y(F),q(!0),ie.current=F,!ve||!be||(Z||$e(),be.src=ve,be.load(),Z||await He(),le!==_.current)||(await tt(be),le!==_.current))return;P("playing"),Q("playMode")}catch{}},Vt=async()=>{const F=Ce.current,Z=ie.current||0;if(!F||Z<=0){await Et();return}await It(Z-1)},en=async()=>{const F=Ce.current,Z=ie.current||0;if(!F||Z>=F.length-1){Qt();return}await It(Z+1)},bt=()=>{if(Ye.current)return;const F=200,Z=340;De(!0);try{X(1)}catch{}je(1);try{he("hold")}catch{}try{const le=g.current,be=Be&&!!le?.src;if(!Be||be){if(le){le.pause();try{le.currentTime=0}catch{}}}else Ue();ot()}catch{}try{P("stopped")}catch{}if(q(!1),!Se.current)try{Pe.current&&(clearTimeout(Pe.current),Pe.current=null),Pe.current=setTimeout(()=>{try{he("out")}catch{}Pe.current=setTimeout(()=>{try{typeof ke.current=="function"&&ke.current(!0)}catch{}try{he("idle")}catch{}Pe.current=null},Z)},F)}catch{}};i.useEffect(()=>{We.current=bt});const cn=i.useCallback(()=>V(""),[]),yt=async F=>{(Ce.current||[])[F]&&await It(F,{sameSegment:F===ie.current})},Wt=j==="playing",un=i.useMemo(()=>{if(!L||L.length<=1)return L;const F=L[O];return F?[F]:L},[L,O]),Ge=o===!0;i.useEffect(()=>{try{const F=g.current;F&&typeof F.playbackRate=="number"&&(F.playbackRate=pe||1)}catch{}},[pe]),i.useEffect(()=>{try{const F=g.current;F&&(F.volume=Math.max(0,Math.min(1,fe)))}catch{}},[fe]);const St=ge==="hold",ft=ge==="out",qt=J==="playMode"&&!k&&!xe||St||ft,Ft=j!=="stopped"||St||ft,Ot=j==="paused",Ht=Math.max(0,Math.min(100,(U||0)*100)),re=ye("audio-player__fill",qt?"is-visible":"",Ft?"is-expanded":"",Ot?"is-paused":"",ft?"is-out":"");return t.jsxs("div",{className:`audio-player ${Ge?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof h=="string"?h:void 0,children:[t.jsxs("div",{className:`audio-player__panel ${Wt?"is-playing":""} ${k?"is-loading":""} ${J!=="default"?"is-revealed":""}`,children:[k?t.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[t.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),t.jsx("span",{className:"audio-player__loading-text",children:H4[H]})]}):null,J==="active"?t.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{M(),Bt()},"aria-label":typeof h=="string"?h:u("training.listen","\uB4E3\uAE30"),onMouseEnter:N,onMouseLeave:M,onFocus:N,onBlur:M,children:t.jsx("span",{ref:B,className:"audio-player__button-triangle-wrap",children:t.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:t.jsx("path",{ref:y,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,x&&t.jsx(an,{anchorRect:x,text:typeof h=="string"&&h?h:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),t.jsxs("div",{className:`audio-player__play ${J==="playMode"||Wt?"is-visible":""}`,children:[t.jsxs("div",{ref:m,className:"audio-player__buttons",children:[t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:Vt,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:J!=="playMode"}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Wt?"pause":"play",onClick:Bt,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Qt,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:J!=="playMode"}),et>1?t.jsx("div",{ref:v,className:"audio-player__source-buttons",children:Array.from({length:et}).map((F,Z)=>t.jsx(te,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(Z+1),onClick:()=>{try{yt(Z)}catch{}},ariaLabel:u("training.sourcePlay",{n:Z+1}),variant:"transparent-white",selected:I&&O===Z,disabled:J!=="playMode"||!(Array.isArray(E)&&E[Z]),showTooltipInfo:!0},Z))}):null,!Array.isArray(E)||E.length<=1?t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Et,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"}):null,t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:en,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:J!=="playMode"}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:bt,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"})]}),t.jsxs("div",{className:"audio-player__slider",children:[t.jsx("div",{className:re,ref:f,style:{left:`${Ht}%`},"aria-hidden":"true"}),(c||d)&&t.jsx(O4,{segments:un,progress:U,totalDuration:K,onSegmentClick:yt,waveProgressRef:ue,showSoundWaveForm:c,noiseSrc:d&&p?.settings.enabled&&(p?.settings.level??0)>0?Xe:null,noiseLevel:p?.settings.level??0,noiseSpeed:p?.settings.speed??1,mainVolume:fe,onReadyChange:Fe})]})]}),t.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&t.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[t.jsx(Ie,{icon:"triangle-alert",size:14}),u("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),t.jsx(Bn,{message:T,position:ee,onClose:cn})]})}function Ca(e){const{t:n}=me.useTranslation(),{text:a,label:r,anchorRect:o=null,onClose:s,closeOnOutsideClick:l=!0,isMobilePopup:c=!1}=e||{},[d,u]=i.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});i.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:h,decrease:p,canIncrease:C,canDecrease:g,fontSize:f,lineHeight:m}=ks({storageKey:"tooltip-fontScale"}),b=i.useCallback(()=>u(B=>B==="dark"?"light":"dark"),[]),v=i.useCallback(B=>{try{B.stopPropagation()}catch{}try{typeof s=="function"&&s()}catch{}},[s]),w=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],_={fontSize:`${f}px`,lineHeight:`${m}px`,"--tt-line-height":`${m}px`,"--tt-marker-size":"28px"},y=t.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[t.jsxs("div",{className:"tooltip-textbox__box",children:[r&&t.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),t.jsx("div",{className:"tooltip-textbox__text body-1",style:_,children:w.map((B,x)=>t.jsxs("div",{className:"tooltip-textbox__line",children:[w.length>1?t.jsx("div",{className:"tooltip-textbox__marker",children:t.jsx("span",{className:"tooltip-textbox__line-number button-1",children:x+1})}):null,t.jsx("span",{className:"tooltip-textbox__line-text",children:B})]},x))})]}),t.jsxs("div",{className:"tooltip-textbox__buttons",children:[t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:p,ariaLabel:n("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!g}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:h,ariaLabel:n("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!C}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:b,ariaLabel:n("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:v,ariaLabel:n("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return o?t.jsx(nn,{anchorRect:o,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:s,closeOnOutsideClick:l,isMobilePopup:c,ariaLabel:r||n("tooltip.textbox","\uBCF8\uBB38"),children:y}):t.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:y})}function el({state:e="disabled"}){const{t:n}=me.useTranslation();return t.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[t.jsx("div",{className:"bullet__dot",children:t.jsx(Ie,{icon:"chevron-right",label:n("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),t.jsx("div",{className:"ts-bullet__line"})]})}function tl({title:e,children:n,className:a="",state:r="disabled",usePreviewTextBtn:o=!1,onPreviewTextBtn:s,previewText:l=null,useFaded:c,usePlayAllBtn:d=!1,onPlayAll:u,playAllActive:h=!1}){const{t:p}=me.useTranslation(),C=Gt("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),f=`training-step__title-row training-step__title-row--${r}`.trim(),m=i.useRef(null),[b,v]=i.useState(!1),[w,_]=i.useState(null),[y,B]=i.useState(null),x=i.useRef(s);i.useEffect(()=>{x.current=s});const N=i.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(D=>typeof D=="string"||typeof D=="number")?l.join(""):"",[l]),M=i.useCallback(()=>{v(!1),_(null),B(null)},[]);i.useEffect(()=>{if(!b)return;let D;try{typeof x.current=="function"&&(D=x.current())}catch{}if(D===!1){M();return}B(typeof D<"u"&&D!==null?D:null)},[N]);const k=i.useCallback(()=>{let D;try{typeof s=="function"&&(D=s())}catch{}if(D!==!1){if(B(typeof D<"u"&&D!==null?D:l),!m.current){v(H=>!H);return}if(b)v(!1),_(null),B(null);else{const H=m.current.getBoundingClientRect();_(H),v(!0)}}},[s,l,b]);return t.jsxs("div",{className:f,children:[t.jsx("p",{className:g,children:t.jsx("span",{className:"training-step__title-text",children:e??n})}),o||d?t.jsxs("div",{className:"title-controls",children:[t.jsxs("div",{className:"title-buttons",children:[d&&t.jsx(te,{size:32,type:C?"dot":"bar",icon:"play-circle",label:C?void 0:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:h,onClick:u,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||h}),o&&t.jsx("div",{ref:m,children:t.jsx(te,{size:32,type:C?"dot":"bar",icon:"eye",label:C?void 0:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:b,onClick:k,variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof s!="function"})})]}),b&&t.jsx(Ca,{text:y??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:w,onClose:M,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function xr(e,n){return typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled"}function vn({index:e,stepIndex:n,isLast:a=!1,title:r="",titleProps:o={},children:s,className:l="",onDone:c=void 0,useTitleFaded:d=void 0}){const{t:u}=me.useTranslation(),[h,p]=i.useState(()=>xr(e,n));i.useEffect(()=>{const B=xr(e,n);if(B!==h){const x=setTimeout(()=>p(B),0);return()=>clearTimeout(x)}},[e,n,h]);const C=i.useCallback((...B)=>{xr(e,n)==="done"||h==="done"||typeof c=="function"&&c(...B)},[e,n,h,c]),[g,f]=i.useState(!1),[m,b]=i.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),v=i.useCallback(B=>{if(!B)return null;try{const x=B;if(typeof B=="object"&&(x.currentTarget||x.target)&&(x.nativeEvent||x.type)){const k=x.currentTarget??x.target;if(k&&typeof k.getBoundingClientRect=="function")return k.getBoundingClientRect()}if(B instanceof DOMRect)return B;const N=B;if(N&&typeof N.getBoundingClientRect=="function")return N.getBoundingClientRect();const M=B?.current;return M&&typeof M.getBoundingClientRect=="function"?M.getBoundingClientRect():null}catch{return null}},[]),w=i.useCallback((B,{text:x="",label:N="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:M=!1,alignX:k="center",alignY:D="top"}={})=>{const H=v(B);b({text:x,label:N,anchorRect:H,backdrop:M,alignX:k,alignY:D}),f(!0)},[v]),_=i.useCallback(()=>{f(!1),b(B=>({...B,anchorRect:null}))},[]),y=i.Children.map(s,B=>{if(i.isValidElement(B)){const x=B;if(typeof x.type=="string")return x;const N=x.props??{},M=typeof N.onDone=="function"?N.onDone:C,k=typeof N.disabled=="boolean";let D=h==="disabled";return k&&(D=!!N.disabled),i.cloneElement(x,{onDone:M,disabled:D,showTooltip:w,hideTooltip:_})}return B});return t.jsxs("div",{className:`training-step training-step--${h} ${a?"training-step--last":""} ${l}`,"aria-current":h==="active",children:[t.jsx(el,{state:h}),t.jsxs("div",{className:"training-step__content",children:[t.jsx(tl,{state:h,title:r,...o,useFaded:d}),y]}),g?t.jsx(nn,{anchorRect:m.anchorRect,backdrop:m.backdrop,onClose:_,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:t.jsx(Ca,{text:m.text,onClose:_})}):null]})}function nl({context:e,state:n="disabled",theme:a="light"}){const{t:r}=me.useTranslation(),[o,s]=i.useState("disabled"),[l,c]=i.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});i.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const d=()=>c(k=>k==="dark"?"light":"dark"),{increase:u,decrease:h,canIncrease:p,canDecrease:C,fontSize:g,lineHeight:f}=ks({storageKey:"textbox_fontScale"}),[m,b]=i.useState(""),v=i.useCallback(()=>s("active"),[]),w=i.useCallback(()=>b(""),[]),_=k=>{try{b(k)}catch{}},y=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");i.useEffect(()=>{if(n!=="disabled"){const k=setTimeout(()=>s(n),0);return()=>clearTimeout(k)}},[n]);const B=i.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);i.useEffect(()=>{const k=setTimeout(()=>s("disabled"),0);return()=>clearTimeout(k)},[B]);const x=n==="disabled"?o:n,N=x==="disabled"?"training-text-box--disabled":x==="active"?"training-text-box--active":x==="done"?"training-text-box--done":"",M=i.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${f}px`}),[g,f]);return t.jsxs("div",{className:`training-text-box ${N} ${x!=="disabled"&&l==="dark"?"is-dark":""}`,children:[x==="disabled"&&t.jsx("div",{className:"training-text-box__preview",children:t.jsx(te,{size:48,type:"bar",onClick:v,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),t.jsx("div",{className:"training-text-box__area","aria-hidden":x==="disabled",children:t.jsx("span",{className:"training-text-box__inner h3",style:M,children:B})}),x!=="disabled"&&t.jsxs("div",{className:"training-text-box__buttons","aria-hidden":x==="disabled",children:[t.jsx(te,{size:32,type:"dot",onClick:h,onDisabledClick:()=>_(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!C,useBorder:!1,showTooltipInfo:!0,...!y&&{width:"60px"}}),t.jsx(te,{size:32,type:"dot",onClick:u,onDisabledClick:()=>_(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!y&&{width:"60px"}}),t.jsx(te,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),t.jsx(Bn,{message:m,position:"top",onClose:w})]})}function _r({index:e,stepIndex:n,isLast:a=!1,title:r,useTitleFaded:o,onDone:s,onChange:l,answer:c,wrongAnswers:d,choices:u,multiSelect:h=!1,correctCount:p=0,useDisabledCovered:C=!1,choiceIcons:g,shuffleChoices:f=!0}){const{t:m}=me.useTranslation(),b=r??m("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),v=typeof e=="number"?e:-1,w=typeof n!="number"?"disabled":v<n?"done":v===n?"active":"disabled",_=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,y=d?d.join("||"):"",B=u?u.join("||"):"",[x,N]=i.useState(()=>Array.isArray(_)?f?Hn(_):_.slice():void 0);i.useEffect(()=>{Array.isArray(_)&&_.length?N(f?Hn(_):_.slice()):N(void 0)},[c,y,B,f]);const[M,k]=i.useState(null),[D,H]=i.useState(()=>new Set);i.useEffect(()=>{k(null),H(new Set)},[B]);const R=i.useRef(void 0);i.useEffect(()=>{const S=R.current;typeof S=="number"&&typeof n=="number"&&typeof e=="number"&&S>=e&&n<e&&(k(null),H(new Set)),R.current=n},[n,e]);const j=i.useCallback(S=>{if(w!=="active")return;const U=x?.[S];if(U==null)return;const X=U,J=w==="active"||w==="done";if(h){const Q=new Set(D),E=Q.has(X);E?Q.delete(X):Q.add(X),H(Q),typeof l=="function"&&l({selectedValues:[...Q],__ts:Date.now()}),J&&(typeof p=="number"&&p>0?Q.size>=p:!E)&&typeof s=="function"&&w==="active"&&s({selectedValues:[...Q],__ts:Date.now()})}else k(X),typeof l=="function"&&l({selectedIndex:S,selectedValue:X,__ts:Date.now()}),J&&typeof s=="function"&&w==="active"&&s({selectedIndex:S,selectedValue:X,__ts:Date.now()})},[x,w,h,l,s,p,D]),P=`training-step__buttons${Array.isArray(x)&&x.length>3?" training-step__buttons--wrap-3":""}`;return t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:b,useTitleFaded:o,children:t.jsx("div",{className:P,children:Array.isArray(x)&&x.length>0?x.map((S,U)=>t.jsx(te,{size:56,type:"bar",onClick:()=>j(U),ariaLabel:String(S),label:S,useLabel:!0,icon:g?g[String(S)]:void 0,variant:"default",disabled:w==="disabled",selected:h?D.has(S):M===S,useDisabledCovered:C,minWidth:0},String(S))):null})})}function wr({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:o,onChange:s,context:l,demoSelected:c}){const{t:d}=me.useTranslation(),u=r??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),h=typeof e=="number"?e:-1,p=typeof n!="number"?"disabled":h<n?"done":h===n?"active":"disabled",C=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",g=l&&typeof l=="object"?l.choices:void 0,[f,m]=i.useState(c??null);i.useEffect(()=>{if(c==null&&f!==null){const _=setTimeout(()=>m(null),0);return()=>clearTimeout(_)}},[C,c,f]);const b=i.useCallback(_=>{const y=typeof _=="object"&&_!==null?Object.assign({},_,{__ts:Date.now()}):{value:_,__ts:Date.now()};typeof s=="function"&&s(y),p==="active"&&typeof o=="function"&&o(y)},[s,p,o]),v=i.useCallback(()=>{p==="active"&&(m(!1),b(!1))},[b,p]),w=i.useCallback(()=>{p==="active"&&(m(!0),b(!0))},[b,p]);return t.jsxs(vn,{index:e,stepIndex:n,isLast:a,title:u,onDone:o,useTitleFaded:!1,children:[t.jsx(nl,{context:l,state:p}),t.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((_,y)=>t.jsx(te,{size:56,type:"bar",onClick:()=>{p==="active"&&(m(y),b&&b(y))},disabled:p==="disabled",ariaLabel:String(_),label:_,variant:p,selected:f===y},y)):t.jsxs(t.Fragment,{children:[t.jsx(te,{size:56,type:"bar",onClick:v,disabled:p==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),t.jsx(te,{size:56,type:"bar",onClick:w,disabled:p==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function kr({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:o,btnLabel:s,soundSrc:l,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:h,disabled:p,_pageIndex:C,showSoundWaveForm:g,showNoiseWaveForm:f}){const{t:m}=me.useTranslation(),b=r??m("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),v=p??(typeof n=="number"&&typeof e=="number"?e>n:!1);return t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:b,onDone:o,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:h},children:t.jsx(vr,{soundSrc:l,ttsText:l?null:u??b,bucketPath:c,btnLabel:s||m("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:v,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${C??0}-s${e}`)})}function Ar({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:o,onChange:s,context:l=[]}){const{t:c}=me.useTranslation(),d=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),u=$=>typeof $=="string"?$:$&&($.context||$.sentence||$.question||"")||"",[h,p]=i.useState(Array.isArray(l)?l:[]),[C,g]=i.useState(()=>(h||[]).map(($,L)=>({id:L,text:u($)}))),f=i.useMemo(()=>typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled",[n,e]);i.useEffect(()=>{const $=Array.isArray(l)?l:[];p($);const L=(W=>{const O=(W||[]).map((K,oe)=>({id:oe,text:u(K)}));if(O.length<=1)return O;const Y=(K,oe)=>{if(K.length!==oe.length)return!1;for(let pe=0;pe<K.length;pe++)if(K[pe].text!==oe[pe].text)return!1;return!0};let I=Hn(O),q=0;for(;Y(I,O)&&q<20;)I=Hn(O),q+=1;return I})($);g(L);try{if(typeof s=="function"){const W=L.filter((O,Y)=>O.text===u($[Y])).length;s({shuffled:L,score:W,total:($||[]).length,initial:!0,__ts:Date.now()})}if(typeof o=="function"&&f==="active"){const W=L.filter((O,Y)=>O.text===u($[Y])).length;o({shuffled:L,score:W,total:($||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const m=($,L)=>{const W=[...C],O=$+L;if(O<0||O>=W.length)return;const Y=W[O];W[O]=W[$],W[$]=Y,P(W);try{if(typeof o=="function"&&f==="active"){const I=W.filter((q,K)=>q.text===u(h[K])).length;o({shuffled:W,score:I,total:(h||[]).length,__ts:Date.now()})}}catch{}},[b,v]=i.useState(null),w=i.useRef(null),_=i.useRef(null),y=i.useRef(null),B=i.useRef(null),x=i.useRef(null),N=i.useRef({x:0,y:0}),M=i.useRef(null),k=i.useRef({dx:0,dy:0}),D=()=>{if(M.current!==null)return;const $=()=>{M.current=requestAnimationFrame($);const L=N.current,W=k.current||{dx:0,dy:0};w.current&&(w.current.style.transform=`translate3d(${L.x-W.dx}px, ${L.y-W.dy}px, 0)`)};M.current=requestAnimationFrame($)},H=i.useRef(new Map),R=i.useRef(new Map),j=()=>{const $=new Map;return H.current.forEach((L,W)=>{L&&L.getBoundingClientRect&&$.set(W,L.getBoundingClientRect())}),$},P=$=>{const L=j();g($);try{if(typeof s=="function"){const W=$.filter((O,Y)=>O.text===u(h[Y])).length;s({shuffled:$,score:W,total:(h||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const W=j();$.forEach(O=>{const Y=L.get(O.id),I=W.get(O.id),q=H.current.get(O.id);if(!q||!Y||!I)return;const K=Y.top-I.top;K&&(q.style.transition="none",q.style.transform=`translateY(${K}px)`,requestAnimationFrame(()=>{q.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",q.style.transform="";const oe=()=>{q.style.transition="",q.removeEventListener("transitionend",oe)};q.addEventListener("transitionend",oe)}))})})},S=($,L)=>{try{try{L.dataTransfer?.setData("text/plain",String($))}catch{}try{L.dataTransfer&&(L.dataTransfer.effectAllowed="move")}catch{}try{const W=document.createElement("div");W.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(W),L.dataTransfer?.setDragImage(W,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(W)}catch{}})}catch{}}catch{}v($);try{const W=C[$],O=document.createElement("div");O.className="order-list__dragging-object order-list__dragging-object--visible",O.textContent=W&&W.text?W.text:"",document.body.appendChild(O),w.current=O;const Y=H.current.get(W.id);let I=L.clientX||0,q=L.clientY||0;try{if(Y&&Y.getBoundingClientRect){const he=Y.getBoundingClientRect();I=he.left+he.width/2,q=he.top+he.height/2}}catch{}const K=O.getBoundingClientRect(),oe=K.width/2,pe=K.height/2;k.current={dx:oe,dy:pe},O.style.transition="none",N.current={x:I,y:q},O.style.transform=`translate3d(${I-oe}px, ${q-pe}px, 0)`,requestAnimationFrame(()=>{try{O.style.transition=""}catch{}D()});const fe=he=>{const T=he;N.current={x:T.clientX,y:T.clientY},D()};y.current=fe,document.addEventListener("mousemove",fe);const ge=he=>{const T=he;N.current={x:T.clientX,y:T.clientY},D()};_.current=ge,document.addEventListener("dragover",ge);try{L.dataTransfer?.setData("text/plain",String($));try{L.dataTransfer?.setData("application/json",JSON.stringify({idx:$}))}catch{}}catch{}}catch{}},U=($,L)=>{L.preventDefault();try{L.dataTransfer&&(L.dataTransfer.dropEffect="move")}catch{}try{x.current!==null&&(clearTimeout(x.current),x.current=null);const W=L.currentTarget&&L.currentTarget.closest?L.currentTarget.closest(".order-list__item"):null;if(W&&B.current!==W){if(B.current)try{B.current.classList.remove("drag-over")}catch{}try{W.classList.add("drag-over")}catch{}B.current=W}}catch{}},X=($,L)=>{L.preventDefault();const W=L.dataTransfer?.getData("text/plain")||"",O=W?parseInt(W,10):b,Y=$;if(typeof O!="number"||isNaN(O)||O===Y){v(null),E(),J();return}const I=vm(C,O,Y);P(I),v(null),J();try{if(typeof o=="function"&&f==="active"){const q=I.filter((K,oe)=>K.text===u(h[oe])).length;o({shuffled:I,score:q,total:(h||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const q=document.querySelectorAll(".order-list .order-list__item")[Y];if(!q)return;const K=q.querySelector(".order-list__slot")||q;try{K.classList.add("pulse"),K.offsetHeight,K.classList.add("to-dark");const oe=()=>{K.classList.remove("pulse","to-dark"),K.removeEventListener("transitionend",oe)};K.addEventListener("transitionend",oe)}catch{}})}catch{}E()},J=()=>{if(w.current){try{document.body.removeChild(w.current)}catch{}w.current=null}_.current&&(document.removeEventListener("dragover",_.current),_.current=null),y.current&&(document.removeEventListener("mousemove",y.current),y.current=null),M.current!==null&&(cancelAnimationFrame(M.current),M.current=null)},Q=()=>{v(null),E(),J()};i.useEffect(()=>()=>J(),[]);const E=()=>{try{if(x.current!==null&&(clearTimeout(x.current),x.current=null),B.current){try{B.current.classList.remove("drag-over")}catch{}B.current=null}document.querySelectorAll(".order-list .order-list__item").forEach($=>$.classList.remove("drag-over"))}catch{}};return i.useEffect(()=>{try{const $=Math.max(1,(C||[]).length);C.forEach((L,W)=>{const O=R.current.get(L.id);if(!O)return;let Y=50;$>1&&(Y=Math.round(W/($-1)*100));try{O.style.setProperty("--marker-pos",Y+"%")}catch{}})}catch{}},[C]),i.useEffect(()=>()=>{J(),x.current!==null&&(clearTimeout(x.current),x.current=null)},[]),t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:d,children:t.jsx("div",{className:"order-list",children:C.map(($,L)=>{const W=Math.max(1,(C||[]).length),O=W>1?Math.round(L/(W-1)*100):50;return t.jsx("div",{className:"order-list__item",children:t.jsxs("div",{className:"order-list__slot","data-disabled":f==="disabled","aria-disabled":f==="disabled",children:[f!=="disabled"?t.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":O+"%"},ref:Y=>{const I=R.current;Y?I.set($.id,Y):I.delete($.id)},children:t.jsx("span",{className:"order-list__slot-number button-1",children:L+1})}):null,t.jsxs("div",{ref:Y=>{const I=H.current;Y?I.set($.id,Y):I.delete($.id)},className:`order-list__draggable ${b===L?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:f==="active",onDragStart:f==="active"?Y=>S(L,Y):void 0,onDragEnter:f==="active"?Y=>U(L,Y):void 0,onDragOver:f==="active"?Y=>U(L,Y):void 0,onDragLeave:f==="active"?()=>{try{x.current!==null&&clearTimeout(x.current),x.current=setTimeout(()=>{try{const Y=document.querySelectorAll(".order-list .order-list__item");Y&&Y[L]&&(Y[L].classList.remove("drag-over"),B.current===Y[L]&&(B.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f==="active"?Y=>X(L,Y):void 0,onDragEnd:f==="active"?Q:void 0,children:[t.jsx("span",{className:"order-list__item-text body-2",children:$.text}),f==="active"?t.jsxs("span",{className:"order-list__item-buttons",children:[t.jsx(te,{size:32,type:"dot",onClick:()=>m(L,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:L===0,useBorder:!1,useDisabledInvisible:!0}),t.jsx(te,{size:32,type:"dot",onClick:()=>m(L,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:L===C.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},$.id)})})})}const Q4=8e3;function e5(e,n){return new Promise(a=>{let r=!1;const o=()=>{r||(r=!0,a())};e.then(o,o),setTimeout(o,n)})}function al({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:o,onChange:s,context:l=[],selectable:c=!1,hideLabel:d=!1,hideAudio:u=!1,maxCards:h}){const{t:p}=me.useTranslation(),C=r??p("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=i.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),f=h??3,m=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const b=typeof e=="number"?e:-1,v=typeof n!="number"?"disabled":b<n?"done":b===n?"active":"disabled",[w,_]=i.useState(null),y=i.useRef([]),[B,x]=i.useState(!1),N=i.useMemo(()=>g.map(H=>H?.id??H?.word??"").join("|"),[g]);i.useEffect(()=>{_(null),y.current=[]},[N]);const M=i.useCallback((H,R)=>{if(c)return;const j={item:H,index:R,__ts:Date.now()};try{typeof s=="function"&&s(j)}catch{}if(v==="active"&&typeof o=="function")try{o(j)}catch{}},[c,s,v,o]),k=i.useCallback(async()=>{if(!(B||v==="disabled")){x(!0);try{for(const H of y.current)H&&await e5(H.play(),Q4)}finally{x(!1)}}},[B,v]),D=i.useCallback((H,R)=>{if(v!=="active")return;_(R);const j={selectedValue:H.word||H.title||"",selectedIndex:R,item:H,__ts:Date.now()};try{typeof s=="function"&&s(j)}catch{}if(v==="active"&&typeof o=="function")try{o(j)}catch{}},[s,v,o]);return t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:C,onDone:o,titleProps:{usePlayAllBtn:!u&&m.length>0,onPlayAll:k,playAllActive:B},children:t.jsx("div",{className:"training-step__cards",children:m.length===0?t.jsx("div",{className:"training-step__empty",children:p("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):m.map((H,R)=>t.jsx(lr,{ref:j=>{y.current[R]=j},item:H,disabled:v==="disabled",onPlayDone:()=>M(H,R),selectable:c,selected:c&&w===R,onSelect:c?()=>D(H,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},H&&H.id||R))})})}const t5=160,rl=()=>{};function sn(e){const n=i.useId();if(!("variant"in e)){const{label:m,sub:b,onClick:v,children:w,align:_="horizontal",icon:y}=e,B=x=>{v&&x.target===x.currentTarget&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),v())};return t.jsxs("div",{className:ye("panel-row",_==="vertical"?"panel-row--vertical":"",v?"panel-row--clickable":""),onClick:v,onKeyDown:v?B:void 0,role:v?"button":void 0,tabIndex:v?0:void 0,children:[y!=null&&t.jsx("div",{className:"panel-row__icon",children:y}),m!=null&&t.jsxs("div",{className:"panel-row__left",children:[t.jsx("div",{className:"panel-row__label body-3",children:m}),b&&t.jsx("div",{className:"panel-row__sub caption-1",children:b})]}),t.jsx("div",{className:"panel-row__right",children:w})]})}if(e.variant==="description")return t.jsx("div",{className:"panel-row panel-row--block",children:t.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return t.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return t.jsx("div",{className:"panel-row panel-row--loading",children:t.jsx(Zn,{size:28})});if(e.variant==="custom"&&!e.label)return t.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:o,onClick:s,required:l,error:c,align:d="horizontal",useFullWidth:u=!1,icon:h}=e;let p=null;const C=a==="toggle"?`panel-toggle-${n}`:void 0;if(a==="toggle"){const m=e;p=t.jsx(ai,{checked:m.checked,onChange:m.onChange,id:C})}else if(a==="segmented"){const m=e;p=t.jsx(bn,{options:m.options,value:m.value,onChange:m.onChange,size:m.size??40,ariaLabel:r})}else if(a==="dropdown"){const m=e,b=m.dropdowns?.length?t.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:m.dropdowns.map((v,w)=>t.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:t.jsx(Rt,{options:v.options,value:v.value,onChange:v.onChange,placeholder:v.placeholder,block:u,error:!!c,ariaLabel:v.ariaLabel??([r,v.placeholder].filter(Boolean).join(" ")||void 0)})},w))}):t.jsx(Rt,{options:m.options??[],value:m.value??"",onChange:m.onChange??rl,block:u,error:!!c,ariaLabel:r});p=c?t.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[b,t.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):b}else if(a==="button"){const m=e;m.buttons?.length?p=t.jsx("div",{className:"panel-row__button-group",children:m.buttons.map((b,v)=>t.jsx(te,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.label},v))}):p=t.jsx(te,{size:m.btnSize??40,variant:m.btnVariant??"default",disabled:m.disabled,onClick:m.onClick,children:m.buttonLabel})}else if(a==="text"){const m=e;p=t.jsx("span",{className:`panel-row__text body-2${u?" panel-row__text--full":""}`,style:m.valueColor?{color:m.valueColor}:void 0,children:m.value})}else if(a==="input"){const m=e;p=t.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[t.jsx(gn,{value:m.value,onChange:m.onChange??rl,onKeyDown:m.onKeyDown,onEnter:m.onEnter,placeholder:m.placeholder,inputMode:m.inputMode,readOnly:m.readOnly,disabled:m.disabled,type:m.type,autoComplete:m.autoComplete,maxLength:m.maxLength,showCount:m.showCount,multiline:m.multiline,rows:m.rows,fullWidth:u,error:c,ariaLabel:r,required:l}),m.helperText&&t.jsx("div",{className:"panel-row__helper caption-1",children:m.helperText})]})}else a==="custom"&&(p=e.children);const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&u,f=m=>{s&&m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),s())};return t.jsxs("div",{className:ye("panel-row",d==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",s?"panel-row--clickable":""),onClick:s,onKeyDown:s?f:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,children:[h!=null&&t.jsx("div",{className:"panel-row__icon",children:h}),t.jsxs("div",{className:"panel-row__left",children:[C?t.jsxs("label",{htmlFor:C,className:"panel-row__label body-3",children:[r,l&&t.jsx("span",{className:"required-mark",children:"*"})]}):t.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&t.jsx("span",{className:"required-mark",children:"*"})]}),o&&t.jsx("div",{className:"panel-row__sub caption-1",children:o})]}),t.jsx("div",{className:"panel-row__right",children:p})]})}function ol(e){const n=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==n);return[...new Set(a)].join(" \xB7 ")}function n5({devices:e,onRelease:n,emptyLabel:a}){const{t:r}=me.useTranslation();return t.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(o=>{const s=e[o],l=o==="\uC88C"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return t.jsxs("div",{className:"panel-row__device-column",children:[t.jsxs("div",{className:"panel-row__device-head",children:[t.jsx("span",{className:"panel-row__device-side body-2b",children:l}),s&&n&&t.jsx(te,{size:32,type:"dot",icon:"x",ariaLabel:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>n(o)})]}),s?t.jsxs("div",{className:"panel-row__device-info",children:[t.jsxs("span",{className:"panel-row__device-kind",children:[s.device&&t.jsx(ut,{size:"small",variant:fi(s.device),fill:"soft",label:s.device}),ol(s)&&t.jsx("span",{className:"panel-row__device-detail body-3",children:ol(s)})]}),t.jsx("span",{className:"panel-row__device-name body-2b",children:s.productName||s.brand}),t.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:`${s.wornYear}.${s.wornMonth}.${s.wornDay}`})})]}):t.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},o)})})}function fa({title:e,icon:n,disc:a,actions:r,size:o="medium",minHeight:s,maxWidth:l,className:c,scrollable:d,useBorder:u=!0,useBg:h=!0,useRowBorder:p=!0,labelWidth:C,form:g=!1,loading:f,empty:m,children:b}){const v=ye("panel",`panel--${o}`,g?"panel--form":"",s!==void 0?"panel--fill":"",u?"":"panel--no-border",h?"":"panel--no-bg",p?"":"panel--no-row-border",c),w={};return s!==void 0&&(w.minHeight=s),l!==void 0&&(w.maxWidth=typeof l=="number"?`${l}px`:l),C!==void 0&&(w["--panel-label-width"]=typeof C=="number"?`${C}px`:C),t.jsxs("div",{className:v,style:Object.keys(w).length?w:void 0,children:[(e!=null||a!=null)&&t.jsxs("div",{className:ye("panel__header",a!=null?"panel__header--with-disc":""),children:[n&&t.jsx(Ie,{icon:n,label:typeof e=="string"?e:void 0,className:"panel__icon"}),t.jsxs("div",{className:"panel__title-group",children:[e!=null&&t.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&t.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&t.jsx("div",{className:"panel__actions",children:r})]}),f?t.jsx(sn,{variant:"loading"}):m!=null&&(b==null||Array.isArray(b)&&b.length===0)?t.jsx(sn,{variant:"empty",children:m}):d?t.jsx("div",{className:"panel__body--scroll",children:b}):b]})}function a5({cols:e=2,children:n}){return t.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:n})}function r5(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function sl(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}r5(dn.t.bind(dn)),sl(dn.t.bind(dn));const Nr="none",o5=.5,s5=1.5,i5=.25;function Br({title:e,valueLabel:n,value:a,min:r,max:o,step:s,tickStep:l,size:c,onChange:d}){return t.jsxs(sn,{variant:"custom",label:e,useFullWidth:!0,children:[t.jsx(pi,{value:a,onChange:d,min:r,max:o,step:s,size:c,showBgTick:!0,tickStep:l,ariaLabel:e,className:"noise-settings__slider-input"}),t.jsx("div",{className:"noise-settings__value button-1",children:n})]})}function il({anchorRect:e,onClose:n}){const{t:a}=me.useTranslation(),r=Gt("(max-width: 767px)")?40:24,o=gr(),s=o?.settings.level??0,l=o?.settings.type??"defaultNoise",c=o?.settings.enabled??!0,d=L4(s),u=o?.playbackRate??1,h=o?.mainVolume??1,p=Math.round(h*100),C=i.useCallback(b=>{try{o?.setMainVolume(Math.max(0,Math.min(1,b/100)))}catch{}},[o]),g=i.useCallback(b=>{try{o?.setPlaybackRate(b)}catch{}},[o]),f=i.useCallback(b=>{const v=$4(b);try{o?.setSettings({level:v})}catch{}},[o]),m=i.useCallback(b=>{try{b===Nr?o?.setSettings({enabled:!1}):o?.setSettings({type:b,enabled:!0})}catch{}},[o]);return t.jsx(nn,{anchorRect:e,offset:12,onClose:n,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:t.jsxs("div",{className:"noise-settings__header",children:[t.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),t.jsx(te,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:n})]}),children:t.jsxs(fa,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[t.jsx(Br,{title:a("training.playVolumeTitle","\uC7AC\uC0DD \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:C}),t.jsx(Br,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:o5,max:s5,step:i5,size:r,onChange:g}),t.jsx(Br,{title:a("training.noiseLevelTitle","\uC18C\uC74C \uD06C\uAE30"),valueLabel:`${d}%`,value:d,min:0,max:100,step:10,size:r,onChange:f}),t.jsx(sn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:t.jsx(bn,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Nr,label:a("training.noise.type.none","\uC5C6\uC74C")},...sl(a).map(b=>({key:b.value,label:b.label}))],value:c?l:Nr,onChange:m})})]})})}function ll({useNoiseSettingBtn:e=!1,onSettings:n,onNext:a,onResult:r,stepIndex:o=0,stepCount:s=0,pageIndex:l=0,pageCount:c=1}){const{t:d}=me.useTranslation(),[u,h]=i.useState(!1),[p,C]=i.useState(null),[g,f]=i.useState(!1),m=i.useRef(null),b=i.useRef(null),v=gr(),w=l<c-1,_=l===c-1,y=o===Math.max(0,s);i.useEffect(()=>{e||(h(!1),C(null))},[e]);const B=i.useCallback(()=>{h(!1),C(null)},[]),x=i.useCallback(()=>{if(u){h(!1),C(null);return}const k=m?.current?.getBoundingClientRect();k&&C(k),n?.(),h(!0)},[u,n]),N=i.useCallback(()=>{if(u){h(!1),C(null);return}const k=b?.current?.getBoundingClientRect();k&&C(k),n?.(),h(!0)},[u,n]),M=i.useCallback(()=>f(k=>!k),[]);return t.jsxs("div",{className:"pp-bottom",children:[t.jsxs("div",{className:"pp-bottom__left",children:[e?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pp-bottom__settings--desktop",children:t.jsx("div",{ref:m,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(te,{size:56,type:"bar",icon:"settings",onClick:x,selected:u,ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),t.jsx("div",{className:"pp-bottom__settings--mobile",children:t.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(te,{size:56,type:"dot",icon:"settings",onClick:N,selected:u,ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&t.jsx(te,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:M,selected:g,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&t.jsxs("div",{className:"pp-bottom__meters",children:[t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),t.jsx(ar,{analyser:v?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),t.jsx(ar,{analyser:v?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),t.jsxs("div",{className:"pp-bottom__right",children:[_&&t.jsx(te,{size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!y}),w&&t.jsx(te,{size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!y})]}),e&&u&&t.jsx(il,{anchorRect:p,onClose:B})]})}function cl({title:e,subtitle:n,desc:a,depth:r,icon:o,wrapperStyle:s,iconTooltip:l,pageIndex:c,pageCount:d,progressMax:u,progressIndex:h,onBack:p,onClose:C}){const{t:g}=me.useTranslation(),f=Gt("(max-width: 767px)"),m=Number.isInteger(h)?h:c||0,b=Number.isInteger(u)?u:d||0,v=p||C,w=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,_=typeof e=="string"?e.trim():e,y=typeof n=="string"?n.trim():n,B=!!(_||y),x=B?_||y:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),N=w||n,M=f&&typeof N=="string"&&(N.includes(" \xB7 ")||N.includes(" / "))?N.split(/\s[·/]\s/).pop():N,k=i.useMemo(()=>{const D=s&&typeof s=="object"?{...s}:{};return!("width"in D)&&!("height"in D)&&(D.width="40px",D.height="40px"),D},[s]);return t.jsxs("header",{className:"pp-title training-popup-title",children:[t.jsxs("div",{className:"pp-title__left",children:[v?t.jsx(te,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:v,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,t.jsx("div",{children:o?t.jsx(yi,{icon:o,label:e,tooltip:l,wrapperStyle:k}):null}),t.jsxs("div",{className:"pp-title__text",children:[M?t.jsx("span",{className:"pp-title__depth caption-1",children:M}):null,t.jsx("span",{className:`pp-title__title h2${B?"":" pp-title__title--empty"}`,children:x}),a?t.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),t.jsx(Ci,{max:Math.max(0,b??0),index:Math.max(0,m??0)})]})}function l5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function c5(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(n=>typeof n=="string"?n.split("|").map(a=>a.trim()).filter(Boolean):n||n===0?[String(n)]:[]):typeof e=="string"?e.split("|").map(n=>n.trim()).filter(Boolean):[String(e)]}function ul(e,n,a){const r=e,o=r?.title||r?.name||(Array.isArray(n)?n[n.length-1]:void 0)||a||"\uD6C8\uB828",s=qo().find(c=>c.key===(r?.category_0||r?.category_main_code)),l=s?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:o,label:r?.title||o,depth:n,icon:s?.icon,wrapperStyle:s?.color?{"--t-item-fg":s.color}:void 0,iconTooltip:[s?.label,l?.label].filter(Boolean).join(" / ")||void 0}}function Sr(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function u5(e){const n=e;return Array.isArray(n?.items)?n.items:Array.isArray(e)?e:e?[e]:[]}function d5({idPrefix:e,trainingData:n,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:o=[],emptyMessage:s,buildResults:l,metaPatch:c}){const d=ul(n,a,r),u=typeof c=="function"?c(d)||{}:c||{},h=n?.id||n?.title||o.length;return{id:`${e}:${h}`,meta:{...d,...u},pages:o,emptyMessage:s,buildResults:l}}function p5(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const n=e;return n.context||n.sentence||n.question||""||""}return""}function h5(e){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return n.selectedValues;if(n.selectedValue!==void 0)return n.selectedValue;if(n.selectedIndex!==void 0)return n.selectedIndex;if(n.value!==void 0)return n.value}return e}function m5(e,n=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(n))return String(n[e]??"");if(typeof e=="string")return e}function dl(e,n){if(!(!e||typeof e!="object"))return e[`step-${n}`]}function C5(e,n,a,r){return dl(e,n*a+r)}function f5({payload:e,selected:n,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const o=e;if(Array.isArray(o.selectedValues))return r.every(s=>o.selectedValues.includes(s))&&o.selectedValues.every(s=>r.includes(s));if(typeof o.correct=="boolean")return o.correct}if(r.length){if(typeof n=="number"&&Array.isArray(a)&&a.length)return r.some(o=>String(o)===String(a[n]));if(typeof n<"u")return r.some(o=>String(o)===String(n))}}function g5(e){return e?Array.isArray(e.items)?e.items.map(n=>{const a=n;return typeof n=="string"?{sentence:n}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(n=>{const a=n;return typeof n=="string"?{sentence:n}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const pl=i.createContext(null);function b5(){const e=i.useContext(pl);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function y5({index:e,stepIndex:n,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:o=[],onDone:s,onChange:l}){const c=typeof e=="number"?e:-1,d=typeof n!="number"?"disabled":c<n?"done":c===n?"active":"disabled",[u,h]=i.useState(()=>o.map(()=>null)),p=o.join("|");i.useEffect(()=>{h(p?p.split("|").map(()=>null):[])},[p]);const C=i.useMemo(()=>u.filter(f=>f!==null).length+1,[u]),g=i.useCallback(f=>{d==="active"&&h(m=>{const b=[...m];if(b[f]!==null){const w=b[f];return b.map(_=>_!==null&&_>=w?null:_)}b[f]=C;const v={selectedOrder:b,words:o,__ts:Date.now()};try{typeof l=="function"&&l(v)}catch{}if(b.every(w=>w!==null))try{typeof s=="function"&&s(v)}catch{}return b})},[d,C,l,s,o]);return t.jsx(vn,{index:e,stepIndex:n,isLast:a,title:r,onDone:s,children:t.jsx("div",{className:"training-step__cards",children:o.map((f,m)=>t.jsx(lr,{item:{word:f},disabled:d==="disabled",selectable:!0,selected:u[m]!==null,orderRank:u[m],onSelect:()=>g(m),flipDelay:m*120,hideLabel:!1,hideAudio:!0},`${f}-${m}`))})})}function ga(e){return null}ga.__isTrainingPage=!0;function Tn(e,n){const a=b5();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof n=="number"?e===n-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function hl({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l}=Tn(e,n);return t.jsx(kr,{...a,index:r,stepIndex:o,isLast:s,onDone:l})}function ml({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(_r,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function Cl({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(wr,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function fl({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(Ar,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function gl({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(al,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function v5({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:o,isLast:s,onDone:l,onChange:c}=Tn(e,n);return t.jsx(y5,{...a,index:r,stepIndex:o,isLast:s,onDone:l,onChange:c})}function Dr(...e){for(const n of e)if(typeof n=="string"){const a=n.trim();if(a.length)return a}else{if(typeof n=="number"||typeof n=="boolean")return String(n);if(Array.isArray(n)&&n.length)return n.join(", ");if(n&&typeof n=="object"){const a=n,r=[a.text,a.label,a.value];for(const o of r){if(typeof o=="string"&&o.trim().length)return o.trim();if(typeof o=="number"||typeof o=="boolean")return String(o)}}}return null}function x5(e){return Dr(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function bl(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const n=Dr(e?.status,e?.result,e?.judge,e?.note);if(n){const a=n.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function yl(e){const{score:n,contextsLength:a,results:r=[],subtitle:o,onReplay:s,onClose:l,inline:c=!1}=e||{},{t:d}=me.useTranslation();i.useEffect(()=>{const m=a??0;n!=null&&m>0&&n/m>.5&&window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},[n,a]);const u=i.useCallback(m=>{const b=bl(m),v=Dr(m?.wording,m?.label);return b===!0?{variant:"main",label:v??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:b===!1?{variant:"danger",label:v??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:v??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),h=a??0,p=n??0,C=i.useMemo(()=>Array.isArray(r)?r:[],[r]),g=i.useMemo(()=>C.map(m=>{const b=m??{},v=x5(b)||"(\uB0B4\uC6A9\uC5C6\uC74C)",{variant:w,label:_}=u(b),y=Array.isArray(b.corrects)?b.corrects:[],B=y.length?y.join(", "):b.answer!=null&&b.answer!==""?String(b.answer):null,x=typeof b.selectedText=="string"?b.selectedText:null,N=bl(b)===!0;return{problem:v,variant:w,label:_,answer:B,selectedText:x,isCorrect:N}}),[C,u]),f=i.useMemo(()=>g.some(m=>m.answer!==null||m.selectedText!==null),[g]);return t.jsx(on,{onClose:l,inline:c,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",footerClassName:"trp-result__foot",footer:({animateThen:m,closeWithAnimation:b})=>t.jsxs("div",{className:"trp-actions",children:[t.jsx(te,{size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>m(s)}),t.jsx(te,{size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:b})]}),children:()=>t.jsxs("div",{className:"trp-result is-on",children:[t.jsxs("header",{className:"trp-result__head",children:[t.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),t.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),o&&t.jsx("p",{className:"trp-result__subtitle body-3",children:o}),t.jsx("div",{className:"trp-score",children:t.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:p,total:h}),children:[t.jsx("span",{className:"trp-score__big",children:p}),t.jsx("span",{className:"trp-score__sep",children:"/"}),t.jsx("span",{className:"trp-score__total",children:h})]})})]}),g.length>0&&t.jsx("section",{className:"trp-result__body",children:t.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[t.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[t.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&t.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),t.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),g.map((m,b)=>t.jsxs("div",{className:"result-table__row",role:"row",children:[t.jsxs("div",{className:"trp-row__problem",children:[t.jsx("span",{className:"trp-row__no caption-1",children:String(b+1).padStart(2,"0")}),t.jsx("div",{className:"trp-row__q body-2",children:m.problem})]}),f&&t.jsxs("div",{className:"trp-row__answers",children:[m.answer!==null&&t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),t.jsx("span",{className:"trp-row__answer-value body-2",children:m.answer})]}),t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${m.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),t.jsx("span",{className:`trp-row__answer-value body-2 ${m.isCorrect?"is-correct":"is-wrong"}`,children:m.selectedText??"\u2014"})]})]}),t.jsx("div",{className:"trp-row__judge",children:t.jsx(ut,{variant:m.variant,label:m.label,fill:"soft",minWidth:80})})]},b))]})})]})})}function _5(e){i.useEffect(()=>{if(!e)return;const n=new Date;return()=>{const a=new Date;a.getTime()-n.getTime()<5e3||wm({trainingType:e,startedAt:n.toISOString(),endedAt:a.toISOString()})}},[e])}function jr(e,n){return e&&e.id||`page-${n??0}`}function Er(e,n){return e&&e.key||`step-${n??0}`}function ba(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function w5(e,n){return typeof e?.props=="function"?e.props(n)||{}:e?.props||{}}const vl=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]),k5=e=>t.jsx(yl,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose});function A5(e){const{scenario:n,title:a,subTitle:r,depth:o,icon:s,wrapperStyle:l,iconTooltip:c,pageIndex:d,pageCount:u,stepIndex:h,stepCount:p,onBack:C,onComplete:g,onNext:f,onSettings:m,useNoiseSetting:b=!0,children:v,ariaLabel:w,label:_,buildResults:y,onResult:B,typeKey:x,entryPoint:N,dailyTotal:M,itemRef:k,renderResultPopup:D,noiseOverride:H}=e;_5(x&&!vl.has(x)?x:"");const R=i.useRef(0);i.useEffect(()=>{R.current=Date.now()},[]);const{t:j}=me.useTranslation(),P=B,S=!!n,U=n?.id||null,X=n?.meta||{},J=Array.isArray(n?.pages)?n.pages:[],Q=Array.isArray(v)||i.isValidElement(v)&&typeof v!="function"?i.Children.toArray(v).filter(i.isValidElement):[],E=Q.length>0,$=re=>re===ga||re?.__isTrainingPage===!0,L=E&&Q.some(re=>$(re.type)),W=L?Q.filter(re=>$(re.type)).map((re,F)=>{const Z=re.props||{};return{id:`children-page-${F}`,steps:i.Children.toArray(Z.children).filter(i.isValidElement),pageTop:Z.pageTop||Z.top||null,pageBottom:Z.pageBottom||Z.bottom||null}}):[{id:"children-page-0",steps:Q}],O=E&&!S&&typeof v!="function",Y=O?Math.max(1,W.length):0;i.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),i.useEffect(()=>{if(typeof document>"u"||!document.body)return;const re=document.body;return re.dataset.ihabTrainingPopupCount=String(Number(re.dataset.ihabTrainingPopupCount||"0")+1),re.classList.add("ihab-training-popup-open"),()=>{const F=Number(re.dataset.ihabTrainingPopupCount||"1")-1;F>0?re.dataset.ihabTrainingPopupCount=String(F):(delete re.dataset.ihabTrainingPopupCount,re.classList.remove("ihab-training-popup-open"))}},[]),i.useEffect(()=>{if(!(typeof document>"u"||!document.body))return Fg()},[]);const[I,q]=i.useState({...Ki,enabled:!1}),K=i.useRef(I);i.useEffect(()=>{K.current=I},[I]);const oe=i.useRef(H);i.useEffect(()=>{let re=!1;return Bm().then(F=>{if(re)return;const Z=F?{...K.current,...F}:{...Ki};K.current=Z,q(Z),Fa(Z);const le=oe.current;if(le){const be=typeof le=="function"?le(Z):le,ve={...Z,...be};K.current=ve,q(ve),Fa(ve)}}),()=>{re=!0}},[]);const[pe,fe]=i.useState(null),[ge,he]=i.useState(null),T=i.useCallback((re,F)=>{re==="main"?fe(F):he(F)},[]),V=i.useCallback(re=>{const F={...K.current,...re};K.current=F,q(F),oe.current||Sm(F),Fa(F)},[]),ee=I.mainSpeed,Ce=I.mainVolume,ie=i.useCallback(re=>V({mainSpeed:re}),[V]),ue=i.useCallback(re=>V({mainVolume:re}),[V]),se=i.useMemo(()=>({settings:I,setSettings:V,registerAnalyser:T,mainAnalyser:pe,noiseAnalyser:ge,playbackRate:ee,setPlaybackRate:ie,mainVolume:Ce,setMainVolume:ue}),[I,V,T,pe,ge,ee,ie,Ce,ue]),ae=i.useRef(null),[je,Fe]=i.useState("center"),[He,$e]=i.useState(!1),Ee=i.useRef(!1),Se=i.useRef(null),ke=i.useCallback(re=>{Ee.current||(Ee.current=!0,$e(!0),Se.current=setTimeout(re,t5))},[]);i.useEffect(()=>()=>{Se.current&&clearTimeout(Se.current)},[]),i.useEffect(()=>{const re=ae.current;if(!re)return;const F=Array.from(re.querySelectorAll(Vn)).filter(le=>!le.closest('[aria-hidden="true"]'))[0];if(F)try{F.focus()}catch{}const Z=le=>{if(le.key==="Escape"){le.preventDefault(),ke(()=>{typeof C=="function"&&C()});return}};return re.addEventListener("keydown",Z),()=>re.removeEventListener("keydown",Z)},[C,ke]),za(ae,!0);const[Pe,Ye]=i.useState(!1),xe=i.useRef(!1),[Oe,De]=i.useState(null),[We,Xe]=i.useState(""),[qe,Re]=i.useState(()=>ba()),ot=i.useRef(typeof d=="number"?d:null);i.useEffect(()=>{!S&&!O||(Re(ba()),De(null))},[S,U,O]),i.useEffect(()=>{O&&Re(re=>{const F=Math.max(0,Math.min(re.pageIndex,Math.max(0,Y-1)));return F!==re.pageIndex?{...re,pageIndex:F,stepIndex:0}:re})},[O,Y]);const pt=O?Math.max(0,Math.min(qe.pageIndex,Y-1)):0,Ue=O?W[pt]:null,at=O&&Ue&&Array.isArray(Ue.steps)?Ue.steps:[],Be=S?qe.pageIndex:O?pt:typeof d=="number"?d:0,Me=S?J[Math.max(0,Math.min(qe.pageIndex,Math.max(0,J.length-1)))]:null,et=S&&Me&&Array.isArray(Me.steps)?Me.steps:[],tt=S?et.length:O?at.length:typeof p=="number"?p:0,Ze=S||O?Math.max(0,Math.min(qe.stepIndex,Math.max(0,tt))):typeof h=="number"?h:0,rt=S?J.length:O?Y:typeof u=="number"?u:0;i.useLayoutEffect(()=>{const re=ot.current;if(typeof Be=="number"&&re!==null&&Be!==re&&Be>re)try{Xe(j("training.problemNotice",{n:Be+1}))}catch{}ot.current=typeof Be=="number"?Be:ot.current},[Be,d,j]),i.useLayoutEffect(()=>{const re=ae.current;if(!re)return;const F=()=>re.querySelector(".page-popup__scroll");let Z=null,le=null,be=null;const ve=we=>{const ze=F();if(!ze)return;const lt=ze.scrollHeight<=ze.clientHeight;if(Fe(lt?"center":"top"),we&&!xe.current){xe.current=!0;try{Ye(!0)}catch{}try{st.disconnect()}catch{}}},Ne=()=>{Z!==null&&cancelAnimationFrame(Z),Z=requestAnimationFrame(()=>{le!==null&&clearTimeout(le),le=setTimeout(()=>ve(!0),60)})},Le=()=>{be!==null&&cancelAnimationFrame(be),be=requestAnimationFrame(()=>ve(!1))};Ne(),window.addEventListener("resize",Le);const st=new MutationObserver(Ne);st.observe(re,{childList:!0,subtree:!0,attributes:!0});const ce=setTimeout(()=>{xe.current||ve(!0)},400);return()=>{window.removeEventListener("resize",Le),Z!==null&&cancelAnimationFrame(Z),le!==null&&clearTimeout(le),be!==null&&cancelAnimationFrame(be),clearTimeout(ce);try{st.disconnect()}catch{}}},[ae]);const Ct=i.useCallback(re=>{ae.current&&(ae.current._childOnNext=re)},[]),Pt=i.useCallback(re=>{ae.current&&(ae.current._childOnResult=re)},[]),Je=i.useCallback((re,F,Z)=>{Re(le=>{const be=le.answersByPage[re]||{},ve=be[F],Ne=Sr(Z),Le=Sr(ve);return ve&&Le>Ne?le:{...le,answersByPage:{...le.answersByPage,[re]:{...be,[F]:Z}}}})},[Re]),wt=i.useCallback((re,F,Z)=>{const le=jr(Me,Be),be=Er(re,F);Je(le,be,Z)},[Me,Be,Je]),Bt=i.useCallback((re,F,Z)=>{const le=jr(Me,Be),be=Er(re,F);Je(le,be,Z),!Z?.allowChange&&re?.autoAdvance!==!1&&Re(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,F+1)}))},[Me,Be,Je,Re]),Et=i.useCallback((re,F)=>{const Z=Ue?.id||`children-page-${Be??0}`,le=typeof F=="number"?F:Ze??0,be=`step-${le}`;Je(Z,be,re),re?.allowChange||Re(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,le+1)}))},[Ue,Be,Ze,Je,Re]),Qt=i.useCallback((re,F)=>{const Z=Ue?.id||`children-page-${Be??0}`,le=`step-${typeof F=="number"?F:Ze??0}`;Je(Z,le,re)},[Ue,Be,Ze,Je]),It=O?{currentPageIndex:Be??0,currentStepIndex:Ze??0,totalStepsInPage:at.length,handleStepDone:Et,handleStepChange:Qt}:null,Vt=async()=>{const re=typeof n?.buildResults=="function"?await Promise.resolve(n.buildResults({scenario:n,pages:J,flowState:qe,answersByPage:qe.answersByPage})):null;return typeof P=="function"&&await Promise.resolve(P(re))||re},en=async()=>{const re=Ue?.id||`children-page-${qe.pageIndex}`,F=qe.answersByPage[re]||{},Z=L?(()=>{const ve={};let Ne=0;return W.forEach(Le=>{const st=qe.answersByPage[Le.id]||{},ce=Array.isArray(Le.steps)?Le.steps.length:0;for(let we=0;we<ce;we+=1){const ze=st[`step-${we}`];typeof ze<"u"&&(ve[`step-${Ne+we}`]=ze)}Ne+=ce}),ve})():F;if(typeof y=="function"){const ve=await Promise.resolve(y(Z,{pageAnswers:F,answersByPage:qe.answersByPage,pages:W,currentPageId:re}));return typeof P=="function"&&await Promise.resolve(P(ve))||ve}const le=Object.entries(F).map(([ve,Ne],Le)=>({index:Le,key:ve,payload:Ne})),be={results:le,answers:le,score:0};return typeof P=="function"&&await Promise.resolve(P(be))||be},bt=()=>{try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(S){const Z=Vt();De({});const le=Z;Promise.resolve(le).then(be=>{De(be||{isEmpty:!0})}).catch(be=>{De({isEmpty:!0})});return}if(O){const Z=en();De({});const le=Z;Promise.resolve(le).then(be=>{De(be||{isEmpty:!0})}).catch(be=>{De({isEmpty:!0})});return}const re=ae.current&&ae.current._childOnResult,F=Z=>{try{return Z?Z():void 0}catch{return}};if(typeof re=="function"){const Z=F(re);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Ut&&Ut.tagName.toUpperCase()==="SCRIPT"&&Ut.src||new URL("components.cjs.js",document.baseURI).href}catch{}Z&&typeof Z.then!="function"?De(Z):De(Z&&typeof Z.then=="function"?{}:{}),Promise.resolve(Z).then(le=>{le&&De(le)}).catch(le=>{});return}if(typeof P=="function"){const Z=F(P);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Ut&&Ut.tagName.toUpperCase()==="SCRIPT"&&Ut.src||new URL("components.cjs.js",document.baseURI).href}catch{}Z&&typeof Z.then!="function"?De(Z):De(Z&&typeof Z.then=="function"?{}:{}),Promise.resolve(Z).then(le=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Ut&&Ut.tagName.toUpperCase()==="SCRIPT"&&Ut.src||new URL("components.cjs.js",document.baseURI).href}catch{}le&&De(le)}).catch(le=>{console.error("viewResults external handler failed",le)});return}},cn=()=>{if(S){if(typeof Be=="number"&&typeof rt=="number"&&Be<rt-1){Re(F=>({...F,pageIndex:F.pageIndex+1,stepIndex:0}));return}return bt()}if(O){const F=at.length;if(typeof Ze=="number"&&Ze<F-1){Re(Z=>({...Z,stepIndex:Z.stepIndex+1}));return}if(typeof Be=="number"&&typeof rt=="number"&&Be<rt-1){Re(Z=>({...Z,pageIndex:Z.pageIndex+1,stepIndex:0}));return}return bt()}if(typeof f=="function"){try{f()}catch{}return}const re=ae.current&&ae.current._childOnNext;if(typeof re=="function"){try{re()}catch{}return}},yt=S?X.title||X.label||w||j("common.popup","\uD31D\uC5C5"):a||_||(Array.isArray(o)?o[o.length-1]:void 0)||w||j("common.popup","\uD31D\uC5C5"),Wt=S?X.title??X.label??yt:a??_??yt,un=(re,F)=>{const Z=jr(Me,Be),le=Er(re,F),be=qe.answersByPage[Z]?.[le],ve=w5(re,{page:Me,pageIndex:Be,step:re,stepIndex:F,storedPayload:be,answersByPage:qe.answersByPage,flowState:qe}),Ne={key:le,index:F,stepIndex:Ze,isLast:F===et.length-1};switch(re?.type){case"listen":return t.jsx(kr,{...Ne,...ve,onDone:Le=>Bt(re,F,Le)});case"confirm":return t.jsx(_r,{...Ne,...ve,onDone:Le=>Bt(re,F,Le),onChange:Le=>wt(re,F,Le)});case"confirmWithText":return t.jsx(wr,{...Ne,...ve,onDone:Le=>Bt(re,F,Le),onChange:Le=>wt(re,F,Le)});case"orderList":return t.jsx(Ar,{...Ne,...ve,onDone:Le=>Bt(re,F,Le),onChange:Le=>wt(re,F,Le)});default:return null}},Ge=S?J.length>0?t.jsx("div",{className:"training-steps",children:et.map((re,F)=>un(re,F))}):t.jsx("div",{className:"page-popup__content page-popup__content--center",children:t.jsx("div",{className:"pp-empty",children:n?.emptyMessage||j("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,St=O?t.jsxs(pl.Provider,{value:It,children:[Ue?.pageTop?t.jsx("div",{className:"training-page-top",children:Ue.pageTop}):null,t.jsx("div",{className:"training-steps",children:at.map((re,F)=>{const Z=re;return i.cloneElement(Z,{...Z.props,_stepIndex:F,_totalSteps:at.length,_stepKey:`step-${F}`,_pageIndex:Be})})}),Ue?.pageBottom?t.jsx("div",{className:"training-page-bottom",children:Ue.pageBottom}):null]}):null,ft=i.useCallback(()=>{let re;if(x){const F=Oe,Z=F?.results||F?.answers||[],le=Array.isArray(Z)&&Z.length>0?Z.length:null,be=Array.isArray(Z)?Z.filter(Ne=>Ne?.correct===!0||Ne?.isCorrect===!0||Ne?.score===1||Ne?.heard===!0||Ne?.judgement===!0).length:null,ve=le!=null?be:null;km({items:Nm(Z),category:vl.has(x)?"sentence":"word",trainingType:x,entryPoint:N??"sentence",itemRef:k??null,correct:ve,total:le,score:typeof F?.score=="number"?F.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-R.current)/1e3)),dailyTotal:M??null}),re={correct:ve,total:le}}De(null),ke(()=>{typeof g=="function"&&g(re),typeof C=="function"&&C()})},[g,C,x,N,M,k,Oe,De,ke]),qt=i.useCallback(()=>Xe(""),[Xe]),Ft=i.useCallback(()=>{ke(()=>{typeof C=="function"&&C()})},[C,ke]),Ot=t.jsxs("div",{className:`page-popup${He?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":yt,children:[t.jsxs("div",{ref:ae,className:`page-popup__panel ${Pe?"":"page-popup__panel--measuring"} ${je==="center"?"page-popup__panel--center":je==="top"?"page-popup__panel--top":""}`,children:[t.jsx(cl,{title:Wt,subtitle:S?X.subtitle||X.label:Array.isArray(o)?o.join(" / "):void 0,desc:S?void 0:r,depth:S?X.depth:o,icon:S?X.icon:s,wrapperStyle:S?X.wrapperStyle:l,iconTooltip:S?X.iconTooltip:c,progressMax:rt,progressIndex:Be,pageIndex:Be,pageCount:rt,onBack:Ft,onClose:Ft}),t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:`page-popup__content ${je==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:O?St:S?Ge:typeof v=="function"?v({registerOnNext:Ct,registerOnResult:Pt,panelRef:ae,setResultOverlay:De}):v})}),t.jsx(ll,{onSettings:m,onNext:cn,onResult:bt,useNoiseSettingBtn:!!(S?X.useNoiseSetting??!0:b),stepIndex:Ze,stepCount:tt,pageIndex:Be,pageCount:rt})]}),Oe&&!Oe.isEmpty&&(D??k5)({score:Oe.score,results:Oe.results||Oe.answers||[],contextsLength:Oe.results?Oe.results.length:Oe.answers?Oe.answers.length:0,onReplay:()=>{if(De(null),S){if(Re(ba()),typeof n?.onReplay=="function")try{n.onReplay()}catch{}return}if(O){Re(ba());return}try{const re=ae.current&&ae.current._childOnResult;typeof re=="function"&&re({replay:!0})}catch{}},onClose:ft}),Oe?.isEmpty&&t.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":j("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:t.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:"page-popup__content page-popup__content--center",children:t.jsx("div",{className:"page-popup__empty",children:j("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),t.jsx("div",{className:"page-popup__bottom",children:t.jsx(te,{variant:"main",size:48,onClick:ft,label:j("training.result.done","\uC644\uB8CC")})})]})}),t.jsx(Bn,{message:We,position:"top",onClose:qt})]}),Ht=t.jsx(Zi.Provider,{value:se,children:Ot});return typeof document<"u"&&document.body?Tt.createPortal(Ht,document.body):Ht}const ln=A5;ln.Page=ga,ln.ListenStep=hl,ln.ConfirmStep=ml,ln.ConfirmWithTextStep=Cl,ln.OrderListStep=fl,ln.CardStep=gl,ln.CardOrderStep=v5;function N5({label:e,homonum:n}){const a=kn()?.(e,n)??"",{imgRef:r,loading:o,hasImage:s,onLoad:l,onError:c}=ir(a);return s?t.jsxs("div",{className:"tooltip-word-image__cell",children:[o&&t.jsx("div",{className:"tooltip-word-image__spinner"}),t.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:o?0:1},onLoad:l,onError:c})]}):t.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:t.jsx("span",{children:e})})}function xl({words:e,anchorRect:n}){const a=i.useRef(null),[r,o]=i.useState(null);return i.useLayoutEffect(()=>{if(!n||!a.current)return;const{offsetWidth:s,offsetHeight:l}=a.current,c=window.innerWidth;let d=n.left+n.width/2-s/2,u=n.top-l-8;u<8&&(u=n.bottom+8),d=Math.max(8,Math.min(d,c-s-8)),o({left:d,top:u})},[n]),!n||e.length===0?null:Tt.createPortal(t.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:t.jsx("div",{className:"tooltip-word-image__cells",children:e.map(s=>t.jsx(N5,{label:s.label,homonum:s.homonum},`${s.label}_${s.homonum??1}`))})}),document.body)}function B5({titleIcon:e,resultCount:n,resultUnit:a,searchQuery:r,items:o,groups:s,selected:l=[],onSelect:c,maxSelect:d,onClearSelection:u,onPrint:h,onPrintEmpty:p,className:C,emptyHint:g,sectionType:f="page",disc:m,notice:b}){const{t:v,i18n:w}=me.useTranslation(),_=w.language?.startsWith("ko")??!1,{anchorRect:y,openAt:B,close:x}=ia(),[N,M]=i.useState(null),k=i.useCallback(()=>{x(),M(null)},[x]);l0(k,!!N);const D=(r??"").trim(),H=/^[^,[\]\s]+$/.test(D)?D:"",R=H.length>0,[j,P]=i.useState("ganada"),[S,U]=i.useState("50"),[X,J]=i.useState(1),[Q,E]=i.useState(R);Q!==R&&(E(R),P(R?"match":"ganada"));const $=j==="match"&&!R?"ganada":j,L=i.useMemo(()=>[...R?[{value:"match",label:v("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],{value:"ganada",label:v("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:v("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:v("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:v("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:v("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:v("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[v,R]),W=i.useMemo(()=>["10","25","50","100"].map(ue=>({value:ue,label:v("wordSearch.pageSize",{count:Number(ue),defaultValue:`${ue}\uAC1C\uC529 \uBCF4\uAE30`})})),[v]),O=ue=>ue.words[0],Y=i.useCallback((ue,se)=>{const ae=He=>O(He)?.label??"",je=He=>O(He)?.syllables??[...ae(He)].length,Fe=He=>{const $e=parseInt(O(He)?.grade??"",10);return Number.isFinite($e)?$e:999};switch($){case"match":{const He=[...H].length,$e=Ee=>lm(ae(Ee).slice(0,He),H)?0:1;return $e(ue)-$e(se)||ae(ue).localeCompare(ae(se),"ko")}case"ganada":return ae(ue).localeCompare(ae(se),"ko");case"ganada_desc":return ae(se).localeCompare(ae(ue),"ko");case"syllable":return je(ue)-je(se)||ae(ue).localeCompare(ae(se),"ko");case"syllable_desc":return je(se)-je(ue)||ae(ue).localeCompare(ae(se),"ko");case"grade":return Fe(ue)-Fe(se)||ae(ue).localeCompare(ae(se),"ko");case"grade_desc":return Fe(se)-Fe(ue)||ae(ue).localeCompare(ae(se),"ko");default:return 0}},[$,H]),I=i.useMemo(()=>o.slice().sort(Y),[o,Y]),q=Number(S)||10,K=i.useMemo(()=>(s??[]).flatMap(ue=>ue.items.slice().sort(Y).map(se=>({item:se,label:ue.label}))),[s,Y]),oe=s?K.length:I.length,pe=Math.max(1,Math.ceil(oe/q)),fe=Math.min(X,pe),ge=i.useMemo(()=>I.slice((fe-1)*q,fe*q),[I,fe,q]),he=i.useMemo(()=>{if(!s)return null;const ue=K.slice((fe-1)*q,fe*q),se=new Map;for(const{item:ae,label:je}of ue)se.has(je)||se.set(je,[]),se.get(je).push(ae);return[...se.entries()].map(([ae,je])=>({label:ae,items:je}))},[s,K,fe,q]);i.useEffect(()=>{J(1)},[j,S,oe]);const T=oe>0?t.jsxs("div",{className:"word-search-result-block__toolbar",children:[t.jsx(Rt,{size:40,options:L,value:$,onChange:P,ariaLabel:v("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),t.jsx(Rt,{size:40,options:W,value:S,onChange:U,ariaLabel:v("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),t.jsx(ca,{page:fe,totalPages:pe,onChange:J})]}):void 0,V=ue=>{c&&c(ue)},ee=n!==void 0&&a?t.jsxs(t.Fragment,{children:[v("wordSearch.resultTitlePrefix","\uCD1D "),t.jsx("span",{style:{color:"var(--color-main)"},children:n}),v("wordSearch.resultTitleSuffix",{unit:_?gm(a):a})]}):void 0,Ce=n!==void 0&&n>0&&d!==void 0&&a?v("wordSearch.resultDisc",{unit:_?ym(a):a,max:d,selected:l.length}):void 0,ie=m??(b?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"word-search-result-block__notice",children:b}),Ce?t.jsx("span",{className:"word-search-result-block__disc",children:Ce}):null]}):Ce);return t.jsxs(Sn,{type:f,icon:e,title:ee,action:T,disc:ie,className:ye("word-search-result-block",C),children:[t.jsxs("div",{className:"word-search-result-block__inner",children:[(s?s.length===0:o.length===0)&&t.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[t.jsx("p",{className:"word-search-result-block__empty body-3",children:v("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&t.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),s?(he??[]).map(ue=>t.jsx("div",{className:"word-search-result-block__group",children:t.jsx("div",{className:"word-search-result-block__items",children:ue.items.map(se=>{const ae=l.includes(se.id);return t.jsx("div",{onMouseEnter:je=>{B(je.currentTarget),M(se.words)},onMouseLeave:k,children:t.jsx(te,{size:"word",align:"grid",label:se.words.map(je=>je.label),subLabel:se.words.map(je=>je.subLabel).filter(Boolean).length>0?se.words.map(je=>je.subLabel):void 0,selected:ae,onClick:()=>V(se.id),minWidth:200})},se.id)})})},ue.label)):t.jsx("div",{className:"word-search-result-block__items",children:ge.map(ue=>{const se=l.includes(ue.id);return t.jsx("div",{onMouseEnter:ae=>{B(ae.currentTarget),M(ue.words)},onMouseLeave:k,children:t.jsx(te,{size:"word",align:"grid",label:ue.words.map(ae=>ae.label),subLabel:ue.words.map(ae=>ae.subLabel).filter(Boolean).length>0?ue.words.map(ae=>ae.subLabel):void 0,selected:se,onClick:()=>V(ue.id),minWidth:200})},ue.id)})}),N&&y&&t.jsx(xl,{words:N,anchorRect:y})]}),pe>1&&t.jsx("div",{className:"word-search-result-block__pagination-bottom",children:t.jsx(ca,{page:fe,totalPages:pe,onChange:J})}),(u||h)&&t.jsxs("div",{className:"word-search-result-block__actions",children:[u&&t.jsx(te,{size:"56",type:"bar",label:v("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:u}),h&&t.jsx("div",{onClick:l.length===0?p:void 0,children:t.jsx(te,{size:"56",type:"bar",variant:"main",label:v("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:h})})]})]})}function S5(e,n){return n.map(a=>{const r=typeof a=="string"?a:a.label,o=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:o}})}function D5({sections:e,selectedList:n,count:a,onCountChange:r,maxCount:o=4,minCount:s=1,combinationSections:l,combinationSectionsForSlot:c,onSelect:d,placeholder:u="-",className:h,title:p,titleIcon:C,disc:g,showInfoButton:f=!1,onClearPhoneme:m,onSearch:b,onSearchEmpty:v,searchDisabled:w=!1,searchLabel:_,searchChecking:y=!1,pairMode:B=!1,sectionType:x="page",beforeSearchContent:N,beforeContent:M,afterContent:k,hideCountControl:D=!1,ordinal:H=!1}){const{t:R}=me.useTranslation(),j=i.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),P=i.useMemo(()=>Array.from({length:o-s+1},(I,q)=>{const K=s+q;return{key:String(K),label:R("wordPairs.count",{n:K})}}),[R,o,s]),S=i.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),U=i.useCallback(I=>H?R("wordPairs.phonemeOrdinalLabel",{ordinal:S[I-1]??I}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:I}),[H,S,a,R]),X=i.useCallback(I=>H?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:S[I-1]??I}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:I}),[H,S,a,R]),J=i.useCallback((I,q)=>q?t.jsxs(t.Fragment,{children:[I,t.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):I,[]),{anchorRect:Q,toggleAt:E,close:$}=ia(),L=i.useCallback(I=>r(Number(I)),[r]),W=Gt("(max-width: 767px)"),O=i.useCallback(I=>S5(I,e).map(({label:q,value:K,displayLabel:oe})=>{const pe=!!K&&K!=="\uC5C6\uC74C";return t.jsxs("span",{className:ye("phoneme-select-block__cell-jamo-part",K?"":"phoneme-select-block__cell-jamo-part--empty",pe?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[t.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${K==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:K==="\uC5C6\uC74C"?"x":K||u}),pe&&t.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:oe??q})]},q)}),[e,u]),Y=t.jsxs(t.Fragment,{children:[t.jsx("div",{"data-tooltip-ignore":!0,children:t.jsx(te,{size:40,type:W?"dot":void 0,icon:"info",label:W?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),selected:!!Q,onClick:I=>E(I.currentTarget)})}),Q&&t.jsx(Cn,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:j,anchorRect:Q,onClose:$})]});return t.jsxs(Sn,{type:x,title:p,icon:C,disc:g,action:Y,className:ye("phoneme-select-block",h),children:[M,(!D||f&&!(p||g))&&t.jsxs("div",{className:"phoneme-select-block__controls",children:[!D&&t.jsx(bn,{options:P,value:String(a),onChange:L,size:40,className:"phoneme-select-block__count-control"}),f&&!(p||g)&&Y]}),t.jsx("div",{className:"phoneme-select-block__cells",children:B?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,q)=>{const K=n[q*2]??{};return t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:O(K)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:U(q+1)})]},q)})}),t.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,q)=>{const K=n[q*2+1]??{};return t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:O(K)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:X(q+1)})]},q)})})]}):n.map((I,q)=>t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:O(I)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:U(q+1)})]},q))}),(l||c)&&t.jsx("div",{className:"phoneme-select-block__panels",children:t.jsx("div",{className:"phoneme-select-block__detail",children:B?t.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,q)=>{const K=n[q*2]??{};return t.jsx(Jt,{title:J(U(q+1),q===0),sections:c?c(K,q*2):l,selected:K,onSelect:d?.(q*2),align:"newline"},q)})}),t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,q)=>{const K=n[q*2+1]??{};return t.jsx(Jt,{title:X(q+1),sections:c?c(K,q*2+1):l,selected:K,onSelect:d?.(q*2+1),align:"newline"},q)})})]}):n.map((I,q)=>t.jsx(Jt,{title:J(U(q+1),q===0),sections:c?c(I,q):l,selected:I,onSelect:d?.(q),align:"newline"},q))})}),N&&t.jsx("div",{className:"phoneme-select-block__before-search",children:N}),(m||b||y)&&(()=>{const I=n.every(q=>Object.entries(q).every(([K,oe])=>!oe||K==="\uC885\uC131"&&oe==="\uC5C6\uC74C"));return t.jsxs("div",{className:"phoneme-select-block__search-row",onClick:I?v:void 0,children:[m&&t.jsx(te,{size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:I,onClick:I?void 0:m}),y?t.jsxs("div",{className:"phoneme-select-block__checking",children:[t.jsx("div",{className:"phoneme-select-block__spinner"}),t.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:_??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):b&&t.jsx(te,{size:"56",type:"bar",variant:"main",label:_??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:I||w,onClick:I||w?void 0:b})]})})(),k]})}function j5({title:e,sections:n,selected:a,onSelect:r,className:o}){const{t:s}=me.useTranslation();return t.jsx(Jt,{className:o,title:e??s("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:n,selected:a,onSelect:r,align:"inline"})}function E5({title:e,headerAction:n,sections:a,selected:r,onSelect:o,className:s}){const{t:l}=me.useTranslation();return a.length===0?null:t.jsx(Jt,{className:s,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:n,sections:a,selected:r,onSelect:o,align:"newline"})}function T5({title:e,mode:n,onModeChange:a,matchMode:r,onMatchModeChange:o,positionCount:s,onPositionCountChange:l,inputMode:c,onInputModeChange:d,className:u}){const{t:h}=me.useTranslation(),p={searchMode:h("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:h("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:h("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:h("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:h("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:h("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:h("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:h("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:h("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:h("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:h("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},C=b=>h("wordPairs.count",{n:b}),g=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:t.jsx(Kn,{title:h("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[h("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),h("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),h("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:p.phonemeOrder,items:[p.orderAny,p.orderMatch],display:"segmented",labelAction:t.jsx(Kn,{items:h("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:p.count,items:[C(1),C(2)],display:"segmented"},{label:p.inputMode,items:[p.charInput,p.pronInput],display:"segmented",labelAction:t.jsx(Kn,{title:h("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[h("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),h("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],f={[p.searchMode]:n==="explicit"?p.explicit:n==="pick"?p.pick:p.include,[p.phonemeOrder]:r==="ordered"?p.orderMatch:p.orderAny,[p.count]:C(s),[p.inputMode]:c==="phoneme"?p.pronInput:p.charInput},m=(b,v)=>{v===p.searchMode?a(b===p.explicit?"explicit":b===p.pick?"pick":"include"):v===p.phonemeOrder?o(b===p.orderMatch?"ordered":"unordered"):v===p.count?l(b===C(2)?2:1):v===p.inputMode&&d(b===p.pronInput?"phoneme":"word")};return t.jsx(Jt,{className:u,title:e??h("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:f,onSelect:m,align:"inline"})}function M5(e){const{title:n,items:a,columns:r,gridTemplateColumns:o,searchPlaceholder:s,searchFn:l,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:u,selectedIds:h,onSelect:p,onClose:C,pageSizeOptions:g=[10,25,50,100],initialPageSize:f,emptyText:m,countLabel:b,topContent:v,className:w=""}=e,{t:_}=me.useTranslation(),y=s??_("common.search","\uAC80\uC0C9"),B=m??_("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[x,N]=i.useState(""),[M,k]=i.useState(c??r[0]?.key??""),[D,H]=i.useState(d),[R,j]=i.useState(String(f??g[0]??10)),[P,S]=i.useState(1);i.useEffect(()=>{S(1)},[x,R]);const U=l!==null,X=i.useCallback((I,q)=>{if(!q)return!0;const K=q.toLowerCase();return r.some(oe=>{const pe=I[oe.key];return pe==null?!1:String(pe).toLowerCase().includes(K)})},[r]),J=l??X,Q=i.useMemo(()=>{const I=U?a.filter(q=>J(q,x)):a;return M?[...I].sort((q,K)=>{const oe=q[M]??"",pe=K[M]??"";if(oe===pe)return 0;const fe=d4(oe,pe);return D?fe:-fe}):I},[a,x,M,D,U,J]),E=Math.max(1,Math.ceil(Q.length/Number(R))),$=Q.slice((P-1)*Number(R),P*Number(R)),L=i.useCallback(I=>{M===I?H(q=>!q):(k(I),H(!0))},[M]),W=i.useMemo(()=>{if(typeof b=="string"&&b.includes("{n}")){const[I,q]=b.split("{n}");return{prefix:I,suffix:q}}return{prefix:_("common.totalCountPrefix","\uCD1D "),suffix:_("common.totalCountSuffix","\uAC1C")}},[b,_]),O=i.useMemo(()=>r.map(I=>({label:I.label,onClick:I.sortable!==!1?()=>L(I.key):void 0,className:I.className,sortDir:I.sortable!==!1&&M===I.key?D?"asc":"desc":null})),[r,M,D,L]),Y=i.useMemo(()=>g.map(I=>({value:String(I),label:_("common.pageSizeLabel",{n:I})})),[g,_]);return t.jsxs(on,{className:`popup-list ${w}`,title:n,onClose:C,children:[v,t.jsx(Qa,{count:{value:Q.length,prefix:W.prefix,suffix:W.suffix},search:U?{value:x,onChange:N,placeholder:y}:void 0,pageSize:{options:Y,value:R,onChange:j},pagination:{page:P,total:E,onChange:S}}),t.jsx(or,{size:"medium",gridTemplateColumns:o,resizable:!0,fields:O,items:$,onRowClick:p,renderRow:I=>{const q=h!=null?I.id!=null&&h.has(I.id):u!=null&&I.id===u;return r.map(K=>({content:K.render?K.render(I):I[K.key]??"",className:q?"popup-list__row--selected":K.className}))},empty:B})]})}function L5(e){const{title:n,message:a,topContent:r,details:o,children:s,confirmLabel:l,cancelLabel:c,hideCancel:d=!1,extraAction:u,confirmVariant:h="main",confirmDisabled:p=!1,onConfirm:C,closeOnConfirm:g=!0,onClose:f,inline:m,size:b="small",className:v}=e,{t:w}=me.useTranslation(),_=i.useRef(!1),[y,B]=i.useState(!1);return t.jsxs(on,{title:n,onClose:f,closeDisabled:y,inline:m,size:b,className:ye("confirm-popup",v),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||y,onClick:async({closeWithAnimation:x})=>{if(!_.current){_.current=!0,B(!0);try{await u.onClick(x),(u.closeOnClick??!0)&&x()}finally{_.current=!1,B(!1)}}}}]:[],...d?[]:[{label:c??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:y,onClick:({closeWithAnimation:x})=>x()}],{label:l??w("common.confirm","\uD655\uC778"),variant:h,disabled:p||y,onClick:async({closeWithAnimation:x})=>{if(!_.current){_.current=!0,B(!0);try{await C(x),g&&x()}finally{_.current=!1,B(!1)}}}}],children:[r!=null&&t.jsx("div",{className:"confirm-popup__top",children:r}),o&&o.length>0&&t.jsx(fa,{children:o.map((x,N)=>t.jsx(sn,{label:x.label,children:t.jsx("span",{className:"panel-row__text body-2",children:x.value})},N))}),t.jsx("p",{className:"body-2 confirm-popup__message",children:a}),s]})}function $5({onApply:e,onCancel:n}){const{t:a}=me.useTranslation(),[r,o]=i.useState(""),[s,l]=i.useState(!1),[c,d]=i.useState(null),u=i.useRef(null);i.useEffect(()=>{u.current?.focus()},[]);const h=i.useCallback(async g=>{const f=r.trim();if(f){l(!0),d(null);try{await e(f),g()}catch(m){d(Fo(m)),l(!1)}}},[r,e]),p=i.useCallback((g,f)=>{g.key==="Enter"&&h(f)},[h]),C=g=>{o(g.target.value),d(null)};return t.jsx(on,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:n,closeDisabled:s,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:s,onClick:({closeWithAnimation:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||s,onClick:({closeWithAnimation:g})=>{h(g)}}],children:({closeWithAnimation:g})=>t.jsxs(t.Fragment,{children:[t.jsx("input",{ref:u,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:C,onKeyDown:f=>p(f,g),disabled:s,autoComplete:"off",spellCheck:!1}),c&&t.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}const R5=200;function P5(e){return e.itemId?(Im()[e.trainingType]??[]).find(n=>n?.id!=null&&String(n.id)===String(e.itemId))??null:null}function I5({plan:e,anchorRect:n,offset:a=12,onClose:r}){const{t:o}=me.useTranslation(),s=i.useMemo(()=>Fm.map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items]);if(s.length===0)return null;const l=t.jsx("div",{className:"tooltip-training__box",children:t.jsx("div",{className:"tooltip-training__groups",children:s.flatMap(({type:c,items:d},u)=>[u>0?t.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,t.jsxs("div",{className:"tooltip-training__section",children:[t.jsx("div",{className:"tooltip-training__section-header",children:t.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),t.jsx("div",{className:"tooltip-training__items",children:d.map((h,p)=>{const C=P5(h);return C?t.jsx(sr,{index:p,type:c,trainingData:C,size:"compact",hideCheckBadge:!0},h.itemId??p):null})})]},c.key)])})});return n?t.jsx(nn,{anchorRect:n,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:o("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const _l=["var(--color-main)","var(--color-sub)"];function wl({active:e=!1,count:n=40,duration:a=2e3,strength:r=1,onComplete:o,trigger:s=0}){const l=i.useMemo(()=>{const m=Math.floor(n/2),b=n-m,v=(w,_)=>Array.from({length:w}).map((y,B)=>{const x=6+Math.random()*12,N=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),M=_l[Math.floor(Math.random()*_l.length)],k=Math.random()*300,D=(360+Math.random()*260)*r*1.2,H=(_==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(H)*D,j=Math.sin(H)*D*1.35,P=Math.random()*720-360,S=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),U=Math.random()>.7?"50%":"3px";return{id:`${_}-${B}`,side:_,size:N,color:M,delay:k,vx:R,vy:j,angularVel:P,life:S,borderRadius:U}});return[...v(m,"left"),...v(b,"right")]},[n,r]),c=i.useRef(null),d=i.useRef({}),u=i.useRef(null),h=i.useRef(o);i.useEffect(()=>{h.current=o},[o]);const p=i.useRef(null),C=i.useRef(null),g=()=>{if(typeof document>"u")return null;let m=document.querySelector("[data-ihab-effect-root]");return m||(m=document.createElement("div"),m.className="app-effect",m.dataset.ihabEffectRoot="",m.style.position="fixed",m.style.inset="0",m.style.pointerEvents="none",m.style.zIndex="99998",document.body.appendChild(m)),m};if(typeof document<"u"&&C.current==null&&(C.current=g()),i.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){h.current?.();return}const m=1200,b=performance.now(),v=C.current&&C.current!==document.body?C.current.getBoundingClientRect():null,w=Math.max(60,(window.innerHeight||800)*.05),_=E=>Math.max(40,(E||window.innerWidth)*.02),y=v?.width||window.innerWidth||375,B=v?.height||window.innerHeight||812,x=E=>{const $=[...E].sort((L,W)=>L-W);return $[Math.floor($.length/2)]||1},N=x(l.map(E=>Math.abs(E.vy))),M=x(l.map(E=>Math.abs(E.vx))),k=Math.sqrt(2*m*(B*.72+w))/N,D=N*k/m,H=y*.5/(M*D),R=(E,$,L)=>Math.min(L,Math.max($,E)),j=R(k,.8,2.4),P=R(H,.7,2.2),S=l.map(E=>({...E,vx:E.vx*P,vy:E.vy*j,startTime:b+E.delay,ended:!1})),U=v?{x:v.left-_(v.width),y:v.top+v.height+w}:{x:-_(window.innerWidth),y:window.innerHeight+w},X=v?{x:v.left+v.width+_(v.width),y:v.top+v.height+w}:{x:window.innerWidth+_(window.innerWidth),y:window.innerHeight+w},J=E=>{let $=!1;for(const L of S){const W=d.current[L.id];if(!W||!W)continue;if(E<L.startTime){W.style.display="none";continue}if(!L._inited){const he=L.side==="left"?U.x:X.x,T=L.side==="left"?U.y:X.y;W.style.left=`${he}px`,W.style.top=`${T}px`,W.style.transform="translate3d(0px, 0px, 0)",W.style.display="block",W.style.zIndex="100000";try{if(typeof window<"u"&&typeof L.color=="string"&&L.color.startsWith("var(")){const V=L.color.slice(4,-1).trim(),ee=getComputedStyle(document.documentElement).getPropertyValue(V).trim();ee?W.style.background=ee:W.style.background="#FF0060"}}catch{}L._inited=!0}const O=(E-L.startTime)/1e3;if(O<0)continue;const Y=L.life/1e3;if(O>=Y){W.style.opacity="0",W.style.display="none",L.ended=!0;continue}$=!0;const I=L.side==="left"?U.x:X.x,q=L.side==="left"?U.y:X.y,K=I+L.vx*O,oe=q+L.vy*O+.5*m*O*O,pe=(L.angularVel||0)*O,fe=K-I,ge=oe-q;W.style.transform=`translate3d(${fe}px, ${ge}px, 0) rotate(${pe}deg)`,W.style.opacity=`${Math.max(0,1-O/Y)}`}$?u.current=requestAnimationFrame(J):h.current?.()};u.current=requestAnimationFrame(J);const Q=setTimeout(()=>{try{if((C.current?C.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const E=document.createElement("div");E.className="party-container",E.style.position="fixed",E.style.inset="0",E.style.pointerEvents="none",E.style.overflow="visible",E.style.zIndex="2147483647";for(const $ of l){const L=document.createElement("span");L.className=`confetti confetti--${$.side}`,L.setAttribute("aria-hidden","true"),L.style.display="none",L.style.position="fixed",L.style.left="0px",L.style.top="0px",L.style.width=`${$.size}px`,L.style.height=`${Math.max(4,$.size*.6)}px`;let W=$.color;try{if(typeof W=="string"&&W.startsWith("var(")){const O=W.slice(4,-1).trim(),Y=getComputedStyle(document.documentElement).getPropertyValue(O).trim();Y&&(W=Y)}}catch{}L.style.background=W,L.style.borderRadius=$.borderRadius,L.style.transform="translate3d(0,0,0)",L.style.opacity="0",E.appendChild(L),d.current[$.id]=L}(document.body||C.current).appendChild(E),p.current=E}}catch{}},300);return()=>{if(u.current&&cancelAnimationFrame(u.current),clearTimeout(Q),p.current){try{p.current.remove()}catch{}p.current=null}}},[e,a,s,l]),!e)return null;const f=t.jsx("div",{className:"party-container",ref:c,children:l.map(m=>t.jsx("span",{"aria-hidden":!0,ref:b=>{d.current[m.id]=b},className:`confetti confetti--${m.side}`,style:{width:`${m.size}px`,height:`${Math.max(4,m.size*.6)}px`,background:m.color,borderRadius:m.borderRadius}},`${m.id}-${s}`))});return typeof document<"u"?Tt.createPortal(f,C.current||document.body):f}function F5({trigger:e=0,active:n=!1}){const a=i.useRef(0);return i.useEffect(()=>{a.current=e},[e]),t.jsx(wl,{active:n,trigger:e})}function O5({title:e,sub:n,rightAction:a,titleAction:r,badge:o,badgeVariant:s="default",documentTitle:l,onBack:c,backLabel:d}){const{t:u}=me.useTranslation();Jm(typeof e=="string"?e:l??null);const h=d??u("common.back","\uB4A4\uB85C");return t.jsxs("div",{className:"page-title",children:[t.jsxs("div",{className:"page-title__main",children:[t.jsxs("div",{className:"page-title__title-row",children:[c&&t.jsx(te,{className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:h,showTooltipInfo:h,onClick:c}),t.jsx("h1",{className:"page-title__title h1",children:e}),o&&t.jsx("div",{className:"page-title__badge",children:t.jsx(ut,{label:o,size:"small",variant:s,fill:"outline"})}),r?t.jsx("div",{className:"page-title__title-action",children:r}):null]}),n&&t.jsx("p",{className:"page-title__sub body-2",children:n})]}),a?t.jsx("div",{className:"page-title__action",children:a}):null]})}function H5(e){return e??""}const kl=i.createContext({words:[],loading:!1});function z5(){return i.useContext(kl)}function V5({words:e,loading:n,error:a,statusMessage:r,localVersion:o,remoteVersion:s,progress:l,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return t.jsx(kl.Provider,{value:{words:e,loading:n,error:a,statusMessage:r,localVersion:o,remoteVersion:s,progress:l,clearAndRefetch:c,checkRemoteVersion:d},children:u})}function W5({items:e,actions:n,columns:a,flat:r=!1,className:o,style:s}){const l=a??e.length;return t.jsx("section",{className:ye("summary-strip",r&&"summary-strip--flat",o),style:{"--summary-strip-cols":String(l),...s},children:t.jsxs("div",{className:"summary-strip__row",children:[t.jsx("div",{className:"summary-strip__items",children:e.map((c,d)=>t.jsxs("div",{className:"summary-strip__item",children:[t.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),t.jsx("p",{className:"summary-strip__value body-3b",children:c.value})]},d))}),n&&t.jsx("div",{className:"summary-strip__actions",children:n})]})})}const q5=(e,n)=>`${e} / ${n}`;function U5({blocks:e,sectionTitles:n,logo:a,footer:r,pageLabel:o=q5,pageWidth:s,pageHeight:l,margin:c,className:d,style:u}){const{t:h}=me.useTranslation(),p=i.useRef(null),C=i.useRef(null),g=i.useRef(null),f=i.useRef(null),[m,b]=i.useState(null),[v,w]=i.useState(!1);i.useEffect(()=>{const D=p.current;if(!D)return;const H=()=>w(D.scrollWidth>D.clientWidth+1);if(H(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(H);return R.observe(D),()=>R.disconnect()},[m]);const _=e.map(D=>`${D.id}\0${D.section??""}\0${D.group??""}`).join("");i.useLayoutEffect(()=>{const D=C.current,H=f.current;if(!D||!H)return;const R=g.current?.offsetHeight??0,j=H.offsetHeight-R,P=Array.from(D.children).map(E=>E.offsetHeight),S=[];e.forEach((E,$)=>{const L=S[S.length-1],W=L?e[L[0]]:void 0;W&&E.group!=null&&W.group===E.group?L.push($):S.push([$])});const U=[];let X=[],J=0;const Q=()=>{X.length&&U.push(X),X=[],J=0};S.forEach(E=>{const $=E.reduce((L,W)=>L+P[W],0);X.length&&e[X[0]].section!==e[E[0]].section&&Q(),X.length&&J+$>j&&Q(),$>j?E.forEach(L=>{X.length&&J+P[L]>j&&Q(),X.push(L),J+=P[L]}):(E.forEach(L=>X.push(L)),J+=$)}),Q(),b(U)},[_]);const y=Ja,B=y,x=r??t.jsxs(t.Fragment,{children:[t.jsx("img",{src:B,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),N=(D,H,R)=>({header:t.jsxs("div",{className:"report-doc__header",children:[t.jsx("h2",{className:"report-doc__title h3b",children:R!=null&&n?.[R]||null}),a]}),footer:t.jsxs("div",{className:"report-doc__footer caption-1",children:[t.jsx("span",{className:"report-doc__footer-left",children:x}),t.jsx("span",{className:"report-doc__page-no",children:o(D,H)})]})}),M=N(1,1,e[0]?.section),k={...s?{"--report-page-w":s}:null,...l?{"--report-page-h":l}:null,...c?{"--report-margin":c}:null,...u};return t.jsxs("div",{ref:p,className:ye("report-doc",d),style:k,tabIndex:v?0:void 0,role:v?"group":void 0,"aria-label":v?h("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[t.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[t.jsx("div",{ref:f,className:"report-doc__ruler"}),t.jsxs("div",{ref:g,children:[M.header,M.footer]}),t.jsx("div",{ref:C,className:"report-doc__measure-blocks",children:e.map(D=>t.jsx("div",{children:D.content},D.id))})]}),m&&t.jsx("div",{className:"report-doc__pages",children:m.map((D,H)=>{const{header:R,footer:j}=N(H+1,m.length,e[D[0]].section);return t.jsxs("section",{className:"report-doc__page",children:[R,D.map(P=>t.jsx("div",{children:e[P].content},e[P].id)),j]},H)})})]})}function G5({title:e,fields:n,columns:a=4,className:r,style:o}){return t.jsxs("div",{className:ye("report-info",r),style:{"--report-info-cols":String(a),...o},children:[e&&t.jsx("p",{className:"report-info__title h5b",children:e}),t.jsx("div",{className:"report-info__grid",children:n.map((s,l)=>t.jsxs("div",{className:"report-info__field body-2",children:[t.jsx("span",{className:"report-info__label body-3",children:s.label}),t.jsx("span",{className:"report-info__value",children:s.value})]},l))})]})}function K5({title:e,message:n,actionLabel:a,onAction:r,icon:o,onClose:s,className:l=""}){const{t:c}=me.useTranslation(),d=a??c("common.update","\uC5C5\uB370\uC774\uD2B8");return t.jsxs("div",{className:ye("update-alert",l),role:"alert",children:[s&&t.jsx("button",{type:"button",className:"update-alert__close",onClick:s,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),t.jsxs("div",{className:"update-alert__top",children:[t.jsx("div",{className:"update-alert__icon",children:o??t.jsx(Kr,{size:20,strokeWidth:2})}),t.jsxs("div",{className:"update-alert__body",children:[t.jsx("div",{className:"update-alert__title h4",children:e}),t.jsx("div",{className:"update-alert__message body-3",children:n})]})]}),r&&t.jsx(te,{size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:d})]})}function Z5({title:e,description:n,topActions:a,children:r,footerLeft:o,footerRight:s,onClick:l,draggable:c,onDragStart:d,onDragEnd:u,className:h}){const p=o!=null||s!=null,C=r!=null&&r!==!1,g=i.useCallback(f=>{l&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),l())},[l]);return t.jsxs("div",{className:ye("training-card",l?"training-card--clickable":"",h),onClick:l,onKeyDown:l?g:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,draggable:c,onDragStart:d,onDragEnd:u,children:[t.jsxs("div",{className:"training-card__header",children:[t.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?t.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&t.jsx("div",{className:"training-card__top-actions",onClick:f=>f.stopPropagation(),children:a})]}),n!=null?typeof n=="string"?t.jsx("p",{className:"training-card__description body-3",children:n}):n:t.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),C&&t.jsx("div",{className:"training-card__body",children:r}),p&&t.jsxs("div",{className:"training-card__footer",children:[o!=null&&t.jsx("div",{className:"training-card__footer-left",children:o}),s!=null&&t.jsx("div",{className:"training-card__meta",children:s})]})]})}function Y5({title:e,count:n,collapsed:a=!1,onToggle:r,sort:o,actions:s,empty:l=!1,emptyContent:c,dragOver:d=!1,onDragOver:u,onDragLeave:h,onDrop:p,children:C,className:g}){const{t:f}=me.useTranslation(),m=r!=null,b=ye("training-card-group",d&&"training-card-group--dragover",a&&"training-card-group--collapsed",m&&"training-card-group--collapsible",g);return t.jsxs("div",{className:b,onDragOver:u,onDragLeave:h,onDrop:p,children:[t.jsxs("header",{className:"training-card-group__header",children:[m&&t.jsx(te,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron",onClick:r}),typeof e=="string"?t.jsx("span",{className:"training-card-group__title h5b",children:e}):e,n!==void 0&&t.jsx("span",{className:"training-card-group__count body-3b",children:n}),(o||s!=null)&&t.jsxs("span",{className:"training-card-group__actions",onClick:v=>v.stopPropagation(),children:[o&&t.jsx(Rt,{size:40,options:o.options,value:o.value,placeholder:o.placeholder,onChange:o.onChange}),s]})]}),!a&&(l?t.jsx("div",{className:"training-card-group__empty body-3",children:c}):t.jsx("div",{className:"training-card-group__grid",children:C}))]})}const X5="speechear:saved_word_tables";function J5(e){if(typeof e!="object"||e===null)return!1;const n=e;return typeof n.id=="string"&&typeof n.name=="string"&&Array.isArray(n.items)}function Q5(){try{const e=localStorage.getItem(X5);if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.filter(J5):[]}catch{return[]}}function eb({title:e,titleIcon:n,disc:a,items:r,onSaveComplete:o,onLoad:s,onRemoveItem:l,onReset:c,resetLabel:d,saveButtonLabel:u,secondarySaveButtonLabel:h,onReorder:p,showCellCount:C,onAddItem:g,className:f,renderSavePopup:m,renderWordSearch:b,hideControls:v,saveOnly:w,tableName:_,nameValue:y,onNameChange:B,descriptionValue:x,onDescriptionChange:N,namePlaceholder:M,descriptionPlaceholder:k,existingNames:D,editingName:H,onCancel:R}){const{t:j}=me.useTranslation(),P=d??j("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),S=r===void 0,U=!!B,[X,J]=i.useState([]),Q=(y??"").trim(),E=Q||(M??"").trim(),$=(x??"").trim()||(k??"").trim(),L=(D??[]).map(ce=>ce.trim().toLowerCase()),W=[H?.trim().toLowerCase(),...X].filter(ce=>!!ce),O=[...L];for(const ce of W){const we=O.indexOf(ce);we!==-1&&O.splice(we,1)}const Y=Q!==""&&O.includes(Q.toLowerCase()),[I,q]=i.useState(Array(4).fill(null)),[K,oe]=i.useState(4),[pe,fe]=i.useState(null),[ge,he]=i.useState("landscape"),[T,V]=i.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ee,Ce]=i.useState("\uD45C\uC2DC"),[ie,ue]=i.useState(!0),[se,ae]=i.useState(!0),je=i.useRef(null),Fe=i.useRef([]),[He,$e]=i.useState(8),[Ee,Se]=i.useState("right"),[ke,Pe]=i.useState(!1),[Ye,xe]=i.useState(!1),{toastMessage:Oe,toastType:De,showWarning:We,clearToast:Xe}=Ts("warning"),qe=i.useCallback(()=>fe(null),[fe]),[Re,ot]=i.useState(()=>Math.max(r?.length??1,1));i.useEffect(()=>{S||ot(ce=>Math.max(ce,r?.length??1))},[r?.length,S]);const pt=S?K:C?Math.max(Re,r?.length??1):Math.max(r?.length??0,1),{width:Ue,height:at}=jn[ge],Be=!S&&!C,Me=r?.length??0,et=Math.min(He,Math.max(Me,1)),tt=Be?et:pt,Ze=Be?Si(r??[],tt):null,rt=!!Ze&&Ze.length>1,Ct=S?I.some(ce=>ce!==null&&ce.length>1):(r??[]).some(ce=>ce.words.length>1),Pt=_?.trim()||`${Vo(jm())} ${Ct?j("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):j("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,Je=i.useCallback(()=>rt?Fe.current.filter(ce=>ce!==null):je.current?[je.current]:[],[rt]),{print:wt,openNewWindow:Bt,downloadHtml:Et}=mr({getElements:Je,paperW:Ue,paperH:at,fileName:Pt,onPopupBlocked:()=>{We(j("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Qt=ce=>{oe(ce),q(we=>{const ze=Array(ce).fill(null);return we.slice(0,ce).forEach((lt,ht)=>{ze[ht]=lt}),ze}),fe(null)},It=ce=>{q(we=>{const ze=[...we];return ze[ce]=null,ze}),pe===ce&&fe(null)},Vt=ce=>{if(pe===null)return;const we=pe;q(lt=>{const ht=[...lt];return ht[we]=ce,ht});const ze=I.findIndex((lt,ht)=>ht>we&&lt===null);fe(ze!==-1?ze:null)},en=S?I.some(ce=>ce?.some(we=>!!we.colloquialPronunciation)):(r??[]).some(ce=>ce.words.some(we=>!!we.colloquialLabel)),bt=i.useMemo(()=>kn()?S?I.flatMap(ce=>(ce??[]).map(we=>[we.word,we.homonum])):(r??[]).flatMap(ce=>ce.words.map(we=>[we.label,we.homonum])):[],[S,I,r]),[cn,yt]=i.useState(!1);i.useEffect(()=>{if(bt.length===0)return;let ce=!1;return Promise.all(bt.map(([we,ze])=>$o(we,ze))).then(we=>{ce||yt(we.some(Boolean))}),()=>{ce=!0}},[bt]);const Wt=bt.length>0&&cn,un=i.useMemo(()=>[...S||C?[{label:j("wordTable.filter.columns","\uCE78 \uC218"),items:Qg.map(ce=>({value:`${ce}\uCE78`,displayLabel:j("wordTable.filter.column",{count:ce})})),display:"segmented"}]:[],...Be&&(r?.length??0)>0?[Fi(j,{hasPairs:Ct,itemCount:Me})]:[],...rt?[Oi(j)]:[]],[j,S,C,Be,r?.length,Ct,Me,rt]),Ge={...S||C?{[j("wordTable.filter.columns","\uCE78 \uC218")]:`${S?K:Re}\uCE78`}:{},...Be&&(r?.length??0)>0?{[j(Ct?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${et}\uAC1C`}:{},...rt?{[j("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Hi[Ee]}:{}},St=(ce,we)=>{we===j("wordTable.filter.columns","\uCE78 \uC218")?S?Qt(parseInt(ce)):ot(parseInt(ce)):we===j(Ct?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?$e(parseInt(ce)):we===j("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&Se(zi(ce))},ft=S?I.filter(ce=>ce!==null).map(ce=>({id:ce[0].word,words:ce.map(we=>({label:we.word,subLabel:we.pronunciation,homonum:we.homonum}))})):r??[],qt=(ce=!1)=>{if(xe(ce),U&&o){const we=E.trim().toLowerCase();we&&J(ze=>ze.includes(we)?ze:[...ze,we]),o(E,ft,$||void 0,ce);return}if(w&&o){o("",ft,void 0,ce);return}if(o){Pe(!0);return}Et()},[Ft,Ot]=i.useState(!1),[Ht,re]=i.useState(""),F=Ht.trim(),Z=F!==""&&L.includes(F.toLowerCase()),le=()=>{re(E?`${E} (\uBCF5\uC0AC)`:""),Ot(!0)},be=()=>{!F||Z||!o||(o(F,ft,$||void 0,!0),Ot(!1))},ve=ft.length===0,Ne=ve||U&&(E===""||Y),Le=()=>{if(ve){We(j("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(U&&E===""){We(j("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}U&&Y&&We(j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},st=t.jsx(En,{items:ft,orientation:ge,contentTypes:T,cutLine:ee,showOutline:ie,showDivLine:se,count:pt});return t.jsxs(t.Fragment,{children:[t.jsxs(Sn,{type:"page",icon:n,title:e,disc:a,className:ye("word-table-block",f),children:[Ft&&t.jsx(on,{size:"small",title:h??j("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Ot(!1),footer:({closeWithAnimation:ce})=>t.jsxs(t.Fragment,{children:[t.jsx(te,{size:48,type:"bar",label:j("common.cancel","\uCDE8\uC18C"),onClick:ce}),t.jsx(te,{size:48,type:"bar",variant:"main",label:j("common.save","\uC800\uC7A5"),disabled:!F||Z,onClick:be})]}),children:t.jsx(gn,{label:j("wordTable.save.nameLabel","\uC774\uB984"),value:Ht,onChange:re,placeholder:j("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:be,error:Z?j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),ke&&o&&m?.({defaultName:typeof e=="string"?e:j("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:st,previewW:Ue,previewH:at,items:ft,existingNames:Q5().map(ce=>ce.name),saveAsNew:Ye,onSave:(ce,we)=>{o(ce,ft,we,Ye),Pe(!1)},onCancel:()=>Pe(!1)}),(S||g)&&pe!==null&&b?.({cellIndex:pe,onConfirm:S?Vt:ce=>{if(g){const we=ce[0];we&&g({id:we.word,words:[{label:we.word,subLabel:we.pronunciation,homonum:we.homonum}]})}fe(null)},onClose:qe}),!v&&t.jsx(dr,{hasImage:Wt,hasColloquial:en,contentTypes:T,orientation:ge,showOutline:ie,cutLine:ee,showDivLine:se,setters:{setContentTypes:V,setOrientation:he,setShowOutline:ue,setCutLine:Ce,setShowDivLine:ae},showCutLine:(Be?tt:pt)>1,showDivLine2:Ct,middleSections:un,extraSelected:Ge,onExtraSelect:St}),rt&&Ze?t.jsx("div",{className:"word-table-block__pages",children:Ze.map((ce,we)=>t.jsx(En,{orientation:ge,contentTypes:T,cutLine:ee,showOutline:ie,showDivLine:se,count:tt,items:ce,onRemoveItem:l,contentRef:ze=>{Fe.current[we]=ze},pageNumber:{current:we+1,total:Ze.length},pageNumberPosition:Ee},we))}):t.jsx(En,{orientation:ge,contentTypes:T,cutLine:ee,showOutline:ie,showDivLine:se,count:pt,items:S?void 0:r??[],editCells:S?I:void 0,activeCell:pe,onActivateCell:S||g?fe:void 0,onRemoveCell:S?It:void 0,onRemoveItem:S?void 0:l,onReorder:S?void 0:p,showFillerAdd:!!g,contentRef:je}),U&&!v&&t.jsxs(fa,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[t.jsx(sn,{variant:"custom",label:j("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:t.jsx(gn,{required:!0,value:y??"",onChange:B,placeholder:M?M+j("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):j("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:j("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:Y?j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ce=>{(ce.key==="Tab"&&!ce.shiftKey||ce.key===" ")&&!(y??"").trim()&&(M??"").trim()&&(ce.preventDefault(),B?.(M??""))}})}),t.jsx(sn,{variant:"custom",label:j("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:t.jsx(gn,{value:x??"",onChange:N,placeholder:k?k+j("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):j("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:j("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ce=>{(ce.key==="Tab"&&!ce.shiftKey||ce.key===" ")&&!(x??"").trim()&&(k??"").trim()&&(ce.preventDefault(),N?.(k??""))}})})]})]}),!v&&t.jsxs("div",{className:"word-table-block__actions",children:[t.jsxs("div",{className:"word-table-block__actions-left",children:[!w&&c&&t.jsx(te,{size:40,type:"bar",label:P,onClick:c}),!w&&s&&t.jsx(te,{size:40,type:"bar",label:j("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:s}),!w&&t.jsx(te,{size:40,type:"bar",label:j("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Bt})]}),t.jsxs("div",{className:"word-table-block__actions-right",children:[R&&t.jsx(te,{size:"56",type:"bar",label:j("common.cancel","\uCDE8\uC18C"),onClick:R}),!w&&t.jsx(te,{size:"56",type:"bar",label:j("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:wt}),h&&t.jsx(te,{size:"56",type:"bar",label:h,onClick:()=>U?le():qt(!0),disabled:ve,onDisabledClick:()=>{We(j("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),t.jsx(te,{size:"56",type:"bar",variant:"main",label:u??j("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>qt(!1),disabled:Ne,onDisabledClick:Le})]})]}),t.jsx(Bn,{message:Oe,type:De,onClose:Xe})]})}function Al({items:e,className:n}){const a=e.length,r=a<=3?1:2,o=Math.ceil(a/r)||1,s=r*o;return t.jsx("div",{className:ye("word-table-thumb",n),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:s},(l,c)=>{const d=e[c];return d?t.jsx("div",{className:"word-table-thumb__cell",children:(d.words.length?d.words:[{label:d.id}]).map((u,h)=>t.jsxs(i.Fragment,{children:[h>0&&t.jsx("span",{className:"word-table-thumb__divider"}),t.jsx("span",{className:"word-table-thumb__word body-3",children:u.label})]},h))},c):t.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}function tb({items:e,name:n,description:a,createdAt:r,published:o,publishedLabel:s,shared:l,sharedLabel:c,isNew:d,publisherName:u,publishedAt:h,likeCount:p,downloadCount:C,onPublisherClick:g,selected:f,onClick:m,onMore:b,titleNode:v,className:w}){const{t:_}=me.useTranslation(),y=v!=null,B=u!=null||h!=null||p!=null||C!=null,x=N=>{!y&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),m?.())};return t.jsxs("div",{className:ye("word-table-button",f?"word-table-button--selected":"",B?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":n,onClick:y?void 0:m,onKeyDown:x,children:[d&&t.jsx("span",{className:"word-table-button__new-dot","aria-label":_("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),t.jsx(Al,{items:e,className:"word-table-button__thumb"}),t.jsxs("div",{className:"word-table-button__info",children:[t.jsxs("div",{className:"word-table-button__info-text",children:[v??t.jsx("div",{className:"word-table-button__title h4",children:n}),a&&t.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),b&&!y&&t.jsx(te,{className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:_("common.moreFor",{name:n}),onClick:N=>{N.stopPropagation(),b(N)}})]}),(r||o||l)&&t.jsxs("div",{className:"word-table-button__meta-row",children:[t.jsx("span",{className:"word-table-button__meta caption-1",children:r?zo(r,_):""}),t.jsxs("span",{className:"word-table-button__badges",children:[o&&t.jsx(ut,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:s??"\uBC1C\uD589\uB428"}),l&&t.jsx(ut,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??"\uACF5\uC720 \uC911"})]})]}),B&&t.jsxs("div",{className:"word-table-button__footer",children:[t.jsxs("span",{className:"word-table-button__store-by",children:[u&&t.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:N=>{N.stopPropagation(),g?.()},children:u}),h&&t.jsx("span",{className:"training-card__date body-4",children:zo(h,_)})]}),t.jsxs("span",{className:"word-table-button__store-stats",children:[p!=null&&t.jsx(ut,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(p)}),C!=null&&t.jsx(ut,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(C)})]})]})]})}/**
969
969
  * @license lucide-react v1.38.0 - ISC
970
970
  *
971
971
  * This source code is licensed under the ISC license.