@ihabdevteam/core 0.340.0 → 0.342.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.
- package/CHANGELOG.md +42 -0
- package/dist/components.cjs.js +2 -2
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +3 -3
- package/dist/ihabdevteam-core.d.ts +1 -1
- package/dist/logo/Logo_APEB_en.svg +1 -1
- package/dist/logo/Logo_APEB_ko.svg +1 -1
- package/dist/logo/Logo_APEB_ko_mono.svg +1 -1
- package/dist/logo/Logo_HTP_en.svg +1 -1
- package/dist/logo/Logo_HTP_en_mono.svg +1 -1
- package/dist/logo/Logo_HTP_ko.svg +1 -1
- package/dist/logo/Logo_HTP_ko_mono.svg +1 -1
- package/dist/logo/Logo_IHAB_en.svg +1 -1
- package/dist/logo/Logo_IHAB_en_mono.svg +1 -1
- package/dist/logo/Logo_IHAB_ko_mono.svg +1 -1
- package/dist/logo/Logo_SL_en.svg +1 -1
- package/dist/logo/Logo_SL_en_mono.svg +1 -1
- package/dist/logo/Logo_SL_ko.svg +1 -1
- package/dist/logo/Logo_SL_ko_mono.svg +1 -1
- package/dist/logo/Logo_SpeechEarManager_en_mono.svg +1 -1
- package/dist/logo/Logo_SpeechEar_en.svg +1 -1
- package/dist/logo/Logo_SpeechEar_en_mono.svg +1 -1
- package/dist/logo/Logo_SpeechEar_ko.svg +1 -1
- package/dist/logo/Logo_SpeechEar_ko_mono.svg +1 -1
- package/dist/logo/Logo_VRSL_en.svg +1 -1
- package/dist/logo/Logo_VRSL_en_mono.svg +1 -1
- package/dist/logo/Logo_VRSL_ko.svg +1 -1
- package/dist/logo/Logo_VRSL_ko_mono.svg +1 -1
- package/dist/logo/qr_speechear.svg +1 -1
- package/dist/packages/core/src/logo/Logo_APEB_en.svg +1 -1
- package/dist/packages/core/src/logo/Logo_APEB_ko.svg +1 -1
- package/dist/packages/core/src/logo/Logo_APEB_ko_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_HTP_en.svg +1 -1
- package/dist/packages/core/src/logo/Logo_HTP_en_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_HTP_ko.svg +1 -1
- package/dist/packages/core/src/logo/Logo_HTP_ko_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_IHAB_en.svg +1 -1
- package/dist/packages/core/src/logo/Logo_IHAB_en_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_IHAB_ko_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SL_en.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SL_en_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SL_ko.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SL_ko_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SpeechEarManager_en_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SpeechEar_en.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SpeechEar_en_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SpeechEar_ko.svg +1 -1
- package/dist/packages/core/src/logo/Logo_SpeechEar_ko_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_VRSL_en.svg +1 -1
- package/dist/packages/core/src/logo/Logo_VRSL_en_mono.svg +1 -1
- package/dist/packages/core/src/logo/Logo_VRSL_ko.svg +1 -1
- package/dist/packages/core/src/logo/Logo_VRSL_ko_mono.svg +1 -1
- package/dist/packages/core/src/logo/qr_speechear.svg +1 -1
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
\uC2E0\uB8B0\uB97C \uC313\uACE0
|
|
3
3
|
\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"},ix={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"}}},sx={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},lx={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"}},cx={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},ux={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"},dx={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},px={ariaLabel:"\uC120\uD0DD \uD0ED"},hx={ariaLabel:"\uD0ED"},mx={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},bx={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},gx={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"}},fx={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",detailFor:"{{name}} \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"}},vx={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"}},xx={manage:{unit:"\uAC74"}},Cx={cancelLabel:"\uCDE8\uC18C"},yx={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},_x={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"},wx={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C",rowActionHint:"\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4"},kx={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"},Bx={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},Ax={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},Sx={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},Ex={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},Dx={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"}},Nx={clearSelection:"\uC120\uD0DD \uD574\uC81C"},Tx={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},jx={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},Lx={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},Mx={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},$x={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},Rx={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},Px={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},zx={common:w1,calendar:k1,passCard:B1,searchField:A1,rating:S1,colorPicker:E1,dropdown:D1,accordion:N1,header:T1,nav:j1,settings:L1,usage:M1,account:$1,help:R1,training:P1,trainingSettings:z1,customers:I1,payment:O1,coupons:F1,visits:W1,company:G1,trainingType:H1,myWordTraining:V1,myWordTable:U1,keyWords:q1,wordTable:Y1,wordSearch:K1,wordPrint:X1,topic:Z1,accessLinkManager:J1,login:Q1,trainingPlanRun:ex,device:tx,manager:ax,wordPairs:ox,game:rx,footer:nx,landing:ix,date:sx,trainingSetPage:lx,wordTrainingPreview:cx,wordData:ux,textField:dx,segmentedControl:px,tabs:hx,fileUpload:mx,avatar:bx,myHomework:gx,trainingStatus:fx,store:vx,homework:xx,inquiry:Cx,progress:yx,trainingMiss:_x,table:wx,wordScore:kx,topBanner:Bx,datePicker:Ax,report:Sx,tooltip:Ex,phonemeProfile:Dx,bulkBar:Nx,debug:Tx,badge:jx,loader:Lx,soundCompass:Mx,breadcrumb:$x,board:Rx,promoBannerBg:Px},Ix={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",collapseFor:"Collapse {{name}}",expandFor:"Expand {{name}}",sortFor:"Sort {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",discardConfirm:{title:"Discard your changes?",body:"If you do not save, everything you have entered will be lost.",confirm:"Discard"},close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",likeCount_one:"{{count}} like",likeCount_other:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount_one:"{{count}} download",downloadCount_other:"{{count}} downloads",descriptionFor:"About {{name}}",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",playFor:"Play {{name}}",pauseFor:"Pause {{name}}",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",noMatches:"No matching 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"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},Ox={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekLabel:"Week {{ord}}",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",visitCount_one:"{{count}} visit",visitCount_other:"{{count}} visits",statusCount:"{{count}} {{label}}",weekOrdinal:["1","2","3","4","5","6","7"]},Fx={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",expired:"Expired",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},Wx={clearAriaLabel:"Clear search"},Gx={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},Hx={selected:"selected"},Vx={placeholder:"Select"},Ux={collapse:"Collapse",expand:"Expand"},qx={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},Yx={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",feedback:"Report a bug",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",badgeLabel:"{{label}}, {{count}}",badgeInsideLabel_one:"{{label}}, {{count}} notification inside",badgeInsideLabel_other:"{{label}}, {{count}} notifications inside"},Kx={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."}}},Xx={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"}},Zx={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},Jx={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},Qx={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",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_one:"{{n}} question",countQuestions_other:"{{n}} questions",countSentences_one:"{{n}} sentence",countSentences_other:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",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",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",previewFor:"Preview {{name}}",stopFor:"Stop {{name}}",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.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",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",replaySound:"Replay item {{no}}",replaySoundStop:"Stop item {{no}}",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error",synthesizing:"Preparing the sound\u2026"}},eC={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"},tC={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"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},aC={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},oC={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"}},rC={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},nC={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},iC={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."}},sC={comingSoon:"Word training is coming soon."},lC={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"},publishedBadge:"Published",sharedBadge:"Shared"},cC={title:"Key Words",empty:"No key words available."},uC={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",topInfo:"Header",bottomInfo:"Footer",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)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount_one:"{{count}} word",itemCount_other:"{{count}} words",deleteAriaLabel:"Delete {{name}}",viewLabel:"View as",sortLabel:"Sort by",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},publisherFilter:"Show only tables by {{name}}",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",markName:{o:"Correct",triangle:"Partial",x:"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 \u25CB \xB7 \u25B3 \xB7 \u2715 under a cell to mark it. With a mouse they appear when you hover the cell; with a keyboard, when focus reaches it.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved_one:"Saved {{count}} mark for {{name}}.",saved_other:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage_one:"Builds a new table from the {{count}} cell {{name}} got wrong or partial. Correct ones are left out.",reviewMessage_other:"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_one:"Created \u201C{{name}}\u201D \u2014 {{count}} cell.",reviewCreated_other:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage_one:"You marked {{count}} cell but have not saved. Leaving discards it.",discardMessage_other:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},dC={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}}",gradeNone:"None",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",field:"Semantic Category",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",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},pC={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},hC={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"}},mC={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_one:"Used {{count}} time",uses_other:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},bC={passwordPlaceholder:"Enter password"},gC={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",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant",other:"Other"}},fC={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"}},vC={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}}",countLabel:"Number of phonemes",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:["Level 1 \u2014 everyday vocabulary acquired before school age and used for life","Level 2 \u2014 difficulty of grades 1\u20132","Level 3 \u2014 difficulty of grades 3\u20134","Level 4 \u2014 difficulty of grades 5\u20136","No level \u2014 frequent everyday words outside the national standard list, plus coinages and loanwords"],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."]},xC={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"}},CC={lead:`IHAB builds trust
|
|
4
4
|
through sound
|
|
5
|
-
and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Sicheong-gil, Chuncheon, Gangwon, Korea"},yC={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},_C={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},wC={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},kC={answer:"Answer",distractor:"Distractor"},BC={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount_one:"Downloading {{n}} word",downloadingCount_other:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},AC={clearAriaLabel:"Clear input"},SC={ariaLabel:"Select tab"},EC={ariaLabel:"Tabs"},DC={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},NC={ariaLabel:"User avatar"},TC={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},jC={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel_one:"{{n}} session",countLabel_other:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",detailFor:"{{name}} details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},LC={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},MC={manage:{unit:"item(s)"}},$C={cancelLabel:"Cancel"},RC={subtitle:"Select a topic to start listening practice."},PC={steps:"Step {{current}} of {{total}}"},zC={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly_one:"{{n}} older record was excluded \u2014 it does not say what was answered.",skippedOnly_other:"{{n}} older records were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs_one:"{{count}} run",runs_other:"{{count}} runs",avgDuration:"{{sec}}s avg"},IC={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},OC={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},FC={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},WC={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},GC={previewRegion:"Report preview \u2014 scrollable sideways"},HC={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},VC={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},UC={clearSelection:"Clear selection"},qC={showResult:"Show {{type}} result"},YC={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},KC={loading:"Loading"},XC={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},ZC={ariaLabel:"Breadcrumb"},JC={empty:"No items yet."},QC={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},ey={common:Ix,calendar:Ox,passCard:Fx,searchField:Wx,rating:Gx,colorPicker:Hx,dropdown:Vx,accordion:Ux,header:qx,nav:Yx,settings:Kx,usage:Xx,account:Zx,help:Jx,training:Qx,trainingSettings:eC,customers:tC,payment:aC,coupons:oC,visits:rC,company:nC,trainingType:iC,myWordTraining:sC,myWordTable:lC,keyWords:cC,wordTable:uC,wordSearch:dC,wordPrint:pC,topic:hC,accessLinkManager:mC,login:bC,device:gC,manager:fC,wordPairs:vC,game:xC,footer:CC,landing:yC,date:_C,trainingSetPage:wC,wordTrainingPreview:kC,wordData:BC,textField:AC,segmentedControl:SC,tabs:EC,fileUpload:DC,avatar:NC,myHomework:TC,trainingStatus:jC,store:LC,homework:MC,inquiry:$C,trainingPlanRun:RC,progress:PC,trainingMiss:zC,table:IC,wordScore:OC,topBanner:FC,datePicker:WC,report:GC,tooltip:HC,phonemeProfile:VC,bulkBar:UC,debug:qC,badge:YC,loader:KC,soundCompass:XC,breadcrumb:ZC,board:JC,promoBannerBg:QC};const Fn="0.
|
|
5
|
+
and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Sicheong-gil, Chuncheon, Gangwon, Korea"},yC={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},_C={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},wC={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},kC={answer:"Answer",distractor:"Distractor"},BC={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount_one:"Downloading {{n}} word",downloadingCount_other:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},AC={clearAriaLabel:"Clear input"},SC={ariaLabel:"Select tab"},EC={ariaLabel:"Tabs"},DC={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},NC={ariaLabel:"User avatar"},TC={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},jC={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel_one:"{{n}} session",countLabel_other:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",detailFor:"{{name}} details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},LC={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},MC={manage:{unit:"item(s)"}},$C={cancelLabel:"Cancel"},RC={subtitle:"Select a topic to start listening practice."},PC={steps:"Step {{current}} of {{total}}"},zC={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly_one:"{{n}} older record was excluded \u2014 it does not say what was answered.",skippedOnly_other:"{{n}} older records were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs_one:"{{count}} run",runs_other:"{{count}} runs",avgDuration:"{{sec}}s avg"},IC={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},OC={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},FC={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},WC={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},GC={previewRegion:"Report preview \u2014 scrollable sideways"},HC={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},VC={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},UC={clearSelection:"Clear selection"},qC={showResult:"Show {{type}} result"},YC={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},KC={loading:"Loading"},XC={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},ZC={ariaLabel:"Breadcrumb"},JC={empty:"No items yet."},QC={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},ey={common:Ix,calendar:Ox,passCard:Fx,searchField:Wx,rating:Gx,colorPicker:Hx,dropdown:Vx,accordion:Ux,header:qx,nav:Yx,settings:Kx,usage:Xx,account:Zx,help:Jx,training:Qx,trainingSettings:eC,customers:tC,payment:aC,coupons:oC,visits:rC,company:nC,trainingType:iC,myWordTraining:sC,myWordTable:lC,keyWords:cC,wordTable:uC,wordSearch:dC,wordPrint:pC,topic:hC,accessLinkManager:mC,login:bC,device:gC,manager:fC,wordPairs:vC,game:xC,footer:CC,landing:yC,date:_C,trainingSetPage:wC,wordTrainingPreview:kC,wordData:BC,textField:AC,segmentedControl:SC,tabs:EC,fileUpload:DC,avatar:NC,myHomework:TC,trainingStatus:jC,store:LC,homework:MC,inquiry:$C,trainingPlanRun:RC,progress:PC,trainingMiss:zC,table:IC,wordScore:OC,topBanner:FC,datePicker:WC,report:GC,tooltip:HC,phonemeProfile:VC,bulkBar:UC,debug:qC,badge:YC,loader:KC,soundCompass:XC,breadcrumb:ZC,board:JC,promoBannerBg:QC};const Fn="0.342.0",zr=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],No="ko",Ds="ihab_display_language";function Lp(){if(typeof window>"u")return No;try{const e=localStorage.getItem(Ds);if(e&&zr.some(t=>t.code===e))return e}catch{}return No}function ty(e){try{localStorage.setItem(Ds,e)}catch{}}function Mp(e){try{document.documentElement.lang=e}catch{}}kt.on("languageChanged",Mp),Mp(Lp()),kt.use(Ce.initReactI18next).init({resources:{ko:{translation:zx},en:{translation:ey}},lng:Lp(),fallbackLng:No,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const $p=s.createContext({locale:No,supportedLocales:zr});function ay(){return s.useContext($p)}function oy(e){const t=o=>zr.some(n=>n.code===o);if(t(e))return e;const a=e.split(/[-_]/)[0]?.toLowerCase()??"";return t(a)?a:No}function ry({locale:e=No,children:t}){const a=oy(e);s.useEffect(()=>{kt.language!==a&&kt.changeLanguage(a)},[a]);const o=s.useMemo(()=>({locale:a,supportedLocales:zr}),[a]);return r.jsx($p.Provider,{value:o,children:t})}function Be(...e){return e.filter(Boolean).join(" ")}var ny=".ihabdevteam-core-scope .empty-state{align-items:center;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:10px;justify-content:center;margin-block:auto;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);display:inline-flex}.ihabdevteam-core-scope .empty-state__message,.ihabdevteam-core-scope .empty-state__title{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__title+.empty-state__message{margin-top:-6px}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}";le(ny);const Rp=new Set,co=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Pt(e,...t){!co||Rp.has(e)||(Rp.add(e),console.warn(...t))}/**
|
|
6
6
|
* @license lucide-react v1.38.0 - ISC
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the ISC license.
|
|
@@ -848,8 +848,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
848
848
|
\uC124\uCE58 \uBA85\uB839\uC5B4 (\uC2A4\uD1A0\uB9AC\uC9C0 SDK \uBBF8\uC124\uCE58 \uC2DC):
|
|
849
849
|
npm install @supabase/supabase-js
|
|
850
850
|
pnpm add @supabase/supabase-js
|
|
851
|
-
`),this.name="StorageNotConfiguredError"}};function Us(e){N8(e)}function Gn(e,t){if(!e)return null;const a=rr();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function qs(e){if(!e)return!1;const t=rr();if(!t)throw new Vs("fileExists");if(t.exists)return t.exists(e);try{return await t.resolveUrl(e)!==null}catch{return!1}}async function Vr(e){if(!e)return null;const t=rr();if(!t)throw new Vs("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Hn(e){const t=rr();if(!t)throw new Vs("downloadSound");return t.download(e)}function Ys(){return rr()?.noiseBaseUrl??"/sounds/noise"}function Ks(){const e=Number(rr()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function T8(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const Xs="__ihab_core_tts_config__";function Bh(e){globalThis[Xs]=e}function Lo(){return globalThis[Xs]?.urlResolver??null}function Ur(){return globalThis[Xs]?.fallbackUrlResolver??null}const j8=new Map;function Ah(){j8.clear()}const Sh="__ihab_core_pronunciation_resolver__";function Eh(e){globalThis[Sh]=e}function Zs(){return globalThis[Sh]??null}let po=null;const qr=new WeakMap,Js=new WeakMap,Qs=new WeakMap;let Dh=!1;const Nh=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function L8(){if(Dh||typeof document>"u")return;Dh=!0;const e=()=>{try{po&&po.state!=="running"&&po.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function Th(){if(po)return po;try{const e=window.AudioContext||window.webkitAudioContext;return e?(po=new e,L8(),po):null}catch{return null}}function Yr(){try{po?.resume()}catch{}}function el(e,t){const a=qr.get(t);if(a)return a;try{const o=e.createMediaElementSource(t),n=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,n.gain.value=Nh(Js.get(t)??t.volume),o.connect(n),n.connect(i),n.connect(e.destination);try{t.volume=1}catch{}const l={gain:n,analyser:i};return qr.set(t,l),l}catch{return null}}function nr(e){if(!e)return Promise.resolve(null);const t=qr.get(e);if(t)return Promise.resolve(t.analyser);const a=Th();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(el(a,e)?.analyser??null);const o=Qs.get(e);if(o)return o;const n=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?el(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Qs.delete(e)});return Qs.set(e,n),n}function tl(e){if(!e)return null;const t=qr.get(e);if(t)return t.analyser;const a=Th();return a?a.state==="running"?el(a,e)?.analyser??null:(nr(e),null):null}function Ra(e,t){const a=Nh(t);Js.set(e,a);const o=qr.get(e);if(o){try{e.volume!==1&&(e.volume=1)}catch{}const n=o.gain.gain;try{const i=o.gain.context.currentTime;n.cancelScheduledValues(i),n.setTargetAtTime(a,i,.01)}catch{try{n.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function ir(e){return Js.get(e)??e.volume}function al(e,t){e.getFloatTimeDomainData(t);let a=0;for(let o=0;o<t.length;o++){const n=t[o];a+=n*n}return Math.sqrt(a/t.length)}const jh="__ihab_core_image_config__";function Lh(e){globalThis[jh]=e}function ho(){return globalThis[jh]??null}const Kr="word_image_existence_map_v1";let Pa=null,Mo=0,Mh=-1,Xr=null,$h=-1,Rh=new Set;const Vn=new Map;function sr(){if(Pa)return Pa;try{const e=typeof localStorage<"u"?localStorage.getItem(Kr):null,t=e?JSON.parse(e):null;Pa=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Pa={}}return Pa}let ol=null;function M8(){ol||(ol=setTimeout(()=>{ol=null;try{typeof localStorage<"u"&&Pa&&localStorage.setItem(Kr,JSON.stringify(Pa))}catch{}},200))}function Un(e,t){return`${e}_${t??1}`}async function Zr(e,t){const a=sr(),o=Un(e,t);if(o in a)return a[o];if(Vn.has(o))return Vn.get(o);const n=ho();if(!n)return!1;const i=n(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:T8(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Vn.delete(o),c===null?!1:(a[o]=c,Mo++,M8(),c)));return Vn.set(o,l),l}function Ph(e,t){const a=sr(),o=Un(e,t);return o in a?a[o]:void 0}async function zh(e,t={}){const{force:a=!1,concurrency:o=16,onProgress:n}=t,i=sr(),l=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(u=>!(Un(u)in i));let c=0;if(l.length>0){let u=0;const d=Array.from({length:Math.min(o,l.length)},async()=>{for(;u<l.length;){const h=u++,p=l[h],m=Un(p);if(!a&&m in i){c++,n?.(c,l.length);continue}try{await Zr(p)}catch{}c++,n?.(c,l.length)}});await Promise.all(d)}try{typeof localStorage<"u"&&Pa&&localStorage.setItem(Kr,JSON.stringify(Pa))}catch{}return{checked:l.length,cached:Object.keys(i).length,total:e.length}}function qn(){const e=sr();if(Mh===Mo)return Xr?{...Xr}:null;const t=Object.values(e);return Xr=t.length===0?null:{total:t.length,exists:t.filter(Boolean).length},Mh=Mo,Xr?{...Xr}:null}function Ih(){const e=sr();if($h===Mo)return Rh;const t=new Set;for(const a in e)e[a]===!0&&a.endsWith("_1")&&t.add(a.slice(0,-2));return Rh=t,$h=Mo,t}function Oh(e){const t=sr();Object.assign(t,e),Mo++;try{typeof localStorage<"u"&&localStorage.setItem(Kr,JSON.stringify(t))}catch{}}function rl(){Pa={},Mo++;try{typeof localStorage<"u"&&localStorage.removeItem(Kr)}catch{}}const $8=["onset","vowel","coda","glide"],Fh="none",R8={\uCD08\uC131:"onset",\uBAA8\uC74C:"vowel",\uC885\uC131:"coda",\uD65C\uC74C:"glide"},P8="\uC5C6\uC74C";function z8(e){return $8.includes(e)}function I8(e){const t={};for(const[a,o]of Object.entries(e)){const n=z8(a)?a:R8[a];n&&(t[n]=o===P8?Fh:o)}return t}const O8={\u3131:"\u3131",\u3132:"\u3131",\u314B:"\u3131",\u3133:"\u3131",\u313A:"\u3131",\u3134:"\u3134",\u3135:"\u3134",\u3136:"\u3134",\u3137:"\u3137",\u3145:"\u3137",\u3146:"\u3137",\u3148:"\u3137",\u314A:"\u3137",\u314C:"\u3137",\u314E:"\u3137",\u3139:"\u3139",\u313C:"\u3139",\u313D:"\u3139",\u313E:"\u3139",\u3140:"\u3139",\u3141:"\u3141",\u313B:"\u3141",\u3142:"\u3142",\u314D:"\u3142",\u313F:"\u3142",\u3144:"\u3142",\u3147:"\u3147"},nl={\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"}};function F8(e,t){return(nl[e]?.glide??"")!==(nl[t]?.glide??"")}function $o(e){return O8[e]??e}const ft=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],At=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],It=["","\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 Ye(e){if(!e)return null;const t=e.charCodeAt(0)-44032;return t<0||t>=11172?null:{cho:Math.floor(t/588),jung:Math.floor(t%588/28),jong:t%28}}function il(){const e=new Map;return t=>{let a=e.get(t);return a||(a=[...t].map(o=>Ye(o)),e.set(t,a)),a}}function Ba(e,t,a=0){return String.fromCharCode(44032+(e*21+t)*28+a)}function sl(e,t){if(!e||!t||e===t||e.length!==t.length)return"random";let a=0,o=null;for(let n=0;n<e.length;n++){const i=Ye(e[n]),l=Ye(t[n]);if(!i||!l)return"random";if(i.cho===l.cho&&i.jung===l.jung&&i.jong===l.jong)continue;a++;const c=i.cho!==l.cho,u=i.jung!==l.jung,d=i.jong!==l.jong;(c?1:0)+(u?1:0)+(d?1:0)>1?o="multi":c?o="cho":u?o="jung":o="jong"}return a!==1?"random":o==="cho"?"cho":o==="jung"?"jung":o==="jong"?"jong":"random"}function ll(e){const t=Ye(e[0]||"");return t?ft[t.cho]:""}function cl(e){return[...e].map(t=>{const a=Ye(t);return a?ft[a.cho]:t}).join("")}function ul(e){return!!e&&[...e].every(t=>ft.includes(t))}function Wh(e,t){return t?(e=e.normalize("NFC"),t=t.normalize("NFC"),ul(t)?cl(e).includes(t):e.toLowerCase().includes(t.toLowerCase())):!0}function Gh(e,t){return dl(t)(e)}function dl(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>ft.includes(l),o=l=>At.includes(l),n=t.map(l=>a(l)?"cho":o(l)?"jung":Ye(l)?"syl":"other"),i=t.map(l=>Ye(l));if(n.includes("other")){const l=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(l)}return l=>{const c=[...l.normalize("NFC")];for(let u=0;u+t.length<=c.length;u++){let d=!0;for(let h=0;h<t.length;h++){const p=c[u+h],m=n[h];if(m==="cho"){if(ll(p)!==t[h]){d=!1;break}}else if(m==="jung"){const v=Ye(p);if(!v||At[v.jung]!==t[h]){d=!1;break}}else{const v=i[h];if(v&&v.jong===0){const x=Ye(p);if(!x||x.cho!==v.cho||x.jung!==v.jung){d=!1;break}}else if(p!==t[h]){d=!1;break}}}if(d)return!0}return!1}}const Yn={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"]},Hh=Object.fromEntries(Object.entries(Yn).map(([e,t])=>[t.join(""),It[Number(e)]]));function W8(e,t){if(!e||!t)return!1;for(const a of e){const o=Ye(a);if(o){if(ft[o.cho]===t)return!0;if(o.jong>0){if(It[o.jong]===t)return!0;const n=Yn[o.jong];if(n&&n.includes(t))return!0}}}return!1}function Vh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ye(a);if(o&&ft[o.cho]===t)return!0}return!1}function Uh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ye(a);if(o&&At[o.jung]===t)return!0}return!1}function qh(e,t,a){const o=It[e];return o===t?!0:a==="phoneme"&&$o(o)===$o(t)}function Yh(e,t,a="glyph"){if(!e||!t)return!1;for(const o of e){const n=Ye(o);if(!(!n||n.jong<=0)&&qh(n.jong,t,a))return!0}return!1}function Ro(e){if(!e)return 0;let t=0;for(const a of e)Ye(a)&&t++;return t}function pl(e){if(!e)return!1;let t=!1;for(const a of e){const o=Ye(a);if(o&&(t=!0,o.jong>0))return!1}return t}function hl(e,t,a){return e.jong<=0?!1:t.some(o=>qh(e.jong,o,a))}function ml(e,t,a,o="glyph"){if(!e)return!1;const n=[...e],i=l=>{const c=Ye(n[l]);if(!c||t.cho&&!t.cho.includes(ft[c.cho])||t.jung&&!t.jung.includes(At[c.jung]))return!1;if(t.jongNone){if(c.jong>0)return!1}else if(t.jong&&!hl(c,t.jong,o))return!1;return!0};if(a==="head")return i(0);if(a==="tail")return i(n.length-1);if(a==="mid"){for(let l=1;l<n.length-1;l++)if(i(l))return!0;return!1}for(let l=0;l<n.length;l++)if(i(l))return!0;return!1}function Kh(e,t,a,o="glyph"){if(!e)return!1;const n=[...e].map(Ye).filter(u=>!!u);if(n.length===0)return!1;const i=n.length-1;if(a==="head"){if(!t.cho)return!1;const u=ft[n[0].cho];return u!=="\u3147"&&t.cho.includes(u)}if(a==="tail")return t.jongNone?n[i].jong===0:t.jong?hl(n[i],t.jong,o):!1;const l=!t.cho||n.some((u,d)=>{if(d===0)return!1;const h=ft[u.cho];return h!=="\u3147"&&t.cho.includes(h)}),c=t.jongNone?n.some((u,d)=>d!==i&&u.jong===0):!t.jong||n.some((u,d)=>d!==i&&hl(u,t.jong,o));return!t.cho&&!t.jong&&!t.jongNone?!1:l&&c}function bl(e){return e.includes(",")||e.includes("_")}function Xh(e){if(e==="")return[{kind:"any"}];if(e.includes("_")){const t=[...e];if(t.length>4)return[{kind:"invalid"}];const a=t[0]??"_",o=t[1]??"_";let n=t.slice(2).join("");if(n.length===2){const i=Hh[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:o,jong:n||"_"}]}return[...e].map(t=>Ye(t)?{kind:"syllable",ch:t}:ft.includes(t)?{kind:"cho",jamo:t}:At.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function G8(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=Ye(t.ch);if(!a)return e===t.ch;if(a.jong===0){const o=Ye(e);return!!o&&o.cho===a.cho&&o.jung===a.jung}return e===t.ch}case"cho":{const a=Ye(e);return!!a&&ft[a.cho]===t.jamo}case"jung":{const a=Ye(e);return!!a&&At[a.jung]===t.jamo}case"template":{const a=Ye(e);return!(!a||t.cho!=="_"&&ft[a.cho]!==t.cho||t.jung!=="_"&&At[a.jung]!==t.jung||t.jong!=="_"&&It[a.jong]!==t.jong)}case"invalid":return!1}}function gl(e,t){e=e.normalize("NFC"),t=t.normalize("NFC");const a=t.split(",").flatMap(n=>Xh(n.trim()));if(a.length===0)return!0;const o=[...e];if(o.length<a.length)return!1;for(let n=0;n+a.length<=o.length;n++)if(a.every((i,l)=>G8(o[n+l],i)))return!0;return!1}function Zh(e){const t=e.split(",").flatMap(i=>Xh(i.trim())),a=new Set,o=new Set,n=new Set;for(const i of t)switch(i.kind){case"cho":a.add(i.jamo);break;case"jung":o.add(i.jamo);break;case"template":i.cho!=="_"&&a.add(i.cho),i.jung!=="_"&&o.add(i.jung),i.jong!=="_"&&n.add(i.jong);break;case"syllable":{const l=Ye(i.ch);l&&(a.add(ft[l.cho]),o.add(At[l.jung]),l.jong!==0&&n.add(It[l.jong]));break}}return a.size===0&&o.size===0&&n.size===0?null:{cho:a.size?[...a]:null,jung:o.size?[...o]:null,jong:n.size?[...n]:null}}function H8(e){return!!Ye(e)||ft.includes(e)||At.includes(e)}function Jh(e){const t=e.normalize("NFC").trim();if(!t)return{ok:!0};for(const a of t.split(",")){const o=a.trim();if(o!==""){if(o.includes("_")){const n=[...o];if(n.length>4)return{ok:!1};const i=n[0],l=n[1],c=n.slice(2).join(""),u=i===void 0||i==="_"||ft.includes(i),d=l===void 0||l==="_"||At.includes(l),h=c===""||c==="_"||It.filter(Boolean).includes(c)||!!Hh[c];if(u&&d&&h)continue;return{ok:!1}}if(![...o].every(H8))return{ok:!1}}}return{ok:!0}}const V8={cho:ft.length,jung:At.length,jong:It.length};function U8(e,t,a,o,n=1/0){if(!e||a<1)return[];const i=[...e].map(p=>Ye(p));if(i.some(p=>!p))return[];const l=i,c=l.length;if(a>c)return[];const u=V8[t],d=new Set,h=[];(function p(m,v){if(v.length===a){h.push([...v]);return}for(let x=m;x<c;x++)v.push(x),p(x+1,v),v.pop()})(0,[]);for(const p of h)if((function m(v,x){if(d.size>=n)return;if(v===p.length){const C=x.map(f=>Ba(f.cho,f.jung,f.jong)).join("");C!==e&&o.has(C)&&d.add(C);return}const g=p[v],b=l[g][t];for(let C=0;C<u;C++){if(C===b)continue;const f=x.slice();if(f[g]={...x[g],[t]:C},m(v+1,f),d.size>=n)return}})(0,l),d.size>=n)break;return[...d]}function q8(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let o=0;o<e.length;o++){const n=Ye(e[o]),i=Ye(t[o]);if(!n||!i)return-1;n.cho!==i.cho&&a++,n.jung!==i.jung&&a++,n.jong!==i.jong&&a++}return a}function Qh(e,t){const a=t.normalize("NFC").trim();if(!a||!/[^\s,_]/.test(a))return e;if(bl(a))return e.filter(u=>gl(u.word,a));const o=dl(a),n=[...a].length,i=u=>!!u&&o(u.normalize("NFC").slice(0,n)),l=[],c=[];for(const u of e)(o(u.word)||o(u.pronunciation??""))&&(i(u.word)||i(u.pronunciation??"")?l:c).push(u);return l.concat(c)}const fl="word_pair_index_v2",vl="word_pair_index_sig_v2";let za=null,Jr=null;function em(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(fl),t=localStorage.getItem(vl);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function Y8(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(fl,JSON.stringify(e)),localStorage.setItem(vl,t)}catch{}}function K8(e){const t=e.map(o=>`${o.word}|${o.pron??""}`).sort();let a=0;for(const o of t)for(let n=0;n<o.length;n++)a=(a<<5)-a+o.charCodeAt(n)|0;return`${t.length}-${a}`}async function X8(e,t){const a=new Set,o=[];for(const d of e){if(!d.word||a.has(d.word))continue;const h=d.pron||d.word,p=Array.from(h).map(Ye);p.some(m=>m===null)||p.length===Array.from(d.word).length&&(a.add(d.word),o.push({word:d.word,syls:p}))}const n={},i=o.length,l=new Map;for(const d of o){const h=d.syls.length;l.has(h)||l.set(h,[]),l.get(h).push(d)}let c=0;const u=["cho","jung","jong"];for(const d of l.values()){const h=d[0].syls.length;for(let p=0;p<h;p++)for(const m of u){const v=new Map;for(const x of d){let g="";for(let C=0;C<h;C++){C>0&&(g+="~");const f=x.syls[C];C===p?m==="cho"?g+=`*:${f.jung}:${f.jong}`:m==="jung"?g+=`${f.cho}:*:${f.jong}`:g+=`${f.cho}:${f.jung}:*`:g+=`${f.cho}:${f.jung}:${f.jong}`}let b=v.get(g);b||(b=[],v.set(g,b)),b.push(x)}for(const x of v.values())if(!(x.length<2))for(let g=0;g<x.length;g++){const b=x[g];for(let C=g+1;C<x.length;C++){const f=x[C];b.syls[p][m]!==f.syls[p][m]&&(n[b.word]||(n[b.word]={cho:[],jung:[],jong:[]}),n[f.word]||(n[f.word]={cho:[],jung:[],jong:[]}),n[b.word][m].push(f.word),n[f.word][m].push(b.word))}}}c+=d.length,t?.(c,i),await new Promise(p=>setTimeout(p,0))}return i>0&&t?.(i,i),n}let xl=0;async function tm(e,t={}){const a=K8(e);if(!t.force){if(za&&Jr===a)return za;const i=em();if(i&&i.sig===a)return za=i.index,Jr=a,za}const o=++xl,n=await X8(e,t.onProgress);return o===xl&&(za=n,Jr=a,Y8(n,a)),n}function Po(){if(za)return za;const e=em();return e?(za=e.index,Jr=e.sig,za):null}function Cl(){xl+=1,za=null,Jr=null;try{typeof localStorage<"u"&&(localStorage.removeItem(fl),localStorage.removeItem(vl))}catch{}}const yl={cho:ft,jung:At,jong:It},Ot=e=>Array.isArray(e)?e.length>0:!!e;function Qr(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++){const o=e[a],n=t[a];if(!(!o||!n)&&(o.cho!==n.cho&&ft[o.cho]==="\u3147"!=(ft[n.cho]==="\u3147")||o.jung!==n.jung&&F8(At[o.jung],At[n.jung])||o.jong!==n.jong&&o.jong===0!=(n.jong===0)))return!0}return!1}function _l(e,t,a){const o=a.pronOf(e),n=a.decompOf,i=a.sameStructureOnly&&n?n(o):null,l=[];for(const c of t)c!==e&&(a.okSet&&!a.okSet.has(c)||a.pronOf(c)!==o&&(i&&n&&Qr(i,n(a.pronOf(c)))||l.push(c)));return l}function Kn(e,t,a){const o=t?.[e];if(!o)return[];const n=a.kind?o[a.kind]??[]:[...o.cho??[],...o.jung??[],...o.jong??[]];return _l(e,n,a)}function wl(e,t,a,o,n,i,l){const c=["cho","jung","jong"].filter(m=>Ot(e[m])),u={};for(const m of c){const v=e[m];u[m]=new Set(Array.isArray(v)?v:[v])}const d=n==="pron",h=new Map;for(const m of t){const v=a(i(m));if(v.some(C=>!C))continue;let x=v;if(!d&&(x=a(m),x.length!==v.length||x.some(C=>!C)))continue;const g=v.length,b=h.get(g);b?b.push({w:m,dPron:v,dPos:x}):h.set(g,[{w:m,dPron:v,dPos:x}])}const p=new Map;for(const[m,v]of h){const x=new Map,g=(b,C)=>{const f=b.dPos[C];return f!=null&&c.every(w=>u[w].has(yl[w][f[w]]))};for(const b of v){let C;if(l==="head")C=g(b,0)?0:-1;else if(l==="tail")C=g(b,m-1)?m-1:-1;else if(l==="mid"){const w=c.includes("cho")?1:0,y=c.includes("jong")?m-2:m-1;C=-1;for(let A=w;A<=y;A++)if(g(b,A)){C=A;break}}else C=b.dPos.findIndex(w=>w!=null&&c.every(y=>u[y].has(yl[y][w[y]])));if(C<0)continue;const f=x.get(C);f?f.push(b):x.set(C,[b])}for(const[b,C]of x){const f=c.includes("cho"),w=c.includes("jung"),y=c.includes("jong"),A=B=>{let k="";for(let E=0;E<m;E++){const S=B[E];E===b?k+=(f?"*":S.cho)+"."+(w?"*":S.jung)+"."+(y?"*":S.jong)+".":k+=S.cho+"."+S.jung+"."+S.jong+"."}return k},_=new Map;for(const B of v){const k=A(B.dPron),E=_.get(k);E?E.push(B):_.set(k,[B])}for(const B of C){const k=_.get(A(B.dPron))??[],E=[];for(const S of k){if(S.w===B.w)continue;let D=!0;for(const $ of c){const j=B.dPron[b][$],H=S.dPron[b][$];if(H===j){D=!1;break}if(d&&u[$].has(yl[$][H])){D=!1;break}}D&&(o&&Qr(B.dPron,S.dPron)||E.push(S.w))}p.set(B.w,E)}}}return p}function kl(e,t,a){return!(e>0)||!(t>0)?1:Math.max(1,Math.floor((e+a)/(t+a)))}function Bl(e,t){if(!(e>0))return 1;const a=Math.max(1,Math.floor(t));if(e<=a)return e;const o=Math.ceil(e/a);return Math.max(1,Math.ceil(e/o))}const Xn=0,am=1,zo=2,Al=3,Z8=4,Zn=5,Sl=6,Jn=7,J8=8,El=9,lr=10,Q8=11,en=12,e5=13,tn=14,Qn=15,ei=16,an=17,t5=18,Aa=0,Ja=1,a5=3,mo=4,Dl=5,on=6,Ia=7,Vt=8,om=9,rm=10,ti=11,nm=12,Nl=13,cr=15,ai=16,Qa=17,im=18,Tl=21,jl=27,o5=20,r5={1:Xn,2:am,4:zo,7:Al,8:Zn,16:Sl,17:Jn,19:El,20:lr,22:en,23:tn,24:Qn,25:ei,26:an},n5={[a5]:[Ja,lr],[Dl]:[mo,en],[om]:[Vt,Xn],[rm]:[Vt,Sl],[ti]:[Vt,Jn],[nm]:[Vt,lr],[Nl]:[Vt,ei],14:[Vt,an],[im]:[Qa,lr]},i5={[on]:zo,[cr]:Zn},Ll={2:Ja,24:Ja,3:Ja,9:Ja,5:mo,6:mo,19:Ia,20:Ia,22:Ia,23:Ia,25:Ia,27:Ia,11:Vt,12:Vt,13:Vt,15:Vt,10:ai,14:Qa,18:Qa,26:Qa},sm={[Xn]:Qn,[Al]:ei,[Jn]:an,[en]:tn},lm={[Xn]:am,[Al]:Z8,[Jn]:J8,[El]:lr,[en]:e5},s5=new Set([Dl,rm,ti,nm,Nl,cr,im]),l5=new Set(["\uBC1F"]);function cm(e){const t=(e??"").trim();if(!t)return"";const a=[...t],o=a.map(Ye);if(o.some(i=>i===null))return t;const n=o;for(let i=0;i<n.length;i++){const l=n[i],c=n[i+1],u=l.jong;if(!c){l.jong=Ll[l.jong]??l.jong;break}if(l.jong===Aa)continue;if(c.cho===Q8){if(c.jung===o5){if(l.jong===Ia){l.jong=Aa,c.cho=en;continue}if(l.jong===25){l.jong=Aa,c.cho=tn;continue}if(l.jong===Nl){l.jong=Vt,c.cho=tn;continue}}if(l.jong===jl){l.jong=Aa;continue}const h=i5[l.jong];if(h!==void 0){l.jong=Aa,c.cho=h;continue}const p=n5[l.jong];if(p){l.jong=p[0],c.cho=p[1];continue}const m=r5[l.jong];m!==void 0&&(l.jong=Aa,c.cho=m);continue}if((l.jong===jl||l.jong===on||l.jong===cr)&&sm[c.cho]!==void 0){c.cho=sm[c.cho],l.jong=l.jong===on?mo:l.jong===cr?Vt:Aa;continue}if((l.jong===jl||l.jong===on||l.jong===cr)&&c.cho===El){c.cho=lr,l.jong=l.jong===on?mo:l.jong===cr?Vt:Aa;continue}if(c.cho===t5){if(l.jong===Dl){l.jong=mo,c.cho=tn;continue}if(l.jong===om){l.jong=Vt,c.cho=Qn;continue}if(l.jong===ti){l.jong=Vt,c.cho=an;continue}const h=Ll[l.jong]??l.jong;if(h===Ja){l.jong=Aa,c.cho=Qn;continue}if(h===Ia){l.jong=Aa,c.cho=ei;continue}if(h===Qa){l.jong=Aa,c.cho=an;continue}}let d=Ll[l.jong]??l.jong;u===ti&&l5.has(a[i])&&(d=Qa),l.jong=d,lm[c.cho]!==void 0&&(d===Ja||d===Ia||d===Qa||s5.has(u))&&(c.cho=lm[c.cho]),(c.cho===zo||c.cho===Sl)&&(l.jong===Ja?l.jong=Tl:l.jong===Ia?l.jong=mo:l.jong===Qa&&(l.jong=ai)),c.cho===Zn?l.jong===mo?l.jong=Vt:l.jong===ai||l.jong===Tl?c.cho=zo:l.jong===Ja?(l.jong=Tl,c.cho=zo):l.jong===Qa&&(l.jong=ai,c.cho=zo):l.jong===Vt&&c.cho===zo&&(c.cho=Zn)}return n.map(i=>Ba(i.cho,i.jung,i.jong)).join("")}const ur=/[ㄱ-ㅎ]/,c5=/[ㅏ-ㅣ]/;function rn(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],o=a.charCodeAt(0);if(o>=44032&&o<=55203||ur.test(a)||c5.test(a))return a}return null}function Ml(e){const t=rn(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":ur.test(t)?"\uC774":"\uAC00"}function $l(e){return`${e}${Ml(e)}`}function Rl(e){const t=rn(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":ur.test(t)?"\uC744":"\uB97C"}function Pl(e){return`${e}${Rl(e)}`}function zl(e){const t=rn(e);if(!t)return"\uB294";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC740":"\uB294":ur.test(t)?"\uC740":"\uB294"}function um(e){return`${e}${zl(e)}`}function Il(e){const t=rn(e);if(!t)return"\uC640";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uACFC":"\uC640":ur.test(t)?"\uACFC":"\uC640"}function dm(e){return`${e}${Il(e)}`}function Ol(e){const t=rn(e);if(!t)return"\uB85C";const a=t.charCodeAt(0);if(a>=44032&&a<=55203){const o=(a-44032)%28;return o===0||o===8?"\uB85C":"\uC73C\uB85C"}return t==="\u3139"?"\uB85C":ur.test(t)?"\uC73C\uB85C":"\uB85C"}function pm(e){return`${e}${Ol(e)}`}function Fl(e,t,a){const o=e.slice(),[n]=o.splice(t,1);return o.splice(a,0,n),o}function ut(e,t=Math.random){const a=e.slice();for(let o=a.length-1;o>0;o--){const n=Math.floor(t()*(o+1));[a[o],a[n]]=[a[n],a[o]]}return a}function Sa(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?ut(e,a):ut(e,a).slice(0,t)}const dr={SAME_SOUND_PICK:{difficulty:!0,choseong:!0,group:"discrimination"},SAME_OR_DIFF:{difficulty:!0,choseong:!0,group:"discrimination"},HEAR_AND_PICK_SAME:{difficulty:!0,choseong:!0,group:"discrimination"},HEAR_AND_PICK_INCLUDED:{difficulty:!0,choseong:!0,group:"discrimination"},STARTS_WITH_SAME_SOUND:{difficulty:!1,choseong:!0,group:"discrimination"},LISTEN_AND_REMEMBER_ORDER:{difficulty:!1,choseong:!0,group:"attention"},MERGE_2_SYLLABLES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_3_SYLLABLES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_2_PHONEMES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_3_PHONEMES:{difficulty:!1,choseong:!0,group:"synthesis"},DROP_1_FROM_2SYLL:{difficulty:!1,choseong:!0,group:"deletion"},DROP_1_FROM_3SYLL:{difficulty:!1,choseong:!0,group:"deletion"},DROP_PART_FROM_COMPOUND:{difficulty:!1,choseong:!0,group:"deletion"},DROP_FINAL_CONSONANT_FROM_1SYLL:{difficulty:!1,choseong:!0,group:"deletion"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{difficulty:!1,choseong:!0,group:"deletion"},CHANGE_1_SYLL_IN_2SYLL:{difficulty:!0,choseong:!0,group:"substitution"},CHANGE_1_SYLL_IN_3SYLL:{difficulty:!0,choseong:!0,group:"substitution"},CHANGE_1_PHONEME_IN_1SYLL:{difficulty:!1,choseong:!0,group:"substitution"},CHANGE_1_PHONEME_IN_2SYLL:{difficulty:!0,choseong:!0,group:"substitution"}};function u5(e){const t=e?dr[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const Wl=ft.indexOf("\u3147"),pr={DROP_FINAL_CONSONANT_FROM_1SYLL:{syllables:1,syllable:e=>e.jong>0},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{syllables:1,syllable:e=>e.jong===0&&e.cho!==Wl},MERGE_2_SYLLABLES:{syllables:2,syllable:()=>!0},MERGE_3_SYLLABLES:{syllables:3,syllable:()=>!0},MERGE_2_PHONEMES:{syllables:1,syllable:e=>e.jong===0&&e.cho!==Wl},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0&&!Yn[e.jong]&&e.cho!==Wl}},d5=new Set([]);function hm(e){return e in pr}function mm(e,t){const a=pr[e];if(!a)return!0;const o=[...t];if(o.length!==a.syllables)return!1;const n=Ye(o[0]);return!!n&&a.syllable(n)}function bm(e){return d5.has(e)}function p5(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uC640":"\uACFC"}function nn(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uB97C":"\uC744"}function Gl(e){const t=e.charCodeAt((e.length||1)-1)||0;if(t<44032||t>55203)return"\uB85C";const a=(t-44032)%28;return a===0||a===8?"\uB85C":"\uC73C\uB85C"}function gm(e){const t=e.charAt((e.length||1)-1),a=t.charCodeAt(0)||0;return a>=44032&&a<=55203?(a-44032)%28===0?"\uAC00":"\uC774":/[ㄱ-ㅎ]/.test(t)?"\uC774":"\uAC00"}const Hl={\u3131:"\uAE30\uC5ED",\u3132:"\uC30D\uAE30\uC5ED",\u3134:"\uB2C8\uC740",\u3137:"\uB514\uADFF",\u3138:"\uC30D\uB514\uADFF",\u3139:"\uB9AC\uC744",\u3141:"\uBBF8\uC74C",\u3142:"\uBE44\uC74D",\u3143:"\uC30D\uBE44\uC74D",\u3145:"\uC2DC\uC637",\u3146:"\uC30D\uC2DC\uC637",\u3147:"\uC774\uC751",\u3148:"\uC9C0\uC752",\u3149:"\uC30D\uC9C0\uC752",\u314A:"\uCE58\uC753",\u314B:"\uD0A4\uC754",\u314C:"\uD2F0\uC755",\u314D:"\uD53C\uC756",\u314E:"\uD788\uC757",\u3133:"\uAE30\uC5ED\uC2DC\uC637",\u3135:"\uB2C8\uC740\uC9C0\uC752",\u3136:"\uB2C8\uC740\uD788\uC757",\u313A:"\uB9AC\uC744\uAE30\uC5ED",\u313B:"\uB9AC\uC744\uBBF8\uC74C",\u313C:"\uB9AC\uC744\uBE44\uC74D",\u313D:"\uB9AC\uC744\uC2DC\uC637",\u313E:"\uB9AC\uC744\uD2F0\uC755",\u313F:"\uB9AC\uC744\uD53C\uC756",\u3140:"\uB9AC\uC744\uD788\uC757",\u3144:"\uBE44\uC74D\uC2DC\uC637",\u314F:"\uC544",\u3150:"\uC560",\u3151:"\uC57C",\u3152:"\uC598",\u3153:"\uC5B4",\u3154:"\uC5D0",\u3155:"\uC5EC",\u3156:"\uC608",\u3157:"\uC624",\u3158:"\uC640",\u3159:"\uC65C",\u315A:"\uC678",\u315B:"\uC694",\u315C:"\uC6B0",\u315D:"\uC6CC",\u315E:"\uC6E8",\u315F:"\uC704",\u3160:"\uC720",\u3161:"\uC73C",\u3162:"\uC758",\u3163:"\uC774"};function fm(e){if([...e].length!==1)return[e];const t=Ye(e);if(!t)return[e];const a=[ft[t.cho],At[t.jung]];return t.jong!==0&&a.push(It[t.jong]),a}function Vl(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const o=c=>Hl[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${p5(o(c))}`).join(" "),i=a[a.length-1],l=`"${i}"${nn(o(i))}`;return`${n} ${l} \uD569\uCE58\uBA74 \uC5B4\uB5A4 ${t?"\uC18C\uB9AC":"\uB2E8\uC5B4"}\uAC00 \uB418\uB098\uC694?`}function h5(e,t){return Vl(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}const Ul=e=>Hl[e]??e,m5={cho:"\uCD08\uC131",jung:"\uBAA8\uC74C",jong:"\uBC1B\uCE68"};function b5(e,t){const a=(u,d)=>{const h=[...u].length===1?Ye(u):null,p=[...d].length===1?Ye(d):null;if(!h||!p)return null;const m=["cho","jung","jong"].filter(v=>h[v]!==p[v]);return m.length===1?{part:m[0],sx:h,sy:p}:null},o=a(e,t)??a(sn(e),sn(t));if(!o)return null;const n=o.part==="cho"?ft:o.part==="jung"?At:It,i=n[o.sx[o.part]],l=n[o.sy[o.part]],c=o.part==="jong"&&!i?"add":o.part==="jong"&&!l?"remove":"swap";return{part:o.part,from:i,to:l,kind:c}}function g5(e,t){const a=String(t?.word??t?.original??""),o=String(t?.changedFrom??""),n=String(t?.changedTo??"");if(e==="CHANGE_1_PHONEME_IN_1SYLL"||e==="CHANGE_1_PHONEME_IN_2SYLL"){const i=e==="CHANGE_1_PHONEME_IN_1SYLL",l=i?o||a:o,c=b5(l,n);if(c){const u=i?`"${a}"`:`"${a}"\uC758 "${l}"`,d=c.kind==="add"?"\uC5D0":"\uC5D0\uC11C",h=`"${c.from}"${nn(Ul(c.from))}`,p=`"${c.to}"${Gl(Ul(c.to))}`;return c.kind==="add"?`${u}${d} \uBC1B\uCE68 "${c.to}"${nn(Ul(c.to))} \uB354\uD558\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:c.kind==="remove"?`${u}${d} \uBC1B\uCE68 ${h} \uBE7C\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`${u}${d} ${m5[c.part]} ${h} ${p} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}}return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${nn(a)} "${n}"${Gl(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${o}"${nn(o)} "${n}"${Gl(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function f5(e,t){const a=String(t?.word??t?.original??t?.base??""),o=String(t?.dropped??"");if(e==="DROP_FINAL_CONSONANT_FROM_1SYLL")return`"${a}"\uC5D0\uC11C \uBC1B\uCE68\uC774 \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`;if(e==="REMOVE_CONSONANT_AND_IDENTIFY_PHONEME"){const n=String(t?.missingConsonant??"");return`"${a}"\uC5D0\uC11C "${n}"${gm(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${o}"${gm(o)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function vm(e,t,a){switch(u5(e)){case"synthesis":return h5(e,a);case"substitution":return g5(e,t);case"deletion":return f5(e,t);default:return""}}function xm(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,o)=>{const n=Hl[a];if(!n)return t;if(!o)return`"${n}"`;const i=(n.charCodeAt(n.length-1)-44032)%28,l=i!==0;let c=o;return o==="\uC640"||o==="\uACFC"?c=l?"\uACFC":"\uC640":o==="\uC744"||o==="\uB97C"?c=l?"\uC744":"\uB97C":o==="\uC774"||o==="\uAC00"?c=l?"\uC774":"\uAC00":o==="\uC740"||o==="\uB294"?c=l?"\uC740":"\uB294":(o==="\uC73C\uB85C"||o==="\uB85C")&&(c=i===0||i===8?"\uB85C":"\uC73C\uB85C"),`"${n}"${c}`})}const v5=e=>e==null?[]:Array.isArray(e)?e:[e];function sn(e){if([...e].length!==1)return"";const t=Ye(e);if(!t)return"";const a=$o(It[t.jong]),o=a===""?0:It.indexOf(a);return Ba(t.cho,t.jung,o<0?0:o)}function oi(e,t){return t.get(e)||sn(e)||e}function hr(e){return e?Ot(e.cho)?"cho":Ot(e.jung)?"jung":Ot(e.jong)?"jong":null:null}function eo(e,t){const a=(n,i)=>!Ot(n)||v5(n).includes(i),o=t.jongNone?e.jong===0:a(t.jong,It[e.jong]);return a(t.cho,ft[e.cho])&&a(t.jung,At[e.jung])&&o}function Io(e,t,a){const o=[...e];if(a!=="pron")return o.map(i=>Ye(i));const n=[...t.get(e)||e];return n.length!==o.length?o.map(i=>Ye(i)):n.map(i=>Ye(i))}function Oo(e,t,a,o,n){const i=t==="cho"?ft:t==="jung"?At:It,l=e[t],c=[],u=p=>t==="jung"?C5(oi(p,n)):oi(p,n),d=new Map([[u(a),-1]]),h=ut(i.map((p,m)=>m).filter(p=>p!==l&&(t!=="cho"||i[p]!=="\u3147")&&(t!=="jong"||p!==0)));for(const p of h){if(c.length>=o)break;const m=t==="cho"?Ba(p,e.jung,e.jong):t==="jung"?Ba(e.cho,p,e.jong):Ba(e.cho,e.jung,p),v=u(m),x=d.get(v);if(x!==void 0){t==="jung"&&x>=0&&n.has(m)&&!n.has(c[x])&&(c[x]=m);continue}d.set(v,c.length),c.push(m)}return c}const x5={\u3154:"\u3150",\u3156:"\u3152",\u315A:"\u3159",\u315E:"\u3159"};function C5(e){if([...e].length!==1)return e;const t=Ye(e);if(!t)return e;const a=x5[At[t.jung]];return a?Ba(t.cho,At.indexOf(a),t.jong):e}function ql(e,t,a,o,n,i=null){const l=[...e];if(l.length!==2)return null;const c=l.map(p=>Ye(p));if(c.some(p=>!p))return null;const u=Io(e,a,o);if(u.some(p=>!p))return null;const d=hr(t);let h=d&&t?u.map((p,m)=>eo(p,t)?m:-1).filter(p=>p>=0):[0,1];if(i!=null&&(h=h.filter(p=>p!==i)),!h.length)return null;for(const p of ut(h)){const m=l[p];if(!n.has(m))continue;const v=Oo(c[p],d??"cho",m,40,a),x=[];for(const g of v)if(g!==m&&n.has(g)&&!x.includes(g)&&x.push(g),x.length>=2)break;if(!(x.length<2))return{question:e,distractors:[m,...x]}}return null}function Yl(e,t,a,o,n,i=null){const l=[...e];if(l.length!==3)return null;const c=l.map(p=>Ye(p));if(c.some(p=>!p))return null;const u=Io(e,a,o);if(u.some(p=>!p))return null;const d=hr(t),h=d&&t?u.map((p,m)=>eo(p,t)?m:-1).filter(p=>p>=0):[0,1,2];if(!h.length)return null;for(const p of ut(h))for(const m of ut([0,1,2].filter(v=>v!==p&&(i==null||v===i)))){const v=[0,1,2].filter(f=>f!==m),x=v.map(f=>l[f]).join("");if(!n.has(x))continue;const g=v.indexOf(p),b=Oo(c[p],d??"cho",l[p],40,a),C=[];for(const f of b){const w=v.map(A=>l[A]);w[g]=f;const y=w.join("");if(y!==x&&n.has(y)&&!C.includes(y)&&C.push(y),C.length>=2)break}if(!(C.length<2))return{question:e,distractors:[x,...C]}}return null}function Kl(e,t,a,o,n,i=null){const l=[...e],c=l.length;if(c<2)return null;const u=[];for(let h=1;h<=c-1;h++)u.push({remain:l.slice(0,h).join(""),dropped:l.slice(h).join(""),droppedEnd:1}),u.push({remain:l.slice(c-h).join(""),dropped:l.slice(0,c-h).join(""),droppedEnd:0});const d=hr(t);for(const{remain:h,dropped:p,droppedEnd:m}of ut(u)){if(i!=null&&m!==i||[...h].length===1&&[...p].length===1||h===e||!n.has(h)||!n.has(p))continue;const v=[...h],x=v.map(C=>Ye(C));if(x.some(C=>!C))continue;const g=Io(h,a,o);if(g.some(C=>!C))continue;const b=d&&t?g.map((C,f)=>eo(C,t)?f:-1).filter(C=>C>=0):v.map((C,f)=>f);if(b.length)for(const C of ut(b)){const f=Oo(x[C],d??"cho",v[C],40,a),w=[];for(const y of f){const A=[...v];A[C]=y;const _=A.join("");if(_!==h&&n.has(_)&&!w.includes(_)&&w.push(_),w.length>=2)break}if(w.length>=2)return{question:e,distractors:[h,...w],dropped:p}}}return null}function Xl(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=Ye(a.get(e)||e);if(!l||l.jong===0)return null;const c=Ba(l.cho,l.jung,0),u=Oo({cho:l.cho,jung:l.jung,jong:0},"cho",c,2,a);return u.length<2?null:{question:e,distractors:[c,...u]}}const Zl=ft.indexOf("\u3147");function Jl(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=Ye(a.get(e)||e);if(!l||l.jong!==0||l.cho===Zl)return null;const c=Ba(Zl,l.jung,0),u=Oo({cho:Zl,jung:l.jung,jong:0},"jung",c,2,a);return u.length<2?null:{question:e,distractors:[c,...u]}}function Ql(e){const t=new Map;for(const a of e){const o=[...a],n=o.length;if(!(n<2||n>3))for(let i=0;i<n;i++){let l=n+"|"+i+"|";for(let u=0;u<n;u++)l+=u===i?"*":o[u];const c=t.get(l);c?c.push(a):t.set(l,[a])}}return t}function ec(e,t,a,o,n,i=null,l=null,c=2){const u=[...e],d=u.length;if(d<2||d>3)return null;const h=u.map(f=>Ye(f));if(h.some(f=>!f))return null;const p=Io(e,a,o);if(p.some(f=>!f))return null;const m=f=>a.get(f)??f,v=m(e),x=!!t&&(Ot(t.cho)||Ot(t.jung)||Ot(t.jong)),g=!!l&&(Ot(l.cho)||Ot(l.jung)||Ot(l.jong)),b=f=>{let w=d+"|"+f+"|";for(let y=0;y<d;y++)w+=y===f?"*":u[y];return w};let C;if(i!=null){if(i>=d||x&&!eo(p[i],t))return null;C=[i]}else x?C=p.map((f,w)=>eo(f,t)?w:-1).filter(f=>f>=0):C=Array.from({length:d},(f,w)=>w);for(const f of ut(C)){const w=n.get(b(f))??[],y=[],A=[];for(const S of w){if(S===e)continue;const D=[...S].map(T=>Ye(T)),$=h[f],j=D[f];if(!$||!j)continue;let H=0;if($.cho!==j.cho&&H++,$.jung!==j.jung&&H++,$.jong!==j.jong&&H++,!(H<c||m(S)===v))if(g){const T=Io(S,a,o)[f];T&&eo(T,l)?y.push(S):A.push(S)}else y.push(S)}if(!y.length)continue;const _=ut(y)[0],B=[],k=new Set([v,m(_)]),E=g?A:y.filter(S=>S!==_);for(const S of ut(E)){const D=m(S);if(!k.has(D)&&(k.add(D),B.push(S),B.length>=2))break}if(!g&&B.length<2)for(const S of ut(w)){if(S===e||S===_)continue;const D=m(S);if(!k.has(D)&&(k.add(D),B.push(S),B.length>=2))break}if(!(B.length<2))return{question:e,distractors:[_,...B]}}return null}const y5=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof kt?.t=="function"?kt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function ln(e,t){if(t===void 0&&(t=y5()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;if(e&&typeof e=="object"){const a=e;for(const o of[a.message,a.error_description,a.error])if(typeof o=="string"&&o)return o}return t}const ri="\uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0\uC774 \uBD88\uC548\uC815\uD569\uB2C8\uB2E4. \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694.",_5=()=>{const e=typeof kt?.t=="function"?kt.t("common.networkError",{defaultValue:ri}):void 0;return typeof e=="string"&&e?e:ri};function tc(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Cm(e){return tc(e)?_5():e}function ym(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function _m(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function wm(e){let t=e==null?"":String(e);return!(typeof e=="number"&&Number.isFinite(e))&&/^[=+\-@\t\r]/.test(t)&&(t="'"+t),/[",\n\r]/.test(t)?`"${t.replaceAll('"','""')}"`:t}const w5=1e3;function km(e,t){const a=new Blob([t.startsWith("\uFEFF")?t:"\uFEFF"+t],{type:"text/csv;charset=utf-8"}),o=URL.createObjectURL(a),n=document.createElement("a");n.href=o,n.download=e,n.click(),setTimeout(()=>URL.revokeObjectURL(o),w5)}const Bm="__ihab_core_word_pool__";function k5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function Am(e,t){const a=new Map;for(const n of e)a.set(n.word,n);const o={entries:e,pairIndex:t??null,byWord:a};globalThis[Bm]=o,k5()}function Fo(){return globalThis[Bm]??null}const mr=globalThis;function ac(e,t){const a=o=>{};try{const o=t();o&&typeof o.catch=="function"&&o.catch(a)}catch(o){a(o)}}function Sm(e){mr.__ihabTrainingTimeLogger=e}function oc(e){ac("time",()=>mr.__ihabTrainingTimeLogger?.(e))}function Em(e){mr.__ihabTrainingCompletionLogger=e}function rc(e){ac("completion",()=>mr.__ihabTrainingCompletionLogger?.(e))}function Dm(e){mr.__ihabCrosswordLogger=e}function Nm(e){ac("crossword",()=>mr.__ihabCrosswordLogger?.(e))}function ni(e){if(typeof e=="string"){const t=e.trim();return t?Number.isNaN(new Date(t).getTime())?null:t:null}if(e instanceof Date)return Number.isNaN(e.getTime())?null:e.toISOString();if(typeof e=="number"&&Number.isFinite(e)){const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}return null}function ca(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function nc(e){for(const t of["correct","isCorrect","heard","judgement"])if(typeof e[t]=="boolean")return e[t];return e.score===1?!0:e.score===0?!1:null}function ic(e){return Array.isArray(e)?e.map((t,a)=>{const o=t??{};return{index:a,itemId:ca(o.contextCode)??ca(o.itemId)??ca(o.itemCode)??ca(o.id),question:ca(o.question)??ca(o.q)??ca(o.sentence)??ca(o.text)??ca(o.prompt)??ca(o.word)??ca(o.targetSyllable),answer:ca(o.answer),selected:ca(o.selectedText)??ca(o.selected),correct:nc(o),shownAt:ni(o.shownAt)??ni(o.shown_at),answeredAt:ni(o.answeredAt)??ni(o.answered_at)}}):[]}function Tm(e){return e.filter(t=>t.correct===!1)}let jm=null,Lm=null,Mm=null;function $m(e){jm=e}function Rm(e){Lm=e}function Pm(e){Mm=e}async function zm(e,t){try{return await jm?.(e,t)??null}catch{return null}}async function Im(){try{return await Lm?.()??null}catch{return null}}async function Om(e,t){try{return await Mm?.(e,t)??null}catch{return null}}const ii=globalThis;function Fm(e){ii.__ihabNoiseSettingsStore=e}async function sc(){try{return await ii.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function si(e){const t=a=>{};try{const a=ii.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function br(e){try{ii.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}function cn(e){const t=new TextEncoder().encode(String(e).normalize("NFC"));let a="";return t.forEach(o=>{a+=o.toString(16).padStart(2,"0")}),a}const Wm=cn;function Gm(e,t){return`${e}/${cn(t)}.mp3`}function Hm(e={}){const t=e.storagePrefix??"audio-cache",a=e.voice??"ko-f",o=typeof e.speed=="number"?e.speed:1,n=e.filenameSanitizer??cn;return async function(i){const l=String(i||"").trim();if(!l)return"";const c=`${n(l)}_${a}.mp3`,u=`${t}/${c}`;try{if(await qs(u)){const d=await Vr(u);if(d)return d}}catch{}if(e.generator)try{const d=await e.generator(l,u,e);if(d)return d}catch{}try{const d=`/api/tts?word=${encodeURIComponent(l)}&voice=${encodeURIComponent(a)}&speed=${encodeURIComponent(String(o))}`;return await fetch(d,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function lc(e){if(typeof document<"u"){const t=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const gr="Asia/Seoul",B5=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function li(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),o=B5.exec(a);t=new Date(o?`${o[1]}T${o[2]}:${o[3]??"00"}${o[4]?`.${o[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else t=new Date(e);return Number.isNaN(t.getTime())?null:t}const un=e=>li(e);function Vm(e){const t=un(e);return t?t.toLocaleDateString("ko-KR",{timeZone:gr,year:"numeric",month:"short",day:"numeric"}):""}function Um(e){const t=un(e);return t?t.toLocaleString("ko-KR",{timeZone:gr,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function ci(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=un(e);return o?o.toLocaleDateString(a,{timeZone:gr,year:"numeric",month:"short",day:"numeric"}):""}function A5(e,t,a){if(!Number.isFinite(e)||!Number.isFinite(t)||t<1||t>12)return`${e}-${t}`;const o=a&&a.startsWith("ko")?"ko-KR":a||"en-US";return new Intl.DateTimeFormat(o,{year:"numeric",month:"long"}).format(new Date(e,t-1,1))}function ui(e,t,a,o){return e("calendar.yearMonth",{year:a,month:o,defaultValue:""})||A5(a,o,t)}function qm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=un(e);return o?o.toLocaleString(a,{timeZone:gr,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Ym(e){const t=un(e);return t?t.toLocaleString("ko-KR",{timeZone:gr,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function Km(e){if(e==null||e==="")return"";const t=li(e);return t?new Intl.DateTimeFormat("en-GB",{timeZone:gr,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):""}function ya(){return Oa(new Date)}function cc(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:ya()}function bo(){return uc(ya())}const S5=540*60*1e3;function di(e,t,a){return new Date(Date.UTC(e,t,a)-S5)}function uc(e){const[t,a,o]=e.split("-").map(Number);return new Date(t,(a||1)-1,o||1)}function Oa(e){if(e==null||e==="")return"";const t=li(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function pi(e,t){if(!e)return"";const a=li(e);if(!a)return"";const o=a.getTime(),n=Math.max(0,Math.floor((Date.now()-o)/1e3)),i=Math.floor(n/60),l=Math.floor(i/60),c=Math.floor(l/24),u=Math.floor(c/7),d=Math.floor(c/30),h=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):c<7?t("store.time.daysAgo",{n:c}):u<5?t("store.time.weeksAgo",{n:u}):c<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:h})}function hi(e,t={}){const{sep:a=".",pad:o=!0,trailingDot:n=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=Oa(e instanceof Date?e:String(e));if(!l)return i;const[c,u,d]=l.split("-"),h=o?u:String(Number(u)),p=o?d:String(Number(d));return`${c}${a}${h}${a}${p}${n?".":""}`}function Xm(e){const t=e.normalize("NFKC").replace(/\D/g,"");if(/^(050\d|0303)/.test(t)){const o=t.slice(0,12);return o.length<=4?o:o.length<=8?`${o.slice(0,4)}-${o.slice(4)}`:`${o.slice(0,4)}-${o.slice(4,o.length-4)}-${o.slice(o.length-4)}`}if(/^1[5-9]\d{2}/.test(t)&&t.length<=8)return t.length<=4?t:`${t.slice(0,4)}-${t.slice(4)}`;const a=t.slice(0,11);return a.startsWith("02")?a.length<=2?a:a.length<=6?`${a.slice(0,2)}-${a.slice(2)}`:`${a.slice(0,2)}-${a.slice(2,a.length-4)}-${a.slice(a.length-4)}`:a.length<=3?a:a.length<=7?`${a.slice(0,3)}-${a.slice(3)}`:`${a.slice(0,3)}-${a.slice(3,a.length-4)}-${a.slice(a.length-4)}`}const Zm=String.raw`(?:0\d{1,2}|050\d|0303)-\d{3,4}-\d{4}`,E5=String.raw`1[5-9]\d{2}-\d{4}`,dc=new RegExp(`^(?:${Zm}|${E5})$`),pc=new RegExp(`^${Zm}$`);function Jm(e){return dc.test(e)}function Qm(e){return pc.test(e)}function eb(e){if(e){if(/^\d{4}\.\d{2}\.\d{2}$/.test(e))return e;if(/^\d{8}$/.test(e))return`${e.slice(0,4)}.${e.slice(4,6)}.${e.slice(6,8)}`;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e.replace(/-/g,".");if(/^\d{4}-\d{2}-\d{2}[T ]/.test(e)){const t=Oa(e);return t?t.replace(/-/g,"."):void 0}}}function tb(e){if(e)return/^\d{4}\.\d{2}\.\d{2}$/.test(e)?e.replace(/\./g,"-"):e}function fr(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function mi(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const o=Number(a[1]),n=Number(a[2]),i=a[1].padStart(2,"0");return n===0?t("date.timeH",{h:o,hh:i,mm:a[2]}):t("date.timeHM",{h:o,hh:i,m:n,mm:a[2]})}function dn(e){return(e??0).toLocaleString("ko-KR")}const D5=[{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"}]}],N5=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",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"}];let hc=null;function ab(e){hc=e}function bi(){return hc?.topicTypes??D5}function mc(){return hc?.trainingTypes??N5}const ob="ihab_theme",rb="light";function bc(){try{const e=localStorage.getItem(ob);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return rb}function gc(e){const t=e==="light"||e==="dark"||e==="auto"?e:rb;try{document.documentElement.setAttribute("data-theme",t),localStorage.setItem(ob,t)}catch{}}function nb(){gc(bc())}const ib="ihab_font_scale",T5="medium",j5=["medium","large1","large2","large3"];function fc(){try{const e=localStorage.getItem(ib);if(j5.includes(e))return e}catch{}return T5}function vc(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(ib,e)}catch{}}function sb(){vc(fc())}const go=[],fo=[],vo=[],xo=[],pn={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},hn={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},L5={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let xc=null,lb=null,Co=null;function Cc({counts:e,forceRefresh:t}={}){const a=Object.assign({},L5,e||{}),o=ya(),n=Oa(new Date(`${o}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&lb===o&&xc===i&&Co)return Object.assign(pn,Co.today),Object.assign(hn,Co.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:pn,yesterday:hn};const l={LISTEN_IN_NOISE:Sa(go,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Sa(fo,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Sa(vo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Sa(xo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return Co&&xc===i&&Co.yesterday&&Co.yesterday.date===n&&(c=Co.yesterday.selection),c||(c={LISTEN_IN_NOISE:Sa(go,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Sa(fo,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Sa(vo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Sa(xo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(pn,l),Object.assign(hn,c),lb=o,xc=i,Co={today:l,yesterday:{date:n,countsKey:i,selection:c}},{today:pn,yesterday:hn}}function cb(){return{today:pn,yesterday:hn}}function yc(){return{LISTEN_IN_NOISE:go,SHORT_STORY:fo,LONG_STORY:vo,ORDERING_SENTENCE:xo}}let gi=!1,mn=null;async function M5(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:Ca&&Ca.tagName.toUpperCase()==="SCRIPT"&&Ca.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}&&void 0||"/",t=await fetch(`${e}data/allTrainingData.json`);return t.ok?await t.json():null}catch{return null}}async function _c(){if(!gi)return mn||(mn=(async()=>{const e=await M5();if(!e){mn=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}const t={noise:[],short:[],long:[],order:[]};try{for(const a of Object.keys(e||{})){const o=e[a]||[];for(const n of o){if(!n||typeof n!="object")continue;const i=n,l=String(i.training_type||a),c=String(i.category_main_code||i.category_main||i.category_0||""),u=String(i.category_sub_code||i.category_sub||i.category_1||""),d=Object.assign({},i,{training_type:l,category_0:c,category_1:u});l==="LISTEN_IN_NOISE"?t.noise.push(d):l==="SHORT_STORY"?t.short.push(d):l==="LONG_STORY"?t.long.push(d):l==="ORDERING_SENTENCE"&&t.order.push(d)}}}catch{mn=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}go.push(...t.noise),fo.push(...t.short),vo.push(...t.long),xo.push(...t.order),gi=!0;try{Cc()}catch{}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}})(),mn)}function ub(){return gi}async function wc(e=3e3){const t=_c();let a;try{await Promise.race([t,new Promise(o=>{a=setTimeout(o,e)})])}finally{a!==void 0&&clearTimeout(a)}return gi}const kc=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",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."}],db=[{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"}]}],fi={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function pb(e){return kc.map(t=>{const a=fi[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}const hb=new Set(["field"]),Bc="none";function $5(e){return e==null||String(e).trim()===""}function R5(e){return typeof e=="string"&&Sc.includes(e)}function Ac(e,t){if(!e)return!0;const a=e instanceof Set?e:new Set(e);return a.size===0?!0:$5(t)?a.has(Bc):a.has(String(t))}const bn=["grade","syllables","pos","wordType","field"],Sc=["1","2","3","4","none"],P5=["1","2","3","4","5+"],z5=["noun","verb","modifier"],I5=["native","sino","foreign","mixed"],O5={grade:Sc,syllables:P5,pos:z5,wordType:I5,field:[]},F5={noun:["\uBA85","\uC218"],verb:["\uB3D9","\uD615"],modifier:["\uBD80","\uAD00"]},W5={native:"\uACE0\uC720",sino:"\uD55C\uC790",foreign:"\uC678\uB798",mixed:"\uD63C\uC885"},G5={grade:["\uB09C\uC774\uB3C4 \uB4F1\uAE09"]},H5={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)"]}},Ec=new Map;try{kt.store?.on?.("added",()=>Ec.clear())}catch{}function gn(e){const t=Ec.get(e);if(t)return t;const a=kt.getFixedT(e),o={section:{grade:a("wordSearch.filter.difficulty","\uB4F1\uAE09"),syllables:a("wordSearch.filter.syllables","\uC74C\uC808 \uC218"),pos:a("wordSearch.filter.partOfSpeech","\uD488\uC0AC"),wordType:a("wordSearch.filter.wordType","\uC720\uD615"),field:a("wordSearch.filter.field","\uC758\uBBF8\uBC94\uC8FC")},value:{grade:{...Object.fromEntries(Sc.filter(n=>n!==Bc).map(n=>[n,a("wordSearch.filter.grade",{n:Number(n),defaultValue:`${n}\uB4F1\uAE09`})])),[Bc]:a("wordSearch.filter.gradeNone","\uC5C6\uC74C")},syllables:{...Object.fromEntries(["1","2","3","4"].map(n=>[n,a("wordSearch.filter.syllable",{n:Number(n),defaultValue:`${n}\uC74C\uC808`})])),"5+":a("wordSearch.filter.syllable5plus","5\uC74C\uC808 \uC774\uC0C1")},pos:{noun:a("wordSearch.filter.pos.noun","\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)"),verb:a("wordSearch.filter.pos.verb","\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)"),modifier:a("wordSearch.filter.pos.modifier","\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)")},wordType:{native:a("wordSearch.filter.type.native","\uACE0\uC720\uC5B4"),sino:a("wordSearch.filter.type.sino","\uD55C\uC790\uC5B4"),foreign:a("wordSearch.filter.type.foreign","\uC678\uB798\uC5B4"),mixed:a("wordSearch.filter.type.mixed","\uD63C\uC885\uC5B4")},field:{}}};return Ec.set(e,o),o}const Dc=()=>Array.from(new Set([kt.language,"ko","en"].filter(e=>!!e)));function fn(e){if(bn.includes(e))return e;for(const t of Dc()){const a=gn(t);for(const o of bn)if(a.section[o]===e)return o}for(const t of bn)if(G5[t]?.includes(e))return t;return null}function Wo(e,t){if(hb.has(e)||O5[e].includes(t))return t;for(const a of Dc()){const o=gn(a).value[e];for(const[n,i]of Object.entries(o))if(i===t)return n}for(const[a,o]of Object.entries(H5[e]??{}))if(o.includes(t))return a;if(e==="grade"||e==="syllables"){const a=parseInt(t.replace(/\D/g,""),10);if(Number.isFinite(a)&&a>=1)return e==="grade"?a<=4?String(a):null:a>=5?"5+":String(a)}return null}function V5(e,t,a=kt.language){return gn(a).value[e][t]??t}const U5=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"&&e?[e]:[];function vi(e){const t={};for(const[a,o]of Object.entries(e??{})){const n=fn(a);if(n)for(const i of U5(o)){const l=Wo(n,i);if(!l)continue;const c=t[n]??(t[n]=[]);c.includes(l)||c.push(l)}}return t}function xi(e,t=kt.language){const a=gn(t||"ko"),o={};for(const n of bn){const i=(e?.[n]??[]).map(l=>a.value[n][l]??(hb.has(n)?l:void 0)).filter(l=>!!l);i.length&&(o[a.section[n]]=i)}return o}function mb(e,t=kt.language){const a={};for(const[o,n]of Object.entries(e??{}))fn(o)||(a[o]=n);return{...a,...xi(vi(e),t)}}function q5(e){for(const t of Dc()){const a=gn(t);if(bn.some(o=>a.section[o]===e))return t}return kt.language||"ko"}let Ci=null,bb=null,gb=null;function Y5(){const e=Fo();if(e&&e.entries.length>0){const t=Po();if(Ci&&bb===e&&gb===t)return Ci;const a=new Set,o=[];for(const n of e.entries)!n.word||a.has(n.word)||(a.add(n.word),o.push({w:n.word,s:n.syllables,p:t?.[n.word]?[...t[n.word].cho??[],...t[n.word].jung??[],...t[n.word].jong??[]]:[],pron:n.pronunciation||n.word,grade:n.grade}));return Ci=o,bb=e,gb=t,Ci}return[]}const to=new Proxy([],{get(e,t){const a=Y5(),o=a[t];return typeof o=="function"?o.bind(a):o}});function Nc(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function Ea(e,t){if(t>=e.length)return ut(e);if(t===0)return[];const a=e.slice();for(let o=0;o<t;o++){const n=o+Math.floor(Math.random()*(a.length-o)),i=a[o];a[o]=a[n],a[n]=i}return a.slice(0,t)}let Tc=null,fb=null;function yo(){const e=Fo();if(Tc&&fb===e)return Tc;const t=new Map;for(const a of to)a.w&&t.set(a.w,a.pron);return Tc=t,fb=e,t}function Ut(e){return yo().get(e)||e}function yi(e,t,a=new Set){const o=[];for(const n of ut(e)){if(o.length>=t)break;const i=Ut(n);a.has(i)||(a.add(i),o.push(n))}return o}let K5=0;function Jt(e){return`${e}-rt-${++K5}`}function vr(e){const t=qn();if(!t||t.total===0){const n=new Set;for(const i of e)n.add(i);return n}const a=Ih(),o=new Set;for(const n of e)a.has(n)&&o.add(n);return o}const _i=new Map;let vb=null,xb=null;function vn(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function jc(e){const t=vn(e.choseong),a=e.composition,o=a?.syllable==null?"":Array.isArray(a.syllable)?a.syllable.slice().sort().join(","):String(a.syllable),n=a?`${vn(a.cho)}/${vn(a.jung)}/${vn(a.jong)}/${a.jongNone?"N":""}/${o}`:"",i=vn(e.grade);return`${e.difficulty??""}|${t}|${n}|${e.excludeNoImage?"1":"0"}|${e.count??""}|x${e.contrastCount??1}|${e.fullCount?"F":""}|s${e.sameStructureOnly===!1?"0":"1"}|v${e.phonemeView==="pron"?"p":"c"}|g${i}|t${e.targetSyllable??""}|c${e.choicesPerItem??""}`}const Lc=new Map;function X5(e){return jc({...e,count:void 0,choicesPerItem:void 0,fullCount:!1})}async function ba(e){const t=Fo(),a=Po();(t!==vb||a!==xb)&&(_i.clear(),Lc.clear(),vb=t,xb=a);const o=jc(e);return _i.has(o)||_i.set(o,Z5(e)),_i.get(o)}function Cb(e){if(!e)return null;const t=l=>l==null?null:Array.isArray(l)?l.length?l:null:[l],a=t(e.cho),o=t(e.jung),n=!!e.jongNone,i=n?null:t(e.jong);return a||o||i||n?n&&!a&&!o&&!i?l=>pl(l):l=>ml(l,{cho:a,jung:o,jong:i,jongNone:n}):null}function yb(e){const t=e.grade&&e.grade.length>0?new Set(e.grade):null,a=e.composition??null,o=a?.syllable!=null?new Set(Array.isArray(a.syllable)?a.syllable:[a.syllable]):null,n=a?[Cb(a),o?l=>o.has(Ro(l)):null].filter(l=>l!=null):[];if(!t&&n.length===0)return null;const i=e.phonemeView==="pron";return l=>{if(!Ac(t,l.grade))return!1;if(n.length===0)return!0;const c=i?Ut(l.w):l.w;return n.every(u=>u(c))}}async function Z5(e){const{difficulty:t=null,choseong:a=null,composition:o=null,targetSyllable:n=null,excludeNoImage:i=!1}=e,l=e.grade&&e.grade.length>0?new Set(e.grade):null,c=e.sameStructureOnly??!0,u=e.phonemeView==="pron"?"pron":"char",d=Math.max(1,e.contrastCount??1),h=t==="cho"||t==="jung"||t==="jong",p=h&&d>=2,m=t==="count",v=a?new Set(Array.isArray(a)?a:[a]):null,x=o?.syllable!=null?new Set(Array.isArray(o.syllable)?o.syllable:[o.syllable]):null,g=o?[Cb(o),x?M=>x.has(Ro(M)):null].filter(M=>M!=null):[],b=t==="random"||t===null,C=b||m,f=b||p||m;let w=to.filter(M=>!M.w||!Ac(l,M.grade)?!1:f?!0:Array.isArray(M.p)&&M.p.length>0);v&&(w=w.filter(M=>{for(const G of v)if(W8(M.w,G))return!0;return!1})),g.length>0&&(w=w.filter(M=>{const G=u==="pron"?Ut(M.w):M.w;return g.every(z=>z(G))})),n&&(w=w.filter(M=>M.w[0]===n));let y;if(i){const M=new Set;for(const G of w)if(M.add(G.w),Array.isArray(G.p))for(const z of G.p)M.add(z);if(C)for(const G of to)G.w&&M.add(G.w);y=vr(M)}else{const M=new Set;for(const G of w)if(M.add(G.w),Array.isArray(G.p))for(const z of G.p)M.add(z);if(C)for(const G of to)G.w&&M.add(G.w);y=M}let A=null;if(p){const M=new Set;for(const G of to)G.w&&M.add(G.w);A=i?vr(M):M}const _=w.filter(M=>y.has(M.w)),B=600,k=Array.from(y),E=k.length>B?Ea(k,B):k,S=m&&o!=null&&(Ot(o.cho)||Ot(o.jung)||Ot(o.jong)),D=2500,$=new Map;if(m&&!S&&d>=2){for(const M of k){const G=Ro(M),z=$.get(G);z?z.push(M):$.set(G,[M])}for(const[M,G]of $)G.length>D&&$.set(M,Ea(G,D))}const j=il();let H=null;if(S){const M=X5(e),G=i?Ih():null,z=Lc.get(M);H=z&&z.imageOkSet===G?z.map:wl(o,k,j,c,u,Ut),Lc.set(M,{imageOkSet:G,map:H})}const T=500,L=1500,I=e.fullCount?_:t==="random"?_.length>T?Ea(_,T):_:_.length>L?Ea(_,L):_,K=Po(),Y=[];for(const M of I){let G;const z=Ut(M.w);if(p)G=U8(M.w,t,d,A,24).filter(V=>Ut(V)!==z);else if(m)S?G=(H.get(M.w)??[]).filter(V=>Ut(V)!==z):d<=1?G=Kn(M.w,K,{okSet:y,pronOf:Ut,decompOf:j,sameStructureOnly:!1}):G=($.get(Ro(M.w))??[]).filter(V=>{if(V===M.w||Ut(V)===z)return!1;const W=q8(z,Ut(V));return d>=5?W>=5:W===d});else if(b){const V=W=>W!==M.w&&W.length===M.w.length&&Ut(W)!==z;if(e.fullCount){const W=Math.max(1,(e.choicesPerItem??3)-1),O=[],N=new Set;for(const P of E){if(!V(P))continue;const F=Ut(P);if(!N.has(F)&&(N.add(F),O.push(P),O.length>=W))break}G=O}else G=E.filter(V)}else{const V=t;G=Kn(M.w,K,{kind:V,okSet:y,pronOf:Ut,decompOf:j,sameStructureOnly:!1}),G.length===0&&(G=(E.length>30?Ea(E,30):E).filter(W=>W!==M.w&&sl(M.w,W)===t&&Ut(W)!==z))}if(c&&G.length>0&&(h||m&&!S)){const V=j(Ut(M.w));G=G.filter(W=>!Qr(V,j(Ut(W))))}G.length!==0&&Y.push({word:M,usable:G})}return Y}async function _b(e,t){const{choicesPerItem:a=3,count:o=10}=t,n=a-1,i=(await ba(t)).filter(c=>c.usable.length>=n),l=[];for(const c of ut(i)){if(l.length>=o)break;const u=yi(c.usable,n);if(u.length<n)continue;const d=ut([c.word.w,...u]);l.push({id:Jt(e+"-item"),index:l.length+1,word:c.word.w,syllables:c.word.s,choices:d,answerIndex:d.indexOf(c.word.w)})}return l}async function J5(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await ba({...e,difficulty:null});if(n.length<t)return[];const i=e.composition??null,l=[],c=ut([...n]);for(const u of c){if(l.length>=a)break;const d=u.word.w,h=[...u.word.pron||d],p=i&&hr(i)?h.filter(b=>{const C=Ye(b);return!!C&&eo(C,i)}):[],m=Nc(p.length?p:h);if(!m)continue;const v=n.filter(b=>b.word.w!==d&&b.word.s===u.word.s&&!(b.word.pron||b.word.w).includes(m)&&b.word.pron!==u.word.pron);if(v.length<o)continue;const x=yi(v.map(b=>b.word.w),o);if(x.length<o)continue;const g=ut([d,...x]);l.push({id:Jt("HPI-item"),index:l.length+1,targetSyllable:m,word:d,choices:g,answerIndex:g.indexOf(d)})}return l}async function Q5(e){const{count:t=10}=e,a=(await ba(e)).filter(i=>i.usable.length>=1);if(!a.length)return[];const o=a.length>=t?Ea(a,t):ut(Array.from({length:t},(i,l)=>a[l%a.length])),n=ut(Array.from({length:t},(i,l)=>l<Math.ceil(t/2)));return o.map((i,l)=>{const c=n[l];let u;if(c)u=[i.word.w,i.word.w];else{const d=Nc(i.usable);u=Math.random()<.5?[i.word.w,d]:[d,i.word.w]}return{id:Jt("SOD-item"),index:l+1,word:i.word.w,pair:u,same:c}})}async function e3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await ba({...e,difficulty:null});if(n.length<t+1)return[];const i=n.map(m=>m.word.w),l=new Map(n.map(m=>[m.word.w,m.word.pron])),c=m=>(l.get(m)||m)[0]??"",u={};for(const m of n){const v=c(m.word.w);v&&(u[v]||(u[v]=[]),u[v].push(m.word.w))}const d=Object.entries(u).filter(([,m])=>m.length>=2).map(([m])=>m);if(d.length===0)return[];const h=[],p=ut([...d]);for(let m=0;h.length<a&&m<a*4;m++){const v=p[m%p.length],x=u[v];if(x.length<2)continue;const g=ut([...x]),b=g[0],C=g[1];if(!b||!C||b===C||(l.get(b)||b)===(l.get(C)||C))continue;const f=l.get(C)||C,w=i.filter(_=>c(_)!==v&&_!==b&&_!==C&&_.length===C.length&&(l.get(_)||_)!==f);if(w.length<o)continue;const y=yi(w,o);if(y.length<o)continue;const A=ut([C,...y]);h.push({id:Jt("SWS-item"),index:h.length+1,sourceWord:b,targetSyllable:v,word:C,choices:A,answerIndex:A.indexOf(C)})}return h}function wb(e,t,a){const o=yo(),n=u=>o.get(u)||u,i=(u,d)=>{const h=[...u],p=[...d];if(h.length!==p.length)return-1;let m=-1;for(let v=0;v<h.length;v++)if(h[v]!==p[v]){if(m>=0)return-1;m=v}return m},l=e.map(u=>({e:u,swaps:u.usable.filter(d=>!!d&&i(u.word.w,d)>=0&&n(d)!==n(u.word.w))})).filter(u=>u.swaps.length>0),c=[];for(const{e:u,swaps:d}of ut(l)){if(c.length>=t)break;const h=Nc(d)??"",p=[...u.word.w],m=[...h],v=i(u.word.w,h),x=yi(u.usable.filter(g=>g&&g!==h),2,new Set([n(h),n(u.word.w)]));x.length<2||c.push({id:Jt(a),index:c.length+1,word:u.word.w,original:u.word.w,changed:h,changedFrom:v>=0?p[v]:"",changedTo:v>=0?m[v]:"",distractors:x})}return c}async function kb(e,t,a){const{count:o=10}=t,n=yo(),i=to.filter(x=>x.w&&x.s===e),l=t.excludeNoImage?vr(i.map(x=>x.w)):null,c=l?i.filter(x=>l.has(x.w)):i,u=new Set(c.map(x=>x.w)),d=Ql(u),h=t.phonemeView??"char",p=t.composition??null,m=yb(t),v=[];for(const x of ut(c)){if(v.length>=o)break;if(m&&!m(x))continue;const g=ec(x.w,p,n,h,d,null,null);if(!g)continue;const b=g.distractors[0],C=[...x.w],f=[...b],w=C.findIndex((y,A)=>y!==f[A]);v.push({id:Jt(a),index:v.length+1,word:x.w,original:x.w,changed:b,changedFrom:w>=0?C[w]:"",changedTo:w>=0?f[w]:"",distractors:g.distractors.slice(1)})}return v}async function t3(e){return kb(2,e,"CS2-item")}async function a3(e){return kb(3,e,"CS3-item")}async function o3(e){const t=(await ba({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return wb(t,e.count??10,"CP1-item")}async function r3(e){const t=e.difficulty&&e.difficulty!=="random"?e.difficulty:"count",a=(await ba({...e,difficulty:t,contrastCount:1})).filter(o=>o.word.s===2&&o.usable.length>=1);return wb(a,e.count??10,"CP2-item")}async function n3(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===2);return Ea(a,t).map((o,n)=>({id:Jt("M2S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}async function i3(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===3);return Ea(a,t).map((o,n)=>({id:Jt("M3S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}function Mc(e){const t=to.map(a=>a.w);return e.excludeNoImage?vr(t):new Set(t)}async function s3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===2),o=yo(),n=Mc(e),i=e.phonemeView??"char",l=[];for(const c of ut(a)){if(l.length>=t)break;const u=ql(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=[...c.word.w],m=p[0]===d?p[1]:p[0];l.push({id:Jt("D2-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:d,distractors:h})}return l}async function l3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===3),o=yo(),n=Mc(e),i=e.phonemeView??"char",l=[];for(const c of ut(a)){if(l.length>=t)break;const u=Yl(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=[...c.word.w];let m="";for(let v=0;v<p.length;v++)if(p.filter((x,g)=>g!==v).join("")===d){m=p[v];break}l.push({id:Jt("D3-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:d,distractors:h})}return l}async function c3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s>=3),o=yo(),n=Mc(e),i=e.phonemeView??"char",l=[];for(const c of ut(a)){if(l.length>=t)break;const u=Kl(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=c.word.w,m=u.dropped??(p.startsWith(d)?p.slice(d.length):p.endsWith(d)?p.slice(0,p.length-d.length):"");l.push({id:Jt("DPC-item"),index:l.length+1,original:p,word:p,dropped:m,missingResult:d,distractors:h})}return l}async function u3(e){const{count:t=10}=e,a=(await ba({...e})).map(o=>o.word.w);return a.length<3?[]:Array.from({length:t},(o,n)=>{const i=Ea(a,3);return{id:Jt("LRO-item"),index:n+1,sequence:i,choices:ut(i)}})}function wi(e,t,a){const o=to.filter(c=>c.w&&c.s===e),n=t.excludeNoImage?vr(o.map(c=>c.w)):null,i=yb(t),l=[];for(const c of o)if(!(n&&!n.has(c.w))&&!(i&&!i(c))){if(a){const u=Ye(c.w);if(!u||!a(u))continue}l.push(c)}return l}function d3(e){const t=wi(1,e,pr.MERGE_2_PHONEMES.syllable);return Ea(t,e.count??10).map((a,o)=>{const n=Ye(a.w);return{id:Jt("M2P-item"),index:o+1,parts:[ft[n.cho],At[n.jung]],answer:a.w,word:a.w}})}function p3(e){const t=wi(1,e,pr.MERGE_3_PHONEMES.syllable);return Ea(t,e.count??10).map((a,o)=>{const n=Ye(a.w);return{id:Jt("M3P-item"),index:o+1,parts:[ft[n.cho],At[n.jung],It[n.jong]],answer:a.w,word:a.w}})}function h3(e){const t=pr.DROP_FINAL_CONSONANT_FROM_1SYLL,a=wi(t.syllables,e,t.syllable),o=yo(),n=[];for(const i of ut(a)){if(n.length>=(e.count??10))break;const l=Xl(i.w,null,o);if(!l)continue;const[c,...u]=l.distractors;n.push({id:Jt("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:u})}return n}function m3(e){const t=pr.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=wi(t.syllables,e,t.syllable),o=yo(),n=[];for(const i of ut(a)){if(n.length>=(e.count??10))break;const l=Jl(i.w,null,o);if(!l)continue;const c=Ye(o.get(i.w)||i.w);if(!c)continue;const[u,...d]=l.distractors;n.push({id:Jt("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:ft[c.cho],remaining:u,distractors:d})}return n}const ki=new Map;let Bb=null,Ab=null;async function Sb(e,t={}){const a=Fo(),o=Po();(a!==Bb||o!==Ab)&&(ki.clear(),Bb=a,Ab=o);const n=`${e}:${jc(t)}`;if(ki.has(n))return ki.get(n);const i=await g3(e,t);return ki.set(n,i),i}const b3={SAME_SOUND_PICK:e=>_b("SSP",e),HEAR_AND_PICK_SAME:e=>_b("HPS",e),HEAR_AND_PICK_INCLUDED:e=>J5(e),SAME_OR_DIFF:e=>Q5(e),STARTS_WITH_SAME_SOUND:e=>e3(e),LISTEN_AND_REMEMBER_ORDER:e=>u3(e),MERGE_2_SYLLABLES:e=>n3(e),MERGE_3_SYLLABLES:e=>i3(e),MERGE_2_PHONEMES:e=>d3(e),MERGE_3_PHONEMES:e=>p3(e),DROP_1_FROM_2SYLL:e=>s3(e),DROP_1_FROM_3SYLL:e=>l3(e),DROP_PART_FROM_COMPOUND:e=>c3(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>h3(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>m3(e),CHANGE_1_SYLL_IN_2SYLL:e=>t3(e),CHANGE_1_SYLL_IN_3SYLL:e=>a3(e),CHANGE_1_PHONEME_IN_1SYLL:e=>o3(e),CHANGE_1_PHONEME_IN_2SYLL:e=>r3(e)};async function g3(e,t={}){const a=b3[e];return a?await a(t):[]}async function f3(e){const t=["random","count"],a=Object.keys(dr);let o=0;for(const n of t)for(const i of a){const l=dr[i];Sb(i,{difficulty:l.difficulty?n:null,contrastCount:1,composition:null,count:5,excludeNoImage:e,sameStructureOnly:!0,phonemeView:"char",grade:null}).catch(()=>{}),++o%6===0&&await new Promise(c=>setTimeout(c,0))}}async function v3(e){const t=await ba({...e,fullCount:!0}),a=e.choicesPerItem!=null?Math.max(1,e.choicesPerItem-1):1;return t.filter(o=>new Set(o.usable.map(n=>Ut(n))).size>=a).length}async function x3(e={}){const t=[];for(const c of to)c.w&&t.push(c.w);const a=e.excludeNoImage?vr(t):t,o=new Set,n=new Set,i=new Set,l=new Set;for(const c of a){l.add(Ro(c));for(const u of c){const d=Ye(u);if(d&&(ft[d.cho]!=="\u3147"&&o.add(ft[d.cho]),n.add(At[d.jung]),d.jong>0)){i.add(It[d.jong]);const h=Yn[d.jong];h&&h.forEach(p=>i.add(p))}}}return{cho:o,jung:n,jong:i,syllable:l}}const Eb={free:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:0,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},personal_standard:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:2,sentenceDataLevel:2,crossword:!0,crosswordMid:!0,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},mgr_free:{maxCustomers:5,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:1,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},none:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!1,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!1,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:0,sentenceDataLevel:0,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},lite_word:{maxCustomers:10,visitWord:!0,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:0,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!1},lite_sentence:{maxCustomers:10,visitWord:!1,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!1,wordTableSetting:!1,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!1,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:0,sentenceDataLevel:1,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!0},lite:{maxCustomers:10,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:1,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},standard:{maxCustomers:30,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:2,sentenceDataLevel:2,crossword:!0,crosswordMid:!0,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},pro:{maxCustomers:50,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!0,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:3,sentenceDataLevel:3,crossword:!0,crosswordMid:!0,crosswordHigh:!0,wordTrainingView:!0,sentenceTrainingView:!0},enterprise:{maxCustomers:1/0,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!0,managerCustomerSplit:!0,managerManagement:!0,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!0,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!0,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!0,wordDataLevel:3,sentenceDataLevel:3,crossword:!0,crosswordMid:!0,crosswordHigh:!0,wordTrainingView:!0,sentenceTrainingView:!0}},Db={none:0,free:1,personal_standard:2,mgr_free:10,lite_word:11,lite_sentence:11,lite:12,standard:13,pro:14,enterprise:15},C3=new Set(["mgr_free","lite_word","lite_sentence","lite","standard","pro","enterprise"]);function Nb(e){return C3.has(e)}const Tb={free:{sentenceTrainingDaily:2,wordTrainingDaily:2,gameDaily:1},personal_standard:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null},mgr_free:{sentenceTrainingDaily:2,wordTrainingDaily:2,gameDaily:1,trainingItemMax:5,customerMax:5,homeworkSendDaily:1},lite:{sentenceTrainingDaily:5,wordTrainingDaily:5,gameDaily:5,trainingItemMax:10,customerMax:10,homeworkSendDaily:10},standard:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:30,customerMax:30,homeworkSendDaily:30},pro:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:null,customerMax:50,homeworkSendDaily:50},enterprise:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:null,customerMax:null,homeworkSendDaily:null}};function jb(e){const t=(e??"").toLowerCase();return t==="speechear_free"||t==="free"?"free":t.startsWith("manager_free")||t.startsWith("mgr_free")?"mgr_free":t.startsWith("manager_enterprise")?"enterprise":t.startsWith("manager_pro")?"pro":t.startsWith("manager_standard")?"standard":t.startsWith("manager_lite_word")?"lite_word":t.startsWith("manager_lite_sentence")?"lite_sentence":t.startsWith("manager_lite")||t.startsWith("mgr_lite")?"lite":t.startsWith("mgr_standard")?"standard":t.startsWith("mgr_pro")?"pro":t.startsWith("content_")||t.startsWith("speechear_")||t.startsWith("light_")||t==="light"?"personal_standard":"none"}const Lb=5,Mb=5;function $b({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const Rb={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"},Pb="chunk-reload-ts";function zb(){try{return Number(sessionStorage.getItem(Pb)||0)}catch{return 0}}function Bi(e=Date.now()){if(e-zb()<=1e4)return!1;try{sessionStorage.setItem(Pb,String(e))}catch{}return window.location.reload(),!0}function $c(e=Date.now()){const t=zb();return t>0&&e-t<=1e4}function Ib(){if(typeof window>"u")return()=>{};const e=a=>{Bi()&&a.preventDefault()},t=a=>{const o=a.target;o instanceof HTMLLinkElement&&o.rel==="stylesheet"&&Bi()};return window.addEventListener("vite:preloadError",e),window.addEventListener("error",t,!0),()=>{window.removeEventListener("vite:preloadError",e),window.removeEventListener("error",t,!0)}}function Ob(e,t){return e?!!t&&t.access_token===e.access_token:!0}function Fb(e,t){return s.lazy(async()=>{const a=await t();if(a&&typeof a=="object"&&"default"in a)return a;if($c())return new Promise(()=>{});throw new Error(`[lazyPage] ${e}: \uD654\uBA74 \uBAA8\uB4C8\uC744 \uBC1B\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4(default \uB0B4\uBCF4\uB0B4\uAE30 \uC5C6\uC74C). \uBC30\uD3EC \uC9C1\uD6C4\uB77C\uBA74 \uC0C8\uB85C\uACE0\uCE68\uC73C\uB85C \uD480\uB9BD\uB2C8\uB2E4.`)})}function Wb(...e){let t=!1;const a=()=>{if(!t)for(const i of e)i().catch(()=>{})},o=globalThis.requestIdleCallback;if(o){const i=o(a,{timeout:2e3});return()=>{t=!0;const l=globalThis.cancelIdleCallback;l?.(i)}}const n=setTimeout(a,300);return()=>{t=!0,clearTimeout(n)}}const Gb=e=>({word:e.Word,pronunciation:e.SP,colloquialPronunciation:e.CP??void 0,grade:String(e.Grade),pos:e.POS,wordType:e.Class,homonum:e.Homonum!=null?Number(e.Homonum):void 0});var y3=Object.freeze({__proto__:null,CAPABILITY:dr,CHOSEONG:ft,CORE_VERSION:Fn,JONGSEONG:It,JUNGSEONG:At,LONG_STORIES:vo,NETWORK_ERROR_MESSAGE:ri,NOISE_DATAS:go,ORDER_SETS:xo,PERSONAL_PHONE_REGEX:pc,PHONE_REGEX:dc,PLAN_FEATURES:Eb,PLAN_LIMITS:Tb,SHORT_STORIES:fo,TIER_RANK:Db,TOPIC_TYPES:db,TRAINING_TYPES:kc,TRAINING_TYPE_I18N_KEY:fi,WORD_SUGGESTION_ACCOUNT_LIMIT:Mb,WORD_SUGGESTION_EXISTING_ERROR:Rb,WORD_SUGGESTION_WEEKLY_QUOTA:Lb,applyFontScale:vc,applyTheme:gc,balancedColumns:Bl,buildChangeWholeSyllableProblem:ec,buildDropCompoundProblem:Kl,buildDropContrast3Problem:Yl,buildDropContrastProblem:ql,buildDropFinalConsonantProblem:Xl,buildMultiPartPosContrast:wl,buildPairIndex:tm,buildRemoveConsonantProblem:Jl,buildSyllableMaskIndex:Ql,bulkSetImageExistence:Oh,cardQuestionTitle:vm,checkImageExists:Zr,classifyPairDifficulty:sl,clearAudioExistsCache:Ah,clearImageExistenceCache:rl,clearPairIndexCache:Cl,columnsFitting:kl,composeSyllable:Ba,computeDailySelection:Cc,configureImageResolver:Lh,configureNoiseSettingsStore:Fm,configurePronunciationResolver:Eh,configureStorage:Us,configureTTS:Bh,configureTrainingCategories:ab,copyText:lc,createDecompCache:il,createTTSUrlResolver:Hm,dateToDb:tb,downloadCsvText:km,downloadSound:Hn,ensureTrainingDataLoaded:wc,escapeCsvField:wm,fileExists:qs,filterContrastCandidates:_l,finalToPhoneme:$o,firstChoseongOf:ll,formatCount:dn,formatDateKo:Vm,formatDateLocale:ci,formatDateLongKo:Um,formatDateLongLocale:qm,formatDatetimeKo:Ym,formatPhone:Xm,formatRelativeTime:pi,formatTimeHM:mi,formatYmd:hi,getAssetBaseUrl:Hs,getDailySelection:cb,getElementAnalyser:tl,getElementVolume:ir,getErrorMessage:ln,getImageExistenceStats:qn,getImageExistsCached:Ph,getImageResolver:ho,getNoiseBaseUrl:Ys,getNoiseFileGain:Ks,getPairIndex:Po,getPlanTier:jb,getPronunciationResolver:Zs,getSavedFontScale:fc,getSavedTheme:bc,getSignedOrPublicUrl:Vr,getTTSFallbackUrlResolver:Ur,getTTSUrlResolver:Lo,getTodayKst:ya,getTodayKstDate:bo,getTopicTypes:bi,getTrainingPools:yc,getTrainingTypes:mc,getWordPool:Fo,hasQuestionWordConstraint:hm,hasSel:Ot,hasStructureContrast:Qr,initFontScale:sb,initTheme:nb,installSkewRecovery:Ib,isAllChoseong:ul,isManagerTier:Nb,isManualOnlyType:bm,isNetworkErrorMessage:tc,isPersonalPhone:Qm,isSessionForThisTab:Ob,isSyllablePattern:bl,isThisWeekPick:$b,isTrainingDataLoaded:ub,isValidPhone:Jm,isValidQuestionWord:mm,itemCorrectness:nc,jamoToNamesForSpeech:xm,kstStartOfDay:di,lazyPage:Fb,loadGameLeaderboard:Om,loadMyGameRanks:Im,loadNoiseSettings:sc,loadTrainingData:_c,logCrossword:Nm,logTrainingCompletion:rc,logTrainingTime:oc,matchSyllables:Io,matchesChoseongSearch:Wh,matchesSyllablePattern:gl,matchesWordQuery:Gh,mergeQuestionText:Vl,minimalPairDistractors:Kn,normalizeDate:eb,officialSoundPath:Gm,parseLocalYmd:uc,parseSortValue:_m,parseSyllable:Ye,patternToComposition:Zh,phonemePartsOf:fm,pickEuRo:Ol,pickEulReul:Rl,pickEunNeun:zl,pickIga:Ml,pickWaGwa:Il,prefetchChunk:Wb,prewarmImageCache:zh,primarySelPart:hr,readLevel:al,recoverFromSkew:Bi,reorderArray:Fl,reportAppliedNoiseSettings:br,resolveAssetUrl:Hr,resolveSoundPath:Gn,resumeAudioMeter:Yr,routeElementAudio:nr,sample:Sa,saveNoiseSettings:si,searchAndRankWords:Qh,setAssetBaseUrl:wh,setCrosswordLogger:Dm,setElementVolume:Ra,setGameLeaderboardLoader:Pm,setGameRanksLoader:Rm,setGameScoreSubmitter:$m,setTrainingCompletionLogger:Em,setTrainingTimeLogger:Sm,setWordPool:Am,shuffle:ut,skewReloadPending:$c,sortToValue:ym,soundOf:oi,speak:Gs,stopSpeaking:Gr,submitGameScore:zm,syllMatchesComp:eo,syllableContrasts:Oo,syllableLength:Ro,syllablePron:sn,toBase64UrlSafe:Wm,toChoseong:cl,toItemResults:ic,toKstHm:Km,toKstYmd:Oa,toStandardPronunciation:cm,toStorageName:cn,toUserErrorMessage:Cm,toWordEntry:Gb,validateSyllableSearchInput:Jh,withEuRo:pm,withEulReul:Pl,withEunNeun:um,withIga:$l,withWaGwa:dm,wordContainsChoseong:Vh,wordContainsJongseong:Yh,wordContainsJungseong:Uh,wordHasConsonantAt:Kh,wordHasNoCoda:pl,wordHasSyllableMatching:ml,wrongItems:Tm});function _3(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function w3(e){if(typeof window>"u")return"";const t=(a,o)=>{typeof o.attrValue=="string"&&_3(o.attrValue)&&(o.keepAttr=!1)};Os.addHook("uponSanitizeAttribute",t);try{return Os.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Os.removeHook("uponSanitizeAttribute",t)}}function k3(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),[i,l]=s.useState(null),[c,u]=s.useState(null);return s.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),n(null),l(null);return}const d=e.split("/").pop();let h=e;d&&(e.startsWith("/")?h=Hr(e):/^(Logo|Symbol)/i.test(d)?h=Hr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),h=e)),n(null),l(null),a(h)},[e]),s.useEffect(()=>{if(!t)return;let d=!1;async function h(){try{let p=await fetch(t);p.ok||(p=await fetch(t));const m=p.headers.get("content-type")||"";if(d)return;if(m.includes("svg")){n("mask");return}if(m.startsWith("image/")){n("img");return}const v=await fetch(t);if(!v.ok)throw new Error("not ok");const x=await v.text();if(d)return;if(/^\s*<svg[\s>]/i.test(x)){const g=w3(x);if(!g){n("none");return}l(g),n("inline");return}n("none")}catch{d||n("none")}}return h(),()=>{d=!0}},[t]),s.useEffect(()=>{let d=!1,h=null;return o==="mask"&&t&&fetch(t).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{d||(h=URL.createObjectURL(p),u(h))}).catch(()=>{d||n("img")}),()=>{d=!0,h&&URL.revokeObjectURL(h),u(null)}},[o,t]),{iconToUse:t,mode:o,svgText:i,blobUrl:c}}var B3=".ihabdevteam-core-scope .iconRenderer-icon-mask{background-color:currentColor;display:inline-block;height:20px;height:var(--icon-size,20px);-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:20px;width:var(--icon-size,20px)}";le(B3);function it(e){const{icon:t,label:a,className:o,imgClassName:n,maskClassName:i,svgClassName:l,wrapperStyle:c,size:u}=e||{},d=o??"iconRenderer-icon",h=n??"iconRenderer-icon-image",p=i??"iconRenderer-icon-mask",m=l??"iconRenderer-icon-svg",v=typeof t=="string"?t:null,x=Uk(v),{iconToUse:g,mode:b,svgText:C,blobUrl:f}=k3(v),w=(k,E={})=>r.jsx("span",{className:d,style:c,...E,children:k}),y=typeof u=="number"?{width:u,height:u,objectFit:"contain"}:null,A=(k,E={})=>r.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:h,...E,style:y?{...E.style,...y}:E.style});if(!t)return null;if(typeof t!="string")return w(t);if(t==="none")return w(r.jsx("span",{className:m,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(x)try{return w(s.createElement(x,{className:m,size:typeof u=="number"?u:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(b==="mask"){const k={"--icon-url":f?`url(${f})`:`url(${g})`,...typeof u=="number"?{"--icon-size":`${u}px`}:null};return w(r.jsx("span",{className:p,style:k}),{"aria-hidden":"true"})}return b==="img"?w(A(g,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):b==="inline"?w(r.jsx("span",{className:m,dangerouslySetInnerHTML:C?{__html:C}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return A(Hr(t),{style:c,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const _=typeof u=="number"?u:20,B=`<svg width="${_}" height="${_}" 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 w(r.jsx("span",{className:m,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function Hb(e){const[t,a]=s.useState(!1),o=s.useRef(!1),n=s.useRef(!0);s.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[]);const i=s.useCallback(()=>{if(!e||o.current)return;const l=e();if(l&&typeof l.then=="function"){o.current=!0,a(!0);const c=()=>{o.current=!1,n.current&&a(!1)};l.then(c,c)}},[e]);return{pending:t,press:i}}function Vb({icon:e,title:t,message:a,action:o,className:n}){const{pending:i,press:l}=Hb(o?.onClick);return r.jsxs("div",{className:Be("empty-state",n),children:[e&&r.jsx(it,{icon:e,size:48,className:"empty-state__icon"}),t&&r.jsx("p",{className:"empty-state__title h4",children:t}),a&&r.jsx("p",{className:"empty-state__message body-3",children:a}),o&&r.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:l,disabled:i,"aria-busy":i||void 0,children:[o.icon&&r.jsx(it,{icon:o.icon,className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:o.label})]})]})}var A3=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}.ihabdevteam-core-scope .error-state__hint{color:var(--color-lightGray);margin:0}";le(A3);function Ub({message:e,hint:t,icon:a="triangle-alert",onRetry:o,retryLabel:n,className:i}){const{t:l}=Ce.useTranslation(),{pending:c,press:u}=Hb(o);return r.jsxs("div",{className:Be("empty-state","error-state",i),role:"alert",children:[r.jsx(it,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),r.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&r.jsx("p",{className:"error-state__hint caption-1",children:t}),o&&r.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:u,disabled:c,"aria-busy":c||void 0,children:[r.jsx(it,{icon:"rotate-cw",className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:n??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}var S3=".ihabdevteam-core-scope .action-card{--ac-color:var(--color-main);--ac-color-a10:var(--color-main-a10);aspect-ratio:1/1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-l);box-shadow:var(--shadow-card);cursor:pointer;display:block;overflow:hidden;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;width:100%}.ihabdevteam-core-scope .action-card--sub{--ac-color:var(--color-sub);--ac-color-a10:var(--color-sub-a10)}.ihabdevteam-core-scope .action-card:focus-visible{outline:none}.ihabdevteam-core-scope .action-card:not(.action-card--disabled):focus-visible,.ihabdevteam-core-scope .action-card:not(.action-card--disabled):hover{border-color:var(--ac-color);box-shadow:var(--shadow-panel);transform:translateY(-4px)}.ihabdevteam-core-scope .action-card--disabled{cursor:wait;opacity:.6}.ihabdevteam-core-scope .action-card__body{display:flex;flex-direction:column;gap:var(--spacing-m);height:100%;padding:var(--spacing-l)}.ihabdevteam-core-scope .action-card__chip{align-items:center;background:var(--ac-color-a10);border-radius:var(--radius-m);color:var(--ac-color);display:flex;height:64px;justify-content:center;width:64px}.ihabdevteam-core-scope .action-card__text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .action-card__title{color:var(--color-text-primary);font-size:var(--text-h2-size);font-weight:var(--text-h2-weight-bold);letter-spacing:var(--text-h2-spacing);line-height:var(--text-h2-line);margin:0}.ihabdevteam-core-scope .action-card__desc{color:var(--color-lightGray);font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight);line-height:var(--text-body-2-line);margin:0}.ihabdevteam-core-scope .action-card__cta{align-items:center;color:var(--ac-color);display:flex;font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight-bold);gap:var(--spacing-xs);justify-content:flex-end;line-height:var(--text-body-2-line);margin-top:auto;padding-right:var(--spacing-s);padding-top:var(--spacing-s)}.ihabdevteam-core-scope .action-card__arrow{display:flex;transition:transform .2s}.ihabdevteam-core-scope .action-card:not(.action-card--disabled):hover .action-card__arrow{transform:translateX(4px)}";le(S3);function qb({icon:e,title:t,description:a,cta:o,tone:n="main",disabled:i=!1,onClick:l,className:c=""}){const u=s.useId(),d=`${u}-title`,h=`${u}-desc`,p=`${u}-cta`,m=()=>{i||l?.()};return r.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${h} ${p}`,onClick:m,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),m())},className:Be("action-card",`action-card--${n}`,i&&"action-card--disabled",c),children:r.jsxs("div",{className:"action-card__body",children:[r.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:r.jsx(it,{icon:e,size:34})}),r.jsxs("div",{className:"action-card__text",children:[r.jsx("h2",{id:d,className:"action-card__title",children:t}),r.jsx("p",{id:h,className:"action-card__desc",children:a})]}),r.jsxs("div",{className:"action-card__cta",children:[r.jsx("span",{id:p,children:o}),r.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:r.jsx(it,{icon:"arrow-right",size:18})})]})]})})}function Yb({as:e="div",className:t="",children:a,storage:o,...n}){o&&Us({resolveUrl:o.resolveUrl,download:o.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:o.exists,resolvePath:o.resolvePath,noiseBaseUrl:o.noiseBaseUrl,noiseFileGain:o.noiseFileGain});const i=Be("ihabdevteam-core-scope",t);return r.jsx(e,{className:i,...n,children:a})}function Rc(e,t=!0){s.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const o=n=>{if(n.key!=="Tab")return;const i=Array.from(a.querySelectorAll(Fa)).filter(h=>!h.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const l=i[0],c=i[i.length-1],u=document.activeElement,d=u===a;n.shiftKey&&(u===l||d)?(n.preventDefault(),c.focus()):!n.shiftKey&&u===c&&(n.preventDefault(),l.focus())};return a.addEventListener("keydown",o),()=>a.removeEventListener("keydown",o)},[e,t])}const Fa='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Pc=new WeakMap;function zc(e,t){e&&Pc.set(e,t)}function Ic(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let o=t;for(;o&&!Pc.has(o);)o=o.parentElement;if(!o)return t;t=Pc.get(o)??null}return t}function Kb(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function Ai(e,t,a){const o=e?.isConnected?e:a?.isConnected?a:null;if(Kb(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!o)return null;const n=Array.from(document.querySelectorAll(Fa)).filter(u=>!(e&&e.contains(u))&&Kb(u));let i=null,l=null;for(const u of n)o.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_PRECEDING?i=u:l||(l=u);const c=i??l;return c?.focus(),c}var E3=".ihabdevteam-core-scope .notice-box{background:var(--color-darkWhite);border-radius:var(--radius-m);color:var(--color-gray);margin:0 auto var(--spacing-page);padding:var(--spacing-l);position:relative;text-align:left}.ihabdevteam-core-scope .notice-box ul{margin:0;padding:0 0 0 18px}.ihabdevteam-core-scope .notice-box__inner{border-radius:var(--radius-s);padding:12px 14px;text-align:left}.ihabdevteam-core-scope .notice-box__title{color:var(--color-darkGray);margin:0 0 10px}.ihabdevteam-core-scope .notice-box__body,.ihabdevteam-core-scope .notice-box__line{color:var(--color-deepGray)}.ihabdevteam-core-scope .notice-box--default{border-color:var(--color-whiteLine)}.ihabdevteam-core-scope .notice-box--dashed{background:var(--color-deepWhite);border:1px dashed var(--color-whiteLine)}.ihabdevteam-core-scope .notice-box--important{border:1px solid var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .notice-box__dismiss{align-items:center;background:none;border:none;border-radius:var(--radius-xs);color:var(--color-lightGray);cursor:pointer;display:inline-flex;font-size:18px;justify-content:center;line-height:1;min-height:24px;min-width:24px;padding:0;position:absolute;right:10px;top:8px;transition:color .12s}.ihabdevteam-core-scope .notice-box__dismiss:hover{color:var(--color-gray)}@media (max-width:767px){.ihabdevteam-core-scope .notice-box,.ihabdevteam-core-scope .notice-box__inner{padding:var(--spacing-s)}}";le(E3);function Xb({title:e="",lines:t=[],notices:a=null,children:o,variant:n="default",dismissible:i=!1,className:l=""}){const{t:c}=Ce.useTranslation(),[u,d]=s.useState(!1),h=s.useRef(null),p=s.useCallback(()=>{const g=h.current;g&&g.contains(document.activeElement)&&Ai(g),d(!0)},[]);if(u)return null;const m=`notice-box notice-box--${n} body-2 ${l}`.trim(),v=i&&r.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:p,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return r.jsxs("div",{className:m,role:"note",children:[a.map((g,b)=>r.jsxs("div",{className:"notice-box__inner",children:[g.title?r.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,r.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?r.jsx("div",{children:g.lines.map((C,f)=>r.jsx("span",{className:"notice-box__line body-3",children:C},f))}):g.children??null})]},b)),v]});const x=e||t.length?r.jsxs("div",{className:"notice-box__inner",children:[e?r.jsx("span",{className:"notice-box__title body-1",children:e}):null,r.jsx("div",{className:"notice-box__body",children:t.length?r.jsx("ul",{children:t.map((g,b)=>r.jsx("li",{className:"notice-box__line",children:g},b))}):o})]}):r.jsx("div",{className:"notice-box__inner",children:o});return r.jsxs("div",{ref:h,className:m,role:"note",children:[x,v]})}var D3=".ihabdevteam-core-scope .button{align-items:center;background:var(--color-white);border:0;border:var(--button-border,0);box-sizing:border-box;color:inherit;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);padding:0 12px;transition:background-color .14s ease,color .14s ease,transform .1s ease,box-shadow .14s ease}.ihabdevteam-core-scope .button__icon,.ihabdevteam-core-scope .button__left,.ihabdevteam-core-scope .button__right{align-items:center;color:inherit;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .button--align-center .button__label,.ihabdevteam-core-scope .button--align-right .button__label{flex:1 1 auto;text-align:center}.ihabdevteam-core-scope .button__icon{height:24px;width:24px}.ihabdevteam-core-scope .button__icon--small{height:16px;width:16px}.ihabdevteam-core-scope .button__icon--medium{height:24px;width:24px}.ihabdevteam-core-scope .button__icon--large{height:36px;width:36px}.ihabdevteam-core-scope .button__center-group{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .button__center-group .button__label{display:inline-block;flex:0 1 auto;text-align:center}.ihabdevteam-core-scope .button__label{display:block;white-space:normal}.ihabdevteam-core-scope .button__label-text{align-items:center;display:inline-flex;justify-content:center;max-width:100%;vertical-align:middle;white-space:normal;word-break:break-word}.ihabdevteam-core-scope .button__label-text--has-sub{flex-direction:column;gap:3px}.ihabdevteam-core-scope .button--nowrap .button__label-text{white-space:nowrap}.ihabdevteam-core-scope .button--align-left .button__label-text--has-sub{align-items:flex-start;text-align:left}.ihabdevteam-core-scope .button__count{color:var(--color-main);font-weight:700;margin-left:4px}.ihabdevteam-core-scope .button--variant-main .button__count,.ihabdevteam-core-scope .is-selected .button__count,.ihabdevteam-core-scope [aria-pressed=true] .button__count{color:#fff}.ihabdevteam-core-scope .button__label:has(>.button__label-text+.button__label-text){gap:5px}.ihabdevteam-core-scope .button__sub-label-text{color:var(--button-subLabel-color,var(--color-gray));display:block}.ihabdevteam-core-scope .button__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .button__icon-mask{background-color:currentColor;display:block;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .button__icon-svg{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.ihabdevteam-core-scope .button__icon-svg svg{display:block;height:100%;width:100%}.ihabdevteam-core-scope .button__icon-svg svg,.ihabdevteam-core-scope .button__icon-svg svg *{fill:currentColor;stroke:currentColor}.ihabdevteam-core-scope .button .button__label{color:currentColor;color:var(--button-text-color,currentColor);min-height:20px;min-width:20px}.ihabdevteam-core-scope .button .button__icon,.ihabdevteam-core-scope .button .button__left,.ihabdevteam-core-scope .button .button__right{color:currentColor;color:var(--button-icon-color,currentColor)}.ihabdevteam-core-scope .button--align-left{justify-content:flex-start}.ihabdevteam-core-scope .button--align-center{justify-content:center}.ihabdevteam-core-scope .button--align-right{justify-content:flex-end}.ihabdevteam-core-scope .button--align-left .button__label{align-items:center;display:inline-flex;flex:1 1 auto}.ihabdevteam-core-scope .button--align-left .button__label-text{justify-content:flex-start;text-align:left}.ihabdevteam-core-scope .button--align-center .button__label{align-items:center;display:flex;flex:1 1 auto;justify-content:center;text-align:center}.ihabdevteam-core-scope .button--align-right .button__label{flex:1 1 auto;text-align:right}.ihabdevteam-core-scope .button--align-grid{justify-content:center}.ihabdevteam-core-scope .button--align-grid .button__label{display:grid;flex:1 1 auto;grid-auto-columns:1fr;grid-auto-flow:column;text-align:center}.ihabdevteam-core-scope .button.button--no-bg{background:transparent;border-color:transparent}.ihabdevteam-core-scope .button--variant-danger{--button-text-color:var(--color-error);--button-icon-color:var(--color-error);--button-subLabel-color:var(--color-error);background:var(--color-deepWhite);border:var(--button-border,1px solid var(--color-error))}.ihabdevteam-core-scope .button--variant-danger:focus-visible,.ihabdevteam-core-scope .button--variant-danger:hover{--button-text-color:var(--color-error);--button-icon-color:var(--color-error);--button-subLabel-color:var(--color-error);background:var(--color-error-a10);border-color:var(--color-error)}.ihabdevteam-core-scope .button--variant-danger.is-selected,.ihabdevteam-core-scope .button--variant-danger[aria-pressed=true]{--button-text-color:#fff;--button-icon-color:#fff;--button-subLabel-color:#fff;background:var(--color-error);border-color:var(--color-error)}.ihabdevteam-core-scope .button--variant-default{--button-text-color:var(--color-darkGray);--button-icon-color:var(--color-lightGray);--button-subLabel-color:var(--color-gray);background:var(--color-deepWhite);border:var(--button-border,1px solid var(--color-whiteLine))}.ihabdevteam-core-scope .button--variant-default:focus-visible,.ihabdevteam-core-scope .button--variant-default:hover{--button-text-color:var(--color-black);--button-icon-color:var(--color-main);--button-subLabel-color:var(--color-black);background:var(--color-white);border-color:var(--color-main)}.ihabdevteam-core-scope .button--variant-default.is-selected,.ihabdevteam-core-scope .button--variant-default[aria-pressed=true]{--button-text-color:#fff;--button-icon-color:#fff;--button-subLabel-color:#fff;background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .button--variant-main{--button-subLabel-color:var(--color-white-a80);background:var(--color-main);border:var(--button-border,1px solid var(--color-main));color:#fff}.ihabdevteam-core-scope .button--variant-main:focus-visible,.ihabdevteam-core-scope .button--variant-main:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-sub);border-color:var(--color-sub);color:#fff}.ihabdevteam-core-scope .button--variant-main.is-selected,.ihabdevteam-core-scope .button--variant-main[aria-pressed=true]{--button-subLabel-color:var(--color-white-a80);background:var(--color-sub);color:#fff}.ihabdevteam-core-scope .button--variant-sub{--button-subLabel-color:var(--color-white-a80);background:var(--color-primary,var(--color-sub));color:#fff}.ihabdevteam-core-scope .button--variant-sub:focus-visible,.ihabdevteam-core-scope .button--variant-sub:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-uiAccent);color:#fff}.ihabdevteam-core-scope .button--variant-transparent-white{--button-subLabel-color:var(--color-white-a60);background:transparent;border:var(--button-border,1px solid var(--color-white-a80));color:#fbfdff}.ihabdevteam-core-scope .button--variant-transparent-white:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-white:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-white-a10);color:#fff}.ihabdevteam-core-scope .button--variant-transparent-white.is-selected,.ihabdevteam-core-scope .button--variant-transparent-white[aria-pressed=true]{--button-subLabel-color:var(--color-lightGray);background:var(--color-white);color:var(--color-main)}.ihabdevteam-core-scope .button--variant-transparent-gray{--button-subLabel-color:var(--color-gray-a60);background:transparent;border:var(--button-border,1px solid var(--color-gray-a80));color:var(--color-gray-a80)}.ihabdevteam-core-scope .button--variant-transparent-gray:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-gray:hover{--button-subLabel-color:var(--color-gray-a60);background:var(--color-gray-a10);color:var(--color-gray)}.ihabdevteam-core-scope .button--variant-transparent-lightGray{--button-subLabel-color:var(--color-gray-a60);background:transparent;border:var(--button-border,1px solid var(--color-lightGray-a80));color:var(--color-gray)}.ihabdevteam-core-scope .button--variant-transparent-lightGray:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-lightGray:hover{--button-subLabel-color:var(--color-gray-a60);background:var(--color-lightGray-a10);color:var(--color-deepGray)}.ihabdevteam-core-scope .button--variant-disabled{--button-subLabel-color:var(--color-disabled);background-color:transparent;border:var(--button-border,1px solid var(--color-whiteLine));color:var(--color-disabled)}.ihabdevteam-core-scope .button--variant-disabled .button__icon,.ihabdevteam-core-scope .button--variant-disabled .button__left,.ihabdevteam-core-scope .button--variant-disabled .button__right{color:var(--color-disabled)}.ihabdevteam-core-scope .button--variant-disabled-covered{background-color:var(--color-darkWhite);border:1px solid transparent;border:var(--button-border,1px solid transparent);border-color:transparent;color:transparent}.ihabdevteam-core-scope .button--variant-disabled-covered .button__icon,.ihabdevteam-core-scope .button--variant-disabled-covered .button__left,.ihabdevteam-core-scope .button--variant-disabled-covered .button__right{color:transparent}.ihabdevteam-core-scope .button--variant-disabled-faded,.ihabdevteam-core-scope .button--variant-disabled-invisibled{background:transparent}.ihabdevteam-core-scope .button--variant-disabled-faded .button__icon,.ihabdevteam-core-scope .button--variant-disabled-faded .button__left,.ihabdevteam-core-scope .button--variant-disabled-faded .button__right,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__icon,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__label,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__left,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__right{color:transparent}.ihabdevteam-core-scope .button.button--tooltip-only,.ihabdevteam-core-scope .button:disabled,.ihabdevteam-core-scope .button[disabled]{cursor:default}.ihabdevteam-core-scope .button--shape-rounded{border-radius:8px!important;border-radius:var(--button-rounded-radius,8px)!important}.ihabdevteam-core-scope .button--shape-pill{border-radius:9999px!important}.ihabdevteam-core-scope .button72{--button-rounded-radius:18px;border-radius:36px;height:72px;justify-content:center}.ihabdevteam-core-scope .button72--bar{min-width:220px}.ihabdevteam-core-scope .button72--dot{padding:0;width:72px}.ihabdevteam-core-scope .button56{--button-rounded-radius:14px;border-radius:28px;height:56px;justify-content:center}.ihabdevteam-core-scope .button56--bar{min-width:190px}.ihabdevteam-core-scope .button56--dot{padding:0;width:56px}.ihabdevteam-core-scope .button52{--button-rounded-radius:13px;border-radius:26px;height:52px;justify-content:center}.ihabdevteam-core-scope .button52--bar{min-width:175px}.ihabdevteam-core-scope .button52--dot{padding:0;width:52px}.ihabdevteam-core-scope .button48{--button-rounded-radius:12px;border-radius:24px;height:48px;justify-content:center}.ihabdevteam-core-scope .button48--bar{min-width:160px}.ihabdevteam-core-scope .button48--dot{padding:0;width:48px}.ihabdevteam-core-scope .button40{--button-rounded-radius:10px;border-radius:20px;height:40px;justify-content:center}.ihabdevteam-core-scope .button40--bar{min-width:100px}.ihabdevteam-core-scope .button40--dot{padding:0;width:40px}.ihabdevteam-core-scope .button40 .button__icon,.ihabdevteam-core-scope .button40--bar .button__icon,.ihabdevteam-core-scope .button40--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button32{--button-rounded-radius:8px;border-radius:16px;height:32px;justify-content:center}.ihabdevteam-core-scope .button32--bar{min-width:72px}.ihabdevteam-core-scope .button32--dot{padding:0;width:32px}.ihabdevteam-core-scope .button32 .button__icon,.ihabdevteam-core-scope .button32--bar .button__icon,.ihabdevteam-core-scope .button32--dot .button__icon{height:18px;width:18px}.ihabdevteam-core-scope .button28{--button-rounded-radius:7px;border-radius:14px;height:28px;justify-content:center}.ihabdevteam-core-scope .button28--bar{min-width:60px}.ihabdevteam-core-scope .button28--dot{padding:0;width:28px}.ihabdevteam-core-scope .button28 .button__icon,.ihabdevteam-core-scope .button28--bar .button__icon,.ihabdevteam-core-scope .button28--dot .button__icon{height:16px;width:16px}.ihabdevteam-core-scope .button24{--button-rounded-radius:6px;border-radius:12px;height:24px;justify-content:center}.ihabdevteam-core-scope .button24--bar{min-width:48px}.ihabdevteam-core-scope .button24--dot{padding:0;width:24px}.ihabdevteam-core-scope .button24 .button__icon,.ihabdevteam-core-scope .button24--bar .button__icon,.ihabdevteam-core-scope .button24--dot .button__icon{height:14px;width:14px}.ihabdevteam-core-scope .button-keyboard{border-radius:12px;height:32px;justify-content:center}.ihabdevteam-core-scope .button-keyboard--bar{min-width:32px;padding:0 12px}.ihabdevteam-core-scope .button-keyboard--dot{padding:0;width:32px}.ihabdevteam-core-scope .button-word{border-radius:12px;height:72px;justify-content:center;padding:0 16px}.ihabdevteam-core-scope .button-word--bar{min-width:120px}.ihabdevteam-core-scope .button-word--dot{padding:0;width:72px}@media (max-width:1024px){.ihabdevteam-core-scope .button56{--button-rounded-radius:13px;border-radius:25px;height:50px}.ihabdevteam-core-scope .button56--bar{min-width:170px}.ihabdevteam-core-scope .button56--dot{width:50px}.ihabdevteam-core-scope .button48{--button-rounded-radius:11px;border-radius:22px;height:44px}.ihabdevteam-core-scope .button48--bar{min-width:140px}.ihabdevteam-core-scope .button48--dot{width:44px}.ihabdevteam-core-scope .button40{--button-rounded-radius:9px;border-radius:18px;height:36px}.ihabdevteam-core-scope .button40--bar{min-width:88px}.ihabdevteam-core-scope .button40--dot{width:36px}.ihabdevteam-core-scope .button32{--button-rounded-radius:8px;border-radius:15px;height:30px}.ihabdevteam-core-scope .button32--bar{min-width:64px}.ihabdevteam-core-scope .button32--dot{width:30px}.ihabdevteam-core-scope .button24--bar{min-width:44px}}@media (max-width:768px){.ihabdevteam-core-scope .button56{--button-rounded-radius:12px;border-radius:23px;height:46px}.ihabdevteam-core-scope .button56--bar{min-width:150px}.ihabdevteam-core-scope .button56--dot{width:46px}.ihabdevteam-core-scope .button56 .button__icon,.ihabdevteam-core-scope .button56--bar .button__icon,.ihabdevteam-core-scope .button56--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button48{--button-rounded-radius:10px;border-radius:20px;height:40px}.ihabdevteam-core-scope .button48--bar{min-width:120px}.ihabdevteam-core-scope .button48--dot{width:40px}.ihabdevteam-core-scope .button48 .button__icon,.ihabdevteam-core-scope .button48--bar .button__icon,.ihabdevteam-core-scope .button48--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button40{--button-rounded-radius:8px;border-radius:17px;height:34px}.ihabdevteam-core-scope .button40--bar{min-width:80px}.ihabdevteam-core-scope .button40--dot{width:34px}.ihabdevteam-core-scope .button32{--button-rounded-radius:7px;border-radius:14px;height:28px}.ihabdevteam-core-scope .button32--bar{min-width:60px}.ihabdevteam-core-scope .button32--dot{width:28px}.ihabdevteam-core-scope .button24--bar{min-width:40px}}";le(D3);var N3=".ihabdevteam-core-scope .tooltip-content{animation:tooltip-pop .2s cubic-bezier(.2,.9,.2,1) both;background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);box-sizing:border-box;pointer-events:auto;position:absolute;transform-origin:left center;white-space:normal;will-change:transform,opacity;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-content--inline{position:static}.ihabdevteam-core-scope .tooltip-content--bordered{border:1px solid var(--color-whiteLine)}.ihabdevteam-core-scope .tooltip-content.tooltip-description,.ihabdevteam-core-scope .tooltip-content.tooltip-info,.ihabdevteam-core-scope .tooltip-content.tooltip-training{background:transparent;box-shadow:none}.ihabdevteam-core-scope .tooltip-content__header{align-items:center;color:var(--color-gray);display:flex;height:40px;padding:0 2px 10px}.ihabdevteam-core-scope .tooltip-content.is-closing{animation:tooltip-fade-out .2s ease both;opacity:0}.ihabdevteam-core-scope .tooltip-content[data-placement=top]{transform:translateY(-6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=bottom]{transform:translateY(6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=left]{transform:translateX(-6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=right]{transform:translateX(6px)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=top]{transform:translateY(-6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=bottom]{transform:translateY(6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=left]{transform:translateX(-6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=right]{transform:translateX(6px) scale(.98)}@keyframes tooltip-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooltip-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.98)}}.ihabdevteam-core-scope .tooltip-backdrop{background:var(--color-popupBlock);inset:0;position:fixed;z-index:calc(var(--z-tooltip) - 1)}.ihabdevteam-core-scope .tooltip-portal{inset:0;position:fixed;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-content.is-mobile{left:50%!important;max-width:calc(100% - 40px)!important;top:50%!important;transform:translate(-50%,-50%)!important;visibility:visible!important;width:calc(100% - 40px)!important;z-index:var(--z-tooltip)!important}";le(N3);const xr=[];let Si=!1;function Zb(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=xr[xr.length-1];t&&(e.stopPropagation(),t())}function Go(e){return xr.push(e),!Si&&typeof document<"u"&&(document.addEventListener("keydown",Zb),Si=!0),()=>{const t=xr.lastIndexOf(e);t>=0&&xr.splice(t,1),xr.length===0&&Si&&typeof document<"u"&&(document.removeEventListener("keydown",Zb),Si=!1)}}const Ei=s.createContext(null);function T3(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const Jb=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function j3(e){const t=s.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const o=window.matchMedia(e);return o.addEventListener?o.addEventListener("change",a):o.addListener&&o.addListener(a),()=>{o.removeEventListener?o.removeEventListener("change",a):o.removeListener&&o.removeListener(a)}},[e]);return jp.useSyncExternalStore(t,()=>Jb(e),()=>!1)}function L3(e){const[t,a]=s.useState(Jb(e));return s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const o=window.matchMedia(e),n=l=>a(l.matches),i=o;return i.addEventListener?i.addEventListener("change",n):i.addListener&&i.addListener(n),a(o.matches),()=>{i.removeEventListener?i.removeEventListener("change",n):i.removeListener&&i.removeListener(n)}},[e]),t}const M3=typeof jp.useSyncExternalStore=="function"?j3:L3;function ua(e){const t=s.useContext(Ei),a=M3(e);return t&&typeof t.mobile=="boolean"&&T3(e)?t.mobile:a}const $3="(prefers-reduced-motion: reduce)";function Oc(){return ua($3)}function _a(e){const{anchorRect:t,anchorEl:a,offset:o=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:u="dialog",ariaLabel:d="",children:h,backdrop:p=!1,isMobilePopup:m=!1,useBorder:v=!0,header:x,focusOnOpen:g}=e||{},b=s.useRef(null),[C,f]=s.useState({position:"fixed",left:0,top:-9999}),[w,y]=s.useState(!1),[A,_]=s.useState("bottom"),[B,k]=s.useState(!1),[E,S]=s.useState(!1),D=!t&&!a,$=s.useCallback((G=!1)=>{if(E&&m)return;const z=a?a.getBoundingClientRect():t;if(!z||!b.current)return;const V=b.current,{offsetWidth:W,offsetHeight:O}=V,N=window.innerWidth,P=window.innerHeight,F=N-z.right,X=z.left,ie=z.top,oe=P-z.bottom;let de=0,U=0,se="top";if(ie>=O+o)se="top",U=z.top-o-O,de=z.left+z.width/2-W/2;else if(oe>=O+o)se="bottom",U=z.bottom+o,de=z.left+z.width/2-W/2;else if(F>=W+o)se="right",de=z.right+o,U=z.top+z.height/2-O/2;else if(X>=W+o)se="left",de=z.left-o-W,U=z.top+z.height/2-O/2;else{const me=Math.max(ie,oe,F,X);me===ie?(se="top",U=z.top-o-O,de=z.left+z.width/2-W/2):me===oe?(se="bottom",U=z.bottom+o,de=z.left+z.width/2-W/2):me===F?(se="right",de=z.right+o,U=z.top+z.height/2-O/2):(se="left",de=z.left-o-W,U=z.top+z.height/2-O/2)}const Se=Number.isFinite(Number(n))?Number(n):8;de=Math.min(Math.max(de,Se),N-W-Se),U=Math.min(Math.max(U,Se),P-O-Se);const Z=Math.round(de),ee=Math.round(U);G&&b.current?(b.current.style.left=`${Z}px`,b.current.style.top=`${ee}px`,b.current.dataset.placement=se):(_(se||A),f({position:"fixed",left:Z,top:ee}),k(!0))},[E,m,a,t,o,n,A]);s.useLayoutEffect(()=>{if(D)return;if(E&&m){f({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),k(!0);return}$();const G=requestAnimationFrame(()=>$());return()=>cancelAnimationFrame(G)},[t,a,o,h,n,D,E,m,$]),s.useEffect(()=>{if(D||E&&m||!b.current||typeof ResizeObserver>"u")return;const G=new ResizeObserver(()=>{t&&$()});return G.observe(b.current),()=>G.disconnect()},[t,h,n,D,E,m,$]),s.useEffect(()=>{if(D||E&&m)return;let G=null;const z=()=>{if(typeof requestAnimationFrame>"u"){$(!0);return}G===null&&(G=requestAnimationFrame(()=>{G=null,$(!0)}))},V=W=>{if(!a&&i){const O=W.target;if(O&&b.current&&b.current.contains(O))return;try{if(O&&O.closest&&O.closest("[data-tooltip-ignore]"))return}catch{}I.current(!0);return}z()};return window.addEventListener("resize",z),document.addEventListener("scroll",V,{passive:!0,capture:!0}),()=>{G!==null&&cancelAnimationFrame(G),window.removeEventListener("resize",z),document.removeEventListener("scroll",V,{capture:!0})}},[t,a,i,o,h,n,D,E,m,$]),s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const G=window.matchMedia("(max-width: 768px)"),z=()=>S(!!G.matches);z();try{G.addEventListener?G.addEventListener("change",z):G.addListener(z)}catch{try{G.addListener(z)}catch{}}return()=>{try{G.removeEventListener?G.removeEventListener("change",z):G.removeListener(z)}catch{}}},[]);const j=s.useRef(!1),H=s.useRef(null),T=Oc(),L=s.useCallback((G=!1)=>{if(i&&!(w||j.current)){if(j.current=!0,G){y(!0);try{i&&i()}catch{j.current=!1,y(!1)}return}y(!0),H.current=setTimeout(()=>{H.current=null;try{i&&i()}catch{j.current=!1,y(!1)}},T?0:200)}},[w,i,y,T]);s.useEffect(()=>()=>{H.current&&clearTimeout(H.current)},[]),s.useEffect(()=>{if(D)return;const G=W=>{const O=b.current;if(!O)return;const N=W.target;if(N&&!O.contains(N)){try{if(N.closest&&N.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},z=W=>{const O=b.current;if(!O)return;const N=W.target;if(N&&!O.contains(N)){try{if(N.closest&&N.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},V=W=>{if(W.key==="Tab"){const O=b.current;if(!O)return;const N=O.querySelectorAll(Fa);if(!N||N.length===0)return;const P=N[0],F=N[N.length-1],X=document.activeElement;W.shiftKey?X===P&&(W.preventDefault(),F.focus()):X===F&&(W.preventDefault(),P.focus())}};return document.addEventListener("pointerdown",G,!0),document.addEventListener("click",z,!0),document.addEventListener("keydown",V),()=>{document.removeEventListener("pointerdown",G,!0),document.removeEventListener("click",z,!0),document.removeEventListener("keydown",V)}},[i,l,L,D]);const I=s.useRef(L);s.useEffect(()=>{I.current=L});const K=!!i;s.useEffect(()=>{if(!(D||!K))return Go(()=>I.current())},[D,K]),s.useEffect(()=>{const G=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",G),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",G)}},[L]);const Y=s.useRef(null);s.useEffect(()=>{if(D||g===!1||!B)return;const G=b.current;if(!G)return;const z=G.querySelector(Fa);if(z)return Y.current=document.activeElement,z.focus(),()=>{const V=Y.current;Y.current=null,V&&document.contains(V)&&V.focus()}},[D,g,B]),s.useEffect(()=>{u==="dialog"&&!d&&Pt("tooltip-no-name",'[ihab/Tooltip] \uC774\uB984 \uC5C6\uB294 role="dialog" \uC785\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. \uB0AD\uB3C5\uAE30\uAC00 "\uB300\uD654\uC0C1\uC790" \uB77C\uACE0\uB9CC \uC77D\uC2B5\uB2C8\uB2E4.')},[u,d]);const M=r.jsxs("div",{ref:b,className:`tooltip-content ${D?"tooltip-content--inline":""} ${v?"tooltip-content--bordered":""} ${w?"is-closing":""} ${c} ${E&&m?"is-mobile":""}`,role:u,"aria-label":d||void 0,style:D?{}:{...C,visibility:B?"visible":"hidden"},tabIndex:-1,"data-placement":A,"data-left":D?"":C.left,"data-top":D?"":C.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[x!=null&&r.jsx("div",{className:"tooltip-content__header h5",children:x}),h]});if(D||typeof document>"u")return M;if(p||E&&m){const G=r.jsxs("div",{className:"tooltip-portal",children:[r.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),M]});return pa.createPortal(G,document.body)}return pa.createPortal(M,document.body)}var R3='.ihabdevteam-core-scope .tooltip-info__content{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-main);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);color:var(--color-black);display:inline-flex;justify-content:center;line-height:1;overflow:hidden;padding:4px 12px;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-content.tooltip-info{pointer-events:none}.ihabdevteam-core-scope .tooltip-content.tooltip-info .tooltip-info__content{box-shadow:var(--shadow-tooltip)}.ihabdevteam-core-scope .tooltip-info[data-placement=bottom] .tooltip-info__content:after,.ihabdevteam-core-scope .tooltip-info[data-placement=top] .tooltip-info__content:after{content:"";height:0;margin:0;padding:0;position:absolute;width:0}';le(R3);function Da(e){const{anchorRect:t,text:a,offset:o=8,onClose:n,className:i="",ariaLabel:l}=e||{};return a?r.jsx(_a,{anchorRect:t,offset:o,onClose:n,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:r.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}var P3=".ihabdevteam-core-scope .tooltip-description__box{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);display:flex;flex-direction:column;gap:10px;max-width:640px;padding:16px 20px}.ihabdevteam-core-scope .tooltip-description__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .tooltip-description__items{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .tooltip-description__item{align-items:flex-start;color:var(--color-darkGray);display:flex;gap:var(--spacing-xs);margin:0}.ihabdevteam-core-scope .tooltip-description__index{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .tooltip-description__dot{border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.ihabdevteam-core-scope .tooltip-description__item--active{color:var(--color-main);font-weight:600}.ihabdevteam-core-scope .tooltip-description__item--active .tooltip-description__index{color:var(--color-main)}";le(P3);function _o(e){const{t}=Ce.useTranslation(),{anchorRect:a,title:o,items:n,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:u=12,closeOnOutsideClick:d=!0}=e||{},h=(Array.isArray(n)?n:n?[n]:[]).map(p=>typeof p=="string"?{text:p}:p);return!h.length&&!o?null:r.jsx(_a,{anchorRect:a,offset:u,onClose:c,closeOnOutsideClick:d,useBorder:!1,className:"tooltip-description",ariaLabel:o||t("tooltip.description","\uC124\uBA85"),children:r.jsxs("div",{className:"tooltip-description__box",children:[o&&r.jsx("span",{className:"tooltip-description__title body-2",children:o}),r.jsx("ol",{className:"tooltip-description__items",children:h.map((p,m)=>r.jsxs("li",{className:`tooltip-description__item body-3${m===i?" tooltip-description__item--active":""}`,children:[l&&h.length>1&&r.jsxs("span",{className:"tooltip-description__index button-1",children:[m+1,"."]}),p.color&&r.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),r.jsx("span",{children:p.text})]},m))})]})})}function xn(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),t}let Fc=0,Qb=!1;function eg(){Qb||typeof document>"u"||(Qb=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Fc=Date.now())},!0),document.addEventListener("touchstart",()=>{Fc=Date.now()},{capture:!0,passive:!0}))}eg();function Cr(e){return!!e&&e.pointerType==="touch"}function yr(e=1e3){return eg(),Date.now()-Fc<e}function Wc(e,t,a,{enabled:o=!0,fallbackOnParent:n=!1}={}){const i=xn(e),l=xn(t),c=s.useRef(null),u=s.useRef(0);s.useEffect(()=>{if(!o||typeof document>"u")return;const h=p=>{const m=p,v=p.target,x=a.current,g=!!(v&&x&&x.contains(v));if(m.pointerType!=="touch"){g&&(c.current=null);return}if(g){c.current=i.current;return}c.current=null,i.current&&!(v&&v.closest?.(".tooltip-content"))&&l.current(!1,x)};return document.addEventListener("pointerdown",h,!0),()=>document.removeEventListener("pointerdown",h,!0)},[o,a,i,l]);const d=s.useCallback(h=>{const p=c.current;return p===null?!1:(c.current=null,u.current=Date.now(),l.current(!p,h??a.current),!0)},[a,l]);return s.useEffect(()=>{if(!o||!n)return;const h=a.current,p=h?.parentElement;if(!h||!p)return;let m=null;const v=b=>{const C=b.changedTouches?.[0];if(!C)return!1;const f=h.getBoundingClientRect();return C.clientX>=f.left&&C.clientX<=f.right&&C.clientY>=f.top&&C.clientY<=f.bottom},x=b=>{m=v(b)?i.current:null},g=b=>{const C=m;m=null,!(C===null||Date.now()-u.current<700||!v(b))&&(c.current=null,u.current=Date.now(),l.current(!C,h))};return p.addEventListener("touchstart",x,{passive:!0}),p.addEventListener("touchend",g),()=>{p.removeEventListener("touchstart",x),p.removeEventListener("touchend",g)}},[o,n,a,i,l]),{touchPress:d}}function z3(e,t){const{size:a=48,type:o,htmlType:n,href:i,target:l,rel:c,icon:u,rightIcon:d,label:h,count:p,subLabel:m,children:v,ariaLabel:x,variant:g="default",align:b="center",nowrap:C=!1,selected:f,toggleable:w=!1,ariaExpanded:y,ariaControls:A,disabled:_=!1,useLabel:B=!0,useBorder:k=!0,useBG:E=!0,useDisabledCovered:S=!1,useDisabledInvisible:D=!1,width:$,minWidth:j,onClick:H,onDisabledClick:T,showTooltipInfo:L=!1,tooltipInfoText:I=null,tooltipDescription:K=null,tooltipOnly:Y=!1,iconSize:M="medium",iconColor:G,shape:z="rounded",color:V,className:W,...O}=e,N=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),P=N.match(/^\d+$/)?`button${N}`:`button-${N}`,F=Number(a),X=!isNaN(F)&&F<40?"button-2":"button-1",ie=h??v,oe=_||!!O.disabled,de=oe?S?"disabled-covered":D?"disabled-invisibled":"disabled":g,U=de?`button--variant-${de}`:"",se=b?`button--align-${b}`:"",Se=C?"button--nowrap":"",Z=z?`button--shape-${z}`:"",ee=typeof G=="string"&&G.startsWith("--")?`var(${G})`:G,me={...$?{width:typeof $=="number"?`${$}px`:$}:{},...j?{minWidth:typeof j=="number"?`${j}px`:j}:{},...k?{}:{"--button-border":oe?"0":"1px solid transparent"},...ee?{"--button-icon-color":ee}:{},...V?{"--color-main":V}:{}},Le=B===!1?"":ie,ye=Array.isArray(Le)?Le.length>0:!!Le,re=!!d,pe=o??(ye||u||re?"bar":"dot"),ve=`${P}--${pe}`,q=s.useRef(null);s.useEffect(()=>{!co||n!==void 0||q.current?.closest("form")&&Pt(`button-in-form:${typeof ie=="string"?ie:""}`,'[ihab/Button] <form> \uC548\uC778\uB370 htmlType \uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC774 \uB2E8\uCD94\uB294 type="button" \uC774\uB77C \uD3FC\uC744 \uBCF4\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uBA74 htmlType="submit" \uC744 \uC8FC\uC138\uC694. \uD3FC\uC5D0 \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 **Enter \uB85C\uB3C4 \uC548 \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4**(\uCE78\uC774 \uB458 \uC774\uC0C1\uC77C \uB54C).'+(typeof ie=="string"&&ie?` \uB2E8\uCD94: ${ie}`:""))},[n,ie]);const ae=s.useRef(t);ae.current=t;const fe=s.useCallback(Ie=>{q.current=Ie;const ot=ae.current;typeof ot=="function"?ot(Ie):ot&&(ot.current=Ie)},[]),Ee=s.useRef(oe),[Ae,$e]=s.useState(!!f),[Ge,pt]=s.useState(!1),[st,rt]=s.useState(null),vt=s.useCallback(()=>pt(!1),[]),[De,Ve]=s.useState(!1),ke=s.useId();s.useEffect(()=>{typeof f=="boolean"&&$e(f)},[f]),s.useEffect(()=>{if(Ee.current&&!oe&&q.current){const Ie=q.current;let ot=!1;try{ot=Ie.matches(":focus:not(:focus-visible)")}catch{ot=!1}ot&&Ie.blur(),Ie.style.pointerEvents="none";const St=requestAnimationFrame(()=>{requestAnimationFrame(()=>{q.current&&(q.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(St)}Ee.current=oe},[oe]);const qe=typeof f=="boolean"?!!f:Ae,Ne=typeof y=="boolean"?void 0:w||typeof f=="boolean"?qe?"true":"false":O["aria-pressed"],Re=Be("button",P,ve,U,se,Se,Z,qe?"is-selected":null,E?null:"button--no-bg",Y?"button--tooltip-only":null,W),Me=`button__icon button__icon--${M}`,Qe=Array.isArray(m)?m:m!==void 0?[m]:[],tt=()=>{if(Array.isArray(Le))return Le.map((ot,St)=>{const Gt=Qe[St];return r.jsxs("span",{className:`button__label-text${Gt!==void 0?" button__label-text--has-sub":""}`,children:[ot,Gt!==void 0&&r.jsx("span",{className:"button__sub-label-text caption-1",children:Gt})]},St)});const Ie=m!==void 0;return r.jsxs("span",{className:`button__label-text${Ie?" button__label-text--has-sub":""}`,children:[Le,p!=null&&r.jsx("span",{className:"button__count",children:p}),Ie&&r.jsx("span",{className:"button__sub-label-text caption-1",children:m})]})},bt=Ie=>{typeof f!="boolean"&&!w&&$e(!1),Ie.currentTarget.blur()},xt=Ie=>{oe||(typeof O.onMouseLeave=="function"&&O.onMouseLeave(Ie),bt(Ie))},Dt=Ie=>{if(Y&&yt&&dt.touchPress(Ie.currentTarget),oe){yt&&dt.touchPress(Ie.currentTarget),Ie.preventDefault(),T?.(Ie);return}typeof f!="boolean"&&w&&$e(ot=>!ot),H?.(Ie)},Ct=s.useCallback(()=>{(L||K)&&(pt(!0),rt(q.current?.getBoundingClientRect()??null))},[L,K]),Mt=s.useCallback(()=>{(L||K)&&(pt(!1),rt(null))},[L,K]),yt=!!(L||K),dt=Wc(Ge,Ie=>{Ie?Ct():Mt()},q,{enabled:yt&&(oe||Y),fallbackOnParent:yt&&oe}),Xe={...O};delete Xe.disabled,delete Xe.className,delete Xe.faded,delete Xe.useFaded,delete Xe.loading,delete Xe.onMouseLeave,delete Xe.onPointerEnter,delete Xe.onPointerLeave,delete Xe.onPointerUp,delete Xe.onFocus,delete Xe.onBlur,oe&&(Object.keys(Xe).forEach(Ie=>{/^on[A-Z]/.test(Ie)&&typeof Xe[Ie]=="function"&&delete Xe[Ie]}),Xe["aria-disabled"]="true");const ce=(typeof L=="string"?L:null)??(typeof I=="string"?I:null)??(typeof x=="string"?x:null)??(typeof ie=="string"?ie:null)??void 0,Te=typeof x=="string"?x:typeof ie=="string"?ie:ce,Ue=K?[K.title,...K.items??[]].filter(Boolean).join(". "):L&&ce&&ce!==Te?ce:"",nt=[typeof O["aria-describedby"]=="string"?O["aria-describedby"]:void 0,Ue?ke:null].filter(Boolean).join(" ")||void 0,Fe=(Ie,ot)=>r.jsx(it,{icon:Ie,label:ot??Te,className:Me,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Ke=()=>pe==="dot"?r.jsxs(r.Fragment,{children:[Fe(u),ye&&r.jsx("span",{className:`button__label ${X}`,children:tt()})]}):b==="center"&&u?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"button__center-group",children:[r.jsx("span",{className:"button__left",children:Fe(u)}),ye&&r.jsx("span",{className:`button__label ${X}`,children:tt()})]}),re&&r.jsx("span",{className:"button__right",children:Fe(d)})]}):r.jsxs(r.Fragment,{children:[u&&r.jsx("span",{className:"button__left",children:Fe(u,x??ie)}),ye&&r.jsx("span",{className:`button__label ${X}`,children:tt()}),re&&r.jsx("span",{className:"button__right",children:Fe(d)})]}),_t=!!i&&!oe;return r.jsxs(r.Fragment,{children:[r.jsxs(_t?"a":"button",{...Xe,ref:fe,..._t?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:n??"button",disabled:oe&&!T&&!De},className:Re,"aria-pressed":Ne,"aria-expanded":typeof y=="boolean"?y:O["aria-expanded"],"aria-controls":A??O["aria-controls"],"aria-label":Te,"aria-disabled":oe&&(_t||T||De)?!0:void 0,"aria-describedby":nt,style:me,onClick:Dt,onMouseLeave:xt,onPointerEnter:Ie=>{Cr(Ie)||Ct(),!oe&&typeof O.onPointerEnter=="function"&&O.onPointerEnter(Ie)},onPointerLeave:Ie=>{Cr(Ie)||Mt(),!oe&&typeof O.onPointerLeave=="function"&&O.onPointerLeave(Ie)},onPointerUp:Ie=>{oe&&yt&&dt.touchPress(Ie.currentTarget),!oe&&typeof O.onPointerUp=="function"&&O.onPointerUp(Ie)},onFocus:Ie=>{Ve(!0),yr()||Ct(),!oe&&typeof O.onFocus=="function"&&O.onFocus(Ie)},onBlur:Ie=>{Ve(!1),oe||bt(Ie),Mt(),!oe&&typeof O.onBlur=="function"&&O.onBlur(Ie)},children:[Ke(),Ue?r.jsx("span",{id:ke,hidden:!0,"aria-label":Ue}):null]}),Ge&&K?r.jsx(_o,{anchorRect:st,title:K.title,items:K.items,onClose:vt}):Ge&&ce?r.jsx(Da,{anchorRect:st,text:ce,onClose:vt}):null]})}const ge=s.forwardRef(z3);ge.displayName="Button";function jt(e,t,a){const o=s.useRef(null);return s.useLayoutEffect(()=>{const n=o.current?.parentElement??null;return t(n,e),()=>a(n)},[e,t,a]),o}var I3=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";le(I3);var O3=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";le(O3);const _r={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Gc=new WeakMap;function Di(e){if(e)return Gc.get(e)}function Qt(e,t){e&&(e.style.setProperty(_r.title,t.title),e.style.setProperty(_r.description,t.description),Gc.set(e,t))}function ea(e){e&&(e.style.removeProperty(_r.title),e.style.removeProperty(_r.description),Gc.delete(e))}const Hc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Vc(){const e=jt(Hc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var F3=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";le(F3);const Uc={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function qc(){const e=jt(Uc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var W3=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";le(W3);const Yc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Kc(){const e=jt(Yc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var G3=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";le(G3);const Xc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Zc(){const e=jt(Xc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var H3=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";le(H3);const Jc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Qc(){const e=jt(Jc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var V3=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";le(V3);const eu={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function tu(){const e=jt(eu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var U3=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";le(U3);const au={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function ou(){const e=jt(au,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var q3=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";le(q3);const ru={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function nu(){const e=jt(ru,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var Y3=".ihabdevteam-core-scope .promo-banner-bg-diagonal{background-color:var(--color-lightMain);background-image:repeating-linear-gradient(45deg,var(--color-main-a10) 0,var(--color-main-a10) 10px,transparent 10px,transparent 20px)}";le(Y3);const iu={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function su(){const e=jt(iu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var K3=".ihabdevteam-core-scope .promo-banner-bg-dots{background-color:var(--color-lightSub);background-image:radial-gradient(var(--color-sub-a10) 2px,transparent 2px);background-size:14px 14px}";le(K3);const lu={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function cu(){const e=jt(lu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var X3=".ihabdevteam-core-scope .promo-banner-bg-outline{background:var(--color-white);border:1px solid var(--color-whiteLine);box-sizing:border-box}.ihabdevteam-core-scope .promo-banner-bg-outline__dot{background:linear-gradient(45deg,var(--color-main),var(--color-sub));border-radius:50%;bottom:-40px;height:140px;opacity:.12;position:absolute;right:-40px;width:140px}";le(X3);const uu={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function du(){const e=jt(uu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:r.jsx("span",{className:"promo-banner-bg-outline__dot"})})}var Z3=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";le(Z3);const pu={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function hu(){const e=jt(pu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var J3=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";le(J3);const mu={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function bu(){const e=jt(mu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var Q3=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";le(Q3);const gu={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function fu(){const e=jt(gu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const da=(e,t,a)=>({key:e,get label(){return kt.t(`promoBannerBg.${e}`,t)},textTone:a}),tg=[da("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),da("soft","\uC18C\uD504\uD2B8","dark"),da("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),da("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),da("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),da("warm","\uC6DC(\uAC15\uC870)","dark"),da("dark","\uB2E4\uD06C","light"),da("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),da("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),da("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),da("outline","\uC544\uC6C3\uB77C\uC778","dark"),da("success","\uC131\uACF5/\uC644\uB8CC","light"),da("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),da("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],vu={main:Vc,soft:qc,sub:Kc,deep:Zc,softSub:Qc,warm:tu,dark:ou,radial:nu,diagonal:su,dots:cu,outline:du,success:hu,naver:bu,instagram:fu};function Ni({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:o=1.4,step:n=.1,lineHeightRatio:i=1.4}={}){const l=w=>Math.max(a,Math.min(o,Number(w))),c=w=>{try{const y=localStorage.getItem(w),A=y?Number(y):1;return Number.isFinite(A)?l(A):l(1)}catch{return l(1)}},[u,d]=s.useState(()=>c(e)),[h,p]=s.useState(e);h!==e&&(p(e),d(c(e))),s.useEffect(()=>{try{localStorage.setItem(e,String(u))}catch{}},[e,u]);const m=w=>{d(typeof w=="function"?y=>l(w(y)):l(w))},v=()=>m(w=>+(w+n).toFixed(6)),x=()=>m(w=>+(w-n).toFixed(6)),g=u<o-Number.EPSILON,b=u>a+Number.EPSILON,C=Math.round(t*u),f=Math.round(C*i);return{scale:u,setScale:m,increase:v,decrease:x,canIncrease:g,canDecrease:b,fontSize:C,lineHeight:f}}function Cn(e,t){const a=xn(t);s.useEffect(()=>{const o=()=>a.current();try{window.addEventListener(e,o)}catch{}return()=>{try{window.removeEventListener(e,o)}catch{}}},[e,a])}const xu=" \xB7 ",ag=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(xu)?e.split(xu).pop()??e:e})(),Cu=s.createContext(!1),Ho=[];let og=null;function yu(e){const t=s.useContext(Cu);s.useEffect(()=>{if(t||typeof e!="string"||!e)return;Ho.length===0&&(og=document.title);const a={text:ag?`${e}${xu}${ag}`:e};return Ho.push(a),document.title=a.text,()=>{const o=Ho.lastIndexOf(a);o>=0&&Ho.splice(o,1),document.title=Ho.length?Ho[Ho.length-1].text:og??document.title}},[e,t])}function eB(e,t){const[a,o,n]=e.split("-").map(Number),[i,l,c]=t.split("-").map(Number);return Math.round((Date.UTC(i,l-1,c)-Date.UTC(a,o-1,n))/864e5)}function rg(){const{t:e}=Ce.useTranslation();return s.useCallback(t=>{if(!t)return"";const a=Oa(t);if(!a)return"";const o=eB(a,ya());return o<=0?e("myHomework.relativeDay.today","\uC624\uB298"):o===1?e("myHomework.relativeDay.yesterday","\uC5B4\uC81C"):e("myHomework.relativeDay.daysAgo",{n:o})},[e])}function ng(e){const{t}=Ce.useTranslation(),[a,o]=s.useState({current:"",next:"",confirm:""}),[n,i]=s.useState(null),[l,c]=s.useState(!1),u=s.useRef(null),d=s.useRef(!1);s.useEffect(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);const h=s.useCallback(()=>{o({current:"",next:"",confirm:""}),i(null)},[]),p=s.useCallback(async()=>{if(d.current)return;if(!a.current){i({type:"error",text:t("account.security.password.currentRequired","\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(!a.next){i({type:"error",text:t("account.security.password.newRequired","\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(a.next!==a.confirm){i({type:"error",text:t("account.security.password.mismatch","\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")});return}c(!0),d.current=!0;let m;try{m=e?await e(a.current,a.next):null}catch(v){m=ln(v)}finally{d.current=!1,c(!1)}if(m){i({type:"error",text:m});return}i({type:"success",text:t("account.security.password.changed","\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.")}),o({current:"",next:"",confirm:""}),u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>i(null),1500)},[a,e,t]);return{pw:a,setPw:o,pwMsg:n,setPwMsg:i,pwLoading:l,handleChangePw:p,reset:h}}const _u=[{id:"wordData",labelKey:"settings.cache.group.wordData.label",subKey:"settings.cache.group.wordData.sub",keys:["word_data_cache","word_data_version"]},{id:"pairIndex",labelKey:"settings.cache.group.pairIndex.label",subKey:"settings.cache.group.pairIndex.sub",keys:["word_pair_index_v2","word_pair_index_sig_v2"]},{id:"imageCache",labelKey:"settings.cache.group.imageCache.label",subKey:"settings.cache.group.imageCache.sub",keys:["word_image_existence_map_v1"]}];function wu(e){return e.reduce((t,a)=>{try{const o=localStorage.getItem(a);return t+(o?new Blob([o]).size:0)}catch{return t}},0)}function ig(e){return e===0?"0 B":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(2)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function sg(e){const{t}=Ce.useTranslation(),[a,o]=s.useState({}),[n,i]=s.useState(null),[l,c]=s.useState(null),[u,d]=s.useState(null),h=s.useCallback(()=>{const m={};_u.forEach(v=>{m[v.id]=wu([...v.keys])}),o(m),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(v=>{d({usage:v.usage??0,quota:v.quota??0})}).catch(()=>{})},[]);s.useEffect(()=>{h()},[h]);const p=s.useCallback(async m=>{i(m);try{m==="wordData"?(localStorage.removeItem("word_data_cache"),localStorage.removeItem("word_data_version")):m==="pairIndex"?Cl():m==="imageCache"&&rl(),h(),e?.(t("settings.cache.cleared","\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."))}finally{i(null)}},[h,e,t]);return{cacheSizes:a,clearingId:n,confirmCacheId:l,setConfirmCacheId:c,storageEstimate:u,refreshCacheSizes:h,handleClearCache:p}}function lg(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useCallback(()=>{const l=Po();if(l){const u=Object.values(l),d=u.filter(h=>h.cho.length+h.jung.length+h.jong.length>0).length;a({matched:d,total:u.length})}else a(null);const c=qn();n(c?{exists:c.exists,total:c.total}:null)},[]);return s.useEffect(()=>{i();const l=setTimeout(i,1e3);return()=>clearTimeout(l)},[e?.length,i]),{pairStats:t,imgStats:o,setPairStats:a,setImgStats:n,refreshStats:i}}function Vo(e,t){if(e===t)return!0;const a=e?.id,o=t?.id;return a!=null&&a!==""&&a===o}function cg(e,t=[]){const[a,o]=s.useState(t),[n,i]=s.useState(null),[l,c]=s.useState(!1),[u,d]=s.useState(e),h=s.useRef(!1),p=s.useRef(null);s.useEffect(()=>{if(l)return;if(h.current){h.current=!1;return}const C=p.current;C!==null&&C.length===t.length&&C.every((f,w)=>f===t[w])||(p.current=t,o(t),i(f=>f==null?f:t.find(w=>Vo(w,f))??f))},[t,l]),s.useEffect(()=>{!l&&n!=null&&d({...n})},[l,n]);const m=s.useCallback(C=>{i(C),c(!1),d({...C})},[]),v=s.useCallback(()=>c(!0),[]),x=s.useCallback(()=>c(!1),[]),g=s.useCallback((C,f)=>{o(C),i(f),c(w=>(w&&(h.current=!0),!1))},[]),b=s.useCallback(C=>{o(f=>f.filter(w=>!Vo(w,C))),i(null)},[]);return{list:a,setList:o,selected:n,setSelected:i,isEditing:l,setIsEditing:c,editForm:u,setEditForm:d,openDetail:m,startEditing:v,cancelEditing:x,commitEdit:g,remove:b}}const wr=()=>{const[e,t,a]=ya().split("-");return{year:e,month:t,day:a}},tB={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function ug(e=[]){const{list:t,setList:a,selected:o,setSelected:n,isEditing:i,setIsEditing:l,editForm:c,setEditForm:u,openDetail:d,commitEdit:h}=cg(tB,e),{year:p,month:m,day:v}=wr(),[x,g]=s.useState({year:p,month:m,day:v,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:x,setVisitForm:g,setVisit:b=>C=>g(f=>({...f,[b]:C})),selectedVisit:o,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:l,editVisitForm:c,setEditVisitForm:u,openVisitDetail:d,handleVisitSave:b=>{a(y=>[x,...y]);const{year:C,month:f,day:w}=wr();g({year:C,month:f,day:w,hour:"09",minute:"00",memo:""}),b?.()},handleVisitEditSave:()=>{h(b=>b.map(C=>o!=null&&Vo(C,o)?c:C),c)},addVisit:b=>{a(C=>[b,...C])},removeVisit:b=>{a(C=>C.filter(f=>!Vo(f,b)))},revertVisitEdit:(b,C)=>{a(f=>f.map(w=>w===C?b:w)),n(f=>f===C?b:f)}}}const dg=e=>`${e.year.padStart(4,"0")}-${e.month.padStart(2,"0")}-${e.day.padStart(2,"0")} ${e.hour.padStart(2,"0")}:${e.minute.padStart(2,"0")}`,yn=e=>[...e].sort((t,a)=>{const o=dg(t),n=dg(a);return o<n?-1:o>n?1:0}),aB={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function pg(e,t=[]){const a=s.useMemo(()=>yn(t),[t]),{list:o,setList:n,selected:i,setSelected:l,isEditing:c,setIsEditing:u,editForm:d,setEditForm:h,openDetail:p,commitEdit:m,remove:v}=cg(aB,a),[x,g]=s.useState([]),{year:b,month:C,day:f}=wr(),[w,y]=s.useState({year:b,month:C,day:f,hour:"09",minute:"00",memo:""}),A=H=>T=>y(L=>({...L,[H]:T})),_=H=>{n(K=>yn([...K,w]));const{year:T,month:L,day:I}=wr();y({year:T,month:L,day:I,hour:"09",minute:"00",memo:""}),H?.()},B=()=>{m(H=>yn(H.map(T=>i!=null&&Vo(T,i)?d:T)),d)},k=s.useCallback(H=>{v(H)},[v]),E=s.useCallback(H=>{e({year:H.year,month:H.month,day:H.day,hour:H.hour,minute:H.minute,memo:H.memo,...H.id!=null?{id:H.id}:{}}),v(H)},[e,v]),S=s.useCallback(H=>{n(T=>T.filter(L=>!Vo(L,H))),g(T=>[H,...T]),l(null)},[n,l]),D=s.useCallback(H=>{n(T=>yn([...T,H]))},[n]),$=s.useCallback(H=>{n(T=>T.filter(L=>!Vo(L,H)))},[n]),j=s.useCallback((H,T)=>{n(L=>yn(L.map(I=>I===T?H:I))),l(L=>L===T?H:L)},[n,l]);return{scheduleList:o,noShowList:x,addSchedule:D,removeSchedule:$,revertScheduleEdit:j,scheduleForm:w,setScheduleForm:y,setSchedule:A,selectedSchedule:i,setSelectedSchedule:l,isEditingSchedule:c,setIsEditingSchedule:u,editScheduleForm:d,setEditScheduleForm:h,openScheduleDetail:p,handleScheduleSave:_,handleScheduleEditSave:B,handleScheduleDelete:k,handleScheduleToVisit:E,handleScheduleNoVisit:S}}const _n=[{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 hg(e){const{t}=Ce.useTranslation(),[a,o]=s.useState(""),[n,i]=s.useState("25"),[l,c]=s.useState("all"),[u,d]=s.useState(1),h=s.useMemo(()=>e.filter(({item:g,status:b})=>!(a&&!g.memo.includes(a)||l!=="all"&&b!==l)),[e,a,l]),p=Math.max(1,Math.ceil(h.length/Number(n))),m=Math.min(u,p),v=s.useMemo(()=>h.slice((m-1)*Number(n),m*Number(n)),[h,m,n]),x=s.useMemo(()=>_n.map(g=>({...g,label:t("common.pageSizeLabel",{n:g.value,defaultValue:g.label})})),[t]);return{vapSearch:a,setVapSearch:o,vapPageSize:n,setVapPageSize:i,vapPageSizeOptions:x,vapStatus:l,setVapStatus:c,vapPage:m,setVapPage:d,vapFiltered:h,vapTotal:p,vapPageItems:v}}const oB=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ga(e,t){return oB().compare(e,t)}const Ti=new Map;function rB(e){const t=Ti.get(e);if(t)return t;const a=[],o=/-?\d+(?:\.\d+)?/g;let n=0;for(let i=o.exec(e);i;i=o.exec(e)){let l=i.index,c=i[0];c[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,c=c.slice(1)),l>n&&a.push(e.slice(n,l)),a.push(Number(c)),n=i.index+i[0].length}return n<e.length&&a.push(e.slice(n)),Ti.size>5e3&&Ti.clear(),Ti.set(e,a),a}function nB(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function iB(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),o=a(e),n=a(t);if(o===n)return 0;const i=(d,h)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const p=nB(h);return p!==null?[p]:rB(h)},l=i(e,o),c=i(t,n),u=Math.min(l.length,c.length);for(let d=0;d<u;d++){const h=l[d],p=c[d];if(typeof h=="number"&&typeof p=="number"){if(h!==p)return h-p;continue}if(typeof h=="number")return-1;if(typeof p=="number")return 1;const m=ga(h,p);if(m!==0)return m}return l.length!==c.length?l.length-c.length:ga(o,n)}const mg=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function ku(e,t,a){const o=mg(e),n=mg(t);if(o||n)return o===n?0:o?1:-1;const i=iB(e,t);return a?i:-i}function Bu(e,t,a){const{t:o}=Ce.useTranslation(),[n,i]=s.useState(()=>{const x=a?.initialPageSize;return x&&_n.some(g=>g.value===x)?x:"25"}),[l,c]=s.useState(1),[u,d]=s.useState(t);Object.is(u,t)||(d(t),l!==1&&c(1));const h=s.useMemo(()=>_n.map(x=>({...x,label:o("visits.showN",{n:x.value})})),[o]),p=s.useCallback(x=>{i(x),c(1)},[]),m=Math.max(1,Math.ceil(e.length/Number(n)));(l>m||l<1||!Number.isFinite(l))&&c(Math.min(Math.max(1,Number.isFinite(l)?l:1),m));const v=Math.min(Math.max(1,Number.isFinite(l)?l:1),m);return{pageRows:s.useMemo(()=>e.slice((v-1)*Number(n),v*Number(n)),[e,v,n]),pageSizeProps:{options:h,value:n,onChange:p},paginationProps:{page:v,total:m,onChange:c},setPage:c}}function Au(e){const[t,a]=s.useState(null),o=s.useRef(t),n=s.useRef(e?.onSortChange);n.current=e?.onSortChange;const i=s.useCallback(u=>{const d=o.current,h=d?.key===u?{key:u,asc:!d.asc}:{key:u,asc:!0};o.current=h,a(h),n.current?.(h)},[]),l=s.useCallback((u,d)=>({label:u,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),c=s.useCallback((u,d)=>{if(!t)return u;const{key:h,asc:p}=t;return[...u].sort((m,v)=>ku(d(m,h),d(v,h),p))},[t]);return{sort:t,field:l,sortRows:c}}const bg=e=>e==="left"||e==="right"?e:null;function gg(){const[e,t]=s.useState(!1),[a,o]=s.useState("left"),[n,i]=s.useState({left:null,right:null}),[l,c]=s.useState({left:[],right:[]}),[u,d]=s.useState(!1),[h,p]=s.useState("left"),m=s.useCallback(x=>{const g=bg(x.direction);g&&(i(b=>({...b,[g]:x})),c(b=>({...b,[g]:[x,...b[g]]})),t(!1))},[]),v=s.useCallback(x=>{const g=bg(x.direction);g&&(i(b=>({...b,[g]:x})),d(!1))},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:o,devices:n,setDevices:i,deviceHistory:l,setDeviceHistory:c,showDeviceList:u,setShowDeviceList:d,listForSide:h,setListForSide:p,handleDeviceSubmit:m,handleSelectFromList:v}}const Lt="\uC804\uCCB4";function Su(){const{t:e}=Ce.useTranslation();return s.useMemo(()=>({difficulty:e("wordSearch.filter.difficulty","\uB4F1\uAE09"),syllables:e("wordSearch.filter.syllables","\uC74C\uC808 \uC218"),syllable5plus:e("wordSearch.filter.syllable5plus","5\uC74C\uC808 \uC774\uC0C1"),partOfSpeech:e("wordSearch.filter.partOfSpeech","\uD488\uC0AC"),wordType:e("wordSearch.filter.wordType","\uC720\uD615"),posMap:{[e("wordSearch.filter.pos.noun","\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)")]:["\uBA85","\uC218"],[e("wordSearch.filter.pos.verb","\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)")]:["\uB3D9","\uD615"],[e("wordSearch.filter.pos.modifier","\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)")]:["\uBD80","\uAD00"]},typeMap:{[e("wordSearch.filter.type.native","\uACE0\uC720\uC5B4")]:"\uACE0\uC720",[e("wordSearch.filter.type.sino","\uD55C\uC790\uC5B4")]:"\uD55C\uC790",[e("wordSearch.filter.type.foreign","\uC678\uB798\uC5B4")]:"\uC678\uB798",[e("wordSearch.filter.type.mixed","\uD63C\uC885\uC5B4")]:"\uD63C\uC885"}}),[e])}function Eu(e,t,a){return{label:t.difficulty,items:[...[1,2,3,4].map(o=>e("wordSearch.filter.grade",{n:o})),e("wordSearch.filter.gradeNone","\uC5C6\uC74C")],multiple:!0,allOption:!0,allLabel:a?.allLabel,labelAction:a?.labelAction,labelInfo:a?.labelInfo}}function Du(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function Nu(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function fg(e,t){return{label:t.syllables,items:[e("wordSearch.filter.syllable",{n:1}),e("wordSearch.filter.syllable",{n:2}),e("wordSearch.filter.syllable",{n:3}),e("wordSearch.filter.syllable",{n:4}),t.syllable5plus],multiple:!0,allOption:!0}}function vg(e,t){const a=[e("wordPairs.filter.onlyHasImage","\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC")];return t?.includeStructure&&a.push(e("wordPairs.filter.onlySameStructure","\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC")),{label:e("wordPairs.filter.selectLabel","\uC120\uD0DD"),items:a,multiple:!0,labelAction:t?.labelAction,labelInfo:t?.labelInfo}}function xg(e,t){const{label:a,headValue:o,midValue:n,tailValue:i,includeMid:l=!0,headDisabled:c,midDisabled:u,tailDisabled:d,allOptionDisabled:h,groupLabel:p,labelAction:m}=t;return{label:a,...p?{groupLabel:p}:{},...m?{labelAction:m}:{},allOption:!0,allLabel:e("wordSearch.filter.positionAny",{defaultValue:"\uBB34\uAD00"}),...h?{allOptionDisabled:h}:{},items:[{value:o,displayLabel:e("wordSearch.filter.positionHead",{defaultValue:"\uC5B4\uB450"}),disabled:c},...l?[{value:n,displayLabel:e("wordSearch.filter.positionMid",{defaultValue:"\uC5B4\uC911"}),disabled:u}]:[],{value:i,displayLabel:e("wordSearch.filter.positionTail",{defaultValue:"\uC5B4\uB9D0"}),disabled:d}]}}function Cg(e,t,a){const o=fn(a),n=o&&t!==Lt?Wo(o,t):null;if(o&&(t===Lt||n)){const c={},u={};for(const[v,x]of Object.entries(e))(fn(v)===o?u:c)[v]=x;if(t===Lt)return c;const d=vi(u)[o]??[],h=d.includes(n)?d.filter(v=>v!==n):[...d,n];if(h.length===0)return c;const p=xi({[o]:h},q5(a)),m=Object.values(p)[0]??[];return{...c,[a]:m}}if(t===Lt){const{[a]:c,...u}=e;return u}const i=e[a]??[],l=i.includes(t)?i.filter(c=>c!==t):[...i,t];if(l.length===0){const{[a]:c,...u}=e;return u}return{...e,[a]:l}}Object.fromEntries(Object.entries(nl).map(([e,{nucleus:t}])=>[e,t]));const sB={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},lB={"\uCCB4\uC5B8(\uBA85\uC0AC,\uC218\uC0AC)":["\uBA85","\uC218"],"\uC6A9\uC5B8(\uB3D9\uC0AC,\uD615\uC6A9\uC0AC)":["\uB3D9","\uD615"],"\uC218\uC2DD\uC5B8(\uBD80\uC0AC,\uAD00\uD615\uC0AC)":["\uBD80","\uAD00"]},cB={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",field:"\uC758\uBBF8\uBC94\uC8FC",posMap:lB,typeMap:sB},yg=new WeakMap;function uB(e,t){const a=yg.get(e);if(a&&a.keys===t)return a.value;const o={grades:[],syls:[],poses:[],types:[],fields:[]},n={grade:o.grades,syllables:o.syls,pos:o.poses,wordType:o.types,field:o.fields};for(const[i,l]of Object.entries(e??{})){const c=i===t.difficulty?"grade":i===t.syllables?"syllables":i===t.partOfSpeech?"pos":i===t.wordType?"wordType":i===t.field?"field":fn(i);if(c)for(const u of Array.isArray(l)?l:typeof l=="string"?[l]:[])n[c].includes(u)||n[c].push(u)}return yg.set(e,{keys:t,value:o}),o}function dB(e,t,a=cB){const{grades:o,syls:n,poses:i,types:l}=uB(t,a);if(o.length){const c=o.map(u=>Wo("grade",u)??u.replace(/\D/g,"")).filter(u=>u!=="");if(c.length===0||!Ac(c,e.grade))return!1}if(n.length){const c=e.syllables??0;if(!n.some(u=>{const d=u===a.syllable5plus?"5+":Wo("syllables",u);return d==="5+"?c>=5:c===parseInt(d??u)}))return!1}return!(i.length&&!i.flatMap(c=>a.posMap[c]??F5[Wo("pos",c)??""]??[c]).some(c=>(e.pos??"").includes(c))||l.length&&!l.some(c=>e.wordType===(a.typeMap[c]??W5[Wo("wordType",c)??""])))}const pB={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"})},hB={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"})},mB={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 _g(e,t){if("place"in t)return pB[t.place](e);const a=hB[t.vowel](e);return t.glide?`${a} \xB7 ${mB[t.glide](e)}`:a}const bB=(e,{defaultValue:t})=>t,wg=(e,t)=>({jamos:e,phonetic:t,tooltip:_g(bB,t)}),ao=(e,t)=>t.map(a=>wg([a],{place:e})),qt=(e,t,a)=>wg([...e],a?{vowel:t,glide:a}:{vowel:t}),Tu={cho:[ao("labial",["\u3142","\u3143","\u314D","\u3141"]),ao("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),ao("alveolar",["\u3145","\u3146"]),ao("palatal",["\u3148","\u3149","\u314A"]),ao("velar",["\u3131","\u3132","\u314B"]),ao("glottal",["\u314E"])],jung:[[qt("\u3163","frontHigh"),qt("\u315F","frontHigh","w"),qt("\u3162","frontHigh","velar")],[qt("\u3161","backHighUnrounded")],[qt("\u315C","backHighRounded"),qt("\u3160","backHighRounded","j")],[qt("\u3154\u3150","frontMid"),qt("\u3156\u3152","frontMid","j"),qt("\u3159\u315A\u315E","frontMid","w")],[qt("\u3153","backMidUnrounded"),qt("\u3155","backMidUnrounded","j"),qt("\u315D","backMidUnrounded","w")],[qt("\u3157","backMidRounded"),qt("\u315B","backMidRounded","j")],[qt("\u314F","low"),qt("\u3151","low","j"),qt("\u3158","low","w")]],jong:[ao("labial",["\u3142","\u3141"]),ao("alveolar",["\u3137","\u3134","\u3139"]),ao("velar",["\u3131","\u3147"])]},gB=[...ft],fB=[...At],vB=It.filter(e=>e!==""),Wa=e=>e===Na?[]:Array.from(e),Na="__NO_CODA__",kg=[1,2,3,4],Ta=5,xB=12,Bg="SYL_",ju=e=>`${Bg}${e}`,CB=e=>Number(e.slice(Bg.length));function ji(e){return e>=Ta?Array.from({length:xB-Ta+1},(t,a)=>Ta+a):[e]}const Ag={cho:gB,jung:fB,jong:vB},Lu=e=>e.map(t=>t.map(({jamos:a,phonetic:o,tooltip:n})=>({v:a.join(""),phonetic:o,tooltip:n}))),Mu={cho:Lu(Tu.cho),jung:Lu(Tu.jung),jong:Lu(Tu.jong)},Sg={};Mu.jung.flat().forEach(({v:e})=>{for(const t of Wa(e))Sg[t]=e});const yB=new Set(Mu.cho.flat().map(e=>e.v));function $u(e,t){return e==="cho"?yB.has(t)?t:null:e==="jung"?Sg[t]??t:$o(t)}function Ru(e,t,a){if(e==="jung"){const o=Wa(t);return a&&o.includes(a)?a:o[0]??t}return e==="jong"&&a&&$o(a)===t?a:t}function Pu(e,t,a,o){const n=(i,l)=>l?i==="jong"&&l===Na?Na:t==="pron"?$u(i,l):Ru(i,l,i==="jung"?a:i==="jong"?o:null):null;return{...e,cho:n("cho",e.cho),jung:n("jung",e.jung),jong:n("jong",e.jong)}}const Li={cho:null,jung:null,jong:null,syllable:null},zu=e=>Array.isArray(e)?e.filter(R5):[],_B="wt_filter",Eg=e=>`wt_filter_${e}`,Iu=["noun","verb","modifier"],Ou=["native","sino","foreign","mixed"];function Dg(e,t,a,o,n){if(!Array.isArray(e))return[];const i=[];for(const l of e){if(typeof l!="string")continue;const c=t.includes(l)?l:t.find(u=>n.some(d=>o(d,a(u))===l));c&&!i.includes(c)&&i.push(c)}return i}function Ng(e){try{const t=localStorage.getItem(Eg(e))??localStorage.getItem(_B);if(t)return JSON.parse(t)}catch{}return null}function Tg(e){const t=e?.phonemeView;return t==="pron"?"pron":t==="direct"?"direct":"char"}function wB(e){const t=e;return t?.composition?{cho:t.composition.cho??null,jung:t.composition.jung??null,jong:t.composition.jong??null,syllable:t.composition.syllable??null}:t?.choseong?{...Li,cho:t.choseong}:Li}const jg=["1\uB4F1\uAE09 : \uD559\uB839\uC804\uAE30\uC5D0 \uC2B5\uB4DD\uD558\uC5EC \uD3C9\uC0DD\uC5D0 \uAC78\uCCD0 \uC77C\uC0C1 \uC5B8\uC5B4\uC0DD\uD65C\uC744 \uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uB294 \uC5B4\uD718","2\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 1-2\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","3\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 3-4\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","4\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 5-6\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","\uB4F1\uAE09\uC5C6\uC74C : \uAD6D\uB9BD\uAD6D\uC5B4\uC6D0 \uD45C\uC900 \uC5B4\uD718 \uC678 \uACE0\uBE48\uB3C4 \uC0DD\uD65C \uC5B4\uD718, \uC2E0\uC870\uC5B4 \uBC0F \uC678\uB798\uC5B4"];function Fu(e){const t=e("wordPairs.filter.difficultyInfo",{returnObjects:!0,defaultValue:jg});return Array.isArray(t)&&t.length>0&&t.every(a=>typeof a=="string")?t:jg}function Lg(e,t,a){const{t:o,i18n:n}=Ce.useTranslation(),[i]=s.useState(()=>a?.resetOnMount?null:Ng(e)),[l,c]=s.useState(Tg(i)),[u,d]=s.useState(()=>wB(i)),h=s.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:Na,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?Na:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);s.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||d(q=>q.cho||q.jung||q.syllable!=null||q.jong?q:h())},[]);const p=s.useMemo(()=>Ot(u.cho)||Ot(u.jung)||Ot(u.jong)?"count":"random",[u.cho,u.jung,u.jong]),m=s.useRef(l==="char"?u.jung:null),v=s.useRef(l==="char"?u.jong:null);s.useEffect(()=>{l==="char"&&(m.current=u.jung,v.current=u.jong)},[l,u.jung,u.jong]);const[x,g]=s.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[b,C]=s.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[f,w]=s.useState(zu(i?.gradeFilter)),y=Array.from(new Set([n.language,"ko","en"].filter(Boolean))),A=(q,ae)=>n.getFixedT(q)(ae),_=q=>Dg(q,Iu,ae=>`wordSearch.filter.pos.${ae}`,A,y),B=q=>Dg(q,Ou,ae=>`wordSearch.filter.type.${ae}`,A,y),[k,E]=s.useState(()=>_(i?.posFilter)),[S,D]=s.useState(()=>B(i?.wordTypeFilter)),$=s.useRef(a?.resetKey);s.useEffect(()=>{$.current!==a?.resetKey&&($.current=a?.resetKey,d(h()),g(!!a?.defaultImageOnly),C(!1),w([]),E([]),D([]))},[a?.resetKey]);const j=Su(),H=s.useMemo(()=>Object.keys(j.posMap),[j]),T=s.useMemo(()=>Object.keys(j.typeMap),[j]),L=s.useMemo(()=>k.map(q=>H[Iu.indexOf(q)]).filter(Boolean),[k,H]),I=s.useMemo(()=>S.map(q=>T[Ou.indexOf(q)]).filter(Boolean),[S,T]),[K,Y]=s.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[M,G]=s.useState(!1),[z,V]=s.useState(null),W=1,O=Math.max(1,[u.cho,u.jung,u.jong].filter(Boolean).length),[N,P]=s.useState(e);s.useEffect(()=>{if(N!==e){if(!a?.resetOnMount){const q=Ng(e);d(q?.composition??h()),g(q?.excludeNoImage??!0),C(q?.sameStructureOnly??!0),c(Tg(q)),w(zu(q?.gradeFilter)),E(_(q?.posFilter)),D(B(q?.wordTypeFilter))}P(e)}},[e,N,a?.resetOnMount]),s.useEffect(()=>{if(!a?.resetOnMount&&N===e)try{localStorage.setItem(Eg(e),JSON.stringify({contrastCount:O,composition:u,excludeNoImage:x,sameStructureOnly:b,phonemeView:l,gradeFilter:f,posFilter:k,wordTypeFilter:S}))}catch{}},[a?.resetOnMount,e,N,O,u,x,b,l,f,k,S]);const[F,X]=s.useState(0);Cn("wordpool:update",()=>X(q=>q+1));const ie=s.useRef(n.language);s.useEffect(()=>{ie.current!==n.language&&(ie.current=n.language,X(q=>q+1))},[n.language]),s.useEffect(()=>{if(!t.choseong)return;let q=!1;return x3({difficulty:p,excludeNoImage:x}).then(ae=>{q||(Y(ae),ae.cho.size+ae.jung.size+ae.jong.size>0&&G(!0))}).catch(()=>{q||Y({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{q=!0}},[t.choseong,p,x,F]),s.useEffect(()=>{let q=!1;const ae=u,fe=ae.cho?Wa(ae.cho):null,Ee=ae.jung?Wa(ae.jung):null,Ae=ae.jong===Na,$e=Ae?null:ae.jong?Wa(ae.jong):null,Ge=ae.syllable!=null?ji(ae.syllable):null,pt=!!(fe||Ee||$e||Ae||Ge);return v3({difficulty:t.difficulty?p:null,contrastCount:t.difficulty?O:1,composition:t.choseong&&pt?{cho:fe,jung:Ee,jong:$e,jongNone:Ae,syllable:Ge}:null,excludeNoImage:x,sameStructureOnly:b,phonemeView:l==="pron"?"pron":"char",grade:f.length>0?f:null}).then(st=>{q||V(st)}).catch(()=>{q||V(null)}),()=>{q=!0}},[t.choseong,t.difficulty,p,O,u,l,x,b,F,f]),s.useEffect(()=>{M&&d(q=>{const ae={...q};let fe=!1;return["cho","jung","jong"].forEach(Ee=>{const Ae=q[Ee];!Ae||Ae===Na||Wa(Ae).some($e=>K[Ee].has($e))||(ae[Ee]=null,fe=!0)}),q.syllable!=null&&t.fixedSyllable==null&&(q.syllable>=Ta?[...K.syllable].some(Ee=>Ee>=Ta)||(ae.syllable=null,fe=!0):(!K.syllable.has(q.syllable)||q.syllable<W)&&(ae.syllable=null,fe=!0)),fe?ae:q})},[K,M,W,t.fixedSyllable]);const oe=s.useMemo(()=>{const q=ae=>{const fe=new Set;for(const Ee of Ag[ae])K[ae].has(Ee)&&fe.add(Ee);return fe};return{cho:q("cho"),jung:q("jung"),jong:q("jong")}},[K]),de=s.useMemo(()=>({exact:new Set(kg.filter(q=>K.syllable.has(q))),min:[...K.syllable].some(q=>q>=Ta)}),[K]),U=s.useMemo(()=>({composition:o("wordPairs.composition","\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131"),syllableCount:o("wordPairs.syllableCount","\uC74C\uC808 \uC218"),onset:o("wordPairs.onset","\uCD08\uC131"),vowel:o("wordPairs.vowel","\uBAA8\uC74C"),coda:o("wordPairs.coda","\uC885\uC131"),phonemeGroup:o("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),trainOnset:o("training.filter.trainOnset",{defaultValue:"\uCD08\uC131"}),trainVowel:o("training.filter.trainVowel",{defaultValue:"\uBAA8\uC74C"}),trainCoda:o("training.filter.trainCoda",{defaultValue:"\uC885\uC131"}),random:o("training.filter.random","\uBB34\uC791\uC704"),exclude:o("wordSearch.filter.exclude","\uC81C\uC678"),selectLabel:o("training.filter.selectSection",{defaultValue:"\uC120\uD0DD"}),none:o("common.none","\uC5C6\uC74C"),noImage:o("wordSearch.filter.excludeNoImage","\uC774\uBBF8\uC9C0 \uC5C6\uC74C"),excludeImage:o("training.filter.excludeImage",{defaultValue:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC"}),sameStructure:o("training.filter.sameStructure",{defaultValue:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"}),noLimit:o("training.filter.noLimit",{defaultValue:"\uBB34\uAD00"}),codaExclude:o("training.filter.codaExclude",{defaultValue:"\uC81C\uC678"}),gradeLabel:o("training.filter.gradeLabel",{defaultValue:"\uB09C\uC774\uB3C4 \uB4F1\uAE09"})}),[o]),se=s.useMemo(()=>({[U.trainOnset]:"cho",[U.trainVowel]:"jung",[U.trainCoda]:"jong"}),[U]),Se=s.useCallback((q,ae)=>({title:ae,items:q}),[]),Z=s.useMemo(()=>[o("training.filter.excludeImageInfo",{defaultValue:"\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."}),o("training.filter.sameStructureInfo",{defaultValue:"\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."})],[o]),ee=s.useMemo(()=>{const q=[];if(t.choseong){const ae={value:Na,displayLabel:U.codaExclude},fe=t.fixedNoCoda===!0,Ee=(Ae,$e)=>{const Ge=fe&&Ae==="jong",pt={label:$e,groupLabel:U.phonemeGroup,allOption:!t.requireSyllable,allLabel:U.noLimit,allOptionDisabled:Ge};if(l==="pron"){const rt=Mu[Ae].map(vt=>vt.map(({v:De,phonetic:Ve})=>{const ke=Wa(De),qe=_g(o,Ve),Ne=Ge||!ke.some(Re=>K[Ae].has(Re));return ke.length>1?{value:De,labels:ke,tooltip:qe,disabled:Ne}:{value:De,tooltip:qe,disabled:Ne}}));return Ae==="jong"&&!t.requireCoda&&rt.unshift([ae]),{...pt,groups:rt}}const st=Ag[Ae].map(rt=>!Ge&&oe[Ae].has(rt)?rt:{value:rt,disabled:!0});return{...pt,items:Ae==="jong"&&!t.requireCoda?[ae,...st]:st}};q.push(Ee("cho",U.trainOnset)),q.push(Ee("jung",U.trainVowel)),q.push(Ee("jong",U.trainCoda))}if(q.push({...Eu(o,j,{labelInfo:Se(Fu(o))}),label:U.gradeLabel}),t.partOfSpeech&&q.push(Du(j)),t.wordType&&q.push(Nu(j)),t.choseong||t.fixedSyllable!=null){const ae=t.fixedSyllable;q.push({label:U.syllableCount,items:[...kg.map(fe=>({value:ju(fe),displayLabel:o("wordPairs.syllableN",{n:fe,defaultValue:"{{n}}\uC74C\uC808"}),disabled:ae!=null?fe!==ae:!de.exact.has(fe)||fe<W})),{value:ju(Ta),displayLabel:o("wordPairs.syllableNPlus",{n:Ta,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:ae!=null?Ta!==ae:!de.min}],allOption:!0,allOptionDisabled:ae!=null})}return t.choseong?q.push({label:U.exclude,displayLabel:U.selectLabel,multiple:!0,items:[U.excludeImage,U.sameStructure],labelInfo:Se(Z)}):q.push({label:U.exclude,displayLabel:U.selectLabel,multiple:!0,items:[U.excludeImage],labelInfo:Se([Z[0]])}),q},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,W,oe,K,l,de,U,o,Se,Z,j]),me={...(t.choseong||t.fixedSyllable!=null)&&u.syllable!=null?{[U.syllableCount]:ju(u.syllable)}:{},...t.choseong&&u.cho?{[U.trainOnset]:u.cho}:{},...t.choseong&&u.jung?{[U.trainVowel]:u.jung}:{},...t.choseong&&u.jong?{[U.trainCoda]:u.jong}:{},[U.exclude]:[...x?[U.excludeImage]:[],...b?[U.sameStructure]:[]],[U.gradeLabel]:f.map(q=>V5("grade",q)),...t.partOfSpeech?{[j.partOfSpeech]:L}:{},...t.wordType?{[j.wordType]:I}:{}},Le=s.useCallback((q,ae)=>{if(ae===U.exclude)q===U.excludeImage?g(fe=>!fe):q===U.sameStructure&&C(fe=>!fe);else if(ae===U.syllableCount)d(fe=>{if(!q||q===Lt)return{...fe,syllable:null};const Ee=CB(q);return{...fe,syllable:fe.syllable===Ee?null:Ee}});else if(ae===U.gradeLabel){if(!q||q===Lt){w([]);return}const fe=Wo("grade",q);if(fe==null)return;w(Ee=>Ee.includes(fe)?Ee.filter(Ae=>Ae!==fe):[...Ee,fe])}else if(ae===j.partOfSpeech){if(!q||q===Lt){E([]);return}const fe=Iu[H.indexOf(q)]??_([q])[0];if(!fe)return;E(Ee=>Ee.includes(fe)?Ee.filter(Ae=>Ae!==fe):[...Ee,fe])}else if(ae===j.wordType){if(!q||q===Lt){D([]);return}const fe=Ou[T.indexOf(q)]??B([q])[0];if(!fe)return;D(Ee=>Ee.includes(fe)?Ee.filter(Ae=>Ae!==fe):[...Ee,fe])}else{const fe=se[ae];if(!fe)return;d(Ee=>t.requireSyllable?q&&q!==Lt?{...Ee,[fe]:q}:Ee:!q||q===Lt||Ee[fe]===q?{...Ee,[fe]:null}:{...Ee,[fe]:q})}},[U,se,j,H,T,t.requireSyllable]),ye=s.useCallback(q=>!t.partOfSpeech&&!t.wordType?!0:dB(q,{...t.partOfSpeech?{[j.partOfSpeech]:L}:{},...t.wordType?{[j.wordType]:I}:{}},j),[t.partOfSpeech,t.wordType,L,I,j]),re=s.useCallback(q=>{q!==l&&(q!=="direct"&&l!=="direct"&&d(ae=>Pu(ae,q,m.current,v.current)),c(q))},[l]),pe=s.useCallback(()=>({composition:u,contrastCount:O,excludeNoImage:x,sameStructureOnly:b,phonemeView:l,gradeFilter:f,posFilter:k,wordTypeFilter:S}),[u,O,x,b,l,f,k,S]),ve=s.useCallback(q=>{d(q.composition),g(q.excludeNoImage),C(q.sameStructureOnly??!0),c(q.phonemeView),w(zu(q.gradeFilter)),Array.isArray(q.posFilter)&&E(_(q.posFilter)),Array.isArray(q.wordTypeFilter)&&D(B(q.wordTypeFilter))},[]);return{difficulty:p,contrastCount:O,composition:u,choseong:u.cho,excludeNoImage:x,sameStructureOnly:b,gradeFilter:f,posFilter:L,wordTypeFilter:I,matchesWordAttributes:ye,poolVersion:F,filterSections:ee,filterSelected:me,handleFilterSelect:Le,phonemeView:l,setPhonemeView:re,phonemeGroupLabel:U.phonemeGroup,wordCount:z,getFilterSnapshot:pe,restoreFilterSnapshot:ve}}function kB(e){const t=c=>c?Wa(c):null,a=t(e.cho),o=t(e.jung),n=e.jong===Na,i=n?null:t(e.jong),l=e.syllable!=null?ji(e.syllable):null;return!a&&!o&&!i&&!n&&!l?null:{cho:a,jung:o,jong:i,jongNone:n,syllable:l}}function Mg(e,t,a,o,n,i,l=!0,c="char",u=[]){const[d,h]=s.useState({}),[p,m]=s.useState(!1),{cho:v=null,jung:x=null,jong:g=null,syllable:b=null}=o??{},C=u.length>0?u.slice().sort().join(","):"",f=e.map(y=>y.key).join("|");s.useEffect(()=>{i>0&&f3(n).catch(()=>{})},[i,n]),s.useEffect(()=>{let y=!1;return m(!0),(async()=>{const A=kB({cho:v,jung:x,jong:g,syllable:b}),_=`${v??""}_${x??""}_${g??""}_${b??""}_${C}`,B={};await Promise.all(e.map(async k=>{const E=dr[k.key];try{const S=await Sb(k.key,{difficulty:E.difficulty?t:null,contrastCount:E.difficulty?a:1,composition:E.choseong?A:null,count:5,excludeNoImage:n,sameStructureOnly:l,phonemeView:c,grade:u.length>0?u:null});S&&S.length>0?B[k.key]={id:`wt-${k.key}-${t}-${_}-${Date.now()}`,name:k.label,training_type:k.key,category_main_code:"WORD",iconColor:k.color,subTitle:k.subTitle,items:S,itemCount:S.length}:B[k.key]={id:`wt-${k.key}-empty`,name:k.label,training_type:k.key,category_main_code:"WORD",iconColor:k.color,subTitle:k.subTitle,items:[],itemCount:0,__empty:!0}}catch{B[k.key]=null}})),y||(h(B),m(!1))})(),()=>{y=!0}},[t,a,v,x,g,b,n,l,c,i,C,f]);const w=JSON.stringify(e.map(y=>[y.key,y.label,y.color,y.subTitle]));return{perTypeData:s.useMemo(()=>{const y={};for(const[A,_]of Object.entries(d)){const B=e.find(k=>k.key===A);y[A]=_&&B?{..._,name:B.label,iconColor:B.color,subTitle:B.subTitle}:_}return y},[d,w]),generating:p}}function $g(e){let t=2166136261;for(let a=0;a<e.length;a++)t^=e.charCodeAt(a),t=Math.imul(t,16777619);return t>>>0}function BB(e){let t=e>>>0;return()=>{t|=0,t=t+1831565813|0;let a=Math.imul(t^t>>>15,1|t);return a=a+Math.imul(a^a>>>7,61|a)^a,((a^a>>>14)>>>0)/4294967296}}const AB=Sa,SB=e=>{const[t,a,o]=e.split("-").map(Number);return Math.round(Date.UTC(t,(a||1)-1,o||1)/864e5)},EB=(e,t)=>{const a=e??{};return String(a.id??a.name??t)};function Mi(e,t,a,o,n){if(!e.length||t<=0)return[];const i=BB($g(`${a}|${o}|${n}`)),l=SB(o)&1,c=e.filter((d,h)=>($g(`${a}|${n}|${EB(d,h)}`)>>>7&1)===l),u=c.length>=t&&e.length-c.length>=t;return AB(u?c:e,t,i)}function Wu(e,t,a){const o=n=>Math.max(0,e[n]||0);return{LISTEN_IN_NOISE:Mi(go,o("LISTEN_IN_NOISE"),t,a,"LISTEN_IN_NOISE"),SHORT_STORY:Mi(fo,o("SHORT_STORY"),t,a,"SHORT_STORY"),LONG_STORY:Mi(vo,o("LONG_STORY"),t,a,"LONG_STORY"),ORDERING_SENTENCE:Mi(xo,o("ORDERING_SENTENCE"),t,a,"ORDERING_SENTENCE")}}function Gu(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const DB={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function Hu(e=!1,t=DB,a){const o=Oa(Date.now()),n=Oa(Date.now()-864e5),i=a??"";return go.length>0||fo.length>0||vo.length>0||xo.length>0?{today:Wu(t,i,o),yesterday:Wu(t,i,n)}:{today:Wu(t,i,o),yesterday:null}}function Rg(e){const t=s.useRef({LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),a=s.useRef(null),[o,n]=s.useState(!1),[i,l]=s.useState(!1),[c,u]=s.useState(0),[d,h]=s.useState(!1),[p,m]=s.useState(()=>ya());s.useEffect(()=>{const x=()=>{const b=Date.now(),C=new Date(b+9*36e5),f=Date.UTC(C.getUTCFullYear(),C.getUTCMonth(),C.getUTCDate()+1)-9*36e5;return Math.max(1e3,f-b+1e3)};let g=setTimeout(function b(){m(ya()),g=setTimeout(b,x())},x());return()=>clearTimeout(g)},[]),s.useEffect(()=>{let x=!1,g=!1,b=!1,C,f=0,w=null,y=0;const A=40,_=()=>{C!==void 0&&(clearInterval(C),C=void 0)};let B=!1;try{const $=new URLSearchParams(window.location.search),j=$.get("forceRefresh")||$.get("force");B=j==="1"||j==="true"}catch{}const k=$=>{g||(b=!0,t.current=$.today,a.current=$.yesterday,n(!0),h(!0),u(j=>j+1),x=!0,_())},E=async()=>{if(x)return;if(!B){const j=Hu(!1,void 0,e);if(Gu(j.today)){k(j);return}}if(w){++f>=A&&S();return}if(f>=y){y=f+8,w=wc(3e3).catch(()=>!1);try{await w}finally{w=null}if(x)return}const $=Hu(B,void 0,e);if(Gu($.today)){k($);return}++f>=A&&S()};function S(){n(!0),h(!1),x=!0,_()}const D=()=>{if(g||b)return;const $=Hu(B,void 0,e);Gu($.today)&&k($)};try{window.addEventListener("speechear.data.updated",D)}catch{}return E(),C=setInterval(E,250),()=>{x=!0,g=!0,_();try{window.removeEventListener("speechear.data.updated",D)}catch{}}},[e,p]);const v=s.useCallback(x=>{const g=i?a.current:t.current,b=i?t.current:a.current;return g?.[x]?.length?g[x]:b?.[x]?.length?b[x]:void 0},[i,c]);return{loaded:o,hasData:d,showYesterday:i,setShowYesterday:l,getTrainingPerType:v}}function Vu(e,t=!0){const a=xn(e);s.useEffect(()=>{if(t)return Go(()=>{a.current?.()})},[t,a])}const $i=(e,t)=>`${e}:${t??1}`,Ri=new Map,Pg=new Set,zg=new Map,NB=6e4;function Ig(e,t){const[a,o]=s.useState(0),n=Array.from(new Set(e.map(i=>$i(i.word,i.homonum)))).sort().join("|");return s.useEffect(()=>{const i=n?n.split("|"):[],l=Date.now(),c=i.filter(h=>!Ri.has(h)&&!Pg.has(h)&&!(l-(zg.get(h)??-1/0)<NB));if(c.length===0)return;let u=!1;const d=Array.from(new Set(c.map(h=>h.slice(0,h.lastIndexOf(":")))));return t(d).then(h=>{for(const p of h)p.Meaning&&Ri.set($i(p.Word,p.Homonum??void 0),p.Meaning);if(h.length>0)for(const p of c)Ri.has(p)||Pg.add(p);else{const p=Date.now();for(const m of c)zg.set(m,p)}u||h.length===0||o(p=>p+1)}).catch(()=>{}),()=>{u=!0}},[n,t]),s.useMemo(()=>{const i=n?n.split("|"):[],l=new Map;for(const c of i){const u=Ri.get(c);u!=null&&l.set(c,u)}return l},[n,a])}function Uo(){const[e,t]=s.useState(null),a=s.useCallback(i=>t(i.getBoundingClientRect()),[]),o=s.useCallback(()=>t(null),[]),n=s.useCallback(i=>{const l=i.getBoundingClientRect();t(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:o,toggleAt:n}}function Uu(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useRef(null);s.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const l=s.useCallback((u,d)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(u),n(d)},e)},[e]),c=s.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),n(null)},[]);return{payload:t,anchorRect:o,openAfterDelay:l,close:c}}function Og(e,t,a){const o=Number.isFinite(t)&&t>=1?Math.floor(t):1,n=Math.max(1,Math.ceil(e.length/o)),i=Number.isFinite(a)?Math.min(Math.max(1,Math.floor(a)),n):1;return{pageItems:s.useMemo(()=>e.slice((i-1)*o,i*o),[e,i,o]),totalPages:n,curPage:i}}function qu(e,t){const[a,o]=s.useState(e);a!==e&&(o(e),t(1))}function Fg(e={}){const{defaultPageSize:t="25",resetOn:a}=e,[o,n]=s.useState(""),[i,l]=s.useState(t),[c,u]=s.useState(1),d=Number(t)||25,h=Number(i)||d;return qu([o,i,...a??[]].map(String).join("|"),u),{query:o,setQuery:n,pageSize:i,setPageSize:l,perPage:h,page:c,setPage:u}}function Pi(e="warning"){const[t,a]=s.useState(""),[o,n]=s.useState(e),[i,l]=s.useState(0),c=s.useCallback((p,m)=>{n(m),a(p),l(v=>v+1)},[]),u=s.useCallback(p=>c(p,"warning"),[c]),d=s.useCallback(p=>c(p,"normal"),[c]),h=s.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:o,toastKey:i,showToast:c,showWarning:u,showNormal:d,clearToast:h}}const wn={blue:"#60A5FA",green:"#4ADE80",amber:"#FBBF24",purple:"#A78BFA",pink:"#F472B6"},kn=wn.blue,zi=wn.green,Bn=wn.amber,Ii=wn.purple,TB=wn.pink,jB=[{key:"discrimination",label:"\uBCC0\uBCC4\uD6C8\uB828",disc:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0, \uB610\uB294 \uD2B9\uC815 \uC18C\uB9AC\uB97C \uAD6C\uBCC4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"ear",types:[{key:"SAME_SOUND_PICK",label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",icon:"volume-2",color:kn,subTitle:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"SAME_OR_DIFF",label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",icon:"diff",color:kn,subTitle:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},{key:"HEAR_AND_PICK_SAME",label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"headphones",color:kn,subTitle:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"HEAR_AND_PICK_INCLUDED",label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"scan-search",color:kn,subTitle:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"STARTS_WITH_SAME_SOUND",label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"play-circle",color:kn,subTitle:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."}]},{key:"synthesis",label:"\uD569\uC131\uD6C8\uB828",disc:"\uB450 \uAC1C \uC774\uC0C1\uC758 \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uD569\uCCD0 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"git-merge",types:[{key:"MERGE_2_SYLLABLES",label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",icon:"link-2",color:zi,subTitle:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_3_SYLLABLES",label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",icon:"git-merge",color:zi,subTitle:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_2_PHONEMES",label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",icon:"combine",color:zi,subTitle:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_3_PHONEMES",label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",icon:"braces",color:zi,subTitle:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"}]},{key:"deletion",label:"\uD0C8\uB77D\uD6C8\uB828",disc:"\uB2E8\uC5B4\uC5D0\uC11C \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uC81C\uAC70\uD588\uC744 \uB54C \uB0A8\uB294 \uC18C\uB9AC\uB97C \uC778\uC2DD\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"scissors",types:[{key:"DROP_1_FROM_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C 1\uC74C\uC808 \uD0C8\uB77D",icon:"scissors",color:Bn,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_1_FROM_3SYLL",label:"3\uC74C\uC808\uC5D0\uC11C 1\uC74C\uC808 \uD0C8\uB77D",icon:"minus-circle",color:Bn,subTitle:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_PART_FROM_COMPOUND",label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84\uD0C8\uB77D",icon:"unlink",color:Bn,subTitle:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_FINAL_CONSONANT_FROM_1SYLL",label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",icon:"eraser",color:Bn,subTitle:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"REMOVE_CONSONANT_AND_IDENTIFY_PHONEME",label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",icon:"audio-lines",color:Bn,subTitle:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"}]},{key:"substitution",label:"\uB300\uCE58\uD6C8\uB828",disc:"\uB2E8\uC5B4\uC758 \uC77C\uBD80 \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uBC14\uAFB8\uC5B4 \uC0C8\uB85C\uC6B4 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"replace",types:[{key:"CHANGE_1_SYLL_IN_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",icon:"replace",color:Ii,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_SYLL_IN_3SYLL",label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",icon:"shuffle",color:Ii,subTitle:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_PHONEME_IN_1SYLL",label:"1\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC18C \uBC14\uAFB8\uAE30",icon:"arrow-right-left",color:Ii,subTitle:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_PHONEME_IN_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC18C \uBC14\uAFB8\uAE30",icon:"flip-horizontal",color:Ii,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}]},{key:"attention",label:"\uCCAD\uAC01\uC801\uC8FC\uC758\uB825\uD6C8\uB828",disc:"\uC5EC\uB7EC \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uC21C\uC11C\uB97C \uAE30\uC5B5\uD558\uB294 \uC8FC\uC758\uB825\uACFC \uB2E8\uAE30 \uAE30\uC5B5 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"list-ordered",types:[{key:"LISTEN_AND_REMEMBER_ORDER",label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",icon:"list-ordered",color:TB,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function Wg(){const{t:e}=Ce.useTranslation();return s.useMemo(()=>{const t=Object.fromEntries(pb(e).map(o=>[o.key,o.label])),a={...t};return jB.flatMap(o=>o.types).forEach(o=>{a[o.key]=e(`trainingType.${o.key}.label`,{defaultValue:o.label})}),{sentence:t,all:a}},[e])}function An(e){let t=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const o=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(o)&&o>t&&(t=o)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function qo({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:o}){const[n,i]=s.useState(!1),[l,c]=s.useState({position:"fixed"}),u=s.useRef(null),d=s.useRef(null),h=s.useCallback(()=>{u.current&&c(e(u.current.getBoundingClientRect(),u.current))},[e]);s.useLayoutEffect(()=>{n&&h()},[n,h]),s.useEffect(()=>{if(!n)return;let v=d.current?.offsetHeight??0;v>0&&h();let x=0,g=null;typeof ResizeObserver<"u"&&d.current&&(g=new ResizeObserver(()=>{const B=d.current?.offsetHeight??0;if(B!==v){if(v=B,++x>4){g?.disconnect(),g=null;return}h()}}),g.observe(d.current));const b=B=>{const k=B.target;o&&k.closest?.(o)||u.current?.contains(k)||d.current?.contains(k)||i(!1)};document.addEventListener("mousedown",b),document.addEventListener("pointerdown",b);let C=null;const f=()=>{if(typeof requestAnimationFrame>"u"){h();return}C===null&&(C=requestAnimationFrame(()=>{C=null,h()}))},w=B=>{d.current?.contains(B.target)||(t==="reposition"?f():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",w,!0);const y=()=>{a==="reposition"?f():a==="close"&&i(!1)};let A=null;const _=()=>{y(),A&&clearTimeout(A),A=setTimeout(()=>{A=null,a==="reposition"&&h()},250)};return a!=="ignore"&&(window.addEventListener("resize",y),window.addEventListener("orientationchange",_)),()=>{C!==null&&cancelAnimationFrame(C),g?.disconnect(),document.removeEventListener("mousedown",b),document.removeEventListener("pointerdown",b),t!=="ignore"&&window.removeEventListener("scroll",w,!0),a!=="ignore"&&(window.removeEventListener("resize",y),window.removeEventListener("orientationchange",_)),A&&clearTimeout(A)}},[n,h,t,a,o]),s.useEffect(()=>{if(n)return Go(()=>i(!1))},[n]);const p=s.useCallback(()=>i(v=>!v),[]),m=s.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:p,close:m,style:l,triggerRef:u,menuRef:d}}function Yu(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:o,onComplete:n,playMs:i=1100,feedbackMs:l=1500}={}){const[c,u]=s.useState([]),[d,h]=s.useState(0),[p,m]=s.useState("idle"),[v,x]=s.useState(null),[g,b]=s.useState([]),[C,f]=s.useState(null),[w,y]=s.useState(0),A=s.useRef(0),_=s.useCallback(z=>{A.current=typeof z=="function"?z(A.current):z,y(A.current)},[]),B=s.useRef(o),k=s.useRef(n);s.useEffect(()=>{B.current=o,k.current=n},[o,n]);const E=s.useRef([]),S=()=>{E.current.forEach(clearTimeout),E.current=[]},D=(z,V)=>{E.current.push(setTimeout(V,z))};s.useEffect(()=>()=>S(),[]);const $=c[d]?.id??null,j=s.useRef(null),H=s.useCallback(()=>{S(),m("playing"),b([]),f(null),_(0);let z=0;e.forEach((V,W)=>{D(z,()=>{h(W),x(V.id),B.current?.(V)}),D(z+1e3,()=>{x(null),b(O=>[...O,V.id])}),z+=1300}),D(z,()=>{m("done"),k.current?.({score:0,total:e.length})})},[e,_]),T=s.useCallback((z,V)=>{if(V>=z.length){m("done"),k.current?.({score:A.current,total:z.length});return}j.current=null,h(V),f(null),m("playing"),x(z[V].id),B.current?.(z[V]),D(i,()=>{x(null),m("waiting")})},[i]),L=s.useCallback(()=>{S();const z=ut(e);u(z),_(0),b([]),T(z,0)},[e,T,_]),I=s.useCallback(()=>{t==="playback"?(u(e),H()):L()},[t,e,H,L]),K=s.useCallback(()=>{S(),m("idle"),x(null),b([]),f(null),h(0),_(0),u([])},[_]),Y=e.map(z=>z.id).join("|");s.useEffect(()=>(a?I():K(),()=>S()),[t,Y,a]);const M=s.useCallback(z=>{p!=="waiting"||t==="playback"||j.current===d||(j.current=d,f(z),z===c[d]?.id&&_(V=>V+1),t==="exam"?(m("playing"),D(400,()=>T(c,d+1))):(m("feedback"),D(l,()=>T(c,d+1))))},[p,t,c,d,T,l,_]),G=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:v,playedIds:g,selectedId:C,answerId:$,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:M},index:d,total:G,score:w,phase:p,done:p==="done",start:I,reset:K}}const Ku=new Map,Xu=new Map;function Gg(e){const t=/^data:image\/svg\+xml(;base64)?,([\s\S]*)$/.exec(e);if(!t)return null;try{return t[1]?atob(t[2]):decodeURIComponent(t[2])}catch{return null}}function LB(e){return e.replace(/<script[\s\S]*?<\/script\s*>/gi,"").replace(/<script[^>]*\/>/gi,"").replace(/\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi,"").replace(/\s(xlink:)?href\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi,"")}function MB(e,t){const a=new Set;for(const l of e.matchAll(/url\(#([^)\s"']+)\)/g))a.add(l[1]);for(const l of e.matchAll(/(?:xlink:)?href="#([^"]+)"/g))a.add(l[1]);const o=new Set([...e.matchAll(/id="([^"]*)"/g)].map(l=>l[1])),n=[...a].filter(l=>o.has(l));if(n.length===0)return e;let i=e;for(const l of n){const c=l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=`${t}-${l}`;i=i.replace(new RegExp(`id="${c}"`,"g"),`id="${u}"`).replace(new RegExp(`url\\(#${c}\\)`,"g"),`url(#${u})`).replace(new RegExp(`((?:xlink:)?href)="#${c}"`,"g"),`$1="#${u}"`)}return i}function $B(e){const t=Xu.get(e);if(t)return t;const a=fetch(e).then(o=>o.ok?o.text():null).then(o=>(o!=null&&Ku.set(e,o),o)).catch(()=>null).finally(()=>{Xu.delete(e)});return Xu.set(e,a),a}function Zu(e,t=!0){const a=t&&e?Gg(e)??Ku.get(e)??null:null,[o,n]=s.useState(a);return s.useEffect(()=>{if(!t||!e){n(null);return}const i=Gg(e)??Ku.get(e)??null;if(i!==null){n(i);return}let l=!0;return $B(e).then(c=>{l&&n(c)}),()=>{l=!1}},[e,t]),o}var RB=Object.freeze({__proto__:null,CACHE_GROUPS:_u,CORE_VERSION:Fn,DocumentTitleSuppressContext:Cu,EMPTY_COMPOSITION:Li,MediaQueryOverrideContext:Ei,NO_CODA:Na,SYLLABLE_MIN:Ta,VAP_PAGE_SIZE_OPTIONS:_n,buildGradeSection:Eu,buildPartOfSpeechSection:Du,buildPositionSection:xg,buildSelectSection:vg,buildSyllableSection:fg,buildWordTypeSection:Nu,charToPronValue:$u,convertComposition:Pu,fmtBytes:ig,gradeDescriptions:Fu,lsBytes:wu,meaningKey:$i,normalizeWordAttributeFilter:mb,pronToCharValue:Ru,syllableToFilter:ji,toWordAttributeFilterCodes:vi,today:wr,toggleAttributeFilter:Cg,useAnchoredMenu:qo,useCacheManagement:sg,useDailyTrainingSelection:Rg,useDelayedHoverAnchor:Uu,useDeviceManagement:gg,useDocumentTitle:yu,useEscToClose:Vu,useFontScale:Ni,useHoverAnchor:Uo,useInlineSvg:Zu,useListControls:Fg,useMediaQuery:ua,usePageResetOnChange:qu,usePagedList:Og,usePasswordChange:ng,useRelativeDay:rg,useSoundCompassExam:Yu,useTablePaging:Bu,useTableSort:Au,useToastState:Pi,useTrainingTypeLabels:Wg,useVisitAllPanel:hg,useVisitHistory:ug,useVisitSchedule:pg,useWindowEvent:Cn,useWordAttributeFilterKeys:Su,useWordDataStats:lg,useWordMeanings:Ig,useWordTrainingDataGeneration:Mg,useWordTrainingFilter:Lg,valueToJamos:Wa,wordAttributeFilterFromCodes:xi}),PB=".ihabdevteam-core-scope .promo-banner{align-items:center;border-radius:var(--radius-s);box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;overflow:hidden;position:relative;text-align:left}.ihabdevteam-core-scope .promo-banner--medium{min-height:120px;padding:20px 24px}.ihabdevteam-core-scope .promo-banner--small{padding:14px 16px}.ihabdevteam-core-scope .promo-banner__title{color:inherit;color:var(--promo-banner-bg-title,inherit)}.ihabdevteam-core-scope .promo-banner__description{color:inherit;color:var(--promo-banner-bg-description,inherit)}.ihabdevteam-core-scope .promo-banner__text{display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;z-index:1}.ihabdevteam-core-scope .promo-banner__description{margin-left:2px;margin-top:1px}.ihabdevteam-core-scope .promo-banner>.button{flex-shrink:0;position:relative;z-index:1}";le(PB);function Hg({title:e,description:t,actionLabel:a,onAction:o,bg:n,color:i,size:l="medium",actionVariant:c,titleColor:u,descriptionColor:d,className:h=""}){const p=n??i??"main",m=s.useRef(null),[v,x]=s.useState("main"),g=ua("(max-width: 767px)"),b=s.useRef({title:!1,description:!1});s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const y=Di(w),A=(_,B,k)=>{if(k!==void 0)w.style.setProperty(B,k),b.current[_]=!0;else if(b.current[_]){const E=y?.[_];E?w.style.setProperty(B,E):w.style.removeProperty(B),b.current[_]=!1}};A("title","--promo-banner-bg-title",u),A("description","--promo-banner-bg-description",d)},[u,d,p]),s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const y=Di(w);x(y?.actionVariant??"main")},[p]);const C=Be("promo-banner",`promo-banner--${l}`,h),f=vu[p];return r.jsxs("div",{ref:m,className:C,role:"note",children:[r.jsx(f,{}),r.jsxs("div",{className:"promo-banner__text",children:[r.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&r.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&o&&r.jsx(ge,{htmlType:"button",size:40,variant:c??v,shape:"pill",useBorder:!0,onClick:o,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var zB='.ihabdevteam-core-scope .top-banner{--top-banner-min-h:120px;display:flex;flex-direction:column;padding-bottom:var(--spacing-page);position:relative}.ihabdevteam-core-scope .top-banner__viewport{border-radius:var(--radius-m);min-height:var(--top-banner-min-h);overflow:hidden}.ihabdevteam-core-scope .top-banner__track{align-items:stretch;display:flex;min-height:var(--top-banner-min-h);transition:transform .4s ease}.ihabdevteam-core-scope .top-banner__slide{flex:0 0 100%;min-width:0}.ihabdevteam-core-scope .top-banner__slide>*{box-sizing:border-box;min-height:100%;width:100%}.ihabdevteam-core-scope .top-banner__dots{bottom:calc(var(--spacing-page) + 12px);display:flex;gap:6px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .top-banner__dot{background:var(--color-white-a30);border:none;border-radius:3px;cursor:pointer;height:6px;padding:0;position:relative;transition:width .25s ease,background-color .25s ease;width:6px}.ihabdevteam-core-scope .top-banner__dot:after{content:"";height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% + 6px)}.ihabdevteam-core-scope .top-banner__dot--active{background:var(--color-white);width:18px}.ihabdevteam-core-scope .top-banner__dots--dark .top-banner__dot{background:var(--color-lightGray-a80)}.ihabdevteam-core-scope .top-banner__dots--dark .top-banner__dot--active{background:var(--color-main)}';le(zB);function Vg({children:e,interval:t=5e3,dotTone:a,className:o="","aria-label":n}){const{t:i}=Ce.useTranslation(),l=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=s.Children.toArray(e),u=c.length,[d,h]=s.useState(0),[p,m]=s.useState(!1),[v,x]=s.useState(!1),[g,b]=s.useState(!1),C=s.useRef(null),f=s.useRef(null),w=s.useRef(null),y=Oc(),A=p||v||g,_=u>0?Math.min(d,u-1):0;s.useEffect(()=>{if(u<2||t<=0||A||y)return;const k=window.setInterval(()=>h(E=>(Math.min(E,u-1)+1)%u),t);return()=>window.clearInterval(k)},[u,t,A,y]);const B=k=>{f.current!=null&&window.clearTimeout(f.current),f.current=window.setTimeout(()=>{f.current=null,b(!1)},k)};return s.useEffect(()=>()=>{f.current!=null&&window.clearTimeout(f.current)},[]),s.useEffect(()=>{if(!g)return;const k=E=>{E.pointerType==="touch"&&(w.current&&w.current.contains(E.target)||(f.current!=null&&(window.clearTimeout(f.current),f.current=null),b(!1)))};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[g]),u===0?null:r.jsxs("section",{ref:w,className:Be("top-banner",o),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:k=>{C.current=k.pointerType},onPointerDown:k=>{C.current=k.pointerType,k.pointerType==="touch"&&(f.current!=null&&(window.clearTimeout(f.current),f.current=null),b(!0))},onPointerUp:k=>{k.pointerType==="touch"&&B(5e3)},onPointerCancel:k=>{k.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{C.current!=="touch"&&m(!0)},onMouseLeave:()=>m(!1),onFocus:k=>{let E=!0;try{E=k.target.matches(":focus-visible")}catch{E=!0}x(E)},onBlur:k=>{k.currentTarget.contains(k.relatedTarget)||x(!1)},children:[r.jsx("div",{className:"top-banner__viewport",children:r.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${_*100}%)`},children:c.map((k,E)=>r.jsx("div",{className:"top-banner__slide","aria-hidden":E!==_,...E!==_?{inert:!0}:{},children:k},E))})}),u>1&&r.jsx("div",{className:`top-banner__dots${(a?.[_]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((k,E)=>r.jsx("button",{type:"button",className:`top-banner__dot${E===_?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:u,index:E+1,defaultValue:`${u}\uAC1C \uC911 ${E+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":E===_,onClick:()=>h(E)},E))})]})}var IB=".ihabdevteam-core-scope .accordion-item{background:transparent;border-radius:var(--radius-m)}.ihabdevteam-core-scope .accordion-item__header{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;cursor:pointer;display:flex;gap:var(--spacing-s);min-height:56px;outline:none;padding:0 20px;transition:background-color .2s ease,border-color .2s ease}.ihabdevteam-core-scope .accordion-item__header:hover{background:var(--color-deepWhite);border-color:var(--color-main)}.ihabdevteam-core-scope .accordion-item__header:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .accordion-item__avatar{align-items:center;display:inline-flex;flex:none}.ihabdevteam-core-scope .accordion-item__title{flex:1;text-align:left}.ihabdevteam-core-scope .accordion-item__chevron{align-items:center;display:inline-flex;flex:none}.ihabdevteam-core-scope .accordion-item__chevron-icon{align-items:center;color:var(--color-lightGray);display:inline-flex}.ihabdevteam-core-scope .accordion-item__chevron-image{height:18px;opacity:.7;transition:transform .18s ease;width:18px}.ihabdevteam-core-scope .accordion-item.accordion-item--open{background:var(--color-main-a10);border-radius:var(--radius-m);overflow:hidden}.ihabdevteam-core-scope .accordion-item.accordion-item--open .accordion-item__header{background:var(--color-white);border:1px solid var(--color-main)}.ihabdevteam-core-scope .accordion-item.accordion-item--open .accordion-item__chevron-image{transform:rotate(180deg)}.ihabdevteam-core-scope .accordion-item__body p{margin:0}.ihabdevteam-core-scope .accordion-item__body{background:transparent;box-sizing:border-box;color:var(--color-darkGray);max-width:100%;overflow-wrap:break-word;padding:40px 32px;text-align:left;word-break:break-word}.ihabdevteam-core-scope .accordion-group--s48 .accordion-item__header{min-height:48px}.ihabdevteam-core-scope .accordion-group--s56 .accordion-item__header{min-height:56px}.ihabdevteam-core-scope .accordion-group--s72 .accordion-item__header{min-height:72px}.ihabdevteam-core-scope .accordion-group--s48 .accordion-item,.ihabdevteam-core-scope .accordion-group--s48 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s48 .accordion-item__header{border-radius:12px}.ihabdevteam-core-scope .accordion-group--s56 .accordion-item,.ihabdevteam-core-scope .accordion-group--s56 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s56 .accordion-item__header{border-radius:14px}.ihabdevteam-core-scope .accordion-group--s72 .accordion-item,.ihabdevteam-core-scope .accordion-group--s72 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s72 .accordion-item__header{border-radius:18px}.ihabdevteam-core-scope .accordion-group,.ihabdevteam-core-scope .accordion-group>.accordion-item{box-sizing:border-box;display:block;width:100%}.ihabdevteam-core-scope .accordion-group>.accordion-item+.accordion-item{margin-top:var(--spacing-s)}";le(IB);function OB({title:e,body:t,open:a=!1,onToggle:o,avatar:n,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:u}=Ce.useTranslation();return r.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[r.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:o,onKeyDown:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),o?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const h=d.currentTarget.closest('[role="list"]');if(!h)return;const p=Array.from(h.querySelectorAll("[data-accordion-header]")),m=p.indexOf(d.currentTarget);(d.key==="ArrowDown"?p[m+1]:p[m-1])?.focus()}},children:[n&&r.jsx("div",{className:"accordion-item__avatar",children:n}),r.jsx("div",{className:`accordion-item__title ${i}`,children:e}),r.jsx("div",{className:"accordion-item__chevron",children:r.jsx(it,{icon:a?"chevron-up":"chevron-down",label:a?u("accordion.collapse","\uC811\uAE30"):u("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&r.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?r.jsx("p",{children:t}):t})]})}function Ug({items:e=[],defaultOpenIndex:t=0,size:a=72,className:o="",bodyClassName:n}){const[i,l]=s.useState({index:t}),c=(u,d)=>i.id!=null&&u.id!=null?u.id===i.id:i.id==null&&d===i.index;return r.jsx("div",{className:`accordion-group accordion-group--s${a} ${o}`.trim(),role:"list",children:e.map((u,d)=>r.jsx(OB,{title:u.title,body:u.body,avatar:u.avatar,open:c(u,d),onToggle:()=>l(c(u,d)?{index:-1}:{index:d,id:u.id}),bodyClassName:n},u.id??d))})}var FB=".ihabdevteam-core-scope .bottom-nav{align-items:flex-start;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);bottom:0;display:none;height:calc(72px + env(safe-area-inset-bottom));left:0;padding:8px calc(10px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(10px + env(safe-area-inset-left));position:fixed;right:0;z-index:var(--z-nav)}.ihabdevteam-core-scope .bottom-nav__left{align-items:center;display:flex;flex-shrink:0}.ihabdevteam-core-scope .bottom-nav__divider{align-self:flex-start;background:var(--color-whiteLine);border-radius:1px;flex-shrink:0;height:24px;margin:14px 0 0;width:1px}.ihabdevteam-core-scope .bottom-nav__items{align-items:center;display:flex;flex:1;gap:10px;justify-content:center;overflow:hidden}.ihabdevteam-core-scope .bottom-nav__slot{display:flex;flex-shrink:0;height:52px;position:relative;width:52px}.ihabdevteam-core-scope .bottom-nav__slot .circle-badge--top-right{right:0;top:0}.ihabdevteam-core-scope .bottom-nav__right{align-items:center;display:flex;flex-shrink:0}@media (max-width:767px){.ihabdevteam-core-scope .bottom-nav{display:flex}}@media (min-width:768px){.ihabdevteam-core-scope .bottom-nav{display:none}}.ihabdevteam-core-scope .bottom-nav-item{align-items:center;background:transparent!important;border:none!important;border-radius:10px!important;color:var(--color-lightGray);cursor:pointer;display:flex!important;flex-direction:column;height:52px!important;justify-content:center;padding:0!important;transition:background .16s ease,color .16s ease!important;width:52px!important}.ihabdevteam-core-scope .bottom-nav-item:hover:not(.is-selected){background:var(--color-darkWhite)!important}.ihabdevteam-core-scope .bottom-nav-item.is-selected{animation:bottom-nav-active-bg .36s cubic-bezier(.4,0,.2,1) forwards;background-color:var(--color-sub)!important;box-shadow:0 6px 12px rgba(12,24,36,.06);color:#fff!important}.ihabdevteam-core-scope .bottom-nav-item.is-selected *{color:#fff!important}.ihabdevteam-core-scope .bottom-nav-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .bottom-nav-item:disabled,.ihabdevteam-core-scope .bottom-nav-item[disabled]{opacity:.6;pointer-events:none}@keyframes bottom-nav-active-bg{0%{background-color:var(--color-sub)}to{background-color:var(--color-main)}}";le(FB);var WB=".ihabdevteam-core-scope .badge{align-items:center;background:var(--badge-color,var(--color-main));border-radius:999px;box-shadow:none;box-shadow:var(--badge-shadow,none);color:#fff;color:var(--badge-on-color,#fff);display:inline-flex;gap:6px;justify-content:center;line-height:1;vertical-align:middle;white-space:nowrap}.ihabdevteam-core-scope .badge--small{font-size:12px;height:20px;padding:0 10px}.ihabdevteam-core-scope .badge--medium{font-size:14px;height:28px;padding:0 14px}.ihabdevteam-core-scope .badge--large{font-size:16px;height:32px;padding:0 18px}.ihabdevteam-core-scope .badge__icon{align-items:center;display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .badge--default{--badge-color:var(--color-lightGray);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--main{--badge-color:var(--color-main);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--sub{--badge-color:var(--color-sub);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--danger{--badge-color:var(--color-error);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--disabled{--badge-color:var(--color-disabled);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--like{--badge-color:var(--color-like);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--success{--badge-color:var(--color-success);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--warning{--badge-color:var(--color-warn);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--critical{--badge-color:#7c3aed;--badge-on-color:#fff}.ihabdevteam-core-scope .badge--outline{background:transparent;border:1px solid var(--badge-color);box-shadow:none;color:var(--badge-color)}.ihabdevteam-core-scope .badge--soft{background:color-mix(in srgb,var(--badge-color) 10%,transparent);box-shadow:none;color:var(--badge-color)}.ihabdevteam-core-scope .circle-badge{align-items:center;border:2px solid var(--color-pureWhite);border-radius:50%;box-sizing:border-box;display:inline-flex;flex-shrink:0;font-weight:700;justify-content:center;line-height:1;pointer-events:none;position:absolute;transition:background .12s,transform .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}@keyframes circle-badge-pop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.ihabdevteam-core-scope .circle-badge--animate{animation:circle-badge-pop .24s cubic-bezier(.34,1.56,.64,1)}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .circle-badge--animate{animation:none}}.ihabdevteam-core-scope .circle-badge--clickable{cursor:pointer;pointer-events:auto}.ihabdevteam-core-scope .circle-badge--clickable:hover{transform:scale(1.12)}.ihabdevteam-core-scope .circle-badge--top-right{right:-6px;top:-6px}.ihabdevteam-core-scope .circle-badge--top-left{left:-6px;top:-6px}.ihabdevteam-core-scope .circle-badge--inline{border:none;position:static}.ihabdevteam-core-scope .circle-badge--24{border-width:1px;font-size:11px;height:24px;width:24px}.ihabdevteam-core-scope .circle-badge--32{border-width:2px;font-size:14px;height:32px;width:32px}.ihabdevteam-core-scope .circle-badge--40{border-width:2px;font-size:16px;height:40px;width:40px}.ihabdevteam-core-scope .circle-badge--check,.ihabdevteam-core-scope .circle-badge--number{background:var(--color-main);color:#fff}.ihabdevteam-core-scope .circle-badge--remove{background:var(--color-error);color:#fff}.ihabdevteam-core-scope .circle-badge--minus{background:var(--color-lightGray);color:#fff}.ihabdevteam-core-scope .circle-badge--24 svg{height:11px;width:11px}.ihabdevteam-core-scope .circle-badge--32 svg{height:15px;width:15px}.ihabdevteam-core-scope .circle-badge--40 svg{height:19px;width:19px}";le(WB);function GB(){return r.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r.jsx("polyline",{points:"2,6 5,9 10,3"})})}function HB(){return r.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[r.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),r.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function VB(){return r.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:r.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function Tt(e){const{t}=Ce.useTranslation(),{type:a="bar",size:o,className:n="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:A,number:_,position:B="top-right",onClick:k,animate:E=!1}=e,S=A??"check",D=_!==void 0?"number":S,$=typeof o=="number"?o:32,j=Be("circle-badge",`circle-badge--${D}`,`circle-badge--${B}`,`circle-badge--${$}`,E?"circle-badge--animate":"",k?"circle-badge--clickable":"",n),H=_!==void 0?t("badge.nthSelected",{n:_,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[S];return r.jsxs("span",{className:j,onClick:k,onKeyDown:k?T=>{T.key!=="Enter"&&T.key!==" "||(T.preventDefault(),T.currentTarget.click())}:void 0,"aria-label":l?void 0:i??H,"aria-hidden":l||void 0,role:k?"button":l?void 0:"img",tabIndex:k?0:void 0,children:[_!==void 0&&_,_===void 0&&S==="check"&&r.jsx(GB,{}),_===void 0&&S==="remove"&&r.jsx(HB,{}),_===void 0&&S==="minus"&&r.jsx(VB,{})]})}const{label:c,children:u,variant:d="default",fill:h="filled",minWidth:p,iconLeft:m,iconRight:v,color:x}=e,g=typeof o=="number"?"medium":o??"medium",b={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",C={small:12,medium:14,large:16}[g]??14,f=Be("badge",`badge--${d}`,`badge--${g}`,h!=="filled"?`badge--${h}`:"",b,n),w=x?.startsWith("--")?`var(${x})`:x,y=p!==void 0||w?{...p!==void 0?{minWidth:typeof p=="number"?`${p}px`:p}:{},...w?{"--badge-color":w}:{}}:void 0;return r.jsxs("span",{className:f,style:y,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[m&&r.jsx(it,{icon:m,size:C,className:"badge__icon"}),c??u,v&&r.jsx(it,{icon:v,size:C,className:"badge__icon"})]})}var UB=".ihabdevteam-core-scope .tooltip-menu{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:160px;padding:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-menu__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);display:flex;gap:var(--spacing-xs);height:52px;padding:8px 12px}.ihabdevteam-core-scope .tooltip-menu__title{font-weight:600}.ihabdevteam-core-scope .tooltip-menu__columns{display:flex;gap:var(--spacing-s);padding:4px}.ihabdevteam-core-scope .tooltip-menu__column{display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);min-width:0}.ihabdevteam-core-scope .tooltip-menu__column-title{color:var(--color-lightGray);margin-bottom:4px}.ihabdevteam-core-scope .tooltip-menu__items{display:flex;flex-direction:column;gap:var(--spacing-l)}.ihabdevteam-core-scope .tooltip-menu--small{gap:2px;min-width:140px}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__items{gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__columns{gap:var(--spacing-xs);padding:2px}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__header{height:44px;padding:6px 10px}.ihabdevteam-core-scope .tooltip-menu__separator{background:var(--color-whiteLine);height:1px;margin:4px 0}.ihabdevteam-core-scope .tooltip-menu__item{width:100%}@media (max-width:600px){.ihabdevteam-core-scope .tooltip-menu__columns{flex-direction:column}}";le(UB);function kr({columns:e=[],onClose:t,className:a="",size:o="medium"}){const{t:n}=Ce.useTranslation(),i=o==="small"?40:48,[l,c]=s.useState([]),u=s.useMemo(()=>{const b=[{title:null,columns:e}];let C=e;for(const f of l){const w=C?.[f.ci]?.items?.[f.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;C=[{title:null,items:w.children}],b.push({title:w.label||null,columns:C})}return b},[e,l]),d=u[u.length-1],h=u.length-1,p=s.useCallback(()=>c(b=>b.slice(0,Math.max(0,Math.min(b.length,h)-1))),[h]),m=s.useRef(null),v=s.useRef(null),x=u.length;s.useEffect(()=>{v.current||(v.current=document.activeElement);let b=0,C=0;const f=()=>{const w=m.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}C++<20&&(b=requestAnimationFrame(f))};return b=requestAnimationFrame(f),()=>cancelAnimationFrame(b)},[x]),s.useEffect(()=>()=>{v.current?.focus?.({preventScroll:!0})},[]);const g=s.useCallback((b,C,f)=>{if(b){if(Array.isArray(b.children)&&b.children.length){c(w=>[...w.slice(0,h),{ci:C,ii:f}]);return}try{typeof b.onClick=="function"&&b.onClick()}catch{}try{b&&b.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,h]);return r.jsxs("div",{className:`tooltip-menu tooltip-menu--${o} ${a}`,children:[(u.length>1||d.title)&&r.jsxs("div",{className:"tooltip-menu__header",children:[u.length>1?r.jsx(ge,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:n("common.back","\uB4A4\uB85C"),onClick:p,variant:"transparent-gray",useBorder:!1}):null,r.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),r.jsx("div",{className:"tooltip-menu__columns",ref:m,children:d.columns&&d.columns.map((b,C)=>r.jsxs("div",{className:"tooltip-menu__column",children:[b.title?r.jsx("div",{className:"tooltip-menu__column-title body-3",children:b.title}):null,r.jsx("div",{className:"tooltip-menu__items",children:(b.items||[]).map((f,w)=>r.jsxs(s.Fragment,{children:[f.separatorBefore&&w>0&&r.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),r.jsx(ge,{htmlType:"button",className:"tooltip-menu__item",size:i,type:f.label?"bar":"dot",icon:f.selected?"check":f.icon||"none",rightIcon:Array.isArray(f.children)&&f.children.length?"chevron-right":f.badgeCount?r.jsx(Tt,{type:"dot",position:"inline",number:Math.min(f.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:f.label,ariaLabel:f.label&&f.badgeCount&&f.badgeCount>0?n("nav.badgeLabel",{label:f.label,count:f.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):f.label,onClick:()=>g(f,C,w),selected:f.selected,disabled:f.disabled,showTooltipInfo:f.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},C))})]})}const qg=".content-area";function Ju(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(qg);if(a){a.scrollTop=0;return}const o=document.scrollingElement??document.documentElement;o&&o.scrollHeight<=o.clientHeight&&Pt("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${qg}) \u2014 \uCC3D\uB3C4 \uAD6C\uB97C \uC218 \uC5C6\uC5B4 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4. scrollContainer \uB85C \uD1B5\uC744 \uC54C\uB824 \uC900\uB2E4.`),window.scrollTo({top:0})}catch{}}const Qu=52,Oi=10,Yg=e=>e&&e>0?e:0;function ed({items:e=[],activeKey:t,onChange:a,appMode:o,onAppModeChange:n,moreItems:i=[],scrollContainer:l}){const{t:c}=Ce.useTranslation(),u=o==="manager"?"malgwi":"manager",d=o==="manager"?"arrow-left":"arrow-right",h=o==="manager"?c("nav.modeLabelMalgwi","\uB9D0\uADC0"):c("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=s.useRef(null),[m,v]=s.useState(0),x=e.length;s.useEffect(()=>{const z=p.current;if(!z)return;const V=()=>{const N=typeof getComputedStyle=="function"?getComputedStyle(z):null,P=z.clientWidth-(parseFloat(N?.paddingLeft??"")||0)-(parseFloat(N?.paddingRight??"")||0),F=z.querySelector(".bottom-nav__left"),X=F?.nextElementSibling,ie=(F?.offsetWidth??0)+(F&&X?.classList.contains("bottom-nav__divider")?X.offsetWidth:0);v(Math.max(0,P-ie))};if(V(),typeof ResizeObserver>"u")return;const W=new ResizeObserver(V);W.observe(z);const O=z.querySelector(".bottom-nav__left");return O&&W.observe(O),()=>W.disconnect()},[n]);const g=Qu+1,b=z=>Math.max(0,Math.floor((z+Oi)/(Qu+Oi))),C=x*(Qu+Oi)-Oi<=m,f=m<=0||i.length===0&&C?x:Math.min(x,b(m-g)),w=m>0&&f<x,y=w?f:x,A=e.slice(0,y),_=e.slice(y),B=w||i.length>0,k=s.useCallback((z,V)=>({position:"fixed",bottom:window.innerHeight-z.top+8,right:window.innerWidth-z.right,zIndex:An(V)}),[]),E=s.useId(),{open:S,toggle:D,close:$,style:j,triggerRef:H,menuRef:T}=qo({computeStyle:k,onScroll:"ignore",onResize:"reposition"}),L=s.useCallback((z,V)=>V>0?c("nav.badgeLabel",{label:z,count:V,defaultValue:"{{label}}, {{count}}\uAC1C"}):z,[c]),I=s.useCallback((z,V)=>V>0?c("nav.badgeInsideLabel",{label:z,count:V,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):z,[c]),K=s.useCallback(()=>n?.(u),[n,u]),Y=s.useMemo(()=>_.find(z=>!!z.key&&z.key===t)??i.find(z=>z.selected||z.key&&z.key===t),[_,t,i]),M=s.useMemo(()=>[{items:[..._.map(z=>({label:z.label,icon:z.icon,badgeCount:z.badgeCount,selected:!!z.key&&z.key===t,closeOnSelect:!0,disabled:z.state==="disabled",onClick:()=>{z.state!=="disabled"&&(z.key&&a&&(a(z.key),Ju(l,"BottomNav")),$())}})),...i.map(z=>({label:z.label,icon:z.icon,badgeCount:z.badgeCount,selected:z.selected??(!!z.key&&z.key===t),closeOnSelect:!0,onClick:()=>{z.onClick?.(),$()}}))]}],[_,i,t,a,$]),G=[..._,...i].reduce((z,V)=>z+Yg(V.badgeCount),0);return r.jsxs("nav",{className:"bottom-nav",ref:p,"aria-label":c("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[n&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bottom-nav__left",children:r.jsx(ge,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:h,className:"bottom-nav-item",onClick:K})}),r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),r.jsx("div",{className:"bottom-nav__items",children:A.map((z,V)=>{const W=Yg(z.badgeCount);return r.jsxs("span",{className:"bottom-nav__slot",children:[r.jsx(ge,{htmlType:"button",size:52,type:"dot",icon:z.icon,ariaLabel:L(z.label,W),selected:!!z.key&&z.key===t,disabled:z.state==="disabled",className:"bottom-nav-item",onClick:()=>{z.key&&(a?.(z.key),Ju(l,"BottomNav"))}}),W>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Tt,{type:"dot",position:"top-right",number:Math.min(W,99),size:24})})]},z.key??`__slot-${V}`)})}),B&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),r.jsx("div",{className:"bottom-nav__right",children:r.jsxs("div",{ref:H,className:"bottom-nav__slot",children:[r.jsx(ge,{htmlType:"button",size:52,type:"dot",icon:Y?.icon??"ellipsis",ariaLabel:I(Y?.label??c("nav.more","\uB354\uBCF4\uAE30"),G),selected:!!Y,className:"bottom-nav-item",onClick:D,"aria-expanded":S,"aria-controls":S?E:void 0}),G>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Tt,{type:"dot",position:"top-right",number:Math.min(G,99),size:24})}),S&&pa.createPortal(r.jsx("div",{id:E,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:j,ref:T,children:r.jsx(kr,{columns:M,onClose:$})}),document.body)]})})]})]})}var qB='.ihabdevteam-core-scope .side-nav__menu{-webkit-overflow-scrolling:touch;background-clip:padding-box;border-left:1px solid transparent;border-right:1px solid transparent;display:flex;flex:1;flex-direction:column;margin-bottom:var(--spacing-s);margin-top:4px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-left:calc(var(--spacing-s) - 1px);padding-right:calc(var(--spacing-s) - 1px);scrollbar-width:none}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .side-nav__scroll{height:0;margin-left:calc((var(--spacing-s) - 1px)*-1);margin-right:calc((var(--spacing-s) - 1px)*-1);overflow:visible;pointer-events:none;position:sticky;top:0;z-index:1}.ihabdevteam-core-scope .side-nav__scroll-thumb{background:var(--color-darkWhite);border-radius:3px;pointer-events:auto;position:absolute;right:calc(var(--spacing-s)/2 - 4.5px);touch-action:none;transition:background-color .16s ease,opacity .18s ease;width:6px}.ihabdevteam-core-scope .side-nav__scroll-thumb:before{content:"";inset:0 -4px;position:absolute}.ihabdevteam-core-scope .side-nav__scroll-thumb:active,.ihabdevteam-core-scope .side-nav__scroll-thumb:hover{background:var(--color-lightGray)}.ihabdevteam-core-scope .side-nav__menu-list{display:flex;flex:1 0 auto;flex-direction:column;gap:4px;overflow:visible;padding:0 0 4px}.ihabdevteam-core-scope .side-nav__notification-wrap{display:inline-flex;position:relative;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .side-nav__footer{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-s);margin-top:var(--spacing-s);padding:0}.ihabdevteam-core-scope .side-nav__separator{background:var(--color-whiteLine);height:1px;margin:0 var(--spacing-s) var(--spacing-xs)}.ihabdevteam-core-scope .side-nav__separator--short{margin:4px var(--spacing-m);width:var(--spacing-xl)}@media (max-width:767px){.ihabdevteam-core-scope .side-nav__footer,.ihabdevteam-core-scope .side-nav__menu{display:none}}.ihabdevteam-core-scope .side-nav__item{align-items:center;background:transparent;border:none;border-radius:var(--radius-s);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);gap:var(--spacing-s);height:52px;justify-content:flex-start;padding:0 var(--spacing-m);text-align:left;width:100%}@keyframes ihabCoreSnSweep{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ihabCoreSnIconBounce{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.ihabdevteam-core-scope .side-nav__item.active{animation:ihabCoreSnSweep 1s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,var(--color-main) 50%,var(--color-sub) 100%);background-position:0 0;background-size:200% 100%;box-shadow:var(--shadow-button);color:#fff}.ihabdevteam-core-scope .side-nav__item.active .side-nav__icon{animation:ihabCoreSnIconBounce .48s cubic-bezier(.4,0,.2,1) forwards;color:#fff}.ihabdevteam-core-scope .side-nav__icon{align-items:center;color:var(--color-lightGray);display:inline-flex;height:24px;justify-content:center;width:24px}.ihabdevteam-core-scope .side-nav__item.active .circle-badge{background:var(--color-pureWhite);color:var(--color-main)}.ihabdevteam-core-scope .side-nav__item .circle-badge--inline{border:1px solid var(--color-pureWhite)}.ihabdevteam-core-scope .side-nav__icon-wrap{display:inline-flex;flex:0 0 24px;position:relative}.ihabdevteam-core-scope .side-nav__icon{flex:0 0 24px}.ihabdevteam-core-scope .side-nav__icon img{display:block;height:20px;-o-object-fit:contain;object-fit:contain;width:20px}.ihabdevteam-core-scope .side-nav__icon-image{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:contain;display:inline-block;height:20px;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:20px}.ihabdevteam-core-scope .side-nav__item .side-nav__icon img{filter:brightness(0) saturate(0) opacity(.45);transition:filter .16s ease,opacity .16s ease}.ihabdevteam-core-scope .side-nav__item.active .side-nav__icon img{filter:brightness(0) invert(1)}.ihabdevteam-core-scope .side-nav__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .side-nav__item{transition:background-color .16s ease,color .16s ease,transform 80ms ease}.ihabdevteam-core-scope .side-nav__item:focus-visible:not(.active),.ihabdevteam-core-scope .side-nav__item:focus:not(.active),.ihabdevteam-core-scope .side-nav__item:hover:not(.active){background:var(--color-darkWhite)}.ihabdevteam-core-scope .side-nav__item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .side-nav__item.disabled,.ihabdevteam-core-scope .side-nav__item.disabled:focus,.ihabdevteam-core-scope .side-nav__item.disabled:hover{background:transparent;color:var(--color-lightGray);cursor:default;opacity:.6;pointer-events:none;transform:none}.ihabdevteam-core-scope .side-nav__item.disabled .side-nav__icon{color:var(--color-lightGray)}.ihabdevteam-core-scope .side-nav__item.disabled .side-nav__icon img{filter:none;opacity:.8}.ihabdevteam-core-scope .side-nav__item--child{height:40px;padding-left:30px}.ihabdevteam-core-scope .side-nav__item--child .side-nav__icon{height:20px;width:20px}.ihabdevteam-core-scope .side-nav__item--child .side-nav__label{font-weight:400}';le(qB);function Kg(e){if(typeof e!="string")return!1;let t="";for(const o of e){const n=o.charCodeAt(0);n<=32||n>=127&&n<=159||(t+=o)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function Xg(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function YB(e){const{t}=Ce.useTranslation(),{activeKey:a,unreadCount:o,onDebug:n,onNotification:i,onSetting:l,onHelp:c,onFeedback:u,onAccount:d}=e||{},h="default";return n||i||l||c||u||d?r.jsxs("div",{className:"side-nav__footer",children:[n&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:n,selected:a==="debug"}),i&&r.jsxs("span",{className:"side-nav__notification-wrap",children:[r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bell",ariaLabel:Xg(t,t("nav.notifications","\uC54C\uB9BC"),o),onClick:i,selected:a==="notifications"}),!!o&&o>0&&r.jsx(Tt,{type:"dot",number:Math.min(o,99),size:24,"aria-hidden":!0})]}),l&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),c&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),u&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:u,selected:a==="feedback"}),d&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]}):null}function Zg(e){const{t}=Ce.useTranslation(),{item:a,itemKey:o,label:n,icon:i,active:l,onClick:c,style:u,state:d,labelStyle:h}=e||{},p=a?.key??o??"",m=a?.label??n??"",v=a?.icon??i??"",x=a?.badge??0,g=r.jsx("span",{className:"side-nav__icon-wrap",children:r.jsx(it,{icon:v,label:typeof m=="string"?m:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),b=d==="disabled",C=`side-nav__item ${l?"active":""} ${d||""} ${b?"disabled":""} ${a?.child?"side-nav__item--child":""}`,f=s.useCallback(w=>{if(b)return;const y=w.detail>0;if(y)try{w.currentTarget.blur()}catch{}c?.(p,w.currentTarget,y)},[b,p,c]);return r.jsxs("button",{type:"button",className:C,onClick:f,"aria-label":typeof m=="string"?Xg(t,m,x):void 0,"aria-current":l?"page":void 0,style:u,"aria-disabled":b,children:[g,r.jsx("span",{className:"side-nav__label button-1 f",style:h,children:m}),x>0&&r.jsx(Tt,{type:"dot",position:"inline",number:Math.min(x,99),size:24,"aria-hidden":!0}),d==="loading"&&r.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function td(e){const{t}=Ce.useTranslation(),{items:a=[],activeKey:o,onChange:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v,scrollContainer:x}=e||{},g=m==="manager",b=s.useCallback(()=>v?.(g?"malgwi":"manager"),[v,g]),C=s.useRef(null),[f,w]=s.useState(null);s.useEffect(()=>{const k=C.current;if(!k)return;let E=null;const S=()=>{const{scrollHeight:j,clientHeight:H,scrollTop:T}=k;if(j<=H+1){w(M=>M===null?M:null);return}const L=Math.max(24,H/j*H),I=H-L,K=j-H,Y={top:Math.round(T/K*I),height:Math.round(L)};w(M=>M&&M.top===Y.top&&M.height===Y.height?M:Y)},D=()=>{if(typeof requestAnimationFrame>"u"){S();return}E===null&&(E=requestAnimationFrame(()=>{E=null,S()}))};S(),k.addEventListener("scroll",D,{passive:!0});const $=typeof ResizeObserver<"u"?new ResizeObserver(D):null;$?.observe(k);for(const j of Array.from(k.children))$?.observe(j);return()=>{E!==null&&cancelAnimationFrame(E),k.removeEventListener("scroll",D),$?.disconnect()}},[a]);const y=s.useRef(null),A=s.useCallback(k=>{const E=C.current;E&&(k.preventDefault(),y.current={y:k.clientY,top:E.scrollTop},k.currentTarget.setPointerCapture(k.pointerId))},[]),_=s.useCallback(k=>{const E=C.current,S=y.current;!E||!S||(E.scrollTop=S.top+(k.clientY-S.y)*(E.scrollHeight/E.clientHeight))},[]),B=s.useCallback(k=>{y.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.pointerId)},[]);return r.jsxs("nav",{ref:C,"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[f&&r.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:r.jsx("div",{className:"side-nav__scroll-thumb",style:{top:f.top,height:f.height},onPointerDown:A,onPointerMove:_,onPointerUp:B,onPointerCancel:B})}),r.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(k=>!k.section&&(k.key||k.label)).map((k,E)=>r.jsxs(s.Fragment,{children:[k.divider&&r.jsx("div",{className:"side-nav__separator"}),r.jsx(Zg,{item:k,active:!!k.key&&k.key===o,state:k.disabled?"disabled":void 0,onClick:(S,D,$)=>{if(k.disabled)return;if(k.href){if(Kg(k.href)&&window.open(k.href,"_blank","noopener,noreferrer"),$)try{D?.blur()}catch{}return}if(n?.(k.key),Ju(x,"SideNav"),!$)return;try{D?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const j=document.querySelector(".header");if(j){const H=typeof j.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&H&&j.matches(":hover"))){j.classList.add("header--force-collapsed");const T=()=>{j.classList.remove("header--force-collapsed"),j.removeEventListener("mouseenter",T)};j.addEventListener("mouseenter",T)}}}})]},k.key??`side-nav__item-${E}`)),v&&r.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),v&&r.jsx(Zg,{item:{key:"__mode-switch__",label:g?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:g?"arrow-left":"arrow-right"},onClick:b})]}),r.jsx(YB,{activeKey:o,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p})]})}var Fi='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_SpeechEar_kor" xmlns="http://www.w3.org/2000/svg" width="583.33" height="240" viewBox="0 0 583.33 240"><g id="text"><path d="M278.07,115.18V47.71h85.73v67.47h-85.73ZM408.4,173.42v20.18h-125.33v-44.02h96.5v-5.96h-96.88v-20.18h124.18v44.02h-96.11v5.96h97.65ZM305.56,70.97v20.76h30.95v-20.76h-30.95ZM423.39,92.88h-16.53v25.37h-27.68V45.98h27.68v20.18h16.53v26.72Z"/><path d="M527.58,113.83v26.33c-7.82,3.59-20.06,5.38-36.71,5.38h-1.73v48.06h-27.68v-48.06h-34.21v-26.33h64.01c16.4,0,28.51-1.79,36.33-5.38ZM435.31,75.77v-26.33h80.35v62.09h-27.68v-35.75h-52.67ZM563.33,193.61h-27.68V45.98h27.68v147.63Z"/></g><g id="symbol"><path d="M183.92,56.08c-8.48-15.54-24.97-26.08-43.92-26.08h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%234dcdc0"/><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23499cdf"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',ad='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_SpeechEarManager_ko" xmlns="http://www.w3.org/2000/svg" width="1035.43" height="240" viewBox="0 0 1035.43 240"><g id="text"><path d="M278.07,115.18V47.71h85.73v67.47h-85.73ZM408.4,173.42v20.18h-125.33v-44.02h96.5v-5.96h-96.88v-20.18h124.18v44.02h-96.11v5.96h97.65ZM305.56,70.97v20.76h30.95v-20.76h-30.95ZM423.39,92.88h-16.53v25.37h-27.68V45.98h27.68v20.18h16.53v26.72Z"/><path d="M527.58,113.83v26.33c-7.82,3.59-20.06,5.38-36.71,5.38h-1.73v48.06h-27.68v-48.06h-34.21v-26.33h64.01c16.4,0,28.51-1.79,36.33-5.38ZM435.31,75.77v-26.33h80.35v62.09h-27.68v-35.75h-52.67ZM563.33,193.61h-27.68V45.98h27.68v147.63Z"/><path d="M644.64,52.32v131.48h-58.24V52.32h58.24ZM634.45,173.81V62.32h-38.25v111.49h38.25ZM713.65,193.61h-10.19v-75.16h-28.64v72.66h-10V46.94h10v61.32h28.64v-62.28h10.19v147.63Z"/><path d="M819.46,171.6c6.6-1.35,12.08-3.11,16.44-5.29v10.19c-4.23,2.31-9.64,4.1-16.24,5.38-6.6,1.28-13.3,1.92-20.09,1.92h-57.28V51.36h10.57v122.25h46.71c6.66,0,13.29-.67,19.89-2.02ZM851.47,193.8V45.98h10.57v147.63l-10.57.19Z"/><path d="M935.66,113.64l48.44,62.28-8.27,6.34-43.06-56.13c-4.36,16.66-10.38,29.92-18.07,39.79-7.69,9.87-16.72,15.83-27.1,17.88v-10.76c8.71-2.05,16.21-8.07,22.49-18.07,6.28-10,11.05-22.97,14.32-38.92,3.27-15.95,5.03-33.86,5.29-53.73h-39.21v-10h88.61v10h-39.02c-.13,18.84-1.6,35.95-4.42,51.32ZM1015.43,193.61h-10.38v-79.39h-37.87v-10.19h37.87v-58.05h10.38v147.63Z"/></g><g id="symbol"><path d="M183.92,56.08c-8.48-15.54-24.97-26.08-43.92-26.08h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%234dcdc0"/><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23499cdf"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',KB='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Symbol_SpeechEar" xmlns="http://www.w3.org/2000/svg" width="240" height="240" viewBox="0 0 240 240"><g id="symbol"><path d="M183.92,56.08c-8.48-15.54-24.97-26.08-43.92-26.08h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%234dcdc0"/><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23499cdf"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',XB='.ihabdevteam-core-scope .header{background:var(--color-deepWhite);border-left:1px solid var(--color-whiteLine);border-right:1px solid var(--color-whiteLine);bottom:0;display:flex;flex-direction:column;isolation:isolate;left:0;overflow:visible;overscroll-behavior:none;position:fixed;top:0;z-index:var(--z-sidebar)}.ihabdevteam-core-scope .header__menu-button{background:transparent;border:none;display:none;position:relative}.ihabdevteam-core-scope .header__bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);bottom:0;display:flex;height:56px;justify-content:center;left:0;padding:0;padding-bottom:calc(var(--spacing-content) + env(safe-area-inset-bottom));position:fixed;right:0}.ihabdevteam-core-scope .header__category-button{background:transparent;border:none}.ihabdevteam-core-scope .header:before{background:linear-gradient(160deg,var(--color-main) 0,var(--color-sub) 100%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease;z-index:-1}.ihabdevteam-core-scope .header--manager{border-right-color:hsla(0,0%,100%,.2)}.ihabdevteam-core-scope .header--manager:before{opacity:1}.ihabdevteam-core-scope .header--manager .side-nav__separator{background:hsla(0,0%,100%,.25)}.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb{background:hsla(0,0%,100%,.4)}.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb:active,.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb:hover{background:hsla(0,0%,100%,.75)}.ihabdevteam-core-scope .header--manager .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item,.ihabdevteam-core-scope .header--manager .side-nav__item.disabled,.ihabdevteam-core-scope .header--manager .side-nav__item.disabled .side-nav__icon{color:var(--color-deepWhite)}.ihabdevteam-core-scope .header--manager .side-nav__item:focus:not(.active),.ihabdevteam-core-scope .header--manager .side-nav__item:hover:not(.active){background:hsla(0,0%,100%,.15);color:#fff}.ihabdevteam-core-scope .header--manager .side-nav__item:focus:not(.active) .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item:hover:not(.active) .side-nav__icon{color:#fff}.ihabdevteam-core-scope .header--manager .side-nav__item.active{animation:ihabCoreSnSweep 1s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,var(--color-pureWhite) 50%,color-mix(in srgb,var(--color-main) 50%,#fff) 100%);background-position:0 0;background-size:200% 100%;box-shadow:var(--shadow-card);color:var(--color-darkGray)}.ihabdevteam-core-scope .header--manager .side-nav__item.active .side-nav__icon{animation:ihabCoreSnIconBounce .48s cubic-bezier(.4,0,.2,1) forwards;color:var(--color-lightGray)}.ihabdevteam-core-scope .header--manager .side-nav__item.active .side-nav__icon img{filter:none;opacity:1}.ihabdevteam-core-scope .header--manager .side-nav__footer [role=button],.ihabdevteam-core-scope .header--manager .side-nav__footer button{color:hsla(0,0%,100%,.55)}@media (min-width:1024px){.ihabdevteam-core-scope .header{width:220px}.ihabdevteam-core-scope .header__bottom,.ihabdevteam-core-scope .header__menu-button{display:none}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .header{overflow:visible;transition:width .18s ease;width:72px}.ihabdevteam-core-scope .header:focus-within,.ihabdevteam-core-scope .header:hover{width:220px}.ihabdevteam-core-scope .header.header--force-collapsed,.ihabdevteam-core-scope .header.header--force-collapsed:focus-within,.ihabdevteam-core-scope .header.header--force-collapsed:hover{width:72px}.ihabdevteam-core-scope .header__branding{height:80px}.ihabdevteam-core-scope .header .side-nav__menu{scrollbar-gutter:auto;scrollbar-width:none;transition:padding .18s ease}.ihabdevteam-core-scope .header .side-nav__menu::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .header .side-nav__item{transition:padding .18s ease,gap .18s ease,width .18s ease}.ihabdevteam-core-scope .header .side-nav__label{display:inline-block;overflow:hidden;transition:max-width .18s ease,opacity .18s ease,transform .18s ease;white-space:nowrap}.ihabdevteam-core-scope .header--force-collapsed .side-nav__menu,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__menu{padding:0 var(--spacing-xs)}.ihabdevteam-core-scope .header--force-collapsed .side-nav__item,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__item{border-radius:var(--radius-card);gap:0;margin:0 auto;padding:0 14px;position:relative;width:52px}.ihabdevteam-core-scope .header--force-collapsed .side-nav__item>.circle-badge,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__item>.circle-badge{border:1px solid var(--color-pureWhite);position:absolute;right:0;top:0}.ihabdevteam-core-scope .header--force-collapsed .side-nav__footer,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__footer{align-items:center}.ihabdevteam-core-scope .header--force-collapsed .side-nav__separator--short,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__separator--short{margin-left:auto;margin-right:auto}.ihabdevteam-core-scope .header--force-collapsed .side-nav__label,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__label{max-width:0;opacity:0;pointer-events:none;transform:translateX(-6px)}.ihabdevteam-core-scope .header--force-collapsed .brand-identity__image--symbol,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .brand-identity__image--symbol{display:block}.ihabdevteam-core-scope .header--force-collapsed .brand-identity__image--logo,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .brand-identity__image--logo{display:none}}@media (max-width:767px){.ihabdevteam-core-scope .header{align-items:center;border-bottom:1px solid var(--color-whiteLine);border-left:none;border-right:none;flex-direction:row;height:64px;justify-content:space-between;left:0;position:fixed;right:0;top:0;width:100%}.ihabdevteam-core-scope .header__top{align-items:center;display:flex;flex:1}.ihabdevteam-core-scope .header__branding{height:auto}.ihabdevteam-core-scope .header__menu-button{display:inline-flex}.ihabdevteam-core-scope .header__bi{align-items:center;display:flex;gap:var(--spacing-xs);padding:0 calc(12px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left));width:100%}.ihabdevteam-core-scope .header__bi .header__menu-button{margin-left:auto}.ihabdevteam-core-scope .header__bottom{display:none}}.ihabdevteam-core-scope .brand-identity__root{align-items:center;display:flex;height:100px;justify-content:center}.ihabdevteam-core-scope .brand-identity__image{height:48px;-o-object-fit:contain;object-fit:contain;width:auto}.ihabdevteam-core-scope .brand-identity__image--symbol{display:none}@media (min-width:1024px){.ihabdevteam-core-scope .brand-identity__root{height:100px}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .brand-identity__root{height:100px}}@media (max-width:767px){.ihabdevteam-core-scope .brand-identity__root{height:64px;padding:10px}.ihabdevteam-core-scope .brand-identity__image{height:40px}}';le(XB);function od({appMode:e}){const{t}=Ce.useTranslation(),a=e==="manager",o=a?ad:Fi,n=KB;return r.jsxs("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:[r.jsx("img",{src:n,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image brand-identity__image--symbol"}),r.jsx("img",{src:o,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image brand-identity__image--logo"})]})}function rd({activeKey:e,onChange:t,items:a,malgwiItems:o,managerItems:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v,scrollContainer:x}){const{t:g}=Ce.useTranslation(),b=ua("(max-width: 767px)"),C=s.useMemo(()=>(a??[]).filter(j=>!j.section&&(j.key||j.label)).map(j=>({key:j.key,label:typeof j.label=="string"?j.label:void 0,icon:j.icon,state:j.disabled?"disabled":void 0,badgeCount:j.badge})),[a]),f=s.useCallback(j=>{const H=a?.find(T=>T.key===j);if(!H?.disabled){if(H?.href){Kg(H.href)&&window.open(H.href,"_blank","noopener,noreferrer");return}t?.(j)}},[a,t]),w=s.useMemo(()=>{const j=[];return l&&j.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&j.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),d&&j.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:d}),h&&j.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:h}),p&&j.push({key:"feedback",icon:"bug",label:g("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),u&&j.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:u}),j},[g,l,c,d,h,p,u,i]),y=s.useCallback((j,H)=>({position:"fixed",top:j.bottom+8,right:Math.max(8,window.innerWidth-j.right),zIndex:An(H)}),[]),A=s.useId(),{open:_,toggle:B,close:k,style:E,triggerRef:S,menuRef:D}=qo({computeStyle:y,onScroll:"ignore",onResize:"reposition"}),$=s.useMemo(()=>[{items:w.map(j=>({label:j.label,icon:j.icon,badgeCount:j.badgeCount,selected:j.selected??(!!j.key&&j.key===e),closeOnSelect:!0,onClick:()=>{j.onClick?.(),k()}}))}],[w,e,k]);return r.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[r.jsxs("div",{className:"header__bi",children:[r.jsx(od,{appMode:m}),r.jsxs("div",{className:"header__menu-button",ref:S,children:[r.jsx(ge,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:c&&i&&i>0?g("nav.badgeInsideLabel",{label:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:B,"aria-expanded":_,"aria-controls":_?A:void 0}),!!c&&!!i&&i>0&&r.jsx(Tt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),_&&pa.createPortal(r.jsx("div",{id:A,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:E,ref:D,children:r.jsx(kr,{columns:$,onClose:k})}),document.body)]})]}),r.jsx(td,{scrollContainer:x,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v}),b&&r.jsx(ed,{items:C,activeKey:e??void 0,onChange:f,scrollContainer:x,appMode:m,onAppModeChange:v})]})}const Jg=rd;var ZB='.ihabdevteam-core-scope .payment-plan__card{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;display:flex;flex:1 1 340px;flex-direction:column;gap:28px;max-width:360px;min-width:min(340px,100%);padding:20px;position:relative;text-align:left;transition:box-shadow .2s ease,transform .2s ease;width:100%}.ihabdevteam-core-scope .payment-plan__card:hover{box-shadow:var(--shadow-dropdown);transform:translateY(-4px)}.ihabdevteam-core-scope .payment-plan__card-badge{position:absolute;right:32px;top:32px}.ihabdevteam-core-scope .payment-plan__pricing-card{cursor:pointer;display:flex;justify-content:center}.ihabdevteam-core-scope .payment-plan__title{color:var(--color-black);display:flex;flex-direction:column;margin:0}.ihabdevteam-core-scope .payment-plan__quote{color:var(--color-sub);margin:0 0 4px;min-height:1.4em}.ihabdevteam-core-scope .payment-plan__title-heading{margin:0}.ihabdevteam-core-scope .payment-plan__subtitle{color:var(--color-gray);line-height:1.5;margin:8px 0 0;text-align:left}.ihabdevteam-core-scope .payment-plan__box,.ihabdevteam-core-scope .payment-plan__box-title{display:block}.ihabdevteam-core-scope .payment-plan__contact-button{width:100%}.ihabdevteam-core-scope .payment-plan__feature-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:12px 0 0;padding:0}.ihabdevteam-core-scope .payment-plan__feature-item{align-items:center;color:var(--color-darkGray);display:flex;gap:10px;line-height:1.45}.ihabdevteam-core-scope .payment-plan__feature-check{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.ihabdevteam-core-scope .payment-plan__card-pricing{display:flex;flex-direction:column;gap:6px;margin-top:auto;text-align:left;width:100%}.ihabdevteam-core-scope .payment-plan__pricing-list{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .payment-plan__pricing-row{grid-row-gap:4px;align-items:center;background:var(--plan-color,var(--color-darkWhite));border:1px solid transparent;border-radius:var(--radius-s);box-sizing:border-box;color:#fff;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:14px 18px;row-gap:4px;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;width:100%}.ihabdevteam-core-scope .payment-plan__pricing-row--static{cursor:default;pointer-events:none}.ihabdevteam-core-scope .payment-plan__pricing-row--highlight{background:var(--color-white);border:1px solid var(--plan-color,var(--color-main));color:var(--color-darkGray)}.ihabdevteam-core-scope .payment-plan__pricing-row--highlight .payment-plan__pricing-current,.ihabdevteam-core-scope .payment-plan__pricing-row--highlight .payment-plan__pricing-row-price{color:var(--plan-color,var(--color-main))}.ihabdevteam-core-scope .payment-plan__pricing-row:hover{box-shadow:var(--shadow-dropdown);filter:brightness(1.04);transform:translateY(-2px)}.ihabdevteam-core-scope .payment-plan__pricing-row-title{display:contents}.ihabdevteam-core-scope .payment-plan__pricing-row-label{grid-column:1;grid-row:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .payment-plan__pricing-row-price{align-items:center;color:#fff;display:flex;gap:var(--spacing-xs);grid-column:1/-1;grid-row:2;justify-content:flex-end;margin:0;text-align:right}.ihabdevteam-core-scope .payment-plan__pricing-current{color:#fff;margin:0;white-space:nowrap}.ihabdevteam-core-scope .payment-plan__pricing-symbol{font-weight:600;margin-right:2px}.ihabdevteam-core-scope .payment-plan__list{grid-gap:var(--spacing-l);align-items:stretch;display:grid;gap:var(--spacing-l);grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),360px));justify-content:center;margin:0 auto var(--spacing-page);width:100%}.ihabdevteam-core-scope .payment-plan__list>.payment-plan__card{align-self:stretch}.ihabdevteam-core-scope .payment-plan__card.recommended{border-color:var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .payment-plan__feature{align-items:center;color:var(--color-darkGray);display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .payment-plan__feature:before{color:var(--color-success);content:"\u2713";font-weight:700}@media (max-width:767px){.ihabdevteam-core-scope .payment-plan__list{align-items:center;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .payment-plan__list>.payment-plan__card{align-self:center;flex:none;max-width:360px;width:100%}}';le(ZB);const JB=()=>kt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function Qg(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return fr(`${t.toLocaleString("ko-KR")}\uC6D0`)}return fr(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function QB(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function e7(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[1]}\uC77C`;const a=e.name??"",o=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(o)return o[1].replace(/\s+/g,"");const n=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return n?n[2].toLowerCase()==="year"?`${n[1]}\uB144`:`${n[1]}\uC77C`:a||JB()}function t7(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function nd(e){return{type:e.type??QB(e),plan:e7(e),label:e.label,price:Qg(e.price),originalPrice:Qg(e.originalPrice),discountLabel:e.discountLabel}}var a7='.ihabdevteam-core-scope .pass-card-frame{container-type:inline-size;height:188px;max-width:100%;width:300px}.ihabdevteam-core-scope .pass-card{border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;height:188px;overflow:hidden;padding:var(--spacing-l);position:relative;width:300px}.ihabdevteam-core-scope .pass-card-frame>.pass-card{aspect-ratio:auto;border-radius:5.33cqw;height:100%;padding:6.67cqw;width:100%}.ihabdevteam-core-scope .pass-card--clickable{cursor:pointer}@media (max-width:360px){.ihabdevteam-core-scope .pass-card,.ihabdevteam-core-scope .pass-card-frame{max-width:300px;width:100%}}.ihabdevteam-core-scope .pass-card--active{box-shadow:0 4px 16px rgba(0,0,0,.08)}.ihabdevteam-core-scope .pass-card--pending{box-shadow:0 2px 8px rgba(0,0,0,.05)}.ihabdevteam-core-scope .pass-card--expired{--color-main:var(--color-disabled);--color-sub:var(--color-whiteLine);--pass-card-expired-shape:var(--color-whiteLine);box-shadow:none}.ihabdevteam-core-scope [data-theme=dark] .pass-card--expired,.ihabdevteam-core-scope[data-theme=dark] .pass-card--expired,[data-theme=dark] .pass-card--expired .ihabdevteam-core-scope{--pass-card-expired-shape:hsla(0,0%,100%,.18)}@media (prefers-color-scheme:dark){.ihabdevteam-core-scope :root:not([data-theme=light]):not([data-theme=dark]) .pass-card--expired{--pass-card-expired-shape:hsla(0,0%,100%,.18)}}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg{background:var(--color-darkWhite)}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg__symbol{background:var(--pass-card-expired-shape)}.ihabdevteam-core-scope .pass-card--expired .pass-card__copyright,.ihabdevteam-core-scope .pass-card--expired .pass-card__plan,.ihabdevteam-core-scope .pass-card--expired .pass-card__price-area,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage-percent,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage-remaining{color:var(--color-gray)}.ihabdevteam-core-scope .pass-card.pass-card--expired:after{box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.5),inset -1px -1px 0 color-mix(in srgb,var(--color-gray) 10%,transparent)}.ihabdevteam-core-scope .pass-card:after{border-radius:inherit;box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.5),inset -1px -1px 0 rgba(73,156,223,.2);content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.ihabdevteam-core-scope .pass-card__top{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;margin-top:-1.67cqw;position:relative;z-index:1}.ihabdevteam-core-scope .pass-card__top-left{align-items:flex-start;display:flex;flex-direction:column;gap:0}.ihabdevteam-core-scope .pass-card__logo{height:10.67cqw;-o-object-fit:contain;object-fit:contain;width:auto}.ihabdevteam-core-scope .pass-card__plan{color:var(--pass-card-text,var(--color-pureBlack));display:flex;flex-direction:column;gap:0;margin-top:-.67cqw;position:relative;text-align:left;z-index:1}.ihabdevteam-core-scope .pass-card__plan .h0{font-size:13.33cqw;line-height:1.3}.ihabdevteam-core-scope .pass-card .pass-card__plan-number{font-size:17.33cqw;letter-spacing:-1cqw;line-height:1}.ihabdevteam-core-scope .pass-card__plan .h5b{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__plan-unit{margin-left:.67cqw;position:relative;top:-.67cqw}.ihabdevteam-core-scope .pass-card__plan-suffix{margin-left:.67cqw;margin-top:0}.ihabdevteam-core-scope .pass-card .pass-card__copyright{color:var(--pass-card-text,var(--color-black));font-size:3.67cqw;line-height:1.36;margin:auto 0 0;position:relative;text-align:left;z-index:1}.ihabdevteam-core-scope .pass-card__price-area{align-items:flex-end;bottom:4.67cqw;display:flex;flex-direction:column;gap:0;position:absolute;right:6.67cqw;z-index:1}.ihabdevteam-core-scope .pass-card__price-area .h1{font-size:10.67cqw;line-height:1.375}.ihabdevteam-core-scope .pass-card__price-area .h5{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__usage{align-items:flex-end;bottom:4.67cqw;color:var(--pass-card-text,var(--color-black));display:flex;flex-direction:column;gap:0;position:absolute;right:6.67cqw;z-index:1}.ihabdevteam-core-scope .pass-card__usage-percent{align-items:baseline;display:inline-flex;font-size:3.67cqw;gap:0;line-height:1.36;opacity:.9}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-remaining{font-size:5cqw;line-height:1.53;opacity:.9}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-value{font-size:10.67cqw;line-height:1.2}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-symbol{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__discount{color:var(--pass-card-text,var(--color-pureBlack));font-size:4.67cqw;line-height:1.2;text-align:right;white-space:pre-line}.ihabdevteam-core-scope .pass-card__price{align-items:baseline;color:var(--pass-card-text,var(--color-pureBlack));display:inline-flex;gap:2cqw;text-align:right}.ihabdevteam-core-scope .pass-card__price-original{color:color-mix(in srgb,var(--pass-card-text,var(--color-pureBlack)) 75%,transparent);font-size:4.67cqw;line-height:1.57;text-decoration:line-through;text-decoration-thickness:1px}';le(a7);var o7='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_SpeechEar_kor_mono" xmlns="http://www.w3.org/2000/svg" width="583.33" height="240" viewBox="0 0 583.33 240"><g id="text"><path d="M278.07,115.18V47.71h85.73v67.47h-85.73ZM408.4,173.42v20.18h-125.33v-44.02h96.5v-5.96h-96.88v-20.18h124.18v44.02h-96.11v5.96h97.65ZM305.56,70.97v20.76h30.95v-20.76h-30.95ZM423.39,92.88h-16.53v25.37h-27.68V45.98h27.68v20.18h16.53v26.72Z" fill="%23fff"/><path d="M527.58,113.83v26.33c-7.82,3.59-20.06,5.38-36.71,5.38h-1.73v48.06h-27.68v-48.06h-34.21v-26.33h64.01c16.4,0,28.51-1.79,36.33-5.38ZM435.31,75.77v-26.33h80.35v62.09h-27.68v-35.75h-52.67ZM563.33,193.61h-27.68V45.98h27.68v147.63Z" fill="%23fff"/></g><g id="symbol"><g opacity=".5"><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23fff"/></g><path d="M140,30h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84-3.88-7.1-6.08-15.25-6.08-23.92v-80c0-16.57,13.43-30,30-30h80c8.66,0,16.81,2.21,23.92,6.08-8.48-15.54-24.97-26.08-43.92-26.08Z" fill="%23fff"/><path d="M183.92,56.08c3.88,7.1,6.08,15.25,6.08,23.92v80c0,16.57-13.43,30-30,30h-80c-8.66,0-16.81-2.21-23.92-6.08,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%23fff"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',r7='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_SpeechEarManager_ko_mono" xmlns="http://www.w3.org/2000/svg" width="1035.43" height="240" viewBox="0 0 1035.43 240"><g id="text"><path d="M278.07,115.18V47.71h85.73v67.47h-85.73ZM408.4,173.42v20.18h-125.33v-44.02h96.5v-5.96h-96.88v-20.18h124.18v44.02h-96.11v5.96h97.65ZM305.56,70.97v20.76h30.95v-20.76h-30.95ZM423.39,92.88h-16.53v25.37h-27.68V45.98h27.68v20.18h16.53v26.72Z" fill="%23fff"/><path d="M527.58,113.83v26.33c-7.82,3.59-20.06,5.38-36.71,5.38h-1.73v48.06h-27.68v-48.06h-34.21v-26.33h64.01c16.4,0,28.51-1.79,36.33-5.38ZM435.31,75.77v-26.33h80.35v62.09h-27.68v-35.75h-52.67ZM563.33,193.61h-27.68V45.98h27.68v147.63Z" fill="%23fff"/><path d="M644.64,52.32v131.48h-58.24V52.32h58.24ZM634.45,173.81V62.32h-38.25v111.49h38.25ZM713.65,193.61h-10.19v-75.16h-28.64v72.66h-10V46.94h10v61.32h28.64v-62.28h10.19v147.63Z" fill="%23fff"/><path d="M819.46,171.6c6.6-1.35,12.08-3.11,16.44-5.29v10.19c-4.23,2.31-9.64,4.1-16.24,5.38-6.6,1.28-13.3,1.92-20.09,1.92h-57.28V51.36h10.57v122.25h46.71c6.66,0,13.29-.67,19.89-2.02ZM851.47,193.8V45.98h10.57v147.63l-10.57.19Z" fill="%23fff"/><path d="M935.66,113.64l48.44,62.28-8.27,6.34-43.06-56.13c-4.36,16.66-10.38,29.92-18.07,39.79-7.69,9.87-16.72,15.83-27.1,17.88v-10.76c8.71-2.05,16.21-8.07,22.49-18.07,6.28-10,11.05-22.97,14.32-38.92,3.27-15.95,5.03-33.86,5.29-53.73h-39.21v-10h88.61v10h-39.02c-.13,18.84-1.6,35.95-4.42,51.32ZM1015.43,193.61h-10.38v-79.39h-37.87v-10.19h37.87v-58.05h10.38v147.63Z" fill="%23fff"/></g><g id="symbol"><g opacity=".5"><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23fff"/></g><path d="M140,30h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84-3.88-7.1-6.08-15.25-6.08-23.92v-80c0-16.57,13.43-30,30-30h80c8.66,0,16.81,2.21,23.92,6.08-8.48-15.54-24.97-26.08-43.92-26.08Z" fill="%23fff"/><path d="M183.92,56.08c3.88,7.1,6.08,15.25,6.08,23.92v80c0,16.57-13.43,30-30,30h-80c-8.66,0-16.81-2.21-23.92-6.08,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%23fff"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',n7=".ihabdevteam-core-scope .pass-card-bg{border-radius:inherit;inset:0;overflow:hidden;pointer-events:none;position:absolute}:where(.ihabdevteam-core-scope){--pass-card-symbol-opacity:1}.ihabdevteam-core-scope .pass-card-bg__symbol{background:var(--symbol-url) center /contain no-repeat;height:48px;-webkit-mask:var(--symbol-url) center /contain no-repeat;mask:var(--symbol-url) center /contain no-repeat;position:absolute;right:12px;top:12px;width:48px}.ihabdevteam-core-scope .pass-card-bg__circle{border-radius:50%;opacity:1;opacity:var(--pass-card-symbol-opacity,.75);position:absolute}.ihabdevteam-core-scope .pass-card-bg__circle--1{height:340px;right:-150px;top:-140px;width:340px}.ihabdevteam-core-scope .pass-card-bg__circle--2{bottom:-90px;height:220px;right:-50px;width:220px}.ihabdevteam-core-scope .pass-card-bg__circle--3{bottom:-70px;height:140px;left:-40px;width:140px}.ihabdevteam-core-scope .pass-card-bg--default{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--1{background:var(--color-main)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--2{background:var(--color-sub)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--3{background:var(--color-main-a20)}.ihabdevteam-core-scope .pass-card-bg--blue{background:var(--color-deepMain)}.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--1{background:var(--color-white-a30)}.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--2,.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--3{background:var(--color-white-a10)}.ihabdevteam-core-scope .pass-card-bg--dark{background:var(--color-softBlack)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--1{background:var(--color-main)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--2{background:var(--color-sub)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--3{background:var(--color-white-a10)}";le(n7);var i7=".ihabdevteam-core-scope .pass-card-bg-two-circle{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg-two-circle__c1,.ihabdevteam-core-scope .pass-card-bg-two-circle__c3{border-radius:50%;opacity:.75;opacity:var(--pass-card-symbol-opacity,.75);position:absolute}.ihabdevteam-core-scope .pass-card-bg-two-circle__c1{background:var(--color-main);height:340px;right:-150px;top:-140px;width:340px}.ihabdevteam-core-scope .pass-card-bg-two-circle__c3{background:var(--color-sub);bottom:-90px;height:220px;right:-50px;width:220px}.ihabdevteam-core-scope .pass-card-bg-two-circle__symbol{background:var(--color-darkWhite)}";le(i7);var ef='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Symbol_IHAB_mono" xmlns="http://www.w3.org/2000/svg" width="240" height="240" viewBox="0 0 240 240"><path id="symbol" d="M190.71,49.29c-18.1-18.1-43.1-29.29-70.71-29.29s-34.94,28.87-53.03,46.97h0c-18.1,18.1-46.97,25.56-46.97,53.03s11.19,52.61,29.29,70.71c18.1,18.1,43.1,29.29,70.71,29.29s52.61-11.19,70.71-29.29c18.1-18.1,29.29-43.1,29.29-70.71s-11.19-52.61-29.29-70.71ZM155.36,155.36c-9.05,9.05-21.55,14.64-35.36,14.64s-26.31-5.6-35.36-14.64c-9.05-9.05-14.64-21.55-14.64-35.36s5.6-26.31,14.64-35.36c9.05-9.05,21.55-14.64,35.36-14.64s26.31,5.6,35.36,14.64c9.05,9.05,14.64,21.55,14.64,35.36s-5.6,26.31-14.64,35.36Z" fill="%23fff"/></svg>';const wo={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},id=new WeakMap;function s7(e){if(e)return id.get(e)}function Ga(e,t){e&&(e.style.setProperty(wo.text,t.text),e.style.setProperty(wo.sub,t.sub),t.copyrightColor&&e.style.setProperty(wo.copyright,t.copyrightColor),id.set(e,t))}function Ha(e){e&&(e.style.removeProperty(wo.text),e.style.removeProperty(wo.sub),e.style.removeProperty(wo.copyright),id.delete(e))}const sd={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"#1a1a1a"};function ld(e={}){const t=jt(sd,Ga,Ha);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-two-circle__c1"}),r.jsx("div",{className:"pass-card-bg-two-circle__c3"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${ef}")`}})]})}const tf="M190.71,49.29c-18.1-18.1-43.1-29.29-70.71-29.29s-34.94,28.87-53.03,46.97h0c-18.1,18.1-46.97,25.56-46.97,53.03s11.19,52.61,29.29,70.71c18.1,18.1,43.1,29.29,70.71,29.29s52.61-11.19,70.71-29.29c18.1-18.1,29.29-43.1,29.29-70.71s-11.19-52.61-29.29-70.71Z",Br=240;var l7=".ihabdevteam-core-scope .pass-card-bg-sound-move{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg-sound-move__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";le(l7);var Sn='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Symbol_IHAB" xmlns="http://www.w3.org/2000/svg" width="240" height="240" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 240 240"><defs><linearGradient id="linear-gradient" x1="62.99" y1="62.99" x2="190.71" y2="190.71" gradientUnits="userSpaceOnUse"><stop offset=".2" stop-color="%23499cdf"/><stop offset=".8" stop-color="%234dcdc0"/></linearGradient></defs><path id="symbol" d="M190.71,49.29c-18.1-18.1-43.1-29.29-70.71-29.29s-34.94,28.87-53.03,46.97h0c-18.1,18.1-46.97,25.56-46.97,53.03s11.19,52.61,29.29,70.71c18.1,18.1,43.1,29.29,70.71,29.29s52.61-11.19,70.71-29.29c18.1-18.1,29.29-43.1,29.29-70.71s-11.19-52.61-29.29-70.71ZM155.36,155.36c-9.05,9.05-21.55,14.64-35.36,14.64s-26.31-5.6-35.36-14.64c-9.05-9.05-14.64-21.55-14.64-35.36s5.6-26.31,14.64-35.36c9.05-9.05,21.55-14.64,35.36-14.64s26.31,5.6,35.36,14.64c9.05,9.05,14.64,21.55,14.64,35.36s-5.6,26.31-14.64,35.36Z" fill="url(%23linear-gradient)"/></svg>';const c7={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"var(--color-main)"},u7=100,d7=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function af(e={}){const t=jt(c7,Ga,Ha),a="var(--color-main)",o=270,n=170;return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[r.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:d7.map(({scale:i,opacity:l},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i*u7/Br}) translate(${-Br/2} ${-Br/2})`,opacity:l,children:r.jsx("path",{d:tf,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}var p7=".ihabdevteam-core-scope .pass-card-bg-sound-move-v1{background:linear-gradient(135deg,var(--color-main),var(--color-sub))}.ihabdevteam-core-scope .pass-card-bg-sound-move-v1__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";le(p7);const h7={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",logoColor:"_mono",copyrightColor:"#ffffff"},m7=100,b7=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function g7(e={}){const t=jt(h7,Ga,Ha),a="#ffffff",o=270,n=170;return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[r.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:b7.map(({scale:i,opacity:l},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i*m7/Br}) translate(${-Br/2} ${-Br/2})`,opacity:l,children:r.jsx("path",{d:tf,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${ef}")`}})]})}var f7=".ihabdevteam-core-scope .pass-card-bg-talk{align-items:center;background:var(--color-pureWhite);display:flex;justify-content:center}.ihabdevteam-core-scope .pass-card-bg-talk__shape{height:76px;position:absolute;width:76px}.ihabdevteam-core-scope .pass-card-bg-talk__shape--left{background:var(--color-main);border-radius:42px 42px 42px 4px;transform:translateX(-18px)}.ihabdevteam-core-scope .pass-card-bg-talk__shape--right{background:var(--color-sub);border-radius:50%;opacity:.7;transform:translateX(18px)}";le(f7);const v7={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"var(--color-main)"};function x7(e={}){const t=jt(v7,Ga,Ha);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),r.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}const C7={Logo_SpeechEar_ko:{"":Fi,_mono:o7},Logo_SpeechEarManager_ko:{"":ad,_mono:r7}};function y7(e,t){if(e)return C7[e]?.[t??""]??void 0}const _7={speechear:Fi,manager:ad},w7={speechear:"Logo_SpeechEar_ko",manager:"Logo_SpeechEarManager_ko"},of=10;function k7(e){return e<=0?0:e>=86400?Math.floor(e/86400)*86400:e>=3600?Math.floor(e/3600)*3600:e>=60?Math.floor(e/60)*60:Math.floor(e)}function rf(e,t){if(e<=0)return t("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return t("passCard.remainingDay",{n:a});const o=Math.floor(e/3600);if(o>0)return t("passCard.remainingHour",{n:o});const n=Math.floor(e/60);return n>0?t("passCard.remainingMinute",{n}):t("passCard.remainingSecond",{n:Math.floor(e)})}function B7(e,t,a){if(e==="manager"){const o=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),n=a==="\uC624\uD508\uD2B9\uAC00"||a===kt.t("passCard.specialLabel");return o?r.jsx(x7,{}):n?r.jsx(g7,{}):r.jsx(af,{})}return r.jsx(ld,{})}function cd({ariaLabel:e,product:t,showPrice:a=!1,plan:o,type:n,endDate:i,remainingSeconds:l,endInclusive:c=!1,state:u="active",bg:d,bgOnly:h=!1,textColor:p,subColor:m,copyrightColor:v,logoSrc:x,label:g,price:b,originalPrice:C,discountLabel:f,onUse:w,onRefund:y,onDelete:A}){const{t:_}=Ce.useTranslation(),B=t?nd(t):void 0,k=n??B?.type??"speechear",E=o??B?.plan??_("passCard.planSuffix","\uC774\uC6A9\uAD8C"),S=g??B?.label,D=b??(a?B?.price:void 0),$=C??(a?B?.originalPrice:void 0),j=f??B?.discountLabel,H=s.useMemo(()=>{if(D)return null;const Z=t?.durationDays??t7(t?.code);if(!Z||Z<=0)return l!=null?{percent:null,remainingLabel:rf(l,_)}:null;const ee=Z*86400;let me;if(l!=null)me=l;else if((u==="active"||u==="expired")&&i){const re=new Date(i).getTime();if(Number.isNaN(re))return null;const pe=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),ve=/^(\d{4})-(\d{2})-(\d{2})/.exec(ya()),q=Math.round(pe&&ve?(Date.UTC(+pe[1],+pe[2]-1,+pe[3])-Date.UTC(+ve[1],+ve[2]-1,+ve[3]))/864e5:(re-Date.now())/864e5);me=Math.max(0,c?q+1:q)*86400}else u==="expired"?me=0:me=ee;const Le=k7(me),ye=Math.max(0,Math.min(100,Math.floor(Math.min(Le,ee)/ee*100)));return u==="pending"&&ye>=100?null:{percent:ye,remainingLabel:u==="expired"?_("passCard.expired","\uB9CC\uB8CC\uB428"):rf(me,_)}},[D,u,i,l,c,t?.durationDays,t?.code,_]),T=s.useRef(null),[L,I]=s.useState({}),[K,Y]=s.useState(null),M=!!(w||y||A),G=s.useRef(!1),z=s.useRef(void 0),[V,W]=s.useState(x);s.useLayoutEffect(()=>{W(x)},[x]),s.useLayoutEffect(()=>{const Z=T.current;Z&&(p!==void 0&&Z.style.setProperty("--pass-card-text",p),m!==void 0&&Z.style.setProperty("--pass-card-sub",m),v!==void 0&&Z.style.setProperty("--pass-card-copyright",v))},[p,m,v]),s.useLayoutEffect(()=>{const Z=T.current;if(!Z)return;const ee=s7(Z);if(!x){const me=w7[k],Le=u==="expired"?"_mono":ee?.logoColor??"",ye=y7(me,Le);W(ye)}},[d,x,k,u]);const O=Z=>{const ee=T.current;if(!ee)return null;const{left:me,top:Le,width:ye,height:re}=ee.getBoundingClientRect(),pe=(Z.clientX-me)/ye-.5;return{rotateX:-((Z.clientY-Le)/re-.5)*of,rotateY:pe*of}},N=(Z,ee)=>{const me=ee*-.7,Le=Z*.7+10,ye=20+(Math.abs(Z)+Math.abs(ee))*.4;return`${me}px ${Le}px ${ye}px rgba(0, 0, 0, 0.18)`},P=s.useCallback(Z=>{if(yr())return;G.current=!0,clearTimeout(z.current),z.current=setTimeout(()=>{G.current=!1},200);const ee=O(Z);ee&&I({transform:`perspective(800px) rotateX(${ee.rotateX}deg) rotateY(${ee.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:N(ee.rotateX,ee.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),F=s.useCallback(Z=>{if(yr())return;const ee=O(Z);if(!ee)return;const me=G.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";I({transform:`perspective(800px) rotateX(${ee.rotateX}deg) rotateY(${ee.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:N(ee.rotateX,ee.rotateY),transition:me})},[]),X=s.useCallback(()=>{clearTimeout(z.current),G.current=!1,I({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),ie=s.useCallback(()=>Y(null),[]),oe=s.useMemo(()=>{const Z=_("passCard.planSuffix","\uC774\uC6A9\uAD8C"),ee=E.replace("\uC774\uC6A9\uAD8C","").replace(Z==="\uC774\uC6A9\uAD8C"?"":Z,"").trim(),me=ee.match(/^(.*?)(일|년)$/);return me?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"h0 pass-card__plan-number",children:me[1]}),r.jsx("span",{className:"h5b pass-card__plan-unit",children:me[2]==="\uB144"?_("passCard.unitYear","\uB144"):_("passCard.unitDay","\uC77C")})]}):r.jsx("span",{className:"h0",children:ee})},[E,_]),de=s.useMemo(()=>{const Z=fr(D);if(!Z)return null;const ee=Z.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!ee)return r.jsx("span",{className:"h1",children:Z});const[,me,Le,ye]=ee;return r.jsxs(r.Fragment,{children:[me&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:me}),r.jsx("span",{className:"h1 pass-card__price-amount",children:Le}),ye.trim()&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:ye.trim()})]})},[D]),U=s.useCallback(()=>{M&&Y(Z=>{if(Z)return null;const ee=T.current?.getBoundingClientRect();if(!ee)return null;const me=50;return{left:ee.left,right:ee.right,width:ee.width,height:ee.height,x:ee.x,y:ee.y+me,top:ee.top+me,bottom:ee.bottom+me}})},[M]),se=s.useCallback(Z=>{M&&(Z.key==="Enter"||Z.key===" ")&&(Z.preventDefault(),U())},[M,U]),Se=[{items:[...w?[{label:_("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),Y(null)},closeOnSelect:!0}]:[],...y?[{label:_("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{y(),Y(null)},closeOnSelect:!0}]:[],...A?[{label:_("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{A(),Y(null)},closeOnSelect:!0}]:[]]}];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card-frame",children:r.jsxs("div",{ref:T,className:`pass-card pass-card--${u}${M?" pass-card--clickable":""}`,style:L,onMouseEnter:P,onMouseMove:F,onMouseLeave:X,onPointerUp:Z=>{Z.pointerType==="touch"&&X()},onPointerCancel:Z=>{Z.pointerType==="touch"&&X()},onClick:U,onKeyDown:M?se:void 0,role:M?"button":void 0,tabIndex:M?0:void 0,"aria-label":e,"aria-haspopup":M?"menu":void 0,"aria-expanded":M?!!K:void 0,children:[d??B7(k,E,S),!h&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card__top",children:r.jsxs("div",{className:"pass-card__top-left",children:[r.jsx("img",{src:V??_7[k],className:"pass-card__logo",alt:k==="manager"?_("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):_("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),r.jsxs("div",{className:"pass-card__plan",children:[r.jsx("div",{children:oe}),r.jsx("span",{className:"h5b pass-card__plan-suffix",children:S?_("passCard.labeledPlan",{label:S}):_("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),D?r.jsxs("div",{className:"pass-card__price-area",children:[j&&r.jsx("span",{className:"pass-card__discount body-3",children:j}),r.jsxs("div",{className:"pass-card__price",children:[$&&r.jsx("span",{className:"pass-card__price-original body-3",children:fr($)}),de]})]}):H?r.jsxs("div",{className:"pass-card__usage",children:[r.jsx("span",{className:"h5b pass-card__usage-remaining",children:H.remainingLabel}),H.percent!=null&&r.jsxs("span",{className:"pass-card__usage-percent",children:[r.jsx("span",{className:"h1 pass-card__usage-value",children:H.percent}),r.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):r.jsx("div",{className:"pass-card__copyright caption-2","aria-hidden":"true",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),K&&r.jsx(_a,{anchorRect:K,onClose:ie,ariaLabel:_("tooltip.menu","\uBA54\uB274"),children:r.jsx(kr,{columns:Se,onClose:ie,size:"small"})})]})}var A7=".ihabdevteam-core-scope .pass-card-bg-sound-line{background:linear-gradient(60deg,var(--color-pureWhite) 0,color-mix(in srgb,var(--color-sub) 15%,var(--color-pureWhite)) 100%)}.ihabdevteam-core-scope .pass-card-bg-sound-line__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";le(A7);const S7={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"#1a1a1a"};function E7(e={}){const t=`passcard-sound-line-grad-${s.useId()}`,a=jt(S7,Ga,Ha);return r.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[r.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[r.jsx("defs",{children:r.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[r.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),r.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),r.jsx("g",{transform:"translate(25, 45)",children:r.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${t})`,strokeWidth:"50",strokeLinecap:"round"})})]}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}var D7=".ihabdevteam-core-scope .pass-card-bg-talk-v1{align-items:center;background:var(--color-pureWhite);display:flex;justify-content:center}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape{height:76px;position:absolute;width:76px}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape--left{background:linear-gradient(70deg,var(--color-main),var(--color-sub));border-radius:999px;height:92px;transform:translateX(0) rotate(120deg);width:180px}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape--right{background:var(--color-sub);border-radius:50%;height:60px;opacity:1;transform:translate(38px,12px);width:60px}";le(D7);const N7={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"var(--color-main)"};function T7(e={}){const t=jt(N7,Ga,Ha);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),r.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}function j7(e,t){if(e){if(t==="manager_pro")return r.jsx(T7,{});if(t==="manager_standard")return r.jsx(E7,{});if(t==="manager_lite")return r.jsx(af,{})}}function L7(e){const t=fr(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,o,n,i]=a;return r.jsxs(r.Fragment,{children:[o&&r.jsx("span",{className:"payment-plan__pricing-symbol h4",children:o}),n,i.trim()&&r.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function nf(e){const{t}=Ce.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),o=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:n,onSelect:i,period:l="monthly",ownedCodes:c}=e||{},u=y=>!!y&&!!c?.includes(y),d=y=>y.onceOnly??/오픈\s*특가/.test(y.label??""),h=(n.tiers||[]).some(y=>d(y)&&u(y.code)),p=y=>{const A=y.prices?y.prices[l]:y.price;return A?(n.tiers||[]).some(_=>!!_.badge&&_.originals?.[l]===A):!1},m=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",v=t("payment.plan.freePrice","\uBB34\uB8CC"),x=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=y=>y.prices?y.prices[l]:y.price,b=(n.tiers||[]).length>0&&(n.tiers||[]).every(y=>{const A=g(y);return A==="\uBB34\uB8CC"||A===v||A==="0\uC6D0"||typeof A=="string"&&/\d/.test(A)&&!/[1-9]/.test(A)}),C=(n.tiers||[]).length>0&&(n.tiers||[]).every(y=>{const A=g(y);return A==="\uBB38\uC758"||A===x}),f=n.group==="org",w=f?"manager":"speechear";return r.jsxs("div",{className:"payment-plan__card",style:{borderColor:m,"--plan-color":m},children:[n.cardBadge&&r.jsx("div",{className:"payment-plan__card-badge",children:r.jsx(Tt,{label:n.cardBadge,variant:"main",size:"medium",fill:"soft"})}),r.jsxs("div",{className:"payment-plan__title",children:[r.jsx("p",{className:"payment-plan__quote body-3b",style:{color:m},children:n.quote||"\xA0"}),r.jsx("h3",{className:"payment-plan__title-heading h1",children:n.tier??n.title}),r.jsx("p",{className:"payment-plan__subtitle body-3",children:n.subtitle})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.recommendedFor||[]).map((y,A)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(it,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),y]},A))})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.features||[]).map((y,A)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(it,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),y]},A))})]}),r.jsx("div",{className:"payment-plan__card-pricing",children:b?null:C?r.jsx(ge,{htmlType:"button",className:"payment-plan__contact-button",label:t("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>n.tiers?.[0]&&i?.({...n.tiers[0],productId:n.id,productTitle:n.title})}):r.jsx(r.Fragment,{children:r.jsx("div",{className:"payment-plan__pricing-list",children:(n.tiers||[]).map(y=>{const A=y.label||a,_=d(y),B=_||y.openPromo===!0,k=A.replace(/^오픈\s*특가\s*/,"")||a,E=y.prices?y.prices[l]:y.price,S=y.badge?B?`${o}
|
|
852
|
-
${y.badge}`:y.badge:void 0;if(_&&u(y.code))return null;if(!y.badge&&!h)return p(y)?null:r.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${y.highlight?" payment-plan__pricing-row--highlight":""}`,children:[r.jsx("div",{className:"payment-plan__pricing-row-title",children:r.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:y.label})}),r.jsx("div",{className:"payment-plan__pricing-row-price",children:r.jsx("span",{className:"payment-plan__pricing-current h1",children:L7(E)})})]},y.id);const D=n.tier??(f?n.title:void 0),$=r.jsx(cd,{showPrice:!0,product:{type:w,code:y.code,name:k,label:D,price:E,originalPrice:y.originals?.[l]??void 0,discountLabel:S},bg:j7(f,n.id)}),j=()=>i?.({...y,productId:n.id,productTitle:n.title,preview:$});return r.jsx("div",{className:"payment-plan__pricing-card",onClick:j,onKeyDown:i?H=>{H.target===H.currentTarget&&(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),j())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:$},y.id)})})})})]})}function sf({variant:e="default"}){return r.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var M7=".ihabdevteam-core-scope .pass-card-bg-ihab{background:var(--color-white)}.ihabdevteam-core-scope .pass-card-bg-ihab__symbol{bottom:-24px;height:140px;-o-object-fit:contain;object-fit:contain;opacity:.06;position:absolute;right:-24px;width:140px}.ihabdevteam-core-scope .pass-card-bg-ihab__symbol-top{transform:translate(-48px) rotate(-90deg);transform-origin:top right;width:153.016px}";le(M7);var ud='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_IHAB_eng" xmlns="http://www.w3.org/2000/svg" width="765.08" height="240" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 765.08 240"><defs><linearGradient id="linear-gradient" x1="62.99" y1="62.99" x2="190.71" y2="190.71" gradientUnits="userSpaceOnUse"><stop offset=".2" stop-color="%23499cdf"/><stop offset=".8" stop-color="%234dcdc0"/></linearGradient></defs><path id="symbol" d="M190.71,49.29c-18.1-18.1-43.1-29.29-70.71-29.29s-34.94,28.87-53.03,46.97h0c-18.1,18.1-46.97,25.56-46.97,53.03s11.19,52.61,29.29,70.71c18.1,18.1,43.1,29.29,70.71,29.29s52.61-11.19,70.71-29.29c18.1-18.1,29.29-43.1,29.29-70.71s-11.19-52.61-29.29-70.71ZM155.36,155.36c-9.05,9.05-21.55,14.64-35.36,14.64s-26.31-5.6-35.36-14.64c-9.05-9.05-14.64-21.55-14.64-35.36s5.6-26.31,14.64-35.36c9.05-9.05,21.55-14.64,35.36-14.64s26.31,5.6,35.36,14.64c9.05,9.05,14.64,21.55,14.64,35.36s-5.6,26.31-14.64,35.36Z" fill="url(%23linear-gradient)"/><g id="text"><path d="M316.21,190.6h-36.74V50.61h36.74v139.99Z"/><path d="M335.16,50.61h36.74v55.11h51.63v-55.11h36.93v139.99h-36.93v-55.11h-51.63v55.11h-36.74V50.61Z"/><path d="M473.99,190.6l46.6-139.99h50.08l46.41,139.99h-39.64l-8.31-27.46h-46.99l-8.31,27.46h-39.83ZM560.62,135.3l-14.5-46.99h-1.16l-14.31,46.99h29.97Z"/><path d="M631,50.61h59.94c31.9,0,48.73,13.73,48.73,35.19,0,15.47-11.02,27.26-26.88,30.55v1.35c17.6.58,32.29,13.54,32.29,33.45,0,22.82-18.56,39.45-49.11,39.45h-64.97V50.61ZM701.77,93.53c0-8.89-6.96-13.92-17.02-13.92h-17.02v27.84h16.44c10.25,0,17.6-5.03,17.6-13.92ZM706.22,146.51c0-10.25-7.35-16.05-19.14-16.05h-19.34v30.55h18.76c13.15,0,19.72-5.03,19.72-14.5Z"/></g></svg>';const dd={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"#c9c9c9"};function lf(){const e=jt(dd,Ga,Ha);return r.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${ud}")`}})})}var $7=".ihabdevteam-core-scope .pass-card-bg-left-color-grid{background:var(--color-white)}.ihabdevteam-core-scope .pass-card-bg-left-color-grid__bar{background:linear-gradient(120deg,var(--color-main),var(--color-sub));border-radius:16px 0 0 16px;height:100%;left:0;position:absolute;top:0;width:76%}.ihabdevteam-core-scope .pass-card-bg-left-color-grid__grid{--grid-line:rgba(73,156,223,.06);background-image:linear-gradient(rgba(73,156,223,.06) 1px,transparent 0),linear-gradient(90deg,rgba(73,156,223,.06) 1px,transparent 0);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:24px 24px;inset:0;position:absolute}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg-left-color-grid__grid{--grid-line:transparent}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg-left-color-grid__bar{background:var(--pass-card-expired-shape)}";le($7);const pd={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEarManager_ko",logoColor:"_mono",copyrightColor:"#ffffff"};function cf(e={}){const t=jt(pd,Ga,Ha);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),r.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}var R7=".ihabdevteam-core-scope .shortcut-badge{align-items:center;display:inline-flex;gap:4px;pointer-events:none;z-index:10}.ihabdevteam-core-scope .shortcut-badge--top-left{left:0;position:absolute;top:0;transform:translate(-25%,-25%) scale(1);transform:translate(-25%,-25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--top-right{position:absolute;right:0;top:0;transform:translate(25%,-25%) scale(1);transform:translate(25%,-25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--bottom-left{bottom:0;left:0;position:absolute;transform:translate(-25%,25%) scale(1);transform:translate(-25%,25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--bottom-right{bottom:0;position:absolute;right:0;transform:translate(25%,25%) scale(1);transform:translate(25%,25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--static,.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__group{gap:4px;gap:calc(4px*var(--shortcut-badge-scale, 1))}.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__key{border-width:2px;border-width:calc(2px*var(--shortcut-badge-scale, 1));font-size:11px;font-size:calc(11px*var(--shortcut-badge-scale, 1));min-height:24px;min-height:calc(24px*var(--shortcut-badge-scale, 1));min-width:24px;min-width:calc(24px*var(--shortcut-badge-scale, 1));padding:0 5px;padding:0 calc(5px*var(--shortcut-badge-scale, 1))}.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__plus{font-size:11px;font-size:calc(11px*var(--shortcut-badge-scale, 1))}.ihabdevteam-core-scope .shortcut-badge__group{align-items:center;display:inline-flex;gap:4px}.ihabdevteam-core-scope .shortcut-badge__plus{color:var(--color-lightGray);font-size:11px;line-height:1}.ihabdevteam-core-scope .shortcut-badge__key{align-items:center;background:var(--color-lightBlack);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-white);display:inline-flex;font-family:inherit;font-size:11px;font-weight:400;justify-content:center;line-height:1;min-height:24px;min-width:24px;padding:0 5px;white-space:nowrap}";le(R7);function hd({keys:e,anchor:t="top-right",scale:a,className:o=""}){const n=Array.isArray(e)?e:[e];return r.jsx("span",{className:Be("shortcut-badge",`shortcut-badge--${t}`,o),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:n.map((i,l)=>r.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&r.jsx("span",{className:"shortcut-badge__plus",children:"+"}),r.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}var P7=".ihabdevteam-core-scope .sound-compass{--scb-idle-bg:var(--color-deepWhite);--scb-idle-border:var(--color-whiteLine);--scb-idle-fg:var(--color-lightGray);--scb-active-bg:var(--color-main);--scb-active-border:var(--color-main);--scb-active-fg:#fff;--scb-played-bg:var(--color-sub);--scb-played-border:var(--color-sub);--scb-played-fg:#fff;--scb-wrong-bg:#ef4444;--scb-wrong-border:#ef4444;--scb-wrong-fg:#fff;--scb-idle-hover-bg:var(--color-whiteLine);--scb-idle-hover-border:var(--color-lightGray);--scb-idle-hover-fg:var(--scb-idle-fg);--scb-focus-ring:var(--color-main);--scc-bg:var(--color-white);--scc-border:var(--color-whiteLine);--scc-fg:var(--color-lightGray);--scc-hover-bg:var(--color-deepWhite);--scc-hover-border:var(--color-lightGray);--scc-hover-fg:var(--color-darkGray);--scc-disabled-bg:var(--color-deepWhite);--scc-disabled-border:var(--color-whiteLine);--scc-disabled-fg:var(--color-whiteLine);align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .sound-compass__svg{left:0;overflow:visible;position:absolute;top:0}.ihabdevteam-core-scope .sound-compass__speaker-btn{all:unset;align-items:center;border-radius:50%;border-style:solid;border-width:1px;box-sizing:border-box;display:flex;flex-direction:column;gap:1px;justify-content:center;position:relative;transition:background-color .15s,border-color .15s,color .15s;z-index:1}.ihabdevteam-core-scope .sound-compass__speaker-btn--idle{background:var(--scb-idle-bg);border-color:var(--scb-idle-border);color:var(--scb-idle-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--active{background:var(--scb-active-bg);border-color:var(--scb-active-border);color:var(--scb-active-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--correct,.ihabdevteam-core-scope .sound-compass__speaker-btn--played{background:var(--scb-played-bg);border-color:var(--scb-played-border);color:var(--scb-played-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--wrong{background:var(--scb-wrong-bg);border-color:var(--scb-wrong-border);color:var(--scb-wrong-fg)}.ihabdevteam-core-scope .sound-compass__speaker-number{color:inherit;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .sound-compass__compass-wrap{flex-shrink:0;margin-bottom:24px;overflow:visible;position:relative}.ihabdevteam-core-scope .sound-compass__center{align-items:center;background:var(--scc-bg);border:1px solid var(--scc-border);border-radius:50%;color:var(--scc-fg);display:flex;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes sound-compass-pulse{0%{opacity:0;transform:scale(.95)}8%{opacity:.45;transform:scale(1.05)}to{opacity:0;transform:scale(2.8);transform:scale(var(--sc-pulse-scale,2.8))}}.ihabdevteam-core-scope .sound-compass__center--button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;padding:0;pointer-events:auto;transition:background-color .15s,border-color .15s,color .15s}.ihabdevteam-core-scope .sound-compass__center--button:hover{background:var(--scc-hover-bg);border-color:var(--scc-hover-border);color:var(--scc-hover-fg)}.ihabdevteam-core-scope .sound-compass__center--button:focus-visible{outline:2px solid var(--scb-focus-ring);outline-offset:2px}.ihabdevteam-core-scope .sound-compass__center--disabled{background:var(--scc-disabled-bg);border-color:var(--scc-disabled-border);color:var(--scc-disabled-fg);cursor:default;pointer-events:none}.ihabdevteam-core-scope .sound-compass__pulse--center{z-index:0}.ihabdevteam-core-scope .sound-compass__pulse{animation:sound-compass-pulse 1s cubic-bezier(.33,1,.68,1) infinite;background:var(--sc-pulse-color,var(--scb-active-bg));border-radius:50%;height:40px;left:0;pointer-events:none;position:absolute;top:0;width:40px}.ihabdevteam-core-scope .sound-compass__pulse--idle{background:var(--sc-pulse-color,var(--scb-idle-bg))}.ihabdevteam-core-scope .sound-compass__pulse--active{background:var(--sc-pulse-color,var(--scb-active-bg))}.ihabdevteam-core-scope .sound-compass__pulse--correct,.ihabdevteam-core-scope .sound-compass__pulse--played{background:var(--sc-pulse-color,var(--scb-played-bg))}.ihabdevteam-core-scope .sound-compass__pulse--wrong{background:var(--sc-pulse-color,var(--scb-wrong-bg))}.ihabdevteam-core-scope .sound-compass__pulse--once{animation-duration:1s;animation-duration:var(--sc-pulse-duration-once,1s);animation-iteration-count:1}.ihabdevteam-core-scope .sound-compass__speaker-btn:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--scb-focus-ring) 14%,transparent)}.ihabdevteam-core-scope .sound-compass__speaker-btn--idle:hover{background:var(--scb-idle-hover-bg);border-color:var(--scb-idle-hover-border);color:var(--scb-idle-hover-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn:focus-visible{outline:2px solid var(--scb-focus-ring);outline-offset:2px}.ihabdevteam-core-scope .sound-compass__speaker-shortcut{pointer-events:none;z-index:2}.ihabdevteam-core-scope .sound-compass__speaker-pos{position:absolute}";le(P7);const En=(e,t,a)=>e+(t-e)*a;function uf({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:o=null,playedIds:n,selectedId:i=null,answerId:l=null,showFeedback:c=!1,pulseSelected:u=!1,pulseSelectedDuration:d,pulseScale:h,clickable:p=!1,onSelectSpeaker:m,buttonSize:v=40,showIcon:x=!0,onCenterClick:g,centerLabel:b,centerDisabled:C=!1,centerAttention:f=!1,shortcutAnchor:w="top-right",shortcutScale:y,scaleShortcut:A=!1}){const{t:_}=Ce.useTranslation(),B=Math.max(0,Math.min(1,a)),k=t/2,E=110/300,S=.18,D=Z=>t*(E+(Z-1)*S),$=Z=>{const ee=D(Z.row??1),me=Z.angleDeg*Math.PI/180;return{x:k+ee*Math.cos(me),y:k+ee*Math.sin(me)}},j=Math.max(...e.map(Z=>Z.row??1),1),H=t*.08,T=t*.1,L=t*.24,I=t-2*H,K=t-T-L,Y=t-L/2,M=s.useMemo(()=>[...new Set(e.map(Z=>Z.deg))].sort((Z,ee)=>Z-ee),[e]),G=M.length,z=Math.max(68,G>1?I/(G-1):0),V=s.useMemo(()=>new Map(M.map((Z,ee)=>[Z,ee])),[M]),W=Z=>{const ee=V.get(Z.deg)??0,me=k+(ee-(G-1)/2)*z,Le=j>1?Math.min(68,K/(j-1)):0,ye=Le*(j-1),re=T+(K-ye)/2,pe=j===1?T+K*.4:re+(j-(Z.row??1))*Le;return{x:me,y:pe}},O=Z=>{const ee=$(Z),me=W(Z);return{x:En(ee.x,me.x,B),y:En(ee.y,me.y,B)}},N={x:k,y:En(k,Y,B)},P=Math.round(v*1.2),F=Math.round(Math.max(16,Math.min(80,v*.7))),X=[],ie=new Map;for(const Z of e){const ee=Z.row??1;ie.has(ee)||ie.set(ee,[]),ie.get(ee).push(Z)}for(const[Z,ee]of ie.entries()){if(ee.length<2)continue;const me=[...ee].sort((Ge,pt)=>Ge.deg-pt.deg),Le=me.map(Ge=>O(Ge)),ye=me.map(Ge=>Ge.deg),re=ye[ye.length-1]-ye[0],pe=re/(ye.length-1),ve=360-re,q=me.length>=3&&pe>0&&ve<=pe*1.5,ae=Math.round(D(Z)*1e3)/1e3,fe=(Ge,pt,st,rt)=>{const vt=(pt.angleDeg-Ge.angleDeg+540)%360-180;if(vt===0)return`L ${rt.x} ${rt.y}`;if(B===0)return`A ${ae} ${ae} 0 0 ${vt>0?1:0} ${rt.x} ${rt.y}`;const De=(Ge.angleDeg+vt/2)*Math.PI/180,Ve={x:k+ae*Math.cos(De),y:k+ae*Math.sin(De)},ke={x:(st.x+rt.x)/2,y:(st.y+rt.y)/2},qe={x:En(Ve.x,ke.x,B),y:En(Ve.y,ke.y,B)},Ne={x:2*qe.x-ke.x,y:2*qe.y-ke.y};return`Q ${Ne.x} ${Ne.y} ${rt.x} ${rt.y}`},Ee=q?[...me,me[0]]:me,Ae=q?[...Le,Le[0]]:Le;let $e=`M ${Ae[0].x} ${Ae[0].y}`;for(let Ge=1;Ge<Ae.length;Ge++)$e+=" "+fe(Ee[Ge-1],Ee[Ge],Ae[Ge-1],Ae[Ge]);X.push({key:`arc-${Z}`,d:$e})}const oe=s.useMemo(()=>new Set(n??[]),[n]),de=Z=>({idle:"",active:_("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:_("soundCompass.state.played","\uB4E4\uC74C"),correct:_("soundCompass.state.correct","\uC815\uB2F5"),wrong:_("soundCompass.state.wrong","\uC624\uB2F5")})[Z],U=Z=>{if(o===Z.id)return"active";if(c){if(Z.id===l)return"correct";if(Z.id===i&&i!==l)return"wrong"}return oe.has(Z.id)?"played":"idle"},se=Z=>o===Z.id?"loop":c?Z.id===l?"loop":null:u&&Z.id===i?"once":null,Se=(Z,ee)=>{switch(Z){case"played":case"correct":return r.jsx(Op,{size:ee});case"wrong":return r.jsx(Xp,{size:ee});default:return r.jsx(Kp,{size:ee})}};return r.jsx("div",{className:"sound-compass",children:r.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[r.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[B===0&&e.map(Z=>{const{x:ee,y:me}=O(Z);return r.jsx("line",{x1:N.x,y1:N.y,x2:ee,y2:me,stroke:"#dde3ec",strokeWidth:"1"},Z.id)}),X.map(Z=>r.jsx("path",{d:Z.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},Z.key))]}),f&&!C&&r.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:P,height:P,left:N.x-P/2,top:N.y-P/2}}),g?r.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${C?" sound-compass__center--disabled":""}`,style:{width:P,height:P,left:N.x,top:N.y},"aria-label":b,"aria-disabled":C||void 0,tabIndex:C?-1:0,onClick:C?void 0:g,children:r.jsx(Ts,{size:F,color:"currentColor",strokeWidth:1.5})}):r.jsx("div",{className:"sound-compass__center",style:{width:P,height:P,left:N.x,top:N.y},children:r.jsx(Ts,{size:F,color:"currentColor",strokeWidth:1.5})}),e.map((Z,ee)=>{const{x:me,y:Le}=O(Z),ye=U(Z),re=se(Z),pe={...y!==void 0||A?{"--shortcut-badge-scale":String(y??Math.max(.75,Math.min(3,v/56)))}:null,pointerEvents:p?"auto":"none",cursor:p?"pointer":"default",zIndex:ye!=="idle"?10:1},ve=v,q=Math.round(Math.max(10,Math.min(56,ve*.38))),ae=Math.round(Math.max(7,Math.min(18,ve*.2))),fe=Math.round(Math.max(10,Math.min(56,ve*.4))),Ee=x==="answered"&&(ye==="played"||ye==="correct"||ye==="wrong"),Ae=x===!0||Ee,$e=!Ee;return r.jsxs("div",{className:"sound-compass__speaker-pos",style:{...pe,left:me-ve/2,top:Le-ve/2},children:[re&&r.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${ye}`+(re==="once"?" sound-compass__pulse--once":""),style:{width:ve,height:ve,...re==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...h!==void 0?{"--sc-pulse-scale":String(h)}:null}}),r.jsxs("button",{type:"button",tabIndex:p?0:-1,"aria-disabled":p?void 0:!0,onClick:p?()=>m?.(Z.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${ye}`,style:{width:ve,height:ve},"aria-label":de(ye)?`${Z.label}, ${de(ye)}`:Z.label,"aria-pressed":i!=null?Z.id===i:void 0,children:[Ae&&Se(ye,q),$e&&r.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:x===!0?ae:fe},children:ee+1})]}),Z.shortcut&&r.jsx(hd,{keys:Z.shortcut,anchor:w,className:"sound-compass__speaker-shortcut"})]},Z.id)})]})})}function df({children:e,position:t="top-left",size:a=24,className:o=""}){return r.jsx("span",{className:Be("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,o),children:e})}var z7=".ihabdevteam-core-scope .divider--horizontal{align-items:center;border:none;border-top:1px solid var(--color-whiteLine);display:flex;width:100%}.ihabdevteam-core-scope .divider--vertical{border:none;border-left:1px solid var(--color-whiteLine);display:inline-block;height:1em;vertical-align:middle;width:1px}.ihabdevteam-core-scope .divider--labeled{border-top:none;gap:var(--spacing-s)}.ihabdevteam-core-scope .divider__line{background:var(--color-whiteLine);flex:1 1 auto;height:1px}.ihabdevteam-core-scope .divider__label{color:var(--color-gray);flex:0 0 auto;white-space:nowrap}";le(z7);function pf({orientation:e="horizontal",label:t,className:a=""}){const o=Be("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?r.jsx("div",{className:o,role:"separator","aria-orientation":"vertical"}):t?r.jsxs("div",{className:o,role:"separator","aria-orientation":"horizontal",children:[r.jsx("span",{className:"divider__line"}),r.jsx("span",{className:"divider__label caption-1",children:t}),r.jsx("span",{className:"divider__line"})]}):r.jsx("div",{className:o,role:"separator","aria-orientation":"horizontal"})}var I7='.ihabdevteam-core-scope .radio{align-items:center;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .radio input{height:0;opacity:0;position:absolute;width:0}.ihabdevteam-core-scope .radio__dot{background:var(--color-pureWhite);border:1.5px solid var(--color-whiteLine);border-radius:50%;display:inline-block;flex-shrink:0;height:20px;position:relative;transition:border-color .15s,background .15s;width:20px}.ihabdevteam-core-scope .radio__dot:before{background:var(--color-pureWhite);border-radius:50%;content:"";inset:4px;position:absolute;transform:scale(0);transition:transform .15s}.ihabdevteam-core-scope .radio input:checked+.radio__dot{background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .radio input:checked+.radio__dot:before{transform:scale(1)}.ihabdevteam-core-scope .radio:not(.radio--disabled):hover .radio__dot{border-color:var(--color-main)}.ihabdevteam-core-scope .radio input:focus-visible+.radio__dot{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .radio__label{color:var(--color-black)}.ihabdevteam-core-scope .radio--disabled{cursor:not-allowed;opacity:.45}';le(I7);function md({checked:e,onChange:t,name:a,value:o,disabled:n=!1,label:i,className:l=""}){const c=s.useId();return r.jsxs("label",{className:`radio${n?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[r.jsx("input",{id:c,type:"radio",name:a,value:o,checked:e,disabled:n,onChange:u=>t?.(u.target.checked)}),r.jsx("span",{className:"radio__dot"}),i&&r.jsx("span",{className:"radio__label body-2",children:i})]})}var O7=".ihabdevteam-core-scope .radio-group{display:flex}.ihabdevteam-core-scope .radio-group--vertical{flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-l)}";le(O7);function hf({options:e,value:t,onChange:a,name:o,disabled:n=!1,direction:i="vertical",className:l="",ariaLabel:c}){const u=s.useId(),d=o??`radio-group-${u}`;return r.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":c,children:e.map(h=>r.jsx(md,{name:d,value:h.value,checked:t===h.value,disabled:n||h.disabled,label:h.label,onChange:p=>{p&&a?.(h.value)}},h.value))})}var F7=".ihabdevteam-core-scope .alert{align-items:flex-start;background:color-mix(in srgb,var(--alert-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--alert-color) 25%,transparent);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-s);padding:var(--spacing-m)}.ihabdevteam-core-scope .alert__icon{align-items:center;color:var(--alert-color);display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .alert__body{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.ihabdevteam-core-scope .alert__header{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .alert__message--indented{margin-left:calc(20px + var(--spacing-xs))}.ihabdevteam-core-scope .alert__title{color:var(--color-black)}.ihabdevteam-core-scope .alert__message{color:var(--color-darkGray)}.ihabdevteam-core-scope .alert__dismiss{align-items:center;background:transparent;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:18px;height:24px;justify-content:center;line-height:1;padding:0;width:24px}.ihabdevteam-core-scope .alert__dismiss:hover{color:var(--color-darkGray)}.ihabdevteam-core-scope .alert--info{--alert-color:var(--color-main)}.ihabdevteam-core-scope .alert--success{--alert-color:var(--color-success)}.ihabdevteam-core-scope .alert--warning{--alert-color:var(--color-warn)}.ihabdevteam-core-scope .alert--danger{--alert-color:var(--color-error)}";le(F7);const W7={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function mf({tone:e="info",title:t,message:a,children:o,dismissible:n=!1,onDismiss:i,live:l,className:c=""}){const{t:u}=Ce.useTranslation(),[d,h]=s.useState(!1),p=s.useRef(null),m=s.useCallback(()=>{const f=p.current;f&&f.contains(document.activeElement)&&Ai(f),h(!0),i?.()},[i]);if(d)return null;const v=Be("alert",`alert--${e}`,c),x=l??(e==="danger"||e==="warning"?"assertive":"polite"),g=x==="assertive"?"alert":x==="polite"?"status":void 0,b=!!t,C=!!(a||o);return r.jsxs("div",{ref:p,className:v,role:g,children:[r.jsxs("div",{className:"alert__body",children:[r.jsxs("div",{className:"alert__header",children:[r.jsx(it,{icon:W7[e],size:20,className:"alert__icon"}),b&&r.jsx("span",{className:"alert__title body-2",children:t}),!b&&C&&r.jsx("div",{className:"alert__message body-3",children:a||o})]}),b&&C&&r.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||o})]}),n&&r.jsx("button",{type:"button",className:"alert__dismiss",onClick:m,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var G7=".ihabdevteam-core-scope .search-summary{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);box-shadow:var(--shadow-card);box-sizing:border-box;color:var(--color-gray);display:inline-flex;gap:var(--spacing-xs);max-width:100%;padding:30px 20px;text-align:left}.ihabdevteam-core-scope .search-summary__icon{color:currentColor;display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .search-summary__text{min-width:0;overflow-wrap:anywhere;word-break:keep-all}.ihabdevteam-core-scope .search-summary__em{color:var(--color-main)}.ihabdevteam-core-scope .search-summary--ready{background:var(--color-white);color:var(--color-deepGray)}.ihabdevteam-core-scope .search-summary--ready .search-summary__em{color:var(--color-main)}.ihabdevteam-core-scope .search-summary--guide{background:var(--color-deepWhite);color:var(--color-gray)}.ihabdevteam-core-scope .search-summary--error{background:var(--color-white);color:var(--color-error)}.ihabdevteam-core-scope .search-summary--error .search-summary__em{color:var(--color-error)}";le(G7);const H7={ready:"search",guide:"info",error:"circle-alert"};function V7(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const o=[];let n=0,i=0;for(const l of a){const c=e.indexOf(l,n);c<0||(c>n&&o.push(e.slice(n,c)),o.push(r.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),n=c+l.length)}return n<e.length&&o.push(e.slice(n)),o}function bf({status:e="guide",label:t,children:a,emphasis:o,icon:n,className:i=""}){const l=n===!1?null:n??H7[e],c=Be("search-summary",`search-summary--${e}`,i),u=t??a,d=typeof u=="string"&&o&&o.length>0?V7(u,o):u;return r.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&r.jsx(it,{icon:l,size:18,className:"search-summary__icon"}),r.jsx("span",{className:"search-summary__text body-2",children:d})]})}function Ar({title:e,items:t}){const{t:a}=Ce.useTranslation(),{anchorRect:o,openAt:n,close:i}=Uo(),l=s.useRef(null),c=Wc(!!o,(u,d)=>{u&&d?n(l.current?.querySelector("button")??d):i()},l);return r.jsxs("span",{ref:l,style:{display:"contents"},children:[r.jsx(ge,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!o,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:u=>{Cr(u)||n(u.currentTarget)},onPointerLeave:u=>{Cr(u)||i()},onClick:u=>{c.touchPress(u.currentTarget)},onFocus:u=>{yr()||n(u.currentTarget)},onBlur:i}),o&&r.jsx(_o,{title:e,items:t,showIndex:t.length>1,anchorRect:o,onClose:i})]})}var U7=".ihabdevteam-core-scope .tabs{display:flex;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .tabs__list{border-bottom:1px solid var(--color-whiteLine);display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .tabs__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-gray);cursor:pointer;padding:0 var(--spacing-xs);transition:color .15s,border-color .15s;white-space:nowrap}.ihabdevteam-core-scope .tabs__list--32 .tabs__tab{height:32px}.ihabdevteam-core-scope .tabs__list--40 .tabs__tab{height:40px}.ihabdevteam-core-scope .tabs__list--48 .tabs__tab{height:48px}.ihabdevteam-core-scope .tabs__tab:hover:not(:disabled){color:var(--color-darkGray)}.ihabdevteam-core-scope .tabs__tab:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .tabs__tab--active{border-bottom-color:var(--color-main);color:var(--color-main)}.ihabdevteam-core-scope .tabs__tab:disabled{color:var(--color-disabled);cursor:not-allowed}.ihabdevteam-core-scope .tabs__panel{outline:none}.ihabdevteam-core-scope .tabs__panel:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}";le(U7);function gf({items:e=[],value:t,onChange:a,className:o="",size:n=40}){const i=s.useId(),{t:l}=Ce.useTranslation(),c=s.useRef(null),u=e.find(g=>!g.disabled)?.key,d=e.some(g=>g.key===t)?t:u??e[0]?.key,h=e.find(g=>g.key===d&&!g.disabled)?.key??u,p=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),m=(g,b=p())=>{if(b.length===0)return;const C=(g%b.length+b.length)%b.length;b[C]?.focus(),b[C]?.click()},v=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const b=p(),C=b.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?m(C+1,b):g.key==="ArrowLeft"||g.key==="ArrowUp"?m(C-1,b):g.key==="Home"?m(0,b):m(b.length-1,b)},x=e.find(g=>g.key===d);return r.jsxs("div",{className:`tabs ${o}`.trim(),children:[r.jsx("div",{ref:c,className:`tabs__list tabs__list--${n}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(g=>r.jsx("button",{id:`tabs__tab-${i}-${g.key}`,type:"button",role:"tab","aria-selected":g.key===d,"aria-controls":`tabs__panel-${i}-${g.key}`,disabled:g.disabled,tabIndex:g.key===h?0:-1,className:`tabs__tab body-2${g.key===d?" tabs__tab--active":""}`,onClick:()=>{g.key!==t&&a?.(g.key)},onKeyDown:v,children:g.label},g.key))}),x&&r.jsx("div",{id:`tabs__panel-${i}-${x.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${x.key}`,tabIndex:0,className:"tabs__panel",children:x.panel},x.key)]})}var q7=".ihabdevteam-core-scope .avatar{align-items:center;background:var(--color-lightGray-a10);color:var(--color-gray);display:inline-flex;flex-shrink:0;height:var(--avatar-size);justify-content:center;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--avatar-size)}.ihabdevteam-core-scope .avatar--circle{border-radius:50%}.ihabdevteam-core-scope .avatar--rounded-square{border-radius:var(--radius-card)}.ihabdevteam-core-scope .avatar--xs{--avatar-size:24px}.ihabdevteam-core-scope .avatar--sm{--avatar-size:32px}.ihabdevteam-core-scope .avatar--md{--avatar-size:40px}.ihabdevteam-core-scope .avatar--lg{--avatar-size:56px}.ihabdevteam-core-scope .avatar--xl{--avatar-size:80px}.ihabdevteam-core-scope .avatar__image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ihabdevteam-core-scope .avatar__initials{font-size:calc(var(--avatar-size)*.4);font-weight:600;line-height:1}.ihabdevteam-core-scope .avatar__icon{align-items:center;display:inline-flex;justify-content:center}";le(q7);const Y7={xs:12,sm:16,md:20,lg:28,xl:36};function K7(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?[...t[0]].slice(0,2).join("").toUpperCase():([...t[0]][0]+[...t[t.length-1]][0]).toUpperCase()}function ff({src:e,name:t,size:a="md",shape:o="circle",className:n=""}){const{t:i}=Ce.useTranslation(),[l,c]=s.useState(null),u=!!e&&l===e,d=t?K7(t):"",h=!!e&&!u,p=!h&&!!d,m=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return r.jsxs("span",{className:`avatar avatar--${a} avatar--${o} ${n}`.trim(),role:"img","aria-label":m,children:[h&&r.jsx("img",{className:"avatar__image",src:e,alt:m,onError:()=>c(e??null)}),!h&&p&&r.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!h&&!p&&r.jsx(it,{icon:"user-round",size:Y7[a],className:"avatar__icon"})]})}var X7=".ihabdevteam-core-scope .file-upload{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .file-upload__dropzone{align-items:center;background:var(--color-deepWhite);border:1px dashed var(--color-whiteLine);border-radius:var(--radius-card);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xl);position:relative;transition:border-color .15s,background .15s}.ihabdevteam-core-scope .file-upload__dropzone:hover:not(.file-upload__dropzone--disabled){border-color:var(--color-main)}.ihabdevteam-core-scope .file-upload__dropzone:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .file-upload__dropzone--dragging{background:var(--color-main-a10);border-color:var(--color-main)}.ihabdevteam-core-scope .file-upload__dropzone--disabled{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .file-upload__icon{color:var(--color-gray)}.ihabdevteam-core-scope .file-upload__prompt{color:var(--color-gray);text-align:center}.ihabdevteam-core-scope .file-upload__browse-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-pureWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);color:var(--color-main);cursor:pointer;min-height:24px;padding:var(--spacing-xs) var(--spacing-m)}.ihabdevteam-core-scope .file-upload__browse-button:disabled{color:var(--color-disabled);cursor:not-allowed}.ihabdevteam-core-scope .file-upload__input{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.ihabdevteam-core-scope .file-upload__list{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .file-upload__list-item{align-items:center;background:var(--color-deepWhite);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-s);justify-content:space-between;padding:var(--spacing-xs) var(--spacing-s)}.ihabdevteam-core-scope .file-upload__file-name{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .file-upload__remove-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;min-height:24px;min-width:24px}.ihabdevteam-core-scope .file-upload__remove-button:hover{color:var(--color-error)}";le(X7);function Z7(e,t){if(!t)return!0;const a=t.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const o=e.name.toLowerCase(),n=e.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?o.endsWith(l):l.endsWith("/*")?n.startsWith(l.slice(0,-1)):n===l})}function vf({onFilesSelected:e,accept:t,multiple:a=!1,disabled:o=!1,showFileList:n=!0,files:i,onRemove:l,className:c=""}){const{t:u}=Ce.useTranslation(),d=s.useRef(null),[h,p]=s.useState(!1),[m,v]=s.useState([]),x=i??m,g=_=>{if(!_||_.length===0)return;const B=Array.from(_).filter(E=>Z7(E,t));if(B.length===0)return;const k=a?B:B.slice(0,1);if(i===void 0){const E=a?[...x,...k]:k;v(E),e?.(E)}else e?.(k)},b=_=>{_.preventDefault(),!o&&p(!0)},C=_=>{_.preventDefault(),p(!1)},f=_=>{_.preventDefault(),p(!1),!o&&g(_.dataTransfer.files)},w=_=>{const B=_.target;try{g(B.files)}finally{B.value=""}},y=()=>{o||d.current?.click()},A=_=>{if(!o&&(l?.(_),i===void 0)){const B=x.filter((k,E)=>E!==_);v(B),l||e?.(B)}};return r.jsxs("div",{className:`file-upload ${c}`.trim(),children:[r.jsxs("div",{className:Be("file-upload__dropzone",h&&"file-upload__dropzone--dragging",o&&"file-upload__dropzone--disabled"),role:"button",tabIndex:o?-1:0,"aria-disabled":o,onClick:y,onKeyDown:_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),y())},onDragOver:b,onDragLeave:C,onDrop:f,children:[r.jsx(it,{icon:"upload",size:24,className:"file-upload__icon"}),r.jsx("span",{className:"file-upload__prompt body-2",children:u("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),r.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:o,onClick:_=>{_.stopPropagation(),y()},children:u("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),r.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:o,onChange:w,tabIndex:-1})]}),n&&x.length>0&&r.jsx("ul",{className:"file-upload__list",children:x.map((_,B)=>r.jsxs("li",{className:"file-upload__list-item body-3",children:[r.jsx("span",{className:"file-upload__file-name body-3",children:_.name}),r.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":u("fileUpload.removeAriaLabel",{name:_.name}),disabled:o,onClick:()=>A(B),children:r.jsx(it,{icon:"x",size:14})})]},`${_.name}-${B}`))})]})}var J7=".ihabdevteam-core-scope .breadcrumb{align-items:center;display:inline-flex}.ihabdevteam-core-scope .breadcrumb__list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .breadcrumb__item{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .breadcrumb__link{align-items:center;background:none;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;justify-content:center;margin:0;min-height:24px;min-width:24px;padding:0}.ihabdevteam-core-scope .breadcrumb__link:hover{color:var(--color-main);text-decoration:underline}.ihabdevteam-core-scope .breadcrumb__link:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .breadcrumb__current{color:var(--color-darkGray)}.ihabdevteam-core-scope .breadcrumb__text{color:var(--color-gray)}.ihabdevteam-core-scope a.breadcrumb__link{text-decoration:none}.ihabdevteam-core-scope .breadcrumb__separator{align-items:center;color:var(--color-disabled);display:inline-flex;flex-shrink:0}";le(J7);function xf({items:e,className:t=""}){const{t:a}=Ce.useTranslation();return r.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:r.jsx("ol",{className:"breadcrumb__list",children:e.map((o,n)=>{const i=n===e.length-1;return r.jsxs("li",{className:"breadcrumb__item",children:[i?r.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:o.label}):o.href?r.jsx("a",{className:"breadcrumb__link body-3",href:o.href,target:o.target,rel:o.rel??(o.target==="_blank"?"noopener noreferrer":void 0),onClick:o.onClick,children:o.label}):o.onClick?r.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:o.onClick,children:o.label}):r.jsx("span",{className:"breadcrumb__text body-3",children:o.label}),!i&&r.jsx(it,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},n)})})})}var Q7=".ihabdevteam-core-scope .rating{--rating-color:var(--color-warn);--rating-empty-color:var(--color-whiteLine);align-items:center;display:inline-flex;gap:2px}.ihabdevteam-core-scope .rating__item{align-items:center;background:none;border:none;display:inline-flex;justify-content:center;line-height:0;margin:0;padding:0}.ihabdevteam-core-scope .rating__item--interactive{cursor:pointer;min-height:24px;min-width:24px}.ihabdevteam-core-scope .rating__item--interactive:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .rating--readOnly .rating__item{cursor:default}.ihabdevteam-core-scope .rating__star-wrap{display:inline-flex;line-height:0;position:relative}.ihabdevteam-core-scope .rating__star--empty{color:var(--rating-empty-color)}.ihabdevteam-core-scope .rating__star--empty svg{fill:var(--rating-empty-color)}.ihabdevteam-core-scope .rating__star-fill{display:inline-flex;height:100%;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:100%}.ihabdevteam-core-scope .rating__star-fill--half{width:50%}.ihabdevteam-core-scope .rating__star--filled{color:var(--rating-color)}.ihabdevteam-core-scope .rating__star--filled svg{fill:var(--rating-color)}";le(Q7);const eA={small:14,medium:20,large:28};function Cf({value:e,onChange:t,max:a=5,readOnly:o=!1,size:n="medium",ariaLabel:i,className:l=""}){const{t:c}=Ce.useTranslation(),u=o||!t,[d,h]=s.useState(null),p=u?e:Number.isFinite(e)?Math.round(e):0,m=d??p,v=eA[n],x=_=>{_!==e&&t?.(_)},g=_=>{u||x(_)},b=_=>{u||yr()||h(_)},C=s.useRef(null),f=_=>{const B=Math.min(a,Math.max(1,_));x(B),Array.from(C.current?.querySelectorAll("[data-star]")??[]).find(k=>k.dataset.star===String(B))?.focus()},w=_=>{if(!u){switch(_.key){case"ArrowRight":case"ArrowUp":f((p||0)+1);break;case"ArrowLeft":case"ArrowDown":f((p||1)-1);break;case"Home":f(1);break;case"End":f(a);break;default:return}_.preventDefault()}},y=p>=1&&p<=a?Math.round(p):1,A=()=>{u||h(null)};return r.jsx("div",{className:`rating rating--${n}${u?" rating--readOnly":""} ${l}`.trim(),ref:C,onKeyDown:w,role:u?"img":"radiogroup","aria-label":u?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:A,onPointerUp:_=>{_.pointerType==="touch"&&A()},onPointerCancel:_=>{_.pointerType==="touch"&&A()},children:Array.from({length:a},(_,B)=>{const k=B+1,E=Math.max(0,Math.min(1,m-B)),S=E>0&&E<1,D=r.jsxs("span",{className:"rating__star-wrap",children:[r.jsx(it,{icon:"star",size:v,className:"rating__star rating__star--empty"}),E>0&&r.jsx("span",{className:`rating__star-fill${S?" rating__star-fill--half":""}`,style:S?{width:`${E*100}%`}:void 0,children:r.jsx(it,{icon:"star",size:v,className:"rating__star rating__star--filled"})})]});return u?r.jsx("span",{className:"rating__item","aria-hidden":"true",children:D},k):r.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":p===k,"aria-label":c("rating.starLabel",{n:k}),"data-star":k,tabIndex:k===y?0:-1,onClick:()=>g(k),onMouseEnter:()=>b(k),children:D},k)})})}var tA=".ihabdevteam-core-scope .color-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ihabdevteam-core-scope .color-picker__swatch{align-items:center;border:none;cursor:pointer;display:inline-flex;justify-content:center;padding:0;position:relative;transition:transform .12s,box-shadow .12s}.ihabdevteam-core-scope .color-picker__swatch--32{border-radius:8px;height:32px;width:32px}.ihabdevteam-core-scope .color-picker__swatch--40{border-radius:10px;height:40px;width:40px}.ihabdevteam-core-scope .color-picker__swatch--48{border-radius:12px;height:48px;width:48px}.ihabdevteam-core-scope .color-picker__swatch:hover{transform:scale(1.08)}.ihabdevteam-core-scope .color-picker__swatch:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .color-picker__check{color:#fff}.ihabdevteam-core-scope .color-picker__check svg{display:block}";le(tA);const aA=20,oA=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function yf({value:e,onChange:t,palette:a=oA,size:o=40,className:n="",ariaLabel:i}){const{t:l}=Ce.useTranslation();return r.jsx("div",{className:`color-picker ${n}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const u=e?.toLowerCase()===c.toLowerCase();return r.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${o}`,style:{backgroundColor:c},onClick:()=>t(c),"aria-pressed":u,"aria-label":u?`${c} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:u&&r.jsx(it,{icon:"check",size:aA,className:"color-picker__check"})},c)})})}var rA=".ihabdevteam-core-scope .count-tile{background:var(--color-deepWhite);border:1px solid var(--color-darkWhite);border-radius:16px;box-sizing:border-box;flex-shrink:0;height:72px;padding:12px;position:relative;transition:border-color .15s,background .15s;width:72px}.ihabdevteam-core-scope .count-tile__icon{color:var(--color-main);left:12px;position:absolute;top:12px}.ihabdevteam-core-scope .count-tile__count{bottom:12px;color:var(--color-darkGray);line-height:1;position:absolute;right:12px}.ihabdevteam-core-scope .count-tile--interactive:hover{background:var(--color-white);border-color:var(--color-lightGray)}.ihabdevteam-core-scope .count-tile--accent:hover{border-color:var(--color-main)}.ihabdevteam-core-scope .count-tile--clickable{cursor:pointer}@media (max-width:767px){.ihabdevteam-core-scope .count-tile{border-radius:14px;height:60px;padding:10px;width:60px}.ihabdevteam-core-scope .count-tile__icon{left:8px;top:8px}.ihabdevteam-core-scope .count-tile__count{bottom:8px;right:8px}}";le(rA);var nA=".ihabdevteam-core-scope .tooltip-content.tooltip-training{pointer-events:none}.ihabdevteam-core-scope .tooltip-training__box{background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 4px 16px rgba(0,0,0,.12);padding:10px 14px}.ihabdevteam-core-scope .tooltip-training__groups{align-items:stretch;display:flex;flex-direction:row;gap:0}.ihabdevteam-core-scope .tooltip-training__section{display:flex;flex-direction:column;flex-shrink:0;gap:6px;width:100px}.ihabdevteam-core-scope .tooltip-training__section-header{align-items:center;display:flex}.ihabdevteam-core-scope .tooltip-training__type-label{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-training__divider{align-self:center;background:var(--color-whiteLine);flex-shrink:0;height:20px;margin:0 10px;width:1px}.ihabdevteam-core-scope .tooltip-training__items{display:flex;flex-direction:column;gap:2px;pointer-events:none}.ihabdevteam-core-scope .tooltip-training__items .training-block-button--compact{cursor:default}";le(nA);var iA=".ihabdevteam-core-scope .category-icon{align-items:center;background:var(--t-item-bg,color-mix(in srgb,var(--t-item-fg,var(--color-lightGray)) 10%,transparent));border-radius:var(--radius-s);color:var(--t-item-fg,var(--color-lightGray));display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .category-icon--small{border-radius:var(--radius-sm);height:28px;width:28px}.ihabdevteam-core-scope .category-icon__mask{background-color:currentColor;background-color:var(--t-item-fg,currentColor);border-radius:var(--radius-sm);display:inline-block;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .category-icon__image{border-radius:var(--radius-sm);display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .category-icon__svg svg{fill:currentColor;display:block}.ihabdevteam-core-scope .category-icon__wrap{cursor:default;display:inline-flex;position:relative}.ihabdevteam-core-scope .category-icon__wrap--interactive:hover .category-icon{box-shadow:inset 0 0 0 1px var(--t-item-fg,var(--color-lightGray))}.ihabdevteam-core-scope .category-icon__tooltip{pointer-events:none;white-space:nowrap}";le(iA);function _f({icon:e,label:t,tooltip:a,wrapperStyle:o,color:n,bgColor:i,useHover:l=!0,iconSize:c="medium"}){const{t:u}=Ce.useTranslation(),d=c==="small",h=Be("category-icon",d?"category-icon--small":""),p=d?16:20,m=s.useRef(null),[v,x]=s.useState(!1),g=s.useMemo(()=>{const k=o&&typeof o=="object"?{...o}:{};return!n&&!i?k:{...k,...n?{color:n,"--t-item-fg":n}:{},...i?{"--t-item-bg":i}:{}}},[o,n,i]),b=a||t,C=l&&!!b,[f,w]=s.useState(null);s.useLayoutEffect(()=>{v&&w(m.current?.getBoundingClientRect()??null)},[v]),s.useEffect(()=>{if(!l&&v)try{x(!1)}catch{}},[l,v]),s.useEffect(()=>{if(!v)return;const k=E=>{const S=m.current;if(!S)return;const D=E.target;D&&!S.contains(D)&&x(!1)};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[v]);const y=s.useCallback(()=>{l&&x(!0)},[l]),A=s.useCallback(()=>{l&&x(!1)},[l]),_=s.useCallback(()=>x(!1),[]),B=s.useCallback(k=>{if(k.key==="Escape"){x(!1);return}(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),x(E=>!E))},[]);return r.jsxs("span",{ref:m,className:Be("category-icon__wrap",C&&"category-icon__wrap--interactive"),onPointerEnter:y,onPointerLeave:A,onFocus:y,onBlur:A,onKeyDown:B,role:"button",tabIndex:0,"aria-label":typeof b=="string"?u("common.descriptionFor",{name:b,defaultValue:`${b} \uC124\uBA85`}):void 0,"aria-haspopup":!!b,"aria-expanded":v,"data-tooltip-ignore":!0,children:[r.jsx(it,{icon:e,label:t,className:h,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:g,size:p}),v&&b&&r.jsx(Da,{anchorRect:f,text:typeof b=="string"?b:void 0,offset:8,onClose:_,className:"category-icon__tooltip",ariaLabel:typeof b=="string"?b:void 0})]})}var sA='.ihabdevteam-core-scope .training-block-button{background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-m);box-shadow:var(--shadow-card);box-sizing:border-box;cursor:pointer;display:inline-block;height:200px;padding:var(--spacing-l);position:relative;text-align:left;transition:all .12s;vertical-align:top;width:200px}.ihabdevteam-core-scope .training-block-button:hover{border-color:var(--color-main);box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .training-block-button--completed{box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .training-block-button__more{position:absolute;right:var(--spacing-l);top:calc(var(--spacing-l) - 2px);z-index:2}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .training-block-button{height:190px;width:190px}}@media (max-width:767px){.ihabdevteam-core-scope .training-block-button{height:170px;width:calc(50% - 5px)}.ihabdevteam-core-scope .training-block-button__title.h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;line-height:20px;overflow:hidden}}.ihabdevteam-core-scope .training-block-button__left{display:block}.ihabdevteam-core-scope .training-block-button__title.h3{color:var(--color-black);left:20px;margin:0;position:absolute;right:20px;top:68px}.ihabdevteam-core-scope .training-block-button__description{align-items:center;bottom:20px;display:flex;gap:var(--spacing-xs);height:20px;justify-content:space-between;left:20px;position:absolute;right:20px}.ihabdevteam-core-scope .training-block-button__count{color:var(--color-darkGray)}.ihabdevteam-core-scope .training-block-button__chevron{align-items:center;color:var(--color-lightGray);display:inline-flex;height:20px;justify-content:center;margin-left:auto}.ihabdevteam-core-scope .training-block-button__chevron-icon,.ihabdevteam-core-scope .training-block-button__chevron-icon-image,.ihabdevteam-core-scope .training-block-button__chevron-icon-mask,.ihabdevteam-core-scope .training-block-button__chevron-icon-svg{align-items:center;color:var(--color-lightGray);display:inline-flex;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .training-block-button__chevron-icon-mask{background-color:currentColor;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .training-block-button__chevron-icon-image{display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .training-block-button__chevron-icon-svg svg{fill:currentColor;display:block;height:20px;width:20px}.ihabdevteam-core-scope .training-block-button .category-icon__wrap{left:18px;position:absolute;top:18px}.ihabdevteam-core-scope .training-block-button .category-icon{position:static}.ihabdevteam-core-scope .training-block-button__type-label{color:var(--color-gray);left:20px;overflow:hidden;position:absolute;right:20px;text-overflow:ellipsis;top:68px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--withType .training-block-button__title.h3{top:86px}.ihabdevteam-core-scope .training-block-button--small{height:120px;width:120px}.ihabdevteam-core-scope .training-block-button--small .category-icon__wrap{left:12px;top:12px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__type-label{color:var(--color-gray);left:12px;overflow:hidden;position:absolute;right:12px;text-overflow:ellipsis;top:44px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--small .training-block-button__title{color:var(--color-black);left:12px;margin:0;overflow:hidden;position:absolute;right:12px;text-overflow:ellipsis;top:60px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--small.training-block-button--no-type-label .training-block-button__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;top:44px;white-space:normal}.ihabdevteam-core-scope .training-block-button--small .training-block-button__description{bottom:10px;height:16px;left:12px;right:12px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__more{right:6px;top:6px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon,.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon-svg,.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon-svg svg{height:12px;width:12px}.ihabdevteam-core-scope .training-block-button--list{box-shadow:none;min-height:68px;padding:0 12px;width:200px}.ihabdevteam-core-scope .training-block-button--list .training-block-button__left{align-items:center;display:flex;gap:var(--spacing-s);height:100%;width:100%}.ihabdevteam-core-scope .training-block-button--list .category-icon__wrap{flex-shrink:0;order:1;position:static}.ihabdevteam-core-scope .training-block-button--list .training-block-button__title{color:var(--color-black);flex:1;min-width:0;order:2;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--list .training-block-button__description{display:none}.ihabdevteam-core-scope .training-block-button--list .training-block-button__preview{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;order:4}.ihabdevteam-core-scope .training-block-button--row{align-items:center;display:flex;height:auto;min-height:68px;width:100%}.ihabdevteam-core-scope .training-block-button--row .training-block-button__left{grid-column-gap:var(--spacing-s);grid-row-gap:4px;align-content:center;align-items:center;-moz-column-gap:var(--spacing-s);column-gap:var(--spacing-s);display:grid;grid-template-areas:"icon type count" "icon title count";grid-template-columns:auto 1fr auto;height:auto;padding:8px 0;row-gap:4px}.ihabdevteam-core-scope .training-block-button--row .category-icon__wrap{align-self:center;grid-area:icon}.ihabdevteam-core-scope .training-block-button--row .training-block-button__type-label{align-self:end;grid-area:type;inset:auto;position:static}.ihabdevteam-core-scope .training-block-button--row .training-block-button__title{align-self:start;grid-area:title;inset:auto;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--row .training-block-button__description{align-items:center;display:flex;gap:4px;grid-area:count;height:auto;inset:auto;position:static}.ihabdevteam-core-scope .training-block-button--row:not(.training-block-button--withType) .training-block-button__title{align-self:center;grid-row:1/span 2}.ihabdevteam-core-scope .training-block-button--small .training-block-button__preview{align-items:center;display:inline-flex;justify-content:center;position:absolute;right:12px;top:12px;z-index:1}.ihabdevteam-core-scope .training-block-button--compact{background:transparent;border-color:transparent;box-shadow:none;height:40px;padding:0;width:100%}.ihabdevteam-core-scope .training-block-button--compact:hover{background:var(--color-darkWhite);border-color:transparent;box-shadow:none}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__left{align-items:center;display:flex;gap:var(--spacing-xs);height:100%;width:100%}.ihabdevteam-core-scope .training-block-button--compact .category-icon__wrap{flex-shrink:0;order:1;position:static}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__title{color:var(--color-black);flex:1;min-width:0;order:2;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__description{display:none}@media (hover:hover){.ihabdevteam-core-scope .training-block-button__remove:not(.is-hover){display:none}}@media (hover:none){.ihabdevteam-core-scope .training-block-button__check--removable{display:none}}';le(sA);let ko=null;function Wi(e){if(ko&&ko!==e)try{ko()}catch{}return ko=e,()=>{ko===e&&(ko=null)}}function Gi(e){if(ko===e){ko=null;try{e()}catch{}}}function Hi(e,t){let a=()=>{};const o=new Promise(c=>{a=c});if(typeof e!="string"||e.trim()===""){Pt("one-shot-empty-url","[core] playOneShot \uC5D0 \uBE48 \uC8FC\uC18C\uAC00 \uC654\uB2E4 \u2014 \uC548 \uD2BC\uB2E4. \uBD80\uB974\uB294 \uCABD\uC774 \uC8FC\uC18C\uB97C \uC5BB\uAE30 \uC804\uC5D0 \uBD88\uB800\uB2E4.",new Error("playOneShot(empty)").stack),a(!1);try{t?.(!1)}catch{}return{el:{},stop:()=>{},done:o}}let n=!1;const i=c=>{if(!n){n=!0;try{t?.(c)}catch{}a(c)}};let l;try{l=new Audio(e)}catch{return i(!1),{el:{},stop:()=>{},done:o}}l.onended=()=>i(!0),l.onerror=()=>i(!1);try{l.play().catch(()=>i(!1))}catch{i(!1)}return{el:l,stop:()=>{try{l.pause()}catch{}i(!1)},done:o}}function lA(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,o=l=>l.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?o(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?o(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?o(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?o(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}const n=a.sentences||a.items||[],i=o(Array.isArray(n)?n:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function cA(e,t){const[a,o]=s.useState(!1),[n,i]=s.useState(-1),[l,c]=s.useState({key:"",urls:[]}),u=s.useRef(null),d=s.useRef(!1),h=s.useRef(null),p=s.useRef(null),[m,v]=s.useState(!1),x=s.useRef([]),{previewCodes:g,previewBucket:b}=lA(e,t),C=`${g.join(",")}|${b??""}`,f=s.useMemo(()=>l.key===C?l.urls:[],[l,C]);s.useEffect(()=>{if(!g.length)return;let y=!1;return(async()=>{const A=[],_=[];for(const B of g)try{const k=Gn(B,b);if(!k){A.push("");continue}let E=null;try{E=await Vr(k)}catch{}if(!E)try{const S=await Hn(k);S&&(E=URL.createObjectURL(S),_.push(E))}catch{}A.push(E??"")}catch{A.push("")}y?_.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}):(x.current.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}),x.current=_,c({key:C,urls:A}))})(),()=>{y=!0}},[g.join(","),b]),s.useEffect(()=>()=>{x.current.forEach(y=>{try{URL.revokeObjectURL(y)}catch{}}),x.current=[]},[]);const w=s.useCallback(async y=>{if(y.stopPropagation(),y.preventDefault(),d.current){h.current&&Gi(h.current),d.current=!1;try{u.current?.pause()}catch{}o(!1),i(-1);return}if(!f.filter(Boolean).length)return;let A=null;const _=()=>{d.current=!1,A?.stop()};h.current=_;const B=Wi(_);d.current=!0,o(!0);for(let k=0;k<f.length&&d.current;k++){const E=f[k];if(E&&(i(k),A=Hi(E),u.current=A.el,!await A.done))break}B(),h.current===_&&(h.current=null,d.current=!1,o(!1),i(-1))},[f]);return s.useEffect(()=>()=>{h.current&&Gi(h.current),d.current=!1;try{u.current?.pause()}catch{}u.current=null},[]),{playing:a,playingIndex:n,previewUrls:f,previewHover:m,setPreviewHover:v,previewBtnRef:p,handlePreview:w}}const uA=e=>{if(!e)return[];const t=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(t)return[String(t)];const a=e.sentences||e.items||e.questions||[];return Array.isArray(a)&&a.length>0?a.map(o=>{if(typeof o=="string")return o;if(o&&typeof o=="object"){const n=o;return n.sentence||n.text||n.context||n.question||n.title||""}return""}).filter(o=>typeof o=="string"&&o.trim().length>0).map(o=>o.trim()):[]};function Vi(e){const{index:t,type:a,trainingData:o,ariaLabel:n,depth:i,renderPopup:l,completed:c,completedIds:u,selectedIds:d,tooltipText:h,useDescriptionTooltip:p=!1,onRemove:m,hideCheckBadge:v=!1,showTypeLabel:x=!1,onComplete:g,onSelect:b,onMore:C,countLabelOverride:f,size:w="square"}=e||{},{t:y}=Ce.useTranslation(),[A,_]=s.useState(!1),B=s.useRef(null),[k,E]=s.useState(!1);s.useEffect(()=>{B.current?.matches(":hover")&&E(!0)},[]);const{playing:S,playingIndex:D,previewUrls:$,previewHover:j,setPreviewHover:H,previewBtnRef:T,handlePreview:L}=cA(o,a?.key),I=s.useCallback(()=>{b?b():_(!0)},[b]),K=s.useCallback(()=>_(!1),[]),Y=s.useCallback(()=>E(!0),[]),M=s.useCallback(()=>E(!1),[]),G=s.useCallback(()=>H(!0),[H]),z=s.useCallback(()=>H(!1),[H]),[V,W]=s.useState(null);s.useLayoutEffect(()=>{j&&W(T.current?.getBoundingClientRect()??null)},[j,T]);const[O,N]=s.useState(null);s.useLayoutEffect(()=>{k&&!A&&p&&N(B.current?.getBoundingClientRect()??null)},[k,A,p]);const P=s.useCallback(ke=>{ke.target===ke.currentTarget&&(ke.key==="Enter"||ke.key===" ")&&(ke.preventDefault(),I())},[I]),F=o||null,X=s.useMemo(()=>{if(!p)return null;const ke=h?(Array.isArray(h)?h:[h]).filter(Boolean):null,qe=ke&&ke.length>0?ke:uA(F);return qe&&qe.length>0?qe:null},[p,h,F]),ie=s.useCallback(ke=>{ke.stopPropagation(),m?.()},[m]),oe=s.useCallback(ke=>ke.stopPropagation(),[]),de=s.useCallback(ke=>{typeof g=="function"&&g(ke)},[g]),U=c||(u&&o?.id!=null?u.has(String(o.id)):!1),se=!U&&(d!=null&&o?.id!=null?d.has(String(o.id)):!1);Cn("speechear.popup.close",K);const Se=bi(),Z=`${a?.label||""} ${t+1}`,ee=F?.title||F?.name||Z;let me=a?.icon,Le,ye="",re="";try{const ke=F?.category_0||F?.category_main_code||F?.category_main,qe=F?.category_1||F?.category_sub_code||F?.category_sub,Ne=Se.find(Re=>Re.key===ke);Ne?.icon&&(me=Ne.icon),!Le&&Ne?.color&&(Le={"--t-item-fg":Ne.color}),!Le&&F?.iconColor&&(Le={"--t-item-fg":F.iconColor}),ye=Ne?y(`topic.${Ne.key}`,{defaultValue:Ne.label||""}):"";try{const Re=Ne?.subs?.find(Me=>Me.key===qe);re=Re?y(`topic.sub.${Re.key}`,{defaultValue:Re.label||""}):""}catch{}}catch{}const pe=re?`${ye} / ${re}`:ye||a?.label||ee,ve=ke=>y("training.countQuestions",{n:ke,count:ke}),q=ke=>y("training.countSentences",{n:ke,count:ke});let ae="";try{if(F)if(a?.key==="LISTEN_IN_NOISE"){let ke=0;Array.isArray(F.items)&&F.items.length>0?ke=F.items.length:Array.isArray(F.sentences)&&F.sentences.length>0?ke=F.sentences.length:F.sentences&&(ke=1),ae=q(ke)}else if(a?.key==="SHORT_STORY"){let ke=1;Array.isArray(o?.items)?ke=o.items.length:Array.isArray(o?.raw&&o.raw?.items)?ke=o.raw.items.length:Array.isArray(F?.questions)?ke=F.questions.length:Array.isArray(F?.sentences)&&(ke=F.sentences.length),ae=ve(ke)}else if(a?.key==="LONG_STORY"){let ke=1;if(Array.isArray(F.items)&&F.items.length>0){const qe=F.items.reduce((Ne,Re)=>{const Me=Re.questionItems;return Array.isArray(Me)?Ne+Me.length:Array.isArray(Re.questions)?Ne+Re.questions.length:Ne},0);ke=qe>0?qe:F.items.length}else Array.isArray(F.questions)&&F.questions.length>0?ke=F.questions.length:Array.isArray(F.sentences)&&F.sentences.length>0&&(ke=F.sentences.length);ae=ve(ke)}else if(a?.key==="ORDERING_SENTENCE"){let ke=1;Array.isArray(F.items)&&F.items.length>0?ke=F.items.length:Array.isArray(F.sentences)&&F.sentences.length>0&&(ke=F.sentences.length),ae=q(ke)}else Array.isArray(F.items)&&(ae=F.items.length>0?ve(F.items.length):"")}catch{}const fe=w==="row",Ee=w==="list"||fe,Ae=w==="compact",$e=w==="small",Ge=$e&&a?.key?mc().find(ke=>ke.key===a.key):void 0,pt=Ge?fi[Ge.key]:void 0,st=Ge?pt?y(`trainingType.${pt}.title`,{defaultValue:Ge.label}):Ge.label??"":"",rt=x&&a?.label&&a.label!==String(ee)?String(a.label):$e&&st&&st!==String(ee)?st:"",vt=!!rt,De=f!==void 0?f:ae,Ve=[rt,typeof ee=="string"?ee:"",De].map(ke=>String(ke??"").trim()).filter(Boolean).join(" ");return r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:B,className:`training-block-button${Ee?" training-block-button--list":""}${fe?" training-block-button--row":""}${Ae?" training-block-button--compact":""}${$e?" training-block-button--small":""}${U?" training-block-button--completed":""}${se?" training-block-button--selected":""}${vt&&!$e?" training-block-button--withType":""}${$e&&!vt?" training-block-button--no-type-label":""}`,onClick:I,onPointerEnter:Y,onPointerLeave:M,role:"button",tabIndex:0,onKeyDown:P,"aria-label":typeof n=="string"?n:Ve||void 0,title:!p&&h&&(Array.isArray(h)?h.filter(Boolean).join(`
|
|
851
|
+
`),this.name="StorageNotConfiguredError"}};function Us(e){N8(e)}function Gn(e,t){if(!e)return null;const a=rr();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function qs(e){if(!e)return!1;const t=rr();if(!t)throw new Vs("fileExists");if(t.exists)return t.exists(e);try{return await t.resolveUrl(e)!==null}catch{return!1}}async function Vr(e){if(!e)return null;const t=rr();if(!t)throw new Vs("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Hn(e){const t=rr();if(!t)throw new Vs("downloadSound");return t.download(e)}function Ys(){return rr()?.noiseBaseUrl??"/sounds/noise"}function Ks(){const e=Number(rr()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function T8(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const Xs="__ihab_core_tts_config__";function Bh(e){globalThis[Xs]=e}function Lo(){return globalThis[Xs]?.urlResolver??null}function Ur(){return globalThis[Xs]?.fallbackUrlResolver??null}const j8=new Map;function Ah(){j8.clear()}const Sh="__ihab_core_pronunciation_resolver__";function Eh(e){globalThis[Sh]=e}function Zs(){return globalThis[Sh]??null}let po=null;const qr=new WeakMap,Js=new WeakMap,Qs=new WeakMap;let Dh=!1;const Nh=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function L8(){if(Dh||typeof document>"u")return;Dh=!0;const e=()=>{try{po&&po.state!=="running"&&po.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function Th(){if(po)return po;try{const e=window.AudioContext||window.webkitAudioContext;return e?(po=new e,L8(),po):null}catch{return null}}function Yr(){try{po?.resume()}catch{}}function el(e,t){const a=qr.get(t);if(a)return a;try{const o=e.createMediaElementSource(t),n=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,n.gain.value=Nh(Js.get(t)??t.volume),o.connect(n),n.connect(i),n.connect(e.destination);try{t.volume=1}catch{}const l={gain:n,analyser:i};return qr.set(t,l),l}catch{return null}}function nr(e){if(!e)return Promise.resolve(null);const t=qr.get(e);if(t)return Promise.resolve(t.analyser);const a=Th();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(el(a,e)?.analyser??null);const o=Qs.get(e);if(o)return o;const n=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?el(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Qs.delete(e)});return Qs.set(e,n),n}function tl(e){if(!e)return null;const t=qr.get(e);if(t)return t.analyser;const a=Th();return a?a.state==="running"?el(a,e)?.analyser??null:(nr(e),null):null}function Ra(e,t){const a=Nh(t);Js.set(e,a);const o=qr.get(e);if(o){try{e.volume!==1&&(e.volume=1)}catch{}const n=o.gain.gain;try{const i=o.gain.context.currentTime;n.cancelScheduledValues(i),n.setTargetAtTime(a,i,.01)}catch{try{n.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function ir(e){return Js.get(e)??e.volume}function al(e,t){e.getFloatTimeDomainData(t);let a=0;for(let o=0;o<t.length;o++){const n=t[o];a+=n*n}return Math.sqrt(a/t.length)}const jh="__ihab_core_image_config__";function Lh(e){globalThis[jh]=e}function ho(){return globalThis[jh]??null}const Kr="word_image_existence_map_v1";let Pa=null,Mo=0,Mh=-1,Xr=null,$h=-1,Rh=new Set;const Vn=new Map;function sr(){if(Pa)return Pa;try{const e=typeof localStorage<"u"?localStorage.getItem(Kr):null,t=e?JSON.parse(e):null;Pa=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Pa={}}return Pa}let ol=null;function M8(){ol||(ol=setTimeout(()=>{ol=null;try{typeof localStorage<"u"&&Pa&&localStorage.setItem(Kr,JSON.stringify(Pa))}catch{}},200))}function Un(e,t){return`${e}_${t??1}`}async function Zr(e,t){const a=sr(),o=Un(e,t);if(o in a)return a[o];if(Vn.has(o))return Vn.get(o);const n=ho();if(!n)return!1;const i=n(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:T8(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Vn.delete(o),c===null?!1:(a[o]=c,Mo++,M8(),c)));return Vn.set(o,l),l}function Ph(e,t){const a=sr(),o=Un(e,t);return o in a?a[o]:void 0}async function zh(e,t={}){const{force:a=!1,concurrency:o=16,onProgress:n}=t,i=sr(),l=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(u=>!(Un(u)in i));let c=0;if(l.length>0){let u=0;const d=Array.from({length:Math.min(o,l.length)},async()=>{for(;u<l.length;){const h=u++,p=l[h],m=Un(p);if(!a&&m in i){c++,n?.(c,l.length);continue}try{await Zr(p)}catch{}c++,n?.(c,l.length)}});await Promise.all(d)}try{typeof localStorage<"u"&&Pa&&localStorage.setItem(Kr,JSON.stringify(Pa))}catch{}return{checked:l.length,cached:Object.keys(i).length,total:e.length}}function qn(){const e=sr();if(Mh===Mo)return Xr?{...Xr}:null;const t=Object.values(e);return Xr=t.length===0?null:{total:t.length,exists:t.filter(Boolean).length},Mh=Mo,Xr?{...Xr}:null}function Ih(){const e=sr();if($h===Mo)return Rh;const t=new Set;for(const a in e)e[a]===!0&&a.endsWith("_1")&&t.add(a.slice(0,-2));return Rh=t,$h=Mo,t}function Oh(e){const t=sr();Object.assign(t,e),Mo++;try{typeof localStorage<"u"&&localStorage.setItem(Kr,JSON.stringify(t))}catch{}}function rl(){Pa={},Mo++;try{typeof localStorage<"u"&&localStorage.removeItem(Kr)}catch{}}const $8=["onset","vowel","coda","glide"],Fh="none",R8={\uCD08\uC131:"onset",\uBAA8\uC74C:"vowel",\uC885\uC131:"coda",\uD65C\uC74C:"glide"},P8="\uC5C6\uC74C";function z8(e){return $8.includes(e)}function I8(e){const t={};for(const[a,o]of Object.entries(e)){const n=z8(a)?a:R8[a];n&&(t[n]=o===P8?Fh:o)}return t}const O8={\u3131:"\u3131",\u3132:"\u3131",\u314B:"\u3131",\u3133:"\u3131",\u313A:"\u3131",\u3134:"\u3134",\u3135:"\u3134",\u3136:"\u3134",\u3137:"\u3137",\u3145:"\u3137",\u3146:"\u3137",\u3148:"\u3137",\u314A:"\u3137",\u314C:"\u3137",\u314E:"\u3137",\u3139:"\u3139",\u313C:"\u3139",\u313D:"\u3139",\u313E:"\u3139",\u3140:"\u3139",\u3141:"\u3141",\u313B:"\u3141",\u3142:"\u3142",\u314D:"\u3142",\u313F:"\u3142",\u3144:"\u3142",\u3147:"\u3147"},nl={\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"}};function F8(e,t){return(nl[e]?.glide??"")!==(nl[t]?.glide??"")}function $o(e){return O8[e]??e}const ft=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],At=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],It=["","\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 Ye(e){if(!e)return null;const t=e.charCodeAt(0)-44032;return t<0||t>=11172?null:{cho:Math.floor(t/588),jung:Math.floor(t%588/28),jong:t%28}}function il(){const e=new Map;return t=>{let a=e.get(t);return a||(a=[...t].map(o=>Ye(o)),e.set(t,a)),a}}function Ba(e,t,a=0){return String.fromCharCode(44032+(e*21+t)*28+a)}function sl(e,t){if(!e||!t||e===t||e.length!==t.length)return"random";let a=0,o=null;for(let n=0;n<e.length;n++){const i=Ye(e[n]),l=Ye(t[n]);if(!i||!l)return"random";if(i.cho===l.cho&&i.jung===l.jung&&i.jong===l.jong)continue;a++;const c=i.cho!==l.cho,u=i.jung!==l.jung,d=i.jong!==l.jong;(c?1:0)+(u?1:0)+(d?1:0)>1?o="multi":c?o="cho":u?o="jung":o="jong"}return a!==1?"random":o==="cho"?"cho":o==="jung"?"jung":o==="jong"?"jong":"random"}function ll(e){const t=Ye(e[0]||"");return t?ft[t.cho]:""}function cl(e){return[...e].map(t=>{const a=Ye(t);return a?ft[a.cho]:t}).join("")}function ul(e){return!!e&&[...e].every(t=>ft.includes(t))}function Wh(e,t){return t?(e=e.normalize("NFC"),t=t.normalize("NFC"),ul(t)?cl(e).includes(t):e.toLowerCase().includes(t.toLowerCase())):!0}function Gh(e,t){return dl(t)(e)}function dl(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>ft.includes(l),o=l=>At.includes(l),n=t.map(l=>a(l)?"cho":o(l)?"jung":Ye(l)?"syl":"other"),i=t.map(l=>Ye(l));if(n.includes("other")){const l=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(l)}return l=>{const c=[...l.normalize("NFC")];for(let u=0;u+t.length<=c.length;u++){let d=!0;for(let h=0;h<t.length;h++){const p=c[u+h],m=n[h];if(m==="cho"){if(ll(p)!==t[h]){d=!1;break}}else if(m==="jung"){const v=Ye(p);if(!v||At[v.jung]!==t[h]){d=!1;break}}else{const v=i[h];if(v&&v.jong===0){const x=Ye(p);if(!x||x.cho!==v.cho||x.jung!==v.jung){d=!1;break}}else if(p!==t[h]){d=!1;break}}}if(d)return!0}return!1}}const Yn={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"]},Hh=Object.fromEntries(Object.entries(Yn).map(([e,t])=>[t.join(""),It[Number(e)]]));function W8(e,t){if(!e||!t)return!1;for(const a of e){const o=Ye(a);if(o){if(ft[o.cho]===t)return!0;if(o.jong>0){if(It[o.jong]===t)return!0;const n=Yn[o.jong];if(n&&n.includes(t))return!0}}}return!1}function Vh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ye(a);if(o&&ft[o.cho]===t)return!0}return!1}function Uh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ye(a);if(o&&At[o.jung]===t)return!0}return!1}function qh(e,t,a){const o=It[e];return o===t?!0:a==="phoneme"&&$o(o)===$o(t)}function Yh(e,t,a="glyph"){if(!e||!t)return!1;for(const o of e){const n=Ye(o);if(!(!n||n.jong<=0)&&qh(n.jong,t,a))return!0}return!1}function Ro(e){if(!e)return 0;let t=0;for(const a of e)Ye(a)&&t++;return t}function pl(e){if(!e)return!1;let t=!1;for(const a of e){const o=Ye(a);if(o&&(t=!0,o.jong>0))return!1}return t}function hl(e,t,a){return e.jong<=0?!1:t.some(o=>qh(e.jong,o,a))}function ml(e,t,a,o="glyph"){if(!e)return!1;const n=[...e],i=l=>{const c=Ye(n[l]);if(!c||t.cho&&!t.cho.includes(ft[c.cho])||t.jung&&!t.jung.includes(At[c.jung]))return!1;if(t.jongNone){if(c.jong>0)return!1}else if(t.jong&&!hl(c,t.jong,o))return!1;return!0};if(a==="head")return i(0);if(a==="tail")return i(n.length-1);if(a==="mid"){for(let l=1;l<n.length-1;l++)if(i(l))return!0;return!1}for(let l=0;l<n.length;l++)if(i(l))return!0;return!1}function Kh(e,t,a,o="glyph"){if(!e)return!1;const n=[...e].map(Ye).filter(u=>!!u);if(n.length===0)return!1;const i=n.length-1;if(a==="head"){if(!t.cho)return!1;const u=ft[n[0].cho];return u!=="\u3147"&&t.cho.includes(u)}if(a==="tail")return t.jongNone?n[i].jong===0:t.jong?hl(n[i],t.jong,o):!1;const l=!t.cho||n.some((u,d)=>{if(d===0)return!1;const h=ft[u.cho];return h!=="\u3147"&&t.cho.includes(h)}),c=t.jongNone?n.some((u,d)=>d!==i&&u.jong===0):!t.jong||n.some((u,d)=>d!==i&&hl(u,t.jong,o));return!t.cho&&!t.jong&&!t.jongNone?!1:l&&c}function bl(e){return e.includes(",")||e.includes("_")}function Xh(e){if(e==="")return[{kind:"any"}];if(e.includes("_")){const t=[...e];if(t.length>4)return[{kind:"invalid"}];const a=t[0]??"_",o=t[1]??"_";let n=t.slice(2).join("");if(n.length===2){const i=Hh[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:o,jong:n||"_"}]}return[...e].map(t=>Ye(t)?{kind:"syllable",ch:t}:ft.includes(t)?{kind:"cho",jamo:t}:At.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function G8(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=Ye(t.ch);if(!a)return e===t.ch;if(a.jong===0){const o=Ye(e);return!!o&&o.cho===a.cho&&o.jung===a.jung}return e===t.ch}case"cho":{const a=Ye(e);return!!a&&ft[a.cho]===t.jamo}case"jung":{const a=Ye(e);return!!a&&At[a.jung]===t.jamo}case"template":{const a=Ye(e);return!(!a||t.cho!=="_"&&ft[a.cho]!==t.cho||t.jung!=="_"&&At[a.jung]!==t.jung||t.jong!=="_"&&It[a.jong]!==t.jong)}case"invalid":return!1}}function gl(e,t){e=e.normalize("NFC"),t=t.normalize("NFC");const a=t.split(",").flatMap(n=>Xh(n.trim()));if(a.length===0)return!0;const o=[...e];if(o.length<a.length)return!1;for(let n=0;n+a.length<=o.length;n++)if(a.every((i,l)=>G8(o[n+l],i)))return!0;return!1}function Zh(e){const t=e.split(",").flatMap(i=>Xh(i.trim())),a=new Set,o=new Set,n=new Set;for(const i of t)switch(i.kind){case"cho":a.add(i.jamo);break;case"jung":o.add(i.jamo);break;case"template":i.cho!=="_"&&a.add(i.cho),i.jung!=="_"&&o.add(i.jung),i.jong!=="_"&&n.add(i.jong);break;case"syllable":{const l=Ye(i.ch);l&&(a.add(ft[l.cho]),o.add(At[l.jung]),l.jong!==0&&n.add(It[l.jong]));break}}return a.size===0&&o.size===0&&n.size===0?null:{cho:a.size?[...a]:null,jung:o.size?[...o]:null,jong:n.size?[...n]:null}}function H8(e){return!!Ye(e)||ft.includes(e)||At.includes(e)}function Jh(e){const t=e.normalize("NFC").trim();if(!t)return{ok:!0};for(const a of t.split(",")){const o=a.trim();if(o!==""){if(o.includes("_")){const n=[...o];if(n.length>4)return{ok:!1};const i=n[0],l=n[1],c=n.slice(2).join(""),u=i===void 0||i==="_"||ft.includes(i),d=l===void 0||l==="_"||At.includes(l),h=c===""||c==="_"||It.filter(Boolean).includes(c)||!!Hh[c];if(u&&d&&h)continue;return{ok:!1}}if(![...o].every(H8))return{ok:!1}}}return{ok:!0}}const V8={cho:ft.length,jung:At.length,jong:It.length};function U8(e,t,a,o,n=1/0){if(!e||a<1)return[];const i=[...e].map(p=>Ye(p));if(i.some(p=>!p))return[];const l=i,c=l.length;if(a>c)return[];const u=V8[t],d=new Set,h=[];(function p(m,v){if(v.length===a){h.push([...v]);return}for(let x=m;x<c;x++)v.push(x),p(x+1,v),v.pop()})(0,[]);for(const p of h)if((function m(v,x){if(d.size>=n)return;if(v===p.length){const C=x.map(f=>Ba(f.cho,f.jung,f.jong)).join("");C!==e&&o.has(C)&&d.add(C);return}const g=p[v],b=l[g][t];for(let C=0;C<u;C++){if(C===b)continue;const f=x.slice();if(f[g]={...x[g],[t]:C},m(v+1,f),d.size>=n)return}})(0,l),d.size>=n)break;return[...d]}function q8(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let o=0;o<e.length;o++){const n=Ye(e[o]),i=Ye(t[o]);if(!n||!i)return-1;n.cho!==i.cho&&a++,n.jung!==i.jung&&a++,n.jong!==i.jong&&a++}return a}function Qh(e,t){const a=t.normalize("NFC").trim();if(!a||!/[^\s,_]/.test(a))return e;if(bl(a))return e.filter(u=>gl(u.word,a));const o=dl(a),n=[...a].length,i=u=>!!u&&o(u.normalize("NFC").slice(0,n)),l=[],c=[];for(const u of e)(o(u.word)||o(u.pronunciation??""))&&(i(u.word)||i(u.pronunciation??"")?l:c).push(u);return l.concat(c)}const fl="word_pair_index_v2",vl="word_pair_index_sig_v2";let za=null,Jr=null;function em(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(fl),t=localStorage.getItem(vl);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function Y8(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(fl,JSON.stringify(e)),localStorage.setItem(vl,t)}catch{}}function K8(e){const t=e.map(o=>`${o.word}|${o.pron??""}`).sort();let a=0;for(const o of t)for(let n=0;n<o.length;n++)a=(a<<5)-a+o.charCodeAt(n)|0;return`${t.length}-${a}`}async function X8(e,t){const a=new Set,o=[];for(const d of e){if(!d.word||a.has(d.word))continue;const h=d.pron||d.word,p=Array.from(h).map(Ye);p.some(m=>m===null)||p.length===Array.from(d.word).length&&(a.add(d.word),o.push({word:d.word,syls:p}))}const n={},i=o.length,l=new Map;for(const d of o){const h=d.syls.length;l.has(h)||l.set(h,[]),l.get(h).push(d)}let c=0;const u=["cho","jung","jong"];for(const d of l.values()){const h=d[0].syls.length;for(let p=0;p<h;p++)for(const m of u){const v=new Map;for(const x of d){let g="";for(let C=0;C<h;C++){C>0&&(g+="~");const f=x.syls[C];C===p?m==="cho"?g+=`*:${f.jung}:${f.jong}`:m==="jung"?g+=`${f.cho}:*:${f.jong}`:g+=`${f.cho}:${f.jung}:*`:g+=`${f.cho}:${f.jung}:${f.jong}`}let b=v.get(g);b||(b=[],v.set(g,b)),b.push(x)}for(const x of v.values())if(!(x.length<2))for(let g=0;g<x.length;g++){const b=x[g];for(let C=g+1;C<x.length;C++){const f=x[C];b.syls[p][m]!==f.syls[p][m]&&(n[b.word]||(n[b.word]={cho:[],jung:[],jong:[]}),n[f.word]||(n[f.word]={cho:[],jung:[],jong:[]}),n[b.word][m].push(f.word),n[f.word][m].push(b.word))}}}c+=d.length,t?.(c,i),await new Promise(p=>setTimeout(p,0))}return i>0&&t?.(i,i),n}let xl=0;async function tm(e,t={}){const a=K8(e);if(!t.force){if(za&&Jr===a)return za;const i=em();if(i&&i.sig===a)return za=i.index,Jr=a,za}const o=++xl,n=await X8(e,t.onProgress);return o===xl&&(za=n,Jr=a,Y8(n,a)),n}function Po(){if(za)return za;const e=em();return e?(za=e.index,Jr=e.sig,za):null}function Cl(){xl+=1,za=null,Jr=null;try{typeof localStorage<"u"&&(localStorage.removeItem(fl),localStorage.removeItem(vl))}catch{}}const yl={cho:ft,jung:At,jong:It},Ot=e=>Array.isArray(e)?e.length>0:!!e;function Qr(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++){const o=e[a],n=t[a];if(!(!o||!n)&&(o.cho!==n.cho&&ft[o.cho]==="\u3147"!=(ft[n.cho]==="\u3147")||o.jung!==n.jung&&F8(At[o.jung],At[n.jung])||o.jong!==n.jong&&o.jong===0!=(n.jong===0)))return!0}return!1}function _l(e,t,a){const o=a.pronOf(e),n=a.decompOf,i=a.sameStructureOnly&&n?n(o):null,l=[];for(const c of t)c!==e&&(a.okSet&&!a.okSet.has(c)||a.pronOf(c)!==o&&(i&&n&&Qr(i,n(a.pronOf(c)))||l.push(c)));return l}function Kn(e,t,a){const o=t?.[e];if(!o)return[];const n=a.kind?o[a.kind]??[]:[...o.cho??[],...o.jung??[],...o.jong??[]];return _l(e,n,a)}function wl(e,t,a,o,n,i,l){const c=["cho","jung","jong"].filter(m=>Ot(e[m])),u={};for(const m of c){const v=e[m];u[m]=new Set(Array.isArray(v)?v:[v])}const d=n==="pron",h=new Map;for(const m of t){const v=a(i(m));if(v.some(C=>!C))continue;let x=v;if(!d&&(x=a(m),x.length!==v.length||x.some(C=>!C)))continue;const g=v.length,b=h.get(g);b?b.push({w:m,dPron:v,dPos:x}):h.set(g,[{w:m,dPron:v,dPos:x}])}const p=new Map;for(const[m,v]of h){const x=new Map,g=(b,C)=>{const f=b.dPos[C];return f!=null&&c.every(w=>u[w].has(yl[w][f[w]]))};for(const b of v){let C;if(l==="head")C=g(b,0)?0:-1;else if(l==="tail")C=g(b,m-1)?m-1:-1;else if(l==="mid"){const w=c.includes("cho")?1:0,y=c.includes("jong")?m-2:m-1;C=-1;for(let A=w;A<=y;A++)if(g(b,A)){C=A;break}}else C=b.dPos.findIndex(w=>w!=null&&c.every(y=>u[y].has(yl[y][w[y]])));if(C<0)continue;const f=x.get(C);f?f.push(b):x.set(C,[b])}for(const[b,C]of x){const f=c.includes("cho"),w=c.includes("jung"),y=c.includes("jong"),A=B=>{let k="";for(let E=0;E<m;E++){const S=B[E];E===b?k+=(f?"*":S.cho)+"."+(w?"*":S.jung)+"."+(y?"*":S.jong)+".":k+=S.cho+"."+S.jung+"."+S.jong+"."}return k},_=new Map;for(const B of v){const k=A(B.dPron),E=_.get(k);E?E.push(B):_.set(k,[B])}for(const B of C){const k=_.get(A(B.dPron))??[],E=[];for(const S of k){if(S.w===B.w)continue;let D=!0;for(const $ of c){const j=B.dPron[b][$],H=S.dPron[b][$];if(H===j){D=!1;break}if(d&&u[$].has(yl[$][H])){D=!1;break}}D&&(o&&Qr(B.dPron,S.dPron)||E.push(S.w))}p.set(B.w,E)}}}return p}function kl(e,t,a){return!(e>0)||!(t>0)?1:Math.max(1,Math.floor((e+a)/(t+a)))}function Bl(e,t){if(!(e>0))return 1;const a=Math.max(1,Math.floor(t));if(e<=a)return e;const o=Math.ceil(e/a);return Math.max(1,Math.ceil(e/o))}const Xn=0,am=1,zo=2,Al=3,Z8=4,Zn=5,Sl=6,Jn=7,J8=8,El=9,lr=10,Q8=11,en=12,e5=13,tn=14,Qn=15,ei=16,an=17,t5=18,Aa=0,Ja=1,a5=3,mo=4,Dl=5,on=6,Ia=7,Vt=8,om=9,rm=10,ti=11,nm=12,Nl=13,cr=15,ai=16,Qa=17,im=18,Tl=21,jl=27,o5=20,r5={1:Xn,2:am,4:zo,7:Al,8:Zn,16:Sl,17:Jn,19:El,20:lr,22:en,23:tn,24:Qn,25:ei,26:an},n5={[a5]:[Ja,lr],[Dl]:[mo,en],[om]:[Vt,Xn],[rm]:[Vt,Sl],[ti]:[Vt,Jn],[nm]:[Vt,lr],[Nl]:[Vt,ei],14:[Vt,an],[im]:[Qa,lr]},i5={[on]:zo,[cr]:Zn},Ll={2:Ja,24:Ja,3:Ja,9:Ja,5:mo,6:mo,19:Ia,20:Ia,22:Ia,23:Ia,25:Ia,27:Ia,11:Vt,12:Vt,13:Vt,15:Vt,10:ai,14:Qa,18:Qa,26:Qa},sm={[Xn]:Qn,[Al]:ei,[Jn]:an,[en]:tn},lm={[Xn]:am,[Al]:Z8,[Jn]:J8,[El]:lr,[en]:e5},s5=new Set([Dl,rm,ti,nm,Nl,cr,im]),l5=new Set(["\uBC1F"]);function cm(e){const t=(e??"").trim();if(!t)return"";const a=[...t],o=a.map(Ye);if(o.some(i=>i===null))return t;const n=o;for(let i=0;i<n.length;i++){const l=n[i],c=n[i+1],u=l.jong;if(!c){l.jong=Ll[l.jong]??l.jong;break}if(l.jong===Aa)continue;if(c.cho===Q8){if(c.jung===o5){if(l.jong===Ia){l.jong=Aa,c.cho=en;continue}if(l.jong===25){l.jong=Aa,c.cho=tn;continue}if(l.jong===Nl){l.jong=Vt,c.cho=tn;continue}}if(l.jong===jl){l.jong=Aa;continue}const h=i5[l.jong];if(h!==void 0){l.jong=Aa,c.cho=h;continue}const p=n5[l.jong];if(p){l.jong=p[0],c.cho=p[1];continue}const m=r5[l.jong];m!==void 0&&(l.jong=Aa,c.cho=m);continue}if((l.jong===jl||l.jong===on||l.jong===cr)&&sm[c.cho]!==void 0){c.cho=sm[c.cho],l.jong=l.jong===on?mo:l.jong===cr?Vt:Aa;continue}if((l.jong===jl||l.jong===on||l.jong===cr)&&c.cho===El){c.cho=lr,l.jong=l.jong===on?mo:l.jong===cr?Vt:Aa;continue}if(c.cho===t5){if(l.jong===Dl){l.jong=mo,c.cho=tn;continue}if(l.jong===om){l.jong=Vt,c.cho=Qn;continue}if(l.jong===ti){l.jong=Vt,c.cho=an;continue}const h=Ll[l.jong]??l.jong;if(h===Ja){l.jong=Aa,c.cho=Qn;continue}if(h===Ia){l.jong=Aa,c.cho=ei;continue}if(h===Qa){l.jong=Aa,c.cho=an;continue}}let d=Ll[l.jong]??l.jong;u===ti&&l5.has(a[i])&&(d=Qa),l.jong=d,lm[c.cho]!==void 0&&(d===Ja||d===Ia||d===Qa||s5.has(u))&&(c.cho=lm[c.cho]),(c.cho===zo||c.cho===Sl)&&(l.jong===Ja?l.jong=Tl:l.jong===Ia?l.jong=mo:l.jong===Qa&&(l.jong=ai)),c.cho===Zn?l.jong===mo?l.jong=Vt:l.jong===ai||l.jong===Tl?c.cho=zo:l.jong===Ja?(l.jong=Tl,c.cho=zo):l.jong===Qa&&(l.jong=ai,c.cho=zo):l.jong===Vt&&c.cho===zo&&(c.cho=Zn)}return n.map(i=>Ba(i.cho,i.jung,i.jong)).join("")}const ur=/[ㄱ-ㅎ]/,c5=/[ㅏ-ㅣ]/;function rn(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],o=a.charCodeAt(0);if(o>=44032&&o<=55203||ur.test(a)||c5.test(a))return a}return null}function Ml(e){const t=rn(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":ur.test(t)?"\uC774":"\uAC00"}function $l(e){return`${e}${Ml(e)}`}function Rl(e){const t=rn(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":ur.test(t)?"\uC744":"\uB97C"}function Pl(e){return`${e}${Rl(e)}`}function zl(e){const t=rn(e);if(!t)return"\uB294";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC740":"\uB294":ur.test(t)?"\uC740":"\uB294"}function um(e){return`${e}${zl(e)}`}function Il(e){const t=rn(e);if(!t)return"\uC640";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uACFC":"\uC640":ur.test(t)?"\uACFC":"\uC640"}function dm(e){return`${e}${Il(e)}`}function Ol(e){const t=rn(e);if(!t)return"\uB85C";const a=t.charCodeAt(0);if(a>=44032&&a<=55203){const o=(a-44032)%28;return o===0||o===8?"\uB85C":"\uC73C\uB85C"}return t==="\u3139"?"\uB85C":ur.test(t)?"\uC73C\uB85C":"\uB85C"}function pm(e){return`${e}${Ol(e)}`}function Fl(e,t,a){const o=e.slice(),[n]=o.splice(t,1);return o.splice(a,0,n),o}function ut(e,t=Math.random){const a=e.slice();for(let o=a.length-1;o>0;o--){const n=Math.floor(t()*(o+1));[a[o],a[n]]=[a[n],a[o]]}return a}function Sa(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?ut(e,a):ut(e,a).slice(0,t)}const dr={SAME_SOUND_PICK:{difficulty:!0,choseong:!0,group:"discrimination"},SAME_OR_DIFF:{difficulty:!0,choseong:!0,group:"discrimination"},HEAR_AND_PICK_SAME:{difficulty:!0,choseong:!0,group:"discrimination"},HEAR_AND_PICK_INCLUDED:{difficulty:!0,choseong:!0,group:"discrimination"},STARTS_WITH_SAME_SOUND:{difficulty:!1,choseong:!0,group:"discrimination"},LISTEN_AND_REMEMBER_ORDER:{difficulty:!1,choseong:!0,group:"attention"},MERGE_2_SYLLABLES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_3_SYLLABLES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_2_PHONEMES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_3_PHONEMES:{difficulty:!1,choseong:!0,group:"synthesis"},DROP_1_FROM_2SYLL:{difficulty:!1,choseong:!0,group:"deletion"},DROP_1_FROM_3SYLL:{difficulty:!1,choseong:!0,group:"deletion"},DROP_PART_FROM_COMPOUND:{difficulty:!1,choseong:!0,group:"deletion"},DROP_FINAL_CONSONANT_FROM_1SYLL:{difficulty:!1,choseong:!0,group:"deletion"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{difficulty:!1,choseong:!0,group:"deletion"},CHANGE_1_SYLL_IN_2SYLL:{difficulty:!0,choseong:!0,group:"substitution"},CHANGE_1_SYLL_IN_3SYLL:{difficulty:!0,choseong:!0,group:"substitution"},CHANGE_1_PHONEME_IN_1SYLL:{difficulty:!1,choseong:!0,group:"substitution"},CHANGE_1_PHONEME_IN_2SYLL:{difficulty:!0,choseong:!0,group:"substitution"}};function u5(e){const t=e?dr[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const Wl=ft.indexOf("\u3147"),pr={DROP_FINAL_CONSONANT_FROM_1SYLL:{syllables:1,syllable:e=>e.jong>0},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{syllables:1,syllable:e=>e.jong===0&&e.cho!==Wl},MERGE_2_SYLLABLES:{syllables:2,syllable:()=>!0},MERGE_3_SYLLABLES:{syllables:3,syllable:()=>!0},MERGE_2_PHONEMES:{syllables:1,syllable:e=>e.jong===0&&e.cho!==Wl},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0&&!Yn[e.jong]&&e.cho!==Wl}},d5=new Set([]);function hm(e){return e in pr}function mm(e,t){const a=pr[e];if(!a)return!0;const o=[...t];if(o.length!==a.syllables)return!1;const n=Ye(o[0]);return!!n&&a.syllable(n)}function bm(e){return d5.has(e)}function p5(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uC640":"\uACFC"}function nn(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uB97C":"\uC744"}function Gl(e){const t=e.charCodeAt((e.length||1)-1)||0;if(t<44032||t>55203)return"\uB85C";const a=(t-44032)%28;return a===0||a===8?"\uB85C":"\uC73C\uB85C"}function gm(e){const t=e.charAt((e.length||1)-1),a=t.charCodeAt(0)||0;return a>=44032&&a<=55203?(a-44032)%28===0?"\uAC00":"\uC774":/[ㄱ-ㅎ]/.test(t)?"\uC774":"\uAC00"}const Hl={\u3131:"\uAE30\uC5ED",\u3132:"\uC30D\uAE30\uC5ED",\u3134:"\uB2C8\uC740",\u3137:"\uB514\uADFF",\u3138:"\uC30D\uB514\uADFF",\u3139:"\uB9AC\uC744",\u3141:"\uBBF8\uC74C",\u3142:"\uBE44\uC74D",\u3143:"\uC30D\uBE44\uC74D",\u3145:"\uC2DC\uC637",\u3146:"\uC30D\uC2DC\uC637",\u3147:"\uC774\uC751",\u3148:"\uC9C0\uC752",\u3149:"\uC30D\uC9C0\uC752",\u314A:"\uCE58\uC753",\u314B:"\uD0A4\uC754",\u314C:"\uD2F0\uC755",\u314D:"\uD53C\uC756",\u314E:"\uD788\uC757",\u3133:"\uAE30\uC5ED\uC2DC\uC637",\u3135:"\uB2C8\uC740\uC9C0\uC752",\u3136:"\uB2C8\uC740\uD788\uC757",\u313A:"\uB9AC\uC744\uAE30\uC5ED",\u313B:"\uB9AC\uC744\uBBF8\uC74C",\u313C:"\uB9AC\uC744\uBE44\uC74D",\u313D:"\uB9AC\uC744\uC2DC\uC637",\u313E:"\uB9AC\uC744\uD2F0\uC755",\u313F:"\uB9AC\uC744\uD53C\uC756",\u3140:"\uB9AC\uC744\uD788\uC757",\u3144:"\uBE44\uC74D\uC2DC\uC637",\u314F:"\uC544",\u3150:"\uC560",\u3151:"\uC57C",\u3152:"\uC598",\u3153:"\uC5B4",\u3154:"\uC5D0",\u3155:"\uC5EC",\u3156:"\uC608",\u3157:"\uC624",\u3158:"\uC640",\u3159:"\uC65C",\u315A:"\uC678",\u315B:"\uC694",\u315C:"\uC6B0",\u315D:"\uC6CC",\u315E:"\uC6E8",\u315F:"\uC704",\u3160:"\uC720",\u3161:"\uC73C",\u3162:"\uC758",\u3163:"\uC774"};function fm(e){if([...e].length!==1)return[e];const t=Ye(e);if(!t)return[e];const a=[ft[t.cho],At[t.jung]];return t.jong!==0&&a.push(It[t.jong]),a}function Vl(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const o=c=>Hl[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${p5(o(c))}`).join(" "),i=a[a.length-1],l=`"${i}"${nn(o(i))}`;return`${n} ${l} \uD569\uCE58\uBA74 \uC5B4\uB5A4 ${t?"\uC18C\uB9AC":"\uB2E8\uC5B4"}\uAC00 \uB418\uB098\uC694?`}function h5(e,t){return Vl(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}const Ul=e=>Hl[e]??e,m5={cho:"\uCD08\uC131",jung:"\uBAA8\uC74C",jong:"\uBC1B\uCE68"};function b5(e,t){const a=(u,d)=>{const h=[...u].length===1?Ye(u):null,p=[...d].length===1?Ye(d):null;if(!h||!p)return null;const m=["cho","jung","jong"].filter(v=>h[v]!==p[v]);return m.length===1?{part:m[0],sx:h,sy:p}:null},o=a(e,t)??a(sn(e),sn(t));if(!o)return null;const n=o.part==="cho"?ft:o.part==="jung"?At:It,i=n[o.sx[o.part]],l=n[o.sy[o.part]],c=o.part==="jong"&&!i?"add":o.part==="jong"&&!l?"remove":"swap";return{part:o.part,from:i,to:l,kind:c}}function g5(e,t){const a=String(t?.word??t?.original??""),o=String(t?.changedFrom??""),n=String(t?.changedTo??"");if(e==="CHANGE_1_PHONEME_IN_1SYLL"||e==="CHANGE_1_PHONEME_IN_2SYLL"){const i=e==="CHANGE_1_PHONEME_IN_1SYLL",l=i?o||a:o,c=b5(l,n);if(c){const u=i?`"${a}"`:`"${a}"\uC758 "${l}"`,d=c.kind==="add"?"\uC5D0":"\uC5D0\uC11C",h=`"${c.from}"${nn(Ul(c.from))}`,p=`"${c.to}"${Gl(Ul(c.to))}`;return c.kind==="add"?`${u}${d} \uBC1B\uCE68 "${c.to}"${nn(Ul(c.to))} \uB354\uD558\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:c.kind==="remove"?`${u}${d} \uBC1B\uCE68 ${h} \uBE7C\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`${u}${d} ${m5[c.part]} ${h} ${p} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}}return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${nn(a)} "${n}"${Gl(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${o}"${nn(o)} "${n}"${Gl(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function f5(e,t){const a=String(t?.word??t?.original??t?.base??""),o=String(t?.dropped??"");if(e==="DROP_FINAL_CONSONANT_FROM_1SYLL")return`"${a}"\uC5D0\uC11C \uBC1B\uCE68\uC774 \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`;if(e==="REMOVE_CONSONANT_AND_IDENTIFY_PHONEME"){const n=String(t?.missingConsonant??"");return`"${a}"\uC5D0\uC11C "${n}"${gm(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${o}"${gm(o)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function vm(e,t,a){switch(u5(e)){case"synthesis":return h5(e,a);case"substitution":return g5(e,t);case"deletion":return f5(e,t);default:return""}}function xm(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,o)=>{const n=Hl[a];if(!n)return t;if(!o)return`"${n}"`;const i=(n.charCodeAt(n.length-1)-44032)%28,l=i!==0;let c=o;return o==="\uC640"||o==="\uACFC"?c=l?"\uACFC":"\uC640":o==="\uC744"||o==="\uB97C"?c=l?"\uC744":"\uB97C":o==="\uC774"||o==="\uAC00"?c=l?"\uC774":"\uAC00":o==="\uC740"||o==="\uB294"?c=l?"\uC740":"\uB294":(o==="\uC73C\uB85C"||o==="\uB85C")&&(c=i===0||i===8?"\uB85C":"\uC73C\uB85C"),`"${n}"${c}`})}const v5=e=>e==null?[]:Array.isArray(e)?e:[e];function sn(e){if([...e].length!==1)return"";const t=Ye(e);if(!t)return"";const a=$o(It[t.jong]),o=a===""?0:It.indexOf(a);return Ba(t.cho,t.jung,o<0?0:o)}function oi(e,t){return t.get(e)||sn(e)||e}function hr(e){return e?Ot(e.cho)?"cho":Ot(e.jung)?"jung":Ot(e.jong)?"jong":null:null}function eo(e,t){const a=(n,i)=>!Ot(n)||v5(n).includes(i),o=t.jongNone?e.jong===0:a(t.jong,It[e.jong]);return a(t.cho,ft[e.cho])&&a(t.jung,At[e.jung])&&o}function Io(e,t,a){const o=[...e];if(a!=="pron")return o.map(i=>Ye(i));const n=[...t.get(e)||e];return n.length!==o.length?o.map(i=>Ye(i)):n.map(i=>Ye(i))}function Oo(e,t,a,o,n){const i=t==="cho"?ft:t==="jung"?At:It,l=e[t],c=[],u=p=>t==="jung"?C5(oi(p,n)):oi(p,n),d=new Map([[u(a),-1]]),h=ut(i.map((p,m)=>m).filter(p=>p!==l&&(t!=="cho"||i[p]!=="\u3147")&&(t!=="jong"||p!==0)));for(const p of h){if(c.length>=o)break;const m=t==="cho"?Ba(p,e.jung,e.jong):t==="jung"?Ba(e.cho,p,e.jong):Ba(e.cho,e.jung,p),v=u(m),x=d.get(v);if(x!==void 0){t==="jung"&&x>=0&&n.has(m)&&!n.has(c[x])&&(c[x]=m);continue}d.set(v,c.length),c.push(m)}return c}const x5={\u3154:"\u3150",\u3156:"\u3152",\u315A:"\u3159",\u315E:"\u3159"};function C5(e){if([...e].length!==1)return e;const t=Ye(e);if(!t)return e;const a=x5[At[t.jung]];return a?Ba(t.cho,At.indexOf(a),t.jong):e}function ql(e,t,a,o,n,i=null){const l=[...e];if(l.length!==2)return null;const c=l.map(p=>Ye(p));if(c.some(p=>!p))return null;const u=Io(e,a,o);if(u.some(p=>!p))return null;const d=hr(t);let h=d&&t?u.map((p,m)=>eo(p,t)?m:-1).filter(p=>p>=0):[0,1];if(i!=null&&(h=h.filter(p=>p!==i)),!h.length)return null;for(const p of ut(h)){const m=l[p];if(!n.has(m))continue;const v=Oo(c[p],d??"cho",m,40,a),x=[];for(const g of v)if(g!==m&&n.has(g)&&!x.includes(g)&&x.push(g),x.length>=2)break;if(!(x.length<2))return{question:e,distractors:[m,...x]}}return null}function Yl(e,t,a,o,n,i=null){const l=[...e];if(l.length!==3)return null;const c=l.map(p=>Ye(p));if(c.some(p=>!p))return null;const u=Io(e,a,o);if(u.some(p=>!p))return null;const d=hr(t),h=d&&t?u.map((p,m)=>eo(p,t)?m:-1).filter(p=>p>=0):[0,1,2];if(!h.length)return null;for(const p of ut(h))for(const m of ut([0,1,2].filter(v=>v!==p&&(i==null||v===i)))){const v=[0,1,2].filter(f=>f!==m),x=v.map(f=>l[f]).join("");if(!n.has(x))continue;const g=v.indexOf(p),b=Oo(c[p],d??"cho",l[p],40,a),C=[];for(const f of b){const w=v.map(A=>l[A]);w[g]=f;const y=w.join("");if(y!==x&&n.has(y)&&!C.includes(y)&&C.push(y),C.length>=2)break}if(!(C.length<2))return{question:e,distractors:[x,...C]}}return null}function Kl(e,t,a,o,n,i=null){const l=[...e],c=l.length;if(c<2)return null;const u=[];for(let h=1;h<=c-1;h++)u.push({remain:l.slice(0,h).join(""),dropped:l.slice(h).join(""),droppedEnd:1}),u.push({remain:l.slice(c-h).join(""),dropped:l.slice(0,c-h).join(""),droppedEnd:0});const d=hr(t);for(const{remain:h,dropped:p,droppedEnd:m}of ut(u)){if(i!=null&&m!==i||[...h].length===1&&[...p].length===1||h===e||!n.has(h)||!n.has(p))continue;const v=[...h],x=v.map(C=>Ye(C));if(x.some(C=>!C))continue;const g=Io(h,a,o);if(g.some(C=>!C))continue;const b=d&&t?g.map((C,f)=>eo(C,t)?f:-1).filter(C=>C>=0):v.map((C,f)=>f);if(b.length)for(const C of ut(b)){const f=Oo(x[C],d??"cho",v[C],40,a),w=[];for(const y of f){const A=[...v];A[C]=y;const _=A.join("");if(_!==h&&n.has(_)&&!w.includes(_)&&w.push(_),w.length>=2)break}if(w.length>=2)return{question:e,distractors:[h,...w],dropped:p}}}return null}function Xl(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=Ye(a.get(e)||e);if(!l||l.jong===0)return null;const c=Ba(l.cho,l.jung,0),u=Oo({cho:l.cho,jung:l.jung,jong:0},"cho",c,2,a);return u.length<2?null:{question:e,distractors:[c,...u]}}const Zl=ft.indexOf("\u3147");function Jl(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=Ye(a.get(e)||e);if(!l||l.jong!==0||l.cho===Zl)return null;const c=Ba(Zl,l.jung,0),u=Oo({cho:Zl,jung:l.jung,jong:0},"jung",c,2,a);return u.length<2?null:{question:e,distractors:[c,...u]}}function Ql(e){const t=new Map;for(const a of e){const o=[...a],n=o.length;if(!(n<2||n>3))for(let i=0;i<n;i++){let l=n+"|"+i+"|";for(let u=0;u<n;u++)l+=u===i?"*":o[u];const c=t.get(l);c?c.push(a):t.set(l,[a])}}return t}function ec(e,t,a,o,n,i=null,l=null,c=2){const u=[...e],d=u.length;if(d<2||d>3)return null;const h=u.map(f=>Ye(f));if(h.some(f=>!f))return null;const p=Io(e,a,o);if(p.some(f=>!f))return null;const m=f=>a.get(f)??f,v=m(e),x=!!t&&(Ot(t.cho)||Ot(t.jung)||Ot(t.jong)),g=!!l&&(Ot(l.cho)||Ot(l.jung)||Ot(l.jong)),b=f=>{let w=d+"|"+f+"|";for(let y=0;y<d;y++)w+=y===f?"*":u[y];return w};let C;if(i!=null){if(i>=d||x&&!eo(p[i],t))return null;C=[i]}else x?C=p.map((f,w)=>eo(f,t)?w:-1).filter(f=>f>=0):C=Array.from({length:d},(f,w)=>w);for(const f of ut(C)){const w=n.get(b(f))??[],y=[],A=[];for(const S of w){if(S===e)continue;const D=[...S].map(T=>Ye(T)),$=h[f],j=D[f];if(!$||!j)continue;let H=0;if($.cho!==j.cho&&H++,$.jung!==j.jung&&H++,$.jong!==j.jong&&H++,!(H<c||m(S)===v))if(g){const T=Io(S,a,o)[f];T&&eo(T,l)?y.push(S):A.push(S)}else y.push(S)}if(!y.length)continue;const _=ut(y)[0],B=[],k=new Set([v,m(_)]),E=g?A:y.filter(S=>S!==_);for(const S of ut(E)){const D=m(S);if(!k.has(D)&&(k.add(D),B.push(S),B.length>=2))break}if(!g&&B.length<2)for(const S of ut(w)){if(S===e||S===_)continue;const D=m(S);if(!k.has(D)&&(k.add(D),B.push(S),B.length>=2))break}if(!(B.length<2))return{question:e,distractors:[_,...B]}}return null}const y5=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof kt?.t=="function"?kt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function ln(e,t){if(t===void 0&&(t=y5()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;if(e&&typeof e=="object"){const a=e;for(const o of[a.message,a.error_description,a.error])if(typeof o=="string"&&o)return o}return t}const ri="\uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0\uC774 \uBD88\uC548\uC815\uD569\uB2C8\uB2E4. \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694.",_5=()=>{const e=typeof kt?.t=="function"?kt.t("common.networkError",{defaultValue:ri}):void 0;return typeof e=="string"&&e?e:ri};function tc(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Cm(e){return tc(e)?_5():e}function ym(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function _m(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function wm(e){let t=e==null?"":String(e);return!(typeof e=="number"&&Number.isFinite(e))&&/^[=+\-@\t\r]/.test(t)&&(t="'"+t),/[",\n\r]/.test(t)?`"${t.replaceAll('"','""')}"`:t}const w5=1e3;function km(e,t){const a=new Blob([t.startsWith("\uFEFF")?t:"\uFEFF"+t],{type:"text/csv;charset=utf-8"}),o=URL.createObjectURL(a),n=document.createElement("a");n.href=o,n.download=e,n.click(),setTimeout(()=>URL.revokeObjectURL(o),w5)}const Bm="__ihab_core_word_pool__";function k5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function Am(e,t){const a=new Map;for(const n of e)a.set(n.word,n);const o={entries:e,pairIndex:t??null,byWord:a};globalThis[Bm]=o,k5()}function Fo(){return globalThis[Bm]??null}const mr=globalThis;function ac(e,t){const a=o=>{};try{const o=t();o&&typeof o.catch=="function"&&o.catch(a)}catch(o){a(o)}}function Sm(e){mr.__ihabTrainingTimeLogger=e}function oc(e){ac("time",()=>mr.__ihabTrainingTimeLogger?.(e))}function Em(e){mr.__ihabTrainingCompletionLogger=e}function rc(e){ac("completion",()=>mr.__ihabTrainingCompletionLogger?.(e))}function Dm(e){mr.__ihabCrosswordLogger=e}function Nm(e){ac("crossword",()=>mr.__ihabCrosswordLogger?.(e))}function ni(e){if(typeof e=="string"){const t=e.trim();return t?Number.isNaN(new Date(t).getTime())?null:t:null}if(e instanceof Date)return Number.isNaN(e.getTime())?null:e.toISOString();if(typeof e=="number"&&Number.isFinite(e)){const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}return null}function ca(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function nc(e){for(const t of["correct","isCorrect","heard","judgement"])if(typeof e[t]=="boolean")return e[t];return e.score===1?!0:e.score===0?!1:null}function ic(e){return Array.isArray(e)?e.map((t,a)=>{const o=t??{};return{index:a,itemId:ca(o.contextCode)??ca(o.itemId)??ca(o.itemCode)??ca(o.id),question:ca(o.question)??ca(o.q)??ca(o.sentence)??ca(o.text)??ca(o.prompt)??ca(o.word)??ca(o.targetSyllable),answer:ca(o.answer),selected:ca(o.selectedText)??ca(o.selected),correct:nc(o),shownAt:ni(o.shownAt)??ni(o.shown_at),answeredAt:ni(o.answeredAt)??ni(o.answered_at)}}):[]}function Tm(e){return e.filter(t=>t.correct===!1)}let jm=null,Lm=null,Mm=null;function $m(e){jm=e}function Rm(e){Lm=e}function Pm(e){Mm=e}async function zm(e,t){try{return await jm?.(e,t)??null}catch{return null}}async function Im(){try{return await Lm?.()??null}catch{return null}}async function Om(e,t){try{return await Mm?.(e,t)??null}catch{return null}}const ii=globalThis;function Fm(e){ii.__ihabNoiseSettingsStore=e}async function sc(){try{return await ii.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function si(e){const t=a=>{};try{const a=ii.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function br(e){try{ii.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}function cn(e){const t=new TextEncoder().encode(String(e).normalize("NFC"));let a="";return t.forEach(o=>{a+=o.toString(16).padStart(2,"0")}),a}const Wm=cn;function Gm(e,t){return`${e}/${cn(t)}.mp3`}function Hm(e={}){const t=e.storagePrefix??"audio-cache",a=e.voice??"ko-f",o=typeof e.speed=="number"?e.speed:1,n=e.filenameSanitizer??cn;return async function(i){const l=String(i||"").trim();if(!l)return"";const c=`${n(l)}_${a}.mp3`,u=`${t}/${c}`;try{if(await qs(u)){const d=await Vr(u);if(d)return d}}catch{}if(e.generator)try{const d=await e.generator(l,u,e);if(d)return d}catch{}try{const d=`/api/tts?word=${encodeURIComponent(l)}&voice=${encodeURIComponent(a)}&speed=${encodeURIComponent(String(o))}`;return await fetch(d,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function lc(e){if(typeof document<"u"){const t=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const gr="Asia/Seoul",B5=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function li(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),o=B5.exec(a);t=new Date(o?`${o[1]}T${o[2]}:${o[3]??"00"}${o[4]?`.${o[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else t=new Date(e);return Number.isNaN(t.getTime())?null:t}const un=e=>li(e);function Vm(e){const t=un(e);return t?t.toLocaleDateString("ko-KR",{timeZone:gr,year:"numeric",month:"short",day:"numeric"}):""}function Um(e){const t=un(e);return t?t.toLocaleString("ko-KR",{timeZone:gr,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function ci(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=un(e);return o?o.toLocaleDateString(a,{timeZone:gr,year:"numeric",month:"short",day:"numeric"}):""}function A5(e,t,a){if(!Number.isFinite(e)||!Number.isFinite(t)||t<1||t>12)return`${e}-${t}`;const o=a&&a.startsWith("ko")?"ko-KR":a||"en-US";return new Intl.DateTimeFormat(o,{year:"numeric",month:"long"}).format(new Date(e,t-1,1))}function ui(e,t,a,o){return e("calendar.yearMonth",{year:a,month:o,defaultValue:""})||A5(a,o,t)}function qm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=un(e);return o?o.toLocaleString(a,{timeZone:gr,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Ym(e){const t=un(e);return t?t.toLocaleString("ko-KR",{timeZone:gr,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function Km(e){if(e==null||e==="")return"";const t=li(e);return t?new Intl.DateTimeFormat("en-GB",{timeZone:gr,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):""}function ya(){return Oa(new Date)}function cc(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:ya()}function bo(){return uc(ya())}const S5=540*60*1e3;function di(e,t,a){return new Date(Date.UTC(e,t,a)-S5)}function uc(e){const[t,a,o]=e.split("-").map(Number);return new Date(t,(a||1)-1,o||1)}function Oa(e){if(e==null||e==="")return"";const t=li(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function pi(e,t){if(!e)return"";const a=li(e);if(!a)return"";const o=a.getTime(),n=Math.max(0,Math.floor((Date.now()-o)/1e3)),i=Math.floor(n/60),l=Math.floor(i/60),c=Math.floor(l/24),u=Math.floor(c/7),d=Math.floor(c/30),h=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):c<7?t("store.time.daysAgo",{n:c}):u<5?t("store.time.weeksAgo",{n:u}):c<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:h})}function hi(e,t={}){const{sep:a=".",pad:o=!0,trailingDot:n=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=Oa(e instanceof Date?e:String(e));if(!l)return i;const[c,u,d]=l.split("-"),h=o?u:String(Number(u)),p=o?d:String(Number(d));return`${c}${a}${h}${a}${p}${n?".":""}`}function Xm(e){const t=e.normalize("NFKC").replace(/\D/g,"");if(/^(050\d|0303)/.test(t)){const o=t.slice(0,12);return o.length<=4?o:o.length<=8?`${o.slice(0,4)}-${o.slice(4)}`:`${o.slice(0,4)}-${o.slice(4,o.length-4)}-${o.slice(o.length-4)}`}if(/^1[5-9]\d{2}/.test(t)&&t.length<=8)return t.length<=4?t:`${t.slice(0,4)}-${t.slice(4)}`;const a=t.slice(0,11);return a.startsWith("02")?a.length<=2?a:a.length<=6?`${a.slice(0,2)}-${a.slice(2)}`:`${a.slice(0,2)}-${a.slice(2,a.length-4)}-${a.slice(a.length-4)}`:a.length<=3?a:a.length<=7?`${a.slice(0,3)}-${a.slice(3)}`:`${a.slice(0,3)}-${a.slice(3,a.length-4)}-${a.slice(a.length-4)}`}const Zm=String.raw`(?:0\d{1,2}|050\d|0303)-\d{3,4}-\d{4}`,E5=String.raw`1[5-9]\d{2}-\d{4}`,dc=new RegExp(`^(?:${Zm}|${E5})$`),pc=new RegExp(`^${Zm}$`);function Jm(e){return dc.test(e)}function Qm(e){return pc.test(e)}function eb(e){if(e){if(/^\d{4}\.\d{2}\.\d{2}$/.test(e))return e;if(/^\d{8}$/.test(e))return`${e.slice(0,4)}.${e.slice(4,6)}.${e.slice(6,8)}`;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e.replace(/-/g,".");if(/^\d{4}-\d{2}-\d{2}[T ]/.test(e)){const t=Oa(e);return t?t.replace(/-/g,"."):void 0}}}function tb(e){if(e)return/^\d{4}\.\d{2}\.\d{2}$/.test(e)?e.replace(/\./g,"-"):e}function fr(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function mi(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const o=Number(a[1]),n=Number(a[2]),i=a[1].padStart(2,"0");return n===0?t("date.timeH",{h:o,hh:i,mm:a[2]}):t("date.timeHM",{h:o,hh:i,m:n,mm:a[2]})}function dn(e){return(e??0).toLocaleString("ko-KR")}const D5=[{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"}]}],N5=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",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"}];let hc=null;function ab(e){hc=e}function bi(){return hc?.topicTypes??D5}function mc(){return hc?.trainingTypes??N5}const ob="ihab_theme",rb="light";function bc(){try{const e=localStorage.getItem(ob);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return rb}function gc(e){const t=e==="light"||e==="dark"||e==="auto"?e:rb;try{document.documentElement.setAttribute("data-theme",t),localStorage.setItem(ob,t)}catch{}}function nb(){gc(bc())}const ib="ihab_font_scale",T5="medium",j5=["medium","large1","large2","large3"];function fc(){try{const e=localStorage.getItem(ib);if(j5.includes(e))return e}catch{}return T5}function vc(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(ib,e)}catch{}}function sb(){vc(fc())}const go=[],fo=[],vo=[],xo=[],pn={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},hn={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},L5={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let xc=null,lb=null,Co=null;function Cc({counts:e,forceRefresh:t}={}){const a=Object.assign({},L5,e||{}),o=ya(),n=Oa(new Date(`${o}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&lb===o&&xc===i&&Co)return Object.assign(pn,Co.today),Object.assign(hn,Co.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:pn,yesterday:hn};const l={LISTEN_IN_NOISE:Sa(go,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Sa(fo,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Sa(vo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Sa(xo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return Co&&xc===i&&Co.yesterday&&Co.yesterday.date===n&&(c=Co.yesterday.selection),c||(c={LISTEN_IN_NOISE:Sa(go,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Sa(fo,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Sa(vo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Sa(xo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(pn,l),Object.assign(hn,c),lb=o,xc=i,Co={today:l,yesterday:{date:n,countsKey:i,selection:c}},{today:pn,yesterday:hn}}function cb(){return{today:pn,yesterday:hn}}function yc(){return{LISTEN_IN_NOISE:go,SHORT_STORY:fo,LONG_STORY:vo,ORDERING_SENTENCE:xo}}let gi=!1,mn=null;async function M5(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:Ca&&Ca.tagName.toUpperCase()==="SCRIPT"&&Ca.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}&&void 0||"/",t=await fetch(`${e}data/allTrainingData.json`);return t.ok?await t.json():null}catch{return null}}async function _c(){if(!gi)return mn||(mn=(async()=>{const e=await M5();if(!e){mn=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}const t={noise:[],short:[],long:[],order:[]};try{for(const a of Object.keys(e||{})){const o=e[a]||[];for(const n of o){if(!n||typeof n!="object")continue;const i=n,l=String(i.training_type||a),c=String(i.category_main_code||i.category_main||i.category_0||""),u=String(i.category_sub_code||i.category_sub||i.category_1||""),d=Object.assign({},i,{training_type:l,category_0:c,category_1:u});l==="LISTEN_IN_NOISE"?t.noise.push(d):l==="SHORT_STORY"?t.short.push(d):l==="LONG_STORY"?t.long.push(d):l==="ORDERING_SENTENCE"&&t.order.push(d)}}}catch{mn=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}go.push(...t.noise),fo.push(...t.short),vo.push(...t.long),xo.push(...t.order),gi=!0;try{Cc()}catch{}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}})(),mn)}function ub(){return gi}async function wc(e=3e3){const t=_c();let a;try{await Promise.race([t,new Promise(o=>{a=setTimeout(o,e)})])}finally{a!==void 0&&clearTimeout(a)}return gi}const kc=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",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."}],db=[{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"}]}],fi={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function pb(e){return kc.map(t=>{const a=fi[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}const hb=new Set(["field"]),Bc="none";function $5(e){return e==null||String(e).trim()===""}function R5(e){return typeof e=="string"&&Sc.includes(e)}function Ac(e,t){if(!e)return!0;const a=e instanceof Set?e:new Set(e);return a.size===0?!0:$5(t)?a.has(Bc):a.has(String(t))}const bn=["grade","syllables","pos","wordType","field"],Sc=["1","2","3","4","none"],P5=["1","2","3","4","5+"],z5=["noun","verb","modifier"],I5=["native","sino","foreign","mixed"],O5={grade:Sc,syllables:P5,pos:z5,wordType:I5,field:[]},F5={noun:["\uBA85","\uC218"],verb:["\uB3D9","\uD615"],modifier:["\uBD80","\uAD00"]},W5={native:"\uACE0\uC720",sino:"\uD55C\uC790",foreign:"\uC678\uB798",mixed:"\uD63C\uC885"},G5={grade:["\uB09C\uC774\uB3C4 \uB4F1\uAE09"]},H5={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)"]}},Ec=new Map;try{kt.store?.on?.("added",()=>Ec.clear())}catch{}function gn(e){const t=Ec.get(e);if(t)return t;const a=kt.getFixedT(e),o={section:{grade:a("wordSearch.filter.difficulty","\uB4F1\uAE09"),syllables:a("wordSearch.filter.syllables","\uC74C\uC808 \uC218"),pos:a("wordSearch.filter.partOfSpeech","\uD488\uC0AC"),wordType:a("wordSearch.filter.wordType","\uC720\uD615"),field:a("wordSearch.filter.field","\uC758\uBBF8\uBC94\uC8FC")},value:{grade:{...Object.fromEntries(Sc.filter(n=>n!==Bc).map(n=>[n,a("wordSearch.filter.grade",{n:Number(n),defaultValue:`${n}\uB4F1\uAE09`})])),[Bc]:a("wordSearch.filter.gradeNone","\uC5C6\uC74C")},syllables:{...Object.fromEntries(["1","2","3","4"].map(n=>[n,a("wordSearch.filter.syllable",{n:Number(n),defaultValue:`${n}\uC74C\uC808`})])),"5+":a("wordSearch.filter.syllable5plus","5\uC74C\uC808 \uC774\uC0C1")},pos:{noun:a("wordSearch.filter.pos.noun","\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)"),verb:a("wordSearch.filter.pos.verb","\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)"),modifier:a("wordSearch.filter.pos.modifier","\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)")},wordType:{native:a("wordSearch.filter.type.native","\uACE0\uC720\uC5B4"),sino:a("wordSearch.filter.type.sino","\uD55C\uC790\uC5B4"),foreign:a("wordSearch.filter.type.foreign","\uC678\uB798\uC5B4"),mixed:a("wordSearch.filter.type.mixed","\uD63C\uC885\uC5B4")},field:{}}};return Ec.set(e,o),o}const Dc=()=>Array.from(new Set([kt.language,"ko","en"].filter(e=>!!e)));function fn(e){if(bn.includes(e))return e;for(const t of Dc()){const a=gn(t);for(const o of bn)if(a.section[o]===e)return o}for(const t of bn)if(G5[t]?.includes(e))return t;return null}function Wo(e,t){if(hb.has(e)||O5[e].includes(t))return t;for(const a of Dc()){const o=gn(a).value[e];for(const[n,i]of Object.entries(o))if(i===t)return n}for(const[a,o]of Object.entries(H5[e]??{}))if(o.includes(t))return a;if(e==="grade"||e==="syllables"){const a=parseInt(t.replace(/\D/g,""),10);if(Number.isFinite(a)&&a>=1)return e==="grade"?a<=4?String(a):null:a>=5?"5+":String(a)}return null}function V5(e,t,a=kt.language){return gn(a).value[e][t]??t}const U5=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"&&e?[e]:[];function vi(e){const t={};for(const[a,o]of Object.entries(e??{})){const n=fn(a);if(n)for(const i of U5(o)){const l=Wo(n,i);if(!l)continue;const c=t[n]??(t[n]=[]);c.includes(l)||c.push(l)}}return t}function xi(e,t=kt.language){const a=gn(t||"ko"),o={};for(const n of bn){const i=(e?.[n]??[]).map(l=>a.value[n][l]??(hb.has(n)?l:void 0)).filter(l=>!!l);i.length&&(o[a.section[n]]=i)}return o}function mb(e,t=kt.language){const a={};for(const[o,n]of Object.entries(e??{}))fn(o)||(a[o]=n);return{...a,...xi(vi(e),t)}}function q5(e){for(const t of Dc()){const a=gn(t);if(bn.some(o=>a.section[o]===e))return t}return kt.language||"ko"}let Ci=null,bb=null,gb=null;function Y5(){const e=Fo();if(e&&e.entries.length>0){const t=Po();if(Ci&&bb===e&&gb===t)return Ci;const a=new Set,o=[];for(const n of e.entries)!n.word||a.has(n.word)||(a.add(n.word),o.push({w:n.word,s:n.syllables,p:t?.[n.word]?[...t[n.word].cho??[],...t[n.word].jung??[],...t[n.word].jong??[]]:[],pron:n.pronunciation||n.word,grade:n.grade}));return Ci=o,bb=e,gb=t,Ci}return[]}const to=new Proxy([],{get(e,t){const a=Y5(),o=a[t];return typeof o=="function"?o.bind(a):o}});function Nc(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function Ea(e,t){if(t>=e.length)return ut(e);if(t===0)return[];const a=e.slice();for(let o=0;o<t;o++){const n=o+Math.floor(Math.random()*(a.length-o)),i=a[o];a[o]=a[n],a[n]=i}return a.slice(0,t)}let Tc=null,fb=null;function yo(){const e=Fo();if(Tc&&fb===e)return Tc;const t=new Map;for(const a of to)a.w&&t.set(a.w,a.pron);return Tc=t,fb=e,t}function Ut(e){return yo().get(e)||e}function yi(e,t,a=new Set){const o=[];for(const n of ut(e)){if(o.length>=t)break;const i=Ut(n);a.has(i)||(a.add(i),o.push(n))}return o}let K5=0;function Jt(e){return`${e}-rt-${++K5}`}function vr(e){const t=qn();if(!t||t.total===0){const n=new Set;for(const i of e)n.add(i);return n}const a=Ih(),o=new Set;for(const n of e)a.has(n)&&o.add(n);return o}const _i=new Map;let vb=null,xb=null;function vn(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function jc(e){const t=vn(e.choseong),a=e.composition,o=a?.syllable==null?"":Array.isArray(a.syllable)?a.syllable.slice().sort().join(","):String(a.syllable),n=a?`${vn(a.cho)}/${vn(a.jung)}/${vn(a.jong)}/${a.jongNone?"N":""}/${o}`:"",i=vn(e.grade);return`${e.difficulty??""}|${t}|${n}|${e.excludeNoImage?"1":"0"}|${e.count??""}|x${e.contrastCount??1}|${e.fullCount?"F":""}|s${e.sameStructureOnly===!1?"0":"1"}|v${e.phonemeView==="pron"?"p":"c"}|g${i}|t${e.targetSyllable??""}|c${e.choicesPerItem??""}`}const Lc=new Map;function X5(e){return jc({...e,count:void 0,choicesPerItem:void 0,fullCount:!1})}async function ba(e){const t=Fo(),a=Po();(t!==vb||a!==xb)&&(_i.clear(),Lc.clear(),vb=t,xb=a);const o=jc(e);return _i.has(o)||_i.set(o,Z5(e)),_i.get(o)}function Cb(e){if(!e)return null;const t=l=>l==null?null:Array.isArray(l)?l.length?l:null:[l],a=t(e.cho),o=t(e.jung),n=!!e.jongNone,i=n?null:t(e.jong);return a||o||i||n?n&&!a&&!o&&!i?l=>pl(l):l=>ml(l,{cho:a,jung:o,jong:i,jongNone:n}):null}function yb(e){const t=e.grade&&e.grade.length>0?new Set(e.grade):null,a=e.composition??null,o=a?.syllable!=null?new Set(Array.isArray(a.syllable)?a.syllable:[a.syllable]):null,n=a?[Cb(a),o?l=>o.has(Ro(l)):null].filter(l=>l!=null):[];if(!t&&n.length===0)return null;const i=e.phonemeView==="pron";return l=>{if(!Ac(t,l.grade))return!1;if(n.length===0)return!0;const c=i?Ut(l.w):l.w;return n.every(u=>u(c))}}async function Z5(e){const{difficulty:t=null,choseong:a=null,composition:o=null,targetSyllable:n=null,excludeNoImage:i=!1}=e,l=e.grade&&e.grade.length>0?new Set(e.grade):null,c=e.sameStructureOnly??!0,u=e.phonemeView==="pron"?"pron":"char",d=Math.max(1,e.contrastCount??1),h=t==="cho"||t==="jung"||t==="jong",p=h&&d>=2,m=t==="count",v=a?new Set(Array.isArray(a)?a:[a]):null,x=o?.syllable!=null?new Set(Array.isArray(o.syllable)?o.syllable:[o.syllable]):null,g=o?[Cb(o),x?M=>x.has(Ro(M)):null].filter(M=>M!=null):[],b=t==="random"||t===null,C=b||m,f=b||p||m;let w=to.filter(M=>!M.w||!Ac(l,M.grade)?!1:f?!0:Array.isArray(M.p)&&M.p.length>0);v&&(w=w.filter(M=>{for(const G of v)if(W8(M.w,G))return!0;return!1})),g.length>0&&(w=w.filter(M=>{const G=u==="pron"?Ut(M.w):M.w;return g.every(z=>z(G))})),n&&(w=w.filter(M=>M.w[0]===n));let y;if(i){const M=new Set;for(const G of w)if(M.add(G.w),Array.isArray(G.p))for(const z of G.p)M.add(z);if(C)for(const G of to)G.w&&M.add(G.w);y=vr(M)}else{const M=new Set;for(const G of w)if(M.add(G.w),Array.isArray(G.p))for(const z of G.p)M.add(z);if(C)for(const G of to)G.w&&M.add(G.w);y=M}let A=null;if(p){const M=new Set;for(const G of to)G.w&&M.add(G.w);A=i?vr(M):M}const _=w.filter(M=>y.has(M.w)),B=600,k=Array.from(y),E=k.length>B?Ea(k,B):k,S=m&&o!=null&&(Ot(o.cho)||Ot(o.jung)||Ot(o.jong)),D=2500,$=new Map;if(m&&!S&&d>=2){for(const M of k){const G=Ro(M),z=$.get(G);z?z.push(M):$.set(G,[M])}for(const[M,G]of $)G.length>D&&$.set(M,Ea(G,D))}const j=il();let H=null;if(S){const M=X5(e),G=i?Ih():null,z=Lc.get(M);H=z&&z.imageOkSet===G?z.map:wl(o,k,j,c,u,Ut),Lc.set(M,{imageOkSet:G,map:H})}const T=500,L=1500,I=e.fullCount?_:t==="random"?_.length>T?Ea(_,T):_:_.length>L?Ea(_,L):_,K=Po(),Y=[];for(const M of I){let G;const z=Ut(M.w);if(p)G=U8(M.w,t,d,A,24).filter(V=>Ut(V)!==z);else if(m)S?G=(H.get(M.w)??[]).filter(V=>Ut(V)!==z):d<=1?G=Kn(M.w,K,{okSet:y,pronOf:Ut,decompOf:j,sameStructureOnly:!1}):G=($.get(Ro(M.w))??[]).filter(V=>{if(V===M.w||Ut(V)===z)return!1;const W=q8(z,Ut(V));return d>=5?W>=5:W===d});else if(b){const V=W=>W!==M.w&&W.length===M.w.length&&Ut(W)!==z;if(e.fullCount){const W=Math.max(1,(e.choicesPerItem??3)-1),O=[],N=new Set;for(const P of E){if(!V(P))continue;const F=Ut(P);if(!N.has(F)&&(N.add(F),O.push(P),O.length>=W))break}G=O}else G=E.filter(V)}else{const V=t;G=Kn(M.w,K,{kind:V,okSet:y,pronOf:Ut,decompOf:j,sameStructureOnly:!1}),G.length===0&&(G=(E.length>30?Ea(E,30):E).filter(W=>W!==M.w&&sl(M.w,W)===t&&Ut(W)!==z))}if(c&&G.length>0&&(h||m&&!S)){const V=j(Ut(M.w));G=G.filter(W=>!Qr(V,j(Ut(W))))}G.length!==0&&Y.push({word:M,usable:G})}return Y}async function _b(e,t){const{choicesPerItem:a=3,count:o=10}=t,n=a-1,i=(await ba(t)).filter(c=>c.usable.length>=n),l=[];for(const c of ut(i)){if(l.length>=o)break;const u=yi(c.usable,n);if(u.length<n)continue;const d=ut([c.word.w,...u]);l.push({id:Jt(e+"-item"),index:l.length+1,word:c.word.w,syllables:c.word.s,choices:d,answerIndex:d.indexOf(c.word.w)})}return l}async function J5(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await ba({...e,difficulty:null});if(n.length<t)return[];const i=e.composition??null,l=[],c=ut([...n]);for(const u of c){if(l.length>=a)break;const d=u.word.w,h=[...u.word.pron||d],p=i&&hr(i)?h.filter(b=>{const C=Ye(b);return!!C&&eo(C,i)}):[],m=Nc(p.length?p:h);if(!m)continue;const v=n.filter(b=>b.word.w!==d&&b.word.s===u.word.s&&!(b.word.pron||b.word.w).includes(m)&&b.word.pron!==u.word.pron);if(v.length<o)continue;const x=yi(v.map(b=>b.word.w),o);if(x.length<o)continue;const g=ut([d,...x]);l.push({id:Jt("HPI-item"),index:l.length+1,targetSyllable:m,word:d,choices:g,answerIndex:g.indexOf(d)})}return l}async function Q5(e){const{count:t=10}=e,a=(await ba(e)).filter(i=>i.usable.length>=1);if(!a.length)return[];const o=a.length>=t?Ea(a,t):ut(Array.from({length:t},(i,l)=>a[l%a.length])),n=ut(Array.from({length:t},(i,l)=>l<Math.ceil(t/2)));return o.map((i,l)=>{const c=n[l];let u;if(c)u=[i.word.w,i.word.w];else{const d=Nc(i.usable);u=Math.random()<.5?[i.word.w,d]:[d,i.word.w]}return{id:Jt("SOD-item"),index:l+1,word:i.word.w,pair:u,same:c}})}async function e3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await ba({...e,difficulty:null});if(n.length<t+1)return[];const i=n.map(m=>m.word.w),l=new Map(n.map(m=>[m.word.w,m.word.pron])),c=m=>(l.get(m)||m)[0]??"",u={};for(const m of n){const v=c(m.word.w);v&&(u[v]||(u[v]=[]),u[v].push(m.word.w))}const d=Object.entries(u).filter(([,m])=>m.length>=2).map(([m])=>m);if(d.length===0)return[];const h=[],p=ut([...d]);for(let m=0;h.length<a&&m<a*4;m++){const v=p[m%p.length],x=u[v];if(x.length<2)continue;const g=ut([...x]),b=g[0],C=g[1];if(!b||!C||b===C||(l.get(b)||b)===(l.get(C)||C))continue;const f=l.get(C)||C,w=i.filter(_=>c(_)!==v&&_!==b&&_!==C&&_.length===C.length&&(l.get(_)||_)!==f);if(w.length<o)continue;const y=yi(w,o);if(y.length<o)continue;const A=ut([C,...y]);h.push({id:Jt("SWS-item"),index:h.length+1,sourceWord:b,targetSyllable:v,word:C,choices:A,answerIndex:A.indexOf(C)})}return h}function wb(e,t,a){const o=yo(),n=u=>o.get(u)||u,i=(u,d)=>{const h=[...u],p=[...d];if(h.length!==p.length)return-1;let m=-1;for(let v=0;v<h.length;v++)if(h[v]!==p[v]){if(m>=0)return-1;m=v}return m},l=e.map(u=>({e:u,swaps:u.usable.filter(d=>!!d&&i(u.word.w,d)>=0&&n(d)!==n(u.word.w))})).filter(u=>u.swaps.length>0),c=[];for(const{e:u,swaps:d}of ut(l)){if(c.length>=t)break;const h=Nc(d)??"",p=[...u.word.w],m=[...h],v=i(u.word.w,h),x=yi(u.usable.filter(g=>g&&g!==h),2,new Set([n(h),n(u.word.w)]));x.length<2||c.push({id:Jt(a),index:c.length+1,word:u.word.w,original:u.word.w,changed:h,changedFrom:v>=0?p[v]:"",changedTo:v>=0?m[v]:"",distractors:x})}return c}async function kb(e,t,a){const{count:o=10}=t,n=yo(),i=to.filter(x=>x.w&&x.s===e),l=t.excludeNoImage?vr(i.map(x=>x.w)):null,c=l?i.filter(x=>l.has(x.w)):i,u=new Set(c.map(x=>x.w)),d=Ql(u),h=t.phonemeView??"char",p=t.composition??null,m=yb(t),v=[];for(const x of ut(c)){if(v.length>=o)break;if(m&&!m(x))continue;const g=ec(x.w,p,n,h,d,null,null);if(!g)continue;const b=g.distractors[0],C=[...x.w],f=[...b],w=C.findIndex((y,A)=>y!==f[A]);v.push({id:Jt(a),index:v.length+1,word:x.w,original:x.w,changed:b,changedFrom:w>=0?C[w]:"",changedTo:w>=0?f[w]:"",distractors:g.distractors.slice(1)})}return v}async function t3(e){return kb(2,e,"CS2-item")}async function a3(e){return kb(3,e,"CS3-item")}async function o3(e){const t=(await ba({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return wb(t,e.count??10,"CP1-item")}async function r3(e){const t=e.difficulty&&e.difficulty!=="random"?e.difficulty:"count",a=(await ba({...e,difficulty:t,contrastCount:1})).filter(o=>o.word.s===2&&o.usable.length>=1);return wb(a,e.count??10,"CP2-item")}async function n3(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===2);return Ea(a,t).map((o,n)=>({id:Jt("M2S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}async function i3(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===3);return Ea(a,t).map((o,n)=>({id:Jt("M3S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}function Mc(e){const t=to.map(a=>a.w);return e.excludeNoImage?vr(t):new Set(t)}async function s3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===2),o=yo(),n=Mc(e),i=e.phonemeView??"char",l=[];for(const c of ut(a)){if(l.length>=t)break;const u=ql(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=[...c.word.w],m=p[0]===d?p[1]:p[0];l.push({id:Jt("D2-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:d,distractors:h})}return l}async function l3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===3),o=yo(),n=Mc(e),i=e.phonemeView??"char",l=[];for(const c of ut(a)){if(l.length>=t)break;const u=Yl(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=[...c.word.w];let m="";for(let v=0;v<p.length;v++)if(p.filter((x,g)=>g!==v).join("")===d){m=p[v];break}l.push({id:Jt("D3-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:d,distractors:h})}return l}async function c3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s>=3),o=yo(),n=Mc(e),i=e.phonemeView??"char",l=[];for(const c of ut(a)){if(l.length>=t)break;const u=Kl(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=c.word.w,m=u.dropped??(p.startsWith(d)?p.slice(d.length):p.endsWith(d)?p.slice(0,p.length-d.length):"");l.push({id:Jt("DPC-item"),index:l.length+1,original:p,word:p,dropped:m,missingResult:d,distractors:h})}return l}async function u3(e){const{count:t=10}=e,a=(await ba({...e})).map(o=>o.word.w);return a.length<3?[]:Array.from({length:t},(o,n)=>{const i=Ea(a,3);return{id:Jt("LRO-item"),index:n+1,sequence:i,choices:ut(i)}})}function wi(e,t,a){const o=to.filter(c=>c.w&&c.s===e),n=t.excludeNoImage?vr(o.map(c=>c.w)):null,i=yb(t),l=[];for(const c of o)if(!(n&&!n.has(c.w))&&!(i&&!i(c))){if(a){const u=Ye(c.w);if(!u||!a(u))continue}l.push(c)}return l}function d3(e){const t=wi(1,e,pr.MERGE_2_PHONEMES.syllable);return Ea(t,e.count??10).map((a,o)=>{const n=Ye(a.w);return{id:Jt("M2P-item"),index:o+1,parts:[ft[n.cho],At[n.jung]],answer:a.w,word:a.w}})}function p3(e){const t=wi(1,e,pr.MERGE_3_PHONEMES.syllable);return Ea(t,e.count??10).map((a,o)=>{const n=Ye(a.w);return{id:Jt("M3P-item"),index:o+1,parts:[ft[n.cho],At[n.jung],It[n.jong]],answer:a.w,word:a.w}})}function h3(e){const t=pr.DROP_FINAL_CONSONANT_FROM_1SYLL,a=wi(t.syllables,e,t.syllable),o=yo(),n=[];for(const i of ut(a)){if(n.length>=(e.count??10))break;const l=Xl(i.w,null,o);if(!l)continue;const[c,...u]=l.distractors;n.push({id:Jt("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:u})}return n}function m3(e){const t=pr.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=wi(t.syllables,e,t.syllable),o=yo(),n=[];for(const i of ut(a)){if(n.length>=(e.count??10))break;const l=Jl(i.w,null,o);if(!l)continue;const c=Ye(o.get(i.w)||i.w);if(!c)continue;const[u,...d]=l.distractors;n.push({id:Jt("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:ft[c.cho],remaining:u,distractors:d})}return n}const ki=new Map;let Bb=null,Ab=null;async function Sb(e,t={}){const a=Fo(),o=Po();(a!==Bb||o!==Ab)&&(ki.clear(),Bb=a,Ab=o);const n=`${e}:${jc(t)}`;if(ki.has(n))return ki.get(n);const i=await g3(e,t);return ki.set(n,i),i}const b3={SAME_SOUND_PICK:e=>_b("SSP",e),HEAR_AND_PICK_SAME:e=>_b("HPS",e),HEAR_AND_PICK_INCLUDED:e=>J5(e),SAME_OR_DIFF:e=>Q5(e),STARTS_WITH_SAME_SOUND:e=>e3(e),LISTEN_AND_REMEMBER_ORDER:e=>u3(e),MERGE_2_SYLLABLES:e=>n3(e),MERGE_3_SYLLABLES:e=>i3(e),MERGE_2_PHONEMES:e=>d3(e),MERGE_3_PHONEMES:e=>p3(e),DROP_1_FROM_2SYLL:e=>s3(e),DROP_1_FROM_3SYLL:e=>l3(e),DROP_PART_FROM_COMPOUND:e=>c3(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>h3(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>m3(e),CHANGE_1_SYLL_IN_2SYLL:e=>t3(e),CHANGE_1_SYLL_IN_3SYLL:e=>a3(e),CHANGE_1_PHONEME_IN_1SYLL:e=>o3(e),CHANGE_1_PHONEME_IN_2SYLL:e=>r3(e)};async function g3(e,t={}){const a=b3[e];return a?await a(t):[]}async function f3(e){const t=["random","count"],a=Object.keys(dr);let o=0;for(const n of t)for(const i of a){const l=dr[i];Sb(i,{difficulty:l.difficulty?n:null,contrastCount:1,composition:null,count:5,excludeNoImage:e,sameStructureOnly:!0,phonemeView:"char",grade:null}).catch(()=>{}),++o%6===0&&await new Promise(c=>setTimeout(c,0))}}async function v3(e){const t=await ba({...e,fullCount:!0}),a=e.choicesPerItem!=null?Math.max(1,e.choicesPerItem-1):1;return t.filter(o=>new Set(o.usable.map(n=>Ut(n))).size>=a).length}async function x3(e={}){const t=[];for(const c of to)c.w&&t.push(c.w);const a=e.excludeNoImage?vr(t):t,o=new Set,n=new Set,i=new Set,l=new Set;for(const c of a){l.add(Ro(c));for(const u of c){const d=Ye(u);if(d&&(ft[d.cho]!=="\u3147"&&o.add(ft[d.cho]),n.add(At[d.jung]),d.jong>0)){i.add(It[d.jong]);const h=Yn[d.jong];h&&h.forEach(p=>i.add(p))}}}return{cho:o,jung:n,jong:i,syllable:l}}const Eb={free:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:0,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},personal_standard:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:2,sentenceDataLevel:2,crossword:!0,crosswordMid:!0,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},mgr_free:{maxCustomers:5,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:1,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},none:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!1,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!1,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:0,sentenceDataLevel:0,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},lite_word:{maxCustomers:10,visitWord:!0,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:0,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!1},lite_sentence:{maxCustomers:10,visitWord:!1,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!1,wordTableSetting:!1,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!1,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:0,sentenceDataLevel:1,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!0},lite:{maxCustomers:10,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:1,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},standard:{maxCustomers:30,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:2,sentenceDataLevel:2,crossword:!0,crosswordMid:!0,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},pro:{maxCustomers:50,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!0,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:3,sentenceDataLevel:3,crossword:!0,crosswordMid:!0,crosswordHigh:!0,wordTrainingView:!0,sentenceTrainingView:!0},enterprise:{maxCustomers:1/0,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!0,managerCustomerSplit:!0,managerManagement:!0,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!0,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!0,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!0,wordDataLevel:3,sentenceDataLevel:3,crossword:!0,crosswordMid:!0,crosswordHigh:!0,wordTrainingView:!0,sentenceTrainingView:!0}},Db={none:0,free:1,personal_standard:2,mgr_free:10,lite_word:11,lite_sentence:11,lite:12,standard:13,pro:14,enterprise:15},C3=new Set(["mgr_free","lite_word","lite_sentence","lite","standard","pro","enterprise"]);function Nb(e){return C3.has(e)}const Tb={free:{sentenceTrainingDaily:2,wordTrainingDaily:2,gameDaily:1},personal_standard:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null},mgr_free:{sentenceTrainingDaily:2,wordTrainingDaily:2,gameDaily:1,trainingItemMax:5,customerMax:5,homeworkSendDaily:1},lite:{sentenceTrainingDaily:5,wordTrainingDaily:5,gameDaily:5,trainingItemMax:10,customerMax:10,homeworkSendDaily:10},standard:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:30,customerMax:30,homeworkSendDaily:30},pro:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:null,customerMax:50,homeworkSendDaily:50},enterprise:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:null,customerMax:null,homeworkSendDaily:null}};function jb(e){const t=(e??"").toLowerCase();return t==="speechear_free"||t==="free"?"free":t.startsWith("manager_free")||t.startsWith("mgr_free")?"mgr_free":t.startsWith("manager_enterprise")?"enterprise":t.startsWith("manager_pro")?"pro":t.startsWith("manager_standard")?"standard":t.startsWith("manager_lite_word")?"lite_word":t.startsWith("manager_lite_sentence")?"lite_sentence":t.startsWith("manager_lite")||t.startsWith("mgr_lite")?"lite":t.startsWith("mgr_standard")?"standard":t.startsWith("mgr_pro")?"pro":t.startsWith("content_")||t.startsWith("speechear_")||t.startsWith("light_")||t==="light"?"personal_standard":"none"}const Lb=5,Mb=5;function $b({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const Rb={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"},Pb="chunk-reload-ts";function zb(){try{return Number(sessionStorage.getItem(Pb)||0)}catch{return 0}}function Bi(e=Date.now()){if(e-zb()<=1e4)return!1;try{sessionStorage.setItem(Pb,String(e))}catch{}return window.location.reload(),!0}function $c(e=Date.now()){const t=zb();return t>0&&e-t<=1e4}function Ib(){if(typeof window>"u")return()=>{};const e=a=>{Bi()&&a.preventDefault()},t=a=>{const o=a.target;o instanceof HTMLLinkElement&&o.rel==="stylesheet"&&Bi()};return window.addEventListener("vite:preloadError",e),window.addEventListener("error",t,!0),()=>{window.removeEventListener("vite:preloadError",e),window.removeEventListener("error",t,!0)}}function Ob(e,t){return e?!!t&&t.access_token===e.access_token:!0}function Fb(e,t){return s.lazy(async()=>{const a=await t();if(a&&typeof a=="object"&&"default"in a)return a;if($c())return new Promise(()=>{});throw new Error(`[lazyPage] ${e}: \uD654\uBA74 \uBAA8\uB4C8\uC744 \uBC1B\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4(default \uB0B4\uBCF4\uB0B4\uAE30 \uC5C6\uC74C). \uBC30\uD3EC \uC9C1\uD6C4\uB77C\uBA74 \uC0C8\uB85C\uACE0\uCE68\uC73C\uB85C \uD480\uB9BD\uB2C8\uB2E4.`)})}function Wb(...e){let t=!1;const a=()=>{if(!t)for(const i of e)i().catch(()=>{})},o=globalThis.requestIdleCallback;if(o){const i=o(a,{timeout:2e3});return()=>{t=!0;const l=globalThis.cancelIdleCallback;l?.(i)}}const n=setTimeout(a,300);return()=>{t=!0,clearTimeout(n)}}const Gb=e=>({word:e.Word,pronunciation:e.SP,colloquialPronunciation:e.CP??void 0,grade:String(e.Grade),pos:e.POS,wordType:e.Class,homonum:e.Homonum!=null?Number(e.Homonum):void 0});var y3=Object.freeze({__proto__:null,CAPABILITY:dr,CHOSEONG:ft,CORE_VERSION:Fn,JONGSEONG:It,JUNGSEONG:At,LONG_STORIES:vo,NETWORK_ERROR_MESSAGE:ri,NOISE_DATAS:go,ORDER_SETS:xo,PERSONAL_PHONE_REGEX:pc,PHONE_REGEX:dc,PLAN_FEATURES:Eb,PLAN_LIMITS:Tb,SHORT_STORIES:fo,TIER_RANK:Db,TOPIC_TYPES:db,TRAINING_TYPES:kc,TRAINING_TYPE_I18N_KEY:fi,WORD_SUGGESTION_ACCOUNT_LIMIT:Mb,WORD_SUGGESTION_EXISTING_ERROR:Rb,WORD_SUGGESTION_WEEKLY_QUOTA:Lb,applyFontScale:vc,applyTheme:gc,balancedColumns:Bl,buildChangeWholeSyllableProblem:ec,buildDropCompoundProblem:Kl,buildDropContrast3Problem:Yl,buildDropContrastProblem:ql,buildDropFinalConsonantProblem:Xl,buildMultiPartPosContrast:wl,buildPairIndex:tm,buildRemoveConsonantProblem:Jl,buildSyllableMaskIndex:Ql,bulkSetImageExistence:Oh,cardQuestionTitle:vm,checkImageExists:Zr,classifyPairDifficulty:sl,clearAudioExistsCache:Ah,clearImageExistenceCache:rl,clearPairIndexCache:Cl,columnsFitting:kl,composeSyllable:Ba,computeDailySelection:Cc,configureImageResolver:Lh,configureNoiseSettingsStore:Fm,configurePronunciationResolver:Eh,configureStorage:Us,configureTTS:Bh,configureTrainingCategories:ab,copyText:lc,createDecompCache:il,createTTSUrlResolver:Hm,dateToDb:tb,downloadCsvText:km,downloadSound:Hn,ensureTrainingDataLoaded:wc,escapeCsvField:wm,fileExists:qs,filterContrastCandidates:_l,finalToPhoneme:$o,firstChoseongOf:ll,formatCount:dn,formatDateKo:Vm,formatDateLocale:ci,formatDateLongKo:Um,formatDateLongLocale:qm,formatDatetimeKo:Ym,formatPhone:Xm,formatRelativeTime:pi,formatTimeHM:mi,formatYmd:hi,getAssetBaseUrl:Hs,getDailySelection:cb,getElementAnalyser:tl,getElementVolume:ir,getErrorMessage:ln,getImageExistenceStats:qn,getImageExistsCached:Ph,getImageResolver:ho,getNoiseBaseUrl:Ys,getNoiseFileGain:Ks,getPairIndex:Po,getPlanTier:jb,getPronunciationResolver:Zs,getSavedFontScale:fc,getSavedTheme:bc,getSignedOrPublicUrl:Vr,getTTSFallbackUrlResolver:Ur,getTTSUrlResolver:Lo,getTodayKst:ya,getTodayKstDate:bo,getTopicTypes:bi,getTrainingPools:yc,getTrainingTypes:mc,getWordPool:Fo,hasQuestionWordConstraint:hm,hasSel:Ot,hasStructureContrast:Qr,initFontScale:sb,initTheme:nb,installSkewRecovery:Ib,isAllChoseong:ul,isManagerTier:Nb,isManualOnlyType:bm,isNetworkErrorMessage:tc,isPersonalPhone:Qm,isSessionForThisTab:Ob,isSyllablePattern:bl,isThisWeekPick:$b,isTrainingDataLoaded:ub,isValidPhone:Jm,isValidQuestionWord:mm,itemCorrectness:nc,jamoToNamesForSpeech:xm,kstStartOfDay:di,lazyPage:Fb,loadGameLeaderboard:Om,loadMyGameRanks:Im,loadNoiseSettings:sc,loadTrainingData:_c,logCrossword:Nm,logTrainingCompletion:rc,logTrainingTime:oc,matchSyllables:Io,matchesChoseongSearch:Wh,matchesSyllablePattern:gl,matchesWordQuery:Gh,mergeQuestionText:Vl,minimalPairDistractors:Kn,normalizeDate:eb,officialSoundPath:Gm,parseLocalYmd:uc,parseSortValue:_m,parseSyllable:Ye,patternToComposition:Zh,phonemePartsOf:fm,pickEuRo:Ol,pickEulReul:Rl,pickEunNeun:zl,pickIga:Ml,pickWaGwa:Il,prefetchChunk:Wb,prewarmImageCache:zh,primarySelPart:hr,readLevel:al,recoverFromSkew:Bi,reorderArray:Fl,reportAppliedNoiseSettings:br,resolveAssetUrl:Hr,resolveSoundPath:Gn,resumeAudioMeter:Yr,routeElementAudio:nr,sample:Sa,saveNoiseSettings:si,searchAndRankWords:Qh,setAssetBaseUrl:wh,setCrosswordLogger:Dm,setElementVolume:Ra,setGameLeaderboardLoader:Pm,setGameRanksLoader:Rm,setGameScoreSubmitter:$m,setTrainingCompletionLogger:Em,setTrainingTimeLogger:Sm,setWordPool:Am,shuffle:ut,skewReloadPending:$c,sortToValue:ym,soundOf:oi,speak:Gs,stopSpeaking:Gr,submitGameScore:zm,syllMatchesComp:eo,syllableContrasts:Oo,syllableLength:Ro,syllablePron:sn,toBase64UrlSafe:Wm,toChoseong:cl,toItemResults:ic,toKstHm:Km,toKstYmd:Oa,toStandardPronunciation:cm,toStorageName:cn,toUserErrorMessage:Cm,toWordEntry:Gb,validateSyllableSearchInput:Jh,withEuRo:pm,withEulReul:Pl,withEunNeun:um,withIga:$l,withWaGwa:dm,wordContainsChoseong:Vh,wordContainsJongseong:Yh,wordContainsJungseong:Uh,wordHasConsonantAt:Kh,wordHasNoCoda:pl,wordHasSyllableMatching:ml,wrongItems:Tm});function _3(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function w3(e){if(typeof window>"u")return"";const t=(a,o)=>{typeof o.attrValue=="string"&&_3(o.attrValue)&&(o.keepAttr=!1)};Os.addHook("uponSanitizeAttribute",t);try{return Os.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Os.removeHook("uponSanitizeAttribute",t)}}function k3(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),[i,l]=s.useState(null),[c,u]=s.useState(null);return s.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),n(null),l(null);return}const d=e.split("/").pop();let h=e;d&&(e.startsWith("/")?h=Hr(e):/^(Logo|Symbol)/i.test(d)?h=Hr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),h=e)),n(null),l(null),a(h)},[e]),s.useEffect(()=>{if(!t)return;let d=!1;async function h(){try{let p=await fetch(t);p.ok||(p=await fetch(t));const m=p.headers.get("content-type")||"";if(d)return;if(m.includes("svg")){n("mask");return}if(m.startsWith("image/")){n("img");return}const v=await fetch(t);if(!v.ok)throw new Error("not ok");const x=await v.text();if(d)return;if(/^\s*<svg[\s>]/i.test(x)){const g=w3(x);if(!g){n("none");return}l(g),n("inline");return}n("none")}catch{d||n("none")}}return h(),()=>{d=!0}},[t]),s.useEffect(()=>{let d=!1,h=null;return o==="mask"&&t&&fetch(t).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{d||(h=URL.createObjectURL(p),u(h))}).catch(()=>{d||n("img")}),()=>{d=!0,h&&URL.revokeObjectURL(h),u(null)}},[o,t]),{iconToUse:t,mode:o,svgText:i,blobUrl:c}}var B3=".ihabdevteam-core-scope .iconRenderer-icon-mask{background-color:currentColor;display:inline-block;height:20px;height:var(--icon-size,20px);-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:20px;width:var(--icon-size,20px)}";le(B3);function it(e){const{icon:t,label:a,className:o,imgClassName:n,maskClassName:i,svgClassName:l,wrapperStyle:c,size:u}=e||{},d=o??"iconRenderer-icon",h=n??"iconRenderer-icon-image",p=i??"iconRenderer-icon-mask",m=l??"iconRenderer-icon-svg",v=typeof t=="string"?t:null,x=Uk(v),{iconToUse:g,mode:b,svgText:C,blobUrl:f}=k3(v),w=(k,E={})=>r.jsx("span",{className:d,style:c,...E,children:k}),y=typeof u=="number"?{width:u,height:u,objectFit:"contain"}:null,A=(k,E={})=>r.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:h,...E,style:y?{...E.style,...y}:E.style});if(!t)return null;if(typeof t!="string")return w(t);if(t==="none")return w(r.jsx("span",{className:m,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(x)try{return w(s.createElement(x,{className:m,size:typeof u=="number"?u:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(b==="mask"){const k={"--icon-url":f?`url(${f})`:`url(${g})`,...typeof u=="number"?{"--icon-size":`${u}px`}:null};return w(r.jsx("span",{className:p,style:k}),{"aria-hidden":"true"})}return b==="img"?w(A(g,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):b==="inline"?w(r.jsx("span",{className:m,dangerouslySetInnerHTML:C?{__html:C}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return A(Hr(t),{style:c,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const _=typeof u=="number"?u:20,B=`<svg width="${_}" height="${_}" 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 w(r.jsx("span",{className:m,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function Hb(e){const[t,a]=s.useState(!1),o=s.useRef(!1),n=s.useRef(!0);s.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[]);const i=s.useCallback(()=>{if(!e||o.current)return;const l=e();if(l&&typeof l.then=="function"){o.current=!0,a(!0);const c=()=>{o.current=!1,n.current&&a(!1)};l.then(c,c)}},[e]);return{pending:t,press:i}}function Vb({icon:e,title:t,message:a,action:o,className:n}){const{pending:i,press:l}=Hb(o?.onClick);return r.jsxs("div",{className:Be("empty-state",n),children:[e&&r.jsx(it,{icon:e,size:48,className:"empty-state__icon"}),t&&r.jsx("p",{className:"empty-state__title h4",children:t}),a&&r.jsx("p",{className:"empty-state__message body-3",children:a}),o&&r.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:l,disabled:i,"aria-busy":i||void 0,children:[o.icon&&r.jsx(it,{icon:o.icon,className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:o.label})]})]})}var A3=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}.ihabdevteam-core-scope .error-state__hint{color:var(--color-lightGray);margin:0}";le(A3);function Ub({message:e,hint:t,icon:a="triangle-alert",onRetry:o,retryLabel:n,className:i}){const{t:l}=Ce.useTranslation(),{pending:c,press:u}=Hb(o);return r.jsxs("div",{className:Be("empty-state","error-state",i),role:"alert",children:[r.jsx(it,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),r.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&r.jsx("p",{className:"error-state__hint caption-1",children:t}),o&&r.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:u,disabled:c,"aria-busy":c||void 0,children:[r.jsx(it,{icon:"rotate-cw",className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:n??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}var S3=".ihabdevteam-core-scope .action-card{--ac-color:var(--color-main);--ac-color-a10:var(--color-main-a10);aspect-ratio:1/1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-l);box-shadow:var(--shadow-card);cursor:pointer;display:block;overflow:hidden;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;width:100%}.ihabdevteam-core-scope .action-card--sub{--ac-color:var(--color-sub);--ac-color-a10:var(--color-sub-a10)}.ihabdevteam-core-scope .action-card:focus-visible{outline:none}.ihabdevteam-core-scope .action-card:not(.action-card--disabled):focus-visible,.ihabdevteam-core-scope .action-card:not(.action-card--disabled):hover{border-color:var(--ac-color);box-shadow:var(--shadow-panel);transform:translateY(-4px)}.ihabdevteam-core-scope .action-card--disabled{cursor:wait;opacity:.6}.ihabdevteam-core-scope .action-card__body{display:flex;flex-direction:column;gap:var(--spacing-m);height:100%;padding:var(--spacing-l)}.ihabdevteam-core-scope .action-card__chip{align-items:center;background:var(--ac-color-a10);border-radius:var(--radius-m);color:var(--ac-color);display:flex;height:64px;justify-content:center;width:64px}.ihabdevteam-core-scope .action-card__text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .action-card__title{color:var(--color-text-primary);font-size:var(--text-h2-size);font-weight:var(--text-h2-weight-bold);letter-spacing:var(--text-h2-spacing);line-height:var(--text-h2-line);margin:0}.ihabdevteam-core-scope .action-card__desc{color:var(--color-lightGray);font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight);line-height:var(--text-body-2-line);margin:0}.ihabdevteam-core-scope .action-card__cta{align-items:center;color:var(--ac-color);display:flex;font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight-bold);gap:var(--spacing-xs);justify-content:flex-end;line-height:var(--text-body-2-line);margin-top:auto;padding-right:var(--spacing-s);padding-top:var(--spacing-s)}.ihabdevteam-core-scope .action-card__arrow{display:flex;transition:transform .2s}.ihabdevteam-core-scope .action-card:not(.action-card--disabled):hover .action-card__arrow{transform:translateX(4px)}";le(S3);function qb({icon:e,title:t,description:a,cta:o,tone:n="main",disabled:i=!1,onClick:l,className:c=""}){const u=s.useId(),d=`${u}-title`,h=`${u}-desc`,p=`${u}-cta`,m=()=>{i||l?.()};return r.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${h} ${p}`,onClick:m,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),m())},className:Be("action-card",`action-card--${n}`,i&&"action-card--disabled",c),children:r.jsxs("div",{className:"action-card__body",children:[r.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:r.jsx(it,{icon:e,size:34})}),r.jsxs("div",{className:"action-card__text",children:[r.jsx("h2",{id:d,className:"action-card__title",children:t}),r.jsx("p",{id:h,className:"action-card__desc",children:a})]}),r.jsxs("div",{className:"action-card__cta",children:[r.jsx("span",{id:p,children:o}),r.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:r.jsx(it,{icon:"arrow-right",size:18})})]})]})})}function Yb({as:e="div",className:t="",children:a,storage:o,...n}){o&&Us({resolveUrl:o.resolveUrl,download:o.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:o.exists,resolvePath:o.resolvePath,noiseBaseUrl:o.noiseBaseUrl,noiseFileGain:o.noiseFileGain});const i=Be("ihabdevteam-core-scope",t);return r.jsx(e,{className:i,...n,children:a})}function Rc(e,t=!0){s.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const o=n=>{if(n.key!=="Tab")return;const i=Array.from(a.querySelectorAll(Fa)).filter(h=>!h.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const l=i[0],c=i[i.length-1],u=document.activeElement,d=u===a;n.shiftKey&&(u===l||d)?(n.preventDefault(),c.focus()):!n.shiftKey&&u===c&&(n.preventDefault(),l.focus())};return a.addEventListener("keydown",o),()=>a.removeEventListener("keydown",o)},[e,t])}const Fa='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Pc=new WeakMap;function zc(e,t){e&&Pc.set(e,t)}function Ic(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let o=t;for(;o&&!Pc.has(o);)o=o.parentElement;if(!o)return t;t=Pc.get(o)??null}return t}function Kb(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function Ai(e,t,a){const o=e?.isConnected?e:a?.isConnected?a:null;if(Kb(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!o)return null;const n=Array.from(document.querySelectorAll(Fa)).filter(u=>!(e&&e.contains(u))&&Kb(u));let i=null,l=null;for(const u of n)o.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_PRECEDING?i=u:l||(l=u);const c=i??l;return c?.focus(),c}var E3=".ihabdevteam-core-scope .notice-box{background:var(--color-darkWhite);border-radius:var(--radius-m);color:var(--color-gray);margin:0 auto var(--spacing-page);padding:var(--spacing-l);position:relative;text-align:left}.ihabdevteam-core-scope .notice-box ul{margin:0;padding:0 0 0 18px}.ihabdevteam-core-scope .notice-box__inner{border-radius:var(--radius-s);padding:12px 14px;text-align:left}.ihabdevteam-core-scope .notice-box__title{color:var(--color-darkGray);margin:0 0 10px}.ihabdevteam-core-scope .notice-box__body,.ihabdevteam-core-scope .notice-box__line{color:var(--color-deepGray)}.ihabdevteam-core-scope .notice-box--default{border-color:var(--color-whiteLine)}.ihabdevteam-core-scope .notice-box--dashed{background:var(--color-deepWhite);border:1px dashed var(--color-whiteLine)}.ihabdevteam-core-scope .notice-box--important{border:1px solid var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .notice-box__dismiss{align-items:center;background:none;border:none;border-radius:var(--radius-xs);color:var(--color-lightGray);cursor:pointer;display:inline-flex;font-size:18px;justify-content:center;line-height:1;min-height:24px;min-width:24px;padding:0;position:absolute;right:10px;top:8px;transition:color .12s}.ihabdevteam-core-scope .notice-box__dismiss:hover{color:var(--color-gray)}@media (max-width:767px){.ihabdevteam-core-scope .notice-box,.ihabdevteam-core-scope .notice-box__inner{padding:var(--spacing-s)}}";le(E3);function Xb({title:e="",lines:t=[],notices:a=null,children:o,variant:n="default",dismissible:i=!1,className:l=""}){const{t:c}=Ce.useTranslation(),[u,d]=s.useState(!1),h=s.useRef(null),p=s.useCallback(()=>{const g=h.current;g&&g.contains(document.activeElement)&&Ai(g),d(!0)},[]);if(u)return null;const m=`notice-box notice-box--${n} body-2 ${l}`.trim(),v=i&&r.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:p,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return r.jsxs("div",{className:m,role:"note",children:[a.map((g,b)=>r.jsxs("div",{className:"notice-box__inner",children:[g.title?r.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,r.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?r.jsx("div",{children:g.lines.map((C,f)=>r.jsx("span",{className:"notice-box__line body-3",children:C},f))}):g.children??null})]},b)),v]});const x=e||t.length?r.jsxs("div",{className:"notice-box__inner",children:[e?r.jsx("span",{className:"notice-box__title body-1",children:e}):null,r.jsx("div",{className:"notice-box__body",children:t.length?r.jsx("ul",{children:t.map((g,b)=>r.jsx("li",{className:"notice-box__line",children:g},b))}):o})]}):r.jsx("div",{className:"notice-box__inner",children:o});return r.jsxs("div",{ref:h,className:m,role:"note",children:[x,v]})}var D3=".ihabdevteam-core-scope .button{align-items:center;background:var(--color-white);border:0;border:var(--button-border,0);box-sizing:border-box;color:inherit;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);padding:0 12px;transition:background-color .14s ease,color .14s ease,transform .1s ease,box-shadow .14s ease}.ihabdevteam-core-scope .button__icon,.ihabdevteam-core-scope .button__left,.ihabdevteam-core-scope .button__right{align-items:center;color:inherit;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .button--align-center .button__label,.ihabdevteam-core-scope .button--align-right .button__label{flex:1 1 auto;text-align:center}.ihabdevteam-core-scope .button__icon{height:24px;width:24px}.ihabdevteam-core-scope .button__icon--small{height:16px;width:16px}.ihabdevteam-core-scope .button__icon--medium{height:24px;width:24px}.ihabdevteam-core-scope .button__icon--large{height:36px;width:36px}.ihabdevteam-core-scope .button__center-group{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .button__center-group .button__label{display:inline-block;flex:0 1 auto;text-align:center}.ihabdevteam-core-scope .button__label{display:block;white-space:normal}.ihabdevteam-core-scope .button__label-text{align-items:center;display:inline-flex;justify-content:center;max-width:100%;vertical-align:middle;white-space:normal;word-break:break-word}.ihabdevteam-core-scope .button__label-text--has-sub{flex-direction:column;gap:3px}.ihabdevteam-core-scope .button--nowrap .button__label-text{white-space:nowrap}.ihabdevteam-core-scope .button--align-left .button__label-text--has-sub{align-items:flex-start;text-align:left}.ihabdevteam-core-scope .button__count{color:var(--color-main);font-weight:700;margin-left:4px}.ihabdevteam-core-scope .button--variant-main .button__count,.ihabdevteam-core-scope .is-selected .button__count,.ihabdevteam-core-scope [aria-pressed=true] .button__count{color:#fff}.ihabdevteam-core-scope .button__label:has(>.button__label-text+.button__label-text){gap:5px}.ihabdevteam-core-scope .button__sub-label-text{color:var(--button-subLabel-color,var(--color-gray));display:block}.ihabdevteam-core-scope .button__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .button__icon-mask{background-color:currentColor;display:block;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .button__icon-svg{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.ihabdevteam-core-scope .button__icon-svg svg{display:block;height:100%;width:100%}.ihabdevteam-core-scope .button__icon-svg svg,.ihabdevteam-core-scope .button__icon-svg svg *{fill:currentColor;stroke:currentColor}.ihabdevteam-core-scope .button .button__label{color:currentColor;color:var(--button-text-color,currentColor);min-height:20px;min-width:20px}.ihabdevteam-core-scope .button .button__icon,.ihabdevteam-core-scope .button .button__left,.ihabdevteam-core-scope .button .button__right{color:currentColor;color:var(--button-icon-color,currentColor)}.ihabdevteam-core-scope .button--align-left{justify-content:flex-start}.ihabdevteam-core-scope .button--align-center{justify-content:center}.ihabdevteam-core-scope .button--align-right{justify-content:flex-end}.ihabdevteam-core-scope .button--align-left .button__label{align-items:center;display:inline-flex;flex:1 1 auto}.ihabdevteam-core-scope .button--align-left .button__label-text{justify-content:flex-start;text-align:left}.ihabdevteam-core-scope .button--align-center .button__label{align-items:center;display:flex;flex:1 1 auto;justify-content:center;text-align:center}.ihabdevteam-core-scope .button--align-right .button__label{flex:1 1 auto;text-align:right}.ihabdevteam-core-scope .button--align-grid{justify-content:center}.ihabdevteam-core-scope .button--align-grid .button__label{display:grid;flex:1 1 auto;grid-auto-columns:1fr;grid-auto-flow:column;text-align:center}.ihabdevteam-core-scope .button.button--no-bg{background:transparent;border-color:transparent}.ihabdevteam-core-scope .button--variant-danger{--button-text-color:var(--color-error);--button-icon-color:var(--color-error);--button-subLabel-color:var(--color-error);background:var(--color-deepWhite);border:var(--button-border,1px solid var(--color-error))}.ihabdevteam-core-scope .button--variant-danger:focus-visible,.ihabdevteam-core-scope .button--variant-danger:hover{--button-text-color:var(--color-error);--button-icon-color:var(--color-error);--button-subLabel-color:var(--color-error);background:var(--color-error-a10);border-color:var(--color-error)}.ihabdevteam-core-scope .button--variant-danger.is-selected,.ihabdevteam-core-scope .button--variant-danger[aria-pressed=true]{--button-text-color:#fff;--button-icon-color:#fff;--button-subLabel-color:#fff;background:var(--color-error);border-color:var(--color-error)}.ihabdevteam-core-scope .button--variant-default{--button-text-color:var(--color-darkGray);--button-icon-color:var(--color-lightGray);--button-subLabel-color:var(--color-gray);background:var(--color-deepWhite);border:var(--button-border,1px solid var(--color-whiteLine))}.ihabdevteam-core-scope .button--variant-default:focus-visible,.ihabdevteam-core-scope .button--variant-default:hover{--button-text-color:var(--color-black);--button-icon-color:var(--color-main);--button-subLabel-color:var(--color-black);background:var(--color-white);border-color:var(--color-main)}.ihabdevteam-core-scope .button--variant-default.is-selected,.ihabdevteam-core-scope .button--variant-default[aria-pressed=true]{--button-text-color:#fff;--button-icon-color:#fff;--button-subLabel-color:#fff;background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .button--variant-main{--button-subLabel-color:var(--color-white-a80);background:var(--color-main);border:var(--button-border,1px solid var(--color-main));color:#fff}.ihabdevteam-core-scope .button--variant-main:focus-visible,.ihabdevteam-core-scope .button--variant-main:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-sub);border-color:var(--color-sub);color:#fff}.ihabdevteam-core-scope .button--variant-main.is-selected,.ihabdevteam-core-scope .button--variant-main[aria-pressed=true]{--button-subLabel-color:var(--color-white-a80);background:var(--color-sub);color:#fff}.ihabdevteam-core-scope .button--variant-sub{--button-subLabel-color:var(--color-white-a80);background:var(--color-primary,var(--color-sub));color:#fff}.ihabdevteam-core-scope .button--variant-sub:focus-visible,.ihabdevteam-core-scope .button--variant-sub:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-uiAccent);color:#fff}.ihabdevteam-core-scope .button--variant-transparent-white{--button-subLabel-color:var(--color-white-a60);background:transparent;border:var(--button-border,1px solid var(--color-white-a80));color:#fbfdff}.ihabdevteam-core-scope .button--variant-transparent-white:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-white:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-white-a10);color:#fff}.ihabdevteam-core-scope .button--variant-transparent-white.is-selected,.ihabdevteam-core-scope .button--variant-transparent-white[aria-pressed=true]{--button-subLabel-color:var(--color-lightGray);background:var(--color-white);color:var(--color-main)}.ihabdevteam-core-scope .button--variant-transparent-gray{--button-subLabel-color:var(--color-gray-a60);background:transparent;border:var(--button-border,1px solid var(--color-gray-a80));color:var(--color-gray-a80)}.ihabdevteam-core-scope .button--variant-transparent-gray:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-gray:hover{--button-subLabel-color:var(--color-gray-a60);background:var(--color-gray-a10);color:var(--color-gray)}.ihabdevteam-core-scope .button--variant-transparent-lightGray{--button-subLabel-color:var(--color-gray-a60);background:transparent;border:var(--button-border,1px solid var(--color-lightGray-a80));color:var(--color-gray)}.ihabdevteam-core-scope .button--variant-transparent-lightGray:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-lightGray:hover{--button-subLabel-color:var(--color-gray-a60);background:var(--color-lightGray-a10);color:var(--color-deepGray)}.ihabdevteam-core-scope .button--variant-disabled{--button-subLabel-color:var(--color-disabled);background-color:transparent;border:var(--button-border,1px solid var(--color-whiteLine));color:var(--color-disabled)}.ihabdevteam-core-scope .button--variant-disabled .button__icon,.ihabdevteam-core-scope .button--variant-disabled .button__left,.ihabdevteam-core-scope .button--variant-disabled .button__right{color:var(--color-disabled)}.ihabdevteam-core-scope .button--variant-disabled-covered{background-color:var(--color-darkWhite);border:1px solid transparent;border:var(--button-border,1px solid transparent);border-color:transparent;color:transparent}.ihabdevteam-core-scope .button--variant-disabled-covered .button__icon,.ihabdevteam-core-scope .button--variant-disabled-covered .button__left,.ihabdevteam-core-scope .button--variant-disabled-covered .button__right{color:transparent}.ihabdevteam-core-scope .button--variant-disabled-faded,.ihabdevteam-core-scope .button--variant-disabled-invisibled{background:transparent}.ihabdevteam-core-scope .button--variant-disabled-faded .button__icon,.ihabdevteam-core-scope .button--variant-disabled-faded .button__left,.ihabdevteam-core-scope .button--variant-disabled-faded .button__right,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__icon,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__label,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__left,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__right{color:transparent}.ihabdevteam-core-scope .button.button--tooltip-only,.ihabdevteam-core-scope .button:disabled,.ihabdevteam-core-scope .button[disabled]{cursor:default}.ihabdevteam-core-scope .button--shape-rounded{border-radius:8px!important;border-radius:var(--button-rounded-radius,8px)!important}.ihabdevteam-core-scope .button--shape-pill{border-radius:9999px!important}.ihabdevteam-core-scope .button72{--button-rounded-radius:18px;border-radius:36px;height:72px;justify-content:center}.ihabdevteam-core-scope .button72--bar{min-width:220px}.ihabdevteam-core-scope .button72--dot{padding:0;width:72px}.ihabdevteam-core-scope .button56{--button-rounded-radius:14px;border-radius:28px;height:56px;justify-content:center}.ihabdevteam-core-scope .button56--bar{min-width:190px}.ihabdevteam-core-scope .button56--dot{padding:0;width:56px}.ihabdevteam-core-scope .button52{--button-rounded-radius:13px;border-radius:26px;height:52px;justify-content:center}.ihabdevteam-core-scope .button52--bar{min-width:175px}.ihabdevteam-core-scope .button52--dot{padding:0;width:52px}.ihabdevteam-core-scope .button48{--button-rounded-radius:12px;border-radius:24px;height:48px;justify-content:center}.ihabdevteam-core-scope .button48--bar{min-width:160px}.ihabdevteam-core-scope .button48--dot{padding:0;width:48px}.ihabdevteam-core-scope .button40{--button-rounded-radius:10px;border-radius:20px;height:40px;justify-content:center}.ihabdevteam-core-scope .button40--bar{min-width:100px}.ihabdevteam-core-scope .button40--dot{padding:0;width:40px}.ihabdevteam-core-scope .button40 .button__icon,.ihabdevteam-core-scope .button40--bar .button__icon,.ihabdevteam-core-scope .button40--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button32{--button-rounded-radius:8px;border-radius:16px;height:32px;justify-content:center}.ihabdevteam-core-scope .button32--bar{min-width:72px}.ihabdevteam-core-scope .button32--dot{padding:0;width:32px}.ihabdevteam-core-scope .button32 .button__icon,.ihabdevteam-core-scope .button32--bar .button__icon,.ihabdevteam-core-scope .button32--dot .button__icon{height:18px;width:18px}.ihabdevteam-core-scope .button28{--button-rounded-radius:7px;border-radius:14px;height:28px;justify-content:center}.ihabdevteam-core-scope .button28--bar{min-width:60px}.ihabdevteam-core-scope .button28--dot{padding:0;width:28px}.ihabdevteam-core-scope .button28 .button__icon,.ihabdevteam-core-scope .button28--bar .button__icon,.ihabdevteam-core-scope .button28--dot .button__icon{height:16px;width:16px}.ihabdevteam-core-scope .button24{--button-rounded-radius:6px;border-radius:12px;height:24px;justify-content:center}.ihabdevteam-core-scope .button24--bar{min-width:48px}.ihabdevteam-core-scope .button24--dot{padding:0;width:24px}.ihabdevteam-core-scope .button24 .button__icon,.ihabdevteam-core-scope .button24--bar .button__icon,.ihabdevteam-core-scope .button24--dot .button__icon{height:14px;width:14px}.ihabdevteam-core-scope .button-keyboard{border-radius:12px;height:32px;justify-content:center}.ihabdevteam-core-scope .button-keyboard--bar{min-width:32px;padding:0 12px}.ihabdevteam-core-scope .button-keyboard--dot{padding:0;width:32px}.ihabdevteam-core-scope .button-word{border-radius:12px;height:72px;justify-content:center;padding:0 16px}.ihabdevteam-core-scope .button-word--bar{min-width:120px}.ihabdevteam-core-scope .button-word--dot{padding:0;width:72px}@media (max-width:1024px){.ihabdevteam-core-scope .button56{--button-rounded-radius:13px;border-radius:25px;height:50px}.ihabdevteam-core-scope .button56--bar{min-width:170px}.ihabdevteam-core-scope .button56--dot{width:50px}.ihabdevteam-core-scope .button48{--button-rounded-radius:11px;border-radius:22px;height:44px}.ihabdevteam-core-scope .button48--bar{min-width:140px}.ihabdevteam-core-scope .button48--dot{width:44px}.ihabdevteam-core-scope .button40{--button-rounded-radius:9px;border-radius:18px;height:36px}.ihabdevteam-core-scope .button40--bar{min-width:88px}.ihabdevteam-core-scope .button40--dot{width:36px}.ihabdevteam-core-scope .button32{--button-rounded-radius:8px;border-radius:15px;height:30px}.ihabdevteam-core-scope .button32--bar{min-width:64px}.ihabdevteam-core-scope .button32--dot{width:30px}.ihabdevteam-core-scope .button24--bar{min-width:44px}}@media (max-width:768px){.ihabdevteam-core-scope .button56{--button-rounded-radius:12px;border-radius:23px;height:46px}.ihabdevteam-core-scope .button56--bar{min-width:150px}.ihabdevteam-core-scope .button56--dot{width:46px}.ihabdevteam-core-scope .button56 .button__icon,.ihabdevteam-core-scope .button56--bar .button__icon,.ihabdevteam-core-scope .button56--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button48{--button-rounded-radius:10px;border-radius:20px;height:40px}.ihabdevteam-core-scope .button48--bar{min-width:120px}.ihabdevteam-core-scope .button48--dot{width:40px}.ihabdevteam-core-scope .button48 .button__icon,.ihabdevteam-core-scope .button48--bar .button__icon,.ihabdevteam-core-scope .button48--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button40{--button-rounded-radius:8px;border-radius:17px;height:34px}.ihabdevteam-core-scope .button40--bar{min-width:80px}.ihabdevteam-core-scope .button40--dot{width:34px}.ihabdevteam-core-scope .button32{--button-rounded-radius:7px;border-radius:14px;height:28px}.ihabdevteam-core-scope .button32--bar{min-width:60px}.ihabdevteam-core-scope .button32--dot{width:28px}.ihabdevteam-core-scope .button24--bar{min-width:40px}}";le(D3);var N3=".ihabdevteam-core-scope .tooltip-content{animation:tooltip-pop .2s cubic-bezier(.2,.9,.2,1) both;background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);box-sizing:border-box;pointer-events:auto;position:absolute;transform-origin:left center;white-space:normal;will-change:transform,opacity;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-content--inline{position:static}.ihabdevteam-core-scope .tooltip-content--bordered{border:1px solid var(--color-whiteLine)}.ihabdevteam-core-scope .tooltip-content.tooltip-description,.ihabdevteam-core-scope .tooltip-content.tooltip-info,.ihabdevteam-core-scope .tooltip-content.tooltip-training{background:transparent;box-shadow:none}.ihabdevteam-core-scope .tooltip-content__header{align-items:center;color:var(--color-gray);display:flex;height:40px;padding:0 2px 10px}.ihabdevteam-core-scope .tooltip-content.is-closing{animation:tooltip-fade-out .2s ease both;opacity:0}.ihabdevteam-core-scope .tooltip-content[data-placement=top]{transform:translateY(-6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=bottom]{transform:translateY(6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=left]{transform:translateX(-6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=right]{transform:translateX(6px)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=top]{transform:translateY(-6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=bottom]{transform:translateY(6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=left]{transform:translateX(-6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=right]{transform:translateX(6px) scale(.98)}@keyframes tooltip-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooltip-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.98)}}.ihabdevteam-core-scope .tooltip-backdrop{background:var(--color-popupBlock);inset:0;position:fixed;z-index:calc(var(--z-tooltip) - 1)}.ihabdevteam-core-scope .tooltip-portal{inset:0;position:fixed;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-content.is-mobile{left:50%!important;max-width:calc(100% - 40px)!important;top:50%!important;transform:translate(-50%,-50%)!important;visibility:visible!important;width:calc(100% - 40px)!important;z-index:var(--z-tooltip)!important}";le(N3);const xr=[];let Si=!1;function Zb(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=xr[xr.length-1];t&&(e.stopPropagation(),t())}function Go(e){return xr.push(e),!Si&&typeof document<"u"&&(document.addEventListener("keydown",Zb),Si=!0),()=>{const t=xr.lastIndexOf(e);t>=0&&xr.splice(t,1),xr.length===0&&Si&&typeof document<"u"&&(document.removeEventListener("keydown",Zb),Si=!1)}}const Ei=s.createContext(null);function T3(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const Jb=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function j3(e){const t=s.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const o=window.matchMedia(e);return o.addEventListener?o.addEventListener("change",a):o.addListener&&o.addListener(a),()=>{o.removeEventListener?o.removeEventListener("change",a):o.removeListener&&o.removeListener(a)}},[e]);return jp.useSyncExternalStore(t,()=>Jb(e),()=>!1)}function L3(e){const[t,a]=s.useState(Jb(e));return s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const o=window.matchMedia(e),n=l=>a(l.matches),i=o;return i.addEventListener?i.addEventListener("change",n):i.addListener&&i.addListener(n),a(o.matches),()=>{i.removeEventListener?i.removeEventListener("change",n):i.removeListener&&i.removeListener(n)}},[e]),t}const M3=typeof jp.useSyncExternalStore=="function"?j3:L3;function ua(e){const t=s.useContext(Ei),a=M3(e);return t&&typeof t.mobile=="boolean"&&T3(e)?t.mobile:a}const $3="(prefers-reduced-motion: reduce)";function Oc(){return ua($3)}function _a(e){const{anchorRect:t,anchorEl:a,offset:o=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:u="dialog",ariaLabel:d="",children:h,backdrop:p=!1,isMobilePopup:m=!1,useBorder:v=!0,header:x,focusOnOpen:g}=e||{},b=s.useRef(null),[C,f]=s.useState({position:"fixed",left:0,top:-9999}),[w,y]=s.useState(!1),[A,_]=s.useState("bottom"),[B,k]=s.useState(!1),[E,S]=s.useState(!1),D=!t&&!a,$=s.useCallback((G=!1)=>{if(E&&m)return;const z=a?a.getBoundingClientRect():t;if(!z||!b.current)return;const V=b.current,{offsetWidth:W,offsetHeight:O}=V,N=window.innerWidth,P=window.innerHeight,F=N-z.right,X=z.left,ie=z.top,oe=P-z.bottom;let de=0,U=0,se="top";if(ie>=O+o)se="top",U=z.top-o-O,de=z.left+z.width/2-W/2;else if(oe>=O+o)se="bottom",U=z.bottom+o,de=z.left+z.width/2-W/2;else if(F>=W+o)se="right",de=z.right+o,U=z.top+z.height/2-O/2;else if(X>=W+o)se="left",de=z.left-o-W,U=z.top+z.height/2-O/2;else{const me=Math.max(ie,oe,F,X);me===ie?(se="top",U=z.top-o-O,de=z.left+z.width/2-W/2):me===oe?(se="bottom",U=z.bottom+o,de=z.left+z.width/2-W/2):me===F?(se="right",de=z.right+o,U=z.top+z.height/2-O/2):(se="left",de=z.left-o-W,U=z.top+z.height/2-O/2)}const Se=Number.isFinite(Number(n))?Number(n):8;de=Math.min(Math.max(de,Se),N-W-Se),U=Math.min(Math.max(U,Se),P-O-Se);const Z=Math.round(de),ee=Math.round(U);G&&b.current?(b.current.style.left=`${Z}px`,b.current.style.top=`${ee}px`,b.current.dataset.placement=se):(_(se||A),f({position:"fixed",left:Z,top:ee}),k(!0))},[E,m,a,t,o,n,A]);s.useLayoutEffect(()=>{if(D)return;if(E&&m){f({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),k(!0);return}$();const G=requestAnimationFrame(()=>$());return()=>cancelAnimationFrame(G)},[t,a,o,h,n,D,E,m,$]),s.useEffect(()=>{if(D||E&&m||!b.current||typeof ResizeObserver>"u")return;const G=new ResizeObserver(()=>{t&&$()});return G.observe(b.current),()=>G.disconnect()},[t,h,n,D,E,m,$]),s.useEffect(()=>{if(D||E&&m)return;let G=null;const z=()=>{if(typeof requestAnimationFrame>"u"){$(!0);return}G===null&&(G=requestAnimationFrame(()=>{G=null,$(!0)}))},V=W=>{if(!a&&i){const O=W.target;if(O&&b.current&&b.current.contains(O))return;try{if(O&&O.closest&&O.closest("[data-tooltip-ignore]"))return}catch{}I.current(!0);return}z()};return window.addEventListener("resize",z),document.addEventListener("scroll",V,{passive:!0,capture:!0}),()=>{G!==null&&cancelAnimationFrame(G),window.removeEventListener("resize",z),document.removeEventListener("scroll",V,{capture:!0})}},[t,a,i,o,h,n,D,E,m,$]),s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const G=window.matchMedia("(max-width: 768px)"),z=()=>S(!!G.matches);z();try{G.addEventListener?G.addEventListener("change",z):G.addListener(z)}catch{try{G.addListener(z)}catch{}}return()=>{try{G.removeEventListener?G.removeEventListener("change",z):G.removeListener(z)}catch{}}},[]);const j=s.useRef(!1),H=s.useRef(null),T=Oc(),L=s.useCallback((G=!1)=>{if(i&&!(w||j.current)){if(j.current=!0,G){y(!0);try{i&&i()}catch{j.current=!1,y(!1)}return}y(!0),H.current=setTimeout(()=>{H.current=null;try{i&&i()}catch{j.current=!1,y(!1)}},T?0:200)}},[w,i,y,T]);s.useEffect(()=>()=>{H.current&&clearTimeout(H.current)},[]),s.useEffect(()=>{if(D)return;const G=W=>{const O=b.current;if(!O)return;const N=W.target;if(N&&!O.contains(N)){try{if(N.closest&&N.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},z=W=>{const O=b.current;if(!O)return;const N=W.target;if(N&&!O.contains(N)){try{if(N.closest&&N.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},V=W=>{if(W.key==="Tab"){const O=b.current;if(!O)return;const N=O.querySelectorAll(Fa);if(!N||N.length===0)return;const P=N[0],F=N[N.length-1],X=document.activeElement;W.shiftKey?X===P&&(W.preventDefault(),F.focus()):X===F&&(W.preventDefault(),P.focus())}};return document.addEventListener("pointerdown",G,!0),document.addEventListener("click",z,!0),document.addEventListener("keydown",V),()=>{document.removeEventListener("pointerdown",G,!0),document.removeEventListener("click",z,!0),document.removeEventListener("keydown",V)}},[i,l,L,D]);const I=s.useRef(L);s.useEffect(()=>{I.current=L});const K=!!i;s.useEffect(()=>{if(!(D||!K))return Go(()=>I.current())},[D,K]),s.useEffect(()=>{const G=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",G),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",G)}},[L]);const Y=s.useRef(null);s.useEffect(()=>{if(D||g===!1||!B)return;const G=b.current;if(!G)return;const z=G.querySelector(Fa);if(z)return Y.current=document.activeElement,z.focus(),()=>{const V=Y.current;Y.current=null,V&&document.contains(V)&&V.focus()}},[D,g,B]),s.useEffect(()=>{u==="dialog"&&!d&&Pt("tooltip-no-name",'[ihab/Tooltip] \uC774\uB984 \uC5C6\uB294 role="dialog" \uC785\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. \uB0AD\uB3C5\uAE30\uAC00 "\uB300\uD654\uC0C1\uC790" \uB77C\uACE0\uB9CC \uC77D\uC2B5\uB2C8\uB2E4.')},[u,d]);const M=r.jsxs("div",{ref:b,className:`tooltip-content ${D?"tooltip-content--inline":""} ${v?"tooltip-content--bordered":""} ${w?"is-closing":""} ${c} ${E&&m?"is-mobile":""}`,role:u,"aria-label":d||void 0,style:D?{}:{...C,visibility:B?"visible":"hidden"},tabIndex:-1,"data-placement":A,"data-left":D?"":C.left,"data-top":D?"":C.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[x!=null&&r.jsx("div",{className:"tooltip-content__header h5",children:x}),h]});if(D||typeof document>"u")return M;if(p||E&&m){const G=r.jsxs("div",{className:"tooltip-portal",children:[r.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),M]});return pa.createPortal(G,document.body)}return pa.createPortal(M,document.body)}var R3='.ihabdevteam-core-scope .tooltip-info__content{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-main);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);color:var(--color-black);display:inline-flex;justify-content:center;line-height:1;overflow:hidden;padding:4px 12px;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-content.tooltip-info{pointer-events:none}.ihabdevteam-core-scope .tooltip-content.tooltip-info .tooltip-info__content{box-shadow:var(--shadow-tooltip)}.ihabdevteam-core-scope .tooltip-info[data-placement=bottom] .tooltip-info__content:after,.ihabdevteam-core-scope .tooltip-info[data-placement=top] .tooltip-info__content:after{content:"";height:0;margin:0;padding:0;position:absolute;width:0}';le(R3);function Da(e){const{anchorRect:t,text:a,offset:o=8,onClose:n,className:i="",ariaLabel:l}=e||{};return a?r.jsx(_a,{anchorRect:t,offset:o,onClose:n,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:r.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}var P3=".ihabdevteam-core-scope .tooltip-description__box{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);display:flex;flex-direction:column;gap:10px;max-width:640px;padding:16px 20px}.ihabdevteam-core-scope .tooltip-description__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .tooltip-description__items{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .tooltip-description__item{align-items:flex-start;color:var(--color-darkGray);display:flex;gap:var(--spacing-xs);margin:0}.ihabdevteam-core-scope .tooltip-description__index{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .tooltip-description__dot{border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.ihabdevteam-core-scope .tooltip-description__item--active{color:var(--color-main);font-weight:600}.ihabdevteam-core-scope .tooltip-description__item--active .tooltip-description__index{color:var(--color-main)}";le(P3);function _o(e){const{t}=Ce.useTranslation(),{anchorRect:a,title:o,items:n,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:u=12,closeOnOutsideClick:d=!0}=e||{},h=(Array.isArray(n)?n:n?[n]:[]).map(p=>typeof p=="string"?{text:p}:p);return!h.length&&!o?null:r.jsx(_a,{anchorRect:a,offset:u,onClose:c,closeOnOutsideClick:d,useBorder:!1,className:"tooltip-description",ariaLabel:o||t("tooltip.description","\uC124\uBA85"),children:r.jsxs("div",{className:"tooltip-description__box",children:[o&&r.jsx("span",{className:"tooltip-description__title body-2",children:o}),r.jsx("ol",{className:"tooltip-description__items",children:h.map((p,m)=>r.jsxs("li",{className:`tooltip-description__item body-3${m===i?" tooltip-description__item--active":""}`,children:[l&&h.length>1&&r.jsxs("span",{className:"tooltip-description__index button-1",children:[m+1,"."]}),p.color&&r.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),r.jsx("span",{children:p.text})]},m))})]})})}function xn(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),t}let Fc=0,Qb=!1;function eg(){Qb||typeof document>"u"||(Qb=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Fc=Date.now())},!0),document.addEventListener("touchstart",()=>{Fc=Date.now()},{capture:!0,passive:!0}))}eg();function Cr(e){return!!e&&e.pointerType==="touch"}function yr(e=1e3){return eg(),Date.now()-Fc<e}function Wc(e,t,a,{enabled:o=!0,fallbackOnParent:n=!1}={}){const i=xn(e),l=xn(t),c=s.useRef(null),u=s.useRef(0);s.useEffect(()=>{if(!o||typeof document>"u")return;const h=p=>{const m=p,v=p.target,x=a.current,g=!!(v&&x&&x.contains(v));if(m.pointerType!=="touch"){g&&(c.current=null);return}if(g){c.current=i.current;return}c.current=null,i.current&&!(v&&v.closest?.(".tooltip-content"))&&l.current(!1,x)};return document.addEventListener("pointerdown",h,!0),()=>document.removeEventListener("pointerdown",h,!0)},[o,a,i,l]);const d=s.useCallback(h=>{const p=c.current;return p===null?!1:(c.current=null,u.current=Date.now(),l.current(!p,h??a.current),!0)},[a,l]);return s.useEffect(()=>{if(!o||!n)return;const h=a.current,p=h?.parentElement;if(!h||!p)return;let m=null;const v=b=>{const C=b.changedTouches?.[0];if(!C)return!1;const f=h.getBoundingClientRect();return C.clientX>=f.left&&C.clientX<=f.right&&C.clientY>=f.top&&C.clientY<=f.bottom},x=b=>{m=v(b)?i.current:null},g=b=>{const C=m;m=null,!(C===null||Date.now()-u.current<700||!v(b))&&(c.current=null,u.current=Date.now(),l.current(!C,h))};return p.addEventListener("touchstart",x,{passive:!0}),p.addEventListener("touchend",g),()=>{p.removeEventListener("touchstart",x),p.removeEventListener("touchend",g)}},[o,n,a,i,l]),{touchPress:d}}function z3(e,t){const{size:a=48,type:o,htmlType:n,href:i,target:l,rel:c,icon:u,rightIcon:d,label:h,count:p,subLabel:m,children:v,ariaLabel:x,variant:g="default",align:b="center",nowrap:C=!1,selected:f,toggleable:w=!1,ariaExpanded:y,ariaControls:A,disabled:_=!1,useLabel:B=!0,useBorder:k=!0,useBG:E=!0,useDisabledCovered:S=!1,useDisabledInvisible:D=!1,width:$,minWidth:j,onClick:H,onDisabledClick:T,showTooltipInfo:L=!1,tooltipInfoText:I=null,tooltipDescription:K=null,tooltipOnly:Y=!1,iconSize:M="medium",iconColor:G,shape:z="rounded",color:V,className:W,...O}=e,N=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),P=N.match(/^\d+$/)?`button${N}`:`button-${N}`,F=Number(a),X=!isNaN(F)&&F<40?"button-2":"button-1",ie=h??v,oe=_||!!O.disabled,de=oe?S?"disabled-covered":D?"disabled-invisibled":"disabled":g,U=de?`button--variant-${de}`:"",se=b?`button--align-${b}`:"",Se=C?"button--nowrap":"",Z=z?`button--shape-${z}`:"",ee=typeof G=="string"&&G.startsWith("--")?`var(${G})`:G,me={...$?{width:typeof $=="number"?`${$}px`:$}:{},...j?{minWidth:typeof j=="number"?`${j}px`:j}:{},...k?{}:{"--button-border":oe?"0":"1px solid transparent"},...ee?{"--button-icon-color":ee}:{},...V?{"--color-main":V}:{}},Le=B===!1?"":ie,ye=Array.isArray(Le)?Le.length>0:!!Le,re=!!d,pe=o??(ye||u||re?"bar":"dot"),ve=`${P}--${pe}`,q=s.useRef(null);s.useEffect(()=>{!co||n!==void 0||q.current?.closest("form")&&Pt(`button-in-form:${typeof ie=="string"?ie:""}`,'[ihab/Button] <form> \uC548\uC778\uB370 htmlType \uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC774 \uB2E8\uCD94\uB294 type="button" \uC774\uB77C \uD3FC\uC744 \uBCF4\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uBA74 htmlType="submit" \uC744 \uC8FC\uC138\uC694. \uD3FC\uC5D0 \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 **Enter \uB85C\uB3C4 \uC548 \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4**(\uCE78\uC774 \uB458 \uC774\uC0C1\uC77C \uB54C).'+(typeof ie=="string"&&ie?` \uB2E8\uCD94: ${ie}`:""))},[n,ie]);const ae=s.useRef(t);ae.current=t;const fe=s.useCallback(Ie=>{q.current=Ie;const ot=ae.current;typeof ot=="function"?ot(Ie):ot&&(ot.current=Ie)},[]),Ee=s.useRef(oe),[Ae,$e]=s.useState(!!f),[Ge,pt]=s.useState(!1),[st,rt]=s.useState(null),vt=s.useCallback(()=>pt(!1),[]),[De,Ve]=s.useState(!1),ke=s.useId();s.useEffect(()=>{typeof f=="boolean"&&$e(f)},[f]),s.useEffect(()=>{if(Ee.current&&!oe&&q.current){const Ie=q.current;let ot=!1;try{ot=Ie.matches(":focus:not(:focus-visible)")}catch{ot=!1}ot&&Ie.blur(),Ie.style.pointerEvents="none";const St=requestAnimationFrame(()=>{requestAnimationFrame(()=>{q.current&&(q.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(St)}Ee.current=oe},[oe]);const qe=typeof f=="boolean"?!!f:Ae,Ne=typeof y=="boolean"?void 0:w||typeof f=="boolean"?qe?"true":"false":O["aria-pressed"],Re=Be("button",P,ve,U,se,Se,Z,qe?"is-selected":null,E?null:"button--no-bg",Y?"button--tooltip-only":null,W),Me=`button__icon button__icon--${M}`,Qe=Array.isArray(m)?m:m!==void 0?[m]:[],tt=()=>{if(Array.isArray(Le))return Le.map((ot,St)=>{const Gt=Qe[St];return r.jsxs("span",{className:`button__label-text${Gt!==void 0?" button__label-text--has-sub":""}`,children:[ot,Gt!==void 0&&r.jsx("span",{className:"button__sub-label-text caption-1",children:Gt})]},St)});const Ie=m!==void 0;return r.jsxs("span",{className:`button__label-text${Ie?" button__label-text--has-sub":""}`,children:[Le,p!=null&&r.jsx("span",{className:"button__count",children:p}),Ie&&r.jsx("span",{className:"button__sub-label-text caption-1",children:m})]})},bt=Ie=>{typeof f!="boolean"&&!w&&$e(!1),Ie.currentTarget.blur()},xt=Ie=>{oe||(typeof O.onMouseLeave=="function"&&O.onMouseLeave(Ie),bt(Ie))},Dt=Ie=>{if(Y&&yt&&dt.touchPress(Ie.currentTarget),oe){yt&&dt.touchPress(Ie.currentTarget),Ie.preventDefault(),T?.(Ie);return}typeof f!="boolean"&&w&&$e(ot=>!ot),H?.(Ie)},Ct=s.useCallback(()=>{(L||K)&&(pt(!0),rt(q.current?.getBoundingClientRect()??null))},[L,K]),Mt=s.useCallback(()=>{(L||K)&&(pt(!1),rt(null))},[L,K]),yt=!!(L||K),dt=Wc(Ge,Ie=>{Ie?Ct():Mt()},q,{enabled:yt&&(oe||Y),fallbackOnParent:yt&&oe}),Xe={...O};delete Xe.disabled,delete Xe.className,delete Xe.faded,delete Xe.useFaded,delete Xe.loading,delete Xe.onMouseLeave,delete Xe.onPointerEnter,delete Xe.onPointerLeave,delete Xe.onPointerUp,delete Xe.onFocus,delete Xe.onBlur,oe&&(Object.keys(Xe).forEach(Ie=>{/^on[A-Z]/.test(Ie)&&typeof Xe[Ie]=="function"&&delete Xe[Ie]}),Xe["aria-disabled"]="true");const ce=(typeof L=="string"?L:null)??(typeof I=="string"?I:null)??(typeof x=="string"?x:null)??(typeof ie=="string"?ie:null)??void 0,Te=typeof x=="string"?x:typeof ie=="string"?ie:ce,Ue=K?[K.title,...K.items??[]].filter(Boolean).join(". "):L&&ce&&ce!==Te?ce:"",nt=[typeof O["aria-describedby"]=="string"?O["aria-describedby"]:void 0,Ue?ke:null].filter(Boolean).join(" ")||void 0,Fe=(Ie,ot)=>r.jsx(it,{icon:Ie,label:ot??Te,className:Me,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Ke=()=>pe==="dot"?r.jsxs(r.Fragment,{children:[Fe(u),ye&&r.jsx("span",{className:`button__label ${X}`,children:tt()})]}):b==="center"&&u?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"button__center-group",children:[r.jsx("span",{className:"button__left",children:Fe(u)}),ye&&r.jsx("span",{className:`button__label ${X}`,children:tt()})]}),re&&r.jsx("span",{className:"button__right",children:Fe(d)})]}):r.jsxs(r.Fragment,{children:[u&&r.jsx("span",{className:"button__left",children:Fe(u,x??ie)}),ye&&r.jsx("span",{className:`button__label ${X}`,children:tt()}),re&&r.jsx("span",{className:"button__right",children:Fe(d)})]}),_t=!!i&&!oe;return r.jsxs(r.Fragment,{children:[r.jsxs(_t?"a":"button",{...Xe,ref:fe,..._t?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:n??"button",disabled:oe&&!T&&!De},className:Re,"aria-pressed":Ne,"aria-expanded":typeof y=="boolean"?y:O["aria-expanded"],"aria-controls":A??O["aria-controls"],"aria-label":Te,"aria-disabled":oe&&(_t||T||De)?!0:void 0,"aria-describedby":nt,style:me,onClick:Dt,onMouseLeave:xt,onPointerEnter:Ie=>{Cr(Ie)||Ct(),!oe&&typeof O.onPointerEnter=="function"&&O.onPointerEnter(Ie)},onPointerLeave:Ie=>{Cr(Ie)||Mt(),!oe&&typeof O.onPointerLeave=="function"&&O.onPointerLeave(Ie)},onPointerUp:Ie=>{oe&&yt&&dt.touchPress(Ie.currentTarget),!oe&&typeof O.onPointerUp=="function"&&O.onPointerUp(Ie)},onFocus:Ie=>{Ve(!0),yr()||Ct(),!oe&&typeof O.onFocus=="function"&&O.onFocus(Ie)},onBlur:Ie=>{Ve(!1),oe||bt(Ie),Mt(),!oe&&typeof O.onBlur=="function"&&O.onBlur(Ie)},children:[Ke(),Ue?r.jsx("span",{id:ke,hidden:!0,"aria-label":Ue}):null]}),Ge&&K?r.jsx(_o,{anchorRect:st,title:K.title,items:K.items,onClose:vt}):Ge&&ce?r.jsx(Da,{anchorRect:st,text:ce,onClose:vt}):null]})}const ge=s.forwardRef(z3);ge.displayName="Button";function jt(e,t,a){const o=s.useRef(null);return s.useLayoutEffect(()=>{const n=o.current?.parentElement??null;return t(n,e),()=>a(n)},[e,t,a]),o}var I3=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";le(I3);var O3=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";le(O3);const _r={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Gc=new WeakMap;function Di(e){if(e)return Gc.get(e)}function Qt(e,t){e&&(e.style.setProperty(_r.title,t.title),e.style.setProperty(_r.description,t.description),Gc.set(e,t))}function ea(e){e&&(e.style.removeProperty(_r.title),e.style.removeProperty(_r.description),Gc.delete(e))}const Hc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Vc(){const e=jt(Hc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var F3=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";le(F3);const Uc={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function qc(){const e=jt(Uc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var W3=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";le(W3);const Yc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Kc(){const e=jt(Yc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var G3=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";le(G3);const Xc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Zc(){const e=jt(Xc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var H3=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";le(H3);const Jc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Qc(){const e=jt(Jc,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var V3=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";le(V3);const eu={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function tu(){const e=jt(eu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var U3=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";le(U3);const au={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function ou(){const e=jt(au,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var q3=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";le(q3);const ru={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function nu(){const e=jt(ru,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var Y3=".ihabdevteam-core-scope .promo-banner-bg-diagonal{background-color:var(--color-lightMain);background-image:repeating-linear-gradient(45deg,var(--color-main-a10) 0,var(--color-main-a10) 10px,transparent 10px,transparent 20px)}";le(Y3);const iu={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function su(){const e=jt(iu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var K3=".ihabdevteam-core-scope .promo-banner-bg-dots{background-color:var(--color-lightSub);background-image:radial-gradient(var(--color-sub-a10) 2px,transparent 2px);background-size:14px 14px}";le(K3);const lu={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function cu(){const e=jt(lu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var X3=".ihabdevteam-core-scope .promo-banner-bg-outline{background:var(--color-white);border:1px solid var(--color-whiteLine);box-sizing:border-box}.ihabdevteam-core-scope .promo-banner-bg-outline__dot{background:linear-gradient(45deg,var(--color-main),var(--color-sub));border-radius:50%;bottom:-40px;height:140px;opacity:.12;position:absolute;right:-40px;width:140px}";le(X3);const uu={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function du(){const e=jt(uu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:r.jsx("span",{className:"promo-banner-bg-outline__dot"})})}var Z3=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";le(Z3);const pu={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function hu(){const e=jt(pu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var J3=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";le(J3);const mu={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function bu(){const e=jt(mu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var Q3=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";le(Q3);const gu={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function fu(){const e=jt(gu,Qt,ea);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const da=(e,t,a)=>({key:e,get label(){return kt.t(`promoBannerBg.${e}`,t)},textTone:a}),tg=[da("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),da("soft","\uC18C\uD504\uD2B8","dark"),da("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),da("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),da("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),da("warm","\uC6DC(\uAC15\uC870)","dark"),da("dark","\uB2E4\uD06C","light"),da("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),da("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),da("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),da("outline","\uC544\uC6C3\uB77C\uC778","dark"),da("success","\uC131\uACF5/\uC644\uB8CC","light"),da("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),da("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],vu={main:Vc,soft:qc,sub:Kc,deep:Zc,softSub:Qc,warm:tu,dark:ou,radial:nu,diagonal:su,dots:cu,outline:du,success:hu,naver:bu,instagram:fu};function Ni({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:o=1.4,step:n=.1,lineHeightRatio:i=1.4}={}){const l=w=>Math.max(a,Math.min(o,Number(w))),c=w=>{try{const y=localStorage.getItem(w),A=y?Number(y):1;return Number.isFinite(A)?l(A):l(1)}catch{return l(1)}},[u,d]=s.useState(()=>c(e)),[h,p]=s.useState(e);h!==e&&(p(e),d(c(e))),s.useEffect(()=>{try{localStorage.setItem(e,String(u))}catch{}},[e,u]);const m=w=>{d(typeof w=="function"?y=>l(w(y)):l(w))},v=()=>m(w=>+(w+n).toFixed(6)),x=()=>m(w=>+(w-n).toFixed(6)),g=u<o-Number.EPSILON,b=u>a+Number.EPSILON,C=Math.round(t*u),f=Math.round(C*i);return{scale:u,setScale:m,increase:v,decrease:x,canIncrease:g,canDecrease:b,fontSize:C,lineHeight:f}}function Cn(e,t){const a=xn(t);s.useEffect(()=>{const o=()=>a.current();try{window.addEventListener(e,o)}catch{}return()=>{try{window.removeEventListener(e,o)}catch{}}},[e,a])}const xu=" \xB7 ",ag=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(xu)?e.split(xu).pop()??e:e})(),Cu=s.createContext(!1),Ho=[];let og=null;function yu(e){const t=s.useContext(Cu);s.useEffect(()=>{if(t||typeof e!="string"||!e)return;Ho.length===0&&(og=document.title);const a={text:ag?`${e}${xu}${ag}`:e};return Ho.push(a),document.title=a.text,()=>{const o=Ho.lastIndexOf(a);o>=0&&Ho.splice(o,1),document.title=Ho.length?Ho[Ho.length-1].text:og??document.title}},[e,t])}function eB(e,t){const[a,o,n]=e.split("-").map(Number),[i,l,c]=t.split("-").map(Number);return Math.round((Date.UTC(i,l-1,c)-Date.UTC(a,o-1,n))/864e5)}function rg(){const{t:e}=Ce.useTranslation();return s.useCallback(t=>{if(!t)return"";const a=Oa(t);if(!a)return"";const o=eB(a,ya());return o<=0?e("myHomework.relativeDay.today","\uC624\uB298"):o===1?e("myHomework.relativeDay.yesterday","\uC5B4\uC81C"):e("myHomework.relativeDay.daysAgo",{n:o})},[e])}function ng(e){const{t}=Ce.useTranslation(),[a,o]=s.useState({current:"",next:"",confirm:""}),[n,i]=s.useState(null),[l,c]=s.useState(!1),u=s.useRef(null),d=s.useRef(!1);s.useEffect(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);const h=s.useCallback(()=>{o({current:"",next:"",confirm:""}),i(null)},[]),p=s.useCallback(async()=>{if(d.current)return;if(!a.current){i({type:"error",text:t("account.security.password.currentRequired","\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(!a.next){i({type:"error",text:t("account.security.password.newRequired","\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(a.next!==a.confirm){i({type:"error",text:t("account.security.password.mismatch","\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")});return}c(!0),d.current=!0;let m;try{m=e?await e(a.current,a.next):null}catch(v){m=ln(v)}finally{d.current=!1,c(!1)}if(m){i({type:"error",text:m});return}i({type:"success",text:t("account.security.password.changed","\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.")}),o({current:"",next:"",confirm:""}),u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>i(null),1500)},[a,e,t]);return{pw:a,setPw:o,pwMsg:n,setPwMsg:i,pwLoading:l,handleChangePw:p,reset:h}}const _u=[{id:"wordData",labelKey:"settings.cache.group.wordData.label",subKey:"settings.cache.group.wordData.sub",keys:["word_data_cache","word_data_version"]},{id:"pairIndex",labelKey:"settings.cache.group.pairIndex.label",subKey:"settings.cache.group.pairIndex.sub",keys:["word_pair_index_v2","word_pair_index_sig_v2"]},{id:"imageCache",labelKey:"settings.cache.group.imageCache.label",subKey:"settings.cache.group.imageCache.sub",keys:["word_image_existence_map_v1"]}];function wu(e){return e.reduce((t,a)=>{try{const o=localStorage.getItem(a);return t+(o?new Blob([o]).size:0)}catch{return t}},0)}function ig(e){return e===0?"0 B":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(2)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function sg(e){const{t}=Ce.useTranslation(),[a,o]=s.useState({}),[n,i]=s.useState(null),[l,c]=s.useState(null),[u,d]=s.useState(null),h=s.useCallback(()=>{const m={};_u.forEach(v=>{m[v.id]=wu([...v.keys])}),o(m),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(v=>{d({usage:v.usage??0,quota:v.quota??0})}).catch(()=>{})},[]);s.useEffect(()=>{h()},[h]);const p=s.useCallback(async m=>{i(m);try{m==="wordData"?(localStorage.removeItem("word_data_cache"),localStorage.removeItem("word_data_version")):m==="pairIndex"?Cl():m==="imageCache"&&rl(),h(),e?.(t("settings.cache.cleared","\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."))}finally{i(null)}},[h,e,t]);return{cacheSizes:a,clearingId:n,confirmCacheId:l,setConfirmCacheId:c,storageEstimate:u,refreshCacheSizes:h,handleClearCache:p}}function lg(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useCallback(()=>{const l=Po();if(l){const u=Object.values(l),d=u.filter(h=>h.cho.length+h.jung.length+h.jong.length>0).length;a({matched:d,total:u.length})}else a(null);const c=qn();n(c?{exists:c.exists,total:c.total}:null)},[]);return s.useEffect(()=>{i();const l=setTimeout(i,1e3);return()=>clearTimeout(l)},[e?.length,i]),{pairStats:t,imgStats:o,setPairStats:a,setImgStats:n,refreshStats:i}}function Vo(e,t){if(e===t)return!0;const a=e?.id,o=t?.id;return a!=null&&a!==""&&a===o}function cg(e,t=[]){const[a,o]=s.useState(t),[n,i]=s.useState(null),[l,c]=s.useState(!1),[u,d]=s.useState(e),h=s.useRef(!1),p=s.useRef(null);s.useEffect(()=>{if(l)return;if(h.current){h.current=!1;return}const C=p.current;C!==null&&C.length===t.length&&C.every((f,w)=>f===t[w])||(p.current=t,o(t),i(f=>f==null?f:t.find(w=>Vo(w,f))??f))},[t,l]),s.useEffect(()=>{!l&&n!=null&&d({...n})},[l,n]);const m=s.useCallback(C=>{i(C),c(!1),d({...C})},[]),v=s.useCallback(()=>c(!0),[]),x=s.useCallback(()=>c(!1),[]),g=s.useCallback((C,f)=>{o(C),i(f),c(w=>(w&&(h.current=!0),!1))},[]),b=s.useCallback(C=>{o(f=>f.filter(w=>!Vo(w,C))),i(null)},[]);return{list:a,setList:o,selected:n,setSelected:i,isEditing:l,setIsEditing:c,editForm:u,setEditForm:d,openDetail:m,startEditing:v,cancelEditing:x,commitEdit:g,remove:b}}const wr=()=>{const[e,t,a]=ya().split("-");return{year:e,month:t,day:a}},tB={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function ug(e=[]){const{list:t,setList:a,selected:o,setSelected:n,isEditing:i,setIsEditing:l,editForm:c,setEditForm:u,openDetail:d,commitEdit:h}=cg(tB,e),{year:p,month:m,day:v}=wr(),[x,g]=s.useState({year:p,month:m,day:v,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:x,setVisitForm:g,setVisit:b=>C=>g(f=>({...f,[b]:C})),selectedVisit:o,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:l,editVisitForm:c,setEditVisitForm:u,openVisitDetail:d,handleVisitSave:b=>{a(y=>[x,...y]);const{year:C,month:f,day:w}=wr();g({year:C,month:f,day:w,hour:"09",minute:"00",memo:""}),b?.()},handleVisitEditSave:()=>{h(b=>b.map(C=>o!=null&&Vo(C,o)?c:C),c)},addVisit:b=>{a(C=>[b,...C])},removeVisit:b=>{a(C=>C.filter(f=>!Vo(f,b)))},revertVisitEdit:(b,C)=>{a(f=>f.map(w=>w===C?b:w)),n(f=>f===C?b:f)}}}const dg=e=>`${e.year.padStart(4,"0")}-${e.month.padStart(2,"0")}-${e.day.padStart(2,"0")} ${e.hour.padStart(2,"0")}:${e.minute.padStart(2,"0")}`,yn=e=>[...e].sort((t,a)=>{const o=dg(t),n=dg(a);return o<n?-1:o>n?1:0}),aB={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function pg(e,t=[]){const a=s.useMemo(()=>yn(t),[t]),{list:o,setList:n,selected:i,setSelected:l,isEditing:c,setIsEditing:u,editForm:d,setEditForm:h,openDetail:p,commitEdit:m,remove:v}=cg(aB,a),[x,g]=s.useState([]),{year:b,month:C,day:f}=wr(),[w,y]=s.useState({year:b,month:C,day:f,hour:"09",minute:"00",memo:""}),A=H=>T=>y(L=>({...L,[H]:T})),_=H=>{n(K=>yn([...K,w]));const{year:T,month:L,day:I}=wr();y({year:T,month:L,day:I,hour:"09",minute:"00",memo:""}),H?.()},B=()=>{m(H=>yn(H.map(T=>i!=null&&Vo(T,i)?d:T)),d)},k=s.useCallback(H=>{v(H)},[v]),E=s.useCallback(H=>{e({year:H.year,month:H.month,day:H.day,hour:H.hour,minute:H.minute,memo:H.memo,...H.id!=null?{id:H.id}:{}}),v(H)},[e,v]),S=s.useCallback(H=>{n(T=>T.filter(L=>!Vo(L,H))),g(T=>[H,...T]),l(null)},[n,l]),D=s.useCallback(H=>{n(T=>yn([...T,H]))},[n]),$=s.useCallback(H=>{n(T=>T.filter(L=>!Vo(L,H)))},[n]),j=s.useCallback((H,T)=>{n(L=>yn(L.map(I=>I===T?H:I))),l(L=>L===T?H:L)},[n,l]);return{scheduleList:o,noShowList:x,addSchedule:D,removeSchedule:$,revertScheduleEdit:j,scheduleForm:w,setScheduleForm:y,setSchedule:A,selectedSchedule:i,setSelectedSchedule:l,isEditingSchedule:c,setIsEditingSchedule:u,editScheduleForm:d,setEditScheduleForm:h,openScheduleDetail:p,handleScheduleSave:_,handleScheduleEditSave:B,handleScheduleDelete:k,handleScheduleToVisit:E,handleScheduleNoVisit:S}}const _n=[{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 hg(e){const{t}=Ce.useTranslation(),[a,o]=s.useState(""),[n,i]=s.useState("25"),[l,c]=s.useState("all"),[u,d]=s.useState(1),h=s.useMemo(()=>e.filter(({item:g,status:b})=>!(a&&!g.memo.includes(a)||l!=="all"&&b!==l)),[e,a,l]),p=Math.max(1,Math.ceil(h.length/Number(n))),m=Math.min(u,p),v=s.useMemo(()=>h.slice((m-1)*Number(n),m*Number(n)),[h,m,n]),x=s.useMemo(()=>_n.map(g=>({...g,label:t("common.pageSizeLabel",{n:g.value,defaultValue:g.label})})),[t]);return{vapSearch:a,setVapSearch:o,vapPageSize:n,setVapPageSize:i,vapPageSizeOptions:x,vapStatus:l,setVapStatus:c,vapPage:m,setVapPage:d,vapFiltered:h,vapTotal:p,vapPageItems:v}}const oB=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ga(e,t){return oB().compare(e,t)}const Ti=new Map;function rB(e){const t=Ti.get(e);if(t)return t;const a=[],o=/-?\d+(?:\.\d+)?/g;let n=0;for(let i=o.exec(e);i;i=o.exec(e)){let l=i.index,c=i[0];c[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,c=c.slice(1)),l>n&&a.push(e.slice(n,l)),a.push(Number(c)),n=i.index+i[0].length}return n<e.length&&a.push(e.slice(n)),Ti.size>5e3&&Ti.clear(),Ti.set(e,a),a}function nB(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function iB(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),o=a(e),n=a(t);if(o===n)return 0;const i=(d,h)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const p=nB(h);return p!==null?[p]:rB(h)},l=i(e,o),c=i(t,n),u=Math.min(l.length,c.length);for(let d=0;d<u;d++){const h=l[d],p=c[d];if(typeof h=="number"&&typeof p=="number"){if(h!==p)return h-p;continue}if(typeof h=="number")return-1;if(typeof p=="number")return 1;const m=ga(h,p);if(m!==0)return m}return l.length!==c.length?l.length-c.length:ga(o,n)}const mg=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function ku(e,t,a){const o=mg(e),n=mg(t);if(o||n)return o===n?0:o?1:-1;const i=iB(e,t);return a?i:-i}function Bu(e,t,a){const{t:o}=Ce.useTranslation(),[n,i]=s.useState(()=>{const x=a?.initialPageSize;return x&&_n.some(g=>g.value===x)?x:"25"}),[l,c]=s.useState(1),[u,d]=s.useState(t);Object.is(u,t)||(d(t),l!==1&&c(1));const h=s.useMemo(()=>_n.map(x=>({...x,label:o("visits.showN",{n:x.value})})),[o]),p=s.useCallback(x=>{i(x),c(1)},[]),m=Math.max(1,Math.ceil(e.length/Number(n)));(l>m||l<1||!Number.isFinite(l))&&c(Math.min(Math.max(1,Number.isFinite(l)?l:1),m));const v=Math.min(Math.max(1,Number.isFinite(l)?l:1),m);return{pageRows:s.useMemo(()=>e.slice((v-1)*Number(n),v*Number(n)),[e,v,n]),pageSizeProps:{options:h,value:n,onChange:p},paginationProps:{page:v,total:m,onChange:c},setPage:c}}function Au(e){const[t,a]=s.useState(null),o=s.useRef(t),n=s.useRef(e?.onSortChange);n.current=e?.onSortChange;const i=s.useCallback(u=>{const d=o.current,h=d?.key===u?{key:u,asc:!d.asc}:{key:u,asc:!0};o.current=h,a(h),n.current?.(h)},[]),l=s.useCallback((u,d)=>({label:u,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),c=s.useCallback((u,d)=>{if(!t)return u;const{key:h,asc:p}=t;return[...u].sort((m,v)=>ku(d(m,h),d(v,h),p))},[t]);return{sort:t,field:l,sortRows:c}}const bg=e=>e==="left"||e==="right"?e:null;function gg(){const[e,t]=s.useState(!1),[a,o]=s.useState("left"),[n,i]=s.useState({left:null,right:null}),[l,c]=s.useState({left:[],right:[]}),[u,d]=s.useState(!1),[h,p]=s.useState("left"),m=s.useCallback(x=>{const g=bg(x.direction);g&&(i(b=>({...b,[g]:x})),c(b=>({...b,[g]:[x,...b[g]]})),t(!1))},[]),v=s.useCallback(x=>{const g=bg(x.direction);g&&(i(b=>({...b,[g]:x})),d(!1))},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:o,devices:n,setDevices:i,deviceHistory:l,setDeviceHistory:c,showDeviceList:u,setShowDeviceList:d,listForSide:h,setListForSide:p,handleDeviceSubmit:m,handleSelectFromList:v}}const Lt="\uC804\uCCB4";function Su(){const{t:e}=Ce.useTranslation();return s.useMemo(()=>({difficulty:e("wordSearch.filter.difficulty","\uB4F1\uAE09"),syllables:e("wordSearch.filter.syllables","\uC74C\uC808 \uC218"),syllable5plus:e("wordSearch.filter.syllable5plus","5\uC74C\uC808 \uC774\uC0C1"),partOfSpeech:e("wordSearch.filter.partOfSpeech","\uD488\uC0AC"),wordType:e("wordSearch.filter.wordType","\uC720\uD615"),posMap:{[e("wordSearch.filter.pos.noun","\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)")]:["\uBA85","\uC218"],[e("wordSearch.filter.pos.verb","\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)")]:["\uB3D9","\uD615"],[e("wordSearch.filter.pos.modifier","\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)")]:["\uBD80","\uAD00"]},typeMap:{[e("wordSearch.filter.type.native","\uACE0\uC720\uC5B4")]:"\uACE0\uC720",[e("wordSearch.filter.type.sino","\uD55C\uC790\uC5B4")]:"\uD55C\uC790",[e("wordSearch.filter.type.foreign","\uC678\uB798\uC5B4")]:"\uC678\uB798",[e("wordSearch.filter.type.mixed","\uD63C\uC885\uC5B4")]:"\uD63C\uC885"}}),[e])}function Eu(e,t,a){return{label:t.difficulty,items:[...[1,2,3,4].map(o=>e("wordSearch.filter.grade",{n:o})),e("wordSearch.filter.gradeNone","\uC5C6\uC74C")],multiple:!0,allOption:!0,allLabel:a?.allLabel,labelAction:a?.labelAction,labelInfo:a?.labelInfo}}function Du(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function Nu(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function fg(e,t){return{label:t.syllables,items:[e("wordSearch.filter.syllable",{n:1}),e("wordSearch.filter.syllable",{n:2}),e("wordSearch.filter.syllable",{n:3}),e("wordSearch.filter.syllable",{n:4}),t.syllable5plus],multiple:!0,allOption:!0}}function vg(e,t){const a=[e("wordPairs.filter.onlyHasImage","\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC")];return t?.includeStructure&&a.push(e("wordPairs.filter.onlySameStructure","\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC")),{label:e("wordPairs.filter.selectLabel","\uC120\uD0DD"),items:a,multiple:!0,labelAction:t?.labelAction,labelInfo:t?.labelInfo}}function xg(e,t){const{label:a,headValue:o,midValue:n,tailValue:i,includeMid:l=!0,headDisabled:c,midDisabled:u,tailDisabled:d,allOptionDisabled:h,groupLabel:p,labelAction:m}=t;return{label:a,...p?{groupLabel:p}:{},...m?{labelAction:m}:{},allOption:!0,allLabel:e("wordSearch.filter.positionAny",{defaultValue:"\uBB34\uAD00"}),...h?{allOptionDisabled:h}:{},items:[{value:o,displayLabel:e("wordSearch.filter.positionHead",{defaultValue:"\uC5B4\uB450"}),disabled:c},...l?[{value:n,displayLabel:e("wordSearch.filter.positionMid",{defaultValue:"\uC5B4\uC911"}),disabled:u}]:[],{value:i,displayLabel:e("wordSearch.filter.positionTail",{defaultValue:"\uC5B4\uB9D0"}),disabled:d}]}}function Cg(e,t,a){const o=fn(a),n=o&&t!==Lt?Wo(o,t):null;if(o&&(t===Lt||n)){const c={},u={};for(const[v,x]of Object.entries(e))(fn(v)===o?u:c)[v]=x;if(t===Lt)return c;const d=vi(u)[o]??[],h=d.includes(n)?d.filter(v=>v!==n):[...d,n];if(h.length===0)return c;const p=xi({[o]:h},q5(a)),m=Object.values(p)[0]??[];return{...c,[a]:m}}if(t===Lt){const{[a]:c,...u}=e;return u}const i=e[a]??[],l=i.includes(t)?i.filter(c=>c!==t):[...i,t];if(l.length===0){const{[a]:c,...u}=e;return u}return{...e,[a]:l}}Object.fromEntries(Object.entries(nl).map(([e,{nucleus:t}])=>[e,t]));const sB={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},lB={"\uCCB4\uC5B8(\uBA85\uC0AC,\uC218\uC0AC)":["\uBA85","\uC218"],"\uC6A9\uC5B8(\uB3D9\uC0AC,\uD615\uC6A9\uC0AC)":["\uB3D9","\uD615"],"\uC218\uC2DD\uC5B8(\uBD80\uC0AC,\uAD00\uD615\uC0AC)":["\uBD80","\uAD00"]},cB={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",field:"\uC758\uBBF8\uBC94\uC8FC",posMap:lB,typeMap:sB},yg=new WeakMap;function uB(e,t){const a=yg.get(e);if(a&&a.keys===t)return a.value;const o={grades:[],syls:[],poses:[],types:[],fields:[]},n={grade:o.grades,syllables:o.syls,pos:o.poses,wordType:o.types,field:o.fields};for(const[i,l]of Object.entries(e??{})){const c=i===t.difficulty?"grade":i===t.syllables?"syllables":i===t.partOfSpeech?"pos":i===t.wordType?"wordType":i===t.field?"field":fn(i);if(c)for(const u of Array.isArray(l)?l:typeof l=="string"?[l]:[])n[c].includes(u)||n[c].push(u)}return yg.set(e,{keys:t,value:o}),o}function dB(e,t,a=cB){const{grades:o,syls:n,poses:i,types:l}=uB(t,a);if(o.length){const c=o.map(u=>Wo("grade",u)??u.replace(/\D/g,"")).filter(u=>u!=="");if(c.length===0||!Ac(c,e.grade))return!1}if(n.length){const c=e.syllables??0;if(!n.some(u=>{const d=u===a.syllable5plus?"5+":Wo("syllables",u);return d==="5+"?c>=5:c===parseInt(d??u)}))return!1}return!(i.length&&!i.flatMap(c=>a.posMap[c]??F5[Wo("pos",c)??""]??[c]).some(c=>(e.pos??"").includes(c))||l.length&&!l.some(c=>e.wordType===(a.typeMap[c]??W5[Wo("wordType",c)??""])))}const pB={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"})},hB={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"})},mB={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 _g(e,t){if("place"in t)return pB[t.place](e);const a=hB[t.vowel](e);return t.glide?`${a} \xB7 ${mB[t.glide](e)}`:a}const bB=(e,{defaultValue:t})=>t,wg=(e,t)=>({jamos:e,phonetic:t,tooltip:_g(bB,t)}),ao=(e,t)=>t.map(a=>wg([a],{place:e})),qt=(e,t,a)=>wg([...e],a?{vowel:t,glide:a}:{vowel:t}),Tu={cho:[ao("labial",["\u3142","\u3143","\u314D","\u3141"]),ao("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),ao("alveolar",["\u3145","\u3146"]),ao("palatal",["\u3148","\u3149","\u314A"]),ao("velar",["\u3131","\u3132","\u314B"]),ao("glottal",["\u314E"])],jung:[[qt("\u3163","frontHigh"),qt("\u315F","frontHigh","w"),qt("\u3162","frontHigh","velar")],[qt("\u3161","backHighUnrounded")],[qt("\u315C","backHighRounded"),qt("\u3160","backHighRounded","j")],[qt("\u3154\u3150","frontMid"),qt("\u3156\u3152","frontMid","j"),qt("\u3159\u315A\u315E","frontMid","w")],[qt("\u3153","backMidUnrounded"),qt("\u3155","backMidUnrounded","j"),qt("\u315D","backMidUnrounded","w")],[qt("\u3157","backMidRounded"),qt("\u315B","backMidRounded","j")],[qt("\u314F","low"),qt("\u3151","low","j"),qt("\u3158","low","w")]],jong:[ao("labial",["\u3142","\u3141"]),ao("alveolar",["\u3137","\u3134","\u3139"]),ao("velar",["\u3131","\u3147"])]},gB=[...ft],fB=[...At],vB=It.filter(e=>e!==""),Wa=e=>e===Na?[]:Array.from(e),Na="__NO_CODA__",kg=[1,2,3,4],Ta=5,xB=12,Bg="SYL_",ju=e=>`${Bg}${e}`,CB=e=>Number(e.slice(Bg.length));function ji(e){return e>=Ta?Array.from({length:xB-Ta+1},(t,a)=>Ta+a):[e]}const Ag={cho:gB,jung:fB,jong:vB},Lu=e=>e.map(t=>t.map(({jamos:a,phonetic:o,tooltip:n})=>({v:a.join(""),phonetic:o,tooltip:n}))),Mu={cho:Lu(Tu.cho),jung:Lu(Tu.jung),jong:Lu(Tu.jong)},Sg={};Mu.jung.flat().forEach(({v:e})=>{for(const t of Wa(e))Sg[t]=e});const yB=new Set(Mu.cho.flat().map(e=>e.v));function $u(e,t){return e==="cho"?yB.has(t)?t:null:e==="jung"?Sg[t]??t:$o(t)}function Ru(e,t,a){if(e==="jung"){const o=Wa(t);return a&&o.includes(a)?a:o[0]??t}return e==="jong"&&a&&$o(a)===t?a:t}function Pu(e,t,a,o){const n=(i,l)=>l?i==="jong"&&l===Na?Na:t==="pron"?$u(i,l):Ru(i,l,i==="jung"?a:i==="jong"?o:null):null;return{...e,cho:n("cho",e.cho),jung:n("jung",e.jung),jong:n("jong",e.jong)}}const Li={cho:null,jung:null,jong:null,syllable:null},zu=e=>Array.isArray(e)?e.filter(R5):[],_B="wt_filter",Eg=e=>`wt_filter_${e}`,Iu=["noun","verb","modifier"],Ou=["native","sino","foreign","mixed"];function Dg(e,t,a,o,n){if(!Array.isArray(e))return[];const i=[];for(const l of e){if(typeof l!="string")continue;const c=t.includes(l)?l:t.find(u=>n.some(d=>o(d,a(u))===l));c&&!i.includes(c)&&i.push(c)}return i}function Ng(e){try{const t=localStorage.getItem(Eg(e))??localStorage.getItem(_B);if(t)return JSON.parse(t)}catch{}return null}function Tg(e){const t=e?.phonemeView;return t==="pron"?"pron":t==="direct"?"direct":"char"}function wB(e){const t=e;return t?.composition?{cho:t.composition.cho??null,jung:t.composition.jung??null,jong:t.composition.jong??null,syllable:t.composition.syllable??null}:t?.choseong?{...Li,cho:t.choseong}:Li}const jg=["1\uB4F1\uAE09 : \uD559\uB839\uC804\uAE30\uC5D0 \uC2B5\uB4DD\uD558\uC5EC \uD3C9\uC0DD\uC5D0 \uAC78\uCCD0 \uC77C\uC0C1 \uC5B8\uC5B4\uC0DD\uD65C\uC744 \uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uB294 \uC5B4\uD718","2\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 1-2\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","3\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 3-4\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","4\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 5-6\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","\uB4F1\uAE09\uC5C6\uC74C : \uAD6D\uB9BD\uAD6D\uC5B4\uC6D0 \uD45C\uC900 \uC5B4\uD718 \uC678 \uACE0\uBE48\uB3C4 \uC0DD\uD65C \uC5B4\uD718, \uC2E0\uC870\uC5B4 \uBC0F \uC678\uB798\uC5B4"];function Fu(e){const t=e("wordPairs.filter.difficultyInfo",{returnObjects:!0,defaultValue:jg});return Array.isArray(t)&&t.length>0&&t.every(a=>typeof a=="string")?t:jg}function Lg(e,t,a){const{t:o,i18n:n}=Ce.useTranslation(),[i]=s.useState(()=>a?.resetOnMount?null:Ng(e)),[l,c]=s.useState(Tg(i)),[u,d]=s.useState(()=>wB(i)),h=s.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:Na,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?Na:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);s.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||d(q=>q.cho||q.jung||q.syllable!=null||q.jong?q:h())},[]);const p=s.useMemo(()=>Ot(u.cho)||Ot(u.jung)||Ot(u.jong)?"count":"random",[u.cho,u.jung,u.jong]),m=s.useRef(l==="char"?u.jung:null),v=s.useRef(l==="char"?u.jong:null);s.useEffect(()=>{l==="char"&&(m.current=u.jung,v.current=u.jong)},[l,u.jung,u.jong]);const[x,g]=s.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[b,C]=s.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[f,w]=s.useState(zu(i?.gradeFilter)),y=Array.from(new Set([n.language,"ko","en"].filter(Boolean))),A=(q,ae)=>n.getFixedT(q)(ae),_=q=>Dg(q,Iu,ae=>`wordSearch.filter.pos.${ae}`,A,y),B=q=>Dg(q,Ou,ae=>`wordSearch.filter.type.${ae}`,A,y),[k,E]=s.useState(()=>_(i?.posFilter)),[S,D]=s.useState(()=>B(i?.wordTypeFilter)),$=s.useRef(a?.resetKey);s.useEffect(()=>{$.current!==a?.resetKey&&($.current=a?.resetKey,d(h()),g(!!a?.defaultImageOnly),C(!1),w([]),E([]),D([]))},[a?.resetKey]);const j=Su(),H=s.useMemo(()=>Object.keys(j.posMap),[j]),T=s.useMemo(()=>Object.keys(j.typeMap),[j]),L=s.useMemo(()=>k.map(q=>H[Iu.indexOf(q)]).filter(Boolean),[k,H]),I=s.useMemo(()=>S.map(q=>T[Ou.indexOf(q)]).filter(Boolean),[S,T]),[K,Y]=s.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[M,G]=s.useState(!1),[z,V]=s.useState(null),W=1,O=Math.max(1,[u.cho,u.jung,u.jong].filter(Boolean).length),[N,P]=s.useState(e);s.useEffect(()=>{if(N!==e){if(!a?.resetOnMount){const q=Ng(e);d(q?.composition??h()),g(q?.excludeNoImage??!0),C(q?.sameStructureOnly??!0),c(Tg(q)),w(zu(q?.gradeFilter)),E(_(q?.posFilter)),D(B(q?.wordTypeFilter))}P(e)}},[e,N,a?.resetOnMount]),s.useEffect(()=>{if(!a?.resetOnMount&&N===e)try{localStorage.setItem(Eg(e),JSON.stringify({contrastCount:O,composition:u,excludeNoImage:x,sameStructureOnly:b,phonemeView:l,gradeFilter:f,posFilter:k,wordTypeFilter:S}))}catch{}},[a?.resetOnMount,e,N,O,u,x,b,l,f,k,S]);const[F,X]=s.useState(0);Cn("wordpool:update",()=>X(q=>q+1));const ie=s.useRef(n.language);s.useEffect(()=>{ie.current!==n.language&&(ie.current=n.language,X(q=>q+1))},[n.language]),s.useEffect(()=>{if(!t.choseong)return;let q=!1;return x3({difficulty:p,excludeNoImage:x}).then(ae=>{q||(Y(ae),ae.cho.size+ae.jung.size+ae.jong.size>0&&G(!0))}).catch(()=>{q||Y({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{q=!0}},[t.choseong,p,x,F]),s.useEffect(()=>{let q=!1;const ae=u,fe=ae.cho?Wa(ae.cho):null,Ee=ae.jung?Wa(ae.jung):null,Ae=ae.jong===Na,$e=Ae?null:ae.jong?Wa(ae.jong):null,Ge=ae.syllable!=null?ji(ae.syllable):null,pt=!!(fe||Ee||$e||Ae||Ge);return v3({difficulty:t.difficulty?p:null,contrastCount:t.difficulty?O:1,composition:t.choseong&&pt?{cho:fe,jung:Ee,jong:$e,jongNone:Ae,syllable:Ge}:null,excludeNoImage:x,sameStructureOnly:b,phonemeView:l==="pron"?"pron":"char",grade:f.length>0?f:null}).then(st=>{q||V(st)}).catch(()=>{q||V(null)}),()=>{q=!0}},[t.choseong,t.difficulty,p,O,u,l,x,b,F,f]),s.useEffect(()=>{M&&d(q=>{const ae={...q};let fe=!1;return["cho","jung","jong"].forEach(Ee=>{const Ae=q[Ee];!Ae||Ae===Na||Wa(Ae).some($e=>K[Ee].has($e))||(ae[Ee]=null,fe=!0)}),q.syllable!=null&&t.fixedSyllable==null&&(q.syllable>=Ta?[...K.syllable].some(Ee=>Ee>=Ta)||(ae.syllable=null,fe=!0):(!K.syllable.has(q.syllable)||q.syllable<W)&&(ae.syllable=null,fe=!0)),fe?ae:q})},[K,M,W,t.fixedSyllable]);const oe=s.useMemo(()=>{const q=ae=>{const fe=new Set;for(const Ee of Ag[ae])K[ae].has(Ee)&&fe.add(Ee);return fe};return{cho:q("cho"),jung:q("jung"),jong:q("jong")}},[K]),de=s.useMemo(()=>({exact:new Set(kg.filter(q=>K.syllable.has(q))),min:[...K.syllable].some(q=>q>=Ta)}),[K]),U=s.useMemo(()=>({composition:o("wordPairs.composition","\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131"),syllableCount:o("wordPairs.syllableCount","\uC74C\uC808 \uC218"),onset:o("wordPairs.onset","\uCD08\uC131"),vowel:o("wordPairs.vowel","\uBAA8\uC74C"),coda:o("wordPairs.coda","\uC885\uC131"),phonemeGroup:o("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),trainOnset:o("training.filter.trainOnset",{defaultValue:"\uCD08\uC131"}),trainVowel:o("training.filter.trainVowel",{defaultValue:"\uBAA8\uC74C"}),trainCoda:o("training.filter.trainCoda",{defaultValue:"\uC885\uC131"}),random:o("training.filter.random","\uBB34\uC791\uC704"),exclude:o("wordSearch.filter.exclude","\uC81C\uC678"),selectLabel:o("training.filter.selectSection",{defaultValue:"\uC120\uD0DD"}),none:o("common.none","\uC5C6\uC74C"),noImage:o("wordSearch.filter.excludeNoImage","\uC774\uBBF8\uC9C0 \uC5C6\uC74C"),excludeImage:o("training.filter.excludeImage",{defaultValue:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC"}),sameStructure:o("training.filter.sameStructure",{defaultValue:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"}),noLimit:o("training.filter.noLimit",{defaultValue:"\uBB34\uAD00"}),codaExclude:o("training.filter.codaExclude",{defaultValue:"\uC81C\uC678"}),gradeLabel:o("training.filter.gradeLabel",{defaultValue:"\uB09C\uC774\uB3C4 \uB4F1\uAE09"})}),[o]),se=s.useMemo(()=>({[U.trainOnset]:"cho",[U.trainVowel]:"jung",[U.trainCoda]:"jong"}),[U]),Se=s.useCallback((q,ae)=>({title:ae,items:q}),[]),Z=s.useMemo(()=>[o("training.filter.excludeImageInfo",{defaultValue:"\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."}),o("training.filter.sameStructureInfo",{defaultValue:"\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."})],[o]),ee=s.useMemo(()=>{const q=[];if(t.choseong){const ae={value:Na,displayLabel:U.codaExclude},fe=t.fixedNoCoda===!0,Ee=(Ae,$e)=>{const Ge=fe&&Ae==="jong",pt={label:$e,groupLabel:U.phonemeGroup,allOption:!t.requireSyllable,allLabel:U.noLimit,allOptionDisabled:Ge};if(l==="pron"){const rt=Mu[Ae].map(vt=>vt.map(({v:De,phonetic:Ve})=>{const ke=Wa(De),qe=_g(o,Ve),Ne=Ge||!ke.some(Re=>K[Ae].has(Re));return ke.length>1?{value:De,labels:ke,tooltip:qe,disabled:Ne}:{value:De,tooltip:qe,disabled:Ne}}));return Ae==="jong"&&!t.requireCoda&&rt.unshift([ae]),{...pt,groups:rt}}const st=Ag[Ae].map(rt=>!Ge&&oe[Ae].has(rt)?rt:{value:rt,disabled:!0});return{...pt,items:Ae==="jong"&&!t.requireCoda?[ae,...st]:st}};q.push(Ee("cho",U.trainOnset)),q.push(Ee("jung",U.trainVowel)),q.push(Ee("jong",U.trainCoda))}if(q.push({...Eu(o,j,{labelInfo:Se(Fu(o))}),label:U.gradeLabel}),t.partOfSpeech&&q.push(Du(j)),t.wordType&&q.push(Nu(j)),t.choseong||t.fixedSyllable!=null){const ae=t.fixedSyllable;q.push({label:U.syllableCount,items:[...kg.map(fe=>({value:ju(fe),displayLabel:o("wordPairs.syllableN",{n:fe,defaultValue:"{{n}}\uC74C\uC808"}),disabled:ae!=null?fe!==ae:!de.exact.has(fe)||fe<W})),{value:ju(Ta),displayLabel:o("wordPairs.syllableNPlus",{n:Ta,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:ae!=null?Ta!==ae:!de.min}],allOption:!0,allOptionDisabled:ae!=null})}return t.choseong?q.push({label:U.exclude,displayLabel:U.selectLabel,multiple:!0,items:[U.excludeImage,U.sameStructure],labelInfo:Se(Z)}):q.push({label:U.exclude,displayLabel:U.selectLabel,multiple:!0,items:[U.excludeImage],labelInfo:Se([Z[0]])}),q},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,W,oe,K,l,de,U,o,Se,Z,j]),me={...(t.choseong||t.fixedSyllable!=null)&&u.syllable!=null?{[U.syllableCount]:ju(u.syllable)}:{},...t.choseong&&u.cho?{[U.trainOnset]:u.cho}:{},...t.choseong&&u.jung?{[U.trainVowel]:u.jung}:{},...t.choseong&&u.jong?{[U.trainCoda]:u.jong}:{},[U.exclude]:[...x?[U.excludeImage]:[],...b?[U.sameStructure]:[]],[U.gradeLabel]:f.map(q=>V5("grade",q)),...t.partOfSpeech?{[j.partOfSpeech]:L}:{},...t.wordType?{[j.wordType]:I}:{}},Le=s.useCallback((q,ae)=>{if(ae===U.exclude)q===U.excludeImage?g(fe=>!fe):q===U.sameStructure&&C(fe=>!fe);else if(ae===U.syllableCount)d(fe=>{if(!q||q===Lt)return{...fe,syllable:null};const Ee=CB(q);return{...fe,syllable:fe.syllable===Ee?null:Ee}});else if(ae===U.gradeLabel){if(!q||q===Lt){w([]);return}const fe=Wo("grade",q);if(fe==null)return;w(Ee=>Ee.includes(fe)?Ee.filter(Ae=>Ae!==fe):[...Ee,fe])}else if(ae===j.partOfSpeech){if(!q||q===Lt){E([]);return}const fe=Iu[H.indexOf(q)]??_([q])[0];if(!fe)return;E(Ee=>Ee.includes(fe)?Ee.filter(Ae=>Ae!==fe):[...Ee,fe])}else if(ae===j.wordType){if(!q||q===Lt){D([]);return}const fe=Ou[T.indexOf(q)]??B([q])[0];if(!fe)return;D(Ee=>Ee.includes(fe)?Ee.filter(Ae=>Ae!==fe):[...Ee,fe])}else{const fe=se[ae];if(!fe)return;d(Ee=>t.requireSyllable?q&&q!==Lt?{...Ee,[fe]:q}:Ee:!q||q===Lt||Ee[fe]===q?{...Ee,[fe]:null}:{...Ee,[fe]:q})}},[U,se,j,H,T,t.requireSyllable]),ye=s.useCallback(q=>!t.partOfSpeech&&!t.wordType?!0:dB(q,{...t.partOfSpeech?{[j.partOfSpeech]:L}:{},...t.wordType?{[j.wordType]:I}:{}},j),[t.partOfSpeech,t.wordType,L,I,j]),re=s.useCallback(q=>{q!==l&&(q!=="direct"&&l!=="direct"&&d(ae=>Pu(ae,q,m.current,v.current)),c(q))},[l]),pe=s.useCallback(()=>({composition:u,contrastCount:O,excludeNoImage:x,sameStructureOnly:b,phonemeView:l,gradeFilter:f,posFilter:k,wordTypeFilter:S}),[u,O,x,b,l,f,k,S]),ve=s.useCallback(q=>{d(q.composition),g(q.excludeNoImage),C(q.sameStructureOnly??!0),c(q.phonemeView),w(zu(q.gradeFilter)),Array.isArray(q.posFilter)&&E(_(q.posFilter)),Array.isArray(q.wordTypeFilter)&&D(B(q.wordTypeFilter))},[]);return{difficulty:p,contrastCount:O,composition:u,choseong:u.cho,excludeNoImage:x,sameStructureOnly:b,gradeFilter:f,posFilter:L,wordTypeFilter:I,matchesWordAttributes:ye,poolVersion:F,filterSections:ee,filterSelected:me,handleFilterSelect:Le,phonemeView:l,setPhonemeView:re,phonemeGroupLabel:U.phonemeGroup,wordCount:z,getFilterSnapshot:pe,restoreFilterSnapshot:ve}}function kB(e){const t=c=>c?Wa(c):null,a=t(e.cho),o=t(e.jung),n=e.jong===Na,i=n?null:t(e.jong),l=e.syllable!=null?ji(e.syllable):null;return!a&&!o&&!i&&!n&&!l?null:{cho:a,jung:o,jong:i,jongNone:n,syllable:l}}function Mg(e,t,a,o,n,i,l=!0,c="char",u=[]){const[d,h]=s.useState({}),[p,m]=s.useState(!1),{cho:v=null,jung:x=null,jong:g=null,syllable:b=null}=o??{},C=u.length>0?u.slice().sort().join(","):"",f=e.map(y=>y.key).join("|");s.useEffect(()=>{i>0&&f3(n).catch(()=>{})},[i,n]),s.useEffect(()=>{let y=!1;return m(!0),(async()=>{const A=kB({cho:v,jung:x,jong:g,syllable:b}),_=`${v??""}_${x??""}_${g??""}_${b??""}_${C}`,B={};await Promise.all(e.map(async k=>{const E=dr[k.key];try{const S=await Sb(k.key,{difficulty:E.difficulty?t:null,contrastCount:E.difficulty?a:1,composition:E.choseong?A:null,count:5,excludeNoImage:n,sameStructureOnly:l,phonemeView:c,grade:u.length>0?u:null});S&&S.length>0?B[k.key]={id:`wt-${k.key}-${t}-${_}-${Date.now()}`,name:k.label,training_type:k.key,category_main_code:"WORD",iconColor:k.color,subTitle:k.subTitle,items:S,itemCount:S.length}:B[k.key]={id:`wt-${k.key}-empty`,name:k.label,training_type:k.key,category_main_code:"WORD",iconColor:k.color,subTitle:k.subTitle,items:[],itemCount:0,__empty:!0}}catch{B[k.key]=null}})),y||(h(B),m(!1))})(),()=>{y=!0}},[t,a,v,x,g,b,n,l,c,i,C,f]);const w=JSON.stringify(e.map(y=>[y.key,y.label,y.color,y.subTitle]));return{perTypeData:s.useMemo(()=>{const y={};for(const[A,_]of Object.entries(d)){const B=e.find(k=>k.key===A);y[A]=_&&B?{..._,name:B.label,iconColor:B.color,subTitle:B.subTitle}:_}return y},[d,w]),generating:p}}function $g(e){let t=2166136261;for(let a=0;a<e.length;a++)t^=e.charCodeAt(a),t=Math.imul(t,16777619);return t>>>0}function BB(e){let t=e>>>0;return()=>{t|=0,t=t+1831565813|0;let a=Math.imul(t^t>>>15,1|t);return a=a+Math.imul(a^a>>>7,61|a)^a,((a^a>>>14)>>>0)/4294967296}}const AB=Sa,SB=e=>{const[t,a,o]=e.split("-").map(Number);return Math.round(Date.UTC(t,(a||1)-1,o||1)/864e5)},EB=(e,t)=>{const a=e??{};return String(a.id??a.name??t)};function Mi(e,t,a,o,n){if(!e.length||t<=0)return[];const i=BB($g(`${a}|${o}|${n}`)),l=SB(o)&1,c=e.filter((d,h)=>($g(`${a}|${n}|${EB(d,h)}`)>>>7&1)===l),u=c.length>=t&&e.length-c.length>=t;return AB(u?c:e,t,i)}function Wu(e,t,a){const o=n=>Math.max(0,e[n]||0);return{LISTEN_IN_NOISE:Mi(go,o("LISTEN_IN_NOISE"),t,a,"LISTEN_IN_NOISE"),SHORT_STORY:Mi(fo,o("SHORT_STORY"),t,a,"SHORT_STORY"),LONG_STORY:Mi(vo,o("LONG_STORY"),t,a,"LONG_STORY"),ORDERING_SENTENCE:Mi(xo,o("ORDERING_SENTENCE"),t,a,"ORDERING_SENTENCE")}}function Gu(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const DB={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function Hu(e=!1,t=DB,a){const o=Oa(Date.now()),n=Oa(Date.now()-864e5),i=a??"";return go.length>0||fo.length>0||vo.length>0||xo.length>0?{today:Wu(t,i,o),yesterday:Wu(t,i,n)}:{today:Wu(t,i,o),yesterday:null}}function Rg(e){const t=s.useRef({LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),a=s.useRef(null),[o,n]=s.useState(!1),[i,l]=s.useState(!1),[c,u]=s.useState(0),[d,h]=s.useState(!1),[p,m]=s.useState(()=>ya());s.useEffect(()=>{const x=()=>{const b=Date.now(),C=new Date(b+9*36e5),f=Date.UTC(C.getUTCFullYear(),C.getUTCMonth(),C.getUTCDate()+1)-9*36e5;return Math.max(1e3,f-b+1e3)};let g=setTimeout(function b(){m(ya()),g=setTimeout(b,x())},x());return()=>clearTimeout(g)},[]),s.useEffect(()=>{let x=!1,g=!1,b=!1,C,f=0,w=null,y=0;const A=40,_=()=>{C!==void 0&&(clearInterval(C),C=void 0)};let B=!1;try{const $=new URLSearchParams(window.location.search),j=$.get("forceRefresh")||$.get("force");B=j==="1"||j==="true"}catch{}const k=$=>{g||(b=!0,t.current=$.today,a.current=$.yesterday,n(!0),h(!0),u(j=>j+1),x=!0,_())},E=async()=>{if(x)return;if(!B){const j=Hu(!1,void 0,e);if(Gu(j.today)){k(j);return}}if(w){++f>=A&&S();return}if(f>=y){y=f+8,w=wc(3e3).catch(()=>!1);try{await w}finally{w=null}if(x)return}const $=Hu(B,void 0,e);if(Gu($.today)){k($);return}++f>=A&&S()};function S(){n(!0),h(!1),x=!0,_()}const D=()=>{if(g||b)return;const $=Hu(B,void 0,e);Gu($.today)&&k($)};try{window.addEventListener("speechear.data.updated",D)}catch{}return E(),C=setInterval(E,250),()=>{x=!0,g=!0,_();try{window.removeEventListener("speechear.data.updated",D)}catch{}}},[e,p]);const v=s.useCallback(x=>{const g=i?a.current:t.current,b=i?t.current:a.current;return g?.[x]?.length?g[x]:b?.[x]?.length?b[x]:void 0},[i,c]);return{loaded:o,hasData:d,showYesterday:i,setShowYesterday:l,getTrainingPerType:v}}function Vu(e,t=!0){const a=xn(e);s.useEffect(()=>{if(t)return Go(()=>{a.current?.()})},[t,a])}const $i=(e,t)=>`${e}:${t??1}`,Ri=new Map,Pg=new Set,zg=new Map,NB=6e4;function Ig(e,t){const[a,o]=s.useState(0),n=Array.from(new Set(e.map(i=>$i(i.word,i.homonum)))).sort().join("|");return s.useEffect(()=>{const i=n?n.split("|"):[],l=Date.now(),c=i.filter(h=>!Ri.has(h)&&!Pg.has(h)&&!(l-(zg.get(h)??-1/0)<NB));if(c.length===0)return;let u=!1;const d=Array.from(new Set(c.map(h=>h.slice(0,h.lastIndexOf(":")))));return t(d).then(h=>{for(const p of h)p.Meaning&&Ri.set($i(p.Word,p.Homonum??void 0),p.Meaning);if(h.length>0)for(const p of c)Ri.has(p)||Pg.add(p);else{const p=Date.now();for(const m of c)zg.set(m,p)}u||h.length===0||o(p=>p+1)}).catch(()=>{}),()=>{u=!0}},[n,t]),s.useMemo(()=>{const i=n?n.split("|"):[],l=new Map;for(const c of i){const u=Ri.get(c);u!=null&&l.set(c,u)}return l},[n,a])}function Uo(){const[e,t]=s.useState(null),a=s.useCallback(i=>t(i.getBoundingClientRect()),[]),o=s.useCallback(()=>t(null),[]),n=s.useCallback(i=>{const l=i.getBoundingClientRect();t(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:o,toggleAt:n}}function Uu(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useRef(null);s.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const l=s.useCallback((u,d)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(u),n(d)},e)},[e]),c=s.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),n(null)},[]);return{payload:t,anchorRect:o,openAfterDelay:l,close:c}}function Og(e,t,a){const o=Number.isFinite(t)&&t>=1?Math.floor(t):1,n=Math.max(1,Math.ceil(e.length/o)),i=Number.isFinite(a)?Math.min(Math.max(1,Math.floor(a)),n):1;return{pageItems:s.useMemo(()=>e.slice((i-1)*o,i*o),[e,i,o]),totalPages:n,curPage:i}}function qu(e,t){const[a,o]=s.useState(e);a!==e&&(o(e),t(1))}function Fg(e={}){const{defaultPageSize:t="25",resetOn:a}=e,[o,n]=s.useState(""),[i,l]=s.useState(t),[c,u]=s.useState(1),d=Number(t)||25,h=Number(i)||d;return qu([o,i,...a??[]].map(String).join("|"),u),{query:o,setQuery:n,pageSize:i,setPageSize:l,perPage:h,page:c,setPage:u}}function Pi(e="warning"){const[t,a]=s.useState(""),[o,n]=s.useState(e),[i,l]=s.useState(0),c=s.useCallback((p,m)=>{n(m),a(p),l(v=>v+1)},[]),u=s.useCallback(p=>c(p,"warning"),[c]),d=s.useCallback(p=>c(p,"normal"),[c]),h=s.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:o,toastKey:i,showToast:c,showWarning:u,showNormal:d,clearToast:h}}const wn={blue:"#60A5FA",green:"#4ADE80",amber:"#FBBF24",purple:"#A78BFA",pink:"#F472B6"},kn=wn.blue,zi=wn.green,Bn=wn.amber,Ii=wn.purple,TB=wn.pink,jB=[{key:"discrimination",label:"\uBCC0\uBCC4\uD6C8\uB828",disc:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0, \uB610\uB294 \uD2B9\uC815 \uC18C\uB9AC\uB97C \uAD6C\uBCC4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"ear",types:[{key:"SAME_SOUND_PICK",label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",icon:"volume-2",color:kn,subTitle:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"SAME_OR_DIFF",label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",icon:"diff",color:kn,subTitle:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},{key:"HEAR_AND_PICK_SAME",label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"headphones",color:kn,subTitle:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"HEAR_AND_PICK_INCLUDED",label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"scan-search",color:kn,subTitle:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"STARTS_WITH_SAME_SOUND",label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"play-circle",color:kn,subTitle:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."}]},{key:"synthesis",label:"\uD569\uC131\uD6C8\uB828",disc:"\uB450 \uAC1C \uC774\uC0C1\uC758 \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uD569\uCCD0 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"git-merge",types:[{key:"MERGE_2_SYLLABLES",label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",icon:"link-2",color:zi,subTitle:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_3_SYLLABLES",label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",icon:"git-merge",color:zi,subTitle:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_2_PHONEMES",label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",icon:"combine",color:zi,subTitle:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_3_PHONEMES",label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",icon:"braces",color:zi,subTitle:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"}]},{key:"deletion",label:"\uD0C8\uB77D\uD6C8\uB828",disc:"\uB2E8\uC5B4\uC5D0\uC11C \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uC81C\uAC70\uD588\uC744 \uB54C \uB0A8\uB294 \uC18C\uB9AC\uB97C \uC778\uC2DD\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"scissors",types:[{key:"DROP_1_FROM_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C 1\uC74C\uC808 \uD0C8\uB77D",icon:"scissors",color:Bn,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_1_FROM_3SYLL",label:"3\uC74C\uC808\uC5D0\uC11C 1\uC74C\uC808 \uD0C8\uB77D",icon:"minus-circle",color:Bn,subTitle:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_PART_FROM_COMPOUND",label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84\uD0C8\uB77D",icon:"unlink",color:Bn,subTitle:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_FINAL_CONSONANT_FROM_1SYLL",label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",icon:"eraser",color:Bn,subTitle:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"REMOVE_CONSONANT_AND_IDENTIFY_PHONEME",label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",icon:"audio-lines",color:Bn,subTitle:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"}]},{key:"substitution",label:"\uB300\uCE58\uD6C8\uB828",disc:"\uB2E8\uC5B4\uC758 \uC77C\uBD80 \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uBC14\uAFB8\uC5B4 \uC0C8\uB85C\uC6B4 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"replace",types:[{key:"CHANGE_1_SYLL_IN_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",icon:"replace",color:Ii,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_SYLL_IN_3SYLL",label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",icon:"shuffle",color:Ii,subTitle:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_PHONEME_IN_1SYLL",label:"1\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC18C \uBC14\uAFB8\uAE30",icon:"arrow-right-left",color:Ii,subTitle:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_PHONEME_IN_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC18C \uBC14\uAFB8\uAE30",icon:"flip-horizontal",color:Ii,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}]},{key:"attention",label:"\uCCAD\uAC01\uC801\uC8FC\uC758\uB825\uD6C8\uB828",disc:"\uC5EC\uB7EC \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uC21C\uC11C\uB97C \uAE30\uC5B5\uD558\uB294 \uC8FC\uC758\uB825\uACFC \uB2E8\uAE30 \uAE30\uC5B5 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"list-ordered",types:[{key:"LISTEN_AND_REMEMBER_ORDER",label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",icon:"list-ordered",color:TB,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function Wg(){const{t:e}=Ce.useTranslation();return s.useMemo(()=>{const t=Object.fromEntries(pb(e).map(o=>[o.key,o.label])),a={...t};return jB.flatMap(o=>o.types).forEach(o=>{a[o.key]=e(`trainingType.${o.key}.label`,{defaultValue:o.label})}),{sentence:t,all:a}},[e])}function An(e){let t=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const o=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(o)&&o>t&&(t=o)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function qo({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:o}){const[n,i]=s.useState(!1),[l,c]=s.useState({position:"fixed"}),u=s.useRef(null),d=s.useRef(null),h=s.useCallback(()=>{u.current&&c(e(u.current.getBoundingClientRect(),u.current))},[e]);s.useLayoutEffect(()=>{n&&h()},[n,h]),s.useEffect(()=>{if(!n)return;let v=d.current?.offsetHeight??0;v>0&&h();let x=0,g=null;typeof ResizeObserver<"u"&&d.current&&(g=new ResizeObserver(()=>{const B=d.current?.offsetHeight??0;if(B!==v){if(v=B,++x>4){g?.disconnect(),g=null;return}h()}}),g.observe(d.current));const b=B=>{const k=B.target;o&&k.closest?.(o)||u.current?.contains(k)||d.current?.contains(k)||i(!1)};document.addEventListener("mousedown",b),document.addEventListener("pointerdown",b);let C=null;const f=()=>{if(typeof requestAnimationFrame>"u"){h();return}C===null&&(C=requestAnimationFrame(()=>{C=null,h()}))},w=B=>{d.current?.contains(B.target)||(t==="reposition"?f():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",w,!0);const y=()=>{a==="reposition"?f():a==="close"&&i(!1)};let A=null;const _=()=>{y(),A&&clearTimeout(A),A=setTimeout(()=>{A=null,a==="reposition"&&h()},250)};return a!=="ignore"&&(window.addEventListener("resize",y),window.addEventListener("orientationchange",_)),()=>{C!==null&&cancelAnimationFrame(C),g?.disconnect(),document.removeEventListener("mousedown",b),document.removeEventListener("pointerdown",b),t!=="ignore"&&window.removeEventListener("scroll",w,!0),a!=="ignore"&&(window.removeEventListener("resize",y),window.removeEventListener("orientationchange",_)),A&&clearTimeout(A)}},[n,h,t,a,o]),s.useEffect(()=>{if(n)return Go(()=>i(!1))},[n]);const p=s.useCallback(()=>i(v=>!v),[]),m=s.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:p,close:m,style:l,triggerRef:u,menuRef:d}}function Yu(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:o,onComplete:n,playMs:i=1100,feedbackMs:l=1500}={}){const[c,u]=s.useState([]),[d,h]=s.useState(0),[p,m]=s.useState("idle"),[v,x]=s.useState(null),[g,b]=s.useState([]),[C,f]=s.useState(null),[w,y]=s.useState(0),A=s.useRef(0),_=s.useCallback(z=>{A.current=typeof z=="function"?z(A.current):z,y(A.current)},[]),B=s.useRef(o),k=s.useRef(n);s.useEffect(()=>{B.current=o,k.current=n},[o,n]);const E=s.useRef([]),S=()=>{E.current.forEach(clearTimeout),E.current=[]},D=(z,V)=>{E.current.push(setTimeout(V,z))};s.useEffect(()=>()=>S(),[]);const $=c[d]?.id??null,j=s.useRef(null),H=s.useCallback(()=>{S(),m("playing"),b([]),f(null),_(0);let z=0;e.forEach((V,W)=>{D(z,()=>{h(W),x(V.id),B.current?.(V)}),D(z+1e3,()=>{x(null),b(O=>[...O,V.id])}),z+=1300}),D(z,()=>{m("done"),k.current?.({score:0,total:e.length})})},[e,_]),T=s.useCallback((z,V)=>{if(V>=z.length){m("done"),k.current?.({score:A.current,total:z.length});return}j.current=null,h(V),f(null),m("playing"),x(z[V].id),B.current?.(z[V]),D(i,()=>{x(null),m("waiting")})},[i]),L=s.useCallback(()=>{S();const z=ut(e);u(z),_(0),b([]),T(z,0)},[e,T,_]),I=s.useCallback(()=>{t==="playback"?(u(e),H()):L()},[t,e,H,L]),K=s.useCallback(()=>{S(),m("idle"),x(null),b([]),f(null),h(0),_(0),u([])},[_]),Y=e.map(z=>z.id).join("|");s.useEffect(()=>(a?I():K(),()=>S()),[t,Y,a]);const M=s.useCallback(z=>{p!=="waiting"||t==="playback"||j.current===d||(j.current=d,f(z),z===c[d]?.id&&_(V=>V+1),t==="exam"?(m("playing"),D(400,()=>T(c,d+1))):(m("feedback"),D(l,()=>T(c,d+1))))},[p,t,c,d,T,l,_]),G=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:v,playedIds:g,selectedId:C,answerId:$,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:M},index:d,total:G,score:w,phase:p,done:p==="done",start:I,reset:K}}const Ku=new Map,Xu=new Map;function Gg(e){const t=/^data:image\/svg\+xml(;base64)?,([\s\S]*)$/.exec(e);if(!t)return null;try{return t[1]?atob(t[2]):decodeURIComponent(t[2])}catch{return null}}function LB(e){return e.replace(/<script[\s\S]*?<\/script\s*>/gi,"").replace(/<script[^>]*\/>/gi,"").replace(/\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi,"").replace(/\s(xlink:)?href\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi,"")}function MB(e,t){const a=new Set;for(const l of e.matchAll(/url\(#([^)\s"']+)\)/g))a.add(l[1]);for(const l of e.matchAll(/(?:xlink:)?href="#([^"]+)"/g))a.add(l[1]);const o=new Set([...e.matchAll(/id="([^"]*)"/g)].map(l=>l[1])),n=[...a].filter(l=>o.has(l));if(n.length===0)return e;let i=e;for(const l of n){const c=l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=`${t}-${l}`;i=i.replace(new RegExp(`id="${c}"`,"g"),`id="${u}"`).replace(new RegExp(`url\\(#${c}\\)`,"g"),`url(#${u})`).replace(new RegExp(`((?:xlink:)?href)="#${c}"`,"g"),`$1="#${u}"`)}return i}function $B(e){const t=Xu.get(e);if(t)return t;const a=fetch(e).then(o=>o.ok?o.text():null).then(o=>(o!=null&&Ku.set(e,o),o)).catch(()=>null).finally(()=>{Xu.delete(e)});return Xu.set(e,a),a}function Zu(e,t=!0){const a=t&&e?Gg(e)??Ku.get(e)??null:null,[o,n]=s.useState(a);return s.useEffect(()=>{if(!t||!e){n(null);return}const i=Gg(e)??Ku.get(e)??null;if(i!==null){n(i);return}let l=!0;return $B(e).then(c=>{l&&n(c)}),()=>{l=!1}},[e,t]),o}var RB=Object.freeze({__proto__:null,CACHE_GROUPS:_u,CORE_VERSION:Fn,DocumentTitleSuppressContext:Cu,EMPTY_COMPOSITION:Li,MediaQueryOverrideContext:Ei,NO_CODA:Na,SYLLABLE_MIN:Ta,VAP_PAGE_SIZE_OPTIONS:_n,buildGradeSection:Eu,buildPartOfSpeechSection:Du,buildPositionSection:xg,buildSelectSection:vg,buildSyllableSection:fg,buildWordTypeSection:Nu,charToPronValue:$u,convertComposition:Pu,fmtBytes:ig,gradeDescriptions:Fu,lsBytes:wu,meaningKey:$i,normalizeWordAttributeFilter:mb,pronToCharValue:Ru,syllableToFilter:ji,toWordAttributeFilterCodes:vi,today:wr,toggleAttributeFilter:Cg,useAnchoredMenu:qo,useCacheManagement:sg,useDailyTrainingSelection:Rg,useDelayedHoverAnchor:Uu,useDeviceManagement:gg,useDocumentTitle:yu,useEscToClose:Vu,useFontScale:Ni,useHoverAnchor:Uo,useInlineSvg:Zu,useListControls:Fg,useMediaQuery:ua,usePageResetOnChange:qu,usePagedList:Og,usePasswordChange:ng,useRelativeDay:rg,useSoundCompassExam:Yu,useTablePaging:Bu,useTableSort:Au,useToastState:Pi,useTrainingTypeLabels:Wg,useVisitAllPanel:hg,useVisitHistory:ug,useVisitSchedule:pg,useWindowEvent:Cn,useWordAttributeFilterKeys:Su,useWordDataStats:lg,useWordMeanings:Ig,useWordTrainingDataGeneration:Mg,useWordTrainingFilter:Lg,valueToJamos:Wa,wordAttributeFilterFromCodes:xi}),PB=".ihabdevteam-core-scope .promo-banner{align-items:center;border-radius:var(--radius-s);box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;overflow:hidden;position:relative;text-align:left}.ihabdevteam-core-scope .promo-banner--medium{min-height:120px;padding:20px 24px}.ihabdevteam-core-scope .promo-banner--small{padding:14px 16px}.ihabdevteam-core-scope .promo-banner__title{color:inherit;color:var(--promo-banner-bg-title,inherit)}.ihabdevteam-core-scope .promo-banner__description{color:inherit;color:var(--promo-banner-bg-description,inherit)}.ihabdevteam-core-scope .promo-banner__text{display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;z-index:1}.ihabdevteam-core-scope .promo-banner__description{margin-left:2px;margin-top:1px}.ihabdevteam-core-scope .promo-banner>.button{flex-shrink:0;position:relative;z-index:1}";le(PB);function Hg({title:e,description:t,actionLabel:a,onAction:o,bg:n,color:i,size:l="medium",actionVariant:c,titleColor:u,descriptionColor:d,className:h=""}){const p=n??i??"main",m=s.useRef(null),[v,x]=s.useState("main"),g=ua("(max-width: 767px)"),b=s.useRef({title:!1,description:!1});s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const y=Di(w),A=(_,B,k)=>{if(k!==void 0)w.style.setProperty(B,k),b.current[_]=!0;else if(b.current[_]){const E=y?.[_];E?w.style.setProperty(B,E):w.style.removeProperty(B),b.current[_]=!1}};A("title","--promo-banner-bg-title",u),A("description","--promo-banner-bg-description",d)},[u,d,p]),s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const y=Di(w);x(y?.actionVariant??"main")},[p]);const C=Be("promo-banner",`promo-banner--${l}`,h),f=vu[p];return r.jsxs("div",{ref:m,className:C,role:"note",children:[r.jsx(f,{}),r.jsxs("div",{className:"promo-banner__text",children:[r.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&r.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&o&&r.jsx(ge,{htmlType:"button",size:40,variant:c??v,shape:"pill",useBorder:!0,onClick:o,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var zB='.ihabdevteam-core-scope .top-banner{--top-banner-min-h:120px;display:flex;flex-direction:column;padding-bottom:var(--spacing-page);position:relative}.ihabdevteam-core-scope .top-banner__viewport{border-radius:var(--radius-m);min-height:var(--top-banner-min-h);overflow:hidden}.ihabdevteam-core-scope .top-banner__track{align-items:stretch;display:flex;min-height:var(--top-banner-min-h);transition:transform .4s ease}.ihabdevteam-core-scope .top-banner__slide{flex:0 0 100%;min-width:0}.ihabdevteam-core-scope .top-banner__slide>*{box-sizing:border-box;min-height:100%;width:100%}.ihabdevteam-core-scope .top-banner__dots{bottom:calc(var(--spacing-page) + 12px);display:flex;gap:6px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .top-banner__dot{background:var(--color-white-a30);border:none;border-radius:3px;cursor:pointer;height:6px;padding:0;position:relative;transition:width .25s ease,background-color .25s ease;width:6px}.ihabdevteam-core-scope .top-banner__dot:after{content:"";height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% + 6px)}.ihabdevteam-core-scope .top-banner__dot--active{background:var(--color-white);width:18px}.ihabdevteam-core-scope .top-banner__dots--dark .top-banner__dot{background:var(--color-lightGray-a80)}.ihabdevteam-core-scope .top-banner__dots--dark .top-banner__dot--active{background:var(--color-main)}';le(zB);function Vg({children:e,interval:t=5e3,dotTone:a,className:o="","aria-label":n}){const{t:i}=Ce.useTranslation(),l=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=s.Children.toArray(e),u=c.length,[d,h]=s.useState(0),[p,m]=s.useState(!1),[v,x]=s.useState(!1),[g,b]=s.useState(!1),C=s.useRef(null),f=s.useRef(null),w=s.useRef(null),y=Oc(),A=p||v||g,_=u>0?Math.min(d,u-1):0;s.useEffect(()=>{if(u<2||t<=0||A||y)return;const k=window.setInterval(()=>h(E=>(Math.min(E,u-1)+1)%u),t);return()=>window.clearInterval(k)},[u,t,A,y]);const B=k=>{f.current!=null&&window.clearTimeout(f.current),f.current=window.setTimeout(()=>{f.current=null,b(!1)},k)};return s.useEffect(()=>()=>{f.current!=null&&window.clearTimeout(f.current)},[]),s.useEffect(()=>{if(!g)return;const k=E=>{E.pointerType==="touch"&&(w.current&&w.current.contains(E.target)||(f.current!=null&&(window.clearTimeout(f.current),f.current=null),b(!1)))};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[g]),u===0?null:r.jsxs("section",{ref:w,className:Be("top-banner",o),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:k=>{C.current=k.pointerType},onPointerDown:k=>{C.current=k.pointerType,k.pointerType==="touch"&&(f.current!=null&&(window.clearTimeout(f.current),f.current=null),b(!0))},onPointerUp:k=>{k.pointerType==="touch"&&B(5e3)},onPointerCancel:k=>{k.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{C.current!=="touch"&&m(!0)},onMouseLeave:()=>m(!1),onFocus:k=>{let E=!0;try{E=k.target.matches(":focus-visible")}catch{E=!0}x(E)},onBlur:k=>{k.currentTarget.contains(k.relatedTarget)||x(!1)},children:[r.jsx("div",{className:"top-banner__viewport",children:r.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${_*100}%)`},children:c.map((k,E)=>r.jsx("div",{className:"top-banner__slide","aria-hidden":E!==_,...E!==_?{inert:!0}:{},children:k},E))})}),u>1&&r.jsx("div",{className:`top-banner__dots${(a?.[_]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((k,E)=>r.jsx("button",{type:"button",className:`top-banner__dot${E===_?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:u,index:E+1,defaultValue:`${u}\uAC1C \uC911 ${E+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":E===_,onClick:()=>h(E)},E))})]})}var IB=".ihabdevteam-core-scope .accordion-item{background:transparent;border-radius:var(--radius-m)}.ihabdevteam-core-scope .accordion-item__header{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;cursor:pointer;display:flex;gap:var(--spacing-s);min-height:56px;outline:none;padding:0 20px;transition:background-color .2s ease,border-color .2s ease}.ihabdevteam-core-scope .accordion-item__header:hover{background:var(--color-deepWhite);border-color:var(--color-main)}.ihabdevteam-core-scope .accordion-item__header:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .accordion-item__avatar{align-items:center;display:inline-flex;flex:none}.ihabdevteam-core-scope .accordion-item__title{flex:1;text-align:left}.ihabdevteam-core-scope .accordion-item__chevron{align-items:center;display:inline-flex;flex:none}.ihabdevteam-core-scope .accordion-item__chevron-icon{align-items:center;color:var(--color-lightGray);display:inline-flex}.ihabdevteam-core-scope .accordion-item__chevron-image{height:18px;opacity:.7;transition:transform .18s ease;width:18px}.ihabdevteam-core-scope .accordion-item.accordion-item--open{background:var(--color-main-a10);border-radius:var(--radius-m);overflow:hidden}.ihabdevteam-core-scope .accordion-item.accordion-item--open .accordion-item__header{background:var(--color-white);border:1px solid var(--color-main)}.ihabdevteam-core-scope .accordion-item.accordion-item--open .accordion-item__chevron-image{transform:rotate(180deg)}.ihabdevteam-core-scope .accordion-item__body p{margin:0}.ihabdevteam-core-scope .accordion-item__body{background:transparent;box-sizing:border-box;color:var(--color-darkGray);max-width:100%;overflow-wrap:break-word;padding:40px 32px;text-align:left;word-break:break-word}.ihabdevteam-core-scope .accordion-group--s48 .accordion-item__header{min-height:48px}.ihabdevteam-core-scope .accordion-group--s56 .accordion-item__header{min-height:56px}.ihabdevteam-core-scope .accordion-group--s72 .accordion-item__header{min-height:72px}.ihabdevteam-core-scope .accordion-group--s48 .accordion-item,.ihabdevteam-core-scope .accordion-group--s48 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s48 .accordion-item__header{border-radius:12px}.ihabdevteam-core-scope .accordion-group--s56 .accordion-item,.ihabdevteam-core-scope .accordion-group--s56 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s56 .accordion-item__header{border-radius:14px}.ihabdevteam-core-scope .accordion-group--s72 .accordion-item,.ihabdevteam-core-scope .accordion-group--s72 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s72 .accordion-item__header{border-radius:18px}.ihabdevteam-core-scope .accordion-group,.ihabdevteam-core-scope .accordion-group>.accordion-item{box-sizing:border-box;display:block;width:100%}.ihabdevteam-core-scope .accordion-group>.accordion-item+.accordion-item{margin-top:var(--spacing-s)}";le(IB);function OB({title:e,body:t,open:a=!1,onToggle:o,avatar:n,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:u}=Ce.useTranslation();return r.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[r.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:o,onKeyDown:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),o?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const h=d.currentTarget.closest('[role="list"]');if(!h)return;const p=Array.from(h.querySelectorAll("[data-accordion-header]")),m=p.indexOf(d.currentTarget);(d.key==="ArrowDown"?p[m+1]:p[m-1])?.focus()}},children:[n&&r.jsx("div",{className:"accordion-item__avatar",children:n}),r.jsx("div",{className:`accordion-item__title ${i}`,children:e}),r.jsx("div",{className:"accordion-item__chevron",children:r.jsx(it,{icon:a?"chevron-up":"chevron-down",label:a?u("accordion.collapse","\uC811\uAE30"):u("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&r.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?r.jsx("p",{children:t}):t})]})}function Ug({items:e=[],defaultOpenIndex:t=0,size:a=72,className:o="",bodyClassName:n}){const[i,l]=s.useState({index:t}),c=(u,d)=>i.id!=null&&u.id!=null?u.id===i.id:i.id==null&&d===i.index;return r.jsx("div",{className:`accordion-group accordion-group--s${a} ${o}`.trim(),role:"list",children:e.map((u,d)=>r.jsx(OB,{title:u.title,body:u.body,avatar:u.avatar,open:c(u,d),onToggle:()=>l(c(u,d)?{index:-1}:{index:d,id:u.id}),bodyClassName:n},u.id??d))})}var FB=".ihabdevteam-core-scope .bottom-nav{align-items:flex-start;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);bottom:0;display:none;height:calc(72px + env(safe-area-inset-bottom));left:0;padding:8px calc(10px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(10px + env(safe-area-inset-left));position:fixed;right:0;z-index:var(--z-nav)}.ihabdevteam-core-scope .bottom-nav__left{align-items:center;display:flex;flex-shrink:0}.ihabdevteam-core-scope .bottom-nav__divider{align-self:flex-start;background:var(--color-whiteLine);border-radius:1px;flex-shrink:0;height:24px;margin:14px 0 0;width:1px}.ihabdevteam-core-scope .bottom-nav__items{align-items:center;display:flex;flex:1;gap:10px;justify-content:center;overflow:hidden}.ihabdevteam-core-scope .bottom-nav__slot{display:flex;flex-shrink:0;height:52px;position:relative;width:52px}.ihabdevteam-core-scope .bottom-nav__slot .circle-badge--top-right{right:0;top:0}.ihabdevteam-core-scope .bottom-nav__right{align-items:center;display:flex;flex-shrink:0}@media (max-width:767px){.ihabdevteam-core-scope .bottom-nav{display:flex}}@media (min-width:768px){.ihabdevteam-core-scope .bottom-nav{display:none}}.ihabdevteam-core-scope .bottom-nav-item{align-items:center;background:transparent!important;border:none!important;border-radius:10px!important;color:var(--color-lightGray);cursor:pointer;display:flex!important;flex-direction:column;height:52px!important;justify-content:center;padding:0!important;transition:background .16s ease,color .16s ease!important;width:52px!important}.ihabdevteam-core-scope .bottom-nav-item:hover:not(.is-selected){background:var(--color-darkWhite)!important}.ihabdevteam-core-scope .bottom-nav-item.is-selected{animation:bottom-nav-active-bg .36s cubic-bezier(.4,0,.2,1) forwards;background-color:var(--color-sub)!important;box-shadow:0 6px 12px rgba(12,24,36,.06);color:#fff!important}.ihabdevteam-core-scope .bottom-nav-item.is-selected *{color:#fff!important}.ihabdevteam-core-scope .bottom-nav-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .bottom-nav-item:disabled,.ihabdevteam-core-scope .bottom-nav-item[disabled]{opacity:.6;pointer-events:none}@keyframes bottom-nav-active-bg{0%{background-color:var(--color-sub)}to{background-color:var(--color-main)}}";le(FB);var WB=".ihabdevteam-core-scope .badge{align-items:center;background:var(--badge-color,var(--color-main));border-radius:999px;box-shadow:none;box-shadow:var(--badge-shadow,none);color:#fff;color:var(--badge-on-color,#fff);display:inline-flex;gap:6px;justify-content:center;line-height:1;vertical-align:middle;white-space:nowrap}.ihabdevteam-core-scope .badge--small{font-size:12px;height:20px;padding:0 10px}.ihabdevteam-core-scope .badge--medium{font-size:14px;height:28px;padding:0 14px}.ihabdevteam-core-scope .badge--large{font-size:16px;height:32px;padding:0 18px}.ihabdevteam-core-scope .badge__icon{align-items:center;display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .badge--default{--badge-color:var(--color-lightGray);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--main{--badge-color:var(--color-main);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--sub{--badge-color:var(--color-sub);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--danger{--badge-color:var(--color-error);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--disabled{--badge-color:var(--color-disabled);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--like{--badge-color:var(--color-like);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--success{--badge-color:var(--color-success);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--warning{--badge-color:var(--color-warn);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--critical{--badge-color:#7c3aed;--badge-on-color:#fff}.ihabdevteam-core-scope .badge--outline{background:transparent;border:1px solid var(--badge-color);box-shadow:none;color:var(--badge-color)}.ihabdevteam-core-scope .badge--soft{background:color-mix(in srgb,var(--badge-color) 10%,transparent);box-shadow:none;color:var(--badge-color)}.ihabdevteam-core-scope .circle-badge{align-items:center;border:2px solid var(--color-pureWhite);border-radius:50%;box-sizing:border-box;display:inline-flex;flex-shrink:0;font-weight:700;justify-content:center;line-height:1;pointer-events:none;position:absolute;transition:background .12s,transform .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}@keyframes circle-badge-pop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.ihabdevteam-core-scope .circle-badge--animate{animation:circle-badge-pop .24s cubic-bezier(.34,1.56,.64,1)}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .circle-badge--animate{animation:none}}.ihabdevteam-core-scope .circle-badge--clickable{cursor:pointer;pointer-events:auto}.ihabdevteam-core-scope .circle-badge--clickable:hover{transform:scale(1.12)}.ihabdevteam-core-scope .circle-badge--top-right{right:-6px;top:-6px}.ihabdevteam-core-scope .circle-badge--top-left{left:-6px;top:-6px}.ihabdevteam-core-scope .circle-badge--inline{border:none;position:static}.ihabdevteam-core-scope .circle-badge--24{border-width:1px;font-size:11px;height:24px;width:24px}.ihabdevteam-core-scope .circle-badge--32{border-width:2px;font-size:14px;height:32px;width:32px}.ihabdevteam-core-scope .circle-badge--40{border-width:2px;font-size:16px;height:40px;width:40px}.ihabdevteam-core-scope .circle-badge--check,.ihabdevteam-core-scope .circle-badge--number{background:var(--color-main);color:#fff}.ihabdevteam-core-scope .circle-badge--remove{background:var(--color-error);color:#fff}.ihabdevteam-core-scope .circle-badge--minus{background:var(--color-lightGray);color:#fff}.ihabdevteam-core-scope .circle-badge--24 svg{height:11px;width:11px}.ihabdevteam-core-scope .circle-badge--32 svg{height:15px;width:15px}.ihabdevteam-core-scope .circle-badge--40 svg{height:19px;width:19px}";le(WB);function GB(){return r.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r.jsx("polyline",{points:"2,6 5,9 10,3"})})}function HB(){return r.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[r.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),r.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function VB(){return r.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:r.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function Tt(e){const{t}=Ce.useTranslation(),{type:a="bar",size:o,className:n="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:A,number:_,position:B="top-right",onClick:k,animate:E=!1}=e,S=A??"check",D=_!==void 0?"number":S,$=typeof o=="number"?o:32,j=Be("circle-badge",`circle-badge--${D}`,`circle-badge--${B}`,`circle-badge--${$}`,E?"circle-badge--animate":"",k?"circle-badge--clickable":"",n),H=_!==void 0?t("badge.nthSelected",{n:_,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[S];return r.jsxs("span",{className:j,onClick:k,onKeyDown:k?T=>{T.key!=="Enter"&&T.key!==" "||(T.preventDefault(),T.currentTarget.click())}:void 0,"aria-label":l?void 0:i??H,"aria-hidden":l||void 0,role:k?"button":l?void 0:"img",tabIndex:k?0:void 0,children:[_!==void 0&&_,_===void 0&&S==="check"&&r.jsx(GB,{}),_===void 0&&S==="remove"&&r.jsx(HB,{}),_===void 0&&S==="minus"&&r.jsx(VB,{})]})}const{label:c,children:u,variant:d="default",fill:h="filled",minWidth:p,iconLeft:m,iconRight:v,color:x}=e,g=typeof o=="number"?"medium":o??"medium",b={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",C={small:12,medium:14,large:16}[g]??14,f=Be("badge",`badge--${d}`,`badge--${g}`,h!=="filled"?`badge--${h}`:"",b,n),w=x?.startsWith("--")?`var(${x})`:x,y=p!==void 0||w?{...p!==void 0?{minWidth:typeof p=="number"?`${p}px`:p}:{},...w?{"--badge-color":w}:{}}:void 0;return r.jsxs("span",{className:f,style:y,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[m&&r.jsx(it,{icon:m,size:C,className:"badge__icon"}),c??u,v&&r.jsx(it,{icon:v,size:C,className:"badge__icon"})]})}var UB=".ihabdevteam-core-scope .tooltip-menu{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:160px;padding:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-menu__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);display:flex;gap:var(--spacing-xs);height:52px;padding:8px 12px}.ihabdevteam-core-scope .tooltip-menu__title{font-weight:600}.ihabdevteam-core-scope .tooltip-menu__columns{display:flex;gap:var(--spacing-s);padding:4px}.ihabdevteam-core-scope .tooltip-menu__column{display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);min-width:0}.ihabdevteam-core-scope .tooltip-menu__column-title{color:var(--color-lightGray);margin-bottom:4px}.ihabdevteam-core-scope .tooltip-menu__items{display:flex;flex-direction:column;gap:var(--spacing-l)}.ihabdevteam-core-scope .tooltip-menu--small{gap:2px;min-width:140px}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__items{gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__columns{gap:var(--spacing-xs);padding:2px}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__header{height:44px;padding:6px 10px}.ihabdevteam-core-scope .tooltip-menu__separator{background:var(--color-whiteLine);height:1px;margin:4px 0}.ihabdevteam-core-scope .tooltip-menu__item{width:100%}@media (max-width:600px){.ihabdevteam-core-scope .tooltip-menu__columns{flex-direction:column}}";le(UB);function kr({columns:e=[],onClose:t,className:a="",size:o="medium"}){const{t:n}=Ce.useTranslation(),i=o==="small"?40:48,[l,c]=s.useState([]),u=s.useMemo(()=>{const b=[{title:null,columns:e}];let C=e;for(const f of l){const w=C?.[f.ci]?.items?.[f.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;C=[{title:null,items:w.children}],b.push({title:w.label||null,columns:C})}return b},[e,l]),d=u[u.length-1],h=u.length-1,p=s.useCallback(()=>c(b=>b.slice(0,Math.max(0,Math.min(b.length,h)-1))),[h]),m=s.useRef(null),v=s.useRef(null),x=u.length;s.useEffect(()=>{v.current||(v.current=document.activeElement);let b=0,C=0;const f=()=>{const w=m.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}C++<20&&(b=requestAnimationFrame(f))};return b=requestAnimationFrame(f),()=>cancelAnimationFrame(b)},[x]),s.useEffect(()=>()=>{v.current?.focus?.({preventScroll:!0})},[]);const g=s.useCallback((b,C,f)=>{if(b){if(Array.isArray(b.children)&&b.children.length){c(w=>[...w.slice(0,h),{ci:C,ii:f}]);return}try{typeof b.onClick=="function"&&b.onClick()}catch{}try{b&&b.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,h]);return r.jsxs("div",{className:`tooltip-menu tooltip-menu--${o} ${a}`,children:[(u.length>1||d.title)&&r.jsxs("div",{className:"tooltip-menu__header",children:[u.length>1?r.jsx(ge,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:n("common.back","\uB4A4\uB85C"),onClick:p,variant:"transparent-gray",useBorder:!1}):null,r.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),r.jsx("div",{className:"tooltip-menu__columns",ref:m,children:d.columns&&d.columns.map((b,C)=>r.jsxs("div",{className:"tooltip-menu__column",children:[b.title?r.jsx("div",{className:"tooltip-menu__column-title body-3",children:b.title}):null,r.jsx("div",{className:"tooltip-menu__items",children:(b.items||[]).map((f,w)=>r.jsxs(s.Fragment,{children:[f.separatorBefore&&w>0&&r.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),r.jsx(ge,{htmlType:"button",className:"tooltip-menu__item",size:i,type:f.label?"bar":"dot",icon:f.selected?"check":f.icon||"none",rightIcon:Array.isArray(f.children)&&f.children.length?"chevron-right":f.badgeCount?r.jsx(Tt,{type:"dot",position:"inline",number:Math.min(f.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:f.label,ariaLabel:f.label&&f.badgeCount&&f.badgeCount>0?n("nav.badgeLabel",{label:f.label,count:f.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):f.label,onClick:()=>g(f,C,w),selected:f.selected,disabled:f.disabled,showTooltipInfo:f.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},C))})]})}const qg=".content-area";function Ju(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(qg);if(a){a.scrollTop=0;return}const o=document.scrollingElement??document.documentElement;o&&o.scrollHeight<=o.clientHeight&&Pt("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${qg}) \u2014 \uCC3D\uB3C4 \uAD6C\uB97C \uC218 \uC5C6\uC5B4 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4. scrollContainer \uB85C \uD1B5\uC744 \uC54C\uB824 \uC900\uB2E4.`),window.scrollTo({top:0})}catch{}}const Qu=52,Oi=10,Yg=e=>e&&e>0?e:0;function ed({items:e=[],activeKey:t,onChange:a,appMode:o,onAppModeChange:n,moreItems:i=[],scrollContainer:l}){const{t:c}=Ce.useTranslation(),u=o==="manager"?"malgwi":"manager",d=o==="manager"?"arrow-left":"arrow-right",h=o==="manager"?c("nav.modeLabelMalgwi","\uB9D0\uADC0"):c("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=s.useRef(null),[m,v]=s.useState(0),x=e.length;s.useEffect(()=>{const z=p.current;if(!z)return;const V=()=>{const N=typeof getComputedStyle=="function"?getComputedStyle(z):null,P=z.clientWidth-(parseFloat(N?.paddingLeft??"")||0)-(parseFloat(N?.paddingRight??"")||0),F=z.querySelector(".bottom-nav__left"),X=F?.nextElementSibling,ie=(F?.offsetWidth??0)+(F&&X?.classList.contains("bottom-nav__divider")?X.offsetWidth:0);v(Math.max(0,P-ie))};if(V(),typeof ResizeObserver>"u")return;const W=new ResizeObserver(V);W.observe(z);const O=z.querySelector(".bottom-nav__left");return O&&W.observe(O),()=>W.disconnect()},[n]);const g=Qu+1,b=z=>Math.max(0,Math.floor((z+Oi)/(Qu+Oi))),C=x*(Qu+Oi)-Oi<=m,f=m<=0||i.length===0&&C?x:Math.min(x,b(m-g)),w=m>0&&f<x,y=w?f:x,A=e.slice(0,y),_=e.slice(y),B=w||i.length>0,k=s.useCallback((z,V)=>({position:"fixed",bottom:window.innerHeight-z.top+8,right:window.innerWidth-z.right,zIndex:An(V)}),[]),E=s.useId(),{open:S,toggle:D,close:$,style:j,triggerRef:H,menuRef:T}=qo({computeStyle:k,onScroll:"ignore",onResize:"reposition"}),L=s.useCallback((z,V)=>V>0?c("nav.badgeLabel",{label:z,count:V,defaultValue:"{{label}}, {{count}}\uAC1C"}):z,[c]),I=s.useCallback((z,V)=>V>0?c("nav.badgeInsideLabel",{label:z,count:V,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):z,[c]),K=s.useCallback(()=>n?.(u),[n,u]),Y=s.useMemo(()=>_.find(z=>!!z.key&&z.key===t)??i.find(z=>z.selected||z.key&&z.key===t),[_,t,i]),M=s.useMemo(()=>[{items:[..._.map(z=>({label:z.label,icon:z.icon,badgeCount:z.badgeCount,selected:!!z.key&&z.key===t,closeOnSelect:!0,disabled:z.state==="disabled",onClick:()=>{z.state!=="disabled"&&(z.key&&a&&(a(z.key),Ju(l,"BottomNav")),$())}})),...i.map(z=>({label:z.label,icon:z.icon,badgeCount:z.badgeCount,selected:z.selected??(!!z.key&&z.key===t),closeOnSelect:!0,onClick:()=>{z.onClick?.(),$()}}))]}],[_,i,t,a,$]),G=[..._,...i].reduce((z,V)=>z+Yg(V.badgeCount),0);return r.jsxs("nav",{className:"bottom-nav",ref:p,"aria-label":c("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[n&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bottom-nav__left",children:r.jsx(ge,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:h,className:"bottom-nav-item",onClick:K})}),r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),r.jsx("div",{className:"bottom-nav__items",children:A.map((z,V)=>{const W=Yg(z.badgeCount);return r.jsxs("span",{className:"bottom-nav__slot",children:[r.jsx(ge,{htmlType:"button",size:52,type:"dot",icon:z.icon,ariaLabel:L(z.label,W),selected:!!z.key&&z.key===t,disabled:z.state==="disabled",className:"bottom-nav-item",onClick:()=>{z.key&&(a?.(z.key),Ju(l,"BottomNav"))}}),W>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Tt,{type:"dot",position:"top-right",number:Math.min(W,99),size:24})})]},z.key??`__slot-${V}`)})}),B&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),r.jsx("div",{className:"bottom-nav__right",children:r.jsxs("div",{ref:H,className:"bottom-nav__slot",children:[r.jsx(ge,{htmlType:"button",size:52,type:"dot",icon:Y?.icon??"ellipsis",ariaLabel:I(Y?.label??c("nav.more","\uB354\uBCF4\uAE30"),G),selected:!!Y,className:"bottom-nav-item",onClick:D,"aria-expanded":S,"aria-controls":S?E:void 0}),G>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Tt,{type:"dot",position:"top-right",number:Math.min(G,99),size:24})}),S&&pa.createPortal(r.jsx("div",{id:E,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:j,ref:T,children:r.jsx(kr,{columns:M,onClose:$})}),document.body)]})})]})]})}var qB='.ihabdevteam-core-scope .side-nav__menu{-webkit-overflow-scrolling:touch;background-clip:padding-box;border-left:1px solid transparent;border-right:1px solid transparent;display:flex;flex:1;flex-direction:column;margin-bottom:var(--spacing-s);margin-top:4px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-left:calc(var(--spacing-s) - 1px);padding-right:calc(var(--spacing-s) - 1px);scrollbar-width:none}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .side-nav__scroll{height:0;margin-left:calc((var(--spacing-s) - 1px)*-1);margin-right:calc((var(--spacing-s) - 1px)*-1);overflow:visible;pointer-events:none;position:sticky;top:0;z-index:1}.ihabdevteam-core-scope .side-nav__scroll-thumb{background:var(--color-darkWhite);border-radius:3px;pointer-events:auto;position:absolute;right:calc(var(--spacing-s)/2 - 4.5px);touch-action:none;transition:background-color .16s ease,opacity .18s ease;width:6px}.ihabdevteam-core-scope .side-nav__scroll-thumb:before{content:"";inset:0 -4px;position:absolute}.ihabdevteam-core-scope .side-nav__scroll-thumb:active,.ihabdevteam-core-scope .side-nav__scroll-thumb:hover{background:var(--color-lightGray)}.ihabdevteam-core-scope .side-nav__menu-list{display:flex;flex:1 0 auto;flex-direction:column;gap:4px;overflow:visible;padding:0 0 4px}.ihabdevteam-core-scope .side-nav__notification-wrap{display:inline-flex;position:relative;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .side-nav__footer{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-s);margin-top:var(--spacing-s);padding:0}.ihabdevteam-core-scope .side-nav__separator{background:var(--color-whiteLine);height:1px;margin:0 var(--spacing-s) var(--spacing-xs)}.ihabdevteam-core-scope .side-nav__separator--short{margin:4px var(--spacing-m);width:var(--spacing-xl)}@media (max-width:767px){.ihabdevteam-core-scope .side-nav__footer,.ihabdevteam-core-scope .side-nav__menu{display:none}}.ihabdevteam-core-scope .side-nav__item{align-items:center;background:transparent;border:none;border-radius:var(--radius-s);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);gap:var(--spacing-s);height:52px;justify-content:flex-start;padding:0 var(--spacing-m);text-align:left;width:100%}@keyframes ihabCoreSnSweep{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ihabCoreSnIconBounce{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.ihabdevteam-core-scope .side-nav__item.active{animation:ihabCoreSnSweep 1s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,var(--color-main) 50%,var(--color-sub) 100%);background-position:0 0;background-size:200% 100%;box-shadow:var(--shadow-button);color:#fff}.ihabdevteam-core-scope .side-nav__item.active .side-nav__icon{animation:ihabCoreSnIconBounce .48s cubic-bezier(.4,0,.2,1) forwards;color:#fff}.ihabdevteam-core-scope .side-nav__icon{align-items:center;color:var(--color-lightGray);display:inline-flex;height:24px;justify-content:center;width:24px}.ihabdevteam-core-scope .side-nav__item.active .circle-badge{background:var(--color-pureWhite);color:var(--color-main)}.ihabdevteam-core-scope .side-nav__item .circle-badge--inline{border:1px solid var(--color-pureWhite)}.ihabdevteam-core-scope .side-nav__icon-wrap{display:inline-flex;flex:0 0 24px;position:relative}.ihabdevteam-core-scope .side-nav__icon{flex:0 0 24px}.ihabdevteam-core-scope .side-nav__icon img{display:block;height:20px;-o-object-fit:contain;object-fit:contain;width:20px}.ihabdevteam-core-scope .side-nav__icon-image{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:contain;display:inline-block;height:20px;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:20px}.ihabdevteam-core-scope .side-nav__item .side-nav__icon img{filter:brightness(0) saturate(0) opacity(.45);transition:filter .16s ease,opacity .16s ease}.ihabdevteam-core-scope .side-nav__item.active .side-nav__icon img{filter:brightness(0) invert(1)}.ihabdevteam-core-scope .side-nav__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .side-nav__item{transition:background-color .16s ease,color .16s ease,transform 80ms ease}.ihabdevteam-core-scope .side-nav__item:focus-visible:not(.active),.ihabdevteam-core-scope .side-nav__item:focus:not(.active),.ihabdevteam-core-scope .side-nav__item:hover:not(.active){background:var(--color-darkWhite)}.ihabdevteam-core-scope .side-nav__item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .side-nav__item.disabled,.ihabdevteam-core-scope .side-nav__item.disabled:focus,.ihabdevteam-core-scope .side-nav__item.disabled:hover{background:transparent;color:var(--color-lightGray);cursor:default;opacity:.6;pointer-events:none;transform:none}.ihabdevteam-core-scope .side-nav__item.disabled .side-nav__icon{color:var(--color-lightGray)}.ihabdevteam-core-scope .side-nav__item.disabled .side-nav__icon img{filter:none;opacity:.8}.ihabdevteam-core-scope .side-nav__item--child{height:40px;padding-left:30px}.ihabdevteam-core-scope .side-nav__item--child .side-nav__icon{height:20px;width:20px}.ihabdevteam-core-scope .side-nav__item--child .side-nav__label{font-weight:400}';le(qB);function Kg(e){if(typeof e!="string")return!1;let t="";for(const o of e){const n=o.charCodeAt(0);n<=32||n>=127&&n<=159||(t+=o)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function Xg(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function YB(e){const{t}=Ce.useTranslation(),{activeKey:a,unreadCount:o,onDebug:n,onNotification:i,onSetting:l,onHelp:c,onFeedback:u,onAccount:d}=e||{},h="default";return n||i||l||c||u||d?r.jsxs("div",{className:"side-nav__footer",children:[n&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:n,selected:a==="debug"}),i&&r.jsxs("span",{className:"side-nav__notification-wrap",children:[r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bell",ariaLabel:Xg(t,t("nav.notifications","\uC54C\uB9BC"),o),onClick:i,selected:a==="notifications"}),!!o&&o>0&&r.jsx(Tt,{type:"dot",number:Math.min(o,99),size:24,"aria-hidden":!0})]}),l&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),c&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),u&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:u,selected:a==="feedback"}),d&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]}):null}function Zg(e){const{t}=Ce.useTranslation(),{item:a,itemKey:o,label:n,icon:i,active:l,onClick:c,style:u,state:d,labelStyle:h}=e||{},p=a?.key??o??"",m=a?.label??n??"",v=a?.icon??i??"",x=a?.badge??0,g=r.jsx("span",{className:"side-nav__icon-wrap",children:r.jsx(it,{icon:v,label:typeof m=="string"?m:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),b=d==="disabled",C=`side-nav__item ${l?"active":""} ${d||""} ${b?"disabled":""} ${a?.child?"side-nav__item--child":""}`,f=s.useCallback(w=>{if(b)return;const y=w.detail>0;if(y)try{w.currentTarget.blur()}catch{}c?.(p,w.currentTarget,y)},[b,p,c]);return r.jsxs("button",{type:"button",className:C,onClick:f,"aria-label":typeof m=="string"?Xg(t,m,x):void 0,"aria-current":l?"page":void 0,style:u,"aria-disabled":b,children:[g,r.jsx("span",{className:"side-nav__label button-1 f",style:h,children:m}),x>0&&r.jsx(Tt,{type:"dot",position:"inline",number:Math.min(x,99),size:24,"aria-hidden":!0}),d==="loading"&&r.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function td(e){const{t}=Ce.useTranslation(),{items:a=[],activeKey:o,onChange:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v,scrollContainer:x}=e||{},g=m==="manager",b=s.useCallback(()=>v?.(g?"malgwi":"manager"),[v,g]),C=s.useRef(null),[f,w]=s.useState(null);s.useEffect(()=>{const k=C.current;if(!k)return;let E=null;const S=()=>{const{scrollHeight:j,clientHeight:H,scrollTop:T}=k;if(j<=H+1){w(M=>M===null?M:null);return}const L=Math.max(24,H/j*H),I=H-L,K=j-H,Y={top:Math.round(T/K*I),height:Math.round(L)};w(M=>M&&M.top===Y.top&&M.height===Y.height?M:Y)},D=()=>{if(typeof requestAnimationFrame>"u"){S();return}E===null&&(E=requestAnimationFrame(()=>{E=null,S()}))};S(),k.addEventListener("scroll",D,{passive:!0});const $=typeof ResizeObserver<"u"?new ResizeObserver(D):null;$?.observe(k);for(const j of Array.from(k.children))$?.observe(j);return()=>{E!==null&&cancelAnimationFrame(E),k.removeEventListener("scroll",D),$?.disconnect()}},[a]);const y=s.useRef(null),A=s.useCallback(k=>{const E=C.current;E&&(k.preventDefault(),y.current={y:k.clientY,top:E.scrollTop},k.currentTarget.setPointerCapture(k.pointerId))},[]),_=s.useCallback(k=>{const E=C.current,S=y.current;!E||!S||(E.scrollTop=S.top+(k.clientY-S.y)*(E.scrollHeight/E.clientHeight))},[]),B=s.useCallback(k=>{y.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.pointerId)},[]);return r.jsxs("nav",{ref:C,"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[f&&r.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:r.jsx("div",{className:"side-nav__scroll-thumb",style:{top:f.top,height:f.height},onPointerDown:A,onPointerMove:_,onPointerUp:B,onPointerCancel:B})}),r.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(k=>!k.section&&(k.key||k.label)).map((k,E)=>r.jsxs(s.Fragment,{children:[k.divider&&r.jsx("div",{className:"side-nav__separator"}),r.jsx(Zg,{item:k,active:!!k.key&&k.key===o,state:k.disabled?"disabled":void 0,onClick:(S,D,$)=>{if(k.disabled)return;if(k.href){if(Kg(k.href)&&window.open(k.href,"_blank","noopener,noreferrer"),$)try{D?.blur()}catch{}return}if(n?.(k.key),Ju(x,"SideNav"),!$)return;try{D?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const j=document.querySelector(".header");if(j){const H=typeof j.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&H&&j.matches(":hover"))){j.classList.add("header--force-collapsed");const T=()=>{j.classList.remove("header--force-collapsed"),j.removeEventListener("mouseenter",T)};j.addEventListener("mouseenter",T)}}}})]},k.key??`side-nav__item-${E}`)),v&&r.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),v&&r.jsx(Zg,{item:{key:"__mode-switch__",label:g?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:g?"arrow-left":"arrow-right"},onClick:b})]}),r.jsx(YB,{activeKey:o,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p})]})}var Fi='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_SpeechEar_ko" xmlns="http://www.w3.org/2000/svg" width="583.33" height="240" viewBox="0 0 583.33 240"><g id="text"><path d="M278.07,115.18V47.71h85.73v67.47h-85.73ZM408.4,173.42v20.18h-125.33v-44.02h96.5v-5.96h-96.88v-20.18h124.18v44.02h-96.11v5.96h97.65ZM305.56,70.97v20.76h30.95v-20.76h-30.95ZM423.39,92.88h-16.53v25.37h-27.68V45.98h27.68v20.18h16.53v26.72Z"/><path d="M527.58,113.83v26.33c-7.82,3.59-20.06,5.38-36.71,5.38h-1.73v48.06h-27.68v-48.06h-34.21v-26.33h64.01c16.4,0,28.51-1.79,36.33-5.38ZM435.31,75.77v-26.33h80.35v62.09h-27.68v-35.75h-52.67ZM563.33,193.61h-27.68V45.98h27.68v147.63Z"/></g><g id="symbol"><path d="M183.92,56.08c-8.48-15.54-24.97-26.08-43.92-26.08h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%234dcdc0"/><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23499cdf"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',ad='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_SpeechEarManager_ko" xmlns="http://www.w3.org/2000/svg" width="1035.43" height="240" viewBox="0 0 1035.43 240"><g id="text"><path d="M278.07,115.18V47.71h85.73v67.47h-85.73ZM408.4,173.42v20.18h-125.33v-44.02h96.5v-5.96h-96.88v-20.18h124.18v44.02h-96.11v5.96h97.65ZM305.56,70.97v20.76h30.95v-20.76h-30.95ZM423.39,92.88h-16.53v25.37h-27.68V45.98h27.68v20.18h16.53v26.72Z"/><path d="M527.58,113.83v26.33c-7.82,3.59-20.06,5.38-36.71,5.38h-1.73v48.06h-27.68v-48.06h-34.21v-26.33h64.01c16.4,0,28.51-1.79,36.33-5.38ZM435.31,75.77v-26.33h80.35v62.09h-27.68v-35.75h-52.67ZM563.33,193.61h-27.68V45.98h27.68v147.63Z"/><path d="M644.64,52.32v131.48h-58.24V52.32h58.24ZM634.45,173.81V62.32h-38.25v111.49h38.25ZM713.65,193.61h-10.19v-75.16h-28.64v72.66h-10V46.94h10v61.32h28.64v-62.28h10.19v147.63Z"/><path d="M819.46,171.6c6.6-1.35,12.08-3.11,16.44-5.29v10.19c-4.23,2.31-9.64,4.1-16.24,5.38-6.6,1.28-13.3,1.92-20.09,1.92h-57.28V51.36h10.57v122.25h46.71c6.66,0,13.29-.67,19.89-2.02ZM851.47,193.8V45.98h10.57v147.63l-10.57.19Z"/><path d="M935.66,113.64l48.44,62.28-8.27,6.34-43.06-56.13c-4.36,16.66-10.38,29.92-18.07,39.79-7.69,9.87-16.72,15.83-27.1,17.88v-10.76c8.71-2.05,16.21-8.07,22.49-18.07,6.28-10,11.05-22.97,14.32-38.92,3.27-15.95,5.03-33.86,5.29-53.73h-39.21v-10h88.61v10h-39.02c-.13,18.84-1.6,35.95-4.42,51.32ZM1015.43,193.61h-10.38v-79.39h-37.87v-10.19h37.87v-58.05h10.38v147.63Z"/></g><g id="symbol"><path d="M183.92,56.08c-8.48-15.54-24.97-26.08-43.92-26.08h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%234dcdc0"/><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23499cdf"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',KB='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Symbol_SpeechEar" xmlns="http://www.w3.org/2000/svg" width="240" height="240" viewBox="0 0 240 240"><g id="symbol"><path d="M183.92,56.08c-8.48-15.54-24.97-26.08-43.92-26.08h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%234dcdc0"/><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23499cdf"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',XB='.ihabdevteam-core-scope .header{background:var(--color-deepWhite);border-left:1px solid var(--color-whiteLine);border-right:1px solid var(--color-whiteLine);bottom:0;display:flex;flex-direction:column;isolation:isolate;left:0;overflow:visible;overscroll-behavior:none;position:fixed;top:0;z-index:var(--z-sidebar)}.ihabdevteam-core-scope .header__menu-button{background:transparent;border:none;display:none;position:relative}.ihabdevteam-core-scope .header__bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);bottom:0;display:flex;height:56px;justify-content:center;left:0;padding:0;padding-bottom:calc(var(--spacing-content) + env(safe-area-inset-bottom));position:fixed;right:0}.ihabdevteam-core-scope .header__category-button{background:transparent;border:none}.ihabdevteam-core-scope .header:before{background:linear-gradient(160deg,var(--color-main) 0,var(--color-sub) 100%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease;z-index:-1}.ihabdevteam-core-scope .header--manager{border-right-color:hsla(0,0%,100%,.2)}.ihabdevteam-core-scope .header--manager:before{opacity:1}.ihabdevteam-core-scope .header--manager .side-nav__separator{background:hsla(0,0%,100%,.25)}.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb{background:hsla(0,0%,100%,.4)}.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb:active,.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb:hover{background:hsla(0,0%,100%,.75)}.ihabdevteam-core-scope .header--manager .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item,.ihabdevteam-core-scope .header--manager .side-nav__item.disabled,.ihabdevteam-core-scope .header--manager .side-nav__item.disabled .side-nav__icon{color:var(--color-deepWhite)}.ihabdevteam-core-scope .header--manager .side-nav__item:focus:not(.active),.ihabdevteam-core-scope .header--manager .side-nav__item:hover:not(.active){background:hsla(0,0%,100%,.15);color:#fff}.ihabdevteam-core-scope .header--manager .side-nav__item:focus:not(.active) .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item:hover:not(.active) .side-nav__icon{color:#fff}.ihabdevteam-core-scope .header--manager .side-nav__item.active{animation:ihabCoreSnSweep 1s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,var(--color-pureWhite) 50%,color-mix(in srgb,var(--color-main) 50%,#fff) 100%);background-position:0 0;background-size:200% 100%;box-shadow:var(--shadow-card);color:var(--color-darkGray)}.ihabdevteam-core-scope .header--manager .side-nav__item.active .side-nav__icon{animation:ihabCoreSnIconBounce .48s cubic-bezier(.4,0,.2,1) forwards;color:var(--color-lightGray)}.ihabdevteam-core-scope .header--manager .side-nav__item.active .side-nav__icon img{filter:none;opacity:1}.ihabdevteam-core-scope .header--manager .side-nav__footer [role=button],.ihabdevteam-core-scope .header--manager .side-nav__footer button{color:hsla(0,0%,100%,.55)}@media (min-width:1024px){.ihabdevteam-core-scope .header{width:220px}.ihabdevteam-core-scope .header__bottom,.ihabdevteam-core-scope .header__menu-button{display:none}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .header{overflow:visible;transition:width .18s ease;width:72px}.ihabdevteam-core-scope .header:focus-within,.ihabdevteam-core-scope .header:hover{width:220px}.ihabdevteam-core-scope .header.header--force-collapsed,.ihabdevteam-core-scope .header.header--force-collapsed:focus-within,.ihabdevteam-core-scope .header.header--force-collapsed:hover{width:72px}.ihabdevteam-core-scope .header__branding{height:80px}.ihabdevteam-core-scope .header .side-nav__menu{scrollbar-gutter:auto;scrollbar-width:none;transition:padding .18s ease}.ihabdevteam-core-scope .header .side-nav__menu::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .header .side-nav__item{transition:padding .18s ease,gap .18s ease,width .18s ease}.ihabdevteam-core-scope .header .side-nav__label{display:inline-block;overflow:hidden;transition:max-width .18s ease,opacity .18s ease,transform .18s ease;white-space:nowrap}.ihabdevteam-core-scope .header--force-collapsed .side-nav__menu,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__menu{padding:0 var(--spacing-xs)}.ihabdevteam-core-scope .header--force-collapsed .side-nav__item,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__item{border-radius:var(--radius-card);gap:0;margin:0 auto;padding:0 14px;position:relative;width:52px}.ihabdevteam-core-scope .header--force-collapsed .side-nav__item>.circle-badge,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__item>.circle-badge{border:1px solid var(--color-pureWhite);position:absolute;right:0;top:0}.ihabdevteam-core-scope .header--force-collapsed .side-nav__footer,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__footer{align-items:center}.ihabdevteam-core-scope .header--force-collapsed .side-nav__separator--short,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__separator--short{margin-left:auto;margin-right:auto}.ihabdevteam-core-scope .header--force-collapsed .side-nav__label,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__label{max-width:0;opacity:0;pointer-events:none;transform:translateX(-6px)}.ihabdevteam-core-scope .header--force-collapsed .brand-identity__image--symbol,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .brand-identity__image--symbol{display:block}.ihabdevteam-core-scope .header--force-collapsed .brand-identity__image--logo,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .brand-identity__image--logo{display:none}}@media (max-width:767px){.ihabdevteam-core-scope .header{align-items:center;border-bottom:1px solid var(--color-whiteLine);border-left:none;border-right:none;flex-direction:row;height:64px;justify-content:space-between;left:0;position:fixed;right:0;top:0;width:100%}.ihabdevteam-core-scope .header__top{align-items:center;display:flex;flex:1}.ihabdevteam-core-scope .header__branding{height:auto}.ihabdevteam-core-scope .header__menu-button{display:inline-flex}.ihabdevteam-core-scope .header__bi{align-items:center;display:flex;gap:var(--spacing-xs);padding:0 calc(12px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left));width:100%}.ihabdevteam-core-scope .header__bi .header__menu-button{margin-left:auto}.ihabdevteam-core-scope .header__bottom{display:none}}.ihabdevteam-core-scope .brand-identity__root{align-items:center;display:flex;height:100px;justify-content:center}.ihabdevteam-core-scope .brand-identity__image{height:48px;-o-object-fit:contain;object-fit:contain;width:auto}.ihabdevteam-core-scope .brand-identity__image--symbol{display:none}@media (min-width:1024px){.ihabdevteam-core-scope .brand-identity__root{height:100px}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .brand-identity__root{height:100px}}@media (max-width:767px){.ihabdevteam-core-scope .brand-identity__root{height:64px;padding:10px}.ihabdevteam-core-scope .brand-identity__image{height:40px}}';le(XB);function od({appMode:e}){const{t}=Ce.useTranslation(),a=e==="manager",o=a?ad:Fi,n=KB;return r.jsxs("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:[r.jsx("img",{src:n,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image brand-identity__image--symbol"}),r.jsx("img",{src:o,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image brand-identity__image--logo"})]})}function rd({activeKey:e,onChange:t,items:a,malgwiItems:o,managerItems:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v,scrollContainer:x}){const{t:g}=Ce.useTranslation(),b=ua("(max-width: 767px)"),C=s.useMemo(()=>(a??[]).filter(j=>!j.section&&(j.key||j.label)).map(j=>({key:j.key,label:typeof j.label=="string"?j.label:void 0,icon:j.icon,state:j.disabled?"disabled":void 0,badgeCount:j.badge})),[a]),f=s.useCallback(j=>{const H=a?.find(T=>T.key===j);if(!H?.disabled){if(H?.href){Kg(H.href)&&window.open(H.href,"_blank","noopener,noreferrer");return}t?.(j)}},[a,t]),w=s.useMemo(()=>{const j=[];return l&&j.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&j.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),d&&j.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:d}),h&&j.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:h}),p&&j.push({key:"feedback",icon:"bug",label:g("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),u&&j.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:u}),j},[g,l,c,d,h,p,u,i]),y=s.useCallback((j,H)=>({position:"fixed",top:j.bottom+8,right:Math.max(8,window.innerWidth-j.right),zIndex:An(H)}),[]),A=s.useId(),{open:_,toggle:B,close:k,style:E,triggerRef:S,menuRef:D}=qo({computeStyle:y,onScroll:"ignore",onResize:"reposition"}),$=s.useMemo(()=>[{items:w.map(j=>({label:j.label,icon:j.icon,badgeCount:j.badgeCount,selected:j.selected??(!!j.key&&j.key===e),closeOnSelect:!0,onClick:()=>{j.onClick?.(),k()}}))}],[w,e,k]);return r.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[r.jsxs("div",{className:"header__bi",children:[r.jsx(od,{appMode:m}),r.jsxs("div",{className:"header__menu-button",ref:S,children:[r.jsx(ge,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:c&&i&&i>0?g("nav.badgeInsideLabel",{label:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:B,"aria-expanded":_,"aria-controls":_?A:void 0}),!!c&&!!i&&i>0&&r.jsx(Tt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),_&&pa.createPortal(r.jsx("div",{id:A,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:E,ref:D,children:r.jsx(kr,{columns:$,onClose:k})}),document.body)]})]}),r.jsx(td,{scrollContainer:x,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v}),b&&r.jsx(ed,{items:C,activeKey:e??void 0,onChange:f,scrollContainer:x,appMode:m,onAppModeChange:v})]})}const Jg=rd;var ZB='.ihabdevteam-core-scope .payment-plan__card{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;display:flex;flex:1 1 340px;flex-direction:column;gap:28px;max-width:360px;min-width:min(340px,100%);padding:20px;position:relative;text-align:left;transition:box-shadow .2s ease,transform .2s ease;width:100%}.ihabdevteam-core-scope .payment-plan__card:hover{box-shadow:var(--shadow-dropdown);transform:translateY(-4px)}.ihabdevteam-core-scope .payment-plan__card-badge{position:absolute;right:32px;top:32px}.ihabdevteam-core-scope .payment-plan__pricing-card{cursor:pointer;display:flex;justify-content:center}.ihabdevteam-core-scope .payment-plan__title{color:var(--color-black);display:flex;flex-direction:column;margin:0}.ihabdevteam-core-scope .payment-plan__quote{color:var(--color-sub);margin:0 0 4px;min-height:1.4em}.ihabdevteam-core-scope .payment-plan__title-heading{margin:0}.ihabdevteam-core-scope .payment-plan__subtitle{color:var(--color-gray);line-height:1.5;margin:8px 0 0;text-align:left}.ihabdevteam-core-scope .payment-plan__box,.ihabdevteam-core-scope .payment-plan__box-title{display:block}.ihabdevteam-core-scope .payment-plan__contact-button{width:100%}.ihabdevteam-core-scope .payment-plan__feature-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:12px 0 0;padding:0}.ihabdevteam-core-scope .payment-plan__feature-item{align-items:center;color:var(--color-darkGray);display:flex;gap:10px;line-height:1.45}.ihabdevteam-core-scope .payment-plan__feature-check{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.ihabdevteam-core-scope .payment-plan__card-pricing{display:flex;flex-direction:column;gap:6px;margin-top:auto;text-align:left;width:100%}.ihabdevteam-core-scope .payment-plan__pricing-list{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .payment-plan__pricing-row{grid-row-gap:4px;align-items:center;background:var(--plan-color,var(--color-darkWhite));border:1px solid transparent;border-radius:var(--radius-s);box-sizing:border-box;color:#fff;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:14px 18px;row-gap:4px;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;width:100%}.ihabdevteam-core-scope .payment-plan__pricing-row--static{cursor:default;pointer-events:none}.ihabdevteam-core-scope .payment-plan__pricing-row--highlight{background:var(--color-white);border:1px solid var(--plan-color,var(--color-main));color:var(--color-darkGray)}.ihabdevteam-core-scope .payment-plan__pricing-row--highlight .payment-plan__pricing-current,.ihabdevteam-core-scope .payment-plan__pricing-row--highlight .payment-plan__pricing-row-price{color:var(--plan-color,var(--color-main))}.ihabdevteam-core-scope .payment-plan__pricing-row:hover{box-shadow:var(--shadow-dropdown);filter:brightness(1.04);transform:translateY(-2px)}.ihabdevteam-core-scope .payment-plan__pricing-row-title{display:contents}.ihabdevteam-core-scope .payment-plan__pricing-row-label{grid-column:1;grid-row:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .payment-plan__pricing-row-price{align-items:center;color:#fff;display:flex;gap:var(--spacing-xs);grid-column:1/-1;grid-row:2;justify-content:flex-end;margin:0;text-align:right}.ihabdevteam-core-scope .payment-plan__pricing-current{color:#fff;margin:0;white-space:nowrap}.ihabdevteam-core-scope .payment-plan__pricing-symbol{font-weight:600;margin-right:2px}.ihabdevteam-core-scope .payment-plan__list{grid-gap:var(--spacing-l);align-items:stretch;display:grid;gap:var(--spacing-l);grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),360px));justify-content:center;margin:0 auto var(--spacing-page);width:100%}.ihabdevteam-core-scope .payment-plan__list>.payment-plan__card{align-self:stretch}.ihabdevteam-core-scope .payment-plan__card.recommended{border-color:var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .payment-plan__feature{align-items:center;color:var(--color-darkGray);display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .payment-plan__feature:before{color:var(--color-success);content:"\u2713";font-weight:700}@media (max-width:767px){.ihabdevteam-core-scope .payment-plan__list{align-items:center;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .payment-plan__list>.payment-plan__card{align-self:center;flex:none;max-width:360px;width:100%}}';le(ZB);const JB=()=>kt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function Qg(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return fr(`${t.toLocaleString("ko-KR")}\uC6D0`)}return fr(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function QB(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function e7(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[1]}\uC77C`;const a=e.name??"",o=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(o)return o[1].replace(/\s+/g,"");const n=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return n?n[2].toLowerCase()==="year"?`${n[1]}\uB144`:`${n[1]}\uC77C`:a||JB()}function t7(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function nd(e){return{type:e.type??QB(e),plan:e7(e),label:e.label,price:Qg(e.price),originalPrice:Qg(e.originalPrice),discountLabel:e.discountLabel}}var a7='.ihabdevteam-core-scope .pass-card-frame{container-type:inline-size;height:188px;max-width:100%;width:300px}.ihabdevteam-core-scope .pass-card{border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;height:188px;overflow:hidden;padding:var(--spacing-l);position:relative;width:300px}.ihabdevteam-core-scope .pass-card-frame>.pass-card{aspect-ratio:auto;border-radius:5.33cqw;height:100%;padding:6.67cqw;width:100%}.ihabdevteam-core-scope .pass-card--clickable{cursor:pointer}@media (max-width:360px){.ihabdevteam-core-scope .pass-card,.ihabdevteam-core-scope .pass-card-frame{max-width:300px;width:100%}}.ihabdevteam-core-scope .pass-card--active{box-shadow:0 4px 16px rgba(0,0,0,.08)}.ihabdevteam-core-scope .pass-card--pending{box-shadow:0 2px 8px rgba(0,0,0,.05)}.ihabdevteam-core-scope .pass-card--expired{--color-main:var(--color-disabled);--color-sub:var(--color-whiteLine);--pass-card-expired-shape:var(--color-whiteLine);box-shadow:none}.ihabdevteam-core-scope [data-theme=dark] .pass-card--expired,.ihabdevteam-core-scope[data-theme=dark] .pass-card--expired,[data-theme=dark] .pass-card--expired .ihabdevteam-core-scope{--pass-card-expired-shape:hsla(0,0%,100%,.18)}@media (prefers-color-scheme:dark){.ihabdevteam-core-scope :root:not([data-theme=light]):not([data-theme=dark]) .pass-card--expired{--pass-card-expired-shape:hsla(0,0%,100%,.18)}}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg{background:var(--color-darkWhite)}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg__symbol{background:var(--pass-card-expired-shape)}.ihabdevteam-core-scope .pass-card--expired .pass-card__copyright,.ihabdevteam-core-scope .pass-card--expired .pass-card__plan,.ihabdevteam-core-scope .pass-card--expired .pass-card__price-area,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage-percent,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage-remaining{color:var(--color-gray)}.ihabdevteam-core-scope .pass-card.pass-card--expired:after{box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.5),inset -1px -1px 0 color-mix(in srgb,var(--color-gray) 10%,transparent)}.ihabdevteam-core-scope .pass-card:after{border-radius:inherit;box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.5),inset -1px -1px 0 rgba(73,156,223,.2);content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.ihabdevteam-core-scope .pass-card__top{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;margin-top:-1.67cqw;position:relative;z-index:1}.ihabdevteam-core-scope .pass-card__top-left{align-items:flex-start;display:flex;flex-direction:column;gap:0}.ihabdevteam-core-scope .pass-card__logo{height:10.67cqw;-o-object-fit:contain;object-fit:contain;width:auto}.ihabdevteam-core-scope .pass-card__plan{color:var(--pass-card-text,var(--color-pureBlack));display:flex;flex-direction:column;gap:0;margin-top:-.67cqw;position:relative;text-align:left;z-index:1}.ihabdevteam-core-scope .pass-card__plan .h0{font-size:13.33cqw;line-height:1.3}.ihabdevteam-core-scope .pass-card .pass-card__plan-number{font-size:17.33cqw;letter-spacing:-1cqw;line-height:1}.ihabdevteam-core-scope .pass-card__plan .h5b{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__plan-unit{margin-left:.67cqw;position:relative;top:-.67cqw}.ihabdevteam-core-scope .pass-card__plan-suffix{margin-left:.67cqw;margin-top:0}.ihabdevteam-core-scope .pass-card .pass-card__copyright{color:var(--pass-card-text,var(--color-black));font-size:3.67cqw;line-height:1.36;margin:auto 0 0;position:relative;text-align:left;z-index:1}.ihabdevteam-core-scope .pass-card__price-area{align-items:flex-end;bottom:4.67cqw;display:flex;flex-direction:column;gap:0;position:absolute;right:6.67cqw;z-index:1}.ihabdevteam-core-scope .pass-card__price-area .h1{font-size:10.67cqw;line-height:1.375}.ihabdevteam-core-scope .pass-card__price-area .h5{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__usage{align-items:flex-end;bottom:4.67cqw;color:var(--pass-card-text,var(--color-black));display:flex;flex-direction:column;gap:0;position:absolute;right:6.67cqw;z-index:1}.ihabdevteam-core-scope .pass-card__usage-percent{align-items:baseline;display:inline-flex;font-size:3.67cqw;gap:0;line-height:1.36;opacity:.9}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-remaining{font-size:5cqw;line-height:1.53;opacity:.9}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-value{font-size:10.67cqw;line-height:1.2}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-symbol{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__discount{color:var(--pass-card-text,var(--color-pureBlack));font-size:4.67cqw;line-height:1.2;text-align:right;white-space:pre-line}.ihabdevteam-core-scope .pass-card__price{align-items:baseline;color:var(--pass-card-text,var(--color-pureBlack));display:inline-flex;gap:2cqw;text-align:right}.ihabdevteam-core-scope .pass-card__price-original{color:color-mix(in srgb,var(--pass-card-text,var(--color-pureBlack)) 75%,transparent);font-size:4.67cqw;line-height:1.57;text-decoration:line-through;text-decoration-thickness:1px}';le(a7);var o7='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_SpeechEar_ko_mono" xmlns="http://www.w3.org/2000/svg" width="583.33" height="240" viewBox="0 0 583.33 240"><g id="text"><path d="M278.07,115.18V47.71h85.73v67.47h-85.73ZM408.4,173.42v20.18h-125.33v-44.02h96.5v-5.96h-96.88v-20.18h124.18v44.02h-96.11v5.96h97.65ZM305.56,70.97v20.76h30.95v-20.76h-30.95ZM423.39,92.88h-16.53v25.37h-27.68V45.98h27.68v20.18h16.53v26.72Z" fill="%23fff"/><path d="M527.58,113.83v26.33c-7.82,3.59-20.06,5.38-36.71,5.38h-1.73v48.06h-27.68v-48.06h-34.21v-26.33h64.01c16.4,0,28.51-1.79,36.33-5.38ZM435.31,75.77v-26.33h80.35v62.09h-27.68v-35.75h-52.67ZM563.33,193.61h-27.68V45.98h27.68v147.63Z" fill="%23fff"/></g><g id="symbol"><g opacity=".5"><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23fff"/></g><path d="M140,30h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84-3.88-7.1-6.08-15.25-6.08-23.92v-80c0-16.57,13.43-30,30-30h80c8.66,0,16.81,2.21,23.92,6.08-8.48-15.54-24.97-26.08-43.92-26.08Z" fill="%23fff"/><path d="M183.92,56.08c3.88,7.1,6.08,15.25,6.08,23.92v80c0,16.57-13.43,30-30,30h-80c-8.66,0-16.81-2.21-23.92-6.08,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%23fff"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',r7='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_SpeechEarManager_ko_mono" xmlns="http://www.w3.org/2000/svg" width="1035.43" height="240" viewBox="0 0 1035.43 240"><g id="text"><path d="M278.07,115.18V47.71h85.73v67.47h-85.73ZM408.4,173.42v20.18h-125.33v-44.02h96.5v-5.96h-96.88v-20.18h124.18v44.02h-96.11v5.96h97.65ZM305.56,70.97v20.76h30.95v-20.76h-30.95ZM423.39,92.88h-16.53v25.37h-27.68V45.98h27.68v20.18h16.53v26.72Z" fill="%23fff"/><path d="M527.58,113.83v26.33c-7.82,3.59-20.06,5.38-36.71,5.38h-1.73v48.06h-27.68v-48.06h-34.21v-26.33h64.01c16.4,0,28.51-1.79,36.33-5.38ZM435.31,75.77v-26.33h80.35v62.09h-27.68v-35.75h-52.67ZM563.33,193.61h-27.68V45.98h27.68v147.63Z" fill="%23fff"/><path d="M644.64,52.32v131.48h-58.24V52.32h58.24ZM634.45,173.81V62.32h-38.25v111.49h38.25ZM713.65,193.61h-10.19v-75.16h-28.64v72.66h-10V46.94h10v61.32h28.64v-62.28h10.19v147.63Z" fill="%23fff"/><path d="M819.46,171.6c6.6-1.35,12.08-3.11,16.44-5.29v10.19c-4.23,2.31-9.64,4.1-16.24,5.38-6.6,1.28-13.3,1.92-20.09,1.92h-57.28V51.36h10.57v122.25h46.71c6.66,0,13.29-.67,19.89-2.02ZM851.47,193.8V45.98h10.57v147.63l-10.57.19Z" fill="%23fff"/><path d="M935.66,113.64l48.44,62.28-8.27,6.34-43.06-56.13c-4.36,16.66-10.38,29.92-18.07,39.79-7.69,9.87-16.72,15.83-27.1,17.88v-10.76c8.71-2.05,16.21-8.07,22.49-18.07,6.28-10,11.05-22.97,14.32-38.92,3.27-15.95,5.03-33.86,5.29-53.73h-39.21v-10h88.61v10h-39.02c-.13,18.84-1.6,35.95-4.42,51.32ZM1015.43,193.61h-10.38v-79.39h-37.87v-10.19h37.87v-58.05h10.38v147.63Z" fill="%23fff"/></g><g id="symbol"><g opacity=".5"><path d="M80,50c-16.57,0-30,13.43-30,30v80c0,8.66,2.21,16.81,6.08,23.92,7.1,3.88,15.25,6.08,23.92,6.08h80c16.57,0,30-13.43,30-30v-80c0-8.66-2.21-16.81-6.08-23.92-7.1-3.88-15.25-6.08-23.92-6.08h-80Z" fill="%23fff"/></g><path d="M140,30h-60c-27.61,0-50,22.39-50,50v23.38l-19.22,21.15c-1.15,1.26-1.02,3.24.3,4.33,5.82,4.84,12.22,8.56,18.92,11.21.03,18.92,10.56,35.37,26.08,43.84-3.88-7.1-6.08-15.25-6.08-23.92v-80c0-16.57,13.43-30,30-30h80c8.66,0,16.81,2.21,23.92,6.08-8.48-15.54-24.97-26.08-43.92-26.08Z" fill="%23fff"/><path d="M183.92,56.08c3.88,7.1,6.08,15.25,6.08,23.92v80c0,16.57-13.43,30-30,30h-80c-8.66,0-16.81-2.21-23.92-6.08,8.48,15.54,24.97,26.08,43.92,26.08h45.11c2.7,0,4.89,2.19,4.89,4.89,0,2.86,2.45,5.13,5.3,4.88,30.65-2.68,54.7-28.42,54.7-59.77v-60c0-18.95-10.54-35.44-26.08-43.92Z" fill="%23fff"/><rect x="69" y="88" width="12" height="24" rx="6" ry="6" fill="%23fff"/><path d="M111,140c-2.92,0-5.85-.75-8.5-2.28-2.39-1.38-3.21-4.44-1.82-6.83,1.38-2.39,4.44-3.21,6.83-1.82,2.74,1.58,6.21,1.13,8.44-1.1,1.08-1.08,1.76-2.45,1.97-3.95.9-6.37,3.71-12.42,8.14-17.5,2.64-3.02,4.03-6.9,3.93-10.92-.21-8.21-6.78-15.05-14.97-15.56-2.76-.18-5.42.33-7.88,1.51-2.49,1.19-5.48.12-6.66-2.37-1.19-2.49-.12-5.48,2.37-6.66,3.96-1.88,8.38-2.73,12.8-2.46,13.32.83,24.01,11.94,24.34,25.29.16,6.53-2.11,12.83-6.39,17.75-3.15,3.61-5.15,7.87-5.77,12.32-.52,3.67-2.18,7-4.8,9.63-3.27,3.27-7.62,4.97-12.02,4.97Z" fill="%23fff"/></g></svg>',n7=".ihabdevteam-core-scope .pass-card-bg{border-radius:inherit;inset:0;overflow:hidden;pointer-events:none;position:absolute}:where(.ihabdevteam-core-scope){--pass-card-symbol-opacity:1}.ihabdevteam-core-scope .pass-card-bg__symbol{background:var(--symbol-url) center /contain no-repeat;height:48px;-webkit-mask:var(--symbol-url) center /contain no-repeat;mask:var(--symbol-url) center /contain no-repeat;position:absolute;right:12px;top:12px;width:48px}.ihabdevteam-core-scope .pass-card-bg__circle{border-radius:50%;opacity:1;opacity:var(--pass-card-symbol-opacity,.75);position:absolute}.ihabdevteam-core-scope .pass-card-bg__circle--1{height:340px;right:-150px;top:-140px;width:340px}.ihabdevteam-core-scope .pass-card-bg__circle--2{bottom:-90px;height:220px;right:-50px;width:220px}.ihabdevteam-core-scope .pass-card-bg__circle--3{bottom:-70px;height:140px;left:-40px;width:140px}.ihabdevteam-core-scope .pass-card-bg--default{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--1{background:var(--color-main)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--2{background:var(--color-sub)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--3{background:var(--color-main-a20)}.ihabdevteam-core-scope .pass-card-bg--blue{background:var(--color-deepMain)}.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--1{background:var(--color-white-a30)}.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--2,.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--3{background:var(--color-white-a10)}.ihabdevteam-core-scope .pass-card-bg--dark{background:var(--color-softBlack)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--1{background:var(--color-main)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--2{background:var(--color-sub)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--3{background:var(--color-white-a10)}";le(n7);var i7=".ihabdevteam-core-scope .pass-card-bg-two-circle{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg-two-circle__c1,.ihabdevteam-core-scope .pass-card-bg-two-circle__c3{border-radius:50%;opacity:.75;opacity:var(--pass-card-symbol-opacity,.75);position:absolute}.ihabdevteam-core-scope .pass-card-bg-two-circle__c1{background:var(--color-main);height:340px;right:-150px;top:-140px;width:340px}.ihabdevteam-core-scope .pass-card-bg-two-circle__c3{background:var(--color-sub);bottom:-90px;height:220px;right:-50px;width:220px}.ihabdevteam-core-scope .pass-card-bg-two-circle__symbol{background:var(--color-darkWhite)}";le(i7);var ef='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Symbol_IHAB_mono" xmlns="http://www.w3.org/2000/svg" width="240" height="240" viewBox="0 0 240 240"><path id="symbol" d="M190.71,49.29c-18.1-18.1-43.1-29.29-70.71-29.29s-34.94,28.87-53.03,46.97h0c-18.1,18.1-46.97,25.56-46.97,53.03s11.19,52.61,29.29,70.71c18.1,18.1,43.1,29.29,70.71,29.29s52.61-11.19,70.71-29.29c18.1-18.1,29.29-43.1,29.29-70.71s-11.19-52.61-29.29-70.71ZM155.36,155.36c-9.05,9.05-21.55,14.64-35.36,14.64s-26.31-5.6-35.36-14.64c-9.05-9.05-14.64-21.55-14.64-35.36s5.6-26.31,14.64-35.36c9.05-9.05,21.55-14.64,35.36-14.64s26.31,5.6,35.36,14.64c9.05,9.05,14.64,21.55,14.64,35.36s-5.6,26.31-14.64,35.36Z" fill="%23fff"/></svg>';const wo={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},id=new WeakMap;function s7(e){if(e)return id.get(e)}function Ga(e,t){e&&(e.style.setProperty(wo.text,t.text),e.style.setProperty(wo.sub,t.sub),t.copyrightColor&&e.style.setProperty(wo.copyright,t.copyrightColor),id.set(e,t))}function Ha(e){e&&(e.style.removeProperty(wo.text),e.style.removeProperty(wo.sub),e.style.removeProperty(wo.copyright),id.delete(e))}const sd={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"#1a1a1a"};function ld(e={}){const t=jt(sd,Ga,Ha);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-two-circle__c1"}),r.jsx("div",{className:"pass-card-bg-two-circle__c3"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${ef}")`}})]})}const tf="M190.71,49.29c-18.1-18.1-43.1-29.29-70.71-29.29s-34.94,28.87-53.03,46.97h0c-18.1,18.1-46.97,25.56-46.97,53.03s11.19,52.61,29.29,70.71c18.1,18.1,43.1,29.29,70.71,29.29s52.61-11.19,70.71-29.29c18.1-18.1,29.29-43.1,29.29-70.71s-11.19-52.61-29.29-70.71Z",Br=240;var l7=".ihabdevteam-core-scope .pass-card-bg-sound-move{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg-sound-move__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";le(l7);var Sn='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Symbol_IHAB" xmlns="http://www.w3.org/2000/svg" width="240" height="240" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 240 240"><defs><linearGradient id="linear-gradient" x1="62.99" y1="62.99" x2="190.71" y2="190.71" gradientUnits="userSpaceOnUse"><stop offset=".2" stop-color="%23499cdf"/><stop offset=".8" stop-color="%234dcdc0"/></linearGradient></defs><path id="symbol" d="M190.71,49.29c-18.1-18.1-43.1-29.29-70.71-29.29s-34.94,28.87-53.03,46.97h0c-18.1,18.1-46.97,25.56-46.97,53.03s11.19,52.61,29.29,70.71c18.1,18.1,43.1,29.29,70.71,29.29s52.61-11.19,70.71-29.29c18.1-18.1,29.29-43.1,29.29-70.71s-11.19-52.61-29.29-70.71ZM155.36,155.36c-9.05,9.05-21.55,14.64-35.36,14.64s-26.31-5.6-35.36-14.64c-9.05-9.05-14.64-21.55-14.64-35.36s5.6-26.31,14.64-35.36c9.05-9.05,21.55-14.64,35.36-14.64s26.31,5.6,35.36,14.64c9.05,9.05,14.64,21.55,14.64,35.36s-5.6,26.31-14.64,35.36Z" fill="url(%23linear-gradient)"/></svg>';const c7={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"var(--color-main)"},u7=100,d7=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function af(e={}){const t=jt(c7,Ga,Ha),a="var(--color-main)",o=270,n=170;return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[r.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:d7.map(({scale:i,opacity:l},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i*u7/Br}) translate(${-Br/2} ${-Br/2})`,opacity:l,children:r.jsx("path",{d:tf,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}var p7=".ihabdevteam-core-scope .pass-card-bg-sound-move-v1{background:linear-gradient(135deg,var(--color-main),var(--color-sub))}.ihabdevteam-core-scope .pass-card-bg-sound-move-v1__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";le(p7);const h7={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",logoColor:"_mono",copyrightColor:"#ffffff"},m7=100,b7=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function g7(e={}){const t=jt(h7,Ga,Ha),a="#ffffff",o=270,n=170;return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[r.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:b7.map(({scale:i,opacity:l},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i*m7/Br}) translate(${-Br/2} ${-Br/2})`,opacity:l,children:r.jsx("path",{d:tf,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${ef}")`}})]})}var f7=".ihabdevteam-core-scope .pass-card-bg-talk{align-items:center;background:var(--color-pureWhite);display:flex;justify-content:center}.ihabdevteam-core-scope .pass-card-bg-talk__shape{height:76px;position:absolute;width:76px}.ihabdevteam-core-scope .pass-card-bg-talk__shape--left{background:var(--color-main);border-radius:42px 42px 42px 4px;transform:translateX(-18px)}.ihabdevteam-core-scope .pass-card-bg-talk__shape--right{background:var(--color-sub);border-radius:50%;opacity:.7;transform:translateX(18px)}";le(f7);const v7={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"var(--color-main)"};function x7(e={}){const t=jt(v7,Ga,Ha);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),r.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}const C7={Logo_SpeechEar_ko:{"":Fi,_mono:o7},Logo_SpeechEarManager_ko:{"":ad,_mono:r7}};function y7(e,t){if(e)return C7[e]?.[t??""]??void 0}const _7={speechear:Fi,manager:ad},w7={speechear:"Logo_SpeechEar_ko",manager:"Logo_SpeechEarManager_ko"},of=10;function k7(e){return e<=0?0:e>=86400?Math.floor(e/86400)*86400:e>=3600?Math.floor(e/3600)*3600:e>=60?Math.floor(e/60)*60:Math.floor(e)}function rf(e,t){if(e<=0)return t("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return t("passCard.remainingDay",{n:a});const o=Math.floor(e/3600);if(o>0)return t("passCard.remainingHour",{n:o});const n=Math.floor(e/60);return n>0?t("passCard.remainingMinute",{n}):t("passCard.remainingSecond",{n:Math.floor(e)})}function B7(e,t,a){if(e==="manager"){const o=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),n=a==="\uC624\uD508\uD2B9\uAC00"||a===kt.t("passCard.specialLabel");return o?r.jsx(x7,{}):n?r.jsx(g7,{}):r.jsx(af,{})}return r.jsx(ld,{})}function cd({ariaLabel:e,product:t,showPrice:a=!1,plan:o,type:n,endDate:i,remainingSeconds:l,endInclusive:c=!1,state:u="active",bg:d,bgOnly:h=!1,textColor:p,subColor:m,copyrightColor:v,logoSrc:x,label:g,price:b,originalPrice:C,discountLabel:f,onUse:w,onRefund:y,onDelete:A}){const{t:_}=Ce.useTranslation(),B=t?nd(t):void 0,k=n??B?.type??"speechear",E=o??B?.plan??_("passCard.planSuffix","\uC774\uC6A9\uAD8C"),S=g??B?.label,D=b??(a?B?.price:void 0),$=C??(a?B?.originalPrice:void 0),j=f??B?.discountLabel,H=s.useMemo(()=>{if(D)return null;const Z=t?.durationDays??t7(t?.code);if(!Z||Z<=0)return l!=null?{percent:null,remainingLabel:rf(l,_)}:null;const ee=Z*86400;let me;if(l!=null)me=l;else if((u==="active"||u==="expired")&&i){const re=new Date(i).getTime();if(Number.isNaN(re))return null;const pe=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),ve=/^(\d{4})-(\d{2})-(\d{2})/.exec(ya()),q=Math.round(pe&&ve?(Date.UTC(+pe[1],+pe[2]-1,+pe[3])-Date.UTC(+ve[1],+ve[2]-1,+ve[3]))/864e5:(re-Date.now())/864e5);me=Math.max(0,c?q+1:q)*86400}else u==="expired"?me=0:me=ee;const Le=k7(me),ye=Math.max(0,Math.min(100,Math.floor(Math.min(Le,ee)/ee*100)));return u==="pending"&&ye>=100?null:{percent:ye,remainingLabel:u==="expired"?_("passCard.expired","\uB9CC\uB8CC\uB428"):rf(me,_)}},[D,u,i,l,c,t?.durationDays,t?.code,_]),T=s.useRef(null),[L,I]=s.useState({}),[K,Y]=s.useState(null),M=!!(w||y||A),G=s.useRef(!1),z=s.useRef(void 0),[V,W]=s.useState(x);s.useLayoutEffect(()=>{W(x)},[x]),s.useLayoutEffect(()=>{const Z=T.current;Z&&(p!==void 0&&Z.style.setProperty("--pass-card-text",p),m!==void 0&&Z.style.setProperty("--pass-card-sub",m),v!==void 0&&Z.style.setProperty("--pass-card-copyright",v))},[p,m,v]),s.useLayoutEffect(()=>{const Z=T.current;if(!Z)return;const ee=s7(Z);if(!x){const me=w7[k],Le=u==="expired"?"_mono":ee?.logoColor??"",ye=y7(me,Le);W(ye)}},[d,x,k,u]);const O=Z=>{const ee=T.current;if(!ee)return null;const{left:me,top:Le,width:ye,height:re}=ee.getBoundingClientRect(),pe=(Z.clientX-me)/ye-.5;return{rotateX:-((Z.clientY-Le)/re-.5)*of,rotateY:pe*of}},N=(Z,ee)=>{const me=ee*-.7,Le=Z*.7+10,ye=20+(Math.abs(Z)+Math.abs(ee))*.4;return`${me}px ${Le}px ${ye}px rgba(0, 0, 0, 0.18)`},P=s.useCallback(Z=>{if(yr())return;G.current=!0,clearTimeout(z.current),z.current=setTimeout(()=>{G.current=!1},200);const ee=O(Z);ee&&I({transform:`perspective(800px) rotateX(${ee.rotateX}deg) rotateY(${ee.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:N(ee.rotateX,ee.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),F=s.useCallback(Z=>{if(yr())return;const ee=O(Z);if(!ee)return;const me=G.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";I({transform:`perspective(800px) rotateX(${ee.rotateX}deg) rotateY(${ee.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:N(ee.rotateX,ee.rotateY),transition:me})},[]),X=s.useCallback(()=>{clearTimeout(z.current),G.current=!1,I({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),ie=s.useCallback(()=>Y(null),[]),oe=s.useMemo(()=>{const Z=_("passCard.planSuffix","\uC774\uC6A9\uAD8C"),ee=E.replace("\uC774\uC6A9\uAD8C","").replace(Z==="\uC774\uC6A9\uAD8C"?"":Z,"").trim(),me=ee.match(/^(.*?)(일|년)$/);return me?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"h0 pass-card__plan-number",children:me[1]}),r.jsx("span",{className:"h5b pass-card__plan-unit",children:me[2]==="\uB144"?_("passCard.unitYear","\uB144"):_("passCard.unitDay","\uC77C")})]}):r.jsx("span",{className:"h0",children:ee})},[E,_]),de=s.useMemo(()=>{const Z=fr(D);if(!Z)return null;const ee=Z.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!ee)return r.jsx("span",{className:"h1",children:Z});const[,me,Le,ye]=ee;return r.jsxs(r.Fragment,{children:[me&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:me}),r.jsx("span",{className:"h1 pass-card__price-amount",children:Le}),ye.trim()&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:ye.trim()})]})},[D]),U=s.useCallback(()=>{M&&Y(Z=>{if(Z)return null;const ee=T.current?.getBoundingClientRect();if(!ee)return null;const me=50;return{left:ee.left,right:ee.right,width:ee.width,height:ee.height,x:ee.x,y:ee.y+me,top:ee.top+me,bottom:ee.bottom+me}})},[M]),se=s.useCallback(Z=>{M&&(Z.key==="Enter"||Z.key===" ")&&(Z.preventDefault(),U())},[M,U]),Se=[{items:[...w?[{label:_("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),Y(null)},closeOnSelect:!0}]:[],...y?[{label:_("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{y(),Y(null)},closeOnSelect:!0}]:[],...A?[{label:_("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{A(),Y(null)},closeOnSelect:!0}]:[]]}];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card-frame",children:r.jsxs("div",{ref:T,className:`pass-card pass-card--${u}${M?" pass-card--clickable":""}`,style:L,onMouseEnter:P,onMouseMove:F,onMouseLeave:X,onPointerUp:Z=>{Z.pointerType==="touch"&&X()},onPointerCancel:Z=>{Z.pointerType==="touch"&&X()},onClick:U,onKeyDown:M?se:void 0,role:M?"button":void 0,tabIndex:M?0:void 0,"aria-label":e,"aria-haspopup":M?"menu":void 0,"aria-expanded":M?!!K:void 0,children:[d??B7(k,E,S),!h&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card__top",children:r.jsxs("div",{className:"pass-card__top-left",children:[r.jsx("img",{src:V??_7[k],className:"pass-card__logo",alt:k==="manager"?_("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):_("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),r.jsxs("div",{className:"pass-card__plan",children:[r.jsx("div",{children:oe}),r.jsx("span",{className:"h5b pass-card__plan-suffix",children:S?_("passCard.labeledPlan",{label:S}):_("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),D?r.jsxs("div",{className:"pass-card__price-area",children:[j&&r.jsx("span",{className:"pass-card__discount body-3",children:j}),r.jsxs("div",{className:"pass-card__price",children:[$&&r.jsx("span",{className:"pass-card__price-original body-3",children:fr($)}),de]})]}):H?r.jsxs("div",{className:"pass-card__usage",children:[r.jsx("span",{className:"h5b pass-card__usage-remaining",children:H.remainingLabel}),H.percent!=null&&r.jsxs("span",{className:"pass-card__usage-percent",children:[r.jsx("span",{className:"h1 pass-card__usage-value",children:H.percent}),r.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):r.jsx("div",{className:"pass-card__copyright caption-2","aria-hidden":"true",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),K&&r.jsx(_a,{anchorRect:K,onClose:ie,ariaLabel:_("tooltip.menu","\uBA54\uB274"),children:r.jsx(kr,{columns:Se,onClose:ie,size:"small"})})]})}var A7=".ihabdevteam-core-scope .pass-card-bg-sound-line{background:linear-gradient(60deg,var(--color-pureWhite) 0,color-mix(in srgb,var(--color-sub) 15%,var(--color-pureWhite)) 100%)}.ihabdevteam-core-scope .pass-card-bg-sound-line__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";le(A7);const S7={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"#1a1a1a"};function E7(e={}){const t=`passcard-sound-line-grad-${s.useId()}`,a=jt(S7,Ga,Ha);return r.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[r.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[r.jsx("defs",{children:r.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[r.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),r.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),r.jsx("g",{transform:"translate(25, 45)",children:r.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${t})`,strokeWidth:"50",strokeLinecap:"round"})})]}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}var D7=".ihabdevteam-core-scope .pass-card-bg-talk-v1{align-items:center;background:var(--color-pureWhite);display:flex;justify-content:center}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape{height:76px;position:absolute;width:76px}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape--left{background:linear-gradient(70deg,var(--color-main),var(--color-sub));border-radius:999px;height:92px;transform:translateX(0) rotate(120deg);width:180px}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape--right{background:var(--color-sub);border-radius:50%;height:60px;opacity:1;transform:translate(38px,12px);width:60px}";le(D7);const N7={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"var(--color-main)"};function T7(e={}){const t=jt(N7,Ga,Ha);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),r.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}function j7(e,t){if(e){if(t==="manager_pro")return r.jsx(T7,{});if(t==="manager_standard")return r.jsx(E7,{});if(t==="manager_lite")return r.jsx(af,{})}}function L7(e){const t=fr(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,o,n,i]=a;return r.jsxs(r.Fragment,{children:[o&&r.jsx("span",{className:"payment-plan__pricing-symbol h4",children:o}),n,i.trim()&&r.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function nf(e){const{t}=Ce.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),o=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:n,onSelect:i,period:l="monthly",ownedCodes:c}=e||{},u=y=>!!y&&!!c?.includes(y),d=y=>y.onceOnly??/오픈\s*특가/.test(y.label??""),h=(n.tiers||[]).some(y=>d(y)&&u(y.code)),p=y=>{const A=y.prices?y.prices[l]:y.price;return A?(n.tiers||[]).some(_=>!!_.badge&&_.originals?.[l]===A):!1},m=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",v=t("payment.plan.freePrice","\uBB34\uB8CC"),x=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=y=>y.prices?y.prices[l]:y.price,b=(n.tiers||[]).length>0&&(n.tiers||[]).every(y=>{const A=g(y);return A==="\uBB34\uB8CC"||A===v||A==="0\uC6D0"||typeof A=="string"&&/\d/.test(A)&&!/[1-9]/.test(A)}),C=(n.tiers||[]).length>0&&(n.tiers||[]).every(y=>{const A=g(y);return A==="\uBB38\uC758"||A===x}),f=n.group==="org",w=f?"manager":"speechear";return r.jsxs("div",{className:"payment-plan__card",style:{borderColor:m,"--plan-color":m},children:[n.cardBadge&&r.jsx("div",{className:"payment-plan__card-badge",children:r.jsx(Tt,{label:n.cardBadge,variant:"main",size:"medium",fill:"soft"})}),r.jsxs("div",{className:"payment-plan__title",children:[r.jsx("p",{className:"payment-plan__quote body-3b",style:{color:m},children:n.quote||"\xA0"}),r.jsx("h3",{className:"payment-plan__title-heading h1",children:n.tier??n.title}),r.jsx("p",{className:"payment-plan__subtitle body-3",children:n.subtitle})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.recommendedFor||[]).map((y,A)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(it,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),y]},A))})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.features||[]).map((y,A)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(it,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),y]},A))})]}),r.jsx("div",{className:"payment-plan__card-pricing",children:b?null:C?r.jsx(ge,{htmlType:"button",className:"payment-plan__contact-button",label:t("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>n.tiers?.[0]&&i?.({...n.tiers[0],productId:n.id,productTitle:n.title})}):r.jsx(r.Fragment,{children:r.jsx("div",{className:"payment-plan__pricing-list",children:(n.tiers||[]).map(y=>{const A=y.label||a,_=d(y),B=_||y.openPromo===!0,k=A.replace(/^오픈\s*특가\s*/,"")||a,E=y.prices?y.prices[l]:y.price,S=y.badge?B?`${o}
|
|
852
|
+
${y.badge}`:y.badge:void 0;if(_&&u(y.code))return null;if(!y.badge&&!h)return p(y)?null:r.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${y.highlight?" payment-plan__pricing-row--highlight":""}`,children:[r.jsx("div",{className:"payment-plan__pricing-row-title",children:r.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:y.label})}),r.jsx("div",{className:"payment-plan__pricing-row-price",children:r.jsx("span",{className:"payment-plan__pricing-current h1",children:L7(E)})})]},y.id);const D=n.tier??(f?n.title:void 0),$=r.jsx(cd,{showPrice:!0,product:{type:w,code:y.code,name:k,label:D,price:E,originalPrice:y.originals?.[l]??void 0,discountLabel:S},bg:j7(f,n.id)}),j=()=>i?.({...y,productId:n.id,productTitle:n.title,preview:$});return r.jsx("div",{className:"payment-plan__pricing-card",onClick:j,onKeyDown:i?H=>{H.target===H.currentTarget&&(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),j())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:$},y.id)})})})})]})}function sf({variant:e="default"}){return r.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var M7=".ihabdevteam-core-scope .pass-card-bg-ihab{background:var(--color-white)}.ihabdevteam-core-scope .pass-card-bg-ihab__symbol{bottom:-24px;height:140px;-o-object-fit:contain;object-fit:contain;opacity:.06;position:absolute;right:-24px;width:140px}.ihabdevteam-core-scope .pass-card-bg-ihab__symbol-top{transform:translate(-48px) rotate(-90deg);transform-origin:top right;width:153.016px}";le(M7);var ud='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?><svg id="Logo_IHAB_en" xmlns="http://www.w3.org/2000/svg" width="765.08" height="240" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 765.08 240"><defs><linearGradient id="linear-gradient" x1="62.99" y1="62.99" x2="190.71" y2="190.71" gradientUnits="userSpaceOnUse"><stop offset=".2" stop-color="%23499cdf"/><stop offset=".8" stop-color="%234dcdc0"/></linearGradient></defs><path id="symbol" d="M190.71,49.29c-18.1-18.1-43.1-29.29-70.71-29.29s-34.94,28.87-53.03,46.97h0c-18.1,18.1-46.97,25.56-46.97,53.03s11.19,52.61,29.29,70.71c18.1,18.1,43.1,29.29,70.71,29.29s52.61-11.19,70.71-29.29c18.1-18.1,29.29-43.1,29.29-70.71s-11.19-52.61-29.29-70.71ZM155.36,155.36c-9.05,9.05-21.55,14.64-35.36,14.64s-26.31-5.6-35.36-14.64c-9.05-9.05-14.64-21.55-14.64-35.36s5.6-26.31,14.64-35.36c9.05-9.05,21.55-14.64,35.36-14.64s26.31,5.6,35.36,14.64c9.05,9.05,14.64,21.55,14.64,35.36s-5.6,26.31-14.64,35.36Z" fill="url(%23linear-gradient)"/><g id="text"><path d="M316.21,190.6h-36.74V50.61h36.74v139.99Z"/><path d="M335.16,50.61h36.74v55.11h51.63v-55.11h36.93v139.99h-36.93v-55.11h-51.63v55.11h-36.74V50.61Z"/><path d="M473.99,190.6l46.6-139.99h50.08l46.41,139.99h-39.64l-8.31-27.46h-46.99l-8.31,27.46h-39.83ZM560.62,135.3l-14.5-46.99h-1.16l-14.31,46.99h29.97Z"/><path d="M631,50.61h59.94c31.9,0,48.73,13.73,48.73,35.19,0,15.47-11.02,27.26-26.88,30.55v1.35c17.6.58,32.29,13.54,32.29,33.45,0,22.82-18.56,39.45-49.11,39.45h-64.97V50.61ZM701.77,93.53c0-8.89-6.96-13.92-17.02-13.92h-17.02v27.84h16.44c10.25,0,17.6-5.03,17.6-13.92ZM706.22,146.51c0-10.25-7.35-16.05-19.14-16.05h-19.34v30.55h18.76c13.15,0,19.72-5.03,19.72-14.5Z"/></g></svg>';const dd={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEar_ko",copyrightColor:"#c9c9c9"};function lf(){const e=jt(dd,Ga,Ha);return r.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${ud}")`}})})}var $7=".ihabdevteam-core-scope .pass-card-bg-left-color-grid{background:var(--color-white)}.ihabdevteam-core-scope .pass-card-bg-left-color-grid__bar{background:linear-gradient(120deg,var(--color-main),var(--color-sub));border-radius:16px 0 0 16px;height:100%;left:0;position:absolute;top:0;width:76%}.ihabdevteam-core-scope .pass-card-bg-left-color-grid__grid{--grid-line:rgba(73,156,223,.06);background-image:linear-gradient(rgba(73,156,223,.06) 1px,transparent 0),linear-gradient(90deg,rgba(73,156,223,.06) 1px,transparent 0);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:24px 24px;inset:0;position:absolute}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg-left-color-grid__grid{--grid-line:transparent}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg-left-color-grid__bar{background:var(--pass-card-expired-shape)}";le($7);const pd={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_SpeechEarManager_ko",logoColor:"_mono",copyrightColor:"#ffffff"};function cf(e={}){const t=jt(pd,Ga,Ha);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),r.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${Sn}")`}})]})}var R7=".ihabdevteam-core-scope .shortcut-badge{align-items:center;display:inline-flex;gap:4px;pointer-events:none;z-index:10}.ihabdevteam-core-scope .shortcut-badge--top-left{left:0;position:absolute;top:0;transform:translate(-25%,-25%) scale(1);transform:translate(-25%,-25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--top-right{position:absolute;right:0;top:0;transform:translate(25%,-25%) scale(1);transform:translate(25%,-25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--bottom-left{bottom:0;left:0;position:absolute;transform:translate(-25%,25%) scale(1);transform:translate(-25%,25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--bottom-right{bottom:0;position:absolute;right:0;transform:translate(25%,25%) scale(1);transform:translate(25%,25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--static,.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__group{gap:4px;gap:calc(4px*var(--shortcut-badge-scale, 1))}.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__key{border-width:2px;border-width:calc(2px*var(--shortcut-badge-scale, 1));font-size:11px;font-size:calc(11px*var(--shortcut-badge-scale, 1));min-height:24px;min-height:calc(24px*var(--shortcut-badge-scale, 1));min-width:24px;min-width:calc(24px*var(--shortcut-badge-scale, 1));padding:0 5px;padding:0 calc(5px*var(--shortcut-badge-scale, 1))}.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__plus{font-size:11px;font-size:calc(11px*var(--shortcut-badge-scale, 1))}.ihabdevteam-core-scope .shortcut-badge__group{align-items:center;display:inline-flex;gap:4px}.ihabdevteam-core-scope .shortcut-badge__plus{color:var(--color-lightGray);font-size:11px;line-height:1}.ihabdevteam-core-scope .shortcut-badge__key{align-items:center;background:var(--color-lightBlack);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-white);display:inline-flex;font-family:inherit;font-size:11px;font-weight:400;justify-content:center;line-height:1;min-height:24px;min-width:24px;padding:0 5px;white-space:nowrap}";le(R7);function hd({keys:e,anchor:t="top-right",scale:a,className:o=""}){const n=Array.isArray(e)?e:[e];return r.jsx("span",{className:Be("shortcut-badge",`shortcut-badge--${t}`,o),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:n.map((i,l)=>r.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&r.jsx("span",{className:"shortcut-badge__plus",children:"+"}),r.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}var P7=".ihabdevteam-core-scope .sound-compass{--scb-idle-bg:var(--color-deepWhite);--scb-idle-border:var(--color-whiteLine);--scb-idle-fg:var(--color-lightGray);--scb-active-bg:var(--color-main);--scb-active-border:var(--color-main);--scb-active-fg:#fff;--scb-played-bg:var(--color-sub);--scb-played-border:var(--color-sub);--scb-played-fg:#fff;--scb-wrong-bg:#ef4444;--scb-wrong-border:#ef4444;--scb-wrong-fg:#fff;--scb-idle-hover-bg:var(--color-whiteLine);--scb-idle-hover-border:var(--color-lightGray);--scb-idle-hover-fg:var(--scb-idle-fg);--scb-focus-ring:var(--color-main);--scc-bg:var(--color-white);--scc-border:var(--color-whiteLine);--scc-fg:var(--color-lightGray);--scc-hover-bg:var(--color-deepWhite);--scc-hover-border:var(--color-lightGray);--scc-hover-fg:var(--color-darkGray);--scc-disabled-bg:var(--color-deepWhite);--scc-disabled-border:var(--color-whiteLine);--scc-disabled-fg:var(--color-whiteLine);align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .sound-compass__svg{left:0;overflow:visible;position:absolute;top:0}.ihabdevteam-core-scope .sound-compass__speaker-btn{all:unset;align-items:center;border-radius:50%;border-style:solid;border-width:1px;box-sizing:border-box;display:flex;flex-direction:column;gap:1px;justify-content:center;position:relative;transition:background-color .15s,border-color .15s,color .15s;z-index:1}.ihabdevteam-core-scope .sound-compass__speaker-btn--idle{background:var(--scb-idle-bg);border-color:var(--scb-idle-border);color:var(--scb-idle-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--active{background:var(--scb-active-bg);border-color:var(--scb-active-border);color:var(--scb-active-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--correct,.ihabdevteam-core-scope .sound-compass__speaker-btn--played{background:var(--scb-played-bg);border-color:var(--scb-played-border);color:var(--scb-played-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--wrong{background:var(--scb-wrong-bg);border-color:var(--scb-wrong-border);color:var(--scb-wrong-fg)}.ihabdevteam-core-scope .sound-compass__speaker-number{color:inherit;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .sound-compass__compass-wrap{flex-shrink:0;margin-bottom:24px;overflow:visible;position:relative}.ihabdevteam-core-scope .sound-compass__center{align-items:center;background:var(--scc-bg);border:1px solid var(--scc-border);border-radius:50%;color:var(--scc-fg);display:flex;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes sound-compass-pulse{0%{opacity:0;transform:scale(.95)}8%{opacity:.45;transform:scale(1.05)}to{opacity:0;transform:scale(2.8);transform:scale(var(--sc-pulse-scale,2.8))}}.ihabdevteam-core-scope .sound-compass__center--button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;padding:0;pointer-events:auto;transition:background-color .15s,border-color .15s,color .15s}.ihabdevteam-core-scope .sound-compass__center--button:hover{background:var(--scc-hover-bg);border-color:var(--scc-hover-border);color:var(--scc-hover-fg)}.ihabdevteam-core-scope .sound-compass__center--button:focus-visible{outline:2px solid var(--scb-focus-ring);outline-offset:2px}.ihabdevteam-core-scope .sound-compass__center--disabled{background:var(--scc-disabled-bg);border-color:var(--scc-disabled-border);color:var(--scc-disabled-fg);cursor:default;pointer-events:none}.ihabdevteam-core-scope .sound-compass__pulse--center{z-index:0}.ihabdevteam-core-scope .sound-compass__pulse{animation:sound-compass-pulse 1s cubic-bezier(.33,1,.68,1) infinite;background:var(--sc-pulse-color,var(--scb-active-bg));border-radius:50%;height:40px;left:0;pointer-events:none;position:absolute;top:0;width:40px}.ihabdevteam-core-scope .sound-compass__pulse--idle{background:var(--sc-pulse-color,var(--scb-idle-bg))}.ihabdevteam-core-scope .sound-compass__pulse--active{background:var(--sc-pulse-color,var(--scb-active-bg))}.ihabdevteam-core-scope .sound-compass__pulse--correct,.ihabdevteam-core-scope .sound-compass__pulse--played{background:var(--sc-pulse-color,var(--scb-played-bg))}.ihabdevteam-core-scope .sound-compass__pulse--wrong{background:var(--sc-pulse-color,var(--scb-wrong-bg))}.ihabdevteam-core-scope .sound-compass__pulse--once{animation-duration:1s;animation-duration:var(--sc-pulse-duration-once,1s);animation-iteration-count:1}.ihabdevteam-core-scope .sound-compass__speaker-btn:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--scb-focus-ring) 14%,transparent)}.ihabdevteam-core-scope .sound-compass__speaker-btn--idle:hover{background:var(--scb-idle-hover-bg);border-color:var(--scb-idle-hover-border);color:var(--scb-idle-hover-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn:focus-visible{outline:2px solid var(--scb-focus-ring);outline-offset:2px}.ihabdevteam-core-scope .sound-compass__speaker-shortcut{pointer-events:none;z-index:2}.ihabdevteam-core-scope .sound-compass__speaker-pos{position:absolute}";le(P7);const En=(e,t,a)=>e+(t-e)*a;function uf({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:o=null,playedIds:n,selectedId:i=null,answerId:l=null,showFeedback:c=!1,pulseSelected:u=!1,pulseSelectedDuration:d,pulseScale:h,clickable:p=!1,onSelectSpeaker:m,buttonSize:v=40,showIcon:x=!0,onCenterClick:g,centerLabel:b,centerDisabled:C=!1,centerAttention:f=!1,shortcutAnchor:w="top-right",shortcutScale:y,scaleShortcut:A=!1}){const{t:_}=Ce.useTranslation(),B=Math.max(0,Math.min(1,a)),k=t/2,E=110/300,S=.18,D=Z=>t*(E+(Z-1)*S),$=Z=>{const ee=D(Z.row??1),me=Z.angleDeg*Math.PI/180;return{x:k+ee*Math.cos(me),y:k+ee*Math.sin(me)}},j=Math.max(...e.map(Z=>Z.row??1),1),H=t*.08,T=t*.1,L=t*.24,I=t-2*H,K=t-T-L,Y=t-L/2,M=s.useMemo(()=>[...new Set(e.map(Z=>Z.deg))].sort((Z,ee)=>Z-ee),[e]),G=M.length,z=Math.max(68,G>1?I/(G-1):0),V=s.useMemo(()=>new Map(M.map((Z,ee)=>[Z,ee])),[M]),W=Z=>{const ee=V.get(Z.deg)??0,me=k+(ee-(G-1)/2)*z,Le=j>1?Math.min(68,K/(j-1)):0,ye=Le*(j-1),re=T+(K-ye)/2,pe=j===1?T+K*.4:re+(j-(Z.row??1))*Le;return{x:me,y:pe}},O=Z=>{const ee=$(Z),me=W(Z);return{x:En(ee.x,me.x,B),y:En(ee.y,me.y,B)}},N={x:k,y:En(k,Y,B)},P=Math.round(v*1.2),F=Math.round(Math.max(16,Math.min(80,v*.7))),X=[],ie=new Map;for(const Z of e){const ee=Z.row??1;ie.has(ee)||ie.set(ee,[]),ie.get(ee).push(Z)}for(const[Z,ee]of ie.entries()){if(ee.length<2)continue;const me=[...ee].sort((Ge,pt)=>Ge.deg-pt.deg),Le=me.map(Ge=>O(Ge)),ye=me.map(Ge=>Ge.deg),re=ye[ye.length-1]-ye[0],pe=re/(ye.length-1),ve=360-re,q=me.length>=3&&pe>0&&ve<=pe*1.5,ae=Math.round(D(Z)*1e3)/1e3,fe=(Ge,pt,st,rt)=>{const vt=(pt.angleDeg-Ge.angleDeg+540)%360-180;if(vt===0)return`L ${rt.x} ${rt.y}`;if(B===0)return`A ${ae} ${ae} 0 0 ${vt>0?1:0} ${rt.x} ${rt.y}`;const De=(Ge.angleDeg+vt/2)*Math.PI/180,Ve={x:k+ae*Math.cos(De),y:k+ae*Math.sin(De)},ke={x:(st.x+rt.x)/2,y:(st.y+rt.y)/2},qe={x:En(Ve.x,ke.x,B),y:En(Ve.y,ke.y,B)},Ne={x:2*qe.x-ke.x,y:2*qe.y-ke.y};return`Q ${Ne.x} ${Ne.y} ${rt.x} ${rt.y}`},Ee=q?[...me,me[0]]:me,Ae=q?[...Le,Le[0]]:Le;let $e=`M ${Ae[0].x} ${Ae[0].y}`;for(let Ge=1;Ge<Ae.length;Ge++)$e+=" "+fe(Ee[Ge-1],Ee[Ge],Ae[Ge-1],Ae[Ge]);X.push({key:`arc-${Z}`,d:$e})}const oe=s.useMemo(()=>new Set(n??[]),[n]),de=Z=>({idle:"",active:_("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:_("soundCompass.state.played","\uB4E4\uC74C"),correct:_("soundCompass.state.correct","\uC815\uB2F5"),wrong:_("soundCompass.state.wrong","\uC624\uB2F5")})[Z],U=Z=>{if(o===Z.id)return"active";if(c){if(Z.id===l)return"correct";if(Z.id===i&&i!==l)return"wrong"}return oe.has(Z.id)?"played":"idle"},se=Z=>o===Z.id?"loop":c?Z.id===l?"loop":null:u&&Z.id===i?"once":null,Se=(Z,ee)=>{switch(Z){case"played":case"correct":return r.jsx(Op,{size:ee});case"wrong":return r.jsx(Xp,{size:ee});default:return r.jsx(Kp,{size:ee})}};return r.jsx("div",{className:"sound-compass",children:r.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[r.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[B===0&&e.map(Z=>{const{x:ee,y:me}=O(Z);return r.jsx("line",{x1:N.x,y1:N.y,x2:ee,y2:me,stroke:"#dde3ec",strokeWidth:"1"},Z.id)}),X.map(Z=>r.jsx("path",{d:Z.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},Z.key))]}),f&&!C&&r.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:P,height:P,left:N.x-P/2,top:N.y-P/2}}),g?r.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${C?" sound-compass__center--disabled":""}`,style:{width:P,height:P,left:N.x,top:N.y},"aria-label":b,"aria-disabled":C||void 0,tabIndex:C?-1:0,onClick:C?void 0:g,children:r.jsx(Ts,{size:F,color:"currentColor",strokeWidth:1.5})}):r.jsx("div",{className:"sound-compass__center",style:{width:P,height:P,left:N.x,top:N.y},children:r.jsx(Ts,{size:F,color:"currentColor",strokeWidth:1.5})}),e.map((Z,ee)=>{const{x:me,y:Le}=O(Z),ye=U(Z),re=se(Z),pe={...y!==void 0||A?{"--shortcut-badge-scale":String(y??Math.max(.75,Math.min(3,v/56)))}:null,pointerEvents:p?"auto":"none",cursor:p?"pointer":"default",zIndex:ye!=="idle"?10:1},ve=v,q=Math.round(Math.max(10,Math.min(56,ve*.38))),ae=Math.round(Math.max(7,Math.min(18,ve*.2))),fe=Math.round(Math.max(10,Math.min(56,ve*.4))),Ee=x==="answered"&&(ye==="played"||ye==="correct"||ye==="wrong"),Ae=x===!0||Ee,$e=!Ee;return r.jsxs("div",{className:"sound-compass__speaker-pos",style:{...pe,left:me-ve/2,top:Le-ve/2},children:[re&&r.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${ye}`+(re==="once"?" sound-compass__pulse--once":""),style:{width:ve,height:ve,...re==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...h!==void 0?{"--sc-pulse-scale":String(h)}:null}}),r.jsxs("button",{type:"button",tabIndex:p?0:-1,"aria-disabled":p?void 0:!0,onClick:p?()=>m?.(Z.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${ye}`,style:{width:ve,height:ve},"aria-label":de(ye)?`${Z.label}, ${de(ye)}`:Z.label,"aria-pressed":i!=null?Z.id===i:void 0,children:[Ae&&Se(ye,q),$e&&r.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:x===!0?ae:fe},children:ee+1})]}),Z.shortcut&&r.jsx(hd,{keys:Z.shortcut,anchor:w,className:"sound-compass__speaker-shortcut"})]},Z.id)})]})})}function df({children:e,position:t="top-left",size:a=24,className:o=""}){return r.jsx("span",{className:Be("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,o),children:e})}var z7=".ihabdevteam-core-scope .divider--horizontal{align-items:center;border:none;border-top:1px solid var(--color-whiteLine);display:flex;width:100%}.ihabdevteam-core-scope .divider--vertical{border:none;border-left:1px solid var(--color-whiteLine);display:inline-block;height:1em;vertical-align:middle;width:1px}.ihabdevteam-core-scope .divider--labeled{border-top:none;gap:var(--spacing-s)}.ihabdevteam-core-scope .divider__line{background:var(--color-whiteLine);flex:1 1 auto;height:1px}.ihabdevteam-core-scope .divider__label{color:var(--color-gray);flex:0 0 auto;white-space:nowrap}";le(z7);function pf({orientation:e="horizontal",label:t,className:a=""}){const o=Be("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?r.jsx("div",{className:o,role:"separator","aria-orientation":"vertical"}):t?r.jsxs("div",{className:o,role:"separator","aria-orientation":"horizontal",children:[r.jsx("span",{className:"divider__line"}),r.jsx("span",{className:"divider__label caption-1",children:t}),r.jsx("span",{className:"divider__line"})]}):r.jsx("div",{className:o,role:"separator","aria-orientation":"horizontal"})}var I7='.ihabdevteam-core-scope .radio{align-items:center;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .radio input{height:0;opacity:0;position:absolute;width:0}.ihabdevteam-core-scope .radio__dot{background:var(--color-pureWhite);border:1.5px solid var(--color-whiteLine);border-radius:50%;display:inline-block;flex-shrink:0;height:20px;position:relative;transition:border-color .15s,background .15s;width:20px}.ihabdevteam-core-scope .radio__dot:before{background:var(--color-pureWhite);border-radius:50%;content:"";inset:4px;position:absolute;transform:scale(0);transition:transform .15s}.ihabdevteam-core-scope .radio input:checked+.radio__dot{background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .radio input:checked+.radio__dot:before{transform:scale(1)}.ihabdevteam-core-scope .radio:not(.radio--disabled):hover .radio__dot{border-color:var(--color-main)}.ihabdevteam-core-scope .radio input:focus-visible+.radio__dot{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .radio__label{color:var(--color-black)}.ihabdevteam-core-scope .radio--disabled{cursor:not-allowed;opacity:.45}';le(I7);function md({checked:e,onChange:t,name:a,value:o,disabled:n=!1,label:i,className:l=""}){const c=s.useId();return r.jsxs("label",{className:`radio${n?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[r.jsx("input",{id:c,type:"radio",name:a,value:o,checked:e,disabled:n,onChange:u=>t?.(u.target.checked)}),r.jsx("span",{className:"radio__dot"}),i&&r.jsx("span",{className:"radio__label body-2",children:i})]})}var O7=".ihabdevteam-core-scope .radio-group{display:flex}.ihabdevteam-core-scope .radio-group--vertical{flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-l)}";le(O7);function hf({options:e,value:t,onChange:a,name:o,disabled:n=!1,direction:i="vertical",className:l="",ariaLabel:c}){const u=s.useId(),d=o??`radio-group-${u}`;return r.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":c,children:e.map(h=>r.jsx(md,{name:d,value:h.value,checked:t===h.value,disabled:n||h.disabled,label:h.label,onChange:p=>{p&&a?.(h.value)}},h.value))})}var F7=".ihabdevteam-core-scope .alert{align-items:flex-start;background:color-mix(in srgb,var(--alert-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--alert-color) 25%,transparent);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-s);padding:var(--spacing-m)}.ihabdevteam-core-scope .alert__icon{align-items:center;color:var(--alert-color);display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .alert__body{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.ihabdevteam-core-scope .alert__header{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .alert__message--indented{margin-left:calc(20px + var(--spacing-xs))}.ihabdevteam-core-scope .alert__title{color:var(--color-black)}.ihabdevteam-core-scope .alert__message{color:var(--color-darkGray)}.ihabdevteam-core-scope .alert__dismiss{align-items:center;background:transparent;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:18px;height:24px;justify-content:center;line-height:1;padding:0;width:24px}.ihabdevteam-core-scope .alert__dismiss:hover{color:var(--color-darkGray)}.ihabdevteam-core-scope .alert--info{--alert-color:var(--color-main)}.ihabdevteam-core-scope .alert--success{--alert-color:var(--color-success)}.ihabdevteam-core-scope .alert--warning{--alert-color:var(--color-warn)}.ihabdevteam-core-scope .alert--danger{--alert-color:var(--color-error)}";le(F7);const W7={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function mf({tone:e="info",title:t,message:a,children:o,dismissible:n=!1,onDismiss:i,live:l,className:c=""}){const{t:u}=Ce.useTranslation(),[d,h]=s.useState(!1),p=s.useRef(null),m=s.useCallback(()=>{const f=p.current;f&&f.contains(document.activeElement)&&Ai(f),h(!0),i?.()},[i]);if(d)return null;const v=Be("alert",`alert--${e}`,c),x=l??(e==="danger"||e==="warning"?"assertive":"polite"),g=x==="assertive"?"alert":x==="polite"?"status":void 0,b=!!t,C=!!(a||o);return r.jsxs("div",{ref:p,className:v,role:g,children:[r.jsxs("div",{className:"alert__body",children:[r.jsxs("div",{className:"alert__header",children:[r.jsx(it,{icon:W7[e],size:20,className:"alert__icon"}),b&&r.jsx("span",{className:"alert__title body-2",children:t}),!b&&C&&r.jsx("div",{className:"alert__message body-3",children:a||o})]}),b&&C&&r.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||o})]}),n&&r.jsx("button",{type:"button",className:"alert__dismiss",onClick:m,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var G7=".ihabdevteam-core-scope .search-summary{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);box-shadow:var(--shadow-card);box-sizing:border-box;color:var(--color-gray);display:inline-flex;gap:var(--spacing-xs);max-width:100%;padding:30px 20px;text-align:left}.ihabdevteam-core-scope .search-summary__icon{color:currentColor;display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .search-summary__text{min-width:0;overflow-wrap:anywhere;word-break:keep-all}.ihabdevteam-core-scope .search-summary__em{color:var(--color-main)}.ihabdevteam-core-scope .search-summary--ready{background:var(--color-white);color:var(--color-deepGray)}.ihabdevteam-core-scope .search-summary--ready .search-summary__em{color:var(--color-main)}.ihabdevteam-core-scope .search-summary--guide{background:var(--color-deepWhite);color:var(--color-gray)}.ihabdevteam-core-scope .search-summary--error{background:var(--color-white);color:var(--color-error)}.ihabdevteam-core-scope .search-summary--error .search-summary__em{color:var(--color-error)}";le(G7);const H7={ready:"search",guide:"info",error:"circle-alert"};function V7(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const o=[];let n=0,i=0;for(const l of a){const c=e.indexOf(l,n);c<0||(c>n&&o.push(e.slice(n,c)),o.push(r.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),n=c+l.length)}return n<e.length&&o.push(e.slice(n)),o}function bf({status:e="guide",label:t,children:a,emphasis:o,icon:n,className:i=""}){const l=n===!1?null:n??H7[e],c=Be("search-summary",`search-summary--${e}`,i),u=t??a,d=typeof u=="string"&&o&&o.length>0?V7(u,o):u;return r.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&r.jsx(it,{icon:l,size:18,className:"search-summary__icon"}),r.jsx("span",{className:"search-summary__text body-2",children:d})]})}function Ar({title:e,items:t}){const{t:a}=Ce.useTranslation(),{anchorRect:o,openAt:n,close:i}=Uo(),l=s.useRef(null),c=Wc(!!o,(u,d)=>{u&&d?n(l.current?.querySelector("button")??d):i()},l);return r.jsxs("span",{ref:l,style:{display:"contents"},children:[r.jsx(ge,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!o,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:u=>{Cr(u)||n(u.currentTarget)},onPointerLeave:u=>{Cr(u)||i()},onClick:u=>{c.touchPress(u.currentTarget)},onFocus:u=>{yr()||n(u.currentTarget)},onBlur:i}),o&&r.jsx(_o,{title:e,items:t,showIndex:t.length>1,anchorRect:o,onClose:i})]})}var U7=".ihabdevteam-core-scope .tabs{display:flex;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .tabs__list{border-bottom:1px solid var(--color-whiteLine);display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .tabs__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-gray);cursor:pointer;padding:0 var(--spacing-xs);transition:color .15s,border-color .15s;white-space:nowrap}.ihabdevteam-core-scope .tabs__list--32 .tabs__tab{height:32px}.ihabdevteam-core-scope .tabs__list--40 .tabs__tab{height:40px}.ihabdevteam-core-scope .tabs__list--48 .tabs__tab{height:48px}.ihabdevteam-core-scope .tabs__tab:hover:not(:disabled){color:var(--color-darkGray)}.ihabdevteam-core-scope .tabs__tab:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .tabs__tab--active{border-bottom-color:var(--color-main);color:var(--color-main)}.ihabdevteam-core-scope .tabs__tab:disabled{color:var(--color-disabled);cursor:not-allowed}.ihabdevteam-core-scope .tabs__panel{outline:none}.ihabdevteam-core-scope .tabs__panel:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}";le(U7);function gf({items:e=[],value:t,onChange:a,className:o="",size:n=40}){const i=s.useId(),{t:l}=Ce.useTranslation(),c=s.useRef(null),u=e.find(g=>!g.disabled)?.key,d=e.some(g=>g.key===t)?t:u??e[0]?.key,h=e.find(g=>g.key===d&&!g.disabled)?.key??u,p=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),m=(g,b=p())=>{if(b.length===0)return;const C=(g%b.length+b.length)%b.length;b[C]?.focus(),b[C]?.click()},v=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const b=p(),C=b.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?m(C+1,b):g.key==="ArrowLeft"||g.key==="ArrowUp"?m(C-1,b):g.key==="Home"?m(0,b):m(b.length-1,b)},x=e.find(g=>g.key===d);return r.jsxs("div",{className:`tabs ${o}`.trim(),children:[r.jsx("div",{ref:c,className:`tabs__list tabs__list--${n}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(g=>r.jsx("button",{id:`tabs__tab-${i}-${g.key}`,type:"button",role:"tab","aria-selected":g.key===d,"aria-controls":`tabs__panel-${i}-${g.key}`,disabled:g.disabled,tabIndex:g.key===h?0:-1,className:`tabs__tab body-2${g.key===d?" tabs__tab--active":""}`,onClick:()=>{g.key!==t&&a?.(g.key)},onKeyDown:v,children:g.label},g.key))}),x&&r.jsx("div",{id:`tabs__panel-${i}-${x.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${x.key}`,tabIndex:0,className:"tabs__panel",children:x.panel},x.key)]})}var q7=".ihabdevteam-core-scope .avatar{align-items:center;background:var(--color-lightGray-a10);color:var(--color-gray);display:inline-flex;flex-shrink:0;height:var(--avatar-size);justify-content:center;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--avatar-size)}.ihabdevteam-core-scope .avatar--circle{border-radius:50%}.ihabdevteam-core-scope .avatar--rounded-square{border-radius:var(--radius-card)}.ihabdevteam-core-scope .avatar--xs{--avatar-size:24px}.ihabdevteam-core-scope .avatar--sm{--avatar-size:32px}.ihabdevteam-core-scope .avatar--md{--avatar-size:40px}.ihabdevteam-core-scope .avatar--lg{--avatar-size:56px}.ihabdevteam-core-scope .avatar--xl{--avatar-size:80px}.ihabdevteam-core-scope .avatar__image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ihabdevteam-core-scope .avatar__initials{font-size:calc(var(--avatar-size)*.4);font-weight:600;line-height:1}.ihabdevteam-core-scope .avatar__icon{align-items:center;display:inline-flex;justify-content:center}";le(q7);const Y7={xs:12,sm:16,md:20,lg:28,xl:36};function K7(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?[...t[0]].slice(0,2).join("").toUpperCase():([...t[0]][0]+[...t[t.length-1]][0]).toUpperCase()}function ff({src:e,name:t,size:a="md",shape:o="circle",className:n=""}){const{t:i}=Ce.useTranslation(),[l,c]=s.useState(null),u=!!e&&l===e,d=t?K7(t):"",h=!!e&&!u,p=!h&&!!d,m=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return r.jsxs("span",{className:`avatar avatar--${a} avatar--${o} ${n}`.trim(),role:"img","aria-label":m,children:[h&&r.jsx("img",{className:"avatar__image",src:e,alt:m,onError:()=>c(e??null)}),!h&&p&&r.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!h&&!p&&r.jsx(it,{icon:"user-round",size:Y7[a],className:"avatar__icon"})]})}var X7=".ihabdevteam-core-scope .file-upload{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .file-upload__dropzone{align-items:center;background:var(--color-deepWhite);border:1px dashed var(--color-whiteLine);border-radius:var(--radius-card);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xl);position:relative;transition:border-color .15s,background .15s}.ihabdevteam-core-scope .file-upload__dropzone:hover:not(.file-upload__dropzone--disabled){border-color:var(--color-main)}.ihabdevteam-core-scope .file-upload__dropzone:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .file-upload__dropzone--dragging{background:var(--color-main-a10);border-color:var(--color-main)}.ihabdevteam-core-scope .file-upload__dropzone--disabled{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .file-upload__icon{color:var(--color-gray)}.ihabdevteam-core-scope .file-upload__prompt{color:var(--color-gray);text-align:center}.ihabdevteam-core-scope .file-upload__browse-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-pureWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);color:var(--color-main);cursor:pointer;min-height:24px;padding:var(--spacing-xs) var(--spacing-m)}.ihabdevteam-core-scope .file-upload__browse-button:disabled{color:var(--color-disabled);cursor:not-allowed}.ihabdevteam-core-scope .file-upload__input{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.ihabdevteam-core-scope .file-upload__list{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .file-upload__list-item{align-items:center;background:var(--color-deepWhite);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-s);justify-content:space-between;padding:var(--spacing-xs) var(--spacing-s)}.ihabdevteam-core-scope .file-upload__file-name{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .file-upload__remove-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;min-height:24px;min-width:24px}.ihabdevteam-core-scope .file-upload__remove-button:hover{color:var(--color-error)}";le(X7);function Z7(e,t){if(!t)return!0;const a=t.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const o=e.name.toLowerCase(),n=e.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?o.endsWith(l):l.endsWith("/*")?n.startsWith(l.slice(0,-1)):n===l})}function vf({onFilesSelected:e,accept:t,multiple:a=!1,disabled:o=!1,showFileList:n=!0,files:i,onRemove:l,className:c=""}){const{t:u}=Ce.useTranslation(),d=s.useRef(null),[h,p]=s.useState(!1),[m,v]=s.useState([]),x=i??m,g=_=>{if(!_||_.length===0)return;const B=Array.from(_).filter(E=>Z7(E,t));if(B.length===0)return;const k=a?B:B.slice(0,1);if(i===void 0){const E=a?[...x,...k]:k;v(E),e?.(E)}else e?.(k)},b=_=>{_.preventDefault(),!o&&p(!0)},C=_=>{_.preventDefault(),p(!1)},f=_=>{_.preventDefault(),p(!1),!o&&g(_.dataTransfer.files)},w=_=>{const B=_.target;try{g(B.files)}finally{B.value=""}},y=()=>{o||d.current?.click()},A=_=>{if(!o&&(l?.(_),i===void 0)){const B=x.filter((k,E)=>E!==_);v(B),l||e?.(B)}};return r.jsxs("div",{className:`file-upload ${c}`.trim(),children:[r.jsxs("div",{className:Be("file-upload__dropzone",h&&"file-upload__dropzone--dragging",o&&"file-upload__dropzone--disabled"),role:"button",tabIndex:o?-1:0,"aria-disabled":o,onClick:y,onKeyDown:_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),y())},onDragOver:b,onDragLeave:C,onDrop:f,children:[r.jsx(it,{icon:"upload",size:24,className:"file-upload__icon"}),r.jsx("span",{className:"file-upload__prompt body-2",children:u("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),r.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:o,onClick:_=>{_.stopPropagation(),y()},children:u("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),r.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:o,onChange:w,tabIndex:-1})]}),n&&x.length>0&&r.jsx("ul",{className:"file-upload__list",children:x.map((_,B)=>r.jsxs("li",{className:"file-upload__list-item body-3",children:[r.jsx("span",{className:"file-upload__file-name body-3",children:_.name}),r.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":u("fileUpload.removeAriaLabel",{name:_.name}),disabled:o,onClick:()=>A(B),children:r.jsx(it,{icon:"x",size:14})})]},`${_.name}-${B}`))})]})}var J7=".ihabdevteam-core-scope .breadcrumb{align-items:center;display:inline-flex}.ihabdevteam-core-scope .breadcrumb__list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .breadcrumb__item{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .breadcrumb__link{align-items:center;background:none;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;justify-content:center;margin:0;min-height:24px;min-width:24px;padding:0}.ihabdevteam-core-scope .breadcrumb__link:hover{color:var(--color-main);text-decoration:underline}.ihabdevteam-core-scope .breadcrumb__link:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .breadcrumb__current{color:var(--color-darkGray)}.ihabdevteam-core-scope .breadcrumb__text{color:var(--color-gray)}.ihabdevteam-core-scope a.breadcrumb__link{text-decoration:none}.ihabdevteam-core-scope .breadcrumb__separator{align-items:center;color:var(--color-disabled);display:inline-flex;flex-shrink:0}";le(J7);function xf({items:e,className:t=""}){const{t:a}=Ce.useTranslation();return r.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:r.jsx("ol",{className:"breadcrumb__list",children:e.map((o,n)=>{const i=n===e.length-1;return r.jsxs("li",{className:"breadcrumb__item",children:[i?r.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:o.label}):o.href?r.jsx("a",{className:"breadcrumb__link body-3",href:o.href,target:o.target,rel:o.rel??(o.target==="_blank"?"noopener noreferrer":void 0),onClick:o.onClick,children:o.label}):o.onClick?r.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:o.onClick,children:o.label}):r.jsx("span",{className:"breadcrumb__text body-3",children:o.label}),!i&&r.jsx(it,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},n)})})})}var Q7=".ihabdevteam-core-scope .rating{--rating-color:var(--color-warn);--rating-empty-color:var(--color-whiteLine);align-items:center;display:inline-flex;gap:2px}.ihabdevteam-core-scope .rating__item{align-items:center;background:none;border:none;display:inline-flex;justify-content:center;line-height:0;margin:0;padding:0}.ihabdevteam-core-scope .rating__item--interactive{cursor:pointer;min-height:24px;min-width:24px}.ihabdevteam-core-scope .rating__item--interactive:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .rating--readOnly .rating__item{cursor:default}.ihabdevteam-core-scope .rating__star-wrap{display:inline-flex;line-height:0;position:relative}.ihabdevteam-core-scope .rating__star--empty{color:var(--rating-empty-color)}.ihabdevteam-core-scope .rating__star--empty svg{fill:var(--rating-empty-color)}.ihabdevteam-core-scope .rating__star-fill{display:inline-flex;height:100%;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:100%}.ihabdevteam-core-scope .rating__star-fill--half{width:50%}.ihabdevteam-core-scope .rating__star--filled{color:var(--rating-color)}.ihabdevteam-core-scope .rating__star--filled svg{fill:var(--rating-color)}";le(Q7);const eA={small:14,medium:20,large:28};function Cf({value:e,onChange:t,max:a=5,readOnly:o=!1,size:n="medium",ariaLabel:i,className:l=""}){const{t:c}=Ce.useTranslation(),u=o||!t,[d,h]=s.useState(null),p=u?e:Number.isFinite(e)?Math.round(e):0,m=d??p,v=eA[n],x=_=>{_!==e&&t?.(_)},g=_=>{u||x(_)},b=_=>{u||yr()||h(_)},C=s.useRef(null),f=_=>{const B=Math.min(a,Math.max(1,_));x(B),Array.from(C.current?.querySelectorAll("[data-star]")??[]).find(k=>k.dataset.star===String(B))?.focus()},w=_=>{if(!u){switch(_.key){case"ArrowRight":case"ArrowUp":f((p||0)+1);break;case"ArrowLeft":case"ArrowDown":f((p||1)-1);break;case"Home":f(1);break;case"End":f(a);break;default:return}_.preventDefault()}},y=p>=1&&p<=a?Math.round(p):1,A=()=>{u||h(null)};return r.jsx("div",{className:`rating rating--${n}${u?" rating--readOnly":""} ${l}`.trim(),ref:C,onKeyDown:w,role:u?"img":"radiogroup","aria-label":u?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:A,onPointerUp:_=>{_.pointerType==="touch"&&A()},onPointerCancel:_=>{_.pointerType==="touch"&&A()},children:Array.from({length:a},(_,B)=>{const k=B+1,E=Math.max(0,Math.min(1,m-B)),S=E>0&&E<1,D=r.jsxs("span",{className:"rating__star-wrap",children:[r.jsx(it,{icon:"star",size:v,className:"rating__star rating__star--empty"}),E>0&&r.jsx("span",{className:`rating__star-fill${S?" rating__star-fill--half":""}`,style:S?{width:`${E*100}%`}:void 0,children:r.jsx(it,{icon:"star",size:v,className:"rating__star rating__star--filled"})})]});return u?r.jsx("span",{className:"rating__item","aria-hidden":"true",children:D},k):r.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":p===k,"aria-label":c("rating.starLabel",{n:k}),"data-star":k,tabIndex:k===y?0:-1,onClick:()=>g(k),onMouseEnter:()=>b(k),children:D},k)})})}var tA=".ihabdevteam-core-scope .color-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ihabdevteam-core-scope .color-picker__swatch{align-items:center;border:none;cursor:pointer;display:inline-flex;justify-content:center;padding:0;position:relative;transition:transform .12s,box-shadow .12s}.ihabdevteam-core-scope .color-picker__swatch--32{border-radius:8px;height:32px;width:32px}.ihabdevteam-core-scope .color-picker__swatch--40{border-radius:10px;height:40px;width:40px}.ihabdevteam-core-scope .color-picker__swatch--48{border-radius:12px;height:48px;width:48px}.ihabdevteam-core-scope .color-picker__swatch:hover{transform:scale(1.08)}.ihabdevteam-core-scope .color-picker__swatch:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .color-picker__check{color:#fff}.ihabdevteam-core-scope .color-picker__check svg{display:block}";le(tA);const aA=20,oA=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function yf({value:e,onChange:t,palette:a=oA,size:o=40,className:n="",ariaLabel:i}){const{t:l}=Ce.useTranslation();return r.jsx("div",{className:`color-picker ${n}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const u=e?.toLowerCase()===c.toLowerCase();return r.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${o}`,style:{backgroundColor:c},onClick:()=>t(c),"aria-pressed":u,"aria-label":u?`${c} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:u&&r.jsx(it,{icon:"check",size:aA,className:"color-picker__check"})},c)})})}var rA=".ihabdevteam-core-scope .count-tile{background:var(--color-deepWhite);border:1px solid var(--color-darkWhite);border-radius:16px;box-sizing:border-box;flex-shrink:0;height:72px;padding:12px;position:relative;transition:border-color .15s,background .15s;width:72px}.ihabdevteam-core-scope .count-tile__icon{color:var(--color-main);left:12px;position:absolute;top:12px}.ihabdevteam-core-scope .count-tile__count{bottom:12px;color:var(--color-darkGray);line-height:1;position:absolute;right:12px}.ihabdevteam-core-scope .count-tile--interactive:hover{background:var(--color-white);border-color:var(--color-lightGray)}.ihabdevteam-core-scope .count-tile--accent:hover{border-color:var(--color-main)}.ihabdevteam-core-scope .count-tile--clickable{cursor:pointer}@media (max-width:767px){.ihabdevteam-core-scope .count-tile{border-radius:14px;height:60px;padding:10px;width:60px}.ihabdevteam-core-scope .count-tile__icon{left:8px;top:8px}.ihabdevteam-core-scope .count-tile__count{bottom:8px;right:8px}}";le(rA);var nA=".ihabdevteam-core-scope .tooltip-content.tooltip-training{pointer-events:none}.ihabdevteam-core-scope .tooltip-training__box{background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 4px 16px rgba(0,0,0,.12);padding:10px 14px}.ihabdevteam-core-scope .tooltip-training__groups{align-items:stretch;display:flex;flex-direction:row;gap:0}.ihabdevteam-core-scope .tooltip-training__section{display:flex;flex-direction:column;flex-shrink:0;gap:6px;width:100px}.ihabdevteam-core-scope .tooltip-training__section-header{align-items:center;display:flex}.ihabdevteam-core-scope .tooltip-training__type-label{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-training__divider{align-self:center;background:var(--color-whiteLine);flex-shrink:0;height:20px;margin:0 10px;width:1px}.ihabdevteam-core-scope .tooltip-training__items{display:flex;flex-direction:column;gap:2px;pointer-events:none}.ihabdevteam-core-scope .tooltip-training__items .training-block-button--compact{cursor:default}";le(nA);var iA=".ihabdevteam-core-scope .category-icon{align-items:center;background:var(--t-item-bg,color-mix(in srgb,var(--t-item-fg,var(--color-lightGray)) 10%,transparent));border-radius:var(--radius-s);color:var(--t-item-fg,var(--color-lightGray));display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .category-icon--small{border-radius:var(--radius-sm);height:28px;width:28px}.ihabdevteam-core-scope .category-icon__mask{background-color:currentColor;background-color:var(--t-item-fg,currentColor);border-radius:var(--radius-sm);display:inline-block;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .category-icon__image{border-radius:var(--radius-sm);display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .category-icon__svg svg{fill:currentColor;display:block}.ihabdevteam-core-scope .category-icon__wrap{cursor:default;display:inline-flex;position:relative}.ihabdevteam-core-scope .category-icon__wrap--interactive:hover .category-icon{box-shadow:inset 0 0 0 1px var(--t-item-fg,var(--color-lightGray))}.ihabdevteam-core-scope .category-icon__tooltip{pointer-events:none;white-space:nowrap}";le(iA);function _f({icon:e,label:t,tooltip:a,wrapperStyle:o,color:n,bgColor:i,useHover:l=!0,iconSize:c="medium"}){const{t:u}=Ce.useTranslation(),d=c==="small",h=Be("category-icon",d?"category-icon--small":""),p=d?16:20,m=s.useRef(null),[v,x]=s.useState(!1),g=s.useMemo(()=>{const k=o&&typeof o=="object"?{...o}:{};return!n&&!i?k:{...k,...n?{color:n,"--t-item-fg":n}:{},...i?{"--t-item-bg":i}:{}}},[o,n,i]),b=a||t,C=l&&!!b,[f,w]=s.useState(null);s.useLayoutEffect(()=>{v&&w(m.current?.getBoundingClientRect()??null)},[v]),s.useEffect(()=>{if(!l&&v)try{x(!1)}catch{}},[l,v]),s.useEffect(()=>{if(!v)return;const k=E=>{const S=m.current;if(!S)return;const D=E.target;D&&!S.contains(D)&&x(!1)};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[v]);const y=s.useCallback(()=>{l&&x(!0)},[l]),A=s.useCallback(()=>{l&&x(!1)},[l]),_=s.useCallback(()=>x(!1),[]),B=s.useCallback(k=>{if(k.key==="Escape"){x(!1);return}(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),x(E=>!E))},[]);return r.jsxs("span",{ref:m,className:Be("category-icon__wrap",C&&"category-icon__wrap--interactive"),onPointerEnter:y,onPointerLeave:A,onFocus:y,onBlur:A,onKeyDown:B,role:"button",tabIndex:0,"aria-label":typeof b=="string"?u("common.descriptionFor",{name:b,defaultValue:`${b} \uC124\uBA85`}):void 0,"aria-haspopup":!!b,"aria-expanded":v,"data-tooltip-ignore":!0,children:[r.jsx(it,{icon:e,label:t,className:h,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:g,size:p}),v&&b&&r.jsx(Da,{anchorRect:f,text:typeof b=="string"?b:void 0,offset:8,onClose:_,className:"category-icon__tooltip",ariaLabel:typeof b=="string"?b:void 0})]})}var sA='.ihabdevteam-core-scope .training-block-button{background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-m);box-shadow:var(--shadow-card);box-sizing:border-box;cursor:pointer;display:inline-block;height:200px;padding:var(--spacing-l);position:relative;text-align:left;transition:all .12s;vertical-align:top;width:200px}.ihabdevteam-core-scope .training-block-button:hover{border-color:var(--color-main);box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .training-block-button--completed{box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .training-block-button__more{position:absolute;right:var(--spacing-l);top:calc(var(--spacing-l) - 2px);z-index:2}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .training-block-button{height:190px;width:190px}}@media (max-width:767px){.ihabdevteam-core-scope .training-block-button{height:170px;width:calc(50% - 5px)}.ihabdevteam-core-scope .training-block-button__title.h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;line-height:20px;overflow:hidden}}.ihabdevteam-core-scope .training-block-button__left{display:block}.ihabdevteam-core-scope .training-block-button__title.h3{color:var(--color-black);left:20px;margin:0;position:absolute;right:20px;top:68px}.ihabdevteam-core-scope .training-block-button__description{align-items:center;bottom:20px;display:flex;gap:var(--spacing-xs);height:20px;justify-content:space-between;left:20px;position:absolute;right:20px}.ihabdevteam-core-scope .training-block-button__count{color:var(--color-darkGray)}.ihabdevteam-core-scope .training-block-button__chevron{align-items:center;color:var(--color-lightGray);display:inline-flex;height:20px;justify-content:center;margin-left:auto}.ihabdevteam-core-scope .training-block-button__chevron-icon,.ihabdevteam-core-scope .training-block-button__chevron-icon-image,.ihabdevteam-core-scope .training-block-button__chevron-icon-mask,.ihabdevteam-core-scope .training-block-button__chevron-icon-svg{align-items:center;color:var(--color-lightGray);display:inline-flex;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .training-block-button__chevron-icon-mask{background-color:currentColor;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .training-block-button__chevron-icon-image{display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .training-block-button__chevron-icon-svg svg{fill:currentColor;display:block;height:20px;width:20px}.ihabdevteam-core-scope .training-block-button .category-icon__wrap{left:18px;position:absolute;top:18px}.ihabdevteam-core-scope .training-block-button .category-icon{position:static}.ihabdevteam-core-scope .training-block-button__type-label{color:var(--color-gray);left:20px;overflow:hidden;position:absolute;right:20px;text-overflow:ellipsis;top:68px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--withType .training-block-button__title.h3{top:86px}.ihabdevteam-core-scope .training-block-button--small{height:120px;width:120px}.ihabdevteam-core-scope .training-block-button--small .category-icon__wrap{left:12px;top:12px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__type-label{color:var(--color-gray);left:12px;overflow:hidden;position:absolute;right:12px;text-overflow:ellipsis;top:44px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--small .training-block-button__title{color:var(--color-black);left:12px;margin:0;overflow:hidden;position:absolute;right:12px;text-overflow:ellipsis;top:60px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--small.training-block-button--no-type-label .training-block-button__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;top:44px;white-space:normal}.ihabdevteam-core-scope .training-block-button--small .training-block-button__description{bottom:10px;height:16px;left:12px;right:12px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__more{right:6px;top:6px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon,.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon-svg,.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon-svg svg{height:12px;width:12px}.ihabdevteam-core-scope .training-block-button--list{box-shadow:none;min-height:68px;padding:0 12px;width:200px}.ihabdevteam-core-scope .training-block-button--list .training-block-button__left{align-items:center;display:flex;gap:var(--spacing-s);height:100%;width:100%}.ihabdevteam-core-scope .training-block-button--list .category-icon__wrap{flex-shrink:0;order:1;position:static}.ihabdevteam-core-scope .training-block-button--list .training-block-button__title{color:var(--color-black);flex:1;min-width:0;order:2;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--list .training-block-button__description{display:none}.ihabdevteam-core-scope .training-block-button--list .training-block-button__preview{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;order:4}.ihabdevteam-core-scope .training-block-button--row{align-items:center;display:flex;height:auto;min-height:68px;width:100%}.ihabdevteam-core-scope .training-block-button--row .training-block-button__left{grid-column-gap:var(--spacing-s);grid-row-gap:4px;align-content:center;align-items:center;-moz-column-gap:var(--spacing-s);column-gap:var(--spacing-s);display:grid;grid-template-areas:"icon type count" "icon title count";grid-template-columns:auto 1fr auto;height:auto;padding:8px 0;row-gap:4px}.ihabdevteam-core-scope .training-block-button--row .category-icon__wrap{align-self:center;grid-area:icon}.ihabdevteam-core-scope .training-block-button--row .training-block-button__type-label{align-self:end;grid-area:type;inset:auto;position:static}.ihabdevteam-core-scope .training-block-button--row .training-block-button__title{align-self:start;grid-area:title;inset:auto;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--row .training-block-button__description{align-items:center;display:flex;gap:4px;grid-area:count;height:auto;inset:auto;position:static}.ihabdevteam-core-scope .training-block-button--row:not(.training-block-button--withType) .training-block-button__title{align-self:center;grid-row:1/span 2}.ihabdevteam-core-scope .training-block-button--small .training-block-button__preview{align-items:center;display:inline-flex;justify-content:center;position:absolute;right:12px;top:12px;z-index:1}.ihabdevteam-core-scope .training-block-button--compact{background:transparent;border-color:transparent;box-shadow:none;height:40px;padding:0;width:100%}.ihabdevteam-core-scope .training-block-button--compact:hover{background:var(--color-darkWhite);border-color:transparent;box-shadow:none}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__left{align-items:center;display:flex;gap:var(--spacing-xs);height:100%;width:100%}.ihabdevteam-core-scope .training-block-button--compact .category-icon__wrap{flex-shrink:0;order:1;position:static}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__title{color:var(--color-black);flex:1;min-width:0;order:2;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__description{display:none}@media (hover:hover){.ihabdevteam-core-scope .training-block-button__remove:not(.is-hover){display:none}}@media (hover:none){.ihabdevteam-core-scope .training-block-button__check--removable{display:none}}';le(sA);let ko=null;function Wi(e){if(ko&&ko!==e)try{ko()}catch{}return ko=e,()=>{ko===e&&(ko=null)}}function Gi(e){if(ko===e){ko=null;try{e()}catch{}}}function Hi(e,t){let a=()=>{};const o=new Promise(c=>{a=c});if(typeof e!="string"||e.trim()===""){Pt("one-shot-empty-url","[core] playOneShot \uC5D0 \uBE48 \uC8FC\uC18C\uAC00 \uC654\uB2E4 \u2014 \uC548 \uD2BC\uB2E4. \uBD80\uB974\uB294 \uCABD\uC774 \uC8FC\uC18C\uB97C \uC5BB\uAE30 \uC804\uC5D0 \uBD88\uB800\uB2E4.",new Error("playOneShot(empty)").stack),a(!1);try{t?.(!1)}catch{}return{el:{},stop:()=>{},done:o}}let n=!1;const i=c=>{if(!n){n=!0;try{t?.(c)}catch{}a(c)}};let l;try{l=new Audio(e)}catch{return i(!1),{el:{},stop:()=>{},done:o}}l.onended=()=>i(!0),l.onerror=()=>i(!1);try{l.play().catch(()=>i(!1))}catch{i(!1)}return{el:l,stop:()=>{try{l.pause()}catch{}i(!1)},done:o}}function lA(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,o=l=>l.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?o(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?o(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?o(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?o(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}const n=a.sentences||a.items||[],i=o(Array.isArray(n)?n:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function cA(e,t){const[a,o]=s.useState(!1),[n,i]=s.useState(-1),[l,c]=s.useState({key:"",urls:[]}),u=s.useRef(null),d=s.useRef(!1),h=s.useRef(null),p=s.useRef(null),[m,v]=s.useState(!1),x=s.useRef([]),{previewCodes:g,previewBucket:b}=lA(e,t),C=`${g.join(",")}|${b??""}`,f=s.useMemo(()=>l.key===C?l.urls:[],[l,C]);s.useEffect(()=>{if(!g.length)return;let y=!1;return(async()=>{const A=[],_=[];for(const B of g)try{const k=Gn(B,b);if(!k){A.push("");continue}let E=null;try{E=await Vr(k)}catch{}if(!E)try{const S=await Hn(k);S&&(E=URL.createObjectURL(S),_.push(E))}catch{}A.push(E??"")}catch{A.push("")}y?_.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}):(x.current.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}),x.current=_,c({key:C,urls:A}))})(),()=>{y=!0}},[g.join(","),b]),s.useEffect(()=>()=>{x.current.forEach(y=>{try{URL.revokeObjectURL(y)}catch{}}),x.current=[]},[]);const w=s.useCallback(async y=>{if(y.stopPropagation(),y.preventDefault(),d.current){h.current&&Gi(h.current),d.current=!1;try{u.current?.pause()}catch{}o(!1),i(-1);return}if(!f.filter(Boolean).length)return;let A=null;const _=()=>{d.current=!1,A?.stop()};h.current=_;const B=Wi(_);d.current=!0,o(!0);for(let k=0;k<f.length&&d.current;k++){const E=f[k];if(E&&(i(k),A=Hi(E),u.current=A.el,!await A.done))break}B(),h.current===_&&(h.current=null,d.current=!1,o(!1),i(-1))},[f]);return s.useEffect(()=>()=>{h.current&&Gi(h.current),d.current=!1;try{u.current?.pause()}catch{}u.current=null},[]),{playing:a,playingIndex:n,previewUrls:f,previewHover:m,setPreviewHover:v,previewBtnRef:p,handlePreview:w}}const uA=e=>{if(!e)return[];const t=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(t)return[String(t)];const a=e.sentences||e.items||e.questions||[];return Array.isArray(a)&&a.length>0?a.map(o=>{if(typeof o=="string")return o;if(o&&typeof o=="object"){const n=o;return n.sentence||n.text||n.context||n.question||n.title||""}return""}).filter(o=>typeof o=="string"&&o.trim().length>0).map(o=>o.trim()):[]};function Vi(e){const{index:t,type:a,trainingData:o,ariaLabel:n,depth:i,renderPopup:l,completed:c,completedIds:u,selectedIds:d,tooltipText:h,useDescriptionTooltip:p=!1,onRemove:m,hideCheckBadge:v=!1,showTypeLabel:x=!1,onComplete:g,onSelect:b,onMore:C,countLabelOverride:f,size:w="square"}=e||{},{t:y}=Ce.useTranslation(),[A,_]=s.useState(!1),B=s.useRef(null),[k,E]=s.useState(!1);s.useEffect(()=>{B.current?.matches(":hover")&&E(!0)},[]);const{playing:S,playingIndex:D,previewUrls:$,previewHover:j,setPreviewHover:H,previewBtnRef:T,handlePreview:L}=cA(o,a?.key),I=s.useCallback(()=>{b?b():_(!0)},[b]),K=s.useCallback(()=>_(!1),[]),Y=s.useCallback(()=>E(!0),[]),M=s.useCallback(()=>E(!1),[]),G=s.useCallback(()=>H(!0),[H]),z=s.useCallback(()=>H(!1),[H]),[V,W]=s.useState(null);s.useLayoutEffect(()=>{j&&W(T.current?.getBoundingClientRect()??null)},[j,T]);const[O,N]=s.useState(null);s.useLayoutEffect(()=>{k&&!A&&p&&N(B.current?.getBoundingClientRect()??null)},[k,A,p]);const P=s.useCallback(ke=>{ke.target===ke.currentTarget&&(ke.key==="Enter"||ke.key===" ")&&(ke.preventDefault(),I())},[I]),F=o||null,X=s.useMemo(()=>{if(!p)return null;const ke=h?(Array.isArray(h)?h:[h]).filter(Boolean):null,qe=ke&&ke.length>0?ke:uA(F);return qe&&qe.length>0?qe:null},[p,h,F]),ie=s.useCallback(ke=>{ke.stopPropagation(),m?.()},[m]),oe=s.useCallback(ke=>ke.stopPropagation(),[]),de=s.useCallback(ke=>{typeof g=="function"&&g(ke)},[g]),U=c||(u&&o?.id!=null?u.has(String(o.id)):!1),se=!U&&(d!=null&&o?.id!=null?d.has(String(o.id)):!1);Cn("speechear.popup.close",K);const Se=bi(),Z=`${a?.label||""} ${t+1}`,ee=F?.title||F?.name||Z;let me=a?.icon,Le,ye="",re="";try{const ke=F?.category_0||F?.category_main_code||F?.category_main,qe=F?.category_1||F?.category_sub_code||F?.category_sub,Ne=Se.find(Re=>Re.key===ke);Ne?.icon&&(me=Ne.icon),!Le&&Ne?.color&&(Le={"--t-item-fg":Ne.color}),!Le&&F?.iconColor&&(Le={"--t-item-fg":F.iconColor}),ye=Ne?y(`topic.${Ne.key}`,{defaultValue:Ne.label||""}):"";try{const Re=Ne?.subs?.find(Me=>Me.key===qe);re=Re?y(`topic.sub.${Re.key}`,{defaultValue:Re.label||""}):""}catch{}}catch{}const pe=re?`${ye} / ${re}`:ye||a?.label||ee,ve=ke=>y("training.countQuestions",{n:ke,count:ke}),q=ke=>y("training.countSentences",{n:ke,count:ke});let ae="";try{if(F)if(a?.key==="LISTEN_IN_NOISE"){let ke=0;Array.isArray(F.items)&&F.items.length>0?ke=F.items.length:Array.isArray(F.sentences)&&F.sentences.length>0?ke=F.sentences.length:F.sentences&&(ke=1),ae=q(ke)}else if(a?.key==="SHORT_STORY"){let ke=1;Array.isArray(o?.items)?ke=o.items.length:Array.isArray(o?.raw&&o.raw?.items)?ke=o.raw.items.length:Array.isArray(F?.questions)?ke=F.questions.length:Array.isArray(F?.sentences)&&(ke=F.sentences.length),ae=ve(ke)}else if(a?.key==="LONG_STORY"){let ke=1;if(Array.isArray(F.items)&&F.items.length>0){const qe=F.items.reduce((Ne,Re)=>{const Me=Re.questionItems;return Array.isArray(Me)?Ne+Me.length:Array.isArray(Re.questions)?Ne+Re.questions.length:Ne},0);ke=qe>0?qe:F.items.length}else Array.isArray(F.questions)&&F.questions.length>0?ke=F.questions.length:Array.isArray(F.sentences)&&F.sentences.length>0&&(ke=F.sentences.length);ae=ve(ke)}else if(a?.key==="ORDERING_SENTENCE"){let ke=1;Array.isArray(F.items)&&F.items.length>0?ke=F.items.length:Array.isArray(F.sentences)&&F.sentences.length>0&&(ke=F.sentences.length),ae=q(ke)}else Array.isArray(F.items)&&(ae=F.items.length>0?ve(F.items.length):"")}catch{}const fe=w==="row",Ee=w==="list"||fe,Ae=w==="compact",$e=w==="small",Ge=$e&&a?.key?mc().find(ke=>ke.key===a.key):void 0,pt=Ge?fi[Ge.key]:void 0,st=Ge?pt?y(`trainingType.${pt}.title`,{defaultValue:Ge.label}):Ge.label??"":"",rt=x&&a?.label&&a.label!==String(ee)?String(a.label):$e&&st&&st!==String(ee)?st:"",vt=!!rt,De=f!==void 0?f:ae,Ve=[rt,typeof ee=="string"?ee:"",De].map(ke=>String(ke??"").trim()).filter(Boolean).join(" ");return r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:B,className:`training-block-button${Ee?" training-block-button--list":""}${fe?" training-block-button--row":""}${Ae?" training-block-button--compact":""}${$e?" training-block-button--small":""}${U?" training-block-button--completed":""}${se?" training-block-button--selected":""}${vt&&!$e?" training-block-button--withType":""}${$e&&!vt?" training-block-button--no-type-label":""}`,onClick:I,onPointerEnter:Y,onPointerLeave:M,role:"button",tabIndex:0,onKeyDown:P,"aria-label":typeof n=="string"?n:Ve||void 0,title:!p&&h&&(Array.isArray(h)?h.filter(Boolean).join(`
|
|
853
853
|
`):h)||void 0,children:[r.jsxs("div",{className:"training-block-button__left",children:[x&&a?.label&&a.label!==String(ee)&&r.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),$e&&st&&st!==String(ee)&&r.jsx("span",{className:"training-block-button__type-label caption-2",children:st}),r.jsx(_f,{icon:me,label:ee,tooltip:pe,wrapperStyle:Le,iconSize:$e||Ae?"small":"medium"}),!v&&(U||se)&&!(m&&k)&&r.jsx(Tt,{className:m?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":U?y("training.completed","\uD6C8\uB828 \uC644\uB8CC"):y("training.selected","\uC120\uD0DD\uB428")}),m&&r.jsx(Tt,{className:`training-block-button__remove${k?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":y("common.remove","\uC81C\uAC70"),onClick:ie}),r.jsx("div",{className:`training-block-button__title ${Ae?"body-3":$e?"body-3b":"h3"}`,children:String(ee)}),r.jsxs("div",{className:"training-block-button__description",children:[De?r.jsx("div",{className:`training-block-button__count ${$e?"caption-2":"caption-1"}`,children:De}):null,r.jsx("div",{className:"training-block-button__chevron",children:r.jsx(it,{icon:"chevron-right",label:y("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:$e?12:20})})]}),(Ee&&!fe||$e)&&$.length>0&&r.jsx("div",{ref:T,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:oe,onPointerEnter:G,onPointerLeave:z,children:r.jsx(ge,{htmlType:"button",size:$e?28:32,type:"dot",icon:S?"pause":"play",variant:$e?"transparent-lightGray":"default",useBorder:!1,selected:S,ariaLabel:String(ee).trim()?S?y("training.stopFor",{name:ee,defaultValue:`${ee} \uC815\uC9C0`}):y("training.previewFor",{name:ee,defaultValue:`${ee} \uBBF8\uB9AC \uB4E3\uAE30`}):S?y("training.stop","\uC815\uC9C0"):y("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:L})})]}),C&&r.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:ke=>{ke.stopPropagation(),C(ke)},children:r.jsx(ge,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(ee).trim()?y("common.moreFor",{name:ee}):y("common.more","\uB354\uBCF4\uAE30")})})]}),j&&r.jsx(Da,{anchorRect:V,text:S?y("training.stop","\uC815\uC9C0"):y("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:z}),k&&!A&&p&&(X?r.jsx(_o,{anchorRect:O,items:X,activeIndex:D,onClose:M}):F?.subTitle?r.jsx(Da,{anchorRect:O,text:F.subTitle,offset:8,onClose:M}):null),A&&l&&l({trainingData:F,typeKey:a?.key??"",onClose:K,onComplete:de,popupTitle:String(ee),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:me,popupIconTooltip:String(pe),popupWrapperStyle:Le})]})}const bd=200;function dA(e){return e.itemId?(yc()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function gd({plan:e,groups:t,anchorRect:a,offset:o=12,onClose:n}){const{t:i}=Ce.useTranslation(),l=s.useMemo(()=>t?t.map((u,d)=>({key:u.key??u.type?.key??String(d),label:u.label,type:u.type,data:u.items??[]})).filter(u=>u.data.length>0):pb(i).map(u=>{const d=(e?.items??[]).filter(h=>h.trainingType===u.key);return{key:u.key,label:u.label,type:u,pickedCount:d.length,data:d.map(dA).filter(h=>h!=null)}}).filter(u=>u.pickedCount>0),[t,e?.items,i]);if(l.length===0)return null;const c=r.jsx("div",{className:"tooltip-training__box",children:r.jsx("div",{className:"tooltip-training__groups",children:l.flatMap(({key:u,label:d,type:h,data:p},m)=>[m>0?r.jsx("div",{className:"tooltip-training__divider"},`div-${u}`):null,r.jsxs("div",{className:"tooltip-training__section",children:[r.jsx("div",{className:"tooltip-training__section-header",children:r.jsx("span",{className:"tooltip-training__type-label body-3b",children:d})}),r.jsx("div",{className:"tooltip-training__items",children:p.map((v,x)=>r.jsx(Vi,{index:x,type:h,trainingData:v,size:"compact",hideCheckBadge:!0},String(v.id??x)))})]},u)])})});return a?r.jsx(_a,{anchorRect:a,offset:o,onClose:n,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:i("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:c}):c}const pA=200;function wf({icon:e,count:t,title:a,plan:o,tooltip:n=!0,hoverAccent:i=!1,className:l="",onClick:c,onMouseEnter:u,onMouseLeave:d}){const h=!!c||!!u||n&&!!o,p=Be("count-tile",h&&"count-tile--interactive",h&&i&&"count-tile--accent",c&&"count-tile--clickable",l),m=s.useRef(null),[v,x]=s.useState(null),g=s.useRef(null),b=s.useRef(null),C=!!(v&&o&&n),f=s.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),b.current&&(clearTimeout(b.current),b.current=null)},[]),w=s.useCallback(()=>{f(),x(null)},[f]),y=s.useCallback(()=>{!n||!o||(f(),g.current=setTimeout(()=>{g.current=null,x(m.current?.getBoundingClientRect()??null)},bd))},[n,o,f]),A=s.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),!b.current&&(b.current=setTimeout(()=>{b.current=null,x(null)},pA))},[]);return s.useEffect(()=>()=>{f()},[f]),s.useEffect(()=>{(!n||!o)&&w()},[n,o,w]),s.useEffect(()=>{if(!C)return;const _=k=>k instanceof Element&&(m.current?.contains(k)||!!k.closest(".tooltip-training")),B=k=>{_(k.target)?f():A()};return document.addEventListener("pointerover",B,!0),()=>document.removeEventListener("pointerover",B,!0)},[C,f,A]),r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:m,className:p,onClick:c?_=>{w(),c(_)}:void 0,onKeyDown:c?_=>{_.key!=="Enter"&&_.key!==" "||(_.preventDefault(),_.currentTarget.click())}:void 0,onPointerEnter:_=>{_.pointerType==="touch"||_.pointerType==="pen"?w():y()},onMouseEnter:u,onMouseLeave:_=>{A(),d?.(_)},role:c?"button":"img",tabIndex:c?0:void 0,"aria-label":`${a} ${t}`,children:[r.jsx(it,{icon:e,size:20,className:"count-tile__icon"}),r.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]}),v&&o&&r.jsx(gd,{plan:o,anchorRect:v,onClose:w})]})}let Dn=0,kf="",fd="",Nn=0;function Bf(){return Af(!1)}function hA(){return Af(!0)}function Af(e){const t=typeof document<"u";Dn===0&&t&&(kf=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(Nn===0&&(fd=document.body.style.paddingRight),Nn++,document.body.style.paddingRight="0px"),Dn++;let a=!1;return()=>{a||(a=!0,Dn=Math.max(0,Dn-1),e&&t&&(Nn=Math.max(0,Nn-1),Nn===0&&(fd?document.body.style.paddingRight=fd:document.body.style.removeProperty("padding-right"))),Dn===0&&t&&(document.body.style.overflow=kf))}}var mA=".ihabdevteam-core-scope .dialog{align-items:center;background:rgba(16,24,32,.6);display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:2200;z-index:var(--z-modal,2200)}@supports (color:rgb(0 0 0/0)) and (top:var(--f )){.ihabdevteam-core-scope .dialog{background:var(--color-popupBlock,rgba(16,24,32,.6))}}.ihabdevteam-core-scope .dialog__surface{background:#fff;background:var(--color-pureWhite,#fff);border-radius:20px;border-radius:var(--radius-dialog,20px);box-shadow:var(--shadow-popup);max-height:calc(100vh - 64px);outline:none;overflow:auto;position:relative;width:100%}.ihabdevteam-core-scope .dialog__surface--sm{max-width:420px}.ihabdevteam-core-scope .dialog__surface--md{max-width:640px}.ihabdevteam-core-scope .dialog__surface--lg{max-width:1000px}.ihabdevteam-core-scope .dialog__surface--full{background:none;box-shadow:none;max-width:1000px;overflow:visible}.ihabdevteam-core-scope .dialog__header{padding:24px 24px 0}.ihabdevteam-core-scope .dialog__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .dialog__close{align-items:center;background:none;border:0;border-radius:999px;border-radius:var(--radius-full,999px);color:var(--color-gray);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:12px;top:12px;transition:background .15s ease,color .15s ease;width:40px}.ihabdevteam-core-scope .dialog__close:hover{background:var(--color-darkWhite);color:var(--color-black)}.ihabdevteam-core-scope .dialog__close>svg{height:20px;width:20px}.ihabdevteam-core-scope .dialog__surface--full .dialog__close{background:hsla(0,0%,100%,.1);color:var(--color-pureWhite);right:0;top:-48px}.ihabdevteam-core-scope .dialog__surface--full .dialog__close:hover{background:hsla(0,0%,100%,.2)}.ihabdevteam-core-scope .dialog__body{padding:24px}.ihabdevteam-core-scope .dialog__surface--full .dialog__body{padding:0}@media (max-width:639px){.ihabdevteam-core-scope .dialog{padding:16px}.ihabdevteam-core-scope .dialog__body{padding:20px}}";le(mA);function bA(){return r.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:r.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function Sf({open:e,onClose:t,ariaLabel:a,title:o,children:n,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:u=!0,className:d,contentClassName:h}){const{t:p}=Ce.useTranslation(),m=s.useId(),v=s.useRef(null),x=s.useCallback(()=>t(),[t]);s.useEffect(()=>{if(!e)return;const f=document.activeElement,w=Bf(),y=v.current;return zc(y,f),y?.focus(),()=>{w();const A=document.activeElement;(!A||A===document.body||y&&y.contains(A))&&Ic(f)?.focus?.()}},[e]);const g=s.useRef(x),b=s.useRef(c);s.useEffect(()=>{g.current=x,b.current=c}),s.useEffect(()=>{if(e)return Go(()=>{b.current&&g.current()})},[e]);const C=s.useRef(!1);return Rc(v,e),!e||typeof document>"u"?null:pa.createPortal(r.jsx("div",{className:Be("dialog",d),onPointerDown:l?f=>{C.current=f.target===f.currentTarget}:void 0,onMouseDown:f=>{f.target===f.currentTarget&&f.preventDefault()},onClick:l?f=>{const w=C.current;C.current=!1,w&&f.target===f.currentTarget&&x()}:void 0,children:r.jsxs("div",{ref:v,role:"dialog","aria-modal":"true","aria-label":o?void 0:a,"aria-labelledby":o?m:void 0,tabIndex:-1,className:Be("dialog__surface",`dialog__surface--${i}`,h),onClick:f=>f.stopPropagation(),children:[o?r.jsx("div",{className:"dialog__header",children:r.jsx("h2",{id:m,className:"dialog__title h4b",children:o})}):null,u?r.jsx("button",{type:"button",className:"dialog__close","aria-label":p("common.close","\uB2EB\uAE30"),onClick:x,children:r.jsx(bA,{})}):null,r.jsx("div",{className:"dialog__body",children:n})]})}),document.body)}var gA=".ihabdevteam-core-scope .board{width:100%}.ihabdevteam-core-scope .board__head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--spacing-m);justify-content:space-between;margin-bottom:var(--spacing-m)}.ihabdevteam-core-scope .board__title{color:var(--color-text-primary);font-size:var(--text-body-2-size);font-weight:500;line-height:var(--text-body-2-line);margin:0}.ihabdevteam-core-scope .board__toolbar{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .board__table{border-collapse:collapse;border-top:1px solid var(--color-text-primary);text-align:left;width:100%}.ihabdevteam-core-scope .board__caption{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ihabdevteam-core-scope .board__th{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--text-body-3-size);font-weight:500;line-height:var(--text-body-3-line);padding:14px 0}.ihabdevteam-core-scope .board__row{border-bottom:1px solid var(--color-border);transition:background .15s ease;transition:background var(--duration-fast,.15s) var(--ease-out,ease)}.ihabdevteam-core-scope .board__row:hover{background:var(--color-surface-raised)}.ihabdevteam-core-scope .board__td{color:var(--color-text-primary);font-size:var(--text-body-3-size);line-height:var(--text-body-3-line);padding:var(--spacing-m) 0}.ihabdevteam-core-scope .board__cell--left{text-align:left}.ihabdevteam-core-scope .board__cell--center{text-align:center}.ihabdevteam-core-scope .board__cell--right{text-align:right}.ihabdevteam-core-scope .board__state{color:var(--color-text-secondary);font-size:var(--text-body-3-size);padding:56px 0;text-align:center}";le(gA);function Ef({columns:e,rows:t,rowKey:a,title:o,toolbar:n,empty:i,loading:l,caption:c,className:u=""}){const{t:d}=Ce.useTranslation(),h=!l&&t.length===0;return r.jsxs("div",{className:Be("board",u),children:[o||n?r.jsxs("div",{className:"board__head",children:[o?r.jsx("h2",{className:"board__title",children:o}):r.jsx("span",{}),n?r.jsx("div",{className:"board__toolbar",children:n}):null]}):null,r.jsxs("table",{className:"board__table",children:[c?r.jsx("caption",{className:"board__caption",children:c}):null,r.jsx("thead",{children:r.jsx("tr",{children:e.map(p=>r.jsx("th",{scope:"col",className:Be("board__th",`board__cell--${p.headerAlign??p.align??"left"}`),style:p.width?{width:p.width}:void 0,children:p.header},p.key))})}),r.jsx("tbody",{children:l?r.jsx("tr",{children:r.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):h?r.jsx("tr",{children:r.jsx("td",{className:"board__state",colSpan:e.length,children:i??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((p,m)=>r.jsx("tr",{className:"board__row",children:e.map(v=>r.jsx("td",{className:Be("board__td",`board__cell--${v.align??"left"}`),children:v.render(p,m)},v.key))},a(p,m)))})]})]})}var fA=".ihabdevteam-core-scope .person-card{display:flex;flex-direction:column}.ihabdevteam-core-scope .person-card__photo{background:var(--color-surface-raised);border-radius:var(--radius-full);flex-shrink:0;margin-inline:auto;max-width:100%;overflow:hidden}.ihabdevteam-core-scope .person-card__photo>*,.ihabdevteam-core-scope .person-card__photo>img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ihabdevteam-core-scope .person-card__name{color:var(--color-text-primary);font-size:var(--text-h4-size);font-weight:var(--text-h4-weight-bold);line-height:var(--text-h4-line);margin-top:var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .person-card__role{color:var(--color-darkGray);font-size:var(--text-body-3-size);font-weight:var(--text-body-3-weight);line-height:var(--text-body-3-line);margin-top:6px;text-align:center}.ihabdevteam-core-scope .person-card__credentials{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:var(--spacing-xl) auto 0;max-width:100%;padding:0;text-align:left;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .person-card__credentials>li{color:var(--color-darkGray);font-size:var(--text-body-3-size);line-height:var(--text-body-3-line)}@media (max-width:767px){.ihabdevteam-core-scope .person-card__credentials,.ihabdevteam-core-scope .person-card__name{margin-top:var(--spacing-l)}}";le(fA);function Df({name:e,role:t,photo:a,media:o,credentials:n,size:i=190,className:l=""}){return r.jsxs("div",{className:Be("person-card",l),children:[r.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:o??(a?r.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),r.jsx("h3",{className:"person-card__name",children:e}),t?r.jsx("p",{className:"person-card__role",children:t}):null,n?.length?r.jsx("ul",{className:"person-card__credentials",children:n.map(c=>r.jsx("li",{children:c},c))}):null]})}var vA=".ihabdevteam-core-scope .timeline{display:flex;flex-direction:column;gap:56px}.ihabdevteam-core-scope .timeline__title{color:var(--color-text-primary);font-size:var(--text-h1-size);font-weight:var(--text-h1-weight);letter-spacing:var(--text-h1-spacing);line-height:var(--text-h1-line);margin:0}.ihabdevteam-core-scope .timeline__rows{border-top:1px solid var(--color-border);list-style:none;margin:var(--spacing-m) 0 0;padding:0}.ihabdevteam-core-scope .timeline__row{border-bottom:1px solid var(--color-border);display:flex;gap:40px;padding:var(--spacing-l) 0}.ihabdevteam-core-scope .timeline__label{color:var(--color-text-primary);flex-shrink:0;font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight-bold);line-height:var(--text-body-2-line);padding-top:1px;width:28px}.ihabdevteam-core-scope .timeline__items{display:flex;flex-direction:column;gap:4px}.ihabdevteam-core-scope .timeline__items>p{color:var(--color-text-primary);font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight);line-height:var(--text-body-2-line);margin:0}@media (max-width:767px){.ihabdevteam-core-scope .timeline{gap:40px}.ihabdevteam-core-scope .timeline__row{gap:var(--spacing-xl)}}";le(vA);function Nf({groups:e,className:t=""}){return r.jsx("div",{className:Be("timeline",t),children:e.map(a=>r.jsxs("section",{className:"timeline__group",children:[r.jsx("h3",{className:"timeline__title",children:a.title}),r.jsx("ul",{className:"timeline__rows",children:a.entries.map((o,n)=>r.jsxs("li",{className:"timeline__row",children:[o.label?r.jsx("span",{className:"timeline__label",children:o.label}):null,r.jsx("div",{className:"timeline__items",children:o.items.map((i,l)=>r.jsx("p",{children:i},l))})]},`${o.label??""}-${n}`))})]},a.title))})}var xA=".ihabdevteam-core-scope .publication-card{background:var(--color-surface-raised);border-radius:var(--radius-m);box-sizing:border-box;display:flex;flex-direction:column;padding:36px var(--spacing-xl) 32px;position:relative}.ihabdevteam-core-scope .publication-card__badge{height:88px;pointer-events:none;position:absolute;right:var(--spacing-xl);top:0}.ihabdevteam-core-scope .publication-card__badge>*,.ihabdevteam-core-scope .publication-card__badge>img{height:100%;width:auto}.ihabdevteam-core-scope .publication-card__title{color:var(--color-text-primary);font-size:var(--text-h4-size);font-weight:var(--text-h4-weight-bold);line-height:var(--text-h4-line);margin:0;padding-right:96px;position:relative;z-index:1}.ihabdevteam-core-scope .publication-card__kind{color:var(--color-darkGray);font-size:var(--text-body-3-size);font-weight:var(--text-body-3-weight);line-height:var(--text-body-3-line);margin:var(--spacing-m) 0 0}.ihabdevteam-core-scope .publication-card__body{color:var(--color-darkGray);font-size:var(--text-caption-1-size);line-height:1.65;margin:var(--spacing-m) 0 0}@media (max-width:767px){.ihabdevteam-core-scope .publication-card{padding:32px var(--spacing-l) 28px}.ihabdevteam-core-scope .publication-card__kind{margin-top:var(--spacing-m)}}.ihabdevteam-core-scope .publication-card__footer{margin-top:auto;padding-top:var(--spacing-l)}";le(xA);function Tf({title:e,kind:t,body:a,badge:o,badgeSrc:n,footer:i,width:l,className:c=""}){const u=o??(n?r.jsx("img",{src:n,alt:""}):null);return r.jsxs("div",{className:Be("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[u?r.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:u}):null,r.jsx("h3",{className:"publication-card__title",children:e}),t?r.jsx("p",{className:"publication-card__kind",children:t}):null,r.jsx("p",{className:"publication-card__body",children:a}),i?r.jsx("div",{className:"publication-card__footer",children:i}):null]})}var CA="@keyframes splash-logo{0%{opacity:0;transform:scale(.92)}18%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.ihabdevteam-core-scope .splash-logo{align-items:center;background:var(--color-pureWhite);display:flex;inset:0;justify-content:center;position:absolute;z-index:1000;z-index:var(--z-modal,1000)}.ihabdevteam-core-scope .splash-logo__image{animation:splash-logo 3s cubic-bezier(.4,0,.2,1) forwards;animation:splash-logo var(--splash-logo-duration,3s) cubic-bezier(.4,0,.2,1) forwards;height:80px;height:var(--splash-logo-height,80px);width:auto}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .splash-logo__image{animation:none;opacity:1}}";le(CA);function jf({logo:e,alt:t,onDone:a,durationMs:o=3e3}){const n=xn(a);return s.useEffect(()=>{const i=setTimeout(()=>n.current?.(),o);return()=>clearTimeout(i)},[o,n]),r.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${o}ms`},"aria-hidden":"true",children:r.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}var yA='.ihabdevteam-core-scope .section-header{text-align:center}.ihabdevteam-core-scope .section-header__eyebrow{align-items:center;display:flex;font-size:var(--text-caption-1-size);font-weight:600;gap:10px;justify-content:center;letter-spacing:.18em;line-height:var(--text-caption-1-line);margin:0}.ihabdevteam-core-scope .section-header__index{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.6}.ihabdevteam-core-scope .section-header__rule{background:currentColor;height:1px;opacity:.3;width:24px}.ihabdevteam-core-scope .section-header__title{font-family:inherit;font-family:var(--font-display,inherit);font-size:clamp(2rem,1.35rem + 2.1vw,2.9rem);font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0}.ihabdevteam-core-scope .section-header__eyebrow+.section-header__title{margin-top:var(--spacing-xl)}.ihabdevteam-core-scope .section-header__description{font-size:var(--text-body-2-size);line-height:1.9;margin-top:var(--spacing-m)}.ihabdevteam-core-scope .section-header--dark .section-header__eyebrow{color:var(--color-main)}.ihabdevteam-core-scope .section-header--dark .section-header__title{color:var(--color-text-primary)}.ihabdevteam-core-scope .section-header--dark .section-header__description{color:var(--color-darkGray)}.ihabdevteam-core-scope .section-header--light .section-header__eyebrow{color:hsla(0,0%,100%,.85)}.ihabdevteam-core-scope .section-header--light .section-header__title{color:var(--color-pureWhite)}.ihabdevteam-core-scope .section-header--light .section-header__description{color:hsla(0,0%,100%,.85)}';le(yA);function Lf({eyebrow:e,eyebrowIndex:t,title:a,description:o,level:n=2,tone:i="dark",className:l=""}){const c=n===1?"h1":"h2";return r.jsxs("div",{className:Be("section-header",`section-header--${i}`,l),children:[e?r.jsxs("p",{className:"section-header__eyebrow",children:[t?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"section-header__index",children:t}),r.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?r.jsx(c,{className:"section-header__title",children:a}):null,o?r.jsx("div",{className:"section-header__description",children:o}):null]})}var _A=".ihabdevteam-core-scope .company-meta{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;font-size:var(--text-caption-1-size);gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .company-meta__item{align-items:center;display:flex}.ihabdevteam-core-scope .company-meta__divider{color:var(--color-whiteLine);display:none;padding-inline:var(--spacing-m)}@media (min-width:640px){.ihabdevteam-core-scope .company-meta{flex-direction:row;gap:0}.ihabdevteam-core-scope .company-meta__divider{display:inline}}";le(_A);function Mf({items:e,className:t=""}){return r.jsx("ul",{className:Be("company-meta",t),children:e.map((a,o)=>r.jsxs("li",{className:"company-meta__item",children:[o>0?r.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function $f(e){return typeof e=="string"?e:e.label}function vd({value:e,onChange:t,suggestions:a,openOnFocus:o=!1,filterSuggestions:n,onSelectSuggestion:i,autoActiveFirst:l=!1}){const c=s.useId(),[u,d]=s.useState(!1),[h,p]=s.useState(-1),m=s.useRef(null),v=s.useMemo(()=>{if(!a.length)return[];const D=e??"";return n===!1?a:D?typeof n=="function"?n(a,D):a.filter($=>$f($).toLowerCase().includes(D.toLowerCase())):o?a:[]},[a,e,o,n]),[x,g]=s.useState(!1),b=s.useRef([]),C=x&&v.length===0?b.current:v;s.useEffect(()=>{C.length&&(b.current=C)},[C]);const f=s.useCallback(()=>g(!0),[]),w=s.useCallback(()=>g(!1),[]),y=l?0:-1;s.useEffect(()=>{u||p(y)},[u,y]),s.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const A=h<C.length?h:y<C.length?y:-1,_=s.useCallback(D=>{i?i(D):t?.($f(D)),d(!1)},[t,i]),B=s.useCallback(()=>d(!0),[]),k=s.useCallback(()=>{d(!0),p(y)},[y]),E=s.useCallback(()=>{m.current=setTimeout(()=>d(!1),120)},[]),S=s.useCallback(D=>{D.nativeEvent.isComposing||D.keyCode===229||(D.key==="ArrowDown"?(D.preventDefault(),d(!0),p($=>Math.min(C.length-1,($<C.length?$:y)+1))):D.key==="ArrowUp"?(D.preventDefault(),p($=>Math.max(y,($<C.length?$:C.length)-1))):D.key==="Enter"?A>=0&&_(C[A]):D.key==="Escape"&&u&&(D.preventDefault(),d(!1)))},[C,A,u,_,y]);return{listId:c,open:u,activeIdx:A,filtered:C,handleFocus:B,handleBlur:E,handleInput:k,handleKeyDown:S,handleSelect:_,handleCompositionStart:f,handleCompositionEnd:w}}const xd=typeof window<"u"?s.useLayoutEffect:s.useEffect;var wA=".ihabdevteam-core-scope .text-field{box-sizing:border-box;display:inline-flex;flex-direction:column;gap:6px;position:relative}.ihabdevteam-core-scope .text-field--full-width{display:flex;width:100%}.ihabdevteam-core-scope .text-field__label{align-items:center;color:var(--color-darkGray);display:flex;gap:4px}.ihabdevteam-core-scope .text-field__required{color:var(--color-main);line-height:1}.ihabdevteam-core-scope .text-field__wrap{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:12px;box-sizing:border-box;display:flex;overflow:hidden;position:relative;transition:border-color .12s,background .12s,box-shadow .12s}.ihabdevteam-core-scope .text-field--s32 .text-field__wrap{border-radius:8px}.ihabdevteam-core-scope .text-field--s40 .text-field__wrap{border-radius:10px}.ihabdevteam-core-scope .text-field--s48 .text-field__wrap{border-radius:12px}.ihabdevteam-core-scope .text-field--s64 .text-field__wrap{border-radius:14px}.ihabdevteam-core-scope .text-field__wrap:focus-within{background:var(--color-white);border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10)}.ihabdevteam-core-scope .text-field__input:focus-visible{outline:none}@media (forced-colors:active){.ihabdevteam-core-scope .text-field__input:focus-visible{outline:2px solid Highlight;outline-offset:-2px}}.ihabdevteam-core-scope .text-field--error .text-field__wrap{border-color:var(--color-error)}.ihabdevteam-core-scope .text-field--error .text-field__wrap:focus-within{box-shadow:0 0 0 3px var(--color-error-a10)}.ihabdevteam-core-scope .text-field--disabled .text-field__wrap{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .text-field--readonly .text-field__input{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .text-field--readonly .text-field__wrap{border-color:var(--color-darkWhite)}.ihabdevteam-core-scope .text-field__input{background:transparent;border:none;box-sizing:border-box;color:var(--color-darkGray);flex:1;margin:0;min-width:0;outline:none;padding:0 12px}.ihabdevteam-core-scope .text-field__input::-moz-placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .text-field__input::placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .text-field__input:disabled{cursor:not-allowed}.ihabdevteam-core-scope .text-field__input[readonly]{cursor:default}.ihabdevteam-core-scope .text-field__input--textarea{align-self:stretch;line-height:1.6;min-height:80px;padding:10px 12px;resize:vertical}.ihabdevteam-core-scope .text-field__input--auto{align-self:stretch;line-height:1.5;overflow:hidden;padding:0 12px;resize:none}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__wrap,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__wrap{align-items:flex-start}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__clear,.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__icon,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__clear,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__icon{margin-top:var(--spacing-s)}.ihabdevteam-core-scope .text-field--s32 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:30px}.ihabdevteam-core-scope .text-field--s40 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:38px}.ihabdevteam-core-scope .text-field--s48 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:46px}.ihabdevteam-core-scope .text-field--s64 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:62px;line-height:normal}.ihabdevteam-core-scope .text-field--display .text-field__input{font-weight:700;text-align:center}.ihabdevteam-core-scope .text-field--display .text-field__input::-moz-placeholder{color:transparent}.ihabdevteam-core-scope .text-field--display .text-field__input::placeholder{color:transparent}.ihabdevteam-core-scope .text-field--display .text-field__placeholder{align-items:center;color:var(--color-lightGray);display:flex;font-weight:400;inset:0;justify-content:center;pointer-events:none;position:absolute}.ihabdevteam-core-scope .text-field--display .text-field__input:not(:-moz-placeholder)~.text-field__placeholder{display:none}.ihabdevteam-core-scope .text-field--display .text-field__input:not(:placeholder-shown)~.text-field__placeholder{display:none}.ihabdevteam-core-scope .text-field--display.text-field--s48 .text-field__input{font-size:22px}.ihabdevteam-core-scope .text-field--display.text-field--s48 .text-field__placeholder{font-size:15px}.ihabdevteam-core-scope .text-field--display.text-field--s64 .text-field__input{font-size:28px;letter-spacing:-.3px}.ihabdevteam-core-scope .text-field--display.text-field--s64 .text-field__placeholder{font-size:16px}.ihabdevteam-core-scope .text-field--s32 .text-field__input--auto{height:30px;min-height:30px;padding-bottom:3px;padding-top:3px}.ihabdevteam-core-scope .text-field--s40 .text-field__input--auto{height:38px;min-height:38px;padding-bottom:7px;padding-top:7px}.ihabdevteam-core-scope .text-field--s48 .text-field__input--auto{height:46px;min-height:46px;padding-bottom:11px;padding-top:11px}.ihabdevteam-core-scope .text-field__icon{align-items:center;color:var(--color-lightGray);display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .text-field__icon--left{margin-left:var(--spacing-s)}.ihabdevteam-core-scope .text-field__icon--right{margin-right:var(--spacing-s)}.ihabdevteam-core-scope .text-field__icon-svg{display:block}.ihabdevteam-core-scope .text-field--has-left-icon .text-field__input{padding-left:6px}.ihabdevteam-core-scope .text-field--has-right-icon .text-field__input{padding-right:6px}.ihabdevteam-core-scope .text-field--s32 .text-field__icon{height:16px;width:16px}.ihabdevteam-core-scope .text-field--s32 .text-field__input{font-size:14px;line-height:22px}.ihabdevteam-core-scope .text-field__clear{flex-shrink:0;margin-right:10px}.ihabdevteam-core-scope .text-field__suggestions{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);box-shadow:var(--shadow-dropdown);box-sizing:border-box;margin:0;max-height:220px;overflow:auto;padding:4px 0;position:fixed;z-index:var(--z-dropdown)}.ihabdevteam-core-scope .text-field__suggestion{align-items:center;color:var(--color-darkGray);cursor:pointer;display:flex;padding:8px 12px}.ihabdevteam-core-scope .text-field__suggestion.is-active,.ihabdevteam-core-scope .text-field__suggestion:hover{background:var(--color-deepWhite);color:var(--color-main)}.ihabdevteam-core-scope .text-field__footer{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .text-field__helper{color:var(--color-lightGray);flex:1}.ihabdevteam-core-scope .text-field--error .text-field__helper{color:var(--color-error)}.ihabdevteam-core-scope .text-field__count{color:var(--color-gray);flex-shrink:0;margin-right:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ihabdevteam-core-scope .text-field--has-right-icon .text-field__count,.ihabdevteam-core-scope .text-field:has(.text-field__clear) .text-field__count{margin-right:8px}.ihabdevteam-core-scope .text-field__count--over{color:var(--color-error)}.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__count{bottom:6px;margin:0;pointer-events:none;position:absolute;right:20px}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__count{align-self:flex-end;margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .text-field__suggestion-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .text-field__suggestion-hint{color:var(--color-lightGray);flex-shrink:0;margin-left:8px;white-space:nowrap}.ihabdevteam-core-scope .text-field__status{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";le(wA);function Bo(e){const{value:t,defaultValue:a,name:o,inputRef:n,onChange:i,label:l,ariaLabel:c,ariaDescribedBy:u,required:d,placeholder:h,ghostText:p,ghostHint:m,type:v="text",disabled:x=!1,readOnly:g=!1,error:b,helperText:C,maxLength:f,size:w=48,variant:y="input",fullWidth:A=!1,newline:_=!1,multiline:B=!1,rows:k=3,leftIcon:E,rightIcon:S,clearable:D=!1,list:$,showCount:j=!0,className:H="",onFocus:T,onBlur:L,onKeyDown:I,onEnter:K,inputMode:Y,autoComplete:M,autoFocus:G,suggestions:z,filterSuggestions:V,onSelectSuggestion:W,autoActiveFirst:O,openOnFocus:N=!1}=e,P=g||x?void 0:z,{t:F}=Ce.useTranslation(),X=s.useId();!l&&!c&&Pt(`TextField:unnamed:${X}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const ie=`tf-${X}`,oe=`tf-helper-${X}`,de=s.useRef(null),U=vd({value:t??"",onChange:i,suggestions:P??[],openOnFocus:N,filterSuggestions:V,onSelectSuggestion:W,autoActiveFirst:O}),se=!!P&&U.open&&U.filtered.length>0,Se=s.useRef(null),[Z,ee]=s.useState(null),me=s.useCallback(()=>{const De=Se.current;if(!De||typeof window>"u")return;const Ve=De.getBoundingClientRect(),ke=230,qe=window.innerHeight-Ve.bottom<ke+8&&Ve.top>ke+8;ee({position:"fixed",left:Ve.left,width:Ve.width,...qe?{bottom:window.innerHeight-Ve.top+8}:{top:Ve.bottom+8},zIndex:An(De)})},[]);xd(()=>{if(!se)return;me();let De=null;const Ve=()=>{if(typeof requestAnimationFrame>"u"){me();return}De===null&&(De=requestAnimationFrame(()=>{De=null,me()}))},ke=qe=>{const Ne=qe.target;Ne&&Ne.nodeType===1&&Ne.closest?.(".text-field__suggestions")||Ve()};return window.addEventListener("scroll",ke,!0),window.addEventListener("resize",Ve),()=>{De!==null&&cancelAnimationFrame(De),window.removeEventListener("scroll",ke,!0),window.removeEventListener("resize",Ve)}},[se,me]);const Le=s.useCallback(De=>{de.current=De,typeof n=="function"?n(De):n&&(n.current=De)},[n]),ye=p?`${p}${m??F("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:h,re=t!==void 0,pe=re&&v==="password",[ve,q]=s.useState((a??"").length),ae=re?(t??"").length:ve,fe=s.useRef(t);xd(()=>{fe.current=t}),s.useEffect(()=>{const De=de.current;if(!pe||!De)return;const Ve=t??"";De.value!==Ve&&(De.value=Ve)},[pe,t]),s.useEffect(()=>{if(!_||!de.current)return;const De=de.current;De.style.height="",De.scrollHeight>De.clientHeight&&(De.style.height=`${De.scrollHeight}px`)},[t,ve,_]);const Ee=f!=null&&ae>f,Ae=w===32?16:20,$e=Be("text-field",`text-field--s${w}`,y==="display"?"text-field--display":"",A?"text-field--full-width":"",x?"text-field--disabled":"",g?"text-field--readonly":"",b?"text-field--error":"",E?"text-field--has-left-icon":"",S||D?"text-field--has-right-icon":"",H),Ge={id:ie,...pe?{}:re?{value:t}:{defaultValue:a},ref:Le,placeholder:ye,name:o,disabled:x,readOnly:g,autoFocus:G,maxLength:f,list:$,inputMode:Y,autoComplete:M,"aria-label":!l&&c?c:void 0,"aria-required":d,"aria-invalid":!!b,"aria-describedby":[C||b?oe:null,u].filter(Boolean).join(" ")||void 0,role:P?"combobox":void 0,"aria-autocomplete":P?"list":void 0,"aria-haspopup":P?"listbox":void 0,"aria-expanded":P?se:void 0,"aria-controls":se?U.listId:void 0,"aria-activedescendant":se&&U.activeIdx>=0?`${U.listId}-option-${U.activeIdx}`:void 0,onChange:De=>{const Ve=De.target;re||q(Ve.value.length),i?.(Ve.value),P&&U.handleInput(),pe&&queueMicrotask(()=>{const ke=fe.current??"";Ve.value!==ke&&(Ve.value=ke)})},onCompositionStart:P?U.handleCompositionStart:void 0,onCompositionEnd:P?U.handleCompositionEnd:void 0,onFocus:(De=>{T?.(De),P&&U.handleFocus()}),onBlur:(De=>{L?.(De),P&&U.handleBlur()}),onKeyDown:(De=>{const Ve=(De.key==="Tab"&&!De.shiftKey||De.key===" ")&&!De.nativeEvent.isComposing;if(p&&Ve&&!g&&!x&&!(De.currentTarget.value??"").trim()){De.preventDefault();const ke=De.currentTarget;re||(ke.value=p,q(p.length)),i?.(p);return}P&&De.key==="Enter"&&!De.nativeEvent.isComposing&&U.activeIdx>=0?De.preventDefault():K&&De.key==="Enter"&&!De.nativeEvent.isComposing&&(De.preventDefault(),K()),I?.(De),P&&U.handleKeyDown(De)})},pt=D&&!x&&!g&&ae>0,st=()=>_?r.jsx("textarea",{...Ge,className:"text-field__input text-field__input--auto body-2",rows:1}):B?r.jsx("textarea",{...Ge,className:"text-field__input text-field__input--textarea body-2",rows:k}):r.jsx("input",{...Ge,type:v,className:"text-field__input body-2"}),rt=y==="display"&&!_&&!B&&!!ye,vt=()=>r.jsxs(r.Fragment,{children:[st(),rt&&r.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:ye})]});return r.jsxs("div",{ref:Se,className:$e,children:[l&&r.jsxs("label",{htmlFor:ie,className:"text-field__label caption-1",children:[l,d&&r.jsx("span",{className:"text-field__required",children:"*"})]}),r.jsxs("div",{className:"text-field__wrap",children:[E&&r.jsx("span",{className:"text-field__icon text-field__icon--left",children:r.jsx(it,{icon:E,label:"",className:"",svgClassName:"text-field__icon-svg",size:Ae})}),vt(),f!=null&&j&&r.jsxs("span",{className:`text-field__count caption-2${Ee?" text-field__count--over":""}`,children:[ae,"/",f]}),pt&&r.jsx(ge,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:F("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:De=>{De.preventDefault()},onClick:()=>{!re&&de.current&&(de.current.value="",q(0)),i?.("")},tabIndex:-1}),S&&!pt&&r.jsx("span",{className:"text-field__icon text-field__icon--right",children:r.jsx(it,{icon:S,label:"",className:"",svgClassName:"text-field__icon-svg",size:Ae})})]}),!!P&&r.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:U.open&&(t??"").length>0&&U.filtered.length===0?F("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),se&&(typeof document>"u"?null:pa.createPortal(r.jsx("ul",{id:U.listId,className:"text-field__suggestions",role:"listbox",style:Z??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:U.filtered.map((De,Ve)=>r.jsx("li",{id:`${U.listId}-option-${Ve}`,role:"option","aria-selected":Ve===U.activeIdx,className:`text-field__suggestion body-2${Ve===U.activeIdx?" is-active":""}`,onMouseDown:ke=>ke.preventDefault(),onClick:()=>{U.handleSelect(De),de.current?.focus()},children:typeof De=="string"?De:r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"text-field__suggestion-label",children:De.label}),De.hint&&r.jsx("span",{className:"text-field__suggestion-hint caption-1",children:De.hint})]})},typeof De=="string"?`${De}-${Ve}`:De.id))}),document.body)),(C||b)&&r.jsx("div",{className:"text-field__footer",children:r.jsx("span",{id:oe,className:"text-field__helper caption-1",role:b?"alert":void 0,children:b||C})})]})}var kA=".ihabdevteam-core-scope .dropdown{display:inline-block;position:relative}.ihabdevteam-core-scope .dropdown--block{display:block;width:100%}.ihabdevteam-core-scope .dropdown--block .dropdown__trigger{min-width:0}.ihabdevteam-core-scope .dropdown--s40 .dropdown__trigger{border-radius:10px;height:40px}.ihabdevteam-core-scope .dropdown--s48 .dropdown__trigger{border-radius:12px;height:48px}.ihabdevteam-core-scope .dropdown__trigger{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:12px;box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--spacing-xs);height:48px;justify-content:space-between;min-width:120px;padding:0 12px;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s;white-space:nowrap;width:100%}.ihabdevteam-core-scope .dropdown__trigger:hover:not(:disabled){border-color:var(--color-main)}.ihabdevteam-core-scope .dropdown__trigger:focus-visible{border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10);outline:none}.ihabdevteam-core-scope .dropdown__trigger:disabled{background:var(--color-deepWhite);cursor:default;opacity:.5}.ihabdevteam-core-scope .dropdown--open .dropdown__trigger{background:var(--color-white);border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10)}.ihabdevteam-core-scope .dropdown--error .dropdown__trigger{border:1px solid var(--color-error)}.ihabdevteam-core-scope .dropdown--error .dropdown__trigger:hover:not(:disabled),.ihabdevteam-core-scope .dropdown--error.dropdown--open .dropdown__trigger{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 15%,transparent)}.ihabdevteam-core-scope .dropdown__trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis}.ihabdevteam-core-scope .dropdown__trigger-label--placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .dropdown__chevron{color:var(--color-gray);flex-shrink:0;height:16px;transition:transform .2s;width:16px}.ihabdevteam-core-scope .dropdown--open .dropdown__chevron{transform:rotate(180deg)}.ihabdevteam-core-scope .dropdown__menu{animation:dropdown-appear .12s ease;background:var(--color-white);border:1.5px solid var(--color-whiteLine);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);box-sizing:border-box;max-height:260px;overflow-y:auto;overscroll-behavior-y:contain;padding:6px}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ihabdevteam-core-scope .dropdown__option{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--spacing-xs);padding:9px 12px;text-align:left;transition:background .1s,color .1s;white-space:nowrap;width:100%}.ihabdevteam-core-scope .dropdown__option:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .dropdown__option--active{background:var(--color-main-a10);color:var(--color-main)}.ihabdevteam-core-scope .dropdown__option--disabled{cursor:default;opacity:.4;pointer-events:none}.ihabdevteam-core-scope .dropdown__option-check{align-items:center;color:var(--color-main);display:flex;flex-shrink:0;height:14px;justify-content:center;width:14px}.ihabdevteam-core-scope .dropdown__option-check svg{height:14px;width:14px}";le(kA);function wa({options:e,value:t,onChange:a,placeholder:o,disabled:n=!1,block:i=!1,size:l=48,error:c=!1,className:u="",ariaLabel:d,ariaDescribedBy:h}){const{t:p}=Ce.useTranslation(),m=o??p("dropdown.placeholder","\uC120\uD0DD"),v=s.useId(),x=s.useId(),g=s.useRef(null),b=s.useCallback((T,L)=>{const I=window.innerHeight-T.bottom<260&&T.top>260;return{position:"fixed",left:T.left,minWidth:T.width,...I?{bottom:window.innerHeight-T.top+6}:{top:T.bottom+6},zIndex:An(L)}},[]),{open:C,setOpen:f,toggle:w,style:y,triggerRef:A,menuRef:_}=qo({computeStyle:b}),[B,k]=s.useState(-1),E=s.useCallback(()=>k(-1),[]),S=e.find(T=>T.value===t);s.useEffect(()=>{if(C){const T=e.findIndex(L=>L.value===t);k(T>=0?T:e.length?0:-1),requestAnimationFrame(()=>{const L=_.current;if(!L)return;const I=L.querySelectorAll(".dropdown__option")[T];I&&(L.scrollTop=Math.max(0,I.offsetTop-L.clientHeight/2+I.clientHeight/2))})}},[C]),s.useEffect(()=>{C&&k(T=>{if(T>=0&&T<e.length)return T;const L=e.findIndex(I=>I.value===t);return L>=0?L:e.length?0:-1})},[C,e.length]);const D=s.useCallback(()=>{n||w()},[n,w]),$=s.useCallback(T=>{T.disabled||n||(T.value!==t&&a?.(T.value),f(!1))},[a,f,n,t]);s.useEffect(()=>{n&&f(!1)},[n,f]);const j=s.useCallback(T=>{if(!n){if(!C){(T.key==="Enter"||T.key===" "||T.key==="ArrowDown")&&(T.preventDefault(),f(!0));return}if(T.key==="Escape"){T.preventDefault(),f(!1);return}T.key==="ArrowDown"?(T.preventDefault(),k(L=>{let I=L+1;for(;I<e.length&&e[I].disabled;)I++;return I<e.length?I:L})):T.key==="ArrowUp"?(T.preventDefault(),k(L=>{let I=L-1;for(;I>=0&&e[I].disabled;)I--;return I>=0?I:L})):(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),e[B]?$(e[B]):f(!1))}},[n,C,e,B,$,f]),H=C?r.jsx("div",{ref:_,id:v,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:y,onMouseLeave:E,onMouseDown:T=>T.preventDefault(),children:e.map((T,L)=>r.jsxs("button",{id:`${v}-option-${L}`,type:"button",role:"option","aria-selected":T.value===t,className:Be("dropdown__option body-2",T.value===t?"dropdown__option--active":"",L===B?"dropdown__option--active":"",T.disabled?"dropdown__option--disabled":""),onMouseDown:I=>I.preventDefault(),onClick:()=>$(T),onMouseEnter:()=>k(L),disabled:T.disabled,children:[r.jsx("span",{className:"dropdown__option-check",children:T.value===t&&r.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),T.label]},T.value))}):null;return r.jsxs("div",{ref:g,className:Be("dropdown",`dropdown--s${l}`,C?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",u),onKeyDown:j,children:[r.jsxs("button",{ref:A,type:"button",className:"dropdown__trigger",role:"combobox","aria-haspopup":"listbox","aria-expanded":C,"aria-controls":C?v:void 0,"aria-activedescendant":C&&B>=0?`${v}-option-${B}`:void 0,"aria-label":d,"aria-describedby":[d&&S?x:"",h??""].filter(Boolean).join(" ")||void 0,"aria-invalid":c||void 0,disabled:n,onClick:D,onBlur:T=>{C&&!_.current?.contains(T.relatedTarget)&&f(!1)},children:[r.jsx("span",{id:x,className:`dropdown__trigger-label body-2${S?"":" dropdown__trigger-label--placeholder"}`,children:S?S.label:m}),r.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&pa.createPortal(H,g.current?.closest(".ihabdevteam-core-scope")??document.body)]})}var BA=".ihabdevteam-core-scope .pagination{align-items:center;display:flex;gap:4px}.ihabdevteam-core-scope .pagination__info{color:var(--color-darkGray);font-weight:600;min-width:48px;text-align:center}";le(BA);function Tn({page:e,totalPages:t,onChange:a,prevLabel:o,nextLabel:n,className:i=""}){const{t:l}=Ce.useTranslation(),c=o??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),u=n??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,t),h=()=>a(Math.max(1,Math.min(d,e-1))),p=()=>a(Math.min(d,e+1));return r.jsxs("div",{className:Be("pagination",i),children:[r.jsx(ge,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:h}),r.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),r.jsx(ge,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:u,disabled:e>=t,onClick:p})]})}var AA=".ihabdevteam-core-scope .segmented-control{background:var(--color-darkWhite);display:inline-flex;flex-shrink:0;flex-wrap:wrap;gap:0;overflow:hidden;padding:0}.ihabdevteam-core-scope .segmented-control--pill{border-radius:999px}.ihabdevteam-core-scope .segmented-control--rounded{border-radius:8px}.ihabdevteam-core-scope .segmented-control--24.segmented-control--rounded{border-radius:6px}.ihabdevteam-core-scope .segmented-control .button{min-width:96px}.ihabdevteam-core-scope .segmented-control.segmented-control--min .button{min-width:var(--segmented-min-button-w)}.ihabdevteam-core-scope .segmented-control--24 .button{min-width:48px}.ihabdevteam-core-scope .segmented-control--32 .button,.ihabdevteam-core-scope .segmented-control--40 .button{min-width:80px}.ihabdevteam-core-scope .segmented-control--48 .button{min-width:96px}.ihabdevteam-core-scope .segmented-control--no-bg{background:transparent}.ihabdevteam-core-scope .segmented-control--full{display:flex;flex-wrap:nowrap;width:100%}.ihabdevteam-core-scope .segmented-control--full .button{flex:1 1 0;min-width:0}@media (max-width:767px){.ihabdevteam-core-scope .segmented-control{flex-shrink:1;min-width:0}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(4):last-child){border-radius:8px;display:grid;grid-template-columns:repeat(2,1fr);width:100%}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(4):last-child)>.button{justify-content:center;width:100%}.ihabdevteam-core-scope .segmented-control--pill:has(>.button:nth-child(5)){border-radius:8px}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(5)){justify-content:center}}";le(AA);const jn=new Map;function ja(e){const{t}=Ce.useTranslation(),{options:a=[],value:o=a.find(y=>!y.disabled)?.key??a[0]?.key,onChange:n=y=>{},className:i="",size:l=40,shape:c="pill",useBG:u=!0,fullWidth:d=!1,minButtonWidth:h,ariaLabel:p}=e||{},m=s.useRef(null),v=a.filter(y=>!y.disabled),x=s.useId(),g=a.map(y=>y.key).join("\xB7");s.useEffect(()=>{if(!(!co||p!=null&&p!=="")){if(jn.set(x,g||"(\uBCF4\uAE30 \uC5C6\uC74C)"),jn.size>1){const y=[...jn.values()].sort();Pt(`segmented-control-unnamed:${y.join("|")}`,`[ihab/SegmentedControl] \uC774\uB984 \uC5C6\uB294 \uB77C\uB514\uC624\uADF8\uB8F9\uC774 \uD55C \uD654\uBA74\uC5D0 ${jn.size} \uAC1C \uC11C \uC788\uC2B5\uB2C8\uB2E4 \u2014 \uB0AD\uB3C5\uAE30\uB294 \uBAA8\uB450 "\uC120\uD0DD \uD0ED" \uC73C\uB85C \uC77D\uC5B4 \uC5B4\uB290 \uAC83\uC774 \uBB34\uC5C7\uC778\uC9C0 \uAC00\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. ariaLabel \uC744 \uC8FC\uC138\uC694. \uC9C0\uAE08 \uC120 \uAC83(\uBCF4\uAE30 \uC774\uB984\uC73C\uB85C \uC801\uC74C): ${y.join(" / ")}`)}return()=>{jn.delete(x)}}},[p,g,x]);const b=y=>{if(!v.length)return;const A=Math.max(0,v.findIndex(B=>B.key===o)),_=y==="first"?v[0]:y==="last"?v[v.length-1]:v[(A+y+v.length)%v.length];_&&(n(_.key),Array.from(m.current?.querySelectorAll("[data-segkey]")??[]).find(B=>B.dataset.segkey===_.key)?.focus())},C=y=>{switch(y.key){case"ArrowRight":case"ArrowDown":b(1);break;case"ArrowLeft":case"ArrowUp":b(-1);break;case"Home":b("first");break;case"End":b("last");break;default:return}y.preventDefault()},f=y=>{const A=_=>typeof _=="string"||typeof _=="number";if(!(!A(y.label)||y.count==null||y.count===!1||!A(y.count)))return`${y.label}, ${y.count}`},w=v.some(y=>y.key===o)?o:v[0]?.key;return r.jsx("div",{ref:m,onKeyDown:C,className:Be("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,d&&"segmented-control--full",!u&&"segmented-control--no-bg",h!=null&&"segmented-control--min",i),style:h!=null?{"--segmented-min-button-w":`${h}px`}:void 0,role:"radiogroup","aria-label":p??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(y=>r.jsx(ge,{htmlType:"button",role:"radio","aria-checked":y.key===o,"data-segkey":y.key,tabIndex:y.key===w?0:-1,label:y.label,count:y.count,ariaLabel:f(y),disabled:y.disabled,className:y.key===o?"is-selected":"",onClick:()=>{y.disabled||n(y.key)},size:l,shape:c,useBorder:!1,useBG:!1},y.key))})}var SA=".ihabdevteam-core-scope .toolbar{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-s);min-height:64px;padding-bottom:8px;padding-top:8px;width:100%}.ihabdevteam-core-scope .toolbar__row{display:contents}.ihabdevteam-core-scope .toolbar__row-end{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s);justify-content:flex-end;margin-left:auto}.ihabdevteam-core-scope .toolbar__row-end>*{justify-content:flex-end}.ihabdevteam-core-scope .toolbar__pager{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;gap:var(--spacing-s)}.ihabdevteam-core-scope .toolbar__count{color:var(--color-gray);flex-shrink:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .toolbar .toolbar__search{flex-shrink:0;min-width:200px}@media (max-width:767px){.ihabdevteam-core-scope .toolbar{align-items:stretch;flex-direction:column;flex-wrap:wrap;padding-bottom:12px;padding-top:12px}.ihabdevteam-core-scope .toolbar__row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s)}.ihabdevteam-core-scope .toolbar .toolbar__search{flex:1;min-width:150px}}.ihabdevteam-core-scope .toolbar__count-highlight{color:var(--color-main)}";le(SA);function Ui({count:e,search:t,segment:a,filters:o,pageSize:n,pagination:i,actions:l,className:c}){const{t:u}=Ce.useTranslation(),d=e!=null&&r.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??u("common.totalPrefix","\uCD1D "),r.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),h=!!(t||o?.length||n||i||l);return r.jsxs("div",{className:Be("toolbar",c),children:[r.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((p,m)=>r.jsx(ja,{size:40,...p},p.ariaLabel??m))]}),h&&r.jsx("div",{className:"toolbar__row",children:r.jsxs("div",{className:"toolbar__row-end",children:[t&&r.jsx(Bo,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??u("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??u("common.search","\uAC80\uC0C9"),autoFocus:t.autoFocus,clearable:!0}),o?.map((p,m)=>r.jsx(wa,{size:40,options:p.options,value:p.value,onChange:p.onChange,ariaLabel:p.ariaLabel},m)),(n||i)&&r.jsxs("div",{className:"toolbar__pager",children:[n&&r.jsx(wa,{size:40,options:n.options,value:n.value,onChange:n.onChange,ariaLabel:n.ariaLabel??u("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&r.jsx(Tn,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),l]})})]})}var EA=".ihabdevteam-core-scope .code-box{background:#eff8ff;background:var(--color-code-bg,#eff8ff);border:1px solid rgba(4,34,51,.06);border-radius:10px;color:#042233;color:var(--color-code-text,#042233);margin:0;overflow:hidden;padding:16px 20px}.ihabdevteam-core-scope .code-box__header{align-items:center;display:flex;gap:12px;justify-content:space-between;min-height:40px}.ihabdevteam-core-scope .code-box__title{align-items:center;color:rgba(4,34,51,.75);display:flex;letter-spacing:.02em}.ihabdevteam-core-scope .code-box__copy{flex-shrink:0}.ihabdevteam-core-scope .code-box__inner{background:transparent;color:#042233;color:var(--color-code-text,#042233);font-family:var(--font-mono);font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere;overflow-x:auto;padding:8px 0 0;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-box__inner code{display:block;font-family:inherit;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-box--small .code-box__inner{font-size:12px}.ihabdevteam-core-scope .code-token{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-token.keyword{color:#6b46ff;font-weight:600}.ihabdevteam-core-scope .code-token.string{color:#0a9d58}.ihabdevteam-core-scope .code-token.comment{color:#6b7280;font-style:italic}.ihabdevteam-core-scope .code-token.command{color:#0b78d1}.ihabdevteam-core-scope .code-token.number{color:#d97706}.ihabdevteam-core-scope .code-token.operator{color:#dc2626}.ihabdevteam-core-scope .code-token.identifier,.ihabdevteam-core-scope .code-token.punctuation{color:#042233;color:var(--color-code-text,#042233)}";le(EA);function Rf(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Rf).join(""):""}function DA(e){let t=e.replace(/\r\n/g,`
|
|
854
854
|
`).replace(/\r/g,`
|
|
855
855
|
`);t=t.replace(/^\n+/,"").replace(/\n+$/,"");const a=t.split(`
|