From 1daff4b93764700cc931be1da1b286ee01affcaa Mon Sep 17 00:00:00 2001 From: Nick L <44630816+TheXXOs@users.noreply.github.com> Date: Fri, 17 Feb 2023 08:45:02 +1030 Subject: [PATCH] New Ithkuil is now on ithkuil.net! Updated links & small text at top of page (version numbers have been moved to hover-text as there are no version numbers listed on ithkuil.net) --- dist/css/{app.3110144d.css => app.4b03ede8.css} | 0 dist/index.html | 2 +- dist/js/app.0720a71f.js | 2 ++ dist/js/app.0720a71f.js.map | 1 + dist/js/app.c30aa248.js | 2 -- dist/js/app.c30aa248.js.map | 1 - dist/js/chunk-vendors.4bdafb4a.js | 2 ++ dist/js/chunk-vendors.4bdafb4a.js.map | 1 + dist/js/chunk-vendors.9286022d.js | 2 -- dist/js/chunk-vendors.9286022d.js.map | 1 - dist/service-worker.js | 2 +- dist/service-worker.js.map | 2 +- package.json | 2 +- src/qit4/4.vue | 4 ++-- src/qit4/grammardata.json | 14 +++++++------- 15 files changed, 19 insertions(+), 19 deletions(-) rename dist/css/{app.3110144d.css => app.4b03ede8.css} (100%) create mode 100644 dist/js/app.0720a71f.js create mode 100644 dist/js/app.0720a71f.js.map delete mode 100644 dist/js/app.c30aa248.js delete mode 100644 dist/js/app.c30aa248.js.map create mode 100644 dist/js/chunk-vendors.4bdafb4a.js create mode 100644 dist/js/chunk-vendors.4bdafb4a.js.map delete mode 100644 dist/js/chunk-vendors.9286022d.js delete mode 100644 dist/js/chunk-vendors.9286022d.js.map diff --git a/dist/css/app.3110144d.css b/dist/css/app.4b03ede8.css similarity index 100% rename from dist/css/app.3110144d.css rename to dist/css/app.4b03ede8.css diff --git a/dist/index.html b/dist/index.html index 9bfe774..d524f05 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/dist/js/app.0720a71f.js b/dist/js/app.0720a71f.js new file mode 100644 index 0000000..520b0e5 --- /dev/null +++ b/dist/js/app.0720a71f.js @@ -0,0 +1,2 @@ +(function(){"use strict";var e={940:function(e,t,s){var i=s(242),n=s(396),o=s(139);const a={class:"tab",id:"header"},l=(0,n._)("h1",{style:{float:"left","padding-left":"20px","font-size":"16px","padding-top":"2px"}},"Ithkapp",-1),r=(0,n._)("i",{class:"fa-solid fa-gear fa-xs"},null,-1),h=[r],c=(0,n._)("i",{class:"fa-solid fa-align-right fa-xs"},null,-1),d=[c],p={key:0,class:"dropdown"},u=(0,n.Uk)("Adjunct ▼"),f=[u],g={class:"dropdown-content hidden",id:"adjDD"},m={key:1,class:"dropdown"},b=(0,n.Uk)("Formative ▼"),w=[b],y={class:"dropdown-content hidden",id:"formDD"},v={key:2,class:"dropdown"},S=(0,n.Uk)("Adjunct ▼"),M=[S],T={class:"dropdown-content hidden",id:"adj3"},O={key:3,class:"dropdown"},C=(0,n.Uk)("Formative ▼"),I=[C],x={class:"dropdown-content hidden",id:"form3"},A={id:"content"},k={id:"footer"},E={class:"word"},D=(0,n._)("br",null,null,-1),j={class:"smalltext"},P=(0,n._)("br",null,null,-1),N=["title"],R={id:"modal-content"},V={class:"tab"},W=["onClick"],_=(0,n._)("h2",{style:{"text-align":"center"}},"Settings",-1),L=["onUpdate:modelValue"],U=["onUpdate:modelValue"],F=(0,n._)("br",null,null,-1),z=(0,n._)("br",null,null,-1),G=(0,n._)("a",{href:"https://github.com/TheXXOs/ithkapp",target:"_blank"},"This project on GitHub",-1),B={key:0},X={style:{"text-align":"center"}},q=["innerHTML"],H={key:0},J={key:0,class:"tab"},$={key:1},Y=["onClick"],K=["innerHTML"],Q=["onClick"],Z=["src","alt"],ee=["innerHTML"],te={key:1},se=(0,n._)("br",null,null,-1),ie=(0,n._)("br",null,null,-1),ne=(0,n._)("p",{style:{"text-align":"center"}},"Your sentence:",-1),oe={style:{"text-align":"center"}},ae=(0,n._)("br",null,null,-1),le=(0,n._)("br",null,null,-1),re={id:"sidebar"},he={id:"sHeader"},ce=(0,n._)("h3",{style:{"padding-left":"20px"}},"Sentence Menu",-1),de={id:"sContent"},pe=["onClick","onMouseover","onMousemove","onTouchstart"],ue=["onUpdate:modelValue"],fe=(0,n._)("br",null,null,-1),ge={id:"sFooter"},me=(0,n._)("i",{class:"fa-solid fa-plus fa-xl"},null,-1),be=[me],we=(0,n._)("i",{class:"fa-solid fa-floppy-disk fa-xl"},null,-1),ye=[we],ve=(0,n._)("label",{id:"filab",for:"fimport"},[(0,n._)("i",{class:"fa-solid fa-arrow-up-from-bracket fa-xl"})],-1),Se=[ve],Me=(0,n._)("i",{class:"fa-solid fa-share-from-square fa-xl"},null,-1),Te=[Me];function Oe(e,t,s,r,c,u){const b=(0,n.up)("Ithkuil_v4"),S=(0,n.up)("Ithkuil_v3"),C=(0,n.Q2)("click-outside");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("title",null,"Ithkapp | "+(0,o.zw)(c.ithkword),1),(0,n._)("div",a,[l,(0,n._)("span",{class:"close",style:{"padding-left":"10px"},onClick:t[0]||(t[0]=e=>u.openModal("settings")),title:"Settings"},h),(0,n._)("span",{class:"close",style:(0,o.j5)([{"padding-left":"10px",height:"38px"},c.sentenceOpen?"background-color:rgb(179, 255, 230); color:#333;":""]),onClick:t[1]||(t[1]=e=>u.openNav(!1)),title:"Sentence Menu"},d,4),4==c.langVer?((0,n.wg)(),(0,n.iD)("div",p,[(0,n.wy)(((0,n.wg)(),(0,n.iD)("button",{class:(0,o.C_)({active:!["normal","affRoot","refRoot","ref","refCS","free"].includes(c.wordType)}),onClick:t[2]||(t[2]=e=>u.openDropdown("adjDD"))},f,2)),[[C,e=>u.closeDropdown("adjDD",e)]]),(0,n._)("div",g,[(0,n._)("span",{onClick:t[3]||(t[3]=e=>u.switchWordType("affixjunct")),class:(0,o.C_)({active:"affixjunct"==c.wordType})},"Affixual",2),(0,n._)("span",{onClick:t[4]||(t[4]=e=>u.switchWordType("modular")),class:(0,o.C_)({active:"modular"==c.wordType})},"Modular",2),(0,n._)("span",{onClick:t[5]||(t[5]=e=>u.switchWordType("register")),class:(0,o.C_)({active:"register"==c.wordType})},"Register",2),(0,n._)("span",{onClick:t[6]||(t[6]=e=>u.switchWordType("suppletive")),class:(0,o.C_)({active:"suppletive"==c.wordType})},"Suppletive",2),(0,n._)("span",{onClick:t[7]||(t[7]=e=>u.switchWordType("bias")),class:(0,o.C_)({active:"bias"==c.wordType})},"Bias",2)])])):(0,n.kq)("",!0),4==c.langVer?((0,n.wg)(),(0,n.iD)("div",m,[(0,n.wy)(((0,n.wg)(),(0,n.iD)("button",{class:(0,o.C_)({active:["normal","affRoot","refRoot","ref","refCS","free"].includes(c.wordType)}),onClick:t[8]||(t[8]=e=>u.openDropdown("formDD"))},w,2)),[[C,e=>u.closeDropdown("formDD",e)]]),(0,n._)("div",y,[(0,n._)("span",{onClick:t[9]||(t[9]=e=>u.switchWordType("normal")),class:(0,o.C_)({active:"normal"==c.wordType})},"Normal",2),(0,n._)("span",{onClick:t[10]||(t[10]=e=>u.switchWordType("affRoot")),class:(0,o.C_)({active:"affRoot"==c.wordType})},"Affix as Root",2),(0,n._)("span",{onClick:t[11]||(t[11]=e=>u.switchWordType("refRoot")),class:(0,o.C_)({active:"refRoot"==c.wordType})},"Personal-Referential Root",2),(0,n._)("span",{onClick:t[12]||(t[12]=e=>u.switchWordType("ref")),class:(0,o.C_)({active:"ref"==c.wordType})},"Single/Dual-Referential",2),(0,n._)("span",{onClick:t[13]||(t[13]=e=>u.switchWordType("refCS")),class:(0,o.C_)({active:"refCS"==c.wordType})},"Single Referential w/ Case-Stacking",2),(0,n._)("span",{onClick:t[14]||(t[14]=e=>u.switchWordType("free")),class:(0,o.C_)({active:"free"==c.wordType})},"Non-Ithkuil (Borrowed) Word",2)])])):(0,n.kq)("",!0),3==c.langVer?((0,n.wg)(),(0,n.iD)("div",v,[(0,n.wy)(((0,n.wg)(),(0,n.iD)("button",{class:(0,o.C_)({active:["aspect","affix","bias"].includes(c.wordType)}),onClick:t[15]||(t[15]=e=>u.openDropdown("adj3"))},M,2)),[[C,e=>u.closeDropdown("adj3",e)]]),(0,n._)("div",T,[(0,n._)("span",{onClick:t[16]||(t[16]=e=>u.switchWordType("aspect")),class:(0,o.C_)({active:"aspect"==c.wordType})},"Aspectual",2),(0,n._)("span",{onClick:t[17]||(t[17]=e=>u.switchWordType("affix")),class:(0,o.C_)({active:"affix"==c.wordType})},"Affixual",2),(0,n._)("span",{onClick:t[18]||(t[18]=e=>u.switchWordType("bias")),class:(0,o.C_)({active:"bias"==c.wordType})},"Bias",2)])])):(0,n.kq)("",!0),3==c.langVer?((0,n.wg)(),(0,n.iD)("div",O,[(0,n.wy)(((0,n.wg)(),(0,n.iD)("button",{class:(0,o.C_)({active:["normal","ref"].includes(c.wordType)}),onClick:t[19]||(t[19]=e=>u.openDropdown("form3"))},I,2)),[[C,e=>u.closeDropdown("form3",e)]]),(0,n._)("div",x,[(0,n._)("span",{onClick:t[20]||(t[20]=e=>u.switchWordType("normal")),class:(0,o.C_)({active:"normal"==c.wordType})},"Normal",2),(0,n._)("span",{onClick:t[21]||(t[21]=e=>u.switchWordType("ref")),class:(0,o.C_)({active:"ref"==c.wordType})},"Personal Reference",2)])])):(0,n.kq)("",!0)]),(0,n._)("div",A,["4"==c.langVer?((0,n.wg)(),(0,n.j4)(b,{key:0,ref:"4",onModal:u.openModal,onGEmit:t[22]||(t[22]=e=>c.gOptions=JSON.parse(JSON.stringify(e))),onIthkword:t[23]||(t[23]=e=>{c.ithkword=e[0],c.ipa=e[1],c.gloss=e[2],c.fullGloss=e[3],c.sentence[c.selectedWord]=JSON.parse(JSON.stringify([c.ithkword,c.gOptions,c.wordType,c.sentence[c.selectedWord][3]]))}),listenModal:c.modalListen,listenWordtype:c.wordType,listenWord:c.gSOptions,selectedWord:c.selectedWord,sLength:c.sentence.length,nextWord:this.sentence[c.selectedWord+1]},null,8,["onModal","listenModal","listenWordtype","listenWord","selectedWord","sLength","nextWord"])):(0,n.kq)("",!0),"3"==c.langVer?((0,n.wg)(),(0,n.j4)(S,{key:1,ref:"3",onModal:u.openModal,onGEmit:t[24]||(t[24]=e=>c.gOptions=JSON.parse(JSON.stringify(e))),onIthkword:t[25]||(t[25]=e=>{c.ithkword=e[0],c.ipa=e[1],c.gloss=e[2],c.fullGloss=e[3],c.sentence[c.selectedWord]=JSON.parse(JSON.stringify([c.ithkword,c.gOptions,c.wordType,c.sentence[c.selectedWord][3]]))}),listenModal:c.modalListen,listenWord:c.gSOptions,listenWordtype:c.wordType},null,8,["onModal","listenModal","listenWord","listenWordtype"])):(0,n.kq)("",!0)]),(0,n._)("div",k,[(0,n._)("p",null,[(0,n._)("span",E,[(0,n._)("b",null,(0,o.zw)(c.ithkword),1)]),D,(0,n._)("span",j,[(0,n.Uk)("["+(0,o.zw)(c.ipa)+"]",1),P,(0,n._)("span",{title:c.fullGloss},(0,o.zw)(c.gloss),9,N)])])]),(0,n._)("div",{id:"modal",class:"modal",onClick:t[40]||(t[40]=(0,i.iM)((e=>u.closeModal()),["self"]))},[(0,n._)("div",R,[(0,n._)("div",V,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(c.modalTabs,(e=>((0,n.wg)(),(0,n.iD)("button",{key:e,class:(0,o.C_)({active:e===c.modalID}),onClick:t=>{u.closeModal(),u.openModal(e)}},(0,o.zw)(this.$refs[c.langVer].gData[isNaN(e.slice(-1))?e:e.slice(0,-1)].title),11,W)))),128)),"share"==c.modalID?((0,n.wg)(),(0,n.iD)("button",{key:0,onClick:t[26]||(t[26]=e=>u.notAvailableAlert("Sharing sentences via hyperlink"))},"Create Hyperlink")):(0,n.kq)("",!0),"share"==c.modalID?((0,n.wg)(),(0,n.iD)("button",{key:1,onClick:t[27]||(t[27]=e=>u.copytoCB(u.concatenateSentence(c.sentence)))},"Copy to Clipboard")):(0,n.kq)("",!0),(0,n._)("span",{class:"close",onClick:t[28]||(t[28]=e=>u.closeModal())},"×")]),(0,n._)("div",{class:(0,o.C_)({hidden:"settings"!=c.modalID}),style:{"padding-left":"20px","padding-right":"20px","padding-bottom":"20px"}},[_,((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(Object.keys(c.settingsClone),(e=>((0,n.wg)(),(0,n.iD)("div",{key:e},[(0,n._)("h3",null,(0,o.zw)(e),1),((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(Object.keys(c.settingsClone[e]),(s=>((0,n.wg)(),(0,n.iD)("span",{key:s},[(0,n._)("label",null,(0,o.zw)(c.settingsClone[e][s][0]),1),c.settingsClone[e][s].length>2?(0,n.wy)(((0,n.wg)(),(0,n.iD)("select",{key:0,"onUpdate:modelValue":t=>this.$refs[c.langVer].settings[e][s][1]=t,onChange:t[29]||(t[29]=e=>this.$refs[c.langVer].handleSendMessage())},[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(c.settingsClone[e][s][2],(e=>((0,n.wg)(),(0,n.iD)("option",{key:e},(0,o.zw)(e),1)))),128))],40,L)),[[i.bM,this.$refs[c.langVer].settings[e][s][1]]]):(0,n.wy)(((0,n.wg)(),(0,n.iD)("input",{key:1,type:"checkbox","onUpdate:modelValue":t=>this.$refs[c.langVer].settings[e][s][1]=t,onChange:t[30]||(t[30]=e=>this.$refs[c.langVer].handleSendMessage())},null,40,U)),[[i.e8,this.$refs[c.langVer].settings[e][s][1]]]),F,z])))),128))])))),128)),G],2),"settings"!=c.modalID&&"share"!=c.modalID?((0,n.wg)(),(0,n.iD)("div",B,[(0,n._)("h2",X,(0,o.zw)(c.modalContent.title),1),(0,n._)("p",{style:{"text-align":"center"},innerHTML:c.modalContent.popupdesc},null,8,q),""==c.modalContent.type?((0,n.wg)(),(0,n.iD)("div",H,[["c","c1","c2"].includes(c.modalID)?((0,n.wg)(),(0,n.iD)("div",J,[(0,n._)("button",{class:"tablinks active",onClick:t[31]||(t[31]=e=>u.changeClassTab("THM","PLM","Allcases")),id:"Allcases"},"All"),(0,n._)("button",{class:"tablinks",onClick:t[32]||(t[32]=e=>u.changeClassTab("THM","IND","Transrelative")),id:"Transrelative"},"Transrelative"),(0,n._)("button",{class:"tablinks",onClick:t[33]||(t[33]=e=>u.changeClassTab("POS","PAR","Appositive")),id:"Appositive"},"Appositive"),(0,n._)("button",{class:"tablinks",onClick:t[34]||(t[34]=e=>u.changeClassTab("APL","CSD","Associative")),id:"Associative"},"Associative"),(0,n._)("button",{class:"tablinks",onClick:t[35]||(t[35]=e=>u.changeClassTab("FUN","SIT","Adverbial")),id:"Adverbial"},"Adverbial"),(0,n._)("button",{class:"tablinks",onClick:t[36]||(t[36]=e=>u.changeClassTab("PRN","RLT","Relational")),id:"Relational"},"Relational"),(0,n._)("button",{class:"tablinks",onClick:t[37]||(t[37]=e=>u.changeClassTab("ACT","VOC","Affinitive")),id:"Affinitive"},"Affinitive"),(0,n._)("button",{class:"tablinks",onClick:t[38]||(t[38]=e=>u.changeClassTab("LOC","PLM","Spatio-Temporal")),id:"Spatio-Temporal"},"Spatio-Temporal")])):(0,n.kq)("",!0),["c","c1","c2"].includes(c.modalID)?((0,n.wg)(),(0,n.iD)("div",$,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(Object.keys(c.modalContent.options).slice(Object.keys(c.modalContent.options).indexOf(this.casePopupStart),Object.keys(c.modalContent.options).indexOf(this.casePopupEnd)+1),(e=>((0,n.wg)(),(0,n.iD)("div",{key:c.modalContent.options[e]},[(0,n._)("div",{onClick:t=>u.updateFromModal(c.modalID,e),class:(0,o.C_)(["modalOption",{modalSelected:this.$refs[c.langVer].gOptions[c.modalID]==e}])},[(0,n._)("h3",null,(0,o.zw)(c.modalContent.options[e].name)+(0,o.zw)(e!==e.toString().toUpperCase()||["0","1","2","3","4","5","6","7","8","9"].includes(e.toString())?"":" ("+e+")"),1),(0,n._)("p",{innerHTML:c.modalContent.options[e].desc},null,8,K)],10,Y)])))),128))])):((0,n.wg)(!0),(0,n.iD)(n.HY,{key:2},(0,n.Ko)(Object.keys(c.modalContent.options),(e=>((0,n.wg)(),(0,n.iD)("div",{key:c.modalContent.options[e]},[(0,n._)("div",{onClick:t=>u.updateFromModal(c.modalID,e),class:(0,o.C_)(["modalOption",{modalSelected:this.$refs[c.langVer].gOptions[c.modalID]==e}]),style:(0,o.j5)(c.modalContent.options[e].image?"min-height:170px;":"")},[c.modalContent.options[e].image?((0,n.wg)(),(0,n.iD)("img",{key:0,src:c.modalContent.options[e].image,alt:c.modalContent.options[e].name,style:{float:"right",height:"150px","padding-top":"10px","padding-left":"10px","padding-bottom":"10px"}},null,8,Z)):(0,n.kq)("",!0),(0,n._)("h3",null,(0,o.zw)(c.modalContent.options[e].name)+(0,o.zw)(e!==e.toString().toUpperCase()||["0","1","2","3","4","5","6","7","8","9"].includes(e.toString())?"":" ("+e+")"),1),(0,n._)("p",{innerHTML:c.modalContent.options[e].desc},null,8,ee)],14,Q)])))),128))])):(0,n.kq)("",!0)])):"share"==c.modalID?((0,n.wg)(),(0,n.iD)("div",te,[se,ie,ne,(0,n._)("h1",oe,(0,o.zw)(u.concatenateSentence(c.sentence)),1),ae,le])):(0,n.kq)("",!0)]),(0,n._)("button",{id:"modalToTop",onClick:t[39]||(t[39]=(...e)=>u.scrollToTop&&u.scrollToTop(...e)),class:(0,o.C_)({hidden:"share"==c.modalID})},"↑",2)]),(0,n._)("div",re,[(0,n._)("div",he,[(0,n._)("span",{class:"close",onClick:t[41]||(t[41]=e=>u.closeNav()),style:{transform:"translateY(-20px)"}},"×"),ce]),(0,n._)("div",de,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(c.sentence,((e,s)=>((0,n.wg)(),(0,n.iD)("div",{key:s,class:(0,o.C_)(["sentWord noSelecting",{active:c.selectedWord==s,deletable:c.deleteWordMode,dragging:c.draggedWord===s}]),onClick:e=>u.switchWord(s),onMouseover:e=>u.hoverChange(s),onMouseleave:t[43]||(t[43]=e=>c.hovering=null),onMousemove:e=>u.beginDrag(s),onTouchstart:e=>u.beginDrag(s)},[(0,n._)("p",null,[(0,n._)("b",null,(0,o.zw)(e[0]),1)]),(0,n.wy)((0,n._)("textarea",{placeholder:"Description...","onUpdate:modelValue":e=>c.sentence[s][3]=e,onInput:t[42]||(t[42]=(...e)=>u.resizeTA&&u.resizeTA(...e)),rows:"1",class:"ta"},null,40,ue),[[i.nr,c.sentence[s][3]]]),fe],42,pe)))),128))]),(0,n._)("div",ge,[(0,n._)("input",{type:"file",onChange:t[44]||(t[44]=(...e)=>u.uploadJSON&&u.uploadJSON(...e)),accept:".json",id:"fimport",class:"hidden"},null,32),(0,n._)("button",{title:"Add New Word",onClick:t[45]||(t[45]=e=>this.sentence.push(JSON.parse(JSON.stringify([this.$refs[c.langVer].defaultWord,this.$refs[c.langVer].gDefault,"normal",""]))))},be),(0,n._)("button",{title:"Save",onClick:t[46]||(t[46]=e=>u.exportToJsonFile(c.sentence))},ye),(0,n._)("button",{title:"Import",onClick:t[47]||(t[47]=(0,i.iM)((e=>u.openFileDialog()),["self"]))},Se),(0,n._)("button",{title:"Export/Share",onClick:t[48]||(t[48]=e=>{u.openModal("share"),u.closeNav()})},Te),(0,n._)("button",{title:"Delete Words",onClick:t[49]||(t[49]=e=>c.deleteWordMode=!c.deleteWordMode),class:(0,o.C_)({active:c.deleteWordMode})},[(0,n._)("i",{class:(0,o.C_)(c.deleteWordMode?"fa-solid fa-check fa-xl":"fa-solid fa-trash-can fa-xl")},null,2)],2)])])],64)}var Ce=s(51),Ie=s.n(Ce);const xe=(0,n.uE)('

Ithkapp (hwirbuvie-ekţgyil)

Compatible with the version of New Ithkuil on ithkuil.net.
Definitions are a combination of taken from the old Ithkuil III site, taken from the New Ithkuil website, and (occasionally) written by the creator of this site.
All past and current forms of Ithkuil and all official documentation are by John Quijada.
Click on a box's title to learn more about what it means.

',2),Ae=(0,n._)("h2",{style:{width:"100%"}},"Configuration",-1),ke=(0,n._)("h2",{style:{width:"100%"}},"Slot II",-1),Ee=(0,n._)("h2",{style:{width:"100%"}},"Slot III",-1),De=(0,n._)("h2",{style:{width:"100%"}},"Slot IV",-1);function je(e,t,s,i,a,l){const r=(0,n.up)("OptionBox");return(0,n.wg)(),(0,n.iD)("div",null,[xe,(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{json:a.gData.affRoot,class:(0,o.C_)({hidden:"affRoot"!=a.wordType}),code:"affRoot",onSendMessage:l.handleSendMessage,ref:"affRoot",onModal:l.openModal,length:"6",whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"])},null,8,["json","class","onSendMessage","onModal","whitelist"]),(0,n.Wm)(r,{json:a.gData.arDegree,class:(0,o.C_)({hidden:"affRoot"!=a.wordType}),code:"arDegree",onSendMessage:l.handleSendMessage,ref:"arDegree",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.ref,class:(0,o.C_)({hidden:!["refRoot","ref","refCS"].includes(a.wordType)}),code:"ref",onSendMessage:l.handleSendMessage,ref:"ref",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.refEff,class:(0,o.C_)({hidden:!["refRoot","ref","refCS"].includes(a.wordType)}),code:"refEff",onSendMessage:l.handleSendMessage,ref:"refEff",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.refPersp,class:(0,o.C_)({hidden:!["refRoot","ref","refCS"].includes(a.wordType)}),code:"refPersp",onSendMessage:l.handleSendMessage,ref:"refPersp",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.c,class:(0,o.C_)({hidden:"ref"!=a.wordType&&"refCS"!=a.wordType}),code:"c1",onSendMessage:l.handleSendMessage,ref:"c1",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.root,class:(0,o.C_)({hidden:["affRoot","refRoot","ref","refCS"].includes(a.wordType)}),code:"root",onSendMessage:l.handleSendMessage,ref:"root",onModal:l.openModal,length:"6",whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"])},null,8,["json","class","onSendMessage","onModal","whitelist"]),(0,n.Wm)(r,{json:a.gData.stem,class:(0,o.C_)({hidden:["affRoot","refRoot","ref","refCS"].includes(a.wordType)}),code:"stem",onSendMessage:l.handleSendMessage,ref:"stem",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.spec,class:(0,o.C_)({hidden:"ref"==a.wordType||"affRoot"==a.wordType}),code:"spec",onSendMessage:l.handleSendMessage,ref:"spec",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.func,class:(0,o.C_)({hidden:"ref"==a.wordType||"refCS"==a.wordType}),code:"func",onSendMessage:l.handleSendMessage,ref:"func",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.ver,class:(0,o.C_)({hidden:"ref"==a.wordType||"refCS"==a.wordType}),code:"ver",onSendMessage:l.handleSendMessage,ref:"ver",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{json:a.gData.shcut,code:"shcut",onSendMessage:l.handleSendMessage,ref:"shcut",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.concat,code:"concat",onSendMessage:l.handleSendMessage,ref:"concat",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.rel,code:"rel",onSendMessage:l.handleSendMessage,ref:"rel",onModal:l.openModal,disabled:"0"!=this.gOptions.concat},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.Vafx,code:"Vafx",onSendMessage:l.handleSendMessage,type:"affix",ref:"Vafx",onModal:l.openModal,whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"]),aff6:l.calculateSlot6},null,8,["json","onSendMessage","onModal","whitelist","aff6"]),(0,n.Wm)(r,{json:a.gData.VIIafx,code:"VIIafx",onSendMessage:l.handleSendMessage,type:"affix",ref:"VIIafx",onModal:l.openModal,whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"]),aff6:l.calculateSlot6},null,8,["json","onSendMessage","onModal","whitelist","aff6"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[Ae,(0,n.Wm)(r,{json:a.gData.plex,code:"plex",onSendMessage:l.handleSendMessage,ref:"plex",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.simil,code:"simil",onSendMessage:l.handleSendMessage,disabled:["UPX","DPX"].includes(this.gOptions.plex),ref:"simil",onModal:l.openModal},null,8,["json","onSendMessage","disabled","onModal"]),(0,n.Wm)(r,{json:a.gData.cctd,code:"cctd",onSendMessage:l.handleSendMessage,disabled:["UPX","DPX"].includes(this.gOptions.plex),ref:"cctd",onModal:l.openModal},null,8,["json","onSendMessage","disabled","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{json:a.gData.affil,code:"affil",onSendMessage:l.handleSendMessage,ref:"affil",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.ext,code:"ext",onSendMessage:l.handleSendMessage,ref:"ext",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.persp,code:"persp",onSendMessage:l.handleSendMessage,ref:"persp",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.ess,code:"ess",onSendMessage:l.handleSendMessage,ref:"ess",onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"modular"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.modAppliesTo,code:"modAppliesTo",onSendMessage:l.handleSendMessage,ref:"modAppliesTo",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.modNumber,code:"modNumber",onSendMessage:l.handleSendMessage,ref:"modNumber",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.cn,code:"cn",onSendMessage:l.handleSendMessage,ref:"cn",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.mood,code:"mood2",onSendMessage:l.handleSendMessage,ref:"mood2",onModal:l.openModal,class:(0,o.C_)({hidden:"mood"!=this.gOptions.cn})},null,8,["json","onSendMessage","onModal","class"]),(0,n.Wm)(r,{json:a.gData.casc,code:"casc2",onSendMessage:l.handleSendMessage,ref:"casc2",onModal:l.openModal,class:(0,o.C_)({hidden:"casc"!=this.gOptions.cn})},null,8,["json","onSendMessage","onModal","class"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"modular"!=a.wordType||"modular"==a.wordType&&!["2","3"].includes(a.gOptions.modNumber)}])},[ke,(0,n.Wm)(r,{json:a.gData.vn,code:"vn2",onSendMessage:l.handleSendMessage,ref:"vn2",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.val,code:"val2",onSendMessage:l.handleSendMessage,ref:"val2",onModal:l.openModal,disabled:"val"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.pha,code:"pha2",onSendMessage:l.handleSendMessage,ref:"pha2",onModal:l.openModal,disabled:"pha"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.eff,code:"eff2",onSendMessage:l.handleSendMessage,ref:"eff2",onModal:l.openModal,disabled:"eff"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.lvl,code:"lvl2",onSendMessage:l.handleSendMessage,ref:"lvl2",onModal:l.openModal,disabled:"lvl"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.asp,code:"asp2",onSendMessage:l.handleSendMessage,ref:"asp2",onModal:l.openModal,disabled:"asp"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"modular"!=a.wordType||"modular"==a.wordType&&"3"!=a.gOptions.modNumber}])},[Ee,(0,n.Wm)(r,{json:a.gData.vn,code:"vn3",onSendMessage:l.handleSendMessage,ref:"vn3",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.val,code:"val3",onSendMessage:l.handleSendMessage,ref:"val3",onModal:l.openModal,disabled:"val"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.pha,code:"pha3",onSendMessage:l.handleSendMessage,ref:"pha3",onModal:l.openModal,disabled:"pha"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.eff,code:"eff3",onSendMessage:l.handleSendMessage,ref:"eff3",onModal:l.openModal,disabled:"eff"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.lvl,code:"lvl3",onSendMessage:l.handleSendMessage,ref:"lvl3",onModal:l.openModal,disabled:"lvl"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.asp,code:"asp3",onSendMessage:l.handleSendMessage,ref:"asp3",onModal:l.openModal,disabled:"asp"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"modular"!=a.wordType}])},[De,(0,n.Wm)(r,{json:a.gData.vh,code:"vh",onSendMessage:l.handleSendMessage,ref:"vh",onModal:l.openModal,class:(0,o.C_)({hidden:"modular"!=this.wordType}),disabled:"1"==this.gOptions.modNumber},null,8,["json","onSendMessage","onModal","class","disabled"]),(0,n.Wm)(r,{json:a.gData.modScope,code:"modScope",onSendMessage:l.handleSendMessage,ref:"modScope",onModal:l.openModal,class:(0,o.C_)({hidden:"modular"!=this.wordType||"1"==this.gOptions.modNumber||"vn"==this.gOptions.vh})},null,8,["json","onSendMessage","onModal","class"]),(0,n.Wm)(r,{json:a.gData.v4n,code:"v4n",onSendMessage:l.handleSendMessage,ref:"v4n",onModal:l.openModal,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","class"]),(0,n.Wm)(r,{json:a.gData.val,code:"val4",onSendMessage:l.handleSendMessage,ref:"val4",onModal:l.openModal,disabled:"val"!=this.gOptions.v4n,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","disabled","class"]),(0,n.Wm)(r,{json:a.gData.pha,code:"pha4",onSendMessage:l.handleSendMessage,ref:"pha4",onModal:l.openModal,disabled:"pha"!=this.gOptions.v4n,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","disabled","class"]),(0,n.Wm)(r,{json:a.gData.eff,code:"eff4",onSendMessage:l.handleSendMessage,ref:"eff4",onModal:l.openModal,disabled:"eff"!=this.gOptions.v4n,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","disabled","class"]),(0,n.Wm)(r,{json:a.gData.lvl,code:"lvl4",onSendMessage:l.handleSendMessage,ref:"lvl4",onModal:l.openModal,disabled:"lvl"!=this.gOptions.v4n,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","disabled","class"]),(0,n.Wm)(r,{json:a.gData.asp,code:"asp4",onSendMessage:l.handleSendMessage,ref:"asp4",onModal:l.openModal,class:(0,o.C_)({hidden:"1"!=this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","class"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{json:a.gData.vn,code:"vn",onSendMessage:l.handleSendMessage,ref:"vn",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.val,code:"val",onSendMessage:l.handleSendMessage,ref:"val",onModal:l.openModal,disabled:"val"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.pha,code:"pha",onSendMessage:l.handleSendMessage,ref:"pha",onModal:l.openModal,disabled:"pha"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.eff,code:"eff",onSendMessage:l.handleSendMessage,ref:"eff",onModal:l.openModal,disabled:"eff"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.lvl,code:"lvl",onSendMessage:l.handleSendMessage,ref:"lvl",onModal:l.openModal,disabled:"lvl"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.asp,code:"asp",onSendMessage:l.handleSendMessage,ref:"asp",onModal:l.openModal,disabled:"asp"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"!=a.wordType}),json:a.gData.suppType,code:"suppType",onSendMessage:l.handleSendMessage,ref:"suppType",onModal:l.openModal},null,8,["class","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),json:a.gData.ctxt,code:"ctxt",onSendMessage:l.handleSendMessage,ref:"ctxt",onModal:l.openModal},null,8,["class","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),show:!a.cascOrMood,json:a.gData.mood,code:"mood",onSendMessage:l.handleSendMessage,ref:"mood",onModal:l.openModal},null,8,["class","show","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),show:a.cascOrMood,json:a.gData.casc,code:"casc",onSendMessage:l.handleSendMessage,ref:"casc",onModal:l.openModal},null,8,["class","show","json","onSendMessage","onModal"]),(0,n.Wm)(r,{show:a.cascOrMood,json:a.gData.c,code:"c",onSendMessage:l.handleSendMessage,ref:"c",onModal:l.openModal},null,8,["show","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),show:!a.cascOrMood,json:a.gData.ill,code:"ill",onSendMessage:l.handleSendMessage,ref:"ill",onModal:l.openModal},null,8,["class","show","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),show:!a.cascOrMood,json:a.gData.vld,code:"vld",onSendMessage:l.handleSendMessage,disabled:"ASR"!=this.gOptions.ill,ref:"vld",onModal:l.openModal},null,8,["class","show","json","onSendMessage","disabled","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"affixjunct"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.affixjunct,code:"affixjunct",onSendMessage:l.handleSendMessage,ref:"affixjunct",onModal:l.openModal,reqAff:!0,whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"]),aff6:l.calculateSlot6},null,8,["json","onSendMessage","onModal","whitelist","aff6"]),(0,n.Wm)(r,{json:a.gData.initialAffScope,code:"initialAffScope",onSendMessage:l.handleSendMessage,ref:"initialAffScope",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.otherAffScope,code:"otherAffScope",onSendMessage:l.handleSendMessage,ref:"otherAffScope",onModal:l.openModal,disabled:this.gOptions.affixjunct.length<2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.affScopeOf,code:"affScopeOf",onSendMessage:l.handleSendMessage,ref:"affScopeOf",onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"register"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.register,code:"register",onSendMessage:l.handleSendMessage,ref:"register",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.regStartOrEnd,code:"regStartOrEnd",onSendMessage:l.handleSendMessage,ref:"regStartOrEnd",onModal:l.openModal,disabled:"END"==this.gOptions.register},null,8,["json","onSendMessage","onModal","disabled"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"ref"!=a.wordType&&"refCS"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.refAffix,class:(0,o.C_)({hidden:"refCS"!=a.wordType}),code:"refAffix",onSendMessage:l.handleSendMessage,ref:"refAffix",onModal:l.openModal,whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"]),aff6:l.calculateSlot6},null,8,["json","class","onSendMessage","onModal","whitelist","aff6"]),(0,n.Wm)(r,{json:a.gData.twoCs,code:"twoCs",onSendMessage:l.handleSendMessage,ref:"twoCs",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.twoRefs,class:(0,o.C_)({hidden:"refCS"==a.wordType}),code:"twoRefs",onSendMessage:l.handleSendMessage,ref:"twoRefs",onModal:l.openModal,disabled:!this.gOptions.twoCs},null,8,["json","class","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.ref,code:"ref2",class:(0,o.C_)({hidden:"refCS"==a.wordType}),onSendMessage:l.handleSendMessage,ref:"ref2",onModal:l.openModal,disabled:!this.gOptions.twoRefs||!this.gOptions.twoCs},null,8,["json","class","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.refEff,code:"refEff2",class:(0,o.C_)({hidden:"refCS"==a.wordType}),onSendMessage:l.handleSendMessage,ref:"refEff2",onModal:l.openModal,disabled:!this.gOptions.twoRefs||!this.gOptions.twoCs},null,8,["json","class","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.refPersp,code:"refPersp2",class:(0,o.C_)({hidden:"refCS"==a.wordType}),onSendMessage:l.handleSendMessage,ref:"refPersp2",onModal:l.openModal,disabled:!this.gOptions.twoRefs||!this.gOptions.twoCs},null,8,["json","class","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.c,code:"c2",onSendMessage:l.handleSendMessage,ref:"c2",onModal:l.openModal,disabled:!this.gOptions.twoCs},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.ess,code:"ess2",onSendMessage:l.handleSendMessage,ref:"ess2",onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"bias"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.bias,code:"bias",onSendMessage:l.handleSendMessage,ref:"bias",onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"free"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.freeType,code:"freeType",ref:"freeType",onSendMessage:l.handleSendMessage,onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2)])}const Pe=e=>((0,n.dD)("data-v-4abae525"),e=e(),(0,n.Cn)(),e),Ne=["title"],Re=["maxlength"],Ve={key:1},We=["disabled"],_e={key:2},Le=["onUpdate:modelValue","id"],Ue=["onInput","id"],Fe=Pe((()=>(0,n._)("option",null,"UPX",-1))),ze=Pe((()=>(0,n._)("option",null,"DPX",-1))),Ge=Pe((()=>(0,n._)("option",null,"D",-1))),Be=Pe((()=>(0,n._)("option",null,"M",-1))),Xe=[Fe,ze,Ge,Be],qe=["onInput","id","disabled"],He=Pe((()=>(0,n._)("option",null,"S",-1))),Je=Pe((()=>(0,n._)("option",null,"D",-1))),$e=Pe((()=>(0,n._)("option",null,"F",-1))),Ye=[He,Je,$e],Ke=["onInput","id","disabled"],Qe=Pe((()=>(0,n._)("option",null,"S",-1))),Ze=Pe((()=>(0,n._)("option",null,"C",-1))),et=Pe((()=>(0,n._)("option",null,"F",-1))),tt=[Qe,Ze,et],st=["onInput","id"],it=Pe((()=>(0,n._)("option",null,"CSL",-1))),nt=Pe((()=>(0,n._)("option",null,"ASO",-1))),ot=Pe((()=>(0,n._)("option",null,"COA",-1))),at=Pe((()=>(0,n._)("option",null,"VAR",-1))),lt=[it,nt,ot,at],rt=["onInput","id"],ht=Pe((()=>(0,n._)("option",null,"DEL",-1))),ct=Pe((()=>(0,n._)("option",null,"PRX",-1))),dt=Pe((()=>(0,n._)("option",null,"ICP",-1))),pt=Pe((()=>(0,n._)("option",null,"ATV",-1))),ut=Pe((()=>(0,n._)("option",null,"GRA",-1))),ft=Pe((()=>(0,n._)("option",null,"DPL",-1))),gt=[ht,ct,dt,pt,ut,ft],mt=["onInput","id"],bt=Pe((()=>(0,n._)("option",null,"M",-1))),wt=Pe((()=>(0,n._)("option",null,"G",-1))),yt=Pe((()=>(0,n._)("option",null,"N",-1))),vt=Pe((()=>(0,n._)("option",null,"A",-1))),St=[bt,wt,yt,vt],Mt=["onInput","id"],Tt=Pe((()=>(0,n._)("option",null,"NRM",-1))),Ot=Pe((()=>(0,n._)("option",null,"RPV",-1))),Ct=[Tt,Ot],It=["onUpdate:modelValue","id"],xt={key:1,value:1},At={key:2,value:2},kt={key:3,value:3},Et={key:4,value:4},Dt={key:5,value:5},jt={key:6,value:6},Pt={key:7,value:7},Nt={key:8,value:8},Rt={key:9,value:9},Vt={key:0,value:0},Wt=["onClick"],_t=["onUpdate:modelValue","id"],Lt={value:1},Ut={value:2},Ft={value:3},zt={value:4},Gt=["disabled","id"],Bt=["value"],Xt={key:4},qt=Pe((()=>(0,n._)("b",null,"ERROR:",-1))),Ht=(0,n.Uk)(" Empty affixes"),Jt=[qt,Ht],$t={key:5},Yt=Pe((()=>(0,n._)("b",null,"ERROR:",-1))),Kt=(0,n.Uk)(" Affixes are required"),Qt=[Yt,Kt],Zt={key:6},es=Pe((()=>(0,n._)("b",null,"ERROR:",-1))),ts=(0,n.Uk)(" Empty text"),ss=[es,ts],is={key:7},ns=Pe((()=>(0,n._)("b",null,"ERROR:",-1))),os=(0,n.Uk)(" Non-allowed characters"),as=[ns,os],ls={key:8};function rs(e,t,s,a,l,r){return(0,n.wg)(),(0,n.iD)("div",{class:(0,o.C_)(["optionbox",r.OBclass])},[(0,n._)("h3",{onClick:t[0]||(t[0]=(0,i.iM)((e=>this.$emit("modal",s.code)),["self"])),title:"Learn more about "+s.json.title},(0,o.zw)(s.json.title),9,Ne),"text"==s.json.type?(0,n.wy)(((0,n.wg)(),(0,n.iD)("input",{key:0,"onUpdate:modelValue":t[1]||(t[1]=e=>l.text=e),onInput:t[2]||(t[2]=e=>this.$emit("send-message",l.text,s.code)),placeholder:"Enter...",maxlength:s.length},null,40,Re)),[[i.nr,l.text]]):"checkbox"==s.json.type?((0,n.wg)(),(0,n.iD)("div",Ve,[(0,n.wy)((0,n._)("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=e=>l.option=e),onChange:t[4]||(t[4]=e=>this.$emit("send-message",l.option,s.code)),disabled:s.disabled},null,40,We),[[i.e8,l.option]])])):"affix"==s.json.type?((0,n.wg)(),(0,n.iD)("div",_e,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(l.affixes,((e,a)=>((0,n.wg)(),(0,n.iD)("div",{key:e},[(0,n.wy)((0,n._)("input",{"onUpdate:modelValue":e=>l.affixes[a][0]=e,onInput:t[5]||(t[5]=e=>this.$emit("send-message",l.affixes,s.code)),placeholder:"Enter...",maxlength:"5",id:s.code+"affW"+a,class:(0,o.C_)({hidden:"CA"==l.affixes[a][1]})},null,42,Le),[[i.nr,l.affixes[a][0]]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[6]||(t[6]=e=>l.plex=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"plex"+a.toString()},Xe,44,Ue),[[i.bM,l.plex]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[7]||(t[7]=e=>l.simil=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"simil"+a.toString(),disabled:"UPX"==l.plex||"DPX"==l.plex},Ye,44,qe),[[i.bM,l.simil]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[8]||(t[8]=e=>l.cctd=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"cctd"+a.toString(),disabled:"UPX"==l.plex||"DPX"==l.plex},tt,44,Ke),[[i.bM,l.cctd]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[9]||(t[9]=e=>l.affil=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"affil"+a.toString()},lt,44,st),[[i.bM,l.affil]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[10]||(t[10]=e=>l.ext=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"ext"+a.toString()},gt,44,rt),[[i.bM,l.ext]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[11]||(t[11]=e=>l.persp=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"persp"+a.toString()},St,44,mt),[[i.bM,l.persp]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[12]||(t[12]=e=>l.ess=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"ess"+a.toString()},Ct,44,Mt),[[i.bM,l.ess]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":e=>l.affixes[a][1]=e,onInput:t[13]||(t[13]=e=>this.$emit("send-message",l.affixes,s.code)),style:"display:inline-block",id:s.code+"affD"+a.toString()},[((0,n.wg)(),(0,n.iD)("option",xt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 1":4==l.affixes[a][2]?"THM":3==l.affixes[a][2]&&1==l.affixes.length?"POS":"Deg. 1"),1)),((0,n.wg)(),(0,n.iD)("option",At,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 2":4==l.affixes[a][2]?"INS":3==l.affixes[a][2]&&1==l.affixes.length?"PRP":"Deg. 2"),1)),((0,n.wg)(),(0,n.iD)("option",kt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 3":4==l.affixes[a][2]?"ABS":3==l.affixes[a][2]&&1==l.affixes.length?"GEN":"Deg. 3"),1)),((0,n.wg)(),(0,n.iD)("option",Et,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 4":4==l.affixes[a][2]?"AFF":3==l.affixes[a][2]&&1==l.affixes.length?"ATT":"Deg. 4"),1)),((0,n.wg)(),(0,n.iD)("option",Dt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 5":4==l.affixes[a][2]?"STM":3==l.affixes[a][2]&&1==l.affixes.length?"PDC":"Deg. 5"),1)),((0,n.wg)(),(0,n.iD)("option",jt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 6":4==l.affixes[a][2]?"EFF":3==l.affixes[a][2]&&1==l.affixes.length?"ITP":"Deg. 6"),1)),((0,n.wg)(),(0,n.iD)("option",Pt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 7":4==l.affixes[a][2]?"ERG":3==l.affixes[a][2]&&1==l.affixes.length?"OGN":"Deg. 7"),1)),["sy","zy","čy","šy","žy","jy","ly"].includes(l.affixes[a][0])?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("option",Nt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 8":4==l.affixes[a][2]?"DAT":3==l.affixes[a][2]&&1==l.affixes.length?"IDP":"Deg. 8"),1)),((0,n.wg)(),(0,n.iD)("option",Rt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 9":4==l.affixes[a][2]?"IND":3==l.affixes[a][2]&&1==l.affixes.length?"PAR":"Deg. 9"),1)),["sy","zy","čy","šy","žy","jy","ly"].includes(l.affixes[a][0])||!["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])&&(4==l.affixes[a][2]||3==l.affixes[a][2]&&1==l.affixes.length)?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("option",Vt,"Deg. 0")),(0,n._)("option",{key:"CA",value:"CA",onClick:e=>r.calc6(a)},"Cₐ-stacking",8,Wt)],40,It),[[i.bM,l.affixes[a][1]]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":e=>l.affixes[a][2]=e,onInput:t[14]||(t[14]=e=>this.$emit("send-message",l.affixes,s.code)),style:(0,o.j5)("CA"==l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"affT"+a},[(0,n._)("option",Lt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Series ":"Type-")+"1",1),(0,n._)("option",Ut,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Series ":"Type-")+"2",1),(0,n._)("option",Ft,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Series 3":1==l.affixes.length?"Ref (3)":"Type-3"),1),(0,n._)("option",zt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Series 4":"Ref (4)"),1)],44,_t),[[i.bM,l.affixes[a][2]]])])))),128)),(0,n._)("input",{type:"button",value:"Add",onClick:t[15]||(t[15]=e=>{l.affixes.push(["",1,1]),this.$emit("send-message",l.affixes,s.code)})}),(0,n._)("input",{type:"button",value:"Remove",onClick:t[16]||(t[16]=e=>{l.affixes.pop(),this.$emit("send-message",l.affixes,s.code)})})])):(0,n.wy)(((0,n.wg)(),(0,n.iD)("select",{key:3,"onUpdate:modelValue":t[17]||(t[17]=e=>l.option=e),onChange:t[18]||(t[18]=e=>this.$emit("send-message",l.option.toString(),s.code)),disabled:s.disabled,id:s.code},[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(s.json.options,((e,t)=>((0,n.wg)(),(0,n.iD)("option",{key:e.name,value:t},(0,o.zw)(e.name)+" "+(0,o.zw)(t!==t.toString().toUpperCase()||["1","2","3","4","5","6","7","8","9","0"].includes(t)?"":"("+t+")"),9,Bt)))),128))],40,Gt)),[[i.bM,l.option]]),"affix"!=s.json.type||0==this.affixes.length||this.affixes.every((function(e){return""!=e[0]}))?"affix"==s.json.type&&0==this.affixes.length&&s.reqAff?((0,n.wg)(),(0,n.iD)("p",$t,Qt)):"text"==s.json.type&&""==this.text?((0,n.wg)(),(0,n.iD)("p",Zt,ss)):this.$props.whitelist&&("text"==s.json.type&&!this.text.split("").every((e=>this.$props.whitelist.includes(e.toLowerCase())))||"affix"==s.json.type&&0!=this.affixes.length&&!this.affixes.every((e=>e[0].split("").every((e=>this.$props.whitelist.includes(e))))))?((0,n.wg)(),(0,n.iD)("p",is,as)):((0,n.wg)(),(0,n.iD)("p",ls)):((0,n.wg)(),(0,n.iD)("p",Xt,Jt))],2)}var hs={name:"OptionBox",props:{code:String,json:Object,disabled:Boolean,show:Boolean,length:String,whitelist:Array,reqAff:Boolean,aff6:Function},data(){return{text:"",option:null,affixes:[],plex:"UPX",simil:"S",cctd:"S",affil:"CSL",ext:"DEL",persp:"M",ess:"NRM"}},computed:{OBclass(){return{error:"affix"==this.json.type&&0!=this.affixes.length&&(this.$props.whitelist&&!this.affixes.every((function(e){return""!=e[0]}))||!this.affixes.every((e=>e[0].split("").every((e=>this.$props.whitelist.includes(e))))))||"text"==this.json.type&&(""==this.text||this.$props.whitelist&&!this.text.split("").every((e=>this.$props.whitelist.includes(e.toLowerCase()))))||"affix"==this.json.type&&0==this.affixes.length&&this.reqAff,disabledbox:this.disabled,notShown:this.show}}},mounted(){""==this.$props.json.type&&(this.option=Object.keys(this.$props.json.options)[0])},methods:{updateValue(e){if("affix"==this.$props.json.type){this.affixes=e;for(let t in this.affixes)this.waitForElm("#"+this.$props.code+"affW"+t.toString()).then((s=>{s.value=e[t][0]})),this.waitForElm("#"+this.$props.code+"affD"+t.toString()).then((s=>{s.value=e[t][1]})),this.waitForElm("#"+this.$props.code+"affT"+t.toString()).then((s=>{s.value=e[t][2]}));this.$emit("send-message",this.affixes,this.$props.code)}else"text"==this.$props.json.type?(this.text=e,this.$emit("send-message",this.text,this.$props.code)):"checkbox"==this.$props.json.type?(this.option=e,this.$emit("send-message",this.option,this.$props.code)):(console.log("Recieved",e,"in",this.$props.code),Object.keys(this.$props.json.options).includes(e)&&(this.option=e,document.getElementById(this.$props.code).selectedIndex=Object.keys(this.$props.json.options).indexOf(e),this.$emit("send-message",this.option.toString(),this.$props.code)))},calc6(e){let t=document.getElementById(this.code+"affil"+e).value,s=document.getElementById(this.code+"plex"+e).value,i=document.getElementById(this.code+"simil"+e).value,n=document.getElementById(this.code+"cctd"+e).value,o=document.getElementById(this.code+"ext"+e).value,a=document.getElementById(this.code+"ess"+e).value,l=document.getElementById(this.code+"persp"+e).value;this.affixes[e][0]=this.aff6(!0,t,s,i,n,o,a,l),this.$emit("send-message",this.affixes,this.$props.code),this.$emit("send-message",this.affixes,this.$props.code)},waitForElm(e){return new Promise((t=>{if(document.querySelector(e))return t(document.querySelector(e));const s=new MutationObserver((()=>{document.querySelector(e)&&(t(document.querySelector(e)),s.disconnect())}));s.observe(document.body,{childList:!0,subtree:!0})}))}}},cs=s(89);const ds=(0,cs.Z)(hs,[["render",rs],["__scopeId","data-v-4abae525"]]);var ps=ds,us=JSON.parse('{"root":{"type":"text","title":"Root (Slot III)","popupdesc":"The root is the general definition of the word, and can be directly modified by the Stem and Specification. Check the Lexicon for what your word\'s Root, Stem, and Specification should be."},"stem":{"type":"","title":"Stem","options":{"s1":{"name":"Stem 1","desc":""},"s2":{"name":"Stem 2","desc":""},"s3":{"name":"Stem 3","desc":""},"s0":{"name":"Stem 0","desc":"Stem 0 is special in that it describes the overall \\"stemless\\" definition of a root; i.e. the title of its box in the Lexicon document (if it has one) or a general agglomeration of the three roots\' definitions."}},"popupdesc":"The stem of a word describes which of three possible definitons that a root could take is used in the word. Specific stem definitions are in the Lexicon."},"func":{"type":"","title":"Function","options":{"STA":{"name":"Static","desc":"The Static function is typically used in the following ways:
"},"DYN":{"name":"Dynamic","desc":"The Dynamic function is typically used in the following ways:
"}},"popupdesc":"Function is used to show how relevant any change or motion related to a word is to the speaker, and can be both subjective (a meal as an event [STA] or as a process [DYN]?) or objective (the sunset is orange [STA] vs the sky became orange [DYN]) depending on the situation."},"spec":{"type":"","title":"Specification","options":{"BSC":{"name":"Basic","desc":"A holistic instantiation of a root, prior to the application of one of the other three Specifications, essentially encompassing the meanings of the CTE, and CSV specifications below."},"CTE":{"name":"Contential","desc":"The physical or non-physical “content” or essence or purposeful function or idealized/abstract/platonic form thereof, as opposed to its mere physical form/shape"},"CSV":{"name":"Constitutive","desc":"The form (physical or non-physical) in which an entity/state/act actually expresses itself, is shaped, or is realized, as opposed to its functional/purposeful content, i.e., \\"what constitutes X\\""},"OBJ":{"name":"Objective","desc":"Whichever of the following is most salient to the semantics of the particular stem:
(1) tangible tool/instrument/means by which a state act/state/event occurs, or if inapplicable, then
(2) the third-party object/entity associated with the interaction between two parties (e.g., the object being given in a dative interaction), or if inapplicable then
(3) the resulting tangible object/product/situation, or if inapplicable, then
(4) the semantic patient or experiencer of the state/act/event."}},"popupdesc":"Specification makes the definition of the root more specific.
Listed below are the generic definitions of the terms, but the Lexicon should have all necessary information (i.e. what your root means when paired with a certain specification)."},"ver":{"type":"","title":"Version","options":{"PRC":{"name":"Processual","desc":"The Processual is the default version and describes all acts, conditions, or events which are ends in themselves and not goal-oriented, i.e., are not focused on an anticipated outcome or final purpose toward which a progressive effort is being made."},"CPT":{"name":"Completive","desc":"The Completive describes acts, conditions, or events which achieve, or are intended to achieve, an anticipated outcome, i.e., which are oriented toward the achievement of some purpose, outcome, or final state. Such a distinction is usually handled by word choice in Western languages.
hunt → to hunt down
to be losing → to lose
to study → to learn
to be winning → to win
to strive for → to accomplish, achieve
"}},"popupdesc":"Version describes if a given word is goal-oriented or not in its outcome. Ithkuil III had six, but New Ithkuil has only two."},"ctxt":{"type":"","title":"Context","options":{"EXS":{"name":"Existential","desc":"Neutral description
The EXISTENTIAL context focuses on those features of a noun or verb which are ontologically objective, i.e., those that exist irrespective of any observers, opinions, interpretations, beliefs or attitudes. Similarly excluded from consideration in the EXISTENTIAL is any notion of a noun\'s use, function, role or benefit. The EXISTENTIAL serves only to point out the mere existence of a noun as a tangible, objective entity under discussion. It is thus used to offer mere identification of a noun or verb."},"FNC":{"name":"Functional","desc":"Focus on the personal meaning/importance
The FUNCTIONAL context focuses on those features of a formative that are defined socially by ideas, attitudes, beliefs, opinions, convention, cultural status, use, function, benefit, etc. It serves to identify not what a noun existentially is, but to show that the noun has specific (and subjective) contextual meaning, relevance or purpose."},"RPS":{"name":"Representational","desc":"Connotes that the word is a metaphor
The REPRESENTATIONAL context focuses on a formative as a symbol, metaphor, or metonym, in that it indicates that the formative is serving as a representation or substitute for some other concept or entity which is abstractly associated with it. For example, the metaphorical connotations of the English sentence That pinstripe-suited dog is checking out a kitty, can be equally conveyed in Ithkuil by inflecting the words for \'dog\' and \'kitty\' into the REPRESENTATIONAL context. The REPRESENTATIONAL is one of several ways that Ithkuil overtly renders all metaphorical, symbolic, or metonymic usages (from a grammatical standpoint)."},"AMG":{"name":"Amalgamate","desc":"Connotes a focus on the emotional impact plus cultural significance
The AMALGAMATIVE context is the most abstract and difficult to understand from a Western linguistic perspective. It focuses on the systemic, holistic, gestalt-like, componential nature of a formative, implying that its objective and subjective totality is derived synergistically from (or as an emergent property of) the interrelationships between all of its parts, not just in terms of a static momentary appraisal, but in consideration of the entire developmental history of the noun and any interactions and relationships it has (whether past, present or potential) within the larger context of the world. Its use indicates the speaker is inviting the hearer to subjectively consider all the subjective wonder, emotional nuances, psychological ramifications and/or philosophical implications associated with the noun\'s existence, purpose, or function, as being a world unto itself, intrinsically interconnected with the wider world beyond it on many levels."}},"popupdesc":"Context is a morphological category with no equivalent in other languages. It indicates what tangible or intangible features or aspects of a formative are being psychologically implied in any given utterance. There is no way to show this in translation other than by paraphrase.
Simply, context implies what emotional meaning you should apply to the given word; reading the individual definitions is recommended."},"rel":{"type":"","title":"Relation","options":{"UNF/C":{"name":"Nominal","desc":"The word is not a verb (which usually means a noun).
All Concatenated words are Nominal automatically."},"UNF/K":{"name":"Unframed Verbal","desc":"The word is a verb"},"FRM":{"name":"Framed Verbal","desc":"The word is the main verb in a verb phrase (or \\"frame\\") - the verb phrase continues until the end of the sentance, and this word MUST go at the start of it."}},"popupdesc":"Put simply, which part of speech a word belongs to. A nominal is usually a noun, but could be anything other than a verb.

Nominals (and Framed Verbals) are modified by Case and Case-Scope to give a more specific purpose, and (Unframed) Verbals are modified by Mood, Illocution, Expectation and Validation to give a reasoning and intended reaction."},"concat":{"type":"","title":"Concatenation","options":[{"name":"None","desc":"This word is not concatenated to another."},{"name":"Type 1","desc":"Type-1 concatenation implies a circumstantial relationship between the concatenated formative and the parent (equivalent to placing the concatenated formative into a case-frame)"},{"name":"Type 2","desc":"Type-2 concatenation is derivational (i.e., lexicalizing), creating a new lexico-semantic gestalt and usually requiring a different English translation.
This is analogous to English forms like polar bear naming a new animal rather than stating a location."}],"popupdesc":"Concatenation is similar to the Incorporated Root of Ithkuil III. Basically, it\'s how you show two roots on one word in order to make a short phrase or for extra description (\'desk chair\' rather than \'chair\').
A concatenated word MUST be followed by another word (formative), and the two must be joined with a dash.
A concatenated word is automatically a Nominal (see Relation for more on that)."},"shcut":{"type":"","title":"Shortcutting","options":[{"name":"Default (VII only)","desc":"Do not apply Slot IV/VI shortcuts"},{"name":"Slot IV/VI","desc":"Apply Slot IV/VI shortcuts if possible (takes priority over all other shortcuts)"},{"name":"No VII affix","desc":"Do not apply Slot IV/VI or Slot VII affix shortcuts"},{"name":"Absolutely None","desc":"Do not apply ANY shortcuts whatsoever, do not drop any letters, and show the full gloss instead of the regular"}],"popupdesc":"Please note that these options (aside from \\"Absolutely None\\") do not apply to Slot VIII being moved to Slot VI. For that, check settings.
Shortcutting doesn\'t change the definition of a word, it instead shuffles around how the meaning is represented on that word, potentially making it shorter.
If you\'re not sure which option to use, finish creating your word and then see which option makes it the shortest.
(The Slot IV/VI shortcut uses Slots I and II to indicate Slots IV and VI, and the Slot VII shortcut uses Slot II to indicate one Slot VII affix)"},"Vafx":{"type":"affix","title":"Slot V Affixes","popupdesc":"Slot V Affixes are simple definitional modifications to your word applied before any concatenated words, Configuration, Affiliation, Extension, Perspective, and Essence.
Degree 0 refers to the affix\'s general semantic concept as a whole, similar to Stem 0.

Types:
Type 1: circumstantial relation to the word
Type 2: derivational relation to the word (i.e. it\'s a new word/phrase, as in \'polar bear\')
Type 3: Apply to the previous affix

Cₐ-stacking is the ability to add a Cₐ (Configuration+Affiliation+Extension+Perspective+Essence) consonant-form as an affix.

The Ref options allow you to show a Referential (pronoun) on this word as a shortcut - selecting this will turn the Degree options into Case options.
Ref (3) is only available if there is one affix in the slot, to not clash with Type 3"},"VIIafx":{"type":"affix","title":"Slot VII Affixes","popupdesc":"Slot VII Affixes are simple definitional modifications to your word applied after any concatenated words, Configuration, Affiliation, Extension, Perspective, and Essence.
Degree 0 refers to the affix\'s general semantic concept as a whole, similar to Stem 0.

Types:
Type 1: circumstantial relation to the word
Type 2: derivational relation to the word (i.e. it\'s a new word/phrase, as in \'polar bear\')
Type 3: Apply to the previous affix

Cₐ-stacking is the ability to add a Cₐ (Configuration+Affiliation+Extension+Perspective+Essence) consonant-form as an affix.

The Ref options allow you to show a Referential (pronoun) on this word as a shortcut - selecting this will turn the Degree options into Case options.
Ref (3) is only available if there is one affix in the slot, to not clash with Type 3"},"plex":{"type":"","title":"Plexity","options":{"UPX":{"name":"Uniplex","desc":"The UNIPLEX configuration indicates a single, contextual embodiment of the word, i.e., one whole contextual unit of the basic nominal stem,
e.g. a tree, a person, a screwdriver, a grape, a hammer blow, a hole.
With verbs the UNIPLEX signifies a single, holistic act, state, or event,
e.g. to be a tree, to become a person, to use a screwdriver, to eat a grape, to strike (once) with a hammer, to dig a hole."},"DPX":{"name":"Vague Duplex","desc":"The Vague DUPLEX (unofficial name) is the same as the below DUPLEX, except no information regarding Similarity or Connectedness is relayed."},"D":{"name":"Duplex","desc":"The DUPLEX indicated any two contextual embodiments of the word (like the UNIPLEX) or two individual, holistic acts, states, or events.
Like the DUAL in some natural languages."},"M":{"name":"Multiplex","desc":"Same as the above two in terms of when it is applied, but only for more than two instances.
Like the PLURAL in most natural languages."}},"popupdesc":"Describes how many instances of the word there are, similar but not the same as plurality markings of other languages. However, similarities to plurality are used in the below definitions.
This is how you turn the word \\"tree\\" into \\"forest\\", for example, but not \\"tree\\" into \\"trees\\"."},"simil":{"type":"","title":"Similarity","options":{"S":{"name":"Similar","desc":"The 2+ instances are similar or the same"},"D":{"name":"Dissimilar","desc":"The 2+ instances are not similar at all"},"F":{"name":"Fuzzy","desc":"It is unclear as to how similar the 2+ instances are"}},"popupdesc":"Only applies when the Plexity is DUPLEX or MULTIPLEX.
This indicates how similar the 2+ instances (from the Plexity) are."},"cctd":{"type":"","title":"Connectedness","options":{"S":{"name":"Separate","desc":"The 2+ instances are separate"},"C":{"name":"Connected","desc":"The 2+ instances are somewhat connected (but discrete)"},"F":{"name":"Fused","desc":"The 2+ instances are very connected and are somewhat difficult to make discrete"}},"popupdesc":"Only applies when the Plexity is DUPLEX or MULTIPLEX.
This indicated how connected the 2+ instanced (from the Plexity) are."},"affil":{"type":"","title":"Affiliation","options":{"CSL":{"name":"Consolidative","desc":"The CONSOLIDATIVE affiliation indicates that the individual members of a configurational set are a naturally occurring set where the function, state, purpose or benefit of individual members is inapplicable, irrelevant, or if applicable, is shared. It differs from the ASSOCIATIVE affiliation below in that the role of individual set members is not subjectively defined by human design. Examples are tree branches, a grove, a mound of rocks, some people, the clouds.

The CONSOLIDATIVE is also the affiliation normally applied to nouns in the UNIPLEX (plexity) when spoken of in a neutral way, since a noun in the UNIPLEX specifies one single entity without reference to a set, therefore the concept of “shared” function would be inapplicable. Examples: a man, a door, a sensation of heat, a leaf. With verbs, the CONSOLIDATIVE would imply that the act, state, or event is occurring naturally, or is neutral as to purpose or design."},"ASO":{"name":"Associative","desc":"The ASSOCIATIVE affiliation indicates that the individual members of a configurational set share the same subjective function, state, purpose or benefit. Its use can be illustrated by taking the Ithkuil word for soldier in the DISCRETE configuration and comparing its English translations when inflected for the CONSOLIDATIVE affiliation (= a group of soldiers) versus the ASSOCIATIVE (= a troop, a platoon). It is this CONSOLIDATIVE versus ASSOCIATIVE distinction, then, that would distinguish otherwise equivalent plural inflections of the Ithkuil word for tree by translating them respectively as a grove versus an orchard.

The ASSOCIATIVE affiliation can also be used with nouns in the UNIPLEX (plexity) to signify a sense of unity amongst one\'s characteristics, purposes, thoughts, etc. For example, the word person inflected for the UNIPLEX and ASSOCIATIVE would translate as a single-minded person. Even nouns such as rock, tree or work of art could be inflected this way, subjectively translatable as a well-formed rock, a tree with integrity, a “balanced” work of art.

With verbs, the ASSOCIATIVE signifies that the act, state or event is by design or with specific purpose. The CONSOLIDATIVE versus ASSOCIATIVE distinction could be used, for example, with the verb turn in \\"I turned toward the window\\" to indicate whether it was for no particular reason or due to a desire to look outside."},"COA":{"name":"Coalescent","desc":"The COALESCENT affiliation indicates that the members of a configurational set share in a complementary relationship with respect to their individual functions, states, purposes, benefits, etc. This means that, while each member\'s function is distinct from those of other members, each serves in furtherance of some greater unified role. For example, the Ithkuil word translating English toolset would be the word for tool in some plural configuration (depending on each tool\'s distinct physical appearance) and the COALESCENT affiliation to indicate that each tool has a distinct but complementary function in furtherance of enabling construction or repair activities. Another example would be using the COALESCENT with the word for (piece of) food to signify a well-balanced meal.

The COALESCENT naturally appears most often in conjunction with the DUPLEX since binary sets tend to be complementary. It is used, for example, to signify symmetrical binary sets such as body parts, generally indicating a lefthand/righthand mirror-image distinction, e.g., one\'s ears, one\'s hands, a pair of wings. Pairs that do not normally distinguish such a complementary distinction (e.g. one\'s eyes) can nevertheless be optionally placed in the COALESCENT affiliation to emphasize bilateral symmetry (e.g., one\'s left and right eye functioning together).

With verbs, the COALESCENT signifies that related, synergistic nature of the component acts, states, and events which make up a greater holistic act, state, or event. It imposes a situational structure onto an act, state, or event, where individual circumstances work together in complementary fashion to comprise the total situation. It would be used, for example, to distinguish the sentences He traveled in the Yukon from He ventured in the Yukon, or I came up with a plan versus I fashioned a plan."},"VAR":{"name":"Variative","desc":"The VARIATIVE affiliation indicates that the individual members of a configurational set differ as to subjective function, state, purpose or benefit. The differences among members can be to varying degrees (i.e., constituting a fuzzy set in regard to function, purpose, etc.) or at complete odds with one another, although it should be noted that the VARIATIVE would not be used to signify opposed but complementary differences among set members (see the COALESCENT affiliation above). It would thus be used to signify a jumble of tools, odds-and-ends, a random gathering, a rag-tag group, a dysfunctional couple, a cacophony of notes, of a mess of books, a collection in disarray.
It operates with nouns in the UNIPLEX to render meanings such as a man at odds with himself, an ill-formed rock, a chaotic piece of art, a “lefthand-righthand” situation.

With verbs, the VARIATIVE indicates an act, state, or event that occurs for more than one reason or purpose, and that those reasons or purposes are more or less unrelated. This sense can probably be captured in English only through paraphrase, as in She bought the house for various reasons or My being at the party served several purposes. With non-UNIPLEX configurations, the use of the VARIATIVE affiliation can describe rather complex phenomena; for example, a sentence such as The light is blinking in conjunction with the VARIATIVE could mean that each blink of the light signals something different than the preceding or following blinks."}},"popupdesc":"Affiliation distinguishes the relationships between individual members of a set in terms of purpose, function, and/or benefit.

Affiliation operates synergistically in conjunction with Configuration to describe the total contextual relationship between the members of a set. Like Configuration, the meanings of nouns or verbs in the various affiliations often involve lexical changes when translated into English."},"ext":{"type":"","title":"Extension","options":{"DEL":{"name":"Delimitive","desc":"The DELIMITIVE extension indicates that a noun is being spoken of in its contextual entirety as a discrete entity with clear spatio-temporal boundaries, with no emphasis on any particular portion, edge, boundary, limit, or manifestation beyond the context at hand. It can be considered the neutral or default view, e.g., a tree, a grove, a set of books, an army. With verbs, this extension indicates that the act, state, or event is being considered in its entirety, from beginning to end, e.g., She diets every winter (i.e., she starts and finishes each diet).","image":"http://ithkuil.net/images/3-4-1c.jpg"},"PRX":{"name":"Proximal","desc":"The PROXIMAL extension indicates that a noun is being spoken of not in its entirety, but rather only in terms of the portion, duration, subset, or aspect which is relevant to the context at hand. It would be used to translate the words tree, journey, and ladder in the sentences That tree is hard there (e.g., in the spot where I hit against it), She lost weight during her journey, or He climbed on the ladder (i.e., it is not relevant to the context to know if he made it all the way to the top).
Note that in these sentences, the PROXIMAL does not refer to a specific or delineated piece, part, or component of the tree or ladder, but rather to the fact that delineated boundaries such as the ends of the ladder or the entirety of the tree are not relevant or applicable to the context at hand.","image":"http://ithkuil.net/images/3-4-2c.jpg"},"ICP":{"name":"Inceptive","desc":"The INCEPTIVE extension focuses on the closest boundary, the beginning, initiation, or the immediately accessible portion of a noun or verb, without focusing on the boundaries of the remainder. It would be used in translating the nouns tunnel, song, desert, daybreak and plan in the following sentences: We looked into (the mouth of) the tunnel, He recognizes that song (i.e., from the first few notes), They came upon (an expanse of) desert, Let\'s wait for daybreak, I\'m working out a plan (i.e., that I just thought of).
In verbal contexts it would correspond to the English ‘to begin (to)…’ or ‘to start (to)…’ as in He began reading, It’s starting to molt, or She goes on a diet every winter.","image":"http://ithkuil.net/images/3-4-3c.jpg"},"ATV":{"name":"Attenuative","desc":"The ATTENUATIVE extension focuses on the end, termination, last portion, or trailing boundary of a noun, without focusing on the preceding or previously existing state of the noun. It would be used in translating the words water, story, and arrival in the sentences There’s no water (i.e., we ran out), I like the end of that story, and We await your arrival. With verbs, it is illustrated by the sentences It finished molting or She’s come off her diet.","image":"http://ithkuil.net/images/3-4-4c.jpg"},"GRA":{"name":"Graduative","desc":"The GRADUATIVE extension is the inverse of the DEPLETIVE (below), focusing on a diffuse, extended “fade-in” or gradual onset of a noun. It would be used in translating the words darkness, wonder, and music in the following sentences: Darkness came upon us, I felt a growing sense of wonder, The music was very soft at first. With verbs it is illustrated by verbs and phrases such as to fade in, to start gradually, to build up, and similar notions, e.g., She\'s been eating more and more lately.","image":"http://ithkuil.net/images/3-4-6c.jpg"},"DPL":{"name":"Depletive","desc":"The DEPLETIVE extension focuses on the terminal boundary or “trailing” edge of a noun, where this terminus is ill-defined, “diffuse” or extended to some degree, (i.e. the at-hand context of the noun “peters out” or terminates gradually). Essentially, it applies to any context involving actual or figurative fading. It would be used in translating the words water, strength, and twilight in the sentences He drank the last of the water, I have little strength left, She disappeared into the twilight. With verbs, it is exemplified by the phrases to wind down, to fade out, to disappear gradually and similar notions, e.g., She\'s eating less and less these days.","image":"http://ithkuil.net/images/3-4-5c.jpg"}},"popupdesc":"Extension refers to the spatial and temporal extent to which you are considering the root word; are you referring to all of it? The start of it? Some part in the middle of it?"},"persp":{"type":"","title":"Perspective","options":{"M":{"name":"Monadic","desc":"The MONADIC means that there is a certain number of (relevant) instances of the word. When combined with things like the MULTIPLEX, it means that the entire group is being considered as a whole (\\"forest(s)\\", not \\"trees\\")."},"G":{"name":"Agglomerative","desc":"The AGGLOMERATIVE is similar to the MONADIC, except it doesn\'t imply any sense of number; as in, \\"one or more X\\". It is also used for turning nouns (such as \\"a strand of hair\\" in the MONADIC) into mass nouns (such as \\"hair\\" in the AGGLOMERATIVE)"},"N":{"name":"Nomic","desc":"The NOMIC refers to the general archetype of the word as opposed to any specific instance of it. Examples are: The dog is a noble beast, Clowns are what children love most, There is nothing like a tree."},"A":{"name":"Abstract","desc":"Similar to the formation of English abstract nouns using suffixes such as -hood or -ness, the ABSTRACT transforms a configurative category into an abstract concept considered in a non-spatial, timeless, numberless context.
Examples: grove → the idea of being a grove or “grovehood”; book → everything about books, having to do with books, involvement with books.

With verbs, the ABSTRACT is used in verbal constructions to create a temporal abstraction, where the temporal relationship of the action, event, or state to the present is irrelevant or inapplicable, similar to the way in which the English infinitive or gerund form (used as substitutes for a verb phrase) do not convey a specific tense in the following sentences: Singing is not his strong suit; It makes no sense to worry about it; I can\'t stand her pouting."}},"popupdesc":"Perspective is the closest Ithkuil morphological category to the Number and Tense categories of other languages (e.g., singular/plural and past/present/future). However, the correspondence is only approximate because Perspective does not specifically address the quantity to which a formative is instantiated within a given context, nor when it occurs relative to the present, but rather the manner in which it is spatio-temporally instantiated."},"ess":{"type":"","title":"Essence","options":{"NRM":{"name":"Normal","desc":"Things that are real or real things that have happened"},"RPV":{"name":"Representative","desc":"Things that are potentially real (\\"It seems\\"/\\"I think it\'s\\") or imagined"}},"popupdesc":"The Ithkuil category of Essence explicitly distinguishes real-world actualities from their alternative, imagined or potential counterparts. The two essences are termed NORMAL and REPRESENTATIVE, the former being the default essence denoting real-world nouns and verbs, the latter denoting alternative counterparts."},"vn":{"type":"","title":"Vₙ","options":{"val":{"name":"Valence","desc":""},"pha":{"name":"Phase","desc":""},"eff":{"name":"Effect","desc":""},"lvl":{"name":"Level","desc":""},"asp":{"name":"Aspect","desc":""}},"popupdesc":"Determines which of the linked categories (listed below) will actually be shown on the word. All others are showable via affix if absolutely necessary, but will not be shown otherwise."},"v4n":{"type":"","title":"Vₙ","options":{"val":{"name":"Valence","desc":""},"pha":{"name":"Phase","desc":""},"eff":{"name":"Effect","desc":""},"lvl":{"name":"Level","desc":""}},"popupdesc":"Determines which of the linked categories (listed below) will actually be shown on the word.
To show Aspect in this slot, the word must only have one module - otherwise, use a different slot."},"val":{"type":"","title":"Valence","options":{"MNO":{"name":"Monoactive","desc":"The MONOACTIVE valence is the default valence and indicates a lack of co-activity, i.e., no participation by a second party is implied.
Use this for the default of all other Vₙ options."},"PRL":{"name":"Parallel","desc":"The PARALLEL valence indicates that a second party is engaging in the same activity as the first party at same time.
It would be used in translating sentences such as The children all sang together, We both went jogging on the parkway."},"CRO":{"name":"Corollary","desc":"The COROLLARY valence is similar to the PARALLEL, except that the second party engages in related activity at the same time as the first party, rather than the same activity.
It would be used in translating sentences such as The children played in the yard (i.e., each child engaged in a different play activity) or The band played my favorite song (implying that not everyone in the band was playing the same instrument, or perhaps that someone in the band sang as opposed to playing an instrument)."},"RCP":{"name":"Reciprocal","desc":"The RECIPROCAL valence indicates identical activity by each party directed at the other, thus translating the English adverbial phrases \'each other\' and \'one another,\' as in:
They looked at each other, The clown and the grocer despise one another."},"CPL":{"name":"Complementary","desc":"The COMPLEMENTARY valence indicates that the second party performs a complementary activity to that of the first party. By “complementary” is meant an activity different from that of the first party, but necessary to complete the whole of the joint activity, i.e., the “other half” of the joint activity.
This is exemplified in sentences such as The man and his son played catch, Hortense took me into the woods, The clown read the children a story, My back itches so I scratch it,
where \'played catch\' implies the complementary activities of throwing and catching, \'took (into the woods)\' implies someone leading while the other follows, \'read\' implies a reader and an audience, and \'itches\' implies scratching."},"DUP":{"name":"Duplicative","desc":"The DUPLICATIVE valence indicates that the second party copies or repeats the activity of the first party, as in the sentences:
Let\'s draw a picture (i.e., I\'ll draw it first, then you draw the same picture), They both read that book (i.e., first one, then the other), I bought a new car (i.e., and now someone else is buying a new car, too)."},"DEM":{"name":"Demonstrative","desc":"The DEMONSTRATIVE valence indicates that the first party demonstrates for the second party how to do something or what to do.
Thus an Ithkuil sentence constructed as We played chess with the verb in the DEMONSTRATIVE valence would mean \'I showed her how to play chess,\' while the sentence constructed as They fought us in this valence would mean \'They taught us how to fight.\'"},"CNG":{"name":"Contingent","desc":"The CONTINGENT valence indicates that the second party engages in the next or dependent phase of a multi-part activity, the specific activity being dependent on context.
Thus the Ithkuil sentence I started the campfire for my friend in the CONTINGENT implies that the friend then performed the next logical step, i.e., he cooked the food."},"PTI":{"name":"Partictipative","desc":"The PARTICIPATIVE valence indicates that the parties take part in an activity involving a greater whole, translatable by the English phrase \'take part in…\'
Thus, the Ithkuil sentence They raced in the PARTICIPATIVE means \'They each took part in the race.\'"}},"popupdesc":"In Ithkuil, the term Valence is used to refer to the manner of participation of two separate entities or parties to any given verb, i.e., participation by one party automatically implies participation by another party to the same act, event, or state in either a parallel, corollary, or complementary fashion. Such dual participation occurs naturally in the verbs of world languages and is the province of what is known as “co-active” verbs."},"pha":{"type":"","title":"Phase","options":{"PCT":{"name":"Punctual","desc":"The PUNCTUAL describes an act, condition, or event which is point-like, momentary or instantaneous in nature, such as an explosion, a flash of lightning, a blow, a single handclap, a collision between two objects, a stab of pain, a single cough, the clicking of a lock, etc.
It can be visually represented along a timeline by a single point, e.g., "},"ITR":{"name":"Iterative","desc":"The ITERATIVE refers to a momentary or instantaneous event, like the PUNCTUAL above, which repeats itself in a rapid, on/off, staccato manner, like a machine gun burst, strobe light burst, an alarm bell ringing, or the quick unconscious tapping of a finger, the whole comprising a single event.
Visual representation: • • • •"},"REP":{"name":"Repetitive","desc":"The REPETITIVE refers to a relatively brief event of indeterminate or vague duration (i.e., as with the default above), but repeated in an on/off staccato manner, like a car horn being honked repeatedly in a fast steady rhythm, or an automatic machine press.
Visual representation: — — ——"},"ITM":{"name":"Intermittent","desc":"The INTERMITTENT is similar to the ITERATIVE above, identifying a repetitive occurrence of a PUNCTUAL event, however, unlike the ITERATIVE, the duration of time between repetitions is relatively long and contextually relevant. It would be used in describing the downbeat pattern of a pop song, the ongoing snapping of fingers to music, the steady one-drop-at-a-time dripping of a faucet, etc.
Visual representation: •⠀⠀⠀•⠀⠀⠀•⠀⠀⠀•"},"RCT":{"name":"Recurrent","desc":"The RECURRENT is to the REPETITIVE as the INTERMITTENT is to the ITERATIVE. It indicates a slow repetition of a non-PUNCTUAL (default) event, where the duration between occurrences is relatively long and contextually relevant. Exemplified by the sounding of a foghorn, or the ongoing hooting of an owl.
Visual representation: —⠀⠀⠀—⠀⠀⠀—⠀⠀⠀—"},"FRE":{"name":"Frequentative","desc":"The FREQUENTATIVE indicates an iterative occurrence (a single set of punctual repetitions) which in turn repeats at intervals, the whole considered as a single event. Examples would be the repetitive sets of hammerings of a woodpecker or the repeated short bursts of a jackhammer.
Visual representation: • • •⠀⠀⠀• • •⠀⠀⠀• • •⠀⠀⠀• • •"},"FRG":{"name":"Fragmentative","desc":"The FRAGMENTATIVE indicates a random pattern of punctual occurrences, the whole considered as a single event.
Visual representation: • •⠀⠀⠀• • •⠀⠀⠀⠀⠀• •⠀⠀⠀• • • • •⠀⠀⠀⠀⠀•⠀⠀⠀• •"},"VAC":{"name":"Vacillative","desc":"The VACILLATIVE functions as a non-punctual counterpart to the FRAGMENTATIVE.
Visual representation: —— — —⠀⠀⠀— —⠀⠀⠀— —⠀⠀⠀—⠀⠀⠀⠀⠀— — —"},"FLC":{"name":"Fluctuative","desc":"The FLUCTUATIVE indicates a random pattern of both punctual and longer occurrences. An example would be the “sputtering” of a lighted fuse, the random patterns of tongues of flames, the chirping of birds in the wild, etc.
Visual representation: — • • —⠀⠀• — • •⠀⠀⠀—⠀⠀⠀⠀⠀• • — • • •⠀⠀⠀• •⠀⠀⠀—— • — • •"}},"popupdesc":"Phase refers to variances in the temporal pattern of how an act, condition or event occurs.
The default (i.e. if the Phase is not specified) is only one occurrence.
Said default can be visually represented along a progressive timeline by a short dash, e.g., "},"eff":{"type":"","title":"Effect","options":{"1:BEN":{"name":"Beneficial to Speaker","desc":"Whatever the word is describing is beneficial to the speaker."},"2:BEN":{"name":"Beneficial to Addressee","desc":"Whatever the word is describing is beneficial to the addressee."},"3:BEN":{"name":"Beneficial to 3rd Party","desc":"Whatever the word is describing is beneficial to some third party (who is probably referred to by another word)."},"SLF:BEN":{"name":"Beneficial to Formative","desc":"Whatever the word is describing is beneficial to itself."},"UNK":{"name":"Unknown","desc":"The benefit/detriment from this word is unknown.
Note that this is not the same as no benefit/detriment."},"SLF:DET":{"name":"Detrimental to Formative","desc":"Whatever the word is describing is detrimental to itself."},"3:DET":{"name":"Detrimental to 3rd Party","desc":"Whatever the word is describing is detrimental to some third party (who is probably referred to by another word)."},"2:DET":{"name":"Detrimental to Addressee","desc":"Whatever the word is describing is detrimental to the addressee."},"1:DET":{"name":"Detrimental to Speaker","desc":"Whatever the word is describing is detrimental to the speaker."}},"popupdesc":"Effect is used to describe who a certain concept (the word) is beneficial or detrimental to."},"lvl":{"type":"","title":"Level","options":{"MIN":{"name":"Minimal","desc":"X\'s M is at its least possible
X is at its least M possible"},"SBE":{"name":"Subequative","desc":"X\'s M is less than or equal to to Y (or less than or equal to before)
X is less M than or equal to Y/before"},"IFR":{"name":"Inferior","desc":"X\'s M is the least within/among Y (or ever)
X is the least M within/among Y"},"DFT":{"name":"Deficient","desc":"X\'s M is less than Y (or less than before)
X is less M than Y (or than before) "},"EQU":{"name":"Equative","desc":"X\'s M is the same as Y (or as before)
X is as M as Y (or as before)"},"SUR":{"name":"Surpassive","desc":"X\'s M is more than Y (or than before)
X is more M than Y (or than before)"},"SPL":{"name":"Superlative","desc":"X\'s M is the most within/among Y (or ever)
X is the most M within/among Y (or ever)"},"SPQ":{"name":"Superequative","desc":"X\'s M is more than or equal to Y (or more than or equal to before)
X is more M than or equal to Y/before"},"MAX":{"name":"Maximal","desc":"X\'s M is at its most possible
X is at its most M possible"}},"popupdesc":"Level is used in comparative statements, such as \\"my hat is cooler than your hat\\".
X = this word,
M = a verb (what quality of X is being compared),
Y = a word marked with the CMP case (the thing being compared to)"},"asp":{"type":"","title":"Aspect","options":{"RTR":{"name":"Retrospective","desc":"This aspect operates in conjunction with Perspective to create various equivalents to Western tense categories.
With the MONADIC, the RETROSPECTIVE equates with the English simple past tense.
With the NOMIC and ABSTRACT, it adds a sense of ‘and it’s always been that way’."},"PRS":{"name":"Prospective","desc":"Like the RETROSPECTIVE above, this aspect operates in conjunction with Perspective to create various equivalents to Western tense categories.
With the MONADIC, the PROSPECTIVE equates with the English future tense.
With the NOMIC and ABSTRACT, it adds a sense of ‘and it’ll always be that way’ or ‘from now on’."},"HAB":{"name":"Habitual","desc":"When used with the MONADIC perspective, this aspect conveys the idea of ‘always’ or ‘continues to’."},"PRG":{"name":"Progressive","desc":"This aspect conveys the idea of an act in progress, similar to the English construction ‘in the midst of [verb] + ing’ or the use of the present participle in Spanish."},"IMM":{"name":"Imminent","desc":"Conveys that an action, state or event is imminent. Translates phrases such as ‘(just) about to’ or ‘on the verge of’ as in I think Carl is about to cry."},"PCS":{"name":"Precessive","desc":"Conveys that an action, state or event has immediately preceded. Translates such phrases as ‘just’ or ‘just now,’ as in We just saw a clown in the toy store."},"REG":{"name":"Regulative","desc":"Conveys the idea of participation or involvement in an action, state, or event over an amount of time extending from the past into the future relative to the contextual present. Translates English phrases such as ‘engaged in’ or ‘involved in’ as in Her husband is engaged in construction of the new bridge."},"SMM":{"name":"Summative","desc":"meaning ‘...(have) already X’d’"},"ATP":{"name":"Anticipatory","desc":"meaning ‘have yet to (begin) X-ing’"},"RSM":{"name":"Resumptive","desc":"Conveys the idea of an act, state, or event resuming after having previously ceased, as in The girl resumed singing, or He is starting to laugh again."},"CSS":{"name":"Cessative","desc":"Conveys the idea of cessation of an event, state or action. Translates English phrases such as ‘stop,’ ‘discontinue,’ or ‘cease,’ as in They stopped dancing at midnight."},"PAU":{"name":"Pausal","desc":"Indicates a pause in an action, state or event, with an implied intention to resume. Translates phrases such as ‘take a break from’ or ‘pause in’ as in Mother took a break from cleaning to gossip with her friends."},"RGR":{"name":"Regressive","desc":"Conveys the idea of a return to an original or previous action, state or event after a long hiatus involving an intervening change of state or situation, as translated by the phrase ‘return to.’ The REGRESSIVE should be distinguished from the RESUMPTIVE above, which merely implies the restarting after a stop or pause without an intervening change of state or situation. An example would be Mr. Yates returned to golf after recovering from his stroke."},"PCL":{"name":"Preclusive","desc":"Conveys the fact that an action, state, or event takes place from inception to conclusion all in one contextual segment, translating such phrases as ‘all at once,’ ‘all in one go,’ ‘without stopping,’ etc. as in Walter drank the entire bottle in one gulp."},"CNT":{"name":"Continuative","desc":"Conveys the idea that an action, event, or state continues on. Translates phrases such as ‘keep on,’ ‘still,’ ‘stay,’ ‘yet,’ etc. When used in a negative sentence, conveys the idea of English ‘no longer’ or ‘not anymore’ as in She kept on singing, You\'re still staring at me, I\'ve yet to meet him, Sam no longer loves you / Sam doesn\'t love you anymore."},"ICS":{"name":"Incessative","desc":"Conveys that an action, state or event continues on without stopping. Translates such English adverbials as ‘…on and on’ or ‘…away’ as in They danced the night away or They\'ve been battling on and on since last year."},"EXP":{"name":"Experiential","desc":"Translates English ‘ever’ in the sense of ‘within the realm of one’s experience’ or ‘at some point in one’s experience,’ as in Does he ever shut up?
Note the EXPERIENTIAL does not equate to ‘ever’ when it means ‘always,’ as in Ever does he seek his destiny nor as an adverb of mere emphasis as in Was she ever tired."},"IRP":{"name":"Interruptive","desc":"meaning ‘to get interrupted while X-ing’ or ‘to X only so far or so much before having to stop’"},"PMP":{"name":"Preemptive","desc":"Emphasizes the singularity and initial occurrence of an action, state or event, as translated by such English phrases as ‘for once’ or ‘just once,’ as well as the anticipation preceding a long-expected situation, as translated by phrases such as ‘at last,’ ‘after all this time,’ ‘finally,’ and ‘for the first time.’"},"CLM":{"name":"Climactic","desc":"Emphasizes the finality of an action, state or event, as translated by such English phrases as ‘once and for all’ or ‘for the last time.’"},"DLT":{"name":"Dilatory","desc":"meaning ‘(be) long-delay(ed) in being/doing X’ "},"TMP":{"name":"Temporary","desc":"Conveys that an action, state or event is being considered or is applicable only to the present subjective context or range of the contextual present, as translated by phrases such as ‘for the time being’ or ‘but only for the moment’ or ‘for now’ as in This will be sufficient for now or For the time being you\'ll have to drink water."},"XPD":{"name":"Expenditive","desc":"Conveys an all-consuming action, state, or event which interferes with or prevents other events from occurring. It translates English phrases such as ‘spend one’s time’ or ‘away’ as in Mother spends her life worrying or He\'s pining away."},"LIM":{"name":"Limitative","desc":"meaning ‘to be/do X (just) in time’; indicates an act/event that culminates an anticipatory context"},"EPD":{"name":"Expeditive","desc":"Conveys a sense of haste associated with an action or event. Translates English ‘hurry (up)’ as in Hurry up and finish or They ate in a hurry."},"PTC":{"name":"Protractive","desc":"‘take one’s time X-ing’"},"PPR":{"name":"Preparatory","desc":"meaning ‘to be/do X in advance’, ‘to be/do X in preparation for a future situation’"},"DCL":{"name":"Disclusive","desc":"Focuses on the revelatory nature of an action, state or event, translating phrases such as ‘turn out to be,’ ‘turn out that…’ and ‘be revealed that….’"},"CCL":{"name":"Conclusive","desc":"Conveys the direct outcome of an action, state or event within the short-term context of the situation at hand. Translates phrases such as ‘end up…, come to, reach the point where,’ as in I ended up crashing the car or He drank to the point where he passed out."},"CUL":{"name":"Culminative","desc":"Similar to the CONCLUSIVE above, but with a focus on the eventual, long-term outcome over an extended period of time or through a series of developmental steps. Compare the following examples with the CONCLUSIVE aspect above: In the end, I\'ll have to leave town; Things got to the point where the mayor got involved; Eventually, they fell in love."},"IMD":{"name":"Intermediative","desc":"Conveys the idea that the action, state, or event takes place at some point along the timeline of, or within the duration of, another action, state, event, or background context, as translated by the phrases ‘at some point’ or ‘somewhere along the way….’"},"TRD":{"name":"Tardative","desc":"Conveys the idea that an action, state, or event lessens, dwindles, or slackens in energy, intensity, or effect, impliedly by exhaustion of the active source of energy or agency, or by dissipation of the foundational context involved. Translates such phrases as ‘to get tired of,’ ‘peter out,’ ‘trail off,’ etc."},"TNS":{"name":"Transitional","desc":"Focuses on the initial stage of preparation, adjustment, or accustomization to an action, state or event, translated by phrases such as ‘take up,’ ‘start to,’ etc. implying a long-term process of initialization, as in I\'m planning to take up golf."},"ITC":{"name":"Intercommutative","desc":"Conveys the idea of “sequential reciprocity,” meaning that the action or event is a consequent reciprocation triggered by, or in reaction to, an initiating action or event. It translates the English verbal particle ‘back’ as in The boy threw it back or She stared back at the men ogling her."},"MTV":{"name":"Motive","desc":"Conveys that an action, state or event involves physical removal or absence of the participant from the present context of discourse. Translates such phrases as ‘be off …-ing’ or ‘go off to …’ as in Dad\'s off hunting or They went off to cavort with the clowns."},"SQN":{"name":"Sequential","desc":"This aspect conveys the idea a “sequential progressive” in which a series of contextually identical instances is seen as comprising a single event, usually with an implied culmination point. It translates the English use of ‘off’ as in He\'s checking off each item as it is inventoried, or The sheep died off from the disease."}},"popupdesc":"Aspect provides detailed and specific temporal information about the word, not in relation to the speaker\'s present moment of utterance (as with Perspective), but rather in relation to the contextual “present” of the act, condition, or event being spoken about.
It makes the most sense when applied to verbs (both unframed and framed)."},"mood":{"type":"","title":"Mood","options":{"FAC":{"name":"Factual","desc":"The FACTUAL mood signifies that the factuality of the speaker’s statement is certain and that there either is no underlying presupposition to the statement, or if there is, its factuality is also certain or has no bearing on the factuality of the statement.
TRUE / TRUE or NONE"},"SUB":{"name":"Subjective","desc":"The SUBJUNCTIVE mood indicates that the factuality of an explicit or implicit presupposition underlying the statement is certain, but the factuality of the speaker’s statement itself is questionable or uncertain, the specific nuance of factuality intended being subject to the particular Bias and Validation associated with the verb. Corresponds roughly with English ‘may,’ ‘maybe’ or ‘might,’ with the added distinction that an explicit or implicit (i.e., underlying) presupposition is true.
UNCERTAIN / TRUE"},"ASM":{"name":"Assumptive","desc":"The ASSUMPTIVE mood functions identically to the FACTUAL except that the factuality of an underlying presupposition is unknown. It therefore conveys an act, state, or event whose factuality is dependent on whether something else is factual, thus corresponding to certain usages of English ‘maybe’ and ‘will’ (where ‘will’ primarily conveys possibility, not future tense).
TRUE / UNCERTAIN"},"SPC":{"name":"Speculative","desc":"The SPECULATIVE mood indicates that the factuality of both the presupposition and the statement itself are unknown. Its translation into English is dependent on the specific context, sometimes corresponding to ‘may,’ ‘maybe’ or ‘might,’ and at other times corresponding to the auxiliary ‘would.’
UNCERTAIN / UNCERTAIN"},"COU":{"name":"Counterfactive","desc":"The COUNTERFACTIVE mood indicates that the factuality of the underlying presupposition is false or unreal but that the factuality of the statement would otherwise be true. It thus corresponds to the English construction of auxiliary ‘would’ or ‘would have’ in its use to show counterfactuality (i.e., what would have been if a false presupposition had been true).
TRUE / FALSE"},"HYP":{"name":"Hypothetical","desc":"The HYPOTHETICAL mood indicates that the factuality of the underlying presupposition is false or unreal and that the factuality of the statement itself is uncertain. It thus corresponds to the English construction of auxiliary ‘might have’ in its use to show possible counterfactuality (i.e., what might have been if a false presupposition had been true).
UNKNOWABLE / FALSE"}},"popupdesc":"Mood refers to the knowability and truthfulness of a statement, and describes both the truth of the actual statement and any underlying presuppositions.
Alongside Illocution and Validation, it refers to the whole statement.
FULL STATEMENT / PRESUPPOSITIONS"},"casc":{"type":"","title":"Case-Scope","options":{"CCN":{"name":"Natural","desc":"X\'s case is governed by the noun-case of the formative marked Antecedent (CCA); in the absence of such, X\'s case is associated with the main verb (or framed verb if within a case-frame), except for if it has the Appositive or Relational Cases."},"CCA":{"name":"Antecedent","desc":"X is the “head” whose case governs all Natural (CCN) nouns in the clause"},"CCS":{"name":"Subaltern","desc":"X is the formative to which formatives in the clause marked with Qualifier (CCQ) are associated"},"CCQ":{"name":"Qualifier","desc":"X is associated by noun-case to the formative marked by Subaltern (CCS)"},"CCP":{"name":"Precedent","desc":"X\'s noun-case associates only with the immediately following formative"},"CCV":{"name":"Successive","desc":"X\'s noun-case associates only with the immediately preceding formative"}},"popupdesc":"Formatives showing Case use the Case-Scope to indicate the scope of a case-marked formative over adjacent formatives. This is useful when there is a string of cases modifying another “head” formative; specifies which has scope over which other formative.
Similar to a Type 1 Concatenation."},"c":{"type":"","title":"Case","options":{"THM":{"name":"Thematic","desc":"The (usually inanimate) party which is a participant to the verbal predicate which does not undergo any tangible change of state.
Semantic role: CONTENT"},"INS":{"name":"Instrumental","desc":"The entity acting as means utilized by an explicit or implicit agent to implement/carry out the effect/impact of an act/event.
Semantic role: INSTRUMENT"},"ABS":{"name":"Absolutive","desc":"The party that is the target of, and/or undergoes, the effect/impact or change of state as a result of a tangible act/event.
Semantic role: PATIENT"},"AFF":{"name":"Affective","desc":"The party who undergoes an unwilled, affective experience,
e.g. coughing, sneezing, feeling hot/cold, trembling, experiencing sensory input (tactile, olfactory, visual, aural, gustatory), proprioceptive states, psychological/emotional states, reflex reactions such as cringing, yawning, ducking, screaming in fright, etc.
Semantic role: EXPERIENCER"},"STM":{"name":"Stimulative","desc":"The party/entity/idea/thought/situation or mental state which triggers an unwilled, affective response or is the trigger for an existential state such as possession.
Semantic role: STIMULUS"},"EFF":{"name":"Effectuative","desc":"The party/force that initiates a chain of causal events or who induces another party to act as an agent (specifiable via the ENB affix).
Semantic role: ENABLER"},"ERG":{"name":"Ergative","desc":"The animate party or inanimate force which initiates/causes an act/event which creates a tangible effect or change of state in a patient.
Semantic role: AGENT or FORCE"},"DAT":{"name":"Dative","desc":"The party which is the (intended) recipient of a verb of transference, transmission, or communication; the party at/to which a physically transferred entity, transmitted information, or a communicable entity is directed.
Semantic role: RECIPIENT"},"IND":{"name":"Inducive","desc":"The patient who undergoes the tangible effect, impact, or change of state of an act/event initiated/caused by that self-same party.
Semantic role: AGENT+PATIENT"},"POS":{"name":"Possesive","desc":"The party which has alienable (i.e., removable or severable) possession of another noun in the sense of having physical control or oversight of that noun, whether by chance circumstance or deliberate manipulation."},"PRP":{"name":"Proprietive","desc":"The party having alienable possession of another noun in the sense of quasi-permanent contextual control, ownership or oversight, whether by societal recognition, socialconvention, law, purchase or decree, which mere physical separation does not sever."},"GEN":{"name":"Genitive","desc":"The party which has inalienable (i.e., irremovable, non-severable) possession of or association with another noun in the sense of having that noun as an inherent or intrinsic attribute, characteristic, physical part, or genetic (i.e., familial) bond."},"ATT":{"name":"Attributive","desc":"The party which inalienably experiences the effects of, or otherwise has an affective (see the affective case above) relationship with another noun, either as a temporary or permanent attribute, characteristic, or experience, whether physical or psychological, objective or subjective in nature."},"PDC":{"name":"Productive","desc":"The party which is the creator, author or originator of another noun."},"ITP":{"name":"Interpretative","desc":"The party acting as the subjective interpretational context of another noun, that is the noun by or through which another noun is subjectively considered, interpreted or described,
e.g. Monet\'s Paris, my baseball team (as spoken by a fan)."},"OGN":{"name":"Originative","desc":"The party which is the literal or figurative source of another, or which is the native location, origin, or usual locative context for another."},"IDP":{"name":"Interdependent","desc":"The party which has a coordinated, tandem, complementary or mutually dependent relationship with another. The relationship between the two nouns can be thought of as reciprocal in nature, i.e., each noun implies the other or needs the other to exist within its natural context."},"PAR":{"name":"Partitive","desc":"Indicates a quantitative or content-to-container relationship between the two nouns,
e.g. a cup of coffee, a box(ful) of books, a train(load) of refugees, twelve chairs."},"APL":{"name":"Applicative","desc":"The entity/act/event which constitutes the circumstantial, potentially one-time, temporary purpose of another entity/act/event.
\'for the (circumstantial/temporary/one-time) purpose of X\', \'being used (temporarily/circumstantially) as X\'."},"PUR":{"name":"Purposive","desc":"The entity/act/event which constitutes the inherent/innate/intrinsic purpose of another entity/act/event.
\'for the (dedicated) purpose/function of X\'"},"TRA":{"name":"Transmissive","desc":"Renamed from the Benefactive in Ithkuil III, this case indicates the party for which/whom an entity/act/event occurs or is transmitted, with the intention that the entity/act/event be beneficial/detrimental to the named party.
\'for (the benefit/detriment of) X\'"},"DFR":{"name":"Deferential","desc":"The entity for whose sake, or out of deference/respect to whom, an act/event occurs.
\'for X\'s sake\', \'out of deference for X\', \'out of respect for X\'"},"CRS":{"name":"Contrastive","desc":"The party for which something is substituted, or of which another party/entity takes its place;
\'instead of X\', \'as a substitute for X\', \'in place of X\'"},"TSP":{"name":"Transposive","desc":"The party on whose behalf something is/occurs."},"CMM":{"name":"Commutative","desc":"The party in exchange for which, a reciprocal or complementary act/event occurs;
e.g. He paid 100 dollars in exchange for the tickets."},"CMP":{"name":"Comparative","desc":"The party being compared to another, translatable as \'as compared to\', \'as opposed to,\' \'versus\'; with verbs it translates as \'whereas\' or \'while\' (in its synonymous usage to \'whereas\').
Examples: She chose the red one as opposed to the others, Sam drives a van versus Joe, who prefers a truck, At the party, she danced while/whereas I ate."},"CSD":{"name":"Considerative","desc":"The entity according to which, another entity is, or an act/event occurs."},"FUN":{"name":"Functive","desc":"Identifies a noun used to describe/characterize the manner in which an act/event/state occurs or exists,
e.g. She dances gracefully; The boys ate with gusto; That clown is speaking nonsense; Father speaks with such fortitude."},"TFM":{"name":"Transformative","desc":"Identifies the outcome or final state of a process, often translatable by \'to,\' \'until,\' or \'into\' in the sense of reaching a final state after undergoing some transformation.
Examples: The house burned to ashes, Mother reached a state of tranquility, The clowns will turn our children into slaves, Her father drank himself to death"},"CLA":{"name":"Classificative","desc":"Identifies a noun as a basis for arranging, sorting, classifying, or counting,
e.g. Place them in groups of three, The workers arranged the tables in rows, He lay down lengthwise, Can you count by fives?, I will sort them by color.
Also identifies the basis for recurring increments,
e.g. month by month; day in, day out; box upon box, clown after clown."},"RSL":{"name":"Resultative","desc":"Identifies a result/consequence, translatable as \'resulting in X\', \'with X as a consequence\', etc."},"CSM":{"name":"Consumptive","desc":"Identifies the entity consumed or used as a resource as a result of, or as a concurrent part of a process,
e.g. She cooks with tomatoes, The clown fed her an apple, He reads by candle(light)."},"CON":{"name":"Concessive","desc":"Identifies a noun or phrase which gives rise to an implicitly expected result which does not occur. This translates in many ways such as \'despite,\' \'in spite of,\' \'notwithstanding,\' \'although,\' \'regardless of,\' \'no matter what,\' etc.
Examples: In spite of his stupidity, he passed the test; The law notwithstanding, I will stand my ground; No matter how ignorant (they may be), they are welcome; Although a foreigner, we will let him in."},"AVR":{"name":"Aversive","desc":"Identifies a source or object of fear and/or avoidance. With nouns, it translates expressions such as \'for fear of,\' \'in order to avoid,\' or \'in avoidance of.\' With verbs, it would translate English ‘lest.’
Examples: She finished her plate for fear of my wrath, I traveled by night to avoid the sun. Hide the children, lest the clowns find them."},"CVS":{"name":"Conversive","desc":"Identifies an exception. When the exception is to a hypothetical situation, it translates as \'unless\' in verbal phrases, and \'without\' for nouns,
e.g. Without peace, this society is doomed; We\'ll be safe unless the clowns find us.
If applied to a real or actual situation, it translates as \'except (for)\', \'but for,\' \'but (not), \'excluding\', \'if not for,\' \'if it wasn\'t for,\' \'if it wasn\'t on account of.\'
If not for the rain, we would have had a good time; She loves everybody except clowns; All pets are vermin, excluding dogs; He eats almost anything but (not) spinach."},"SIT":{"name":"Situative","desc":"Identifies a noun as the background context for a clause without implying any direct causative relationship between the background context and the associated or consequent act/state/event. It translates in many ways,
e.g. Because of war, our planet will never be able to join the Federation; Given the presence of clowns, we must accept the corruption of our children; With my plan, we will defeat the enemy.
Other translations include: \'inasmuch as / insofar as / to the extent that / taking X into account / in view of the fact that / given that / considering\'."},"PRN":{"name":"Pertinential","desc":"Identifies the general referent of another formative, translating such English terms as \'about,\' \'regarding,\' \'concerning,\' \'in regard to,\' \'in reference to,\' \'pertaining to,\' or \'as for.\'"},"DSP":{"name":"Descriptive","desc":"Identifies a formative as describing another formative in an adjectival manner, translatable as \'characterized/describable as being like X; characterized/describable as having the quality/qualities of X\'"},"COR":{"name":"Correlative","desc":"Indicates an abstract general relationship, association, or conjunction between one formative and another, including subjective, contextual, metaphorical, or symbolic associations. It translates general phrases such as \'relative to,\' \'in relation to,\' \'in correlation with,\' \'in association with,\'
e.g. career goals, the soup of the day, the direction of that road, The elapsed time relative to the distance determines the winner, Our next topic is sex and/in art (i.e., the relationship between art and sex)."},"CPS":{"name":"Compositive","desc":"Identifies a noun as being the literal or figurative substance or component(s) of which another is made, composed, formed, built or comprised.
Example of usage would be That statue was carved out of marble, She owns three gold(en) coins, We were caught in a web of lies, I use a wooden ladder, It was a house of cards, Three suits comprise his wardrobe, Joe detests styrofoam cups."},"COM":{"name":"Comitative","desc":"Identifies a formative that accompanies another, translatable as \'(along) with\'. When used with Parallel or Complementary valence, signifies that the formative is being used in the same (or a complementary) way or is undergoing the same (or a complementary) activity as the other formative it is associated with
(i.e., the meaning of the Conjunctive case in Ithkuil III)."},"UTL":{"name":"Utilitative","desc":"Identifies a formative in the process of being used while some other activity or state is in progress. It does not imply the INSTRUMENT of an act as does the instrumental case.
Examples: the gun-wielding man, the umbrella-toting pedestrian, a girl with backpack (on)."},"PRD":{"name":"Predicative","desc":"Identifies the non-causal basis, foundation, sustenance (literally or figuratively), or required existential condition for another noun or clause, translatable by the phrases \'based (up)on,\' \'dependent (up)on\' or \'relying on.\'
Examples of use are a book dependent on a publisher, a man relying on charity, laws based in reason, success supported by corruption."},"RLT":{"name":"Relative","desc":"Identifies a formative (or case-frame) as constituting a relative clause associated with the preceding formative (or whatever formative is indicated by the DCD affix as being the head of the relative clause).
NOTE: a lone formative in Relative case not functioning as an external head of a relative clause need not be in Framed Relation."},"ACT":{"name":"Activative","desc":"Identifies the Experiencer of a modal state, such as obligation, necessity, desire, hope, expectation, wishing, being able to, etc. functioning as the \\"subject\\" of a modal(ized) verb governing a hypothetical state (i.e., what is wanted, needed, expected, able to be done, etc.)"},"ASI":{"name":"Assimilative","desc":"Identifies a formative used as a context for analogy or metaphorical comparison to another formative; translatable as \'as/like\' meaning \'as if (it were) X\' in the sense of comparison or analogy between one thing and another that it is not,
e.g. She sings like a bird; Treat her as/like a princess (= as if she were a princess); He talks like a child (even though he\'s an adult)."},"ESS":{"name":"Essive","desc":"Identifies the role or name by which an entity is known or contextually identified. It translates English \'as/like\' in the sense of naming or reference to the an entity\'s functional identity,
e.g. They called him a clown, The woman entered the club as an equal of any man, We consider you our only hope, Treat her as/like a princess (because she is one), He talks like a child (because he is a child)."},"TRM":{"name":"Terminative","desc":"Identifies a noun as being the goal of an act/event,
e.g. We seek a new planet; a desire to see his homeland; an academy for (making) champions."},"SEL":{"name":"Selective","desc":"Identifies a contextually recurring time-period, as well as a string of recurring entities,
e.g. I visit him every three days; Each year, I travel to the Clown Planet; He works nights; By day, she is an artisan; The clowns visit us on Sundays; ...every third book; ...every green one."},"CFM":{"name":"Conformative","desc":"The entity pursuant to which, as per which, or in conformance with which, another entity is, or an act/event occurs."},"DEP":{"name":"Dependent","desc":"Identifies as formative as being the basis of a dependency phrase on which another formative or phrase acts as the contingency, translatable as \'...if the circumstances regarding X are such to allow/warrant it\' where the final “it” refers to the original contingency noun/phrase whose existence/occurrence is (at least in part) determined by or contingent upon the dependency phrase. The exact nature of the dependency can be specified using the DPC affix."},"VOC":{"name":"Vocative","desc":"Signifies a noun being used in direct address."},"LOC":{"name":"Locative","desc":"entity identified as the location where something is situated or occurs; \'at / in / on / by X\' "},"ATD":{"name":"Attendant","desc":"entity in whose presence something is/occurs and which/who is thereby involved in some peripheral manner (e.g., as a witness, as a party affected or stimulated to action, etc.)"},"ALL":{"name":"Allative","desc":"entity toward which another entity is moving/approaching"},"ABL":{"name":"Ablative","desc":"entity away from which another entity is moving/receding"},"ORI":{"name":"Orientative","desc":"entity (often a body part or sub-component) which serves as the “face” or surface or “front” or “head” of an entity in terms of external communication or interaction, or which serves as the forward “end” of a spatially orientated axis aligned to a vector of motion in terms of directional movement."},"IRL":{"name":"Interrelative","desc":"signifies the directional/temporal orientation or position of an entity relative to another, i.e., a noun relative to whose position in space or time another noun is being described for purposes of spatial/temporal orientation,
e.g. He turned his back on me, It lies just west of the house, Tell me when the parade starts relative to my arrival."},"INV":{"name":"Intrative","desc":"Identifies a noun as being the spatio-temporal boundary point of a span or volume of space or a period of time, i.e, either the starting point or the ending point of a span of time or space.
English translations include: \'as of X\' / \'since X\' / \'until X\'; for spatial contexts, translates as “between there and here” / “between here and there”)"},"NAV":{"name":"Navigative","desc":"entity whose literal or metaphorically inferred long axis serves as the direction of another entity\'s path, course, arc, or trajectory of translative motion"},"CNR":{"name":"Concursive","desc":"Indicates a “temporal locative” meaning \'at or during the time of X\', i.e., the point or stretch in time at or during which an entity or an act/event exists or occurs."},"ASS":{"name":"Assessive","desc":"Specifies the increment of space or time or unit by which a contextual ratio of measurement is created,
e.g. He charges by the minute. It travels at 90 kilometers per hour. He earns $25 per book."},"PER":{"name":"Periodic","desc":"Identifies the span of time / time frame at some point(s) during which, separate events, repetitions, or durationally segmented acts or states take place.
Examples would be He wrote the novel in/over six months, These clowns can corrupt your child within a few days, The woman has been ill a lot this year, For the last several concerts, my voice has been deteriorating."},"PRO":{"name":"Prolapsive","desc":"Signifies the duration of an act, condition, or event, i.e., how long it takes or lasts,
e.g. He prayed through lunch, It rained all night, It took three days for the fever to break, She sang for an hour."},"PCV":{"name":"Precursive","desc":"Identifies an entity acting as a point in time prior to which an act, condition, or event occurs,
e.g. \'this city before the war\', \'a presentation preceding the banquet\'."},"PCR":{"name":"Postcursive","desc":"Identifies an entity acting as a point in time after which, following which, subsequent to which, an act, state, or event occurs,
e.g. \'this city after the war\', \'a presentation following the banquet\', \'It\'s been a long time since I danced\'."},"ELP":{"name":"Elapsive","desc":"Identifies the amount of time that has passed or is expected to pass between the contextual present and the time of the act, condition, or event being spoken of. It corresponds to English \'...ago\' or \'...from now\'.
Examples would be Four years ago I was a student; Going back three generations, women could not even vote; Four years from now, I will be a student; Looking ahead three generations, clowns will rule the world; I will be home in three days; Little did he know that two months later he\'d be a rich man.
The past vs. future distinction is determined from context, any aspectual morphology, or may be specified with the new TPL affix. "},"PLM":{"name":"Prolimitive","desc":"Signifies the spatio-temporal boundary point of a span of time or space during which or within which something is expected to or must occur or be situated.
Equivalent to English phrases: by the end of X / within the period ending in X / within the period ending with X / before X is over / before X is up / inside of (the period signified by) X"}},"popupdesc":"Cases are the role of the word in a sentence, and New Ithkuil has 68.
They are split into seven categories;
Transrelative, which are similar to cases in natural languages,
Appositive, which is to do with possession-esque relations,
Associative, which is similar but more related to reasons and motives,
Adverbial, which (fairly obviously) is for adverb-like words,
Relational,
Affinitive, and
Spatio-Temporal, which are for words describing the space or time of the sentence."},"ill":{"type":"","title":"Illocution","options":{"ASR":{"name":"Assertive","desc":"The statement is an assertion/proposition about the world which constitutes a truth claim"},"DIR":{"name":"Directive","desc":"The statement is either an imperative command to another party to do/be something, or a \\"commissive\\" statement committing the speaker to a specific state or course of action (i.e., a vow, promise, guarantee, etc.)"},"DEC":{"name":"Declarative","desc":"A \\"performative\\" statement which, by its utterance/publication, creates a change of state (at least psychologically) for the addressees (i.e. a declaration, announcement, edict, etc.)"},"IRG":{"name":"Interrogative","desc":"A statement whose purpose is to inquire or seek information from the addressee (i.e., equivalent to an English WH-question)"},"VRF":{"name":"Verificative","desc":"A statement whose purpose is to seek/obtain corroboration, confirmation, or verification (i.e., equivalent to a Yes/No question)"},"ADM":{"name":"Admonitive","desc":"A statement whose purpose is to provide advisory/admonitive information to the addressee (i.e., a warning)"},"POT":{"name":"Potentiative","desc":"A statement of wishing, hoping, or other unreal(ized) provenance"},"HOR":{"name":"Hortative","desc":"A counterfactual statement indicating a desired but impossible state of affairs that cannot be realized (equivalent to English hortative constructions such as If only..., Were that..., If only it were so that..."},"CNJ":{"name":"Conjectural","desc":"Equivalent to an English-language \\"if\\"-clause, indicating that the statement is offered as a conjectured hypothetical, ostensibly to be followed by a \\"then...\\" implicational clause. Translatable as \\"If (it were the case that)...\\""}},"popupdesc":"Illocution refers to the type of \\"speech act\\" made by the speaker, i.e. the purpose and intended interpretation of the statement.
Alongside Mood and Validation, it refers to the whole statement."},"vld":{"type":"","title":"Validation","options":{"OBS":{"name":"Observational","desc":"The statement is true because of present sensory knowledge or present sensory experience: “I perceive... / I know...” "},"REC":{"name":"Recollective","desc":"The statement is true because of past sensory knowledge or past sensory experience: “I remember... / I know (from memory)...”"},"PUP":{"name":"Purportive","desc":"The statement is true because of knowledge from a definitive/(quasi-)verifiable 3rd party source: “I\'ve read... / (an expert) has said...”"},"RPR":{"name":"Reportive","desc":"The statement is true because of knowledge from a 3rd party: “I heard (from someone)... / someone has said...”"},"USP":{"name":"Unspecified","desc":"[Validation deliberately left unspecified]"},"IMA":{"name":"Imaginary","desc":"The statement is NOT true because it is: an unreal statement, not intended as true, based on whim, imagination, dream, altered mental state, etc."},"CVN":{"name":"Conventional","desc":"The statement is true because of cultural/conventional (i.e., collectively agreed-upon) knowledge: “They say... / It is said...”"},"ITU":{"name":"Intuitive","desc":"The statement is true because of intuition, a hunch, subjective feeling, past experiences, etc. - “I feel... / I have a hunch... / something tells me...”"},"INF":{"name":"Inferential","desc":"The statement is true because of inference from evidence (or absence of alternatives), induction, extrapolation, etc. “I infer... / I reason...”"}},"popupdesc":"Validation only applies when the Illocution is Assertive.
It refers to the evidential basis for a statement (i.e. why it\'s true).
Alongside Mood and Illocution, it refers to the whole statement."},"ref":{"type":"","title":"Referential","popupdesc":"Similar to pronouns in most languages (I, you, they, etc.)","options":{"1M":{"name":"Monadic Speaker","desc":"\'I\'"},"2M":{"name":"Monadic Addressee","desc":"\'you (singular)\'"},"2P":{"name":"Polyadic Addressee","desc":"\'you (plural)\'"},"MA":{"name":"Monadic Animate 3rd Party","desc":"\'he\'/\'she\'/\'they (singular)\'"},"PA":{"name":"Polyadic Animate 3rd Party","desc":"\'they (plural)\'"},"MI":{"name":"Monadic Inanimate 3rd Party","desc":"\'it\'"},"PI":{"name":"Polyadic Inanimate 3rd Party","desc":"\'these things/those things\'"},"MX":{"name":"Mixed Animacy 3rd Party","desc":"mixed animate+inanimate, e.g. \'s/he+it\', \'they+those\', \'it+they\', \'those+s/he\', etc"},"RDP":{"name":"Reduplicative","desc":"Referring back to the previously-named party (often used with SWR affix)"},"OBV":{"name":"Obviative","desc":"3rd party other than the one previously referenced"},"PVS":{"name":"Provisional","desc":"\'whatever\'; vague or unknown entity (corresponds with English WH-words)"}}},"refEff":{"type":"","title":"Referential Effect","popupdesc":"Similar to the normal Effect, this describes if this person is being referred to beneficially or detrimentally.
May potentially be linked to the Effect of another word (e.g. \'the detrimental 3rd party\')","options":{"NEU":{"name":"Neutral"},"BEN":{"name":"Beneficial"},"DET":{"name":"Detrimental"}}},"refPersp":{"type":"","title":"Referential Perspective","popupdesc":"The same as the normal Perspective, but applied to the referential.
Does nothing, currently.","options":{"M":{"name":"Monadic","desc":"The MONADIC means that there is a certain number of (relevant) instances of the word. When combined with things like the MULTIPLEX, it means that the entire group is being considered as a whole (\\"forest(s)\\", not \\"trees\\")."},"G":{"name":"Agglomerative","desc":"The AGGLOMERATIVE is similar to the MONADIC, except it doesn\'t imply any sense of number; as in, \\"one or more X\\". It is also used for turning nouns (such as \\"a strand of hair\\" in the MONADIC) into mass nouns (such as \\"hair\\" in the AGGLOMERATIVE)"},"N":{"name":"Nomic","desc":"The NOMIC refers to the general archetype of the word as opposed to any specific instance of it. Examples are: The dog is a noble beast, Clowns are what children love most, There is nothing like a tree."},"A":{"name":"Abstract","desc":"Similar to the formation of English abstract nouns using suffixes such as -hood or -ness, the ABSTRACT transforms a configurative category into an abstract concept considered in a non-spatial, timeless, numberless context.
Examples: grove → the idea of being a grove or “grovehood”; book → everything about books, having to do with books, involvement with books.

With verbs, the ABSTRACT is used in verbal constructions to create a temporal abstraction, where the temporal relationship of the action, event, or state to the present is irrelevant or inapplicable, similar to the way in which the English infinitive or gerund form (used as substitutes for a verb phrase) do not convey a specific tense in the following sentences: Singing is not his strong suit; It makes no sense to worry about it; I can\'t stand her pouting."}}},"twoRefs":{"type":"checkbox","title":"Use two Referentials?","popupdesc":"Please note that the referential will use the second case.
If this is turned off, the second case is stacked on the first referential."},"twoCs":{"type":"checkbox","title":"Apply two Cases?","popupdesc":"Fairly self-explanatory. Applies another case to the word."},"refAffix":{"type":"affix","title":"Referential Affixes","popupdesc":"Affixes to be applied to this referential. Again, fairly self-explanatory."},"suppType":{"type":"","title":"Adjunct Type","options":{"CAR":{"name":"Carrier","desc":"This is a “shortcut” for a full carrier stem, providing Case information only. It is used when the identity/nature of the foreign word(s) or proper name following the adjunct is already known to the addressee."},"QUO":{"name":"Quotative","desc":"This adjunct combines the Carrier Adjunct with the DISCURSIVE Register Adjunct to allow direct quotes to be placed within a caseframe, useful for translating imbedded quotes within sentences such as He told me “get out of the house!”"},"NAM":{"name":"Naming","desc":"This adjunct indicates that the following word is a name being referred to as such, rather than referring to the entity that bears the name, i.e., it would be used before the name Emily in the sentence ‘He said “Emily”’ as opposed to the sentence ‘He said “tell Emily”’ which would use the Quotative adjunct, or ‘He said to tell Emily’ which would use the Carrier adjunct."},"PHR":{"name":"Phrasal","desc":"This adjunct is essentially a specialized form of the carrier adjunct above to apply meta-level grammatical information to an entire subsequent phrase as a whole. This is similar to a case-frame, except that where case-frames function solely as an equivalent to subordinate clauses in Western languages, this adjunct causes the subsequent phrase to become a conventionalized, (quasi-)lexicalized gestalt."}},"popupdesc":"This describes which kind of Suppletive Adjunct is being used, as there are four kinds. They all refer to the words immediately after them, like all adjuncts."},"affRoot":{"type":"text","title":"Root Affix","popupdesc":"This is a special kind of Affix that functions not as a modifier to a root but as the actual root itself of this word. It can have other affixes applied to it in Slots V and VII."},"arDegree":{"type":"","title":"Degree","popupdesc":"The degree of the Root Affix. Functions like the degree of any other affix.","options":[{"name":"Degree 1"},{"name":"Degree 2"},{"name":"Degree 3"},{"name":"Degree 4"},{"name":"Degree 5"},{"name":"Degree 6"},{"name":"Degree 7"},{"name":"Degree 8"},{"name":"Degree 9"},{"name":"Degree 0","desc":"This is a special degree which relates to the generic concept of the affix as a whole, similar to Stem 0 of a normal root."}]},"affixjunct":{"type":"affix","title":"Adjunct Affixes","popupdesc":"The affixes shown on this specific adjunct. This is how you apply affixes in other scope locations on a word."},"initialAffScope":{"type":"","title":"Initial affix scope","popupdesc":"Where the first affix out of the Adjunct Affixes is applied on the next word","options":{"VDom":{"name":"Last of Slot V","desc":""},"VSub":{"desc":""},"VIIDom":{"name":"Last of Slot VII","desc":""},"VIISub":{"name":"First of Slot VII","desc":""},"formative":{"name":"Entire Formative","desc":""},"adjacent":{"name":"Formative + Affixes","desc":""}}},"otherAffScope":{"type":"","title":"Other affix scopes","popupdesc":"Where the other affixes of the Adjunct Affixes are applied on the next word","options":{"VDom":{"name":"Last of Slot V","desc":""},"VSub":{"name":"First of Slot V","desc":""},"VIIDom":{"name":"Last of Slot VII","desc":""},"VIISub":{"name":"First of Slot VII","desc":""},"formative":{"name":"Entire Formative","desc":""},"adjacent":{"name":"Formative + Affixes","desc":""},"same":{"name":"Same as Initial","desc":""}}},"affScopeOf":{"type":"","title":"Apply to...","popupdesc":"Which of the following concatenated formatives this actually applies to","options":{"default":{"name":"Default (all)","desc":"Apply this affix to the main formative"},"conc":{"name":"Concatenated only","desc":"Apply this affix only to the concatenated formative"}}},"register":{"type":"","title":"Register","popupdesc":"Which register the next (or previous) bit of text is in; what type of speaking is it?
No specified register is the NARRATIVE, which is normal speech.","options":{"DSV":{"name":"Discursive","desc":"Direct speech"},"PNT":{"name":"Parenthetical","desc":"Parenthetical aside"},"SPF":{"name":"Specificative","desc":"Proper name of preceding referent
(If the identification of the preceding referent is not a proper name, use PNT register instead)"},"EXM":{"name":"Exemplificative","desc":"\'for example, ...\'"},"CGT":{"name":"Cogitant","desc":"Silent/subjective thoughts"},"END":{"name":"Carrier-End","desc":"End of term/phrase governed by carrier stem/adjunct
(Use the END end-adjunct marker for any register where the referent within the register clause is a proper name or a foreign word/phrase)
ONLY works if this is a Final marker."}}},"regStartOrEnd":{"type":"","title":"Initial/Final","popupdesc":"Whether this adjunct marks the start or end of a register.","options":[{"name":"Initial","desc":"This adjunct marks the start of the appropriate register"},{"name":"Final","desc":"This adjunct marks the end of the appropriate register
Alternatively, use a low tone on the last word of the clause."}]},"modAppliesTo":{"type":"","title":"Apply to...","popupdesc":"Where the various other things apply to","options":{"all":{"name":"All","desc":"Apply to both the concatenated and the parent formative after this adjunct (use this if no concatenation)"},"parent":{"name":"Parent Only","desc":"Apply to only the parent formative after this adjunct"},"concat.":{"name":"Concatenated only","desc":"Apply to only the concatenated formative after this adjunct"}}},"modNumber":{"type":"","title":"Number of modules","popupdesc":"How many VₙCₙs you want on this adjunct","options":{"1":{"name":"1 (no Vₕ, no Cₙ)","desc":"Only one VnCn, but without the Mood/Case-Scope"},"2":{"name":"2 (no Vₕ) or 1"},"3":{"name":"3 (no Vₕ) or 2"}}},"cn":{"type":"","title":"Cₙ","popupdesc":"Whether this adjunct will show Mood or Case-Scope","options":{"mood":{"name":"Mood","desc":"Mood refers to the knowability and truthfulness of a statement, and describes both the truth of the actual statement and any underlying presuppositions."},"casc":{"name":"Case-Scope","desc":"Formatives showing Case use the Case-Scope to indicate the scope of a case-marked formative over adjacent formatives. This is useful when there is a string of cases modifying another “head” formative; specifies which has scope over which other formative."}}},"vh":{"type":"","title":"Vₕ/Vₙ","popupdesc":"Whether this adjunct will show Valence/Phase/Level/Effect(/Aspect) or the Specialized Scope.
If the Number of Modules is 1, then this will show Aspect.","options":{"vn":{"name":"Vₙ","desc":"Show an additional Vₙ on this affix"},"vh":{"name":"Vₕ","desc":"Show the Specialized Scope of the Adjunct on this adjunct.
Allows for modifying where the VPLEA and Mood/Case-Scopes are applied on the next formative."}}},"modScope":{"type":"","title":"Specialised Scope","popupdesc":"Describes where on the following formative the meaning of this affix will be applied, scope-wise.
All affixes have right-to-left scope on each other (Slot 2 < Slot 3 < Slot 4).
If this is unspecified (i.e. not shown), then the options have the same scope as if they were in the main word.","options":{"a":{"name":"Scope over Case/Mood and IEV","desc":"This adjunct has scope over everything except Bias"},"e":{"name":"Scope over Case/Mood","desc":"This adjunct has scope over everything except Bias, Illocution, Expectation, and Validation"},"i":{"name":"Scope over entire Formative","desc":"This adjunct has scope over everything except any Adjuncts
NOTE: Do not use if an adjacent affixual adjunct shows scope over this adjunct"},"o":{"name":"Scope over Formative + Adjuncts","desc":"This adjunct has scope over everything
NOTE: Do not use if an adjacent affixual adjunct shows scope over this adjunct"}}},"bias":{"type":"","title":"Bias","popupdesc":"Bias adjuncts function much like English \\"supra-segmental\\" interjections such as \\"Phew!\\", \\"Damn!\\", \\"tsk-tsk\\", \\"Pssshhh\\", \\"huh?\\", \\"meh\\", \\"hmmm\\", etc
Sentence-initial Bias adjuncts scope over the entire sentence. Otherwise, they scope over the preceding formative. They should be pronounced with a preceding and following pause.","options":{"ACC":{"name":"Accidental","desc":"‘As luck would have it...’ ‘Fate has decided that...’ ‘What luck!’","word":"lf"},"ACH":{"name":"Archetypal","desc":"what (a) ...!; how . . .! ; Boy! Did (does) X ever …","word":"mçt"},"ADM":{"name":"Admissive","desc":"‘Mm-hm’ ‘Uh-huh’ (said as mere acknowledgement of a statement without any implied agreement with or assent to the statement)","word":"lļ"},"ANN":{"name":"Annunciative","desc":"‘Guess what!’ or ‘Wait till you hear this!’","word":"drr"},"ANP":{"name":"Anticipative","desc":"‘I’m looking foward to this!’ ","word":"lst"},"APB":{"name":"Approbative","desc":"‘(That’s) OK’ ‘(That’s) alright’ ‘(That’s) good’ ‘(That’s) fine’ ‘Very well’ ‘Sure’","word":"řs"},"APH":{"name":"Apprehensive","desc":"‘I’m worried...’ ‘I’ve got a bad feeling about this...’ ","word":"vvz"},"ARB":{"name":"Arbitrary","desc":"‘..Yeah, whatever...’, ‘...Ah, what the hell, I’m going ahead and....’ ","word":"xtļ"},"ATE":{"name":"Attentive","desc":"‘Well, whaddya know...’ ‘Well, will you look at that...!’ ‘Well, go figure...’ ‘Who would’ve thought...?’ ‘Well I’ll be!’","word":"ňj"},"CMD":{"name":"Comedic","desc":"‘Funny!’ ‘LOL’","word":"pļļ"},"CNV":{"name":"Contensive","desc":"‘I’m telling you...’, ‘I told you so!’, ‘You see?!’","word":"rrj"},"COI":{"name":"Coincidental","desc":"‘What a coincidence!’","word":"ššč"},"CRP":{"name":"Corruptive","desc":"‘How corrupt!’ ‘What corruption!’","word":"gžž"},"CRR":{"name":"Corrective","desc":"‘that is to say…,’ ‘What I mean(t) to say is…’ ‘I mean….’","word":"ňţ"},"CTP":{"name":"Contemptive","desc":"‘What nonsense!’ or ‘What bullshit!’","word":"kšš"},"CTV":{"name":"Contemplative","desc":"‘I wonder how…,’ ‘that’s odd…,’ ‘I don’t get it…,’ or a quizzical ‘hmmmm.’","word":"gvv"},"DCC":{"name":"Disconcertive","desc":"‘I’m not sure about this.’ ‘I don’t feel comfortable about this.’ ‘I’m feeling out of my element here.’","word":"gzj"},"DEJ":{"name":"Dejective","desc":"‘(sigh)’ [of dejection/disillusionment]","word":"žžg"},"DES":{"name":"Desperative","desc":"‘I don’t know how to say this, but…’ ‘I’m afraid that….’ ‘I’m sorry to have to tell you, but...’","word":"mřř"},"DFD":{"name":"Diffident","desc":"‘sorry, but…’ ‘It’s nothing. It’s just…’","word":"cč"},"DIS":{"name":"Dismissive","desc":"‘Is that it?’ ‘Big deal!’ ‘So what!?’ ","word":"kff"},"DLC":{"name":"Delectative","desc":"‘Whee!’","word":"ẓmm"},"DOL":{"name":"Dolorous","desc":"‘Ow!’ ‘Ouch!’","word":"řřx"},"DPB":{"name":"Disapprobative","desc":"‘I don’t like the fact that…’ ‘It bothers me that….’ ‘Unacceptable!’ ‘I hate it!’","word":"ffx"},"DRS":{"name":"Derisive","desc":"‘How foolish!’ ‘How silly!’ ‘Look at how foolish/silly/ridiculous this is!’","word":"pfc"},"DUB":{"name":"Dubitative","desc":"‘Hmm, not likely.’ ‘I doubt it.’ ‘Sounds fishy to me’ ‘I don’t trust this/it/him/her/them...’","word":"mmf"},"EUH":{"name":"Euphoric","desc":"‘(Sigh) What bliss!’","word":"gzz"},"EUP":{"name":"Euphemistic","desc":"‘Let’s just say that….’ or ‘Well, let me put it this way….’","word":"vvt"},"EXA":{"name":"Exasperative","desc":"‘Dammit!’ ‘Look, don’t you get it?…’ ‘Look, I’m trying to tell you….’","word":"kçç"},"EXG":{"name":"Exigent","desc":"‘It’s now or never!’","word":"rrs"},"EXP":{"name":"Experiential","desc":"‘Ah!’, ‘Well, now!’ ‘So!’ [Italian ‘Allora!’]","word":"pss"},"FOR":{"name":"Fortuitous","desc":"‘It’s just as well that...’ or ‘All’s well that ends well...’","word":"lzp"},"FSC":{"name":"Fascinative","desc":"‘Cool!’ ‘Wow!’ ‘Awesome!’","word":"žžj"},"GRT":{"name":"Gratificative","desc":"‘Ah! What bliss...!’ ‘Oh, there’s nothing like….’ [physical pleasure only]","word":"mmh"},"IDG":{"name":"Indignative","desc":"‘The nerve!’ or ‘How dare…!?’","word":"pšš"},"IFT":{"name":"Infatuative","desc":"‘Praise be to...!’ ‘Oh, thank God for...!’ ‘There’s nothing more sacred/holy/important than...!’","word":"vvr"},"IPL":{"name":"Implicative","desc":"‘of course,’ ‘after all,’ ‘needless to say.’","word":"vll"},"IPT":{"name":"Impatient","desc":"‘C’mon!,’ ‘What’re you waiting for?’ ‘so…already!’ as in the sentence ‘So dance already!’","word":"žžv"},"IRO":{"name":"Ironic","desc":"‘Oh, nice!’ ‘Just great!’ ‘Well, now, isn’t this lovely!’","word":"mmž"},"ISP":{"name":"Insipid","desc":"‘Meh... (said due to lack of interest)’ ‘How boring/tedious/dull!’","word":"lçp"},"IVD":{"name":"Invidious","desc":"‘Why does he/she/they get to... and I don’t?!’ ‘How unfair (that I don’t get to...)!’","word":"řřn"},"MAN":{"name":"Mandatory","desc":"‘take it or leave it,’ ‘this is your last chance,’","word":"msk"},"OPT":{"name":"Optimal","desc":"prolonged ‘so’ or ‘totally’ as in ‘I so don’t care!’ or ‘That is totally not what I meant.’","word":"ççk"},"PES":{"name":"Pessimistic","desc":"‘Yeah, like it really matters that...’ ‘Pfft! What’s it to me?’","word":"ksp"},"PPT":{"name":"Propitious","desc":"‘it’s a wonder that’ as in It’s a wonder he didn’t break a bone in that fall. ","word":"mll"},"PPX":{"name":"Perplexive","desc":"‘Huh? What do you mean…? What the hell? ‘WTF!?’ ‘You gotta be kidding me!’","word":"llh"},"PPV":{"name":"Propositive","desc":"‘what if…’ ‘It could be that….’ ‘Consider this: …’ ‘Posit the following: …’ ‘Assume for the sake of argument that….’","word":"sl"},"PSC":{"name":"Prosaic","desc":"‘Meh... (said in disappointment)’ ‘How ordinary!’","word":"žžt"},"PSM":{"name":"Presumptive","desc":"‘It can only mean one thing…,’ ‘and that’s that!’ ‘and that’s all there is to it!’ or ‘There’s no two ways about it,….’","word":"nnţ"},"RAC":{"name":"Reactive","desc":"‘My goodness! ‘Wow!’ ‘Amazing!’","word":"kll"},"RFL":{"name":"Reflective","desc":"‘Look at it this way…’ ‘As I see it,…’ ‘In my opinion…’ ‘From my point of view…’","word":"llm"},"RNC":{"name":"Renunciative","desc":"‘So much for...!’ ‘There goes...!’","word":"msf"},"RPU":{"name":"Repulsive","desc":"‘Yuck! Ew! How gross!’","word":"šštļ"},"RVL":{"name":"Revelative","desc":"‘No wonder…!’ or ‘So that’s why…!’ ‘A-ha!….’ ‘Well, well, well!….’","word":"mmļ"},"SAT":{"name":"Satiative","desc":"‘How satisfying...!’ ‘At last, the pleasue of knowing/being/seeing/doing….’ [psychological/emotional pleasure/satiety only]","word":"ļţ"},"SGS":{"name":"Suggestive","desc":"‘How about...’ ‘We could...’ ‘Might I suggest...’","word":"ltç"},"SKP":{"name":"Skeptical","desc":"‘Yeah, right!’ ‘Oh, sure! Like anyone’s supposed to believe that!’","word":"rnž"},"SOL":{"name":"Solicitative","desc":"‘please’","word":"ňňs"},"STU":{"name":"Stupefactive","desc":"‘Woah!’ ‘Holy, bejeezus!’ ‘What the...!’ ‘Jeez, Louise...!’","word":"ļļč"},"TRP":{"name":"Trepidative","desc":"‘Oh, God…’ ‘Oh, no!….’ ‘Oh, dear!’ [fear-based]","word":"llč"},"VEX":{"name":"Vexative","desc":"‘How annoying!’ ‘What a bother!’ ‘What a pain!’","word":"ksk"}}},"freeType":{"type":"text","title":"Text Entry","popupdesc":"A borrowed word, probably spelt phonetically. Don\'t forget to prefix it with the appropriate suppletive adjunct!"}}'),fs=JSON.parse('{"p":["stop","unvoiced","labial"],"b":["stop","voiced","labial"],"t":["stop","unvoiced","apico"],"d":["stop","voiced","apico"],"k":["stop","unvoiced","velar"],"g":["stop","voiced","velar"],"f":["fric","unvoiced","labial","nonsibil"],"v":["fric","voiced","labial","nonsibil"],"ţ":["fric","unvoiced","apico","nonsibil"],"ḑ":["fric","voiced","apico","nonsibil"],"s":["fric","unvoiced","apico","sibil"],"z":["fric","voiced","apico","sibil"],"š":["fric","unvoiced","apalat","sibil"],"ž":["fric","voiced","apalat","sibil"],"ç":["fric","unvoiced","palat","nonsibil"],"x":["fric","unvoiced","velar","nonsibil"],"h":["fric","unvoiced","glott"],"ļ":["fric","unvoiced","lateral"],"c":["affric","unvoiced","apico","sibil"],"ẓ":["affric","voiced","apico","sibil"],"č":["affric","unvoiced","apalat","sibil"],"j":["affric","voiced","apalat","sibil"],"m":["nasal","voiced","labial"],"n":["nasal","voiced","apico"],"ň":["nasal","voiced","velar"],"r":["liquid","voiced","apico"],"l":["liquid","voiced","lateral"],"w":["approx","voiced","labial"],"y":["approx","voiced","palat"],"ř":["approx","voiced","uvul"]}'),gs={name:"Ithkuil_v4",components:{OptionBox:ps},props:{listenModal:Array,listenWordtype:String,listenWord:Object,selectedWord:Number,sLength:Number,nextWord:Array},watch:{listenModal(e){this.updateFromModal(e[0],e[1])},listenWordtype(e){this.switchWordType(e)},listenWord(e){for(var t in this.gOptions=JSON.parse(JSON.stringify(e)),e)this.updateFromModal(t,JSON.parse(JSON.stringify(e[t])));this.handleSendMessage(e.root,"root")},ithkword(e){this.$emit("ithkword",[e,this.ipa,this.gloss,this.fullGloss]),this.$emit("gEmit",this.gOptions)},ipa(e){this.$emit("ithkword",[this.ithkword,e,this.gloss,this.fullGloss])},gloss(e){this.$emit("ithkword",[this.ithkword,this.ipa,e,this.fullGloss])},fullGloss(e){this.$emit("ithkword",[this.ithkword,this.ipa,this.gloss,e])}},data(){return{defaultWord:"aal",settings:{IPA:{a:["Pronunciation of ⟨a⟩: ","[a]",["[a]","[ɑ]"]],e:["Pronunciation of ⟨e⟩: ","[ɛ]",["[ɛ]","[e]"]],"ë":["Pronunciation of ⟨ë⟩: ","[ɤ]",["[ɤ]","[ʌ]","[ə]"]],i:["Pronunciation of ⟨i⟩: ","[i]",["[i]","[ɪ]"]],o:["Pronunciation of ⟨o⟩: ","[ɔ]",["[ɔ]","[o]"]],"ö":["Pronunciation of ⟨ö⟩: ","[œ]",["[œ]","[ø]"]],u:["Pronunciation of ⟨u⟩: ","[ʊ]",["[ʊ]","[u]"]],"ü":["Pronunciation of ⟨ü⟩: ","[ʉ]",["[ʉ]","[y]"]],x:["Pronunciation of ⟨x⟩: ","[x]",["[x]","[χ]"]],rr:["Pronunciation of ⟨řř⟩: ","[ʁː]",["[ʁː]","[ʀ]"]],hx:["Pronunciation of ⟨hl⟩, ⟨hr⟩, ⟨hm⟩, ⟨hn⟩, ⟨hň⟩: ","Devoiced",["Devoiced","As written"]]},Miscellaneous:{ej:["Calculate External Juncture? ",!0],s8:["Move Slot 8 consonant to Slot 6 if possible? ",!1]}},wordType:"normal",gData:us,cData:fs,gDefault:{root:"",stem:"s1",func:"STA",spec:"BSC",ctxt:"EXS",ver:"PRC",concat:"0",shcut:"0",Vafx:[],VIIafx:[],plex:"UPX",simil:"S",cctd:"S",affil:"CSL",ext:"DEL",persp:"M",ess:"NRM",vn:"val",val:"MNO",pha:"PCT",eff:"1:BEN",lvl:"MIN",asp:"RTR",mood:"FAC",casc:"CCN",rel:"UNF/C",c:"THM",ill:"ASR",vld:"OBS",suppType:"CAR",affRoot:"",arDegree:0,affixjunct:[],initialAffScope:"VDom",otherAffScope:"VDom",affScopeOf:"default",register:"DSV",regStartOrEnd:"0",vn2:"val",val2:"MNO",pha2:"PCT",eff2:"1:BEN",lvl2:"MIN",asp2:"RTR",mood2:"FAC",casc2:"CCN",vn3:"val",val3:"MNO",pha3:"PCT",eff3:"1:BEN",lvl3:"MIN",asp3:"RTR",v4n:"val",val4:"MNO",pha4:"PCT",eff4:"1:BEN",lvl4:"MIN",asp4:"RTR",cn:"mood",modAppliesTo:"all",modNumber:"1",vh:"vn",modScope:"a",ref:"1M",refEff:"NEU",refPersp:"M",ref2:"1M",refEff2:"NEU",refPersp2:"M",ess2:"NRM",c1:"THM",c2:"THM",twoRefs:!1,twoCs:!1,refAffix:[],bias:"ACC",freeType:""},gOptions:{},sVowels:[["a","ai","ia","ao"],["ä","au","ie","aö"],["e","ei","io","eo"],["i","eu","iö","eö"],["ëi","ëu","eë","oë"],["ö","ou","uö","öe"],["o","oi","uo","oe"],["ü","iu","ue","öa"],["u","ui","ua","oa"],["ae","ea","üo","üö"]],ipaLookup:{p:"p",b:"b",m:"m",f:"f",v:"v",w:"w",t:"t",d:"d","ţ":"θ","ḑ":"ð",s:"s",z:"z",c:"ts","ẓ":"dz","š":"ʃ","ž":"ʒ","č":"tʃ",j:"dʒ","ç":"ç",y:"j",k:"k",g:"g","ň":"ŋ","ř":"ʁ","'":"ʔ",h:"h","ļ":"ɬ",l:"l"},shortcutting:!1,shcuttypeA:0,shcuttypeB:0,slotVIIshortcut:!1,sDip:["ai","ei","ëi","oi","ui","au","eu","ëu","ou","iu"],sAccent:{a:"á",e:"é",i:"í","ì":"í",o:"ó",u:"ú","ä":"â","ë":"ê","ö":"ô","ü":"û"},slots:["","","","","","","","","","",""],cut:[!1,!1,!1],ithkword:"",gloss:"",fullGloss:"",ipa:"",cascOrMood:!1,eightSix:!1,allographs:{cczz:"čč",yc:"čč",xxy:"çç",ccs:"çç",ddt:"ḑḑ",hxll:"ļļ",wwnn:"ňň",yn:"ňň",wrr:"řř",yr:"řř",ssz:"šš",tts:"ţţ",ttd:"ţţ",wtt:"ţţ",zzs:"žž",ddz:"ẓẓ",dzz:"ẓẓ",cz:"č",xy:"ç",cs:"ç",dt:"ḑ",hxl:"ļ",wn:"ň",wr:"ř",sz:"š",ts:"ţ",td:"ţ",wt:"ţ",zs:"ž",dz:"ẓ",aaqqq:"â'",eeqqq:"ê'",ooqqq:"ô'",uuqqq:"û'",aqqq:"ä'",eqqq:"ë'",oqqq:"ö'",uqqq:"ü'",qq:"'",aaq:"â",ooq:"ô",eeq:"ê",uuq:"û",aq:"ä",eq:"ë",uq:"ü",oq:"ö",aa:"á",ee:"é",ii:"í",oo:"ó",uu:"ú","ṭ":"ţ","ŧ":"ţ","ḍ":"ḑ","đ":"ḑ","ņ":"ň","ṇ":"ň","ŗ":"ř","ṛ":"ř","ł":"ļ","ḷ":"ļ","ż":"ẓ","ı":"i"},tabGroups:{normal:[["root","stem","spec"],["func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","asp"],["casc","c"],["mood","ill","vld"]],suppletive:[["suppType","c"]],affRoot:[["affRoot","arDegree"],["spec","func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","asp"],["casc","c"],["mood","ill","vld"]],refRoot:[["ref","refEff","refPersp"],["spec","func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","asp"],["casc","c"],["mood","ill","vld"]],affixjunct:[["affixjunct","initialAffScope","otherAffScope","affScopeOf"]],register:[["register","regStartOrEnd"]],modular:[["modAppliesTo","modNumber","cn","vh"],["vn","val","pha","eff","lvl"],["vn2","val2","pha2","eff2","lvl2","asp2"],["vn3","val3","pha3","eff3","lvl3","asp3"]],ref:[["ref","refEff","refPersp","c1"],["twoCs","twoRefs","ref2","refEff2","refPersp2","c2","ess2"]],refCS:[["ref","refEff","refPersp","c1","spec"],["refAffix","twoCs","c2","ess2"]]}}},methods:{async handleSendMessage(e="",t=""){if(this.cut=[!1,!1,!1],t){await void 0;var s=JSON.parse(JSON.stringify(e));let i;if(i=isNaN(t.slice(-1))?t:t.slice(0,-1),"text"==this.gData[i].type)for(let e in this.allographs)s=s.replaceAll(e,this.allographs[e]);else if("affix"==this.gData[i].type)for(let e in s)for(let t in this.allographs)s[e][0]=s[e][0].replaceAll(t,this.allographs[t]);else s=e;this.gOptions[t]=s}"normal"==this.wordType||"affRoot"==this.wordType||"refRoot"==this.wordType?(this.calculateWord(),this.IPAcalcs(),this.glossCalcs(),this.cascOrMood="UNF/K"==this.gOptions.rel&&"0"==this.gOptions.concat):(this.gloss="",this.fullGloss="",this.cascOrMood=!1,this.calculateAdjunct(this.wordType),this.IPAcalcs())},notAvailableAlert(e){alert(e+" is not available yet!")},openModal(e){this.$emit("modal",e)},updateFromModal(e,t){this.$refs[e].updateValue(t)},switchWordType(e){this.wordType=e,this.calculateAdjunct(e),this.handleSendMessage()},calculateAdjunct(e){var t="";if("suppletive"==e)this.calculateSlot9(),this.slot9gStop(),this.ithkword={CAR:"hl",QUO:"hm",NAM:"hn",PHR:"hň"}[this.gOptions.suppType]+this.slots[9],this.gloss=this.gOptions.suppType+("THM"==this.gOptions.c?"":"-"+this.gOptions.c),this.fullGloss=this.gOptions.suppType+"-"+this.gOptions.c+"\\NRM";else if("affixjunct"==e){var s={VDom:"a",VSub:"u",VIIDom:"e",VIISub:"i",formative:"o",adjacent:"ö",same:"ai"},i={VDom:"h",VSub:"'h",VIIDom:"'hl",VIISub:"'hr",formative:"hw",adjacent:"'hw"};try{this.gloss="'"+this.gOptions.affixjunct[0][0]+"'/"+this.gOptions.affixjunct[0][1]+("CA"!=this.gOptions.affixjunct[0][1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[this.gOptions.affixjunct[0][2]]:""),this.fullGloss=this.gloss,this.gloss+="VDom"==this.gOptions.initialAffScope?"":"-{"+this.gOptions.initialAffScope+"}",this.fullGloss+="-{"+this.gOptions.initialAffScope+"}"}catch{this.gloss="",this.fullGloss=""}if(this.gOptions.affixjunct.length<1)this.ithkword="",this.gloss="",this.fullGloss="";else if(1==this.gOptions.affixjunct.length){var n=s[this.gOptions.initialAffScope],o=this.gOptions.affixjunct[0];"CA"!=o[1]?"a"==n&&this.allowedAtEnd(o[0])&&("conc"==this.gOptions.affScopeOf||this.sVowels[(o[1]+9)%10][o[2]-1].length>1&&!this.sDip.includes(this.sVowels[(o[1]+9)%10][o[2]-1]))&&(n=""):"a"==n&&this.allowedAtEnd(o[0])&&("conc"==this.gOptions.affScopeOf||"üö".length>1&&!this.sDip.includes("üö"))&&(n=""),"CA"!=o[1]?this.ithkword=this.sVowels[(o[1]+9)%10][o[2]-1]+o[0]+n:this.ithkword="üö"+o[0]+n}else{var a="",l=this.gOptions.affixjunct[0];for(var r of(this.allowedAtStart(l[0])||(a+="ë"),"CA"!=l[1]?a+=l[0]+this.sVowels[(l[1]+9)%10][l[2]-1]:a+=l[0]+"üö",a+=i[this.gOptions.initialAffScope],this.gOptions.affixjunct.slice(1)))"CA"!=r[1]?a+=this.sVowels[(r[1]+9)%10][r[2]-1]:a+="üö",a+=r[0];a+=s[this.gOptions.otherAffScope],a=this.recalcVowels(a),this.ithkword=a;for(let e of this.gOptions.affixjunct.slice(1))this.gloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:""),this.fullGloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:"");this.gloss+="same"==this.gOptions.otherAffScope?"":"-{"+this.gOptions.otherAffScope+"}",this.fullGloss+="-{"+this.gOptions.otherAffScope+"}"}this.gOptions.affixjunct.length>0&&(this.gloss+="conc"==this.gOptions.affScopeOf?"{concat.}":"",this.fullGloss+="conc"==this.gOptions.affScopeOf?"{concat.}":"",this.ithkword=this.markStress(["conc","default"].indexOf(this.gOptions.affScopeOf),this.ithkword))}else if("register"==e){var h={DSV:["a","ai"],PNT:["e","ei"],SPF:["i","iu"],EXM:["o","oi"],CGT:["u","ui"],END:["ü","ü"]};this.ithkword="h"+h[this.gOptions.register][this.gOptions.regStartOrEnd],this.gloss=this.gOptions.register+("1"==this.gOptions.regStartOrEnd&&"END"!=this.gOptions.register?"_END":""),this.fullGloss=this.gloss}else if("modular"==e)t+={all:"",parent:"w","concat.":"y"}[this.gOptions.modAppliesTo],this.gloss="all"!=this.gOptions.modAppliesTo?"{"+this.gOptions.modAppliesTo+"}-":"",["2","3"].includes(this.gOptions.modNumber)&&(t+=this.calculateSlot8a("2"),t+=this.calculateSlot8b("2",this.gOptions.cn),this.gloss+="MNO"!=this.gOptions[this.gOptions.vn2+"2"]?this.gOptions[this.gOptions.vn2+"2"]:"",this.gloss+="MNO"!=this.gOptions[this.gOptions.vn2+"2"]&&"FAC"!=this.gOptions[this.gOptions.cn+"2"]&&"CCN"!=this.gOptions[this.gOptions.cn+"2"]?".":"",this.gloss+="FAC"!=this.gOptions[this.gOptions.cn+"2"]&&"CCN"!=this.gOptions[this.gOptions.cn+"2"]?this.gOptions[this.gOptions.cn+"2"]:"",this.fullGloss+=this.gOptions[this.gOptions.vn2+"2"]+"."+this.gOptions[this.gOptions.cn+"2"]),"3"==this.gOptions.modNumber&&(t+=this.calculateSlot8a("3"),t+="asp"==this.gOptions.vn3?"n":"ň",this.gloss+="MNO"!=this.gOptions[this.gOptions.vn3+"3"]?"-"+this.gOptions[this.gOptions.vn3+"3"]:"",this.fullGloss+="-"+this.gOptions[this.gOptions.vn3+"3"]),t=this.recalcVowels(t),"1"==this.gOptions.modNumber?(t+=this.calculateSlot8a("4","asp"),this.gloss+=this.gOptions.asp4,this.fullGloss+=this.gOptions.asp4):"vn"==this.gOptions.vh?(t+=this.calculateSlot8a("4"),this.gloss+="MNO"!=this.gOptions[this.gOptions.v4n+"4"]?"-"+this.gOptions[this.gOptions.v4n+"4"]:"",this.fullGloss+="-"+this.gOptions[this.gOptions.v4n+"4"]):(t+=this.gOptions.modScope,t=this.markStress(0,t),this.gloss+="-{"+{a:"form.",e:"mood",i:"under adj.",o:"over adj.",u:"under adj."}[this.gOptions.modScope]+"}",this.fullGloss+="-{"+{a:"form.",e:"mood",i:"under adj.",o:"over adj.",u:"under adj."}[this.gOptions.modScope]+"}"),this.ithkword=t;else if("ref"==e){var c=this.calculateReference(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);t+=this.allowedAtStart(c)&&(this.gOptions.twoCs||"RPV"!=this.gOptions.ess2)?"":"ë",t+=c,this.calculateSlot9("1"),this.slot9gStop(),t+=this.slots[9];let e=this.refGloss(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);if(this.gloss=e[0],this.fullGloss=e[1],this.gloss+="THM"!=this.gOptions.c1||this.gOptions.twoCs?"-"+this.gOptions.c1:"",this.fullGloss+="-"+this.gOptions.c1,this.gOptions.twoCs&&(t+="w",this.calculateSlot9("2"),this.slot9gStop(),t+=this.slots[9],this.gloss+="-"+this.gOptions.c2,this.fullGloss+="-"+this.gOptions.c2,this.gOptions.twoRefs)){var d=this.calculateReference(this.gOptions.ref2,this.gOptions.refEff2,this.gOptions.refPersp2);t+=d,t+=this.allowedAtEnd(d)?"":"ë";let e=this.refGloss(this.gOptions.ref2,this.gOptions.refEff2,this.gOptions.refPersp2);this.gloss+="-"+e[0],this.fullGloss+="-"+e[1]}!["a","á","ä","â","e","ë","é","ê","i","í","o","ö","ó","ô","u","ü","ú","û"].includes(t.charAt(t.length-1))&&this.calculateEJ&&(t+="ë"),t=this.recalcVowels(t),"RPV"==this.gOptions.ess2?(t=this.markStress(0,t),this.gloss+="\\RPV",this.fullGloss+="\\RPV"):this.fullGloss+="\\NRM",this.ithkword=t}else if("refCS"==e){var p=this.calculateReference(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);t+=this.allowedAtStart(p)?"":"ë",t+=p,this.calculateSlot9("1"),this.slot9gStop(),t+=this.slots[9],t+={BSC:"x",CTE:"xt",CSV:"xp",OBJ:"xx"}[this.gOptions.spec];let e=this.refGloss(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);for(var u in this.gloss=e[0],this.gloss+="THM"!=this.gOptions.c1||this.gOptions.twoCs?"-"+this.gOptions.c1:"",this.gloss+="BSC"==this.gOptions.spec?"":"-"+this.gOptions.spec,this.fullGloss=e[1]+"-"+this.gOptions.c1+"-"+this.gOptions.spec,this.gOptions.refAffix){var f=Object.assign({},this.gOptions.refAffix[u]);"CA"!=f[1]?t+=this.sVowels[(f[1]+9)%10][f[2]-1]:t+="üö",t+=f[0],this.gloss+="-'"+f[0]+"'/"+f[1]+("CA"!=f[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[f[2]]:""),this.fullGloss+="-'"+f[0]+"'/"+f[1]+("CA"!=f[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[f[2]]:"")}this.gOptions.twoCs?(this.calculateSlot9("2"),this.slot9gStop(),t+="a"==this.slots[9]?"üa":this.slots[9],this.gloss+="-"+this.gOptions.c2,this.fullGloss+="-"+this.gOptions.c2):0!=this.gOptions.refAffix.length||this.gOptions.twoCs||"RPV"!=this.gOptions.ess2?this.gOptions.refAffix.length>0&&(this.allowedAtEnd(this.gOptions.refAffix[this.gOptions.refAffix.length-1][0])||(t+="a")):t+="a",!["a","á","ä","â","e","ë","é","ê","i","í","o","ö","ó","ô","u","ü","ú","û"].includes(t.charAt(t.length-1))&&this.calculateEJ&&(t+="a"),t=this.recalcVowels(t),"RPV"==this.gOptions.ess2?(t=this.markStress(0,t),this.gloss+="\\RPV",this.fullGloss+="\\RPV"):this.fullGloss+="\\NRM",this.ithkword=t}else"bias"==e?(this.ithkword=this.gData.bias.options[this.gOptions.bias].word,this.gloss=this.gOptions.bias,this.fullGloss=this.gOptions.bias):"free"==e?this.ithkword=this.gOptions.freeType:(this.calculateWord(),this.glossCalcs());this.IPAcalcs()},calculateReference(e,t,s,i=!1){var n,o={"1M":{NEU:"l",BEN:"r",DET:"ř"},"2M":{NEU:"s",BEN:"š",DET:"ž"},"2P":{NEU:"n",BEN:"t",DET:"d"},MA:{NEU:"m",BEN:"p",DET:"b"},PA:{NEU:"ň",BEN:"k",DET:"g"},MI:{NEU:"z",BEN:"ţ",DET:"ḑ"},PI:{NEU:"ẓ",BEN:"f",DET:"v"},MX:{NEU:"c",BEN:"č",DET:"j"},RDP:{NEU:"th",BEN:"ph",DET:"kh"},OBV:{NEU:"ll",BEN:"rr",DET:"řř"},PVS:{NEU:"mm",BEN:"nn",DET:"ňň"}};n=i&&["OBV","PVS"].includes(e)?{OBV:{NEU:"lç",BEN:"rç",DET:"řç"},PVS:{NEU:"mç",BEN:"nç",DET:"ňç"}}[e][t]:o[e][t];var a=[];return"A"==s?this.consAllowed(n+"w")?n+="w":n+="y":"G"!=s&&"N"!=s||(a="G"==s?["ļ","tļ"]:["ç","x"],this.allowedAtEnd(a[0]+n)?n=a[0]+n:this.allowedAtEnd(a[1]+n)?n=a[1]+n:this.allowedAtEnd(n+a[0])?n+=a[0]:this.allowedAtEnd(n+a[1])?n+=a[1]:this.consAllowed(n+a[0])?n+=a[0]:this.consAllowed(n+a[1])?n+=a[1]:this.consAllowed(a[0]+n)?n+=a[0]:n+=a[1]),n},calculateWord(){this.calculateSlot3(),this.calculateSlot4(),this.calculateSlot6(),this.shortcutCalcs(),this.calculateSlot1(),this.calculateSlot2(),this.calculateSlot5(),this.calculateSlot7(),this.slots[7]=this.calculateSlot8a(),this.slots[8]=this.calculateSlot8b(),this.calculateSlot9(),this.finalCalcs()},calculateSlot1(){this.shortcutting?this.slots[0]=[["","w","y"],["h","hl","hm"],["hw","hr","hn"]][this.gOptions.concat][this.shcuttypeA]:this.slots[0]=["","h","hw"][this.gOptions.concat]},calculateSlot2(){var e={s1:{PRC:0,CPT:1},s2:{PRC:2,CPT:3},s0:{CPT:5,PRC:6},s3:{CPT:7,PRC:8}},t={PRC:{STA:"ëi",DYN:"eë"},CPT:{STA:"ëu",DYN:"oë"}},s={PRC:"ae",CPT:"ea"};if("normal"==this.wordType)if(this.shortcutting)this.slotVIIshortcut=!1,this.slots[1]=this.sVowels[e[this.gOptions.stem][this.gOptions.ver]][this.shcuttypeB];else{var i,n=0;"3"!=this.gOptions.shcut&&"2"!=this.gOptions.shcut?(i=this.gOptions.VIIafx.length>0?[...this.gOptions.VIIafx[this.gOptions.VIIafx.length-1]]:["no",0,0],"r"===i[0]&&4===i[1]&&1===i[2]?(n=1,this.slotVIIshortcut=!0):"t"===i[0]&&4===i[1]&&1===i[2]?(n=2,this.slotVIIshortcut=!0):"t"===i[0]&&5===i[1]&&1===i[2]?(n=3,this.slotVIIshortcut=!0):this.slotVIIshortcut=!1):this.slotVIIshortcut=!1,this.slots[1]=this.sVowels[e[this.gOptions.stem][this.gOptions.ver]][n]}else"affRoot"==this.wordType?this.slots[1]=t[this.gOptions.ver][this.gOptions.func]:"refRoot"==this.wordType&&(this.slots[1]=s[this.gOptions.ver]);this.gOptions.Vafx.length>=2&&(this.slots[1]=this.insertGStop(this.slots[1]))},calculateSlot3(){"normal"==this.wordType?this.slots[2]=this.gOptions.root.toLowerCase():"affRoot"==this.wordType?this.slots[2]=this.gOptions.affRoot.toLowerCase():"refRoot"==this.wordType&&(this.slots[2]=this.calculateReference(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp))},calculateSlot4(){var e={STA:{BSC:0,CTE:1,CSV:2,OBJ:3},DYN:{OBJ:5,CSV:6,CTE:7,BSC:8}},t=["EXS","FNC","RPS","AMG"];"normal"==this.wordType||"refRoot"==this.wordType?this.slots[3]=this.sVowels[e[this.gOptions.func][this.gOptions.spec]][t.indexOf(this.gOptions.ctxt)]:"affRoot"==this.wordType&&(this.slots[3]=this.sVowels[this.gOptions.arDegree][t.indexOf(this.gOptions.ctxt)])},calculateSlot5(){var e="";for(var t in this.gOptions.Vafx){var s=Object.assign({},this.gOptions.Vafx[t]);this.shortcutting?(t==this.gOptions.Vafx.length-1?"CA"!=s[1]?e+=this.insertGStop(this.sVowels[(s[1]+9)%10][s[2]-1]):e+=this.insertGStop("üö"):"CA"!=s[1]?e+=this.sVowels[(s[1]+9)%10][s[2]-1]:e+="üö",e+=s[0]):(e+=s[0],"CA"!=s[1]?e+=this.sVowels[(s[1]+9)%10][s[2]-1]:e+="üö")}this.slots[4]=e},calculateSlot6(e=!1,t=null,s=null,i=null,n=null,o=null,a=null,l=null){e||(t=this.gOptions.affil,s=this.gOptions.plex,i=this.gOptions.simil,n=this.gOptions.cctd,o=this.gOptions.ext,a=this.gOptions.ess,l=this.gOptions.persp);var r={CSL:"",ASO:"l",COA:"r",VAR:"ř"}[t],h="UPX"===s?"":"DPX"===s?"s":{M:{S:{S:"t",C:"k",F:"p"},D:{S:"ţ",C:"f",F:"ç"},F:{S:"z",C:"ž",F:"ẓ"}},D:{S:{S:"c",C:"ks",F:"ps"},D:{S:"ţs",C:"fs",F:"š"},F:{S:"č",C:"kš",F:"pš"}}}[s][i][n],c=(""===h?{DEL:"",PRX:"d",ICP:"g",ATV:"b",GRA:"gz",DPL:"bz"}:{DEL:"",PRX:"t",ICP:"k",ATV:"p",GRA:"g",DPL:"b"})[o],d={NRM:{M:"",G:"r",N:"w",A:"y"},RPV:{M:"l",G:"ř",N:"m",A:"n"}}[a][l];["t","k","p"].includes(c)&&""!=h&&""!=r&&["m","n"].includes(d)&&(d={m:"h",n:"ç"}[d]),""===h&&""===c&&""===d&&""!=r?"l"==r?r="nļ":"ř"==r?r="ň":r+="ļ":""===r&&""===h&&""===c&&(""===d?d="l":"l"===d?d="tļ":"w"===d?d="v":"y"===d&&(d="j"));var p=r+h+c+d,u={pp:"mp",tt:"nt",kk:"nk",ll:"pļ",pb:"mb",kg:"ng","çy":"nd",rr:"ns","rř":"nš","řř":"ňš","řr":"ňs"};for(var f in u)p=p.replace(f,u[f]);var g={gm:"x",gn:"ň",bm:"v",bn:"ḑ"};for(var m in g)p=p.charAt(0)+p.slice(1).replace(m,g[m]);if(p=p.replace("ngn","ňn"),p=p.charAt(0)+p.slice(1).replace("çx","xw"),p=p.replace("fv","vw").replace("ţḑ","ḑy"),e)return p;if(this.slots[10]=p,0!=Object.keys(this.gOptions.Vafx).length){var b=p;p=this.geminate(p),p==b&&["l","r","ř"].includes(p.charAt(0))&&(p=p.charAt(0)+this.geminate(p.slice(1)))}this.slots[5]=p},geminate(e){var t={pt:"bbḑ",pk:"bbv",kt:"ggḑ",kp:"ggv",tk:"ḑvv",tp:"ddv"},s={pm:"vvm",pn:"vvn",bm:"mmw",bn:"mml",km:"xxm",kn:"xxn",gm:"ňňw",gn:"ňňl",tm:"ḑḑm",tn:"ḑḑn",dm:"nnw",dn:"nnl"};return 1===e.length?e+=e:"tļ"===e?e="ttļ":["t","k","p","d","g","b"].includes(e.charAt(0))&&["l","r","ř","w","y"].includes(e.charAt(1))?e=e.charAt(0)+e:e.includes("s")||e.includes("š")||e.includes("z")||e.includes("ž")||e.includes("ç")||e.includes("c")||e.includes("č")?e=e.replace("s","ss").replace("š","šš").replace("z","zz").replace("ž","žž").replace("ç","çç").replace("c","cc").replace("č","čč"):["f","ţ","v","ḑ","n","m","ň"].includes(e.charAt(0))?e=e.charAt(0)+e:["t","k","p"].includes(e.charAt(0))&&["s","š","f","ţ","ç"].includes(e.charAt(1))?e=e.charAt(0)+e.charAt(1)+e.slice(1):Object.prototype.hasOwnProperty.call(t,e.slice(-2))?e=e.slice(0,-2)+t[e.slice(-2)]:Object.prototype.hasOwnProperty.call(s,e.slice(-2))&&(e=e.slice(0,-2)+s[e.slice(-2)]),e},calculateSlot7(){var e="";if(this.slotVIIshortcut&&!this.shortcutting&&"3"!=this.gOptions.shcut&&"2"!=this.gOptions.shcut)for(var t in this.gOptions.VIIafx.slice(0,-1)){var s=Object.assign({},this.gOptions.VIIafx[t]);"CA"!=s[1]?e+=this.sVowels[(s[1]+9)%10][s[2]-1]:e+="üö",e+=s[0]}else for(var i in this.gOptions.VIIafx){var n=Object.assign({},this.gOptions.VIIafx[i]);"CA"!=n[1]?e+=this.sVowels[(n[1]+9)%10][n[2]-1]:e+="üö",e+=n[0]}this.slots[6]=e},calculateSlot8a(e="",t=""){var s;if(s=""!=t?t:"4"==e?this.gOptions["v4n"]:this.gOptions["vn"+e],"asp"!==s){var i,n=["val","pha","eff","lvl"],o={val:["MNO","PRL","CRO","RCP","CPL","DUP","DEM","CNG","PTI"],pha:["PCT","ITR","REP","ITM","RCT","FRE","FRG","VAC","FLC"],eff:["1:BEN","2:BEN","3:BEN","SLF:BEN","UNK","SLF:DET","3:DET","2:DET","1:DET"],lvl:["MIN","SBE","IFR","DFT","EQU","SUR","SPL","SPQ","MAX"]};return i="4"==e?this.sVowels[o[this.gOptions["v4n"]].indexOf(this.gOptions[this.gOptions["v4n"]+e])][n.indexOf(this.gOptions["v4n"])]:this.sVowels[o[this.gOptions["vn"+e]].indexOf(this.gOptions[this.gOptions["vn"+e]+e])][n.indexOf(this.gOptions["vn"+e])],i}var a=[["RTR","PRS","HAB","PRG","IMM","PCS","REG","SMM","ATP"],["RSM","CSS","PAU","RGR","PCL","CNT","ICS","EXP","IRP"],["PMP","CLM","DLT","TMP","XPD","LIM","EPD","PTC","PPR"],["DCL","CCL","CUL","IMD","TRD","TNS","ITC","MTV","SQN"]];for(var l in a)if(a[l].includes(this.gOptions["asp"+e]))return this.sVowels[a[l].indexOf(this.gOptions["asp"+e])][l]},calculateSlot8b(e="",t=""){var s=[],i=[];return s="asp"===this.gOptions["vn"+e]?["w","hw","hrw","hmw","hnw","hňw"]:["h","hl","hr","hm","hn","hň"],("modular"==this.wordType?"casc"==t:"UNF/K"!=this.gOptions.rel||"0"!=this.gOptions.concat)?(i=["CCN","CCA","CCS","CCQ","CCP","CCV"],s[i.indexOf(this.gOptions["casc"+e])]):(i=["FAC","SUB","ASM","SPC","COU","HYP"],s[i.indexOf(this.gOptions["mood"+e])])},calculateSlot9(e=""){var t=[["THM","INS","ABS","AFF","STM","EFF","ERG","DAT","IND"],["POS","PRP","GEN","ATT","PDC","ITP","OGN","IDP","PAR"],["APL","PUR","TRA","DFR","CRS","TSP","CMM","CMP","CSD"],["FUN","TFM","CLA","RSL","CSM","CON","AVR","CVS","SIT"]],s=[["PRN","DSP","COR","CPS","COM","UTL","PRD","n/a","RLT"],["ACT","ASI","ESS","TRM","SEL","CFM","DEP","n/a","VOC"],["LOC","ATD","ALL","ABL","ORI","IRL","INV","n/a","NAV"],["CNR","ASS","PER","PRO","PCV","PCR","ELP","n/a","PLM"]],i=["OBS","REC","PUP","RPR","USP","IMA","CVN","ITU","INF"],n=["DIR","DEC","IRG","VRF","n/a","ADM","POT","HOR","CNJ"],o=!1;if("UNF/K"!==this.gOptions.rel||"0"!=this.gOptions.concat||["suppletive","ref"].includes(this.wordType)){for(var a in t)t[a].includes(this.gOptions["c"+e])&&(this.slots[9]=this.sVowels[t[a].indexOf(this.gOptions["c"+e])][a],o=!0);if(!o)for(var l in s)s[l].includes(this.gOptions["c"+e])&&(this.slots[9]=this.sVowels[s[l].indexOf(this.gOptions["c"+e])][l]+"'")}else"ASR"==this.gOptions.ill?this.slots[9]=this.sVowels[i.indexOf(this.gOptions.vld)][0]:this.slots[9]=this.sVowels[n.indexOf(this.gOptions.ill)][1]},shortcutCalcs(){if("1"==this.gOptions.shcut&&"a"==this.slots[3]&&["l","d","r","tļ","v","j","ř","dl"].includes(this.slots[10])&&"normal"==this.wordType||"refRoot"==this.wordType&&"1"==this.gOptions.shcut&&"a"==this.slots[3]&&["l","d"].includes(this.slots[10])){var e={l:[1,0],d:[2,0],r:[1,1],"tļ":[2,1],v:[1,2],j:[2,2],"ř":[1,3],dl:[2,3]};try{this.shortcutting=!0,this.shcuttypeA=e[this.slots[10]][0],this.shcuttypeB=e[this.slots[10]][1],this.slots[3]="",this.slots[5]=""}catch{this.shortcutting=!1,this.calculateSlot4(),this.calculateSlot6()}}else this.shortcutting=!1},insertGStop(e,t=!1){return 1===e.length||this.sDip.includes(e)?t?1===e.length?e+"'"+e:e.charAt(0)+"'"+e.charAt(1):e+"'":e.charAt(0)+"'"+e.charAt(1)},getCons(...e){var t=[];for(var s in this.cData)for(var i in e)e[i].every((e=>this.cData[s].includes(e)))&&!t.includes(s)&&t.push(s);return t},removeDuplicate(e){var t="",s="";for(var i of e)i!=s&&(t+=i,s=i);return t},slot9gStop(){"'"===this.slots[9].charAt(this.slots[9].length-1)&&("0"==this.gOptions.concat||["suppletive","ref","refCS"].includes(this.wordType)?(this.slots[9]=this.slots[9].slice(0,-1),this.slots[9]=this.insertGStop(this.slots[9],!0)):this.slots[9]=this.slots[9].slice(0,-1))},allowedAtStart(e){if(this.consAllowed(e)){var t=this.removeDuplicate(e);if(1===t.length){if("ļ"!==t)return!0}else if(2===t.length){var s=t.charAt(0),i=t.charAt(1);if(this.getCons(["stop"]).includes(s)&&["r","l","ř","w","y"].includes(i)||["p","k"].includes(s)&&["s","š"].includes(i)||["b","g"].includes(s)&&["z","ž"].includes(i)||"p"===s&&["f","ţ","ç","x","h","ļ"].includes(i)||"b"===s&&["v","ḑ"].includes(i)||"t"===s&&["f","v","ţ","ḑ","ç","x","h","ļ"].includes(i)||"d"===s&&"v"==i||"k"===s&&["f","ţ","ç","x","h"].includes(i)||"g"===s&&["v","ḑ"].includes(i)||["s","š"].includes(s)&&this.getCons(["stop","unvoiced"],["fric","nonsibil","unvoiced"],["affric","unvoiced"]).includes(i)||["z","ž"].includes(s)&&this.getCons(["stop","voiced"],["fric","nonsibil","voiced"],["affric","voiced"]).includes(i)||["s","z","š","ž"].includes(s)&&["m","n","ň","r","l","w","y","ř","v"].includes(i)||["c","č"].includes(s)&&this.getCons(["fric","nonsibil","unvoiced"],["stop","unvoiced"]).includes(i)||["c","č"].includes(s)&&"h"===i||["ẓ","j"].includes(s)&&this.getCons(["fric","nonsibil","voiced"],["stop","voiced"]).includes(i)||["c","ẓ","č","j"].includes(s)||"x"===s&&["p","t","c","č","m","n","l","r","w"].includes(i)||"ç"===s&&["p","t","c","č","k","m","n","ň","l","r","ř"].includes(i)||["f","ţ"].includes(s)&&this.getCons(["stop","unvoiced"],["affric","unvoiced"]).includes(i)||["v","ḑ"].includes(s)&&this.getCons(["stop","voiced"],["affric","voiced"]).includes(i)||["f","v","ţ","ḑ"].includes(s)&&["r","l","w","y","ř","m","n","ň"].includes(i)||"ļ"===s&&this.getCons(["stop","unvoiced"],["affric","unvoiced"],["nasal"]).includes(i)||"ļ"===s&&["w","y"].includes(i)||"h"===s&&["l","r","m","n","w"].includes(i)||["m","n"].includes(s)&&["l","r","w","y","ř"].includes(i)||"ň"===s&&["l","r","w"].includes(i)||["l","r"].includes(s)&&["w","y"].includes(i))return!0}else if(3===t.length){var n=t.charAt(0),o=t.charAt(1),a=t.charAt(2),l=n+o;if(["ps","pš","ks","kš"].includes(l)&&this.getCons(["stop","unvoiced"],["fric","nonsibil","unvoiced"],["affric","unvoiced"]).includes(a)||["bz","bž","gz","gž"].includes(l)&&this.getCons(["stop","voiced"],["fric","nonsibil","voiced"],["affric","voiced"]).includes(a)||["ps","pš","ks","kš","bz","bž","gz","gž"].includes(l)&&["m","n","ň","r","l","w","y","ř","v"].includes(a)||["p","b","t","d","k","g"].includes(n)&&["l","r"].includes(o)&&["w","y"].includes(a)||["p","t","k"].includes(n)&&"ç"===o&&["m","n","ň"].includes(a)||["p","k"].includes(n)&&["f","t"].includes(o)&&["y","w"].includes(a)||["p","t"].includes(o)&&"ļ"===o&&["w","y"].includes(a)||["s","š","ç"].includes(n)&&["p","t","k"].includes(o)&&["r","l","w","y","ř"].includes(a)||["z","ž"].includes(n)&&["b","d","g"].includes(o)&&["r","l","w","y","ř"].includes(a)||["s","z","š","ž","ç"].includes(n)&&["m","n"].includes(o)&&["w","y"].includes(a)||["s","z","š","ž","ç"].includes(n)&&"ň"===o&&"w"===a||["hlw","hrw","hmw","hnw","hmy","hny"].includes(t)||["c","č"].includes(n)&&["p","t","k"].includes(o)&&["r","l","w","y","ř"].includes(a)||["ẓ","j"].includes(n)&&["b","d","g"].includes(o)&&["r","l","w","y","ř"].includes(a)||["c","ẓ","č","j"].includes(n)&&["m","n"].includes(o)&&["w","y"].includes(a)||["c","ẓ","č","j"].includes(n)&&"ň"===o&&"w"===a||["flw","ţly","fly","ţly"].includes(t)||["xp","xt"].includes(l)&&["l","r","w","y"].includes(a)||["xm","xn"].includes(l)&&["w","y"].includes(a)||["xc","xč"].includes(l)&&"w"===a)return!0}else if(4===t.length){var r=t.charAt(0),h=t.charAt(1),c=t.charAt(2),d=t.charAt(3);if(["p","k"].includes(r)&&["s","š"].includes(h)&&["p","t","k"].includes(c)&&["r","l","w","y","ř"].includes(d)||["b","g"].includes(r)&&["z","ž"].includes(h)&&["b","d","g"].includes(c)&&["r","l","w","y","ř"].includes(d)||["s","š","ç","c","č"].includes(r)&&["p","t","k"].includes(h)&&"l"===c&&"y"===d||["z","ž","ẓ","j"].includes(r)&&["b","d","g"].includes(h)&&"l"===c&&"y"===d)return!0}return!1}return!1},allowedAtEnd(e){if(this.consAllowed(e)){var t=this.removeDuplicate(e);if(1==t.length){if("w"!==t&&"y"!==t&&"'"!==t)return!0}else if(2==t.length){var s=t.charAt(0),i=t.charAt(1);if(["p","t","k"].includes(s)&&["f","ţ","s","š","ç","x","h","ļ"].includes(i)||["b","d","g"].includes(s)&&["v","ḑ","z","ž"].includes(i)||["k","p"].includes(s)&&"t"===i||["g","b"].includes(s)&&"d"===i||["s","š"].includes(s)&&["p","t","k"].includes(i)||["z","ž"].includes(s)&&["b","d","g"].includes(i)||["c","č"].includes(s)&&["t","k"].includes(i)||["ẓ","j"].includes(s)&&["d","g"].includes(i)||"f"===s&&["t","k","s","š","ç"].includes(i)||"v"===s&&["d","g","z","ž"].includes(i)||"ţ"===s&&["t","k"].includes(i)||"ḑ"===s&&["d","g"].includes(i)||["ļ","x"].includes(s)&&["p","t","k"].includes(i)||["m","n"].includes(s)&&["p","b","t","d","k","g","f","v","ţ","ḑ","s","z","š","ž","ç","x","h","ļ"].includes(i)||"ň"===s||"r"===s&&"w"!==i&&"y"!==i&&"'"!==i||"l"===s&&!["'","w","y","r","ň"].includes(i)||s===i&&!["p","t","k","b","d","g","'"].includes(s))return!0}else if(3==t.length){var n=t.charAt(0),o=t.charAt(1),a=t.charAt(2);if("p"===o&&(["r","ř","l"].includes(n)&&["t","k","f","ţ","x","s","š","h","ļ","ç"].includes(a)||["m","ň"].includes(n)&&["h","ļ","ç"].includes(a)||["s","š","ç"].includes(n)&&["f","ţ","s","š","ļ","ç"].includes(a))||"t"===o&&(["l","r","ř"].includes(n)&&["k","f","x","h","ļ","ç"].includes(a)||"n"===n&&["k","f","x","h"].includes(a)||["m","ň","s","š","ç"].includes(n)&&["h","ļ","ç"].includes(a))||"k"===o&&(["l","r","ř"].includes(n)&&["t","f","ţ","s","š","h","ç"].includes(a)||["n","f","ţ","l"].includes(n)&&["h","ç"].includes(a)||"m"===n&&["f","ţ","h","ç"].includes(a)||["s","š","ç"].includes(n)&&["f","ţ","s","š","h","ç"].includes(a))||"b"===o&&(["r","ř"].includes(n)&&["d","g","v","ḑ","z","ž"].includes(a)||"l"===n&&["v","ḑ","z","ž"].includes(a))||"d"===o&&["r","ř"].includes(n)&&["b","g","v"].includes(a)||"g"===o&&(["r","ř"].includes(n)&&["b","d","v","ḑ","z","ž"].includes(a)||"l"===n&&["v","ḑ","z","ž"].includes(a))||"f"===o&&(["l","r","ř","m","ň"].includes(n)&&["t","k","f","s","š"].includes(a)||["p","t","k"].includes(n)&&["k","f"].includes(a)||"f"===n&&["t","k","s","š"].includes(a))||"ţ"===o&&(["p","k","r","l","ř","m","n","ň"].includes(n)&&["t","k","ţ"].includes(a)||"ţ"===n&&["t","k"].includes(a))||"x"===o&&(["r","l","ř"].includes(n)&&["t","x"].includes(a)||["p","t","f","s","š","n","m"].includes(n)&&"x"===a||"x"===n&&"t"===a)||"ļ"===o&&(["p","t","r","ř","m","n","ň"].includes(n)&&["t","k","ļ"].includes(a)||["ļ","l"].includes(n)&&["t","k"].includes(a))||"s"===o&&(["r","l","ř","m","n","ň","p","k","f"].includes(n)&&["p","t","k","f","ţ","x","s"].includes(a)||"ţ"===n&&["p","t","k","s"].includes(a)||"s"===n&&["p","t","k","f","ţ","x"].includes(a))||"š"===o&&(["r","l","ř","m","n","ň","p","k","f"].includes(n)&&["p","t","k","f","ţ","x","š"].includes(a)||"ţ"===n&&["p","t","k","š"].includes(a)||"š"===n&&["p","t","k","f","ţ","x"].includes(a))||"v"===o&&(["r","ř","l"].includes(n)&&["v","z","ž"].includes(a)||["b","g","m","ň"].includes(n)&&"v"===a||"v"===n&&["z","ž"].includes(a))||"ḑ"===o&&["b","g","r","ř","l","n","m","ň"].includes(n)&&"ḑ"===a||"z"===o&&(["r","ř","l","n","m","ň"].includes(n)&&["b","d","g","z"].includes(a)||["b","g","v"].includes(n)&&"z"===a||"z"===n&&["b","d","g"].includes(a))||"ž"===o&&(["r","ř","l","n","m","ň"].includes(n)&&["b","d","g","ž"].includes(a)||["b","g","v"].includes(n)&&"ž"===a||"ž"===n&&["b","d","g"].includes(a))||"c"===o&&["r","ř","l"].includes(n)&&["t","k","c","h"].includes(a)||"č"===o&&["r","ř","l"].includes(n)&&["t","k","č","h"].includes(a)||"ẓ"===o&&["r","ř","l"].includes(n)&&["d","g","ẓ"].includes(a)||"j"===o&&["r","ř","l"].includes(n)&&["d","g","j"].includes(a)||"m"===o&&(["r","l","ř"].includes(n)&&["p","t","k","b","d","f","ţ","x","s","š","v","ḑ","z","ž","m","ļ","ç"].includes(a)||"m"===n&&["p","t","k","b","d","f","ţ","x","s","š","v","ḑ","z","ž","ļ","ç"].includes(a))||"n"===o&&(["r","ř"].includes(n)&&["t","k","d","g","f","ţ","x","s","š","v","ḑ","z","ž","n","ļ","ç"].includes(a)||"l"===n&&["t","k","d","g","ţ","s","š","z","ž","ļ","ç"].includes(a)||"n"===n&&["t","k","d","g","f","ţ","x","s","š","v","ḑ","z","ž","ļ","ç"].includes(a))||"l"===o&&"l"===n&&["p","t","k","b","d","g","f","ţ","x","s","š","v","ḑ","z","ž","c","č","ẓ","j","m","n","ň","ç"].includes(a)||["r","ř"].includes(o)&&["r","ř"].includes(n)&&["p","t","k","b","d","g","f","ţ","x","s","š","v","ḑ","z","ž","c","č","ẓ","j","m","n","ň","l","ļ","ç"].includes(a)||"ç"===o&&(["p","t","k","m","n","ň","r","l","ř"].includes(n)&&["t","k","ç"].includes(a)||"ç"===n&&["t","k"].includes(a)))return!0}else if(4==t.length){var l=t.charAt(0),r=t.charAt(1),h=t.charAt(2),c=r+h,d=t.charAt(3);if((["l","r","ř"].includes(l)&&(["tç","pf","fs","fš"].includes(c)||["k","p"].includes(r)&&["s","š","ţ","ç"].includes(h))||"r"===l&&(["n","ň","m"].includes(r)&&["s","š","ţ","ç"].includes(h)||["ň","m"].includes(r)&&"f"===h))&&["t","k"].includes(d))return!0}return!1}return!1},consAllowed(e){for(var t in e.slice(0,-1)){let s=e.charAt(t),i=e.charAt(t+1),n=e.charAt(t+2);if("'"!=s&&e.split("'").length>=2||e.split("'").length>=3)return!1;if(["t","d"].includes(s)&&["s","z","š","ž","c","ẓ","č","j","ţ","ḑ"].includes(i))return!1;if(["k","g"].includes(s)&&["x","ň"].includes(i))return!1;if(["kg","gk","td","dt","pb","bp"].includes(s+i))return!1;if(["fv","vf","ţḑ","ḑţ","cẓ","ẓc","čj","jč","čc","jc","čẓ","jẓ"].includes(s+i))return!1;if(["šc","šẓ","žc","žẓ","sẓ"].includes(s+i))return!1;if(s!=i&&["s","š","z","ž"].includes(s)&&["s","š","z","ž"].includes(i))return!1;if(["c","ẓ","č","j"].includes(s)&&["s","š","z","ž"].includes(i))return!1;if("ç"==s&&["s","z","š","ž","ẓ","j","ļ","h"].includes(i))return!1;if("ç"==i&&["c","ẓ","č","j","ļ","h","x"].includes(s))return!1;if("n"==s&&["c","č","ẓ","j"].includes(i))return!1;if("m"==s&&["b","p"].includes(i)&&["f","v","ţ","ḑ","t","d","s","z","š","ž"].includes(n))return!1;if("n"==s&&["k","g"].includes(i)&&["s","z","š","ž"].includes(n))return!1;if("n"==s&&["p","b"].includes(i))return!1;if("n"==s&&["f","v"].includes(i)&&""!=n)return!1;if("ň"==s&&["g","k","x","y"].includes(i))return!1;if("x"==s&&["s","z","š","ž","ç","g","ļ","ň","y","h","ř"].includes(i))return!1;if("ļ"==s&&["s","z","š","ž","h","ç"].includes(i))return!1;if("ļ"==i&&["b","d","g","h","ç"].includes(s))return!1;if(""==n&&"h"==i&&["ļ","x","ç"].includes(s))return!1;if("ř"==i&&["r","h"].includes(s))return!1;if(s+i=="řr")return!1;if(["w","y"].includes(s)&&""!=i)return!1}return!0},markStress(e,t){if(t.includes("'"))for(let n=t.length;n--;)if("'"==t.charAt(n)&&n!=t.length-1&&(console.log(t.charAt(n-1)),["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n-1))&&0!=n&&(console.log(t,t.charAt(n-1)),!["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n+1))))){let e=1;while(!["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n+e)))e+=1;let s=t.slice(n+1,n+e);console.log(s),this.allowedAtStart(s)||(t=t.slice(0,n)+t.slice(n+1),t=["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n-2))&&n>=2?t.slice(0,n-1)+"'"+t.slice(n-1):t.slice(0,n-1)+t.charAt(n-1)+"'"+t.slice(n-1))}var s=t.match(/(?:ai|ei|ëi|oi|ui|au|eu|ëu|ou|iu|[aeiouäëöü])/gi);if(0===e&&s.length>1){for(let n=t.length-1;n>=0;n--)if(["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n))){t=this.sDip.includes(t.charAt(n-1)+t.charAt(n))?t.substring(0,n-1)+this.sAccent[t.charAt(n-1)]+t.substring(n):t.substring(0,n)+this.sAccent[t.charAt(n)]+t.substring(n+1);break}}else if(2===e){var i=0;for(let e=t.length-1;e>=0;e--)if(["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(e))){if(2==i){t=this.sDip.includes(t.charAt(e-1)+t.charAt(e))?t.substring(0,e-1)+this.sAccent[t.charAt(e-1)]+t.substring(e):t.substring(0,e)+this.sAccent[t.charAt(e)]+t.substring(e+1);break}this.sDip.includes(t.charAt(e-1)+t.charAt(e))||i++}}return t},recalcVowels(e){return e.replaceAll("yia","yuä").replaceAll("yie","yuë").replaceAll("yio","yüä").replaceAll("yiö","yüë").replaceAll("wuö","wöë").replaceAll("wuo","wöä").replaceAll("wue","wië").replaceAll("wua","wiä")},finalCalcs(){var e="";if(e=this.slots[9],this.slot9gStop(),"3"!=this.gOptions.shcut&&(""!==this.slots[0]||"a"!==this.slots[1]||this.slotVIIshortcut||this.allowedAtStart(this.slots[2])&&(this.slots[1]="",this.cut[0]=!0),"a"===this.slots[7]&&"asp"!=this.gOptions.vn&&"l"===this.slots[5]&&"h"!=this.slots[8]&&this.settings["Miscellaneous"].s8[1]?(this.slots[10]=this.slots[8],this.slots[5]=this.slots[8],this.slots[8]="",this.eightSix=!0,this.cut[2]=!0):this.eightSix=!1,"a"===this.slots[7]&&("h"===this.slots[8]||""===this.slots[8])&&(this.slots[7]="",this.slots[8]="",this.cut[2]=!0,"a"===this.slots[9]))){var t,s=!0;0==this.gOptions.VIIafx.length&&this.gOptions.Vafx.length==0+(this.slotVIIshortcut&&1)&&this.shortcutting?"PRN"==this.gOptions.c&&(this.sDip.includes(this.slots[1])||Object.keys(this.sAccent).includes(this.slots[1]))?s=!1:t=this.slots[2]:this.gOptions.VIIafx.length==0+(this.slotVIIshortcut&&1)&&this.shortcutting?s=!1:t=this.gOptions.VIIafx.length==0+(this.slotVIIshortcut&&1)?this.slots[5]:this.gOptions.VIIafx[this.gOptions.VIIafx.length-1][0],s&&this.allowedAtEnd(t)&&(this.slots[9]="",this.cut[1]=!0)}(()=>{this.ithkword=this.slots.slice(0,-1).join("")})(),this.ithkword=this.recalcVowels(this.ithkword);var i=this.ithkword.match(/(?:ai|ei|ëi|oi|ui|au|eu|ëu|ou|iu|[aeiouäëöü])/gi),n=0;n="0"!=this.gOptions.concat?"'"===e.charAt(e.length-1)||this.cut[2]&&this.cut[1]&&"THM"==this.gOptions.c&&"0"!=this.gOptions.concat&&0==this.gOptions.VIIafx.length&&this.shortcutting&&(this.sDip.includes(this.slots[1])||Object.keys(this.sAccent).includes(this.slots[1]))?0:1:["UNF/K","UNF/C","FRM"].indexOf(this.gOptions.rel);while(i.length<=n){var o=1==this.cut[1]?1:1==this.cut[0]?0:1==this.cut[2]?2:null,a=[1,9,7];7===a[o]&&(this.slots[8]="h"),this.slots[a[o]]="a",this.cut[o]=!1,(()=>{this.ithkword=this.slots.slice(0,-1).join("")})(),i=this.ithkword.match(/(?:ai|ei|ëi|oi|ui|au|eu|ëu|ou|iu|[aeiouäëöü])/gi)}this.cut[1]&&this.calculateEJ&&(this.ithkword+="a"),this.ithkword=this.markStress(n,this.ithkword)},glossCalcs(){if(this.gloss="",this.fullGloss="","0"!=this.gOptions.concat&&(this.gloss+="T"+this.gOptions.concat+"-",this.fullGloss+="T"+this.gOptions.concat+"-"),"normal"==this.wordType?(this.gloss+="S"+this.gOptions.stem.charAt(1),"CPT"===this.gOptions.ver&&(this.gloss+=".CPT"),this.fullGloss+="S"+this.gOptions.stem.charAt(1)+"."+this.gOptions.ver):"refRoot"==this.wordType?(this.gloss+="CPT"==this.gOptions.ver?"CPT-":"",this.fullGloss+=this.gOptions.ver+"-"):"affRoot"==this.wordType&&(this.gloss+="CPT"==this.gOptions.ver?"CPT":"",this.gloss+="CPT"==this.gOptions.ver&&"DYN"==this.gOptions.func?".":"",this.gloss+="DYN"==this.gOptions.func?"DYN":"",this.gloss+="CPT"==this.gOptions.ver||"DYN"==this.gOptions.func?"-":"",this.fullGloss+=this.gOptions.ver+"."+this.gOptions.func+"-"),this.shortcutting){var e=(this.gOptions.plex+this.gOptions.simil+this.gOptions.cctd).slice(0,3);"normal"==this.wordType&&(this.fullGloss+="."),this.fullGloss+=this.gOptions.affil+"."+e+"."+this.gOptions.ext+"."+this.gOptions.persp+"."+this.gOptions.ess;var t=[];"CSL"!=this.gOptions.affil&&t.push(this.gOptions.affil),"UPX"!=e&&t.push(e),"DEL"!=this.gOptions.ext&&t.push(this.gOptions.ext),"M"!=this.gOptions.persp&&t.push(this.gOptions.persp),"NRM"!=this.gOptions.ess&&t.push(this.gOptions.ess),t.length>0&&"normal"==this.wordType?this.gloss+="."+t.join("."):t.length>0&&(this.gloss+=t.join(".")+"-"),"refRoot"==this.wordType&&(this.fullGloss+="-")}else if(this.slotVIIshortcut){let e=this.gOptions.VIIafx[this.gOptions.VIIafx.length-1];"r"==e[0]&&"4"==e[1]?(this.gloss+=".'relative negation'",this.fullGloss+=".'relative negation'"):"t"==e[0]&&"4"==e[1]?(this.gloss+=".'previously mentioned'",this.fullGloss+=".'previously mentioned'"):"t"==e[0]&&"5"==e[1]&&(this.gloss+=".'[+head]'",this.fullGloss+=".'[+head]'")}if("normal"==this.wordType)this.gloss+='-"'+this.gOptions.root.toLowerCase()+'"',this.fullGloss+='-"'+this.gOptions.root.toLowerCase()+'"';else if("affRoot"==this.wordType)this.gloss+='"'+this.gOptions.affRoot.toLowerCase()+'"',this.fullGloss+='"'+this.gOptions.affRoot.toLowerCase()+'"';else if("refRoot"==this.wordType){let e=this.refGloss(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);this.gloss+=e[0],this.fullGloss+=e[1]}if("affRoot"!=this.wordType){var s=[];"STA"!=this.gOptions.func&&s.push(this.gOptions.func),"BSC"!=this.gOptions.spec&&s.push(this.gOptions.spec),"EXS"!=this.gOptions.ctxt&&s.push(this.gOptions.ctxt),s.length>0&&(this.gloss+="-"+s.join(".")),this.fullGloss+="-"+this.gOptions.func+"."+this.gOptions.spec+"."+this.gOptions.ctxt}else this.gloss+="-D"+(this.gOptions.arDegree+1).toString().slice((this.gOptions.arDegree+1).toString().length-1),"EXS"!=this.gOptions.ctxt&&(this.gloss+="."+this.gOptions.ctxt),this.fullGloss+="-D"+(this.gOptions.arDegree+1).toString().slice((this.gOptions.arDegree+1).toString().length-1)+"."+this.gOptions.ctxt;for(var i in this.gOptions.Vafx){let e=this.gOptions.Vafx[i];this.gloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:""),this.fullGloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:"")}if(this.shortcutting)this.gOptions.Vafx.length>0&&(this.gloss+="-{Ca}",this.fullGloss+="-{Ca}");else{var n=(this.gOptions.plex+this.gOptions.simil+this.gOptions.cctd).slice(0,3);if(this.eightSix)this.gloss+="-"+this.gOptions.casc,this.fullGloss+="-"+this.gOptions.affil+"."+n+"."+this.gOptions.ext+"."+this.gOptions.persp+"."+this.gOptions.ess,this.fullGloss+="."+this.gOptions[this.gOptions.vn]+"."+("UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat?this.gOptions.mood:this.gOptions.casc);else{this.fullGloss+="-"+this.gOptions.affil+"."+n+"."+this.gOptions.ext+"."+this.gOptions.persp+"."+this.gOptions.ess;var o=[];"CSL"!=this.gOptions.affil&&o.push(this.gOptions.affil),"UPX"!=n&&o.push(n),"DEL"!=this.gOptions.ext&&o.push(this.gOptions.ext),"M"!=this.gOptions.persp&&o.push(this.gOptions.persp),"NRM"!=this.gOptions.ess&&o.push(this.gOptions.ess),o.length>0?this.gloss+="-"+o.join("."):this.gOptions.Vafx.length>0&&(this.gloss+="-{Ca}")}}if(this.slotVIIshortcut)for(var a in this.gOptions.VIIafx.slice(0,-1)){let e=this.gOptions.VIIafx[a];this.gloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:""),this.fullGloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:"")}else for(var l in this.gOptions.VIIafx){let e=this.gOptions.VIIafx[l];this.gloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:""),this.fullGloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:"")}if(!this.eightSix){var r=[];"MNO"!==this.gOptions[this.gOptions.vn]&&r.push(this.gOptions[this.gOptions.vn]),"FAC"!==this.gOptions.mood&&"UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat&&r.push(this.gOptions.mood),"CCN"===this.gOptions.casc||"UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat||r.push(this.gOptions.casc),r.length>0&&(this.gloss+="-"+r.join(".")),this.fullGloss+="-"+this.gOptions[this.gOptions.vn]+"."+("UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat?this.gOptions.mood:this.gOptions.casc)}if("UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat){var h=[];this.fullGloss+="-"+this.gOptions.ill,"ASR"===this.gOptions.ill&&(this.fullGloss+="."+this.gOptions.vld),"ASR"!==this.gOptions.ill&&h.push(this.gOptions.ill),"ASR"===this.gOptions.ill&&h.push(this.gOptions.vld),h.length>0&&(this.gloss+="-"+h.join("."))}else"THM"!==this.gOptions.c&&(this.gloss+="-"+this.gOptions.c),this.fullGloss+="-"+this.gOptions.c;if("0"==this.gOptions.concat&&(this.fullGloss+="\\"+this.gOptions.rel.split("/")[0],"UNF"!==this.gOptions.rel.split("/")[0]&&(this.gloss+="\\"+this.gOptions.rel.split("/")[0])),"3"==this.gOptions.shcut){let e=this.gloss;this.gloss=this.fullGloss,this.fullGloss=e}},refGloss(e,t,s){var i="",n="";return i+="M"==s?"":"[",n+="M"==s?"":"[",i+=e,i+="NEU"==t?"":"."+t,n+=e+"."+t,i+="M"==s?"":"+"+s+"]",n+="M"==s?"":"+"+s+"]",[i,n]},IPAcalcs(){this.ipa="";var e=!1;for(var t in(Object.keys(this.sAccent).includes(this.ithkword.charAt(0))||Object.values(this.sAccent).includes(this.ithkword.charAt(0)))&&(this.ipa+="ʔ"),this.ithkword.split(""))if(e)e=!1;else{let i=this.ithkword.charAt(parseInt(t)-1),n=this.ithkword.charAt(parseInt(t)),o=this.ithkword.charAt(parseInt(t)+1);if(Object.values(this.sAccent).includes(n)&&(this.ipa+="ˈ")," "==n)this.ipa+=" ";else if("n"===n)["k","g","x"].includes(o)?this.ipa+="ŋ":this.ipa+="n";else if("r"===n&&"r"!==o)Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="ɾ":this.ipa+="ɹ";else if("x"===n)this.ipa+=this.settings["IPA"][n][1].slice(1,-1),n==o&&(this.ipa+="ː",e=!0);else if("rr"===n+o)this.ipa+="r",e=!0;else if("řř"===n+o)this.ipa+=this.settings["IPA"]["rr"][1].slice(1,-1),e=!0;else if(["hl","hr","hm","hn","hň"].includes(n+o))"Devoiced"==this.settings["IPA"]["hx"][1]?this.ipa+={hl:"ɬ",hr:"ɾ̥",hm:"m̥",hn:"n̥","hň":"ŋ̊"}[n+o]:this.ipa+={hl:"hl",hr:"hɾ",hm:"hm",hn:"hn","hň":"hŋ"}[n+o],e=!0;else if(["ph","th","kh","ch","čh"].includes(n+o)&&(""===this.ithkword.charAt(parseInt(t)+2)||Object.keys(this.sAccent).includes(this.ithkword.charAt(parseInt(t)+2))||Object.values(this.sAccent).includes(this.ithkword.charAt(parseInt(t)+2))))this.ipa+=this.ipaLookup[n],this.ipa+="ʰ",e=!0;else if(n===o&&Object.keys(this.ipaLookup).includes(n))this.ipa+=this.ipaLookup[n],this.ipa+="ː",e=!0;else if(Object.keys(this.sAccent).includes(n)||Object.values(this.sAccent).includes(n)){var s;s=Object.values(this.sAccent).includes(n)?Object.keys(this.sAccent).find((e=>this.sAccent[e]==n)):n,s===o||s===Object.keys(this.sAccent).find((e=>this.sAccent[e]==o))?(this.ipa+="ä"==s?"æ":this.settings["IPA"][s][1].slice(1,-1),this.ipa+="ː",e=!0):["ä","ë"].includes(s)?this.ipa+="ä"==s?"æ":this.settings["IPA"][s][1].slice(1,-1):"a"===s?Object.keys(this.sAccent).includes(i)||Object.values(this.sAccent).includes(i)?this.ipa+="ɑ":this.ipa+=this.settings["IPA"][s][1].slice(1,-1):"e"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="e":this.ipa+=this.settings["IPA"][s][1].slice(1,-1):"i"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="i":this.ipa+="y"==o||"y"==i?"ɪ":this.settings["IPA"][s][1].slice(1,-1):"o"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="o":this.ipa+=this.settings["IPA"][s][1].slice(1,-1):"ö"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="ø":this.ipa+=this.settings["IPA"][s][1].slice(1,-1):"u"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="u":this.ipa+="w"==o||"w"==i?"ʊ":this.settings["IPA"][s][1].slice(1,-1):"ü"===s&&(this.ipa+="w"==o||"w"==i||"y"==o||"y"==i?"ʉ":this.settings["IPA"][s][1].slice(1,-1))}else Object.keys(this.ipaLookup).includes(n)?this.ipa+=this.ipaLookup[n]:this.ipa+="-"}},resetWord(e=null){for(var t in null==e&&(e=this.gDefault),this.gOptions=JSON.parse(JSON.stringify(e)),e)this.updateFromModal(t,JSON.parse(JSON.stringify(e[t])))}},beforeMount(){this.gOptions=JSON.parse(JSON.stringify(this.gDefault)),this.handleSendMessage()},computed:{calculateEJ(){return this.$props.selectedWord!=this.$props.sLength-1&&this.settings["Miscellaneous"].ej[1]&&Object.keys(this.cData).includes(this.$props.nextWord[0].charAt(0))}}};const ms=(0,cs.Z)(gs,[["render",je]]);var bs=ms;const ws={class:"section"};function ys(e,t,s,i,a,l){const r=(0,n.up)("OptionBox");return(0,n.wg)(),(0,n.iD)("div",null,[(0,n._)("div",ws,[(0,n.Wm)(r,{json:a.gData.word,code:"word",onSendMessage:l.handleSendMessage,ref:"word",onModal:l.openModal,class:(0,o.C_)({hidden:"normal"!=a.wordType})},null,8,["json","onSendMessage","onModal","class"])])])}var vs={name:"Ithkuil_v3",components:{OptionBox:ps},props:{listenModal:Array,listenWordtype:String,listenWord:Object},watch:{listenModal(e){this.updateFromModal(e[0],e[1])},listenWordtype(e){this.switchWordType(e)},listenWord(e){for(var t in this.gOptions=JSON.parse(JSON.stringify(e)),e)this.updateFromModal(t,JSON.parse(JSON.stringify(e[t])));this.handleSendMessage(e.root,"root")},ithkword(e){this.$emit("ithkword",[e,this.ipa,this.gloss,this.fullGloss]),this.$emit("gEmit",this.gOptions)},ipa(e){this.$emit("ithkword",[this.ithkword,e,this.gloss,this.fullGloss])},gloss(e){this.$emit("ithkword",[this.ithkword,this.ipa,e,this.fullGloss])},fullGloss(e){this.$emit("ithkword",[this.ithkword,this.ipa,this.gloss,e])}},data(){return{defaultWord:"",settings:{"Category A":{s1:["Setting 1: ","defaultval",["defaultval","Fancy New Value"]]},"Category B":{s2:["Setting 2: ",!1]}},gDefault:{word:""},wordType:"normal",tabGroups:{normal:[["word"]]},gOptions:{},ithkword:"",ipa:"",gloss:"",fullGloss:"",gData:{word:{type:"text",title:"placeholder",popupdesc:"Hopefully this works :)"}}}},methods:{async handleSendMessage(e="",t=""){t&&(this.gOptions[t]=e),this.ithkword=this.gOptions.word,this.settings["Category B"].s2[1]&&(this.ithkword+="AAAA"),this.ipa=this.gOptions.word,this.gloss=this.gOptions.word,this.fullGloss=this.gOptions.word},openModal(e){this.$emit("modal",e)},updateFromModal(e,t){this.$refs[e].updateValue(t)},resetWord(e=null){for(var t in null==e&&(e=this.gDefault),this.gOptions=JSON.parse(JSON.stringify(e)),e)this.updateFromModal(t,JSON.parse(JSON.stringify(e[t])))},switchWordType(e){this.wordType=e,this.handleSendMessage()}},beforeMount(){this.gOptions=JSON.parse(JSON.stringify(this.gDefault)),this.handleSendMessage()}};const Ss=(0,cs.Z)(vs,[["render",ys]]);var Ms=Ss,Ts={name:"App",components:{Ithkuil_v4:bs,Ithkuil_v3:Ms},data(){return{langVer:"4",modalListen:[],wordType:"normal",modalContent:"",modalID:"",modalTabs:[],gOptions:{},gSOptions:{},ithkword:"",gloss:"",fullGloss:"",ipa:"",casePopupStart:"THM",casePopupEnd:"PLM",casePopupTitle:"Allcases",tabGroups:[["root","stem","spec"],["func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","abslvl","asp"],["casc","c"],["mood","ill","vld"]],SRtabGroups:[["affRoot","arDegree"],["spec","func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","abslvl","asp"],["casc","c"],["mood","ill","vld"]],REFtabGroups:[["ref","refEff","refPersp"],["spec","func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","abslvl","asp"],["casc","c"],["mood","ill","vld"]],sentenceOpen:!1,sentence:[],selectedWord:0,deleteWordMode:!1,oldScreenSize:0,hovering:null,isMouseDown:!1,draggedWord:null,settingsClone:{}}},methods:{notAvailableAlert(e){alert(e+" is not available yet!")},openModal(e){let t=!1,s=JSON.parse(JSON.stringify(this.$refs[this.langVer].tabGroups[this.wordType]));this.modalID=e,isNaN(e.charAt(e.length-1))?this.modalContent=this.$refs[this.langVer].gData[e]:this.modalContent=this.$refs[this.langVer].gData[e.slice(0,-1)];for(let i of s)i.includes(e)&&(this.modalTabs=[...i],t=!0);t||(this.modalTabs=[]),document.getElementById("modal").style.display="block","c"===e&&this.changeClassTab("THM","PLM","Allcases")},closeModal(){document.getElementById("modal").style.display="none"},openDropdown(e){document.getElementById(e).classList.toggle("hidden")},closeDropdown(e,t={},s=!1){if(s)document.getElementById(e).classList.add("hidden");else try{t.path[1].id!=e&&document.getElementById(e).classList.add("hidden")}catch{}},updateFromModal(e,t){this.modalListen=[e,t]},scrollToTop(){document.getElementById("modal").scrollTo(0,0)},changeClassTab(e,t,s){this.casePopupStart=e,this.casePopupEnd=t,this.casePopupTitle=s;var i=document.getElementsByClassName("tablinks");for(let n=0;n=650?this.sentenceOpen&&!e?this.closeNav():(this.sentenceOpen=!0,document.getElementById("sidebar").style.width="250px",document.getElementById("sFooter").style.width="250px",document.getElementById("content").style.marginRight="250px",document.getElementById("header").style.marginRight="250px",document.getElementById("footer").style.marginRight="250px",document.getElementById("modal").style.marginRight="250px",document.getElementById("modalToTop").style.right="270px"):(e&&this.closeNav(),this.sentenceOpen=!0,document.getElementById("sidebar").style.width="100%",document.getElementById("sFooter").style.width="100%")},closeNav(){this.sentenceOpen=!1,document.getElementById("sidebar").style.width="0",document.getElementById("sFooter").style.width="0",document.getElementById("content").style.marginRight="0",document.getElementById("header").style.marginRight="0",document.getElementById("footer").style.marginRight="0",document.getElementById("modal").style.marginRight="0",document.getElementById("modalToTop").style.right="20px"},switchWord(e,t=!1){this.deleteWordMode&&!t?confirm("Really delete "+this.sentence[e][0]+(this.sentence[e][3]?" ("+this.sentence[e][3]+")":"")+"?")&&(this.sentence.splice(e,1),0==this.sentence.length&&this.sentence.push([this.$refs[this.langVer].defaultWord,JSON.parse(JSON.stringify(this.$refs[this.langVer].gDefault)),"normal",""]),(this.sentence.length<=this.selectedWord||e=650&&window.innerWidth<650||this.oldScreenSize<650&&window.innerWidth>=650)&&this.sentenceOpen&&this.openNav(!0),this.oldScreenSize=window.innerWidth},hoverChange(e){if(this.hovering=e,this.isMouseDown&&null!==this.draggedWord&&this.draggedWord!==this.hovering){var t=JSON.parse(JSON.stringify(this.sentence[this.draggedWord]));this.sentence.splice(this.draggedWord,1),this.sentence.splice(this.hovering,0,JSON.parse(JSON.stringify(t))),this.selectedWord===this.draggedWord?this.switchWord(this.hovering,!0):this.selectedWord===this.hovering&&this.switchWord(this.draggedWord,!0);let s=document.getElementsByClassName("ta")[this.draggedWord].style.height;document.getElementsByClassName("ta")[this.draggedWord].style.height=document.getElementsByClassName("ta")[e].style.height,document.getElementsByClassName("ta")[e].style.height=s,this.draggedWord=e}},onMouseDownF(){this.deleteWordMode||(this.isMouseDown=!0)},onMouseUpF(){this.deleteWordMode||(this.isMouseDown=!1,this.draggedWord=null)},beginDrag(e){this.deleteWordMode?this.draggedWord=null:this.isMouseDown&&(this.draggedWord=e)},resizeTA(e){e.target.style.height="18px",e.target.style.height=e.target.scrollHeight+"px"},copytoCB(e){try{navigator.clipboard.writeText(e).then((function(){alert("Copied to clipboard successfully")}),(function(){alert("Could not copy to clipboard")}))}catch{alert("Could not copy to clipboard")}},setCookie(e,t,s){const i=new Date;i.setTime(i.getTime()+24*s*60*60*1e3);let n="expires="+i.toUTCString();document.cookie=e+"="+t+";"+n+";path=/"},getCookie(e){let t=e+"=",s=decodeURIComponent(document.cookie),i=s.split(";");for(let n=0;n0){console.log(e.target.files);let t=new FileReader;t.readAsText(e.target.files[0]),t.onload=()=>{try{this.handleImportedWord(JSON.parse(t.result)),this.switchWord(0,!0),document.getElementById("fimport").value=""}catch{alert("Could not import correctly.")}}}},exportToJsonFile(e){let t=JSON.stringify(e),s="data:application/json;charset=utf-8,"+encodeURIComponent(t),i="sentence.json",n=document.createElement("a");n.setAttribute("href",s),n.setAttribute("download",i),n.click()},openFileDialog(){document.getElementById("filab").click()}},beforeMount(){this.sentence.unshift([this.ithkword,JSON.parse(JSON.stringify(this.gOptions)),"normal",""])},directives:{clickOutside:Ie().directive},created(){let e=new URLSearchParams(window.location.search);e.has("v")&&("3"!=e.get("v")?this.langVer="4":this.langVer=e.get("v")),this.oldScreenSize=window.innerWidth,window.addEventListener("resize",this.onScreenResize),window.addEventListener("mousedown",this.onMouseDownF),window.addEventListener("mouseup",this.onMouseUpF),window.addEventListener("touchstart",this.onMouseDownF),window.addEventListener("touchend",this.onMouseUpF)},unmounted(){window.removeEventListener("resize",this.onScreenResize),window.removeEventListener("mousedown",this.onMouseUpF),window.removeEventListener("mouseup",this.onMouseDownF),window.removeEventListener("touchstart",this.onMouseUpF),window.removeEventListener("touchend",this.onMouseDownF)},mounted(){this.settingsClone=JSON.parse(JSON.stringify(this.$refs[this.langVer].settings))}};const Os=(0,cs.Z)(Ts,[["render",Oe]]);var Cs=Os,Is=s(431);(0,Is.z)("/ithkapp/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}}),(0,i.ri)(Cs).mount("#app")}},t={};function s(i){var n=t[i];if(void 0!==n)return n.exports;var o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,s),o.exports}s.m=e,function(){var e=[];s.O=function(t,i,n,o){if(!i){var a=1/0;for(c=0;c=o)&&Object.keys(s.O).every((function(e){return s.O[e](i[r])}))?i.splice(r--,1):(l=!1,o0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[i,n,o]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){s.d=function(e,t){for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,i){var n,o,a=i[0],l=i[1],r=i[2],h=0;if(a.some((function(t){return 0!==e[t]}))){for(n in l)s.o(l,n)&&(s.m[n]=l[n]);if(r)var c=r(s)}for(t&&t(i);h\r\n Ithkapp | {{ithkword}}\r\n \r\n \r\n
\r\n

Ithkapp

\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Affixual\r\n Modular\r\n Register\r\n Suppletive\r\n Bias\r\n
\r\n
\r\n
\r\n \r\n
\r\n Normal\r\n Affix as Root\r\n Personal-Referential Root\r\n Single/Dual-Referential\r\n Single Referential w/ Case-Stacking\r\n Non-Ithkuil (Borrowed) Word\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n Aspectual\r\n Affixual\r\n Bias\r\n
\r\n
\r\n
\r\n \r\n
\r\n Normal\r\n Personal Reference\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n gOptions = JSON.parse(JSON.stringify(g))\"\r\n @ithkword=\"(w) => {ithkword = w[0]; ipa = w[1]; gloss = w[2]; fullGloss = w[3]; sentence[selectedWord] = JSON.parse(JSON.stringify([ithkword,gOptions,wordType,sentence[selectedWord][3]]));}\"\r\n :listenModal=\"modalListen\" :listenWordtype=\"wordType\" :listenWord=\"gSOptions\" :selectedWord=\"selectedWord\" :sLength=\"sentence.length\" :nextWord=\"this.sentence[selectedWord+1]\"/>\r\n\r\n gOptions = JSON.parse(JSON.stringify(g))\"\r\n @ithkword=\"(w) => {ithkword = w[0]; ipa = w[1]; gloss = w[2]; fullGloss = w[3]; sentence[selectedWord] = JSON.parse(JSON.stringify([ithkword,gOptions,wordType,sentence[selectedWord][3]]));}\"\r\n :listenModal=\"modalListen\" :listenWord=\"gSOptions\" :listenWordtype=\"wordType\"/>\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n

{{ithkword}}
\r\n [{{ipa}}]
\r\n {{gloss}}

\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n ×\r\n
\r\n
\r\n

Settings

\r\n
\r\n

{{section}}

\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n This project on GitHub\r\n
\r\n
\r\n

{{modalContent.title}}

\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{modalContent.options[option].name}}{{option === option.toString().toUpperCase() && ![\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\"].includes(option.toString()) ? \" (\"+option+\")\" : \"\"}}

\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{{modalContent.options[option].name}}{{option === option.toString().toUpperCase() && ![\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\"].includes(option.toString()) ? \" (\"+option+\")\" : \"\"}}

\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Your sentence:

\r\n

{{concatenateSentence(sentence)}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n ×\r\n

Sentence Menu

\r\n
\r\n
\r\n
\r\n

{{word[0]}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","\r\n\r\n","\n\n\n\n\n\n","import { render } from \"./optionbox.vue?vue&type=template&id=4abae525&scoped=true\"\nimport script from \"./optionbox.vue?vue&type=script&lang=js\"\nexport * from \"./optionbox.vue?vue&type=script&lang=js\"\n\nimport \"./optionbox.vue?vue&type=style&index=0&id=4abae525&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\nickl\\\\OneDrive\\\\Desktop\\\\School stuff\\\\2022\\\\Digi\\\\ithkapp\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4abae525\"]])\n\nexport default __exports__","import { render } from \"./4.vue?vue&type=template&id=57b50f00\"\nimport script from \"./4.vue?vue&type=script&lang=js\"\nexport * from \"./4.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"C:\\\\Users\\\\nickl\\\\OneDrive\\\\Desktop\\\\School stuff\\\\2022\\\\Digi\\\\ithkapp\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./3.vue?vue&type=template&id=d43e21f2\"\nimport script from \"./3.vue?vue&type=script&lang=js\"\nexport * from \"./3.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"C:\\\\Users\\\\nickl\\\\OneDrive\\\\Desktop\\\\School stuff\\\\2022\\\\Digi\\\\ithkapp\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=1f1b9bf6\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=1f1b9bf6&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\nickl\\\\OneDrive\\\\Desktop\\\\School stuff\\\\2022\\\\Digi\\\\ithkapp\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready () {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered () {\n console.log('Service worker has been registered.')\n },\n cached () {\n console.log('Content has been cached for offline use.')\n },\n updatefound () {\n console.log('New content is downloading.')\n },\n updated () {\n console.log('New content is available; please refresh.')\n },\n offline () {\n console.log('No internet connection found. App is running in offline mode.')\n },\n error (error) {\n console.error('Error during service worker registration:', error)\n }\n })\n}\n","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport './registerServiceWorker'\r\n\r\ncreateApp(App).mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkithkapp\"] = self[\"webpackChunkithkapp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(940); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","id","_createElementVNode","style","_hoisted_3","_hoisted_5","href","target","_hoisted_65","_hoisted_67","for","_hoisted_69","_hoisted_71","_toDisplayString","$data","_hoisted_2","onClick","$options","title","_createElementBlock","active","includes","event","_createBlock","_component_Ithkuil_v4","ref","onModal","onGEmit","g","JSON","parse","stringify","onIthkword","w","listenModal","listenWordtype","listenWord","selectedWord","sLength","length","nextWord","sentence","_component_Ithkuil_v3","_hoisted_26","_hoisted_28","_hoisted_29","_Fragment","_renderList","tabcode","key","$refs","gData","isNaN","slice","_hoisted_32","hidden","_hoisted_33","Object","keys","section","setOpt","settings","onChange","handleSendMessage","spOpt","type","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","innerHTML","popupdesc","_hoisted_42","_hoisted_44","options","indexOf","casePopupStart","casePopupEnd","option","modalSelected","gOptions","name","toString","toUpperCase","desc","image","src","alt","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_55","_hoisted_56","_hoisted_59","word","index","deletable","dragging","onMouseover","onMouseleave","onMousemove","onTouchstart","placeholder","$event","onInput","rows","_hoisted_63","accept","push","defaultWord","gDefault","_hoisted_1","_createVNode","_component_OptionBox","json","affRoot","code","onSendMessage","whitelist","cData","concat","arDegree","refEff","refPersp","c","root","stem","spec","func","ver","shcut","rel","disabled","Vafx","aff6","VIIafx","plex","simil","cctd","affil","ext","persp","ess","modAppliesTo","modNumber","cn","mood","casc","_hoisted_4","vn","val","vn2","pha","eff","lvl","asp","vn3","_hoisted_6","vh","wordType","modScope","v4n","suppType","ctxt","show","ill","vld","affixjunct","reqAff","initialAffScope","otherAffScope","affScopeOf","register","regStartOrEnd","refAffix","twoCs","twoRefs","bias","freeType","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_24","_hoisted_25","_hoisted_27","_hoisted_30","_hoisted_31","_hoisted_34","_hoisted_35","_hoisted_40","_hoisted_41","_hoisted_45","value","_hoisted_75","_hoisted_79","$emit","$props","maxlength","affix","calc6","_hoisted_58","pop","opt","short","affixes","every","e","_hoisted_70","_hoisted_73","text","_hoisted_74","_hoisted_77","split","x","toLowerCase","y","_hoisted_78","_hoisted_81","_hoisted_82","_hoisted_66","props","String","Boolean","Array","Function","data","computed","OBclass","error","this","disabledbox","notShown","mounted","methods","updateValue","toUpdate","i","waitForElm","then","elm","console","log","document","getElementById","selectedIndex","idx","dAffil","dPlex","dSimil","dCctd","dExt","dEss","dPersp","selector","Promise","resolve","querySelector","observer","MutationObserver","disconnect","observe","body","childList","subtree","__exports__","components","OptionBox","Number","watch","arr","updateFromModal","str","switchWordType","obj","property","ithkword","ipa","gloss","fullGloss","grammardata","consdata","sVowels","ipaLookup","shortcutting","shcuttypeA","shcuttypeB","slotVIIshortcut","sDip","sAccent","slots","cut","cascOrMood","eightSix","allographs","tabGroups","async","outval","gCode","replaceAll","afx","calculateWord","IPAcalcs","glossCalcs","calculateAdjunct","notAvailableAlert","al","alert","openModal","reference","output","calculateSlot9","slot9gStop","afxjunctV","afxjunctC","finalvowel","ll","allowedAtEnd","out","lll","k","allowedAtStart","recalcVowels","markStress","ph","calculateSlot8a","calculateSlot8b","asp4","refA","calculateReference","ess2","gla","refGloss","c1","c2","refB","ref2","refEff2","refPersp2","glb","charAt","calculateEJ","Aref","q","p","assign","refAff","pph","consAllowed","calculateSlot3","calculateSlot4","calculateSlot6","shortcutCalcs","calculateSlot1","calculateSlot2","calculateSlot5","calculateSlot7","finalCalcs","phh","lastVII","vowelColumn","insertGStop","j","aff","iAffil","iPlex","iSimil","iCctd","iExt","iEss","iPersp","AFFIL","CONF","EXT","PSPESS","ph1","key1","replace","ph2","key2","oldOut","geminate","prototype","hasOwnProperty","call","l","num","override","ca","pphh","cfound","vowels","endOfWord","getCons","tags","outp","element","removeDuplicate","strin","prevChar","char","consonants","nogem","ra","rb","da","db","dc","dab","qa","qb","qc","qd","lastCons","nogem2","eba","ebb","eca","ecb","ecc","eda","edb","edc","edbc","edd","conson","a","b","stressType","thisword","counter","conscl","wordVowels","match","substring","slot9saved","s8","shortenSlot8","join","cutVal","configgCode","s2c","viaf","s4c","affx","configCode","s6c","s8c","s9c","fullPut","skipnext","values","prevchar","parseInt","nextchar","vwl","find","resetWord","gO","beforeMount","ej","s2","Ithkuil_v4","Ithkuil_v3","langVer","modalListen","modalContent","modalID","modalTabs","gSOptions","casePopupTitle","SRtabGroups","REFtabGroups","sentenceOpen","deleteWordMode","oldScreenSize","hovering","isMouseDown","draggedWord","settingsClone","tGroupFound","tG","display","changeClassTab","closeModal","openDropdown","classList","toggle","closeDropdown","add","path","scrollToTop","scrollTo","cStart","cEnd","cTitle","tablinks","getElementsByClassName","className","concatenateSentence","sent","openNav","window","innerWidth","closeNav","width","marginRight","right","switchWord","confirm","splice","onScreenResize","hoverChange","sW","height","onMouseDownF","onMouseUpF","beginDrag","resizeTA","scrollHeight","copytoCB","navigator","clipboard","writeText","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","cookie","getCookie","decodedCookie","decodeURIComponent","deleteCookie","handleImportedWord","snt","wID","gopt","uploadJSON","files","reader","FileReader","readAsText","onload","result","exportToJsonFile","jsonData","dataStr","dataUri","encodeURIComponent","exportFileDefaultName","linkElement","createElement","setAttribute","click","openFileDialog","unshift","directives","clickOutside","vClickOutside","created","urlParams","URLSearchParams","location","search","has","get","addEventListener","unmounted","removeEventListener","render","ready","registered","cached","updatefound","updated","offline","createApp","App","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","r","n","getter","__esModule","definition","o","defineProperty","enumerable","globalThis","prop","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/app.c30aa248.js b/dist/js/app.c30aa248.js deleted file mode 100644 index 7b98f7f..0000000 --- a/dist/js/app.c30aa248.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={11:function(e,t,s){var i=s(242),n=s(396),o=s(139);const a={class:"tab",id:"header"},l=(0,n._)("h1",{style:{float:"left","padding-left":"20px","font-size":"16px","padding-top":"2px"}},"Ithkapp",-1),r=(0,n._)("i",{class:"fa-solid fa-gear fa-xs"},null,-1),h=[r],c=(0,n._)("i",{class:"fa-solid fa-align-right fa-xs"},null,-1),d=[c],p={key:0,class:"dropdown"},u=(0,n.Uk)("Adjunct ▼"),f=[u],g={class:"dropdown-content hidden",id:"adjDD"},m={key:1,class:"dropdown"},b=(0,n.Uk)("Formative ▼"),w=[b],y={class:"dropdown-content hidden",id:"formDD"},v={key:2,class:"dropdown"},S=(0,n.Uk)("Adjunct ▼"),M=[S],T={class:"dropdown-content hidden",id:"adj3"},O={key:3,class:"dropdown"},C=(0,n.Uk)("Formative ▼"),I=[C],x={class:"dropdown-content hidden",id:"form3"},A={id:"content"},k={id:"footer"},E={class:"word"},D=(0,n._)("br",null,null,-1),j={class:"smalltext"},P=(0,n._)("br",null,null,-1),N=["title"],R={id:"modal-content"},V={class:"tab"},W=["onClick"],_=(0,n._)("h2",{style:{"text-align":"center"}},"Settings",-1),L=["onUpdate:modelValue"],U=["onUpdate:modelValue"],F=(0,n._)("br",null,null,-1),z=(0,n._)("br",null,null,-1),G=(0,n._)("a",{href:"https://github.com/TheXXOs/ithkapp",target:"_blank"},"This project on GitHub",-1),B={key:0},X={style:{"text-align":"center"}},q=["innerHTML"],H={key:0},J={key:0,class:"tab"},$={key:1},Y=["onClick"],K=["innerHTML"],Q=["onClick"],Z=["src","alt"],ee=["innerHTML"],te={key:1},se=(0,n._)("br",null,null,-1),ie=(0,n._)("br",null,null,-1),ne=(0,n._)("p",{style:{"text-align":"center"}},"Your sentence:",-1),oe={style:{"text-align":"center"}},ae=(0,n._)("br",null,null,-1),le=(0,n._)("br",null,null,-1),re={id:"sidebar"},he={id:"sHeader"},ce=(0,n._)("h3",{style:{"padding-left":"20px"}},"Sentence Menu",-1),de={id:"sContent"},pe=["onClick","onMouseover","onMousemove","onTouchstart"],ue=["onUpdate:modelValue"],fe=(0,n._)("br",null,null,-1),ge={id:"sFooter"},me=(0,n._)("i",{class:"fa-solid fa-plus fa-xl"},null,-1),be=[me],we=(0,n._)("i",{class:"fa-solid fa-floppy-disk fa-xl"},null,-1),ye=[we],ve=(0,n._)("label",{id:"filab",for:"fimport"},[(0,n._)("i",{class:"fa-solid fa-arrow-up-from-bracket fa-xl"})],-1),Se=[ve],Me=(0,n._)("i",{class:"fa-solid fa-share-from-square fa-xl"},null,-1),Te=[Me];function Oe(e,t,s,r,c,u){const b=(0,n.up)("Ithkuil_v4"),S=(0,n.up)("Ithkuil_v3"),C=(0,n.Q2)("click-outside");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("title",null,"Ithkapp | "+(0,o.zw)(c.ithkword),1),(0,n._)("div",a,[l,(0,n._)("span",{class:"close",style:{"padding-left":"10px"},onClick:t[0]||(t[0]=e=>u.openModal("settings")),title:"Settings"},h),(0,n._)("span",{class:"close",style:(0,o.j5)([{"padding-left":"10px",height:"38px"},c.sentenceOpen?"background-color:rgb(179, 255, 230); color:#333;":""]),onClick:t[1]||(t[1]=e=>u.openNav(!1)),title:"Sentence Menu"},d,4),4==c.langVer?((0,n.wg)(),(0,n.iD)("div",p,[(0,n.wy)(((0,n.wg)(),(0,n.iD)("button",{class:(0,o.C_)({active:!["normal","affRoot","refRoot","ref","refCS","free"].includes(c.wordType)}),onClick:t[2]||(t[2]=e=>u.openDropdown("adjDD"))},f,2)),[[C,e=>u.closeDropdown("adjDD",e)]]),(0,n._)("div",g,[(0,n._)("span",{onClick:t[3]||(t[3]=e=>u.switchWordType("affixjunct")),class:(0,o.C_)({active:"affixjunct"==c.wordType})},"Affixual",2),(0,n._)("span",{onClick:t[4]||(t[4]=e=>u.switchWordType("modular")),class:(0,o.C_)({active:"modular"==c.wordType})},"Modular",2),(0,n._)("span",{onClick:t[5]||(t[5]=e=>u.switchWordType("register")),class:(0,o.C_)({active:"register"==c.wordType})},"Register",2),(0,n._)("span",{onClick:t[6]||(t[6]=e=>u.switchWordType("suppletive")),class:(0,o.C_)({active:"suppletive"==c.wordType})},"Suppletive",2),(0,n._)("span",{onClick:t[7]||(t[7]=e=>u.switchWordType("bias")),class:(0,o.C_)({active:"bias"==c.wordType})},"Bias",2)])])):(0,n.kq)("",!0),4==c.langVer?((0,n.wg)(),(0,n.iD)("div",m,[(0,n.wy)(((0,n.wg)(),(0,n.iD)("button",{class:(0,o.C_)({active:["normal","affRoot","refRoot","ref","refCS","free"].includes(c.wordType)}),onClick:t[8]||(t[8]=e=>u.openDropdown("formDD"))},w,2)),[[C,e=>u.closeDropdown("formDD",e)]]),(0,n._)("div",y,[(0,n._)("span",{onClick:t[9]||(t[9]=e=>u.switchWordType("normal")),class:(0,o.C_)({active:"normal"==c.wordType})},"Normal",2),(0,n._)("span",{onClick:t[10]||(t[10]=e=>u.switchWordType("affRoot")),class:(0,o.C_)({active:"affRoot"==c.wordType})},"Affix as Root",2),(0,n._)("span",{onClick:t[11]||(t[11]=e=>u.switchWordType("refRoot")),class:(0,o.C_)({active:"refRoot"==c.wordType})},"Personal-Referential Root",2),(0,n._)("span",{onClick:t[12]||(t[12]=e=>u.switchWordType("ref")),class:(0,o.C_)({active:"ref"==c.wordType})},"Single/Dual-Referential",2),(0,n._)("span",{onClick:t[13]||(t[13]=e=>u.switchWordType("refCS")),class:(0,o.C_)({active:"refCS"==c.wordType})},"Single Referential w/ Case-Stacking",2),(0,n._)("span",{onClick:t[14]||(t[14]=e=>u.switchWordType("free")),class:(0,o.C_)({active:"free"==c.wordType})},"Non-Ithkuil (Borrowed) Word",2)])])):(0,n.kq)("",!0),3==c.langVer?((0,n.wg)(),(0,n.iD)("div",v,[(0,n.wy)(((0,n.wg)(),(0,n.iD)("button",{class:(0,o.C_)({active:["aspect","affix","bias"].includes(c.wordType)}),onClick:t[15]||(t[15]=e=>u.openDropdown("adj3"))},M,2)),[[C,e=>u.closeDropdown("adj3",e)]]),(0,n._)("div",T,[(0,n._)("span",{onClick:t[16]||(t[16]=e=>u.switchWordType("aspect")),class:(0,o.C_)({active:"aspect"==c.wordType})},"Aspectual",2),(0,n._)("span",{onClick:t[17]||(t[17]=e=>u.switchWordType("affix")),class:(0,o.C_)({active:"affix"==c.wordType})},"Affixual",2),(0,n._)("span",{onClick:t[18]||(t[18]=e=>u.switchWordType("bias")),class:(0,o.C_)({active:"bias"==c.wordType})},"Bias",2)])])):(0,n.kq)("",!0),3==c.langVer?((0,n.wg)(),(0,n.iD)("div",O,[(0,n.wy)(((0,n.wg)(),(0,n.iD)("button",{class:(0,o.C_)({active:["normal","ref"].includes(c.wordType)}),onClick:t[19]||(t[19]=e=>u.openDropdown("form3"))},I,2)),[[C,e=>u.closeDropdown("form3",e)]]),(0,n._)("div",x,[(0,n._)("span",{onClick:t[20]||(t[20]=e=>u.switchWordType("normal")),class:(0,o.C_)({active:"normal"==c.wordType})},"Normal",2),(0,n._)("span",{onClick:t[21]||(t[21]=e=>u.switchWordType("ref")),class:(0,o.C_)({active:"ref"==c.wordType})},"Personal Reference",2)])])):(0,n.kq)("",!0)]),(0,n._)("div",A,["4"==c.langVer?((0,n.wg)(),(0,n.j4)(b,{key:0,ref:"4",onModal:u.openModal,onGEmit:t[22]||(t[22]=e=>c.gOptions=JSON.parse(JSON.stringify(e))),onIthkword:t[23]||(t[23]=e=>{c.ithkword=e[0],c.ipa=e[1],c.gloss=e[2],c.fullGloss=e[3],c.sentence[c.selectedWord]=JSON.parse(JSON.stringify([c.ithkword,c.gOptions,c.wordType,c.sentence[c.selectedWord][3]]))}),listenModal:c.modalListen,listenWordtype:c.wordType,listenWord:c.gSOptions,selectedWord:c.selectedWord,sLength:c.sentence.length,nextWord:this.sentence[c.selectedWord+1]},null,8,["onModal","listenModal","listenWordtype","listenWord","selectedWord","sLength","nextWord"])):(0,n.kq)("",!0),"3"==c.langVer?((0,n.wg)(),(0,n.j4)(S,{key:1,ref:"3",onModal:u.openModal,onGEmit:t[24]||(t[24]=e=>c.gOptions=JSON.parse(JSON.stringify(e))),onIthkword:t[25]||(t[25]=e=>{c.ithkword=e[0],c.ipa=e[1],c.gloss=e[2],c.fullGloss=e[3],c.sentence[c.selectedWord]=JSON.parse(JSON.stringify([c.ithkword,c.gOptions,c.wordType,c.sentence[c.selectedWord][3]]))}),listenModal:c.modalListen,listenWord:c.gSOptions,listenWordtype:c.wordType},null,8,["onModal","listenModal","listenWord","listenWordtype"])):(0,n.kq)("",!0)]),(0,n._)("div",k,[(0,n._)("p",null,[(0,n._)("span",E,[(0,n._)("b",null,(0,o.zw)(c.ithkword),1)]),D,(0,n._)("span",j,[(0,n.Uk)("["+(0,o.zw)(c.ipa)+"]",1),P,(0,n._)("span",{title:c.fullGloss},(0,o.zw)(c.gloss),9,N)])])]),(0,n._)("div",{id:"modal",class:"modal",onClick:t[40]||(t[40]=(0,i.iM)((e=>u.closeModal()),["self"]))},[(0,n._)("div",R,[(0,n._)("div",V,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(c.modalTabs,(e=>((0,n.wg)(),(0,n.iD)("button",{key:e,class:(0,o.C_)({active:e===c.modalID}),onClick:t=>{u.closeModal(),u.openModal(e)}},(0,o.zw)(this.$refs[c.langVer].gData[isNaN(e.slice(-1))?e:e.slice(0,-1)].title),11,W)))),128)),"share"==c.modalID?((0,n.wg)(),(0,n.iD)("button",{key:0,onClick:t[26]||(t[26]=e=>u.notAvailableAlert("Sharing sentences via hyperlink"))},"Create Hyperlink")):(0,n.kq)("",!0),"share"==c.modalID?((0,n.wg)(),(0,n.iD)("button",{key:1,onClick:t[27]||(t[27]=e=>u.copytoCB(u.concatenateSentence(c.sentence)))},"Copy to Clipboard")):(0,n.kq)("",!0),(0,n._)("span",{class:"close",onClick:t[28]||(t[28]=e=>u.closeModal())},"×")]),(0,n._)("div",{class:(0,o.C_)({hidden:"settings"!=c.modalID}),style:{"padding-left":"20px","padding-right":"20px","padding-bottom":"20px"}},[_,((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(Object.keys(c.settingsClone),(e=>((0,n.wg)(),(0,n.iD)("div",{key:e},[(0,n._)("h3",null,(0,o.zw)(e),1),((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(Object.keys(c.settingsClone[e]),(s=>((0,n.wg)(),(0,n.iD)("span",{key:s},[(0,n._)("label",null,(0,o.zw)(c.settingsClone[e][s][0]),1),c.settingsClone[e][s].length>2?(0,n.wy)(((0,n.wg)(),(0,n.iD)("select",{key:0,"onUpdate:modelValue":t=>this.$refs[c.langVer].settings[e][s][1]=t,onChange:t[29]||(t[29]=e=>this.$refs[c.langVer].handleSendMessage())},[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(c.settingsClone[e][s][2],(e=>((0,n.wg)(),(0,n.iD)("option",{key:e},(0,o.zw)(e),1)))),128))],40,L)),[[i.bM,this.$refs[c.langVer].settings[e][s][1]]]):(0,n.wy)(((0,n.wg)(),(0,n.iD)("input",{key:1,type:"checkbox","onUpdate:modelValue":t=>this.$refs[c.langVer].settings[e][s][1]=t,onChange:t[30]||(t[30]=e=>this.$refs[c.langVer].handleSendMessage())},null,40,U)),[[i.e8,this.$refs[c.langVer].settings[e][s][1]]]),F,z])))),128))])))),128)),G],2),"settings"!=c.modalID&&"share"!=c.modalID?((0,n.wg)(),(0,n.iD)("div",B,[(0,n._)("h2",X,(0,o.zw)(c.modalContent.title),1),(0,n._)("p",{style:{"text-align":"center"},innerHTML:c.modalContent.popupdesc},null,8,q),""==c.modalContent.type?((0,n.wg)(),(0,n.iD)("div",H,[["c","c1","c2"].includes(c.modalID)?((0,n.wg)(),(0,n.iD)("div",J,[(0,n._)("button",{class:"tablinks active",onClick:t[31]||(t[31]=e=>u.changeClassTab("THM","PLM","Allcases")),id:"Allcases"},"All"),(0,n._)("button",{class:"tablinks",onClick:t[32]||(t[32]=e=>u.changeClassTab("THM","IND","Transrelative")),id:"Transrelative"},"Transrelative"),(0,n._)("button",{class:"tablinks",onClick:t[33]||(t[33]=e=>u.changeClassTab("POS","PAR","Appositive")),id:"Appositive"},"Appositive"),(0,n._)("button",{class:"tablinks",onClick:t[34]||(t[34]=e=>u.changeClassTab("APL","CSD","Associative")),id:"Associative"},"Associative"),(0,n._)("button",{class:"tablinks",onClick:t[35]||(t[35]=e=>u.changeClassTab("FUN","SIT","Adverbial")),id:"Adverbial"},"Adverbial"),(0,n._)("button",{class:"tablinks",onClick:t[36]||(t[36]=e=>u.changeClassTab("PRN","RLT","Relational")),id:"Relational"},"Relational"),(0,n._)("button",{class:"tablinks",onClick:t[37]||(t[37]=e=>u.changeClassTab("ACT","VOC","Affinitive")),id:"Affinitive"},"Affinitive"),(0,n._)("button",{class:"tablinks",onClick:t[38]||(t[38]=e=>u.changeClassTab("LOC","PLM","Spatio-Temporal")),id:"Spatio-Temporal"},"Spatio-Temporal")])):(0,n.kq)("",!0),["c","c1","c2"].includes(c.modalID)?((0,n.wg)(),(0,n.iD)("div",$,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(Object.keys(c.modalContent.options).slice(Object.keys(c.modalContent.options).indexOf(this.casePopupStart),Object.keys(c.modalContent.options).indexOf(this.casePopupEnd)+1),(e=>((0,n.wg)(),(0,n.iD)("div",{key:c.modalContent.options[e]},[(0,n._)("div",{onClick:t=>u.updateFromModal(c.modalID,e),class:(0,o.C_)(["modalOption",{modalSelected:this.$refs[c.langVer].gOptions[c.modalID]==e}])},[(0,n._)("h3",null,(0,o.zw)(c.modalContent.options[e].name)+(0,o.zw)(e!==e.toString().toUpperCase()||["0","1","2","3","4","5","6","7","8","9"].includes(e.toString())?"":" ("+e+")"),1),(0,n._)("p",{innerHTML:c.modalContent.options[e].desc},null,8,K)],10,Y)])))),128))])):((0,n.wg)(!0),(0,n.iD)(n.HY,{key:2},(0,n.Ko)(Object.keys(c.modalContent.options),(e=>((0,n.wg)(),(0,n.iD)("div",{key:c.modalContent.options[e]},[(0,n._)("div",{onClick:t=>u.updateFromModal(c.modalID,e),class:(0,o.C_)(["modalOption",{modalSelected:this.$refs[c.langVer].gOptions[c.modalID]==e}]),style:(0,o.j5)(c.modalContent.options[e].image?"min-height:170px;":"")},[c.modalContent.options[e].image?((0,n.wg)(),(0,n.iD)("img",{key:0,src:c.modalContent.options[e].image,alt:c.modalContent.options[e].name,style:{float:"right",height:"150px","padding-top":"10px","padding-left":"10px","padding-bottom":"10px"}},null,8,Z)):(0,n.kq)("",!0),(0,n._)("h3",null,(0,o.zw)(c.modalContent.options[e].name)+(0,o.zw)(e!==e.toString().toUpperCase()||["0","1","2","3","4","5","6","7","8","9"].includes(e.toString())?"":" ("+e+")"),1),(0,n._)("p",{innerHTML:c.modalContent.options[e].desc},null,8,ee)],14,Q)])))),128))])):(0,n.kq)("",!0)])):"share"==c.modalID?((0,n.wg)(),(0,n.iD)("div",te,[se,ie,ne,(0,n._)("h1",oe,(0,o.zw)(u.concatenateSentence(c.sentence)),1),ae,le])):(0,n.kq)("",!0)]),(0,n._)("button",{id:"modalToTop",onClick:t[39]||(t[39]=(...e)=>u.scrollToTop&&u.scrollToTop(...e)),class:(0,o.C_)({hidden:"share"==c.modalID})},"↑",2)]),(0,n._)("div",re,[(0,n._)("div",he,[(0,n._)("span",{class:"close",onClick:t[41]||(t[41]=e=>u.closeNav()),style:{transform:"translateY(-20px)"}},"×"),ce]),(0,n._)("div",de,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(c.sentence,((e,s)=>((0,n.wg)(),(0,n.iD)("div",{key:s,class:(0,o.C_)(["sentWord noSelecting",{active:c.selectedWord==s,deletable:c.deleteWordMode,dragging:c.draggedWord===s}]),onClick:e=>u.switchWord(s),onMouseover:e=>u.hoverChange(s),onMouseleave:t[43]||(t[43]=e=>c.hovering=null),onMousemove:e=>u.beginDrag(s),onTouchstart:e=>u.beginDrag(s)},[(0,n._)("p",null,[(0,n._)("b",null,(0,o.zw)(e[0]),1)]),(0,n.wy)((0,n._)("textarea",{placeholder:"Description...","onUpdate:modelValue":e=>c.sentence[s][3]=e,onInput:t[42]||(t[42]=(...e)=>u.resizeTA&&u.resizeTA(...e)),rows:"1",class:"ta"},null,40,ue),[[i.nr,c.sentence[s][3]]]),fe],42,pe)))),128))]),(0,n._)("div",ge,[(0,n._)("input",{type:"file",onChange:t[44]||(t[44]=(...e)=>u.uploadJSON&&u.uploadJSON(...e)),accept:".json",id:"fimport",class:"hidden"},null,32),(0,n._)("button",{title:"Add New Word",onClick:t[45]||(t[45]=e=>this.sentence.push(JSON.parse(JSON.stringify([this.$refs[c.langVer].defaultWord,this.$refs[c.langVer].gDefault,"normal",""]))))},be),(0,n._)("button",{title:"Save",onClick:t[46]||(t[46]=e=>u.exportToJsonFile(c.sentence))},ye),(0,n._)("button",{title:"Import",onClick:t[47]||(t[47]=(0,i.iM)((e=>u.openFileDialog()),["self"]))},Se),(0,n._)("button",{title:"Export/Share",onClick:t[48]||(t[48]=e=>{u.openModal("share"),u.closeNav()})},Te),(0,n._)("button",{title:"Delete Words",onClick:t[49]||(t[49]=e=>c.deleteWordMode=!c.deleteWordMode),class:(0,o.C_)({active:c.deleteWordMode})},[(0,n._)("i",{class:(0,o.C_)(c.deleteWordMode?"fa-solid fa-check fa-xl":"fa-solid fa-trash-can fa-xl")},null,2)],2)])])],64)}var Ce=s(51),Ie=s.n(Ce);const xe=(0,n._)("h1",null,"Ithkapp (hwirbuvie-ekţgyil)",-1),Ae=(0,n._)("p",{class:"smalltext"},[(0,n.Uk)("Compatible with New Ithkuil Grammar Design v1.3.1, Lexicon v1.0, VxCs Affixes v1.1, and Phonotactic Rules v1.0. "),(0,n._)("br"),(0,n.Uk)("Definitions are a combination of taken from "),(0,n._)("a",{target:"_blank",href:"http://ithkuil.net/index.htm"},"the official Ithkuil III site"),(0,n.Uk)(", taken from "),(0,n._)("a",{target:"_blank",href:"http://www.ithkuil.net/New_Ithkuil_design_doc_v_1_3.pdf"},"official Ithkuil IV documentation"),(0,n.Uk)(", and (occasionally) written by the creator of this site. "),(0,n._)("br"),(0,n.Uk)("All past and current forms of Ithkuil and all official documentation are by John Quijada. "),(0,n._)("br"),(0,n.Uk)("Click on a box's title to learn more about what it means.")],-1),ke=(0,n._)("h2",{style:{width:"100%"}},"Configuration",-1),Ee=(0,n._)("h2",{style:{width:"100%"}},"Slot II",-1),De=(0,n._)("h2",{style:{width:"100%"}},"Slot III",-1),je=(0,n._)("h2",{style:{width:"100%"}},"Slot IV",-1);function Pe(e,t,s,i,a,l){const r=(0,n.up)("OptionBox");return(0,n.wg)(),(0,n.iD)("div",null,[xe,Ae,(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{json:a.gData.affRoot,class:(0,o.C_)({hidden:"affRoot"!=a.wordType}),code:"affRoot",onSendMessage:l.handleSendMessage,ref:"affRoot",onModal:l.openModal,length:"6",whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"])},null,8,["json","class","onSendMessage","onModal","whitelist"]),(0,n.Wm)(r,{json:a.gData.arDegree,class:(0,o.C_)({hidden:"affRoot"!=a.wordType}),code:"arDegree",onSendMessage:l.handleSendMessage,ref:"arDegree",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.ref,class:(0,o.C_)({hidden:!["refRoot","ref","refCS"].includes(a.wordType)}),code:"ref",onSendMessage:l.handleSendMessage,ref:"ref",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.refEff,class:(0,o.C_)({hidden:!["refRoot","ref","refCS"].includes(a.wordType)}),code:"refEff",onSendMessage:l.handleSendMessage,ref:"refEff",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.refPersp,class:(0,o.C_)({hidden:!["refRoot","ref","refCS"].includes(a.wordType)}),code:"refPersp",onSendMessage:l.handleSendMessage,ref:"refPersp",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.c,class:(0,o.C_)({hidden:"ref"!=a.wordType&&"refCS"!=a.wordType}),code:"c1",onSendMessage:l.handleSendMessage,ref:"c1",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.root,class:(0,o.C_)({hidden:["affRoot","refRoot","ref","refCS"].includes(a.wordType)}),code:"root",onSendMessage:l.handleSendMessage,ref:"root",onModal:l.openModal,length:"6",whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"])},null,8,["json","class","onSendMessage","onModal","whitelist"]),(0,n.Wm)(r,{json:a.gData.stem,class:(0,o.C_)({hidden:["affRoot","refRoot","ref","refCS"].includes(a.wordType)}),code:"stem",onSendMessage:l.handleSendMessage,ref:"stem",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.spec,class:(0,o.C_)({hidden:"ref"==a.wordType||"affRoot"==a.wordType}),code:"spec",onSendMessage:l.handleSendMessage,ref:"spec",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.func,class:(0,o.C_)({hidden:"ref"==a.wordType||"refCS"==a.wordType}),code:"func",onSendMessage:l.handleSendMessage,ref:"func",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.ver,class:(0,o.C_)({hidden:"ref"==a.wordType||"refCS"==a.wordType}),code:"ver",onSendMessage:l.handleSendMessage,ref:"ver",onModal:l.openModal},null,8,["json","class","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{json:a.gData.shcut,code:"shcut",onSendMessage:l.handleSendMessage,ref:"shcut",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.concat,code:"concat",onSendMessage:l.handleSendMessage,ref:"concat",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.rel,code:"rel",onSendMessage:l.handleSendMessage,ref:"rel",onModal:l.openModal,disabled:"0"!=this.gOptions.concat},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.Vafx,code:"Vafx",onSendMessage:l.handleSendMessage,type:"affix",ref:"Vafx",onModal:l.openModal,whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"]),aff6:l.calculateSlot6},null,8,["json","onSendMessage","onModal","whitelist","aff6"]),(0,n.Wm)(r,{json:a.gData.VIIafx,code:"VIIafx",onSendMessage:l.handleSendMessage,type:"affix",ref:"VIIafx",onModal:l.openModal,whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"]),aff6:l.calculateSlot6},null,8,["json","onSendMessage","onModal","whitelist","aff6"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[ke,(0,n.Wm)(r,{json:a.gData.plex,code:"plex",onSendMessage:l.handleSendMessage,ref:"plex",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.simil,code:"simil",onSendMessage:l.handleSendMessage,disabled:["UPX","DPX"].includes(this.gOptions.plex),ref:"simil",onModal:l.openModal},null,8,["json","onSendMessage","disabled","onModal"]),(0,n.Wm)(r,{json:a.gData.cctd,code:"cctd",onSendMessage:l.handleSendMessage,disabled:["UPX","DPX"].includes(this.gOptions.plex),ref:"cctd",onModal:l.openModal},null,8,["json","onSendMessage","disabled","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{json:a.gData.affil,code:"affil",onSendMessage:l.handleSendMessage,ref:"affil",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.ext,code:"ext",onSendMessage:l.handleSendMessage,ref:"ext",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.persp,code:"persp",onSendMessage:l.handleSendMessage,ref:"persp",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.ess,code:"ess",onSendMessage:l.handleSendMessage,ref:"ess",onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"modular"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.modAppliesTo,code:"modAppliesTo",onSendMessage:l.handleSendMessage,ref:"modAppliesTo",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.modNumber,code:"modNumber",onSendMessage:l.handleSendMessage,ref:"modNumber",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.cn,code:"cn",onSendMessage:l.handleSendMessage,ref:"cn",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.mood,code:"mood2",onSendMessage:l.handleSendMessage,ref:"mood2",onModal:l.openModal,class:(0,o.C_)({hidden:"mood"!=this.gOptions.cn})},null,8,["json","onSendMessage","onModal","class"]),(0,n.Wm)(r,{json:a.gData.casc,code:"casc2",onSendMessage:l.handleSendMessage,ref:"casc2",onModal:l.openModal,class:(0,o.C_)({hidden:"casc"!=this.gOptions.cn})},null,8,["json","onSendMessage","onModal","class"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"modular"!=a.wordType||"modular"==a.wordType&&!["2","3"].includes(a.gOptions.modNumber)}])},[Ee,(0,n.Wm)(r,{json:a.gData.vn,code:"vn2",onSendMessage:l.handleSendMessage,ref:"vn2",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.val,code:"val2",onSendMessage:l.handleSendMessage,ref:"val2",onModal:l.openModal,disabled:"val"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.pha,code:"pha2",onSendMessage:l.handleSendMessage,ref:"pha2",onModal:l.openModal,disabled:"pha"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.eff,code:"eff2",onSendMessage:l.handleSendMessage,ref:"eff2",onModal:l.openModal,disabled:"eff"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.lvl,code:"lvl2",onSendMessage:l.handleSendMessage,ref:"lvl2",onModal:l.openModal,disabled:"lvl"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.asp,code:"asp2",onSendMessage:l.handleSendMessage,ref:"asp2",onModal:l.openModal,disabled:"asp"!=this.gOptions.vn2},null,8,["json","onSendMessage","onModal","disabled"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"modular"!=a.wordType||"modular"==a.wordType&&"3"!=a.gOptions.modNumber}])},[De,(0,n.Wm)(r,{json:a.gData.vn,code:"vn3",onSendMessage:l.handleSendMessage,ref:"vn3",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.val,code:"val3",onSendMessage:l.handleSendMessage,ref:"val3",onModal:l.openModal,disabled:"val"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.pha,code:"pha3",onSendMessage:l.handleSendMessage,ref:"pha3",onModal:l.openModal,disabled:"pha"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.eff,code:"eff3",onSendMessage:l.handleSendMessage,ref:"eff3",onModal:l.openModal,disabled:"eff"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.lvl,code:"lvl3",onSendMessage:l.handleSendMessage,ref:"lvl3",onModal:l.openModal,disabled:"lvl"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.asp,code:"asp3",onSendMessage:l.handleSendMessage,ref:"asp3",onModal:l.openModal,disabled:"asp"!=this.gOptions.vn3},null,8,["json","onSendMessage","onModal","disabled"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"modular"!=a.wordType}])},[je,(0,n.Wm)(r,{json:a.gData.vh,code:"vh",onSendMessage:l.handleSendMessage,ref:"vh",onModal:l.openModal,class:(0,o.C_)({hidden:"modular"!=this.wordType}),disabled:"1"==this.gOptions.modNumber},null,8,["json","onSendMessage","onModal","class","disabled"]),(0,n.Wm)(r,{json:a.gData.modScope,code:"modScope",onSendMessage:l.handleSendMessage,ref:"modScope",onModal:l.openModal,class:(0,o.C_)({hidden:"modular"!=this.wordType||"1"==this.gOptions.modNumber||"vn"==this.gOptions.vh})},null,8,["json","onSendMessage","onModal","class"]),(0,n.Wm)(r,{json:a.gData.v4n,code:"v4n",onSendMessage:l.handleSendMessage,ref:"v4n",onModal:l.openModal,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","class"]),(0,n.Wm)(r,{json:a.gData.val,code:"val4",onSendMessage:l.handleSendMessage,ref:"val4",onModal:l.openModal,disabled:"val"!=this.gOptions.v4n,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","disabled","class"]),(0,n.Wm)(r,{json:a.gData.pha,code:"pha4",onSendMessage:l.handleSendMessage,ref:"pha4",onModal:l.openModal,disabled:"pha"!=this.gOptions.v4n,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","disabled","class"]),(0,n.Wm)(r,{json:a.gData.eff,code:"eff4",onSendMessage:l.handleSendMessage,ref:"eff4",onModal:l.openModal,disabled:"eff"!=this.gOptions.v4n,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","disabled","class"]),(0,n.Wm)(r,{json:a.gData.lvl,code:"lvl4",onSendMessage:l.handleSendMessage,ref:"lvl4",onModal:l.openModal,disabled:"lvl"!=this.gOptions.v4n,class:(0,o.C_)({hidden:"vn"!=this.gOptions.vh||"1"==this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","disabled","class"]),(0,n.Wm)(r,{json:a.gData.asp,code:"asp4",onSendMessage:l.handleSendMessage,ref:"asp4",onModal:l.openModal,class:(0,o.C_)({hidden:"1"!=this.gOptions.modNumber})},null,8,["json","onSendMessage","onModal","class"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["suppletive","affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{json:a.gData.vn,code:"vn",onSendMessage:l.handleSendMessage,ref:"vn",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.val,code:"val",onSendMessage:l.handleSendMessage,ref:"val",onModal:l.openModal,disabled:"val"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.pha,code:"pha",onSendMessage:l.handleSendMessage,ref:"pha",onModal:l.openModal,disabled:"pha"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.eff,code:"eff",onSendMessage:l.handleSendMessage,ref:"eff",onModal:l.openModal,disabled:"eff"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.lvl,code:"lvl",onSendMessage:l.handleSendMessage,ref:"lvl",onModal:l.openModal,disabled:"lvl"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.asp,code:"asp",onSendMessage:l.handleSendMessage,ref:"asp",onModal:l.openModal,disabled:"asp"!=this.gOptions.vn},null,8,["json","onSendMessage","onModal","disabled"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:["affixjunct","register","modular","ref","refCS","bias","free"].includes(a.wordType)}])},[(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"!=a.wordType}),json:a.gData.suppType,code:"suppType",onSendMessage:l.handleSendMessage,ref:"suppType",onModal:l.openModal},null,8,["class","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),json:a.gData.ctxt,code:"ctxt",onSendMessage:l.handleSendMessage,ref:"ctxt",onModal:l.openModal},null,8,["class","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),show:!a.cascOrMood,json:a.gData.mood,code:"mood",onSendMessage:l.handleSendMessage,ref:"mood",onModal:l.openModal},null,8,["class","show","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),show:a.cascOrMood,json:a.gData.casc,code:"casc",onSendMessage:l.handleSendMessage,ref:"casc",onModal:l.openModal},null,8,["class","show","json","onSendMessage","onModal"]),(0,n.Wm)(r,{show:a.cascOrMood,json:a.gData.c,code:"c",onSendMessage:l.handleSendMessage,ref:"c",onModal:l.openModal},null,8,["show","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),show:!a.cascOrMood,json:a.gData.ill,code:"ill",onSendMessage:l.handleSendMessage,ref:"ill",onModal:l.openModal},null,8,["class","show","json","onSendMessage","onModal"]),(0,n.Wm)(r,{class:(0,o.C_)({hidden:"suppletive"==a.wordType}),show:!a.cascOrMood,json:a.gData.vld,code:"vld",onSendMessage:l.handleSendMessage,disabled:"ASR"!=this.gOptions.ill,ref:"vld",onModal:l.openModal},null,8,["class","show","json","onSendMessage","disabled","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"affixjunct"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.affixjunct,code:"affixjunct",onSendMessage:l.handleSendMessage,ref:"affixjunct",onModal:l.openModal,reqAff:!0,whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"]),aff6:l.calculateSlot6},null,8,["json","onSendMessage","onModal","whitelist","aff6"]),(0,n.Wm)(r,{json:a.gData.initialAffScope,code:"initialAffScope",onSendMessage:l.handleSendMessage,ref:"initialAffScope",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.otherAffScope,code:"otherAffScope",onSendMessage:l.handleSendMessage,ref:"otherAffScope",onModal:l.openModal,disabled:this.gOptions.affixjunct.length<2},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.affScopeOf,code:"affScopeOf",onSendMessage:l.handleSendMessage,ref:"affScopeOf",onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"register"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.register,code:"register",onSendMessage:l.handleSendMessage,ref:"register",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.regStartOrEnd,code:"regStartOrEnd",onSendMessage:l.handleSendMessage,ref:"regStartOrEnd",onModal:l.openModal,disabled:"END"==this.gOptions.register},null,8,["json","onSendMessage","onModal","disabled"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"ref"!=a.wordType&&"refCS"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.refAffix,class:(0,o.C_)({hidden:"refCS"!=a.wordType}),code:"refAffix",onSendMessage:l.handleSendMessage,ref:"refAffix",onModal:l.openModal,whitelist:Object.keys(this.cData).concat(["ṭ","ŧ","ḍ","đ","ņ","ṇ","ŗ","ṛ","ł","ḷ","ż"]),aff6:l.calculateSlot6},null,8,["json","class","onSendMessage","onModal","whitelist","aff6"]),(0,n.Wm)(r,{json:a.gData.twoCs,code:"twoCs",onSendMessage:l.handleSendMessage,ref:"twoCs",onModal:l.openModal},null,8,["json","onSendMessage","onModal"]),(0,n.Wm)(r,{json:a.gData.twoRefs,class:(0,o.C_)({hidden:"refCS"==a.wordType}),code:"twoRefs",onSendMessage:l.handleSendMessage,ref:"twoRefs",onModal:l.openModal,disabled:!this.gOptions.twoCs},null,8,["json","class","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.ref,code:"ref2",class:(0,o.C_)({hidden:"refCS"==a.wordType}),onSendMessage:l.handleSendMessage,ref:"ref2",onModal:l.openModal,disabled:!this.gOptions.twoRefs||!this.gOptions.twoCs},null,8,["json","class","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.refEff,code:"refEff2",class:(0,o.C_)({hidden:"refCS"==a.wordType}),onSendMessage:l.handleSendMessage,ref:"refEff2",onModal:l.openModal,disabled:!this.gOptions.twoRefs||!this.gOptions.twoCs},null,8,["json","class","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.refPersp,code:"refPersp2",class:(0,o.C_)({hidden:"refCS"==a.wordType}),onSendMessage:l.handleSendMessage,ref:"refPersp2",onModal:l.openModal,disabled:!this.gOptions.twoRefs||!this.gOptions.twoCs},null,8,["json","class","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.c,code:"c2",onSendMessage:l.handleSendMessage,ref:"c2",onModal:l.openModal,disabled:!this.gOptions.twoCs},null,8,["json","onSendMessage","onModal","disabled"]),(0,n.Wm)(r,{json:a.gData.ess,code:"ess2",onSendMessage:l.handleSendMessage,ref:"ess2",onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"bias"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.bias,code:"bias",onSendMessage:l.handleSendMessage,ref:"bias",onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2),(0,n._)("div",{class:(0,o.C_)(["section",{hidden:"free"!=a.wordType}])},[(0,n.Wm)(r,{json:a.gData.freeType,code:"freeType",ref:"freeType",onSendMessage:l.handleSendMessage,onModal:l.openModal},null,8,["json","onSendMessage","onModal"])],2)])}const Ne=e=>((0,n.dD)("data-v-4abae525"),e=e(),(0,n.Cn)(),e),Re=["title"],Ve=["maxlength"],We={key:1},_e=["disabled"],Le={key:2},Ue=["onUpdate:modelValue","id"],Fe=["onInput","id"],ze=Ne((()=>(0,n._)("option",null,"UPX",-1))),Ge=Ne((()=>(0,n._)("option",null,"DPX",-1))),Be=Ne((()=>(0,n._)("option",null,"D",-1))),Xe=Ne((()=>(0,n._)("option",null,"M",-1))),qe=[ze,Ge,Be,Xe],He=["onInput","id","disabled"],Je=Ne((()=>(0,n._)("option",null,"S",-1))),$e=Ne((()=>(0,n._)("option",null,"D",-1))),Ye=Ne((()=>(0,n._)("option",null,"F",-1))),Ke=[Je,$e,Ye],Qe=["onInput","id","disabled"],Ze=Ne((()=>(0,n._)("option",null,"S",-1))),et=Ne((()=>(0,n._)("option",null,"C",-1))),tt=Ne((()=>(0,n._)("option",null,"F",-1))),st=[Ze,et,tt],it=["onInput","id"],nt=Ne((()=>(0,n._)("option",null,"CSL",-1))),ot=Ne((()=>(0,n._)("option",null,"ASO",-1))),at=Ne((()=>(0,n._)("option",null,"COA",-1))),lt=Ne((()=>(0,n._)("option",null,"VAR",-1))),rt=[nt,ot,at,lt],ht=["onInput","id"],ct=Ne((()=>(0,n._)("option",null,"DEL",-1))),dt=Ne((()=>(0,n._)("option",null,"PRX",-1))),pt=Ne((()=>(0,n._)("option",null,"ICP",-1))),ut=Ne((()=>(0,n._)("option",null,"ATV",-1))),ft=Ne((()=>(0,n._)("option",null,"GRA",-1))),gt=Ne((()=>(0,n._)("option",null,"DPL",-1))),mt=[ct,dt,pt,ut,ft,gt],bt=["onInput","id"],wt=Ne((()=>(0,n._)("option",null,"M",-1))),yt=Ne((()=>(0,n._)("option",null,"G",-1))),vt=Ne((()=>(0,n._)("option",null,"N",-1))),St=Ne((()=>(0,n._)("option",null,"A",-1))),Mt=[wt,yt,vt,St],Tt=["onInput","id"],Ot=Ne((()=>(0,n._)("option",null,"NRM",-1))),Ct=Ne((()=>(0,n._)("option",null,"RPV",-1))),It=[Ot,Ct],xt=["onUpdate:modelValue","id"],At={key:1,value:1},kt={key:2,value:2},Et={key:3,value:3},Dt={key:4,value:4},jt={key:5,value:5},Pt={key:6,value:6},Nt={key:7,value:7},Rt={key:8,value:8},Vt={key:9,value:9},Wt={key:0,value:0},_t=["onClick"],Lt=["onUpdate:modelValue","id"],Ut={value:1},Ft={value:2},zt={value:3},Gt={value:4},Bt=["disabled","id"],Xt=["value"],qt={key:4},Ht=Ne((()=>(0,n._)("b",null,"ERROR:",-1))),Jt=(0,n.Uk)(" Empty affixes"),$t=[Ht,Jt],Yt={key:5},Kt=Ne((()=>(0,n._)("b",null,"ERROR:",-1))),Qt=(0,n.Uk)(" Affixes are required"),Zt=[Kt,Qt],es={key:6},ts=Ne((()=>(0,n._)("b",null,"ERROR:",-1))),ss=(0,n.Uk)(" Empty text"),is=[ts,ss],ns={key:7},os=Ne((()=>(0,n._)("b",null,"ERROR:",-1))),as=(0,n.Uk)(" Non-allowed characters"),ls=[os,as],rs={key:8};function hs(e,t,s,a,l,r){return(0,n.wg)(),(0,n.iD)("div",{class:(0,o.C_)(["optionbox",r.OBclass])},[(0,n._)("h3",{onClick:t[0]||(t[0]=(0,i.iM)((e=>this.$emit("modal",s.code)),["self"])),title:"Learn more about "+s.json.title},(0,o.zw)(s.json.title),9,Re),"text"==s.json.type?(0,n.wy)(((0,n.wg)(),(0,n.iD)("input",{key:0,"onUpdate:modelValue":t[1]||(t[1]=e=>l.text=e),onInput:t[2]||(t[2]=e=>this.$emit("send-message",l.text,s.code)),placeholder:"Enter...",maxlength:s.length},null,40,Ve)),[[i.nr,l.text]]):"checkbox"==s.json.type?((0,n.wg)(),(0,n.iD)("div",We,[(0,n.wy)((0,n._)("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=e=>l.option=e),onChange:t[4]||(t[4]=e=>this.$emit("send-message",l.option,s.code)),disabled:s.disabled},null,40,_e),[[i.e8,l.option]])])):"affix"==s.json.type?((0,n.wg)(),(0,n.iD)("div",Le,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(l.affixes,((e,a)=>((0,n.wg)(),(0,n.iD)("div",{key:e},[(0,n.wy)((0,n._)("input",{"onUpdate:modelValue":e=>l.affixes[a][0]=e,onInput:t[5]||(t[5]=e=>this.$emit("send-message",l.affixes,s.code)),placeholder:"Enter...",maxlength:"5",id:s.code+"affW"+a,class:(0,o.C_)({hidden:"CA"==l.affixes[a][1]})},null,42,Ue),[[i.nr,l.affixes[a][0]]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[6]||(t[6]=e=>l.plex=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"plex"+a.toString()},qe,44,Fe),[[i.bM,l.plex]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[7]||(t[7]=e=>l.simil=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"simil"+a.toString(),disabled:"UPX"==l.plex||"DPX"==l.plex},Ke,44,He),[[i.bM,l.simil]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[8]||(t[8]=e=>l.cctd=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"cctd"+a.toString(),disabled:"UPX"==l.plex||"DPX"==l.plex},st,44,Qe),[[i.bM,l.cctd]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[9]||(t[9]=e=>l.affil=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"affil"+a.toString()},rt,44,it),[[i.bM,l.affil]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[10]||(t[10]=e=>l.ext=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"ext"+a.toString()},mt,44,ht),[[i.bM,l.ext]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[11]||(t[11]=e=>l.persp=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"persp"+a.toString()},Mt,44,bt),[[i.bM,l.persp]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":t[12]||(t[12]=e=>l.ess=e),onInput:e=>this.calc6(a),style:(0,o.j5)("CA"!=l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"ess"+a.toString()},It,44,Tt),[[i.bM,l.ess]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":e=>l.affixes[a][1]=e,onInput:t[13]||(t[13]=e=>this.$emit("send-message",l.affixes,s.code)),style:"display:inline-block",id:s.code+"affD"+a.toString()},[((0,n.wg)(),(0,n.iD)("option",At,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 1":4==l.affixes[a][2]?"THM":3==l.affixes[a][2]&&1==l.affixes.length?"POS":"Deg. 1"),1)),((0,n.wg)(),(0,n.iD)("option",kt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 2":4==l.affixes[a][2]?"INS":3==l.affixes[a][2]&&1==l.affixes.length?"PRP":"Deg. 2"),1)),((0,n.wg)(),(0,n.iD)("option",Et,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 3":4==l.affixes[a][2]?"ABS":3==l.affixes[a][2]&&1==l.affixes.length?"GEN":"Deg. 3"),1)),((0,n.wg)(),(0,n.iD)("option",Dt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 4":4==l.affixes[a][2]?"AFF":3==l.affixes[a][2]&&1==l.affixes.length?"ATT":"Deg. 4"),1)),((0,n.wg)(),(0,n.iD)("option",jt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 5":4==l.affixes[a][2]?"STM":3==l.affixes[a][2]&&1==l.affixes.length?"PDC":"Deg. 5"),1)),((0,n.wg)(),(0,n.iD)("option",Pt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 6":4==l.affixes[a][2]?"EFF":3==l.affixes[a][2]&&1==l.affixes.length?"ITP":"Deg. 6"),1)),((0,n.wg)(),(0,n.iD)("option",Nt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 7":4==l.affixes[a][2]?"ERG":3==l.affixes[a][2]&&1==l.affixes.length?"OGN":"Deg. 7"),1)),["sy","zy","čy","šy","žy","jy","ly"].includes(l.affixes[a][0])?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("option",Rt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 8":4==l.affixes[a][2]?"DAT":3==l.affixes[a][2]&&1==l.affixes.length?"IDP":"Deg. 8"),1)),((0,n.wg)(),(0,n.iD)("option",Vt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Deg. 9":4==l.affixes[a][2]?"IND":3==l.affixes[a][2]&&1==l.affixes.length?"PAR":"Deg. 9"),1)),["sy","zy","čy","šy","žy","jy","ly"].includes(l.affixes[a][0])||!["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])&&(4==l.affixes[a][2]||3==l.affixes[a][2]&&1==l.affixes.length)?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("option",Wt,"Deg. 0")),(0,n._)("option",{key:"CA",value:"CA",onClick:e=>r.calc6(a)},"Cₐ-stacking",8,_t)],40,xt),[[i.bM,l.affixes[a][1]]]),(0,n.wy)((0,n._)("select",{"onUpdate:modelValue":e=>l.affixes[a][2]=e,onInput:t[14]||(t[14]=e=>this.$emit("send-message",l.affixes,s.code)),style:(0,o.j5)("CA"==l.affixes[a][1]?"display:none":"display:inline-block"),id:s.code+"affT"+a},[(0,n._)("option",Ut,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Series ":"Type-")+"1",1),(0,n._)("option",Ft,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Series ":"Type-")+"2",1),(0,n._)("option",zt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Series 3":1==l.affixes.length?"Ref (3)":"Type-3"),1),(0,n._)("option",Gt,(0,o.zw)(["sw","sy","zw","zy","čw","čy","šw","šy","žw","žy","jw","jy","lw","ly"].includes(l.affixes[a][0])?"Series 4":"Ref (4)"),1)],44,Lt),[[i.bM,l.affixes[a][2]]])])))),128)),(0,n._)("input",{type:"button",value:"Add",onClick:t[15]||(t[15]=e=>{l.affixes.push(["",1,1]),this.$emit("send-message",l.affixes,s.code)})}),(0,n._)("input",{type:"button",value:"Remove",onClick:t[16]||(t[16]=e=>{l.affixes.pop(),this.$emit("send-message",l.affixes,s.code)})})])):(0,n.wy)(((0,n.wg)(),(0,n.iD)("select",{key:3,"onUpdate:modelValue":t[17]||(t[17]=e=>l.option=e),onChange:t[18]||(t[18]=e=>this.$emit("send-message",l.option.toString(),s.code)),disabled:s.disabled,id:s.code},[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(s.json.options,((e,t)=>((0,n.wg)(),(0,n.iD)("option",{key:e.name,value:t},(0,o.zw)(e.name)+" "+(0,o.zw)(t!==t.toString().toUpperCase()||["1","2","3","4","5","6","7","8","9","0"].includes(t)?"":"("+t+")"),9,Xt)))),128))],40,Bt)),[[i.bM,l.option]]),"affix"!=s.json.type||0==this.affixes.length||this.affixes.every((function(e){return""!=e[0]}))?"affix"==s.json.type&&0==this.affixes.length&&s.reqAff?((0,n.wg)(),(0,n.iD)("p",Yt,Zt)):"text"==s.json.type&&""==this.text?((0,n.wg)(),(0,n.iD)("p",es,is)):this.$props.whitelist&&("text"==s.json.type&&!this.text.split("").every((e=>this.$props.whitelist.includes(e.toLowerCase())))||"affix"==s.json.type&&0!=this.affixes.length&&!this.affixes.every((e=>e[0].split("").every((e=>this.$props.whitelist.includes(e))))))?((0,n.wg)(),(0,n.iD)("p",ns,ls)):((0,n.wg)(),(0,n.iD)("p",rs)):((0,n.wg)(),(0,n.iD)("p",qt,$t))],2)}var cs={name:"OptionBox",props:{code:String,json:Object,disabled:Boolean,show:Boolean,length:String,whitelist:Array,reqAff:Boolean,aff6:Function},data(){return{text:"",option:null,affixes:[],plex:"UPX",simil:"S",cctd:"S",affil:"CSL",ext:"DEL",persp:"M",ess:"NRM"}},computed:{OBclass(){return{error:"affix"==this.json.type&&0!=this.affixes.length&&(this.$props.whitelist&&!this.affixes.every((function(e){return""!=e[0]}))||!this.affixes.every((e=>e[0].split("").every((e=>this.$props.whitelist.includes(e))))))||"text"==this.json.type&&(""==this.text||this.$props.whitelist&&!this.text.split("").every((e=>this.$props.whitelist.includes(e.toLowerCase()))))||"affix"==this.json.type&&0==this.affixes.length&&this.reqAff,disabledbox:this.disabled,notShown:this.show}}},mounted(){""==this.$props.json.type&&(this.option=Object.keys(this.$props.json.options)[0])},methods:{updateValue(e){if("affix"==this.$props.json.type){this.affixes=e;for(let t in this.affixes)this.waitForElm("#"+this.$props.code+"affW"+t.toString()).then((s=>{s.value=e[t][0]})),this.waitForElm("#"+this.$props.code+"affD"+t.toString()).then((s=>{s.value=e[t][1]})),this.waitForElm("#"+this.$props.code+"affT"+t.toString()).then((s=>{s.value=e[t][2]}));this.$emit("send-message",this.affixes,this.$props.code)}else"text"==this.$props.json.type?(this.text=e,this.$emit("send-message",this.text,this.$props.code)):"checkbox"==this.$props.json.type?(this.option=e,this.$emit("send-message",this.option,this.$props.code)):(console.log("Recieved",e,"in",this.$props.code),Object.keys(this.$props.json.options).includes(e)&&(this.option=e,document.getElementById(this.$props.code).selectedIndex=Object.keys(this.$props.json.options).indexOf(e),this.$emit("send-message",this.option.toString(),this.$props.code)))},calc6(e){let t=document.getElementById(this.code+"affil"+e).value,s=document.getElementById(this.code+"plex"+e).value,i=document.getElementById(this.code+"simil"+e).value,n=document.getElementById(this.code+"cctd"+e).value,o=document.getElementById(this.code+"ext"+e).value,a=document.getElementById(this.code+"ess"+e).value,l=document.getElementById(this.code+"persp"+e).value;this.affixes[e][0]=this.aff6(!0,t,s,i,n,o,a,l),this.$emit("send-message",this.affixes,this.$props.code),this.$emit("send-message",this.affixes,this.$props.code)},waitForElm(e){return new Promise((t=>{if(document.querySelector(e))return t(document.querySelector(e));const s=new MutationObserver((()=>{document.querySelector(e)&&(t(document.querySelector(e)),s.disconnect())}));s.observe(document.body,{childList:!0,subtree:!0})}))}}},ds=s(89);const ps=(0,ds.Z)(cs,[["render",hs],["__scopeId","data-v-4abae525"]]);var us=ps,fs=JSON.parse('{"root":{"type":"text","title":"Root (Slot III)","popupdesc":"The root is the general definition of the word, and can be directly modified by the Stem and Specification. Check the Lexicon for what your word\'s Root, Stem, and Specification should be."},"stem":{"type":"","title":"Stem","options":{"s1":{"name":"Stem 1","desc":""},"s2":{"name":"Stem 2","desc":""},"s3":{"name":"Stem 3","desc":""},"s0":{"name":"Stem 0","desc":"Stem 0 is special in that it describes the overall \\"stemless\\" definition of a root; i.e. the title of its box in the Lexicon document (if it has one) or a general agglomeration of the three roots\' definitions."}},"popupdesc":"The stem of a word describes which of three possible definitons that a root could take is used in the word. Specific stem definitions are in the Lexicon."},"func":{"type":"","title":"Function","options":{"STA":{"name":"Static","desc":"The Static function is typically used in the following ways:
  • Nouns (Nominal relation) identifying an object, group, entity, or action in which any change or motion is irrelevant to the speaker, or
  • Verbs (Verbal relation) referring to a non-changing, undynamic state.
"},"DYN":{"name":"Dynamic","desc":"The Dynamic function is typically used in the following ways:
  • Nouns (Nominal relation) referring to states involving change or motion where said change or motion is relevant to the speaker, or
  • Verbs (Verbal relation) involving change/motion/movement/action in which the change/motion/movement/action is relevant to the speaker\'s intended meaning, especially those involving an agent/enabler and a patient.
"}},"popupdesc":"Function is used to show how relevant any change or motion related to a word is to the speaker, and can be both subjective (a meal as an event [STA] or as a process [DYN]?) or objective (the sunset is orange [STA] vs the sky became orange [DYN]) depending on the situation."},"spec":{"type":"","title":"Specification","options":{"BSC":{"name":"Basic","desc":"A holistic instantiation of a root, prior to the application of one of the other three Specifications, essentially encompassing the meanings of the CTE, and CSV specifications below."},"CTE":{"name":"Contential","desc":"The physical or non-physical “content” or essence or purposeful function or idealized/abstract/platonic form thereof, as opposed to its mere physical form/shape"},"CSV":{"name":"Constitutive","desc":"The form (physical or non-physical) in which an entity/state/act actually expresses itself, is shaped, or is realized, as opposed to its functional/purposeful content, i.e., \\"what constitutes X\\""},"OBJ":{"name":"Objective","desc":"Whichever of the following is most salient to the semantics of the particular stem:
(1) tangible tool/instrument/means by which a state act/state/event occurs, or if inapplicable, then
(2) the third-party object/entity associated with the interaction between two parties (e.g., the object being given in a dative interaction), or if inapplicable then
(3) the resulting tangible object/product/situation, or if inapplicable, then
(4) the semantic patient or experiencer of the state/act/event."}},"popupdesc":"Specification makes the definition of the root more specific.
Listed below are the generic definitions of the terms, but the Lexicon should have all necessary information (i.e. what your root means when paired with a certain specification)."},"ver":{"type":"","title":"Version","options":{"PRC":{"name":"Processual","desc":"The Processual is the default version and describes all acts, conditions, or events which are ends in themselves and not goal-oriented, i.e., are not focused on an anticipated outcome or final purpose toward which a progressive effort is being made."},"CPT":{"name":"Completive","desc":"The Completive describes acts, conditions, or events which achieve, or are intended to achieve, an anticipated outcome, i.e., which are oriented toward the achievement of some purpose, outcome, or final state. Such a distinction is usually handled by word choice in Western languages.
hunt → to hunt down
to be losing → to lose
to study → to learn
to be winning → to win
to strive for → to accomplish, achieve
"}},"popupdesc":"Version describes if a given word is goal-oriented or not in its outcome. Ithkuil III had six, but New Ithkuil has only two."},"ctxt":{"type":"","title":"Context","options":{"EXS":{"name":"Existential","desc":"Neutral description
The EXISTENTIAL context focuses on those features of a noun or verb which are ontologically objective, i.e., those that exist irrespective of any observers, opinions, interpretations, beliefs or attitudes. Similarly excluded from consideration in the EXISTENTIAL is any notion of a noun\'s use, function, role or benefit. The EXISTENTIAL serves only to point out the mere existence of a noun as a tangible, objective entity under discussion. It is thus used to offer mere identification of a noun or verb."},"FNC":{"name":"Functional","desc":"Focus on the personal meaning/importance
The FUNCTIONAL context focuses on those features of a formative that are defined socially by ideas, attitudes, beliefs, opinions, convention, cultural status, use, function, benefit, etc. It serves to identify not what a noun existentially is, but to show that the noun has specific (and subjective) contextual meaning, relevance or purpose."},"RPS":{"name":"Representational","desc":"Connotes that the word is a metaphor
The REPRESENTATIONAL context focuses on a formative as a symbol, metaphor, or metonym, in that it indicates that the formative is serving as a representation or substitute for some other concept or entity which is abstractly associated with it. For example, the metaphorical connotations of the English sentence That pinstripe-suited dog is checking out a kitty, can be equally conveyed in Ithkuil by inflecting the words for \'dog\' and \'kitty\' into the REPRESENTATIONAL context. The REPRESENTATIONAL is one of several ways that Ithkuil overtly renders all metaphorical, symbolic, or metonymic usages (from a grammatical standpoint)."},"AMG":{"name":"Amalgamate","desc":"Connotes a focus on the emotional impact plus cultural significance
The AMALGAMATIVE context is the most abstract and difficult to understand from a Western linguistic perspective. It focuses on the systemic, holistic, gestalt-like, componential nature of a formative, implying that its objective and subjective totality is derived synergistically from (or as an emergent property of) the interrelationships between all of its parts, not just in terms of a static momentary appraisal, but in consideration of the entire developmental history of the noun and any interactions and relationships it has (whether past, present or potential) within the larger context of the world. Its use indicates the speaker is inviting the hearer to subjectively consider all the subjective wonder, emotional nuances, psychological ramifications and/or philosophical implications associated with the noun\'s existence, purpose, or function, as being a world unto itself, intrinsically interconnected with the wider world beyond it on many levels."}},"popupdesc":"Context is a morphological category with no equivalent in other languages. It indicates what tangible or intangible features or aspects of a formative are being psychologically implied in any given utterance. There is no way to show this in translation other than by paraphrase.
Simply, context implies what emotional meaning you should apply to the given word; reading the individual definitions is recommended."},"rel":{"type":"","title":"Relation","options":{"UNF/C":{"name":"Nominal","desc":"The word is not a verb (which usually means a noun).
All Concatenated words are Nominal automatically."},"UNF/K":{"name":"Unframed Verbal","desc":"The word is a verb"},"FRM":{"name":"Framed Verbal","desc":"The word is the main verb in a verb phrase (or \\"frame\\") - the verb phrase continues until the end of the sentance, and this word MUST go at the start of it."}},"popupdesc":"Put simply, which part of speech a word belongs to. A nominal is usually a noun, but could be anything other than a verb.

Nominals (and Framed Verbals) are modified by Case and Case-Scope to give a more specific purpose, and (Unframed) Verbals are modified by Mood, Illocution, Expectation and Validation to give a reasoning and intended reaction."},"concat":{"type":"","title":"Concatenation","options":[{"name":"None","desc":"This word is not concatenated to another."},{"name":"Type 1","desc":"Type-1 concatenation implies a circumstantial relationship between the concatenated formative and the parent (equivalent to placing the concatenated formative into a case-frame)"},{"name":"Type 2","desc":"Type-2 concatenation is derivational (i.e., lexicalizing), creating a new lexico-semantic gestalt and usually requiring a different English translation.
This is analogous to English forms like polar bear naming a new animal rather than stating a location."}],"popupdesc":"Concatenation is similar to the Incorporated Root of Ithkuil III. Basically, it\'s how you show two roots on one word in order to make a short phrase or for extra description (\'desk chair\' rather than \'chair\').
A concatenated word MUST be followed by another word (formative), and the two must be joined with a dash.
A concatenated word is automatically a Nominal (see Relation for more on that)."},"shcut":{"type":"","title":"Shortcutting","options":[{"name":"Default (VII only)","desc":"Do not apply Slot IV/VI shortcuts"},{"name":"Slot IV/VI","desc":"Apply Slot IV/VI shortcuts if possible (takes priority over all other shortcuts)"},{"name":"No VII affix","desc":"Do not apply Slot IV/VI or Slot VII affix shortcuts"},{"name":"Absolutely None","desc":"Do not apply ANY shortcuts whatsoever, do not drop any letters, and show the full gloss instead of the regular"}],"popupdesc":"Please note that these options (aside from \\"Absolutely None\\") do not apply to Slot VIII being moved to Slot VI. For that, check settings.
Shortcutting doesn\'t change the definition of a word, it instead shuffles around how the meaning is represented on that word, potentially making it shorter.
If you\'re not sure which option to use, finish creating your word and then see which option makes it the shortest.
(The Slot IV/VI shortcut uses Slots I and II to indicate Slots IV and VI, and the Slot VII shortcut uses Slot II to indicate one Slot VII affix)"},"Vafx":{"type":"affix","title":"Slot V Affixes","popupdesc":"Slot V Affixes are simple definitional modifications to your word applied before any concatenated words, Configuration, Affiliation, Extension, Perspective, and Essence.
Degree 0 refers to the affix\'s general semantic concept as a whole, similar to Stem 0.

Types:
Type 1: circumstantial relation to the word
Type 2: derivational relation to the word (i.e. it\'s a new word/phrase, as in \'polar bear\')
Type 3: Apply to the previous affix

Cₐ-stacking is the ability to add a Cₐ (Configuration+Affiliation+Extension+Perspective+Essence) consonant-form as an affix.

The Ref options allow you to show a Referential (pronoun) on this word as a shortcut - selecting this will turn the Degree options into Case options.
Ref (3) is only available if there is one affix in the slot, to not clash with Type 3"},"VIIafx":{"type":"affix","title":"Slot VII Affixes","popupdesc":"Slot VII Affixes are simple definitional modifications to your word applied after any concatenated words, Configuration, Affiliation, Extension, Perspective, and Essence.
Degree 0 refers to the affix\'s general semantic concept as a whole, similar to Stem 0.

Types:
Type 1: circumstantial relation to the word
Type 2: derivational relation to the word (i.e. it\'s a new word/phrase, as in \'polar bear\')
Type 3: Apply to the previous affix

Cₐ-stacking is the ability to add a Cₐ (Configuration+Affiliation+Extension+Perspective+Essence) consonant-form as an affix.

The Ref options allow you to show a Referential (pronoun) on this word as a shortcut - selecting this will turn the Degree options into Case options.
Ref (3) is only available if there is one affix in the slot, to not clash with Type 3"},"plex":{"type":"","title":"Plexity","options":{"UPX":{"name":"Uniplex","desc":"The UNIPLEX configuration indicates a single, contextual embodiment of the word, i.e., one whole contextual unit of the basic nominal stem,
e.g. a tree, a person, a screwdriver, a grape, a hammer blow, a hole.
With verbs the UNIPLEX signifies a single, holistic act, state, or event,
e.g. to be a tree, to become a person, to use a screwdriver, to eat a grape, to strike (once) with a hammer, to dig a hole."},"DPX":{"name":"Vague Duplex","desc":"The Vague DUPLEX (unofficial name) is the same as the below DUPLEX, except no information regarding Similarity or Connectedness is relayed."},"D":{"name":"Duplex","desc":"The DUPLEX indicated any two contextual embodiments of the word (like the UNIPLEX) or two individual, holistic acts, states, or events.
Like the DUAL in some natural languages."},"M":{"name":"Multiplex","desc":"Same as the above two in terms of when it is applied, but only for more than two instances.
Like the PLURAL in most natural languages."}},"popupdesc":"Describes how many instances of the word there are, similar but not the same as plurality markings of other languages. However, similarities to plurality are used in the below definitions.
This is how you turn the word \\"tree\\" into \\"forest\\", for example, but not \\"tree\\" into \\"trees\\"."},"simil":{"type":"","title":"Similarity","options":{"S":{"name":"Similar","desc":"The 2+ instances are similar or the same"},"D":{"name":"Dissimilar","desc":"The 2+ instances are not similar at all"},"F":{"name":"Fuzzy","desc":"It is unclear as to how similar the 2+ instances are"}},"popupdesc":"Only applies when the Plexity is DUPLEX or MULTIPLEX.
This indicates how similar the 2+ instances (from the Plexity) are."},"cctd":{"type":"","title":"Connectedness","options":{"S":{"name":"Separate","desc":"The 2+ instances are separate"},"C":{"name":"Connected","desc":"The 2+ instances are somewhat connected (but discrete)"},"F":{"name":"Fused","desc":"The 2+ instances are very connected and are somewhat difficult to make discrete"}},"popupdesc":"Only applies when the Plexity is DUPLEX or MULTIPLEX.
This indicated how connected the 2+ instanced (from the Plexity) are."},"affil":{"type":"","title":"Affiliation","options":{"CSL":{"name":"Consolidative","desc":"The CONSOLIDATIVE affiliation indicates that the individual members of a configurational set are a naturally occurring set where the function, state, purpose or benefit of individual members is inapplicable, irrelevant, or if applicable, is shared. It differs from the ASSOCIATIVE affiliation below in that the role of individual set members is not subjectively defined by human design. Examples are tree branches, a grove, a mound of rocks, some people, the clouds.

The CONSOLIDATIVE is also the affiliation normally applied to nouns in the UNIPLEX (plexity) when spoken of in a neutral way, since a noun in the UNIPLEX specifies one single entity without reference to a set, therefore the concept of “shared” function would be inapplicable. Examples: a man, a door, a sensation of heat, a leaf. With verbs, the CONSOLIDATIVE would imply that the act, state, or event is occurring naturally, or is neutral as to purpose or design."},"ASO":{"name":"Associative","desc":"The ASSOCIATIVE affiliation indicates that the individual members of a configurational set share the same subjective function, state, purpose or benefit. Its use can be illustrated by taking the Ithkuil word for soldier in the DISCRETE configuration and comparing its English translations when inflected for the CONSOLIDATIVE affiliation (= a group of soldiers) versus the ASSOCIATIVE (= a troop, a platoon). It is this CONSOLIDATIVE versus ASSOCIATIVE distinction, then, that would distinguish otherwise equivalent plural inflections of the Ithkuil word for tree by translating them respectively as a grove versus an orchard.

The ASSOCIATIVE affiliation can also be used with nouns in the UNIPLEX (plexity) to signify a sense of unity amongst one\'s characteristics, purposes, thoughts, etc. For example, the word person inflected for the UNIPLEX and ASSOCIATIVE would translate as a single-minded person. Even nouns such as rock, tree or work of art could be inflected this way, subjectively translatable as a well-formed rock, a tree with integrity, a “balanced” work of art.

With verbs, the ASSOCIATIVE signifies that the act, state or event is by design or with specific purpose. The CONSOLIDATIVE versus ASSOCIATIVE distinction could be used, for example, with the verb turn in \\"I turned toward the window\\" to indicate whether it was for no particular reason or due to a desire to look outside."},"COA":{"name":"Coalescent","desc":"The COALESCENT affiliation indicates that the members of a configurational set share in a complementary relationship with respect to their individual functions, states, purposes, benefits, etc. This means that, while each member\'s function is distinct from those of other members, each serves in furtherance of some greater unified role. For example, the Ithkuil word translating English toolset would be the word for tool in some plural configuration (depending on each tool\'s distinct physical appearance) and the COALESCENT affiliation to indicate that each tool has a distinct but complementary function in furtherance of enabling construction or repair activities. Another example would be using the COALESCENT with the word for (piece of) food to signify a well-balanced meal.

The COALESCENT naturally appears most often in conjunction with the DUPLEX since binary sets tend to be complementary. It is used, for example, to signify symmetrical binary sets such as body parts, generally indicating a lefthand/righthand mirror-image distinction, e.g., one\'s ears, one\'s hands, a pair of wings. Pairs that do not normally distinguish such a complementary distinction (e.g. one\'s eyes) can nevertheless be optionally placed in the COALESCENT affiliation to emphasize bilateral symmetry (e.g., one\'s left and right eye functioning together).

With verbs, the COALESCENT signifies that related, synergistic nature of the component acts, states, and events which make up a greater holistic act, state, or event. It imposes a situational structure onto an act, state, or event, where individual circumstances work together in complementary fashion to comprise the total situation. It would be used, for example, to distinguish the sentences He traveled in the Yukon from He ventured in the Yukon, or I came up with a plan versus I fashioned a plan."},"VAR":{"name":"Variative","desc":"The VARIATIVE affiliation indicates that the individual members of a configurational set differ as to subjective function, state, purpose or benefit. The differences among members can be to varying degrees (i.e., constituting a fuzzy set in regard to function, purpose, etc.) or at complete odds with one another, although it should be noted that the VARIATIVE would not be used to signify opposed but complementary differences among set members (see the COALESCENT affiliation above). It would thus be used to signify a jumble of tools, odds-and-ends, a random gathering, a rag-tag group, a dysfunctional couple, a cacophony of notes, of a mess of books, a collection in disarray.
It operates with nouns in the UNIPLEX to render meanings such as a man at odds with himself, an ill-formed rock, a chaotic piece of art, a “lefthand-righthand” situation.

With verbs, the VARIATIVE indicates an act, state, or event that occurs for more than one reason or purpose, and that those reasons or purposes are more or less unrelated. This sense can probably be captured in English only through paraphrase, as in She bought the house for various reasons or My being at the party served several purposes. With non-UNIPLEX configurations, the use of the VARIATIVE affiliation can describe rather complex phenomena; for example, a sentence such as The light is blinking in conjunction with the VARIATIVE could mean that each blink of the light signals something different than the preceding or following blinks."}},"popupdesc":"Affiliation distinguishes the relationships between individual members of a set in terms of purpose, function, and/or benefit.

Affiliation operates synergistically in conjunction with Configuration to describe the total contextual relationship between the members of a set. Like Configuration, the meanings of nouns or verbs in the various affiliations often involve lexical changes when translated into English."},"ext":{"type":"","title":"Extension","options":{"DEL":{"name":"Delimitive","desc":"The DELIMITIVE extension indicates that a noun is being spoken of in its contextual entirety as a discrete entity with clear spatio-temporal boundaries, with no emphasis on any particular portion, edge, boundary, limit, or manifestation beyond the context at hand. It can be considered the neutral or default view, e.g., a tree, a grove, a set of books, an army. With verbs, this extension indicates that the act, state, or event is being considered in its entirety, from beginning to end, e.g., She diets every winter (i.e., she starts and finishes each diet).","image":"http://ithkuil.net/images/3-4-1c.jpg"},"PRX":{"name":"Proximal","desc":"The PROXIMAL extension indicates that a noun is being spoken of not in its entirety, but rather only in terms of the portion, duration, subset, or aspect which is relevant to the context at hand. It would be used to translate the words tree, journey, and ladder in the sentences That tree is hard there (e.g., in the spot where I hit against it), She lost weight during her journey, or He climbed on the ladder (i.e., it is not relevant to the context to know if he made it all the way to the top).
Note that in these sentences, the PROXIMAL does not refer to a specific or delineated piece, part, or component of the tree or ladder, but rather to the fact that delineated boundaries such as the ends of the ladder or the entirety of the tree are not relevant or applicable to the context at hand.","image":"http://ithkuil.net/images/3-4-2c.jpg"},"ICP":{"name":"Inceptive","desc":"The INCEPTIVE extension focuses on the closest boundary, the beginning, initiation, or the immediately accessible portion of a noun or verb, without focusing on the boundaries of the remainder. It would be used in translating the nouns tunnel, song, desert, daybreak and plan in the following sentences: We looked into (the mouth of) the tunnel, He recognizes that song (i.e., from the first few notes), They came upon (an expanse of) desert, Let\'s wait for daybreak, I\'m working out a plan (i.e., that I just thought of).
In verbal contexts it would correspond to the English ‘to begin (to)…’ or ‘to start (to)…’ as in He began reading, It’s starting to molt, or She goes on a diet every winter.","image":"http://ithkuil.net/images/3-4-3c.jpg"},"ATV":{"name":"Attenuative","desc":"The ATTENUATIVE extension focuses on the end, termination, last portion, or trailing boundary of a noun, without focusing on the preceding or previously existing state of the noun. It would be used in translating the words water, story, and arrival in the sentences There’s no water (i.e., we ran out), I like the end of that story, and We await your arrival. With verbs, it is illustrated by the sentences It finished molting or She’s come off her diet.","image":"http://ithkuil.net/images/3-4-4c.jpg"},"GRA":{"name":"Graduative","desc":"The GRADUATIVE extension is the inverse of the DEPLETIVE (below), focusing on a diffuse, extended “fade-in” or gradual onset of a noun. It would be used in translating the words darkness, wonder, and music in the following sentences: Darkness came upon us, I felt a growing sense of wonder, The music was very soft at first. With verbs it is illustrated by verbs and phrases such as to fade in, to start gradually, to build up, and similar notions, e.g., She\'s been eating more and more lately.","image":"http://ithkuil.net/images/3-4-6c.jpg"},"DPL":{"name":"Depletive","desc":"The DEPLETIVE extension focuses on the terminal boundary or “trailing” edge of a noun, where this terminus is ill-defined, “diffuse” or extended to some degree, (i.e. the at-hand context of the noun “peters out” or terminates gradually). Essentially, it applies to any context involving actual or figurative fading. It would be used in translating the words water, strength, and twilight in the sentences He drank the last of the water, I have little strength left, She disappeared into the twilight. With verbs, it is exemplified by the phrases to wind down, to fade out, to disappear gradually and similar notions, e.g., She\'s eating less and less these days.","image":"http://ithkuil.net/images/3-4-5c.jpg"}},"popupdesc":"Extension refers to the spatial and temporal extent to which you are considering the root word; are you referring to all of it? The start of it? Some part in the middle of it?"},"persp":{"type":"","title":"Perspective","options":{"M":{"name":"Monadic","desc":"The MONADIC means that there is a certain number of (relevant) instances of the word. When combined with things like the MULTIPLEX, it means that the entire group is being considered as a whole (\\"forest(s)\\", not \\"trees\\")."},"G":{"name":"Agglomerative","desc":"The AGGLOMERATIVE is similar to the MONADIC, except it doesn\'t imply any sense of number; as in, \\"one or more X\\". It is also used for turning nouns (such as \\"a strand of hair\\" in the MONADIC) into mass nouns (such as \\"hair\\" in the AGGLOMERATIVE)"},"N":{"name":"Nomic","desc":"The NOMIC refers to the general archetype of the word as opposed to any specific instance of it. Examples are: The dog is a noble beast, Clowns are what children love most, There is nothing like a tree."},"A":{"name":"Abstract","desc":"Similar to the formation of English abstract nouns using suffixes such as -hood or -ness, the ABSTRACT transforms a configurative category into an abstract concept considered in a non-spatial, timeless, numberless context.
Examples: grove → the idea of being a grove or “grovehood”; book → everything about books, having to do with books, involvement with books.

With verbs, the ABSTRACT is used in verbal constructions to create a temporal abstraction, where the temporal relationship of the action, event, or state to the present is irrelevant or inapplicable, similar to the way in which the English infinitive or gerund form (used as substitutes for a verb phrase) do not convey a specific tense in the following sentences: Singing is not his strong suit; It makes no sense to worry about it; I can\'t stand her pouting."}},"popupdesc":"Perspective is the closest Ithkuil morphological category to the Number and Tense categories of other languages (e.g., singular/plural and past/present/future). However, the correspondence is only approximate because Perspective does not specifically address the quantity to which a formative is instantiated within a given context, nor when it occurs relative to the present, but rather the manner in which it is spatio-temporally instantiated."},"ess":{"type":"","title":"Essence","options":{"NRM":{"name":"Normal","desc":"Things that are real or real things that have happened"},"RPV":{"name":"Representative","desc":"Things that are potentially real (\\"It seems\\"/\\"I think it\'s\\") or imagined"}},"popupdesc":"The Ithkuil category of Essence explicitly distinguishes real-world actualities from their alternative, imagined or potential counterparts. The two essences are termed NORMAL and REPRESENTATIVE, the former being the default essence denoting real-world nouns and verbs, the latter denoting alternative counterparts."},"vn":{"type":"","title":"Vₙ","options":{"val":{"name":"Valence","desc":""},"pha":{"name":"Phase","desc":""},"eff":{"name":"Effect","desc":""},"lvl":{"name":"Level","desc":""},"asp":{"name":"Aspect","desc":""}},"popupdesc":"Determines which of the linked categories (listed below) will actually be shown on the word. All others are showable via affix if absolutely necessary, but will not be shown otherwise."},"v4n":{"type":"","title":"Vₙ","options":{"val":{"name":"Valence","desc":""},"pha":{"name":"Phase","desc":""},"eff":{"name":"Effect","desc":""},"lvl":{"name":"Level","desc":""}},"popupdesc":"Determines which of the linked categories (listed below) will actually be shown on the word.
To show Aspect in this slot, the word must only have one module - otherwise, use a different slot."},"val":{"type":"","title":"Valence","options":{"MNO":{"name":"Monoactive","desc":"The MONOACTIVE valence is the default valence and indicates a lack of co-activity, i.e., no participation by a second party is implied.
Use this for the default of all other Vₙ options."},"PRL":{"name":"Parallel","desc":"The PARALLEL valence indicates that a second party is engaging in the same activity as the first party at same time.
It would be used in translating sentences such as The children all sang together, We both went jogging on the parkway."},"CRO":{"name":"Corollary","desc":"The COROLLARY valence is similar to the PARALLEL, except that the second party engages in related activity at the same time as the first party, rather than the same activity.
It would be used in translating sentences such as The children played in the yard (i.e., each child engaged in a different play activity) or The band played my favorite song (implying that not everyone in the band was playing the same instrument, or perhaps that someone in the band sang as opposed to playing an instrument)."},"RCP":{"name":"Reciprocal","desc":"The RECIPROCAL valence indicates identical activity by each party directed at the other, thus translating the English adverbial phrases \'each other\' and \'one another,\' as in:
They looked at each other, The clown and the grocer despise one another."},"CPL":{"name":"Complementary","desc":"The COMPLEMENTARY valence indicates that the second party performs a complementary activity to that of the first party. By “complementary” is meant an activity different from that of the first party, but necessary to complete the whole of the joint activity, i.e., the “other half” of the joint activity.
This is exemplified in sentences such as The man and his son played catch, Hortense took me into the woods, The clown read the children a story, My back itches so I scratch it,
where \'played catch\' implies the complementary activities of throwing and catching, \'took (into the woods)\' implies someone leading while the other follows, \'read\' implies a reader and an audience, and \'itches\' implies scratching."},"DUP":{"name":"Duplicative","desc":"The DUPLICATIVE valence indicates that the second party copies or repeats the activity of the first party, as in the sentences:
Let\'s draw a picture (i.e., I\'ll draw it first, then you draw the same picture), They both read that book (i.e., first one, then the other), I bought a new car (i.e., and now someone else is buying a new car, too)."},"DEM":{"name":"Demonstrative","desc":"The DEMONSTRATIVE valence indicates that the first party demonstrates for the second party how to do something or what to do.
Thus an Ithkuil sentence constructed as We played chess with the verb in the DEMONSTRATIVE valence would mean \'I showed her how to play chess,\' while the sentence constructed as They fought us in this valence would mean \'They taught us how to fight.\'"},"CNG":{"name":"Contingent","desc":"The CONTINGENT valence indicates that the second party engages in the next or dependent phase of a multi-part activity, the specific activity being dependent on context.
Thus the Ithkuil sentence I started the campfire for my friend in the CONTINGENT implies that the friend then performed the next logical step, i.e., he cooked the food."},"PTI":{"name":"Partictipative","desc":"The PARTICIPATIVE valence indicates that the parties take part in an activity involving a greater whole, translatable by the English phrase \'take part in…\'
Thus, the Ithkuil sentence They raced in the PARTICIPATIVE means \'They each took part in the race.\'"}},"popupdesc":"In Ithkuil, the term Valence is used to refer to the manner of participation of two separate entities or parties to any given verb, i.e., participation by one party automatically implies participation by another party to the same act, event, or state in either a parallel, corollary, or complementary fashion. Such dual participation occurs naturally in the verbs of world languages and is the province of what is known as “co-active” verbs."},"pha":{"type":"","title":"Phase","options":{"PCT":{"name":"Punctual","desc":"The PUNCTUAL describes an act, condition, or event which is point-like, momentary or instantaneous in nature, such as an explosion, a flash of lightning, a blow, a single handclap, a collision between two objects, a stab of pain, a single cough, the clicking of a lock, etc.
It can be visually represented along a timeline by a single point, e.g., "},"ITR":{"name":"Iterative","desc":"The ITERATIVE refers to a momentary or instantaneous event, like the PUNCTUAL above, which repeats itself in a rapid, on/off, staccato manner, like a machine gun burst, strobe light burst, an alarm bell ringing, or the quick unconscious tapping of a finger, the whole comprising a single event.
Visual representation: • • • •"},"REP":{"name":"Repetitive","desc":"The REPETITIVE refers to a relatively brief event of indeterminate or vague duration (i.e., as with the default above), but repeated in an on/off staccato manner, like a car horn being honked repeatedly in a fast steady rhythm, or an automatic machine press.
Visual representation: — — ——"},"ITM":{"name":"Intermittent","desc":"The INTERMITTENT is similar to the ITERATIVE above, identifying a repetitive occurrence of a PUNCTUAL event, however, unlike the ITERATIVE, the duration of time between repetitions is relatively long and contextually relevant. It would be used in describing the downbeat pattern of a pop song, the ongoing snapping of fingers to music, the steady one-drop-at-a-time dripping of a faucet, etc.
Visual representation: •⠀⠀⠀•⠀⠀⠀•⠀⠀⠀•"},"RCT":{"name":"Recurrent","desc":"The RECURRENT is to the REPETITIVE as the INTERMITTENT is to the ITERATIVE. It indicates a slow repetition of a non-PUNCTUAL (default) event, where the duration between occurrences is relatively long and contextually relevant. Exemplified by the sounding of a foghorn, or the ongoing hooting of an owl.
Visual representation: —⠀⠀⠀—⠀⠀⠀—⠀⠀⠀—"},"FRE":{"name":"Frequentative","desc":"The FREQUENTATIVE indicates an iterative occurrence (a single set of punctual repetitions) which in turn repeats at intervals, the whole considered as a single event. Examples would be the repetitive sets of hammerings of a woodpecker or the repeated short bursts of a jackhammer.
Visual representation: • • •⠀⠀⠀• • •⠀⠀⠀• • •⠀⠀⠀• • •"},"FRG":{"name":"Fragmentative","desc":"The FRAGMENTATIVE indicates a random pattern of punctual occurrences, the whole considered as a single event.
Visual representation: • •⠀⠀⠀• • •⠀⠀⠀⠀⠀• •⠀⠀⠀• • • • •⠀⠀⠀⠀⠀•⠀⠀⠀• •"},"VAC":{"name":"Vacillative","desc":"The VACILLATIVE functions as a non-punctual counterpart to the FRAGMENTATIVE.
Visual representation: —— — —⠀⠀⠀— —⠀⠀⠀— —⠀⠀⠀—⠀⠀⠀⠀⠀— — —"},"FLC":{"name":"Fluctuative","desc":"The FLUCTUATIVE indicates a random pattern of both punctual and longer occurrences. An example would be the “sputtering” of a lighted fuse, the random patterns of tongues of flames, the chirping of birds in the wild, etc.
Visual representation: — • • —⠀⠀• — • •⠀⠀⠀—⠀⠀⠀⠀⠀• • — • • •⠀⠀⠀• •⠀⠀⠀—— • — • •"}},"popupdesc":"Phase refers to variances in the temporal pattern of how an act, condition or event occurs.
The default (i.e. if the Phase is not specified) is only one occurrence.
Said default can be visually represented along a progressive timeline by a short dash, e.g., "},"eff":{"type":"","title":"Effect","options":{"1:BEN":{"name":"Beneficial to Speaker","desc":"Whatever the word is describing is beneficial to the speaker."},"2:BEN":{"name":"Beneficial to Addressee","desc":"Whatever the word is describing is beneficial to the addressee."},"3:BEN":{"name":"Beneficial to 3rd Party","desc":"Whatever the word is describing is beneficial to some third party (who is probably referred to by another word)."},"SLF:BEN":{"name":"Beneficial to Formative","desc":"Whatever the word is describing is beneficial to itself."},"UNK":{"name":"Unknown","desc":"The benefit/detriment from this word is unknown.
Note that this is not the same as no benefit/detriment."},"SLF:DET":{"name":"Detrimental to Formative","desc":"Whatever the word is describing is detrimental to itself."},"3:DET":{"name":"Detrimental to 3rd Party","desc":"Whatever the word is describing is detrimental to some third party (who is probably referred to by another word)."},"2:DET":{"name":"Detrimental to Addressee","desc":"Whatever the word is describing is detrimental to the addressee."},"1:DET":{"name":"Detrimental to Speaker","desc":"Whatever the word is describing is detrimental to the speaker."}},"popupdesc":"Effect is used to describe who a certain concept (the word) is beneficial or detrimental to."},"lvl":{"type":"","title":"Level","options":{"MIN":{"name":"Minimal","desc":"X\'s M is at its least possible
X is at its least M possible"},"SBE":{"name":"Subequative","desc":"X\'s M is less than or equal to to Y (or less than or equal to before)
X is less M than or equal to Y/before"},"IFR":{"name":"Inferior","desc":"X\'s M is the least within/among Y (or ever)
X is the least M within/among Y"},"DFT":{"name":"Deficient","desc":"X\'s M is less than Y (or less than before)
X is less M than Y (or than before) "},"EQU":{"name":"Equative","desc":"X\'s M is the same as Y (or as before)
X is as M as Y (or as before)"},"SUR":{"name":"Surpassive","desc":"X\'s M is more than Y (or than before)
X is more M than Y (or than before)"},"SPL":{"name":"Superlative","desc":"X\'s M is the most within/among Y (or ever)
X is the most M within/among Y (or ever)"},"SPQ":{"name":"Superequative","desc":"X\'s M is more than or equal to Y (or more than or equal to before)
X is more M than or equal to Y/before"},"MAX":{"name":"Maximal","desc":"X\'s M is at its most possible
X is at its most M possible"}},"popupdesc":"Level is used in comparative statements, such as \\"my hat is cooler than your hat\\".
X = this word,
M = a verb (what quality of X is being compared),
Y = a word marked with the CMP case (the thing being compared to)"},"asp":{"type":"","title":"Aspect","options":{"RTR":{"name":"Retrospective","desc":"This aspect operates in conjunction with Perspective to create various equivalents to Western tense categories.
With the MONADIC, the RETROSPECTIVE equates with the English simple past tense.
With the NOMIC and ABSTRACT, it adds a sense of ‘and it’s always been that way’."},"PRS":{"name":"Prospective","desc":"Like the RETROSPECTIVE above, this aspect operates in conjunction with Perspective to create various equivalents to Western tense categories.
With the MONADIC, the PROSPECTIVE equates with the English future tense.
With the NOMIC and ABSTRACT, it adds a sense of ‘and it’ll always be that way’ or ‘from now on’."},"HAB":{"name":"Habitual","desc":"When used with the MONADIC perspective, this aspect conveys the idea of ‘always’ or ‘continues to’."},"PRG":{"name":"Progressive","desc":"This aspect conveys the idea of an act in progress, similar to the English construction ‘in the midst of [verb] + ing’ or the use of the present participle in Spanish."},"IMM":{"name":"Imminent","desc":"Conveys that an action, state or event is imminent. Translates phrases such as ‘(just) about to’ or ‘on the verge of’ as in I think Carl is about to cry."},"PCS":{"name":"Precessive","desc":"Conveys that an action, state or event has immediately preceded. Translates such phrases as ‘just’ or ‘just now,’ as in We just saw a clown in the toy store."},"REG":{"name":"Regulative","desc":"Conveys the idea of participation or involvement in an action, state, or event over an amount of time extending from the past into the future relative to the contextual present. Translates English phrases such as ‘engaged in’ or ‘involved in’ as in Her husband is engaged in construction of the new bridge."},"SMM":{"name":"Summative","desc":"meaning ‘...(have) already X’d’"},"ATP":{"name":"Anticipatory","desc":"meaning ‘have yet to (begin) X-ing’"},"RSM":{"name":"Resumptive","desc":"Conveys the idea of an act, state, or event resuming after having previously ceased, as in The girl resumed singing, or He is starting to laugh again."},"CSS":{"name":"Cessative","desc":"Conveys the idea of cessation of an event, state or action. Translates English phrases such as ‘stop,’ ‘discontinue,’ or ‘cease,’ as in They stopped dancing at midnight."},"PAU":{"name":"Pausal","desc":"Indicates a pause in an action, state or event, with an implied intention to resume. Translates phrases such as ‘take a break from’ or ‘pause in’ as in Mother took a break from cleaning to gossip with her friends."},"RGR":{"name":"Regressive","desc":"Conveys the idea of a return to an original or previous action, state or event after a long hiatus involving an intervening change of state or situation, as translated by the phrase ‘return to.’ The REGRESSIVE should be distinguished from the RESUMPTIVE above, which merely implies the restarting after a stop or pause without an intervening change of state or situation. An example would be Mr. Yates returned to golf after recovering from his stroke."},"PCL":{"name":"Preclusive","desc":"Conveys the fact that an action, state, or event takes place from inception to conclusion all in one contextual segment, translating such phrases as ‘all at once,’ ‘all in one go,’ ‘without stopping,’ etc. as in Walter drank the entire bottle in one gulp."},"CNT":{"name":"Continuative","desc":"Conveys the idea that an action, event, or state continues on. Translates phrases such as ‘keep on,’ ‘still,’ ‘stay,’ ‘yet,’ etc. When used in a negative sentence, conveys the idea of English ‘no longer’ or ‘not anymore’ as in She kept on singing, You\'re still staring at me, I\'ve yet to meet him, Sam no longer loves you / Sam doesn\'t love you anymore."},"ICS":{"name":"Incessative","desc":"Conveys that an action, state or event continues on without stopping. Translates such English adverbials as ‘…on and on’ or ‘…away’ as in They danced the night away or They\'ve been battling on and on since last year."},"EXP":{"name":"Experiential","desc":"Translates English ‘ever’ in the sense of ‘within the realm of one’s experience’ or ‘at some point in one’s experience,’ as in Does he ever shut up?
Note the EXPERIENTIAL does not equate to ‘ever’ when it means ‘always,’ as in Ever does he seek his destiny nor as an adverb of mere emphasis as in Was she ever tired."},"IRP":{"name":"Interruptive","desc":"meaning ‘to get interrupted while X-ing’ or ‘to X only so far or so much before having to stop’"},"PMP":{"name":"Preemptive","desc":"Emphasizes the singularity and initial occurrence of an action, state or event, as translated by such English phrases as ‘for once’ or ‘just once,’ as well as the anticipation preceding a long-expected situation, as translated by phrases such as ‘at last,’ ‘after all this time,’ ‘finally,’ and ‘for the first time.’"},"CLM":{"name":"Climactic","desc":"Emphasizes the finality of an action, state or event, as translated by such English phrases as ‘once and for all’ or ‘for the last time.’"},"DLT":{"name":"Dilatory","desc":"meaning ‘(be) long-delay(ed) in being/doing X’ "},"TMP":{"name":"Temporary","desc":"Conveys that an action, state or event is being considered or is applicable only to the present subjective context or range of the contextual present, as translated by phrases such as ‘for the time being’ or ‘but only for the moment’ or ‘for now’ as in This will be sufficient for now or For the time being you\'ll have to drink water."},"XPD":{"name":"Expenditive","desc":"Conveys an all-consuming action, state, or event which interferes with or prevents other events from occurring. It translates English phrases such as ‘spend one’s time’ or ‘away’ as in Mother spends her life worrying or He\'s pining away."},"LIM":{"name":"Limitative","desc":"meaning ‘to be/do X (just) in time’; indicates an act/event that culminates an anticipatory context"},"EPD":{"name":"Expeditive","desc":"Conveys a sense of haste associated with an action or event. Translates English ‘hurry (up)’ as in Hurry up and finish or They ate in a hurry."},"PTC":{"name":"Protractive","desc":"‘take one’s time X-ing’"},"PPR":{"name":"Preparatory","desc":"meaning ‘to be/do X in advance’, ‘to be/do X in preparation for a future situation’"},"DCL":{"name":"Disclusive","desc":"Focuses on the revelatory nature of an action, state or event, translating phrases such as ‘turn out to be,’ ‘turn out that…’ and ‘be revealed that….’"},"CCL":{"name":"Conclusive","desc":"Conveys the direct outcome of an action, state or event within the short-term context of the situation at hand. Translates phrases such as ‘end up…, come to, reach the point where,’ as in I ended up crashing the car or He drank to the point where he passed out."},"CUL":{"name":"Culminative","desc":"Similar to the CONCLUSIVE above, but with a focus on the eventual, long-term outcome over an extended period of time or through a series of developmental steps. Compare the following examples with the CONCLUSIVE aspect above: In the end, I\'ll have to leave town; Things got to the point where the mayor got involved; Eventually, they fell in love."},"IMD":{"name":"Intermediative","desc":"Conveys the idea that the action, state, or event takes place at some point along the timeline of, or within the duration of, another action, state, event, or background context, as translated by the phrases ‘at some point’ or ‘somewhere along the way….’"},"TRD":{"name":"Tardative","desc":"Conveys the idea that an action, state, or event lessens, dwindles, or slackens in energy, intensity, or effect, impliedly by exhaustion of the active source of energy or agency, or by dissipation of the foundational context involved. Translates such phrases as ‘to get tired of,’ ‘peter out,’ ‘trail off,’ etc."},"TNS":{"name":"Transitional","desc":"Focuses on the initial stage of preparation, adjustment, or accustomization to an action, state or event, translated by phrases such as ‘take up,’ ‘start to,’ etc. implying a long-term process of initialization, as in I\'m planning to take up golf."},"ITC":{"name":"Intercommutative","desc":"Conveys the idea of “sequential reciprocity,” meaning that the action or event is a consequent reciprocation triggered by, or in reaction to, an initiating action or event. It translates the English verbal particle ‘back’ as in The boy threw it back or She stared back at the men ogling her."},"MTV":{"name":"Motive","desc":"Conveys that an action, state or event involves physical removal or absence of the participant from the present context of discourse. Translates such phrases as ‘be off …-ing’ or ‘go off to …’ as in Dad\'s off hunting or They went off to cavort with the clowns."},"SQN":{"name":"Sequential","desc":"This aspect conveys the idea a “sequential progressive” in which a series of contextually identical instances is seen as comprising a single event, usually with an implied culmination point. It translates the English use of ‘off’ as in He\'s checking off each item as it is inventoried, or The sheep died off from the disease."}},"popupdesc":"Aspect provides detailed and specific temporal information about the word, not in relation to the speaker\'s present moment of utterance (as with Perspective), but rather in relation to the contextual “present” of the act, condition, or event being spoken about.
It makes the most sense when applied to verbs (both unframed and framed)."},"mood":{"type":"","title":"Mood","options":{"FAC":{"name":"Factual","desc":"The FACTUAL mood signifies that the factuality of the speaker’s statement is certain and that there either is no underlying presupposition to the statement, or if there is, its factuality is also certain or has no bearing on the factuality of the statement.
TRUE / TRUE or NONE"},"SUB":{"name":"Subjective","desc":"The SUBJUNCTIVE mood indicates that the factuality of an explicit or implicit presupposition underlying the statement is certain, but the factuality of the speaker’s statement itself is questionable or uncertain, the specific nuance of factuality intended being subject to the particular Bias and Validation associated with the verb. Corresponds roughly with English ‘may,’ ‘maybe’ or ‘might,’ with the added distinction that an explicit or implicit (i.e., underlying) presupposition is true.
UNCERTAIN / TRUE"},"ASM":{"name":"Assumptive","desc":"The ASSUMPTIVE mood functions identically to the FACTUAL except that the factuality of an underlying presupposition is unknown. It therefore conveys an act, state, or event whose factuality is dependent on whether something else is factual, thus corresponding to certain usages of English ‘maybe’ and ‘will’ (where ‘will’ primarily conveys possibility, not future tense).
TRUE / UNCERTAIN"},"SPC":{"name":"Speculative","desc":"The SPECULATIVE mood indicates that the factuality of both the presupposition and the statement itself are unknown. Its translation into English is dependent on the specific context, sometimes corresponding to ‘may,’ ‘maybe’ or ‘might,’ and at other times corresponding to the auxiliary ‘would.’
UNCERTAIN / UNCERTAIN"},"COU":{"name":"Counterfactive","desc":"The COUNTERFACTIVE mood indicates that the factuality of the underlying presupposition is false or unreal but that the factuality of the statement would otherwise be true. It thus corresponds to the English construction of auxiliary ‘would’ or ‘would have’ in its use to show counterfactuality (i.e., what would have been if a false presupposition had been true).
TRUE / FALSE"},"HYP":{"name":"Hypothetical","desc":"The HYPOTHETICAL mood indicates that the factuality of the underlying presupposition is false or unreal and that the factuality of the statement itself is uncertain. It thus corresponds to the English construction of auxiliary ‘might have’ in its use to show possible counterfactuality (i.e., what might have been if a false presupposition had been true).
UNKNOWABLE / FALSE"}},"popupdesc":"Mood refers to the knowability and truthfulness of a statement, and describes both the truth of the actual statement and any underlying presuppositions.
Alongside Illocution and Validation, it refers to the whole statement.
FULL STATEMENT / PRESUPPOSITIONS"},"casc":{"type":"","title":"Case-Scope","options":{"CCN":{"name":"Natural","desc":"X\'s case is governed by the noun-case of the formative marked Antecedent (CCA); in the absence of such, X\'s case is associated with the main verb (or framed verb if within a case-frame), except for if it has the Appositive or Relational Cases."},"CCA":{"name":"Antecedent","desc":"X is the “head” whose case governs all Natural (CCN) nouns in the clause"},"CCS":{"name":"Subaltern","desc":"X is the formative to which formatives in the clause marked with Qualifier (CCQ) are associated"},"CCQ":{"name":"Qualifier","desc":"X is associated by noun-case to the formative marked by Subaltern (CCS)"},"CCP":{"name":"Precedent","desc":"X\'s noun-case associates only with the immediately following formative"},"CCV":{"name":"Successive","desc":"X\'s noun-case associates only with the immediately preceding formative"}},"popupdesc":"Formatives showing Case use the Case-Scope to indicate the scope of a case-marked formative over adjacent formatives. This is useful when there is a string of cases modifying another “head” formative; specifies which has scope over which other formative.
Similar to a Type 1 Concatenation."},"c":{"type":"","title":"Case","options":{"THM":{"name":"Thematic","desc":"The (usually inanimate) party which is a participant to the verbal predicate which does not undergo any tangible change of state.
Semantic role: CONTENT"},"INS":{"name":"Instrumental","desc":"The entity acting as means utilized by an explicit or implicit agent to implement/carry out the effect/impact of an act/event.
Semantic role: INSTRUMENT"},"ABS":{"name":"Absolutive","desc":"The party that is the target of, and/or undergoes, the effect/impact or change of state as a result of a tangible act/event.
Semantic role: PATIENT"},"AFF":{"name":"Affective","desc":"The party who undergoes an unwilled, affective experience,
e.g. coughing, sneezing, feeling hot/cold, trembling, experiencing sensory input (tactile, olfactory, visual, aural, gustatory), proprioceptive states, psychological/emotional states, reflex reactions such as cringing, yawning, ducking, screaming in fright, etc.
Semantic role: EXPERIENCER"},"STM":{"name":"Stimulative","desc":"The party/entity/idea/thought/situation or mental state which triggers an unwilled, affective response or is the trigger for an existential state such as possession.
Semantic role: STIMULUS"},"EFF":{"name":"Effectuative","desc":"The party/force that initiates a chain of causal events or who induces another party to act as an agent (specifiable via the ENB affix).
Semantic role: ENABLER"},"ERG":{"name":"Ergative","desc":"The animate party or inanimate force which initiates/causes an act/event which creates a tangible effect or change of state in a patient.
Semantic role: AGENT or FORCE"},"DAT":{"name":"Dative","desc":"The party which is the (intended) recipient of a verb of transference, transmission, or communication; the party at/to which a physically transferred entity, transmitted information, or a communicable entity is directed.
Semantic role: RECIPIENT"},"IND":{"name":"Inducive","desc":"The patient who undergoes the tangible effect, impact, or change of state of an act/event initiated/caused by that self-same party.
Semantic role: AGENT+PATIENT"},"POS":{"name":"Possesive","desc":"The party which has alienable (i.e., removable or severable) possession of another noun in the sense of having physical control or oversight of that noun, whether by chance circumstance or deliberate manipulation."},"PRP":{"name":"Proprietive","desc":"The party having alienable possession of another noun in the sense of quasi-permanent contextual control, ownership or oversight, whether by societal recognition, socialconvention, law, purchase or decree, which mere physical separation does not sever."},"GEN":{"name":"Genitive","desc":"The party which has inalienable (i.e., irremovable, non-severable) possession of or association with another noun in the sense of having that noun as an inherent or intrinsic attribute, characteristic, physical part, or genetic (i.e., familial) bond."},"ATT":{"name":"Attributive","desc":"The party which inalienably experiences the effects of, or otherwise has an affective (see the affective case above) relationship with another noun, either as a temporary or permanent attribute, characteristic, or experience, whether physical or psychological, objective or subjective in nature."},"PDC":{"name":"Productive","desc":"The party which is the creator, author or originator of another noun."},"ITP":{"name":"Interpretative","desc":"The party acting as the subjective interpretational context of another noun, that is the noun by or through which another noun is subjectively considered, interpreted or described,
e.g. Monet\'s Paris, my baseball team (as spoken by a fan)."},"OGN":{"name":"Originative","desc":"The party which is the literal or figurative source of another, or which is the native location, origin, or usual locative context for another."},"IDP":{"name":"Interdependent","desc":"The party which has a coordinated, tandem, complementary or mutually dependent relationship with another. The relationship between the two nouns can be thought of as reciprocal in nature, i.e., each noun implies the other or needs the other to exist within its natural context."},"PAR":{"name":"Partitive","desc":"Indicates a quantitative or content-to-container relationship between the two nouns,
e.g. a cup of coffee, a box(ful) of books, a train(load) of refugees, twelve chairs."},"APL":{"name":"Applicative","desc":"The entity/act/event which constitutes the circumstantial, potentially one-time, temporary purpose of another entity/act/event.
\'for the (circumstantial/temporary/one-time) purpose of X\', \'being used (temporarily/circumstantially) as X\'."},"PUR":{"name":"Purposive","desc":"The entity/act/event which constitutes the inherent/innate/intrinsic purpose of another entity/act/event.
\'for the (dedicated) purpose/function of X\'"},"TRA":{"name":"Transmissive","desc":"Renamed from the Benefactive in Ithkuil III, this case indicates the party for which/whom an entity/act/event occurs or is transmitted, with the intention that the entity/act/event be beneficial/detrimental to the named party.
\'for (the benefit/detriment of) X\'"},"DFR":{"name":"Deferential","desc":"The entity for whose sake, or out of deference/respect to whom, an act/event occurs.
\'for X\'s sake\', \'out of deference for X\', \'out of respect for X\'"},"CRS":{"name":"Contrastive","desc":"The party for which something is substituted, or of which another party/entity takes its place;
\'instead of X\', \'as a substitute for X\', \'in place of X\'"},"TSP":{"name":"Transposive","desc":"The party on whose behalf something is/occurs."},"CMM":{"name":"Commutative","desc":"The party in exchange for which, a reciprocal or complementary act/event occurs;
e.g. He paid 100 dollars in exchange for the tickets."},"CMP":{"name":"Comparative","desc":"The party being compared to another, translatable as \'as compared to\', \'as opposed to,\' \'versus\'; with verbs it translates as \'whereas\' or \'while\' (in its synonymous usage to \'whereas\').
Examples: She chose the red one as opposed to the others, Sam drives a van versus Joe, who prefers a truck, At the party, she danced while/whereas I ate."},"CSD":{"name":"Considerative","desc":"The entity according to which, another entity is, or an act/event occurs."},"FUN":{"name":"Functive","desc":"Identifies a noun used to describe/characterize the manner in which an act/event/state occurs or exists,
e.g. She dances gracefully; The boys ate with gusto; That clown is speaking nonsense; Father speaks with such fortitude."},"TFM":{"name":"Transformative","desc":"Identifies the outcome or final state of a process, often translatable by \'to,\' \'until,\' or \'into\' in the sense of reaching a final state after undergoing some transformation.
Examples: The house burned to ashes, Mother reached a state of tranquility, The clowns will turn our children into slaves, Her father drank himself to death"},"CLA":{"name":"Classificative","desc":"Identifies a noun as a basis for arranging, sorting, classifying, or counting,
e.g. Place them in groups of three, The workers arranged the tables in rows, He lay down lengthwise, Can you count by fives?, I will sort them by color.
Also identifies the basis for recurring increments,
e.g. month by month; day in, day out; box upon box, clown after clown."},"RSL":{"name":"Resultative","desc":"Identifies a result/consequence, translatable as \'resulting in X\', \'with X as a consequence\', etc."},"CSM":{"name":"Consumptive","desc":"Identifies the entity consumed or used as a resource as a result of, or as a concurrent part of a process,
e.g. She cooks with tomatoes, The clown fed her an apple, He reads by candle(light)."},"CON":{"name":"Concessive","desc":"Identifies a noun or phrase which gives rise to an implicitly expected result which does not occur. This translates in many ways such as \'despite,\' \'in spite of,\' \'notwithstanding,\' \'although,\' \'regardless of,\' \'no matter what,\' etc.
Examples: In spite of his stupidity, he passed the test; The law notwithstanding, I will stand my ground; No matter how ignorant (they may be), they are welcome; Although a foreigner, we will let him in."},"AVR":{"name":"Aversive","desc":"Identifies a source or object of fear and/or avoidance. With nouns, it translates expressions such as \'for fear of,\' \'in order to avoid,\' or \'in avoidance of.\' With verbs, it would translate English ‘lest.’
Examples: She finished her plate for fear of my wrath, I traveled by night to avoid the sun. Hide the children, lest the clowns find them."},"CVS":{"name":"Conversive","desc":"Identifies an exception. When the exception is to a hypothetical situation, it translates as \'unless\' in verbal phrases, and \'without\' for nouns,
e.g. Without peace, this society is doomed; We\'ll be safe unless the clowns find us.
If applied to a real or actual situation, it translates as \'except (for)\', \'but for,\' \'but (not), \'excluding\', \'if not for,\' \'if it wasn\'t for,\' \'if it wasn\'t on account of.\'
If not for the rain, we would have had a good time; She loves everybody except clowns; All pets are vermin, excluding dogs; He eats almost anything but (not) spinach."},"SIT":{"name":"Situative","desc":"Identifies a noun as the background context for a clause without implying any direct causative relationship between the background context and the associated or consequent act/state/event. It translates in many ways,
e.g. Because of war, our planet will never be able to join the Federation; Given the presence of clowns, we must accept the corruption of our children; With my plan, we will defeat the enemy.
Other translations include: \'inasmuch as / insofar as / to the extent that / taking X into account / in view of the fact that / given that / considering\'."},"PRN":{"name":"Pertinential","desc":"Identifies the general referent of another formative, translating such English terms as \'about,\' \'regarding,\' \'concerning,\' \'in regard to,\' \'in reference to,\' \'pertaining to,\' or \'as for.\'"},"DSP":{"name":"Descriptive","desc":"Identifies a formative as describing another formative in an adjectival manner, translatable as \'characterized/describable as being like X; characterized/describable as having the quality/qualities of X\'"},"COR":{"name":"Correlative","desc":"Indicates an abstract general relationship, association, or conjunction between one formative and another, including subjective, contextual, metaphorical, or symbolic associations. It translates general phrases such as \'relative to,\' \'in relation to,\' \'in correlation with,\' \'in association with,\'
e.g. career goals, the soup of the day, the direction of that road, The elapsed time relative to the distance determines the winner, Our next topic is sex and/in art (i.e., the relationship between art and sex)."},"CPS":{"name":"Compositive","desc":"Identifies a noun as being the literal or figurative substance or component(s) of which another is made, composed, formed, built or comprised.
Example of usage would be That statue was carved out of marble, She owns three gold(en) coins, We were caught in a web of lies, I use a wooden ladder, It was a house of cards, Three suits comprise his wardrobe, Joe detests styrofoam cups."},"COM":{"name":"Comitative","desc":"Identifies a formative that accompanies another, translatable as \'(along) with\'. When used with Parallel or Complementary valence, signifies that the formative is being used in the same (or a complementary) way or is undergoing the same (or a complementary) activity as the other formative it is associated with
(i.e., the meaning of the Conjunctive case in Ithkuil III)."},"UTL":{"name":"Utilitative","desc":"Identifies a formative in the process of being used while some other activity or state is in progress. It does not imply the INSTRUMENT of an act as does the instrumental case.
Examples: the gun-wielding man, the umbrella-toting pedestrian, a girl with backpack (on)."},"PRD":{"name":"Predicative","desc":"Identifies the non-causal basis, foundation, sustenance (literally or figuratively), or required existential condition for another noun or clause, translatable by the phrases \'based (up)on,\' \'dependent (up)on\' or \'relying on.\'
Examples of use are a book dependent on a publisher, a man relying on charity, laws based in reason, success supported by corruption."},"RLT":{"name":"Relative","desc":"Identifies a formative (or case-frame) as constituting a relative clause associated with the preceding formative (or whatever formative is indicated by the DCD affix as being the head of the relative clause).
NOTE: a lone formative in Relative case not functioning as an external head of a relative clause need not be in Framed Relation."},"ACT":{"name":"Activative","desc":"Identifies the Experiencer of a modal state, such as obligation, necessity, desire, hope, expectation, wishing, being able to, etc. functioning as the \\"subject\\" of a modal(ized) verb governing a hypothetical state (i.e., what is wanted, needed, expected, able to be done, etc.)"},"ASI":{"name":"Assimilative","desc":"Identifies a formative used as a context for analogy or metaphorical comparison to another formative; translatable as \'as/like\' meaning \'as if (it were) X\' in the sense of comparison or analogy between one thing and another that it is not,
e.g. She sings like a bird; Treat her as/like a princess (= as if she were a princess); He talks like a child (even though he\'s an adult)."},"ESS":{"name":"Essive","desc":"Identifies the role or name by which an entity is known or contextually identified. It translates English \'as/like\' in the sense of naming or reference to the an entity\'s functional identity,
e.g. They called him a clown, The woman entered the club as an equal of any man, We consider you our only hope, Treat her as/like a princess (because she is one), He talks like a child (because he is a child)."},"TRM":{"name":"Terminative","desc":"Identifies a noun as being the goal of an act/event,
e.g. We seek a new planet; a desire to see his homeland; an academy for (making) champions."},"SEL":{"name":"Selective","desc":"Identifies a contextually recurring time-period, as well as a string of recurring entities,
e.g. I visit him every three days; Each year, I travel to the Clown Planet; He works nights; By day, she is an artisan; The clowns visit us on Sundays; ...every third book; ...every green one."},"CFM":{"name":"Conformative","desc":"The entity pursuant to which, as per which, or in conformance with which, another entity is, or an act/event occurs."},"DEP":{"name":"Dependent","desc":"Identifies as formative as being the basis of a dependency phrase on which another formative or phrase acts as the contingency, translatable as \'...if the circumstances regarding X are such to allow/warrant it\' where the final “it” refers to the original contingency noun/phrase whose existence/occurrence is (at least in part) determined by or contingent upon the dependency phrase. The exact nature of the dependency can be specified using the DPC affix."},"VOC":{"name":"Vocative","desc":"Signifies a noun being used in direct address."},"LOC":{"name":"Locative","desc":"entity identified as the location where something is situated or occurs; \'at / in / on / by X\' "},"ATD":{"name":"Attendant","desc":"entity in whose presence something is/occurs and which/who is thereby involved in some peripheral manner (e.g., as a witness, as a party affected or stimulated to action, etc.)"},"ALL":{"name":"Allative","desc":"entity toward which another entity is moving/approaching"},"ABL":{"name":"Ablative","desc":"entity away from which another entity is moving/receding"},"ORI":{"name":"Orientative","desc":"entity (often a body part or sub-component) which serves as the “face” or surface or “front” or “head” of an entity in terms of external communication or interaction, or which serves as the forward “end” of a spatially orientated axis aligned to a vector of motion in terms of directional movement."},"IRL":{"name":"Interrelative","desc":"signifies the directional/temporal orientation or position of an entity relative to another, i.e., a noun relative to whose position in space or time another noun is being described for purposes of spatial/temporal orientation,
e.g. He turned his back on me, It lies just west of the house, Tell me when the parade starts relative to my arrival."},"INV":{"name":"Intrative","desc":"Identifies a noun as being the spatio-temporal boundary point of a span or volume of space or a period of time, i.e, either the starting point or the ending point of a span of time or space.
English translations include: \'as of X\' / \'since X\' / \'until X\'; for spatial contexts, translates as “between there and here” / “between here and there”)"},"NAV":{"name":"Navigative","desc":"entity whose literal or metaphorically inferred long axis serves as the direction of another entity\'s path, course, arc, or trajectory of translative motion"},"CNR":{"name":"Concursive","desc":"Indicates a “temporal locative” meaning \'at or during the time of X\', i.e., the point or stretch in time at or during which an entity or an act/event exists or occurs."},"ASS":{"name":"Assessive","desc":"Specifies the increment of space or time or unit by which a contextual ratio of measurement is created,
e.g. He charges by the minute. It travels at 90 kilometers per hour. He earns $25 per book."},"PER":{"name":"Periodic","desc":"Identifies the span of time / time frame at some point(s) during which, separate events, repetitions, or durationally segmented acts or states take place.
Examples would be He wrote the novel in/over six months, These clowns can corrupt your child within a few days, The woman has been ill a lot this year, For the last several concerts, my voice has been deteriorating."},"PRO":{"name":"Prolapsive","desc":"Signifies the duration of an act, condition, or event, i.e., how long it takes or lasts,
e.g. He prayed through lunch, It rained all night, It took three days for the fever to break, She sang for an hour."},"PCV":{"name":"Precursive","desc":"Identifies an entity acting as a point in time prior to which an act, condition, or event occurs,
e.g. \'this city before the war\', \'a presentation preceding the banquet\'."},"PCR":{"name":"Postcursive","desc":"Identifies an entity acting as a point in time after which, following which, subsequent to which, an act, state, or event occurs,
e.g. \'this city after the war\', \'a presentation following the banquet\', \'It\'s been a long time since I danced\'."},"ELP":{"name":"Elapsive","desc":"Identifies the amount of time that has passed or is expected to pass between the contextual present and the time of the act, condition, or event being spoken of. It corresponds to English \'...ago\' or \'...from now\'.
Examples would be Four years ago I was a student; Going back three generations, women could not even vote; Four years from now, I will be a student; Looking ahead three generations, clowns will rule the world; I will be home in three days; Little did he know that two months later he\'d be a rich man.
The past vs. future distinction is determined from context, any aspectual morphology, or may be specified with the new TPL affix. "},"PLM":{"name":"Prolimitive","desc":"Signifies the spatio-temporal boundary point of a span of time or space during which or within which something is expected to or must occur or be situated.
Equivalent to English phrases: by the end of X / within the period ending in X / within the period ending with X / before X is over / before X is up / inside of (the period signified by) X"}},"popupdesc":"Cases are the role of the word in a sentence, and New Ithkuil has 68.
They are split into seven categories;
Transrelative, which are similar to cases in natural languages,
Appositive, which is to do with possession-esque relations,
Associative, which is similar but more related to reasons and motives,
Adverbial, which (fairly obviously) is for adverb-like words,
Relational,
Affinitive, and
Spatio-Temporal, which are for words describing the space or time of the sentence."},"ill":{"type":"","title":"Illocution","options":{"ASR":{"name":"Assertive","desc":"The statement is an assertion/proposition about the world which constitutes a truth claim"},"DIR":{"name":"Directive","desc":"The statement is either an imperative command to another party to do/be something, or a \\"commissive\\" statement committing the speaker to a specific state or course of action (i.e., a vow, promise, guarantee, etc.)"},"DEC":{"name":"Declarative","desc":"A \\"performative\\" statement which, by its utterance/publication, creates a change of state (at least psychologically) for the addressees (i.e. a declaration, announcement, edict, etc.)"},"IRG":{"name":"Interrogative","desc":"A statement whose purpose is to inquire or seek information from the addressee (i.e., equivalent to an English WH-question)"},"VRF":{"name":"Verificative","desc":"A statement whose purpose is to seek/obtain corroboration, confirmation, or verification (i.e., equivalent to a Yes/No question)"},"ADM":{"name":"Admonitive","desc":"A statement whose purpose is to provide advisory/admonitive information to the addressee (i.e., a warning)"},"POT":{"name":"Potentiative","desc":"A statement of wishing, hoping, or other unreal(ized) provenance"},"HOR":{"name":"Hortative","desc":"A counterfactual statement indicating a desired but impossible state of affairs that cannot be realized (equivalent to English hortative constructions such as If only..., Were that..., If only it were so that..."},"CNJ":{"name":"Conjectural","desc":"Equivalent to an English-language \\"if\\"-clause, indicating that the statement is offered as a conjectured hypothetical, ostensibly to be followed by a \\"then...\\" implicational clause. Translatable as \\"If (it were the case that)...\\""}},"popupdesc":"Illocution refers to the type of \\"speech act\\" made by the speaker, i.e. the purpose and intended interpretation of the statement.
Alongside Mood and Validation, it refers to the whole statement."},"vld":{"type":"","title":"Validation","options":{"OBS":{"name":"Observational","desc":"The statement is true because of present sensory knowledge or present sensory experience: “I perceive... / I know...” "},"REC":{"name":"Recollective","desc":"The statement is true because of past sensory knowledge or past sensory experience: “I remember... / I know (from memory)...”"},"PUP":{"name":"Purportive","desc":"The statement is true because of knowledge from a definitive/(quasi-)verifiable 3rd party source: “I\'ve read... / (an expert) has said...”"},"RPR":{"name":"Reportive","desc":"The statement is true because of knowledge from a 3rd party: “I heard (from someone)... / someone has said...”"},"USP":{"name":"Unspecified","desc":"[Validation deliberately left unspecified]"},"IMA":{"name":"Imaginary","desc":"The statement is NOT true because it is: an unreal statement, not intended as true, based on whim, imagination, dream, altered mental state, etc."},"CVN":{"name":"Conventional","desc":"The statement is true because of cultural/conventional (i.e., collectively agreed-upon) knowledge: “They say... / It is said...”"},"ITU":{"name":"Intuitive","desc":"The statement is true because of intuition, a hunch, subjective feeling, past experiences, etc. - “I feel... / I have a hunch... / something tells me...”"},"INF":{"name":"Inferential","desc":"The statement is true because of inference from evidence (or absence of alternatives), induction, extrapolation, etc. “I infer... / I reason...”"}},"popupdesc":"Validation only applies when the Illocution is Assertive.
It refers to the evidential basis for a statement (i.e. why it\'s true).
Alongside Mood and Illocution, it refers to the whole statement."},"ref":{"type":"","title":"Referential","popupdesc":"Similar to pronouns in most languages (I, you, they, etc.)","options":{"1M":{"name":"Monadic Speaker","desc":"\'I\'"},"2M":{"name":"Monadic Addressee","desc":"\'you (singular)\'"},"2P":{"name":"Polyadic Addressee","desc":"\'you (plural)\'"},"MA":{"name":"Monadic Animate 3rd Party","desc":"\'he\'/\'she\'/\'they (singular)\'"},"PA":{"name":"Polyadic Animate 3rd Party","desc":"\'they (plural)\'"},"MI":{"name":"Monadic Inanimate 3rd Party","desc":"\'it\'"},"PI":{"name":"Polyadic Inanimate 3rd Party","desc":"\'these things/those things\'"},"MX":{"name":"Mixed Animacy 3rd Party","desc":"mixed animate+inanimate, e.g. \'s/he+it\', \'they+those\', \'it+they\', \'those+s/he\', etc"},"RDP":{"name":"Reduplicative","desc":"Referring back to the previously-named party (often used with SWR affix)"},"OBV":{"name":"Obviative","desc":"3rd party other than the one previously referenced"},"PVS":{"name":"Provisional","desc":"\'whatever\'; vague or unknown entity (corresponds with English WH-words)"}}},"refEff":{"type":"","title":"Referential Effect","popupdesc":"Similar to the normal Effect, this describes if this person is being referred to beneficially or detrimentally.
May potentially be linked to the Effect of another word (e.g. \'the detrimental 3rd party\')","options":{"NEU":{"name":"Neutral"},"BEN":{"name":"Beneficial"},"DET":{"name":"Detrimental"}}},"refPersp":{"type":"","title":"Referential Perspective","popupdesc":"The same as the normal Perspective, but applied to the referential.
Does nothing, currently.","options":{"M":{"name":"Monadic","desc":"The MONADIC means that there is a certain number of (relevant) instances of the word. When combined with things like the MULTIPLEX, it means that the entire group is being considered as a whole (\\"forest(s)\\", not \\"trees\\")."},"G":{"name":"Agglomerative","desc":"The AGGLOMERATIVE is similar to the MONADIC, except it doesn\'t imply any sense of number; as in, \\"one or more X\\". It is also used for turning nouns (such as \\"a strand of hair\\" in the MONADIC) into mass nouns (such as \\"hair\\" in the AGGLOMERATIVE)"},"N":{"name":"Nomic","desc":"The NOMIC refers to the general archetype of the word as opposed to any specific instance of it. Examples are: The dog is a noble beast, Clowns are what children love most, There is nothing like a tree."},"A":{"name":"Abstract","desc":"Similar to the formation of English abstract nouns using suffixes such as -hood or -ness, the ABSTRACT transforms a configurative category into an abstract concept considered in a non-spatial, timeless, numberless context.
Examples: grove → the idea of being a grove or “grovehood”; book → everything about books, having to do with books, involvement with books.

With verbs, the ABSTRACT is used in verbal constructions to create a temporal abstraction, where the temporal relationship of the action, event, or state to the present is irrelevant or inapplicable, similar to the way in which the English infinitive or gerund form (used as substitutes for a verb phrase) do not convey a specific tense in the following sentences: Singing is not his strong suit; It makes no sense to worry about it; I can\'t stand her pouting."}}},"twoRefs":{"type":"checkbox","title":"Use two Referentials?","popupdesc":"Please note that the referential will use the second case.
If this is turned off, the second case is stacked on the first referential."},"twoCs":{"type":"checkbox","title":"Apply two Cases?","popupdesc":"Fairly self-explanatory. Applies another case to the word."},"refAffix":{"type":"affix","title":"Referential Affixes","popupdesc":"Affixes to be applied to this referential. Again, fairly self-explanatory."},"suppType":{"type":"","title":"Adjunct Type","options":{"CAR":{"name":"Carrier","desc":"This is a “shortcut” for a full carrier stem, providing Case information only. It is used when the identity/nature of the foreign word(s) or proper name following the adjunct is already known to the addressee."},"QUO":{"name":"Quotative","desc":"This adjunct combines the Carrier Adjunct with the DISCURSIVE Register Adjunct to allow direct quotes to be placed within a caseframe, useful for translating imbedded quotes within sentences such as He told me “get out of the house!”"},"NAM":{"name":"Naming","desc":"This adjunct indicates that the following word is a name being referred to as such, rather than referring to the entity that bears the name, i.e., it would be used before the name Emily in the sentence ‘He said “Emily”’ as opposed to the sentence ‘He said “tell Emily”’ which would use the Quotative adjunct, or ‘He said to tell Emily’ which would use the Carrier adjunct."},"PHR":{"name":"Phrasal","desc":"This adjunct is essentially a specialized form of the carrier adjunct above to apply meta-level grammatical information to an entire subsequent phrase as a whole. This is similar to a case-frame, except that where case-frames function solely as an equivalent to subordinate clauses in Western languages, this adjunct causes the subsequent phrase to become a conventionalized, (quasi-)lexicalized gestalt."}},"popupdesc":"This describes which kind of Suppletive Adjunct is being used, as there are four kinds. They all refer to the words immediately after them, like all adjuncts."},"affRoot":{"type":"text","title":"Root Affix","popupdesc":"This is a special kind of Affix that functions not as a modifier to a root but as the actual root itself of this word. It can have other affixes applied to it in Slots V and VII."},"arDegree":{"type":"","title":"Degree","popupdesc":"The degree of the Root Affix. Functions like the degree of any other affix.","options":[{"name":"Degree 1"},{"name":"Degree 2"},{"name":"Degree 3"},{"name":"Degree 4"},{"name":"Degree 5"},{"name":"Degree 6"},{"name":"Degree 7"},{"name":"Degree 8"},{"name":"Degree 9"},{"name":"Degree 0","desc":"This is a special degree which relates to the generic concept of the affix as a whole, similar to Stem 0 of a normal root."}]},"affixjunct":{"type":"affix","title":"Adjunct Affixes","popupdesc":"The affixes shown on this specific adjunct. This is how you apply affixes in other scope locations on a word."},"initialAffScope":{"type":"","title":"Initial affix scope","popupdesc":"Where the first affix out of the Adjunct Affixes is applied on the next word","options":{"VDom":{"name":"Last of Slot V","desc":""},"VSub":{"desc":""},"VIIDom":{"name":"Last of Slot VII","desc":""},"VIISub":{"name":"First of Slot VII","desc":""},"formative":{"name":"Entire Formative","desc":""},"adjacent":{"name":"Formative + Affixes","desc":""}}},"otherAffScope":{"type":"","title":"Other affix scopes","popupdesc":"Where the other affixes of the Adjunct Affixes are applied on the next word","options":{"VDom":{"name":"Last of Slot V","desc":""},"VSub":{"name":"First of Slot V","desc":""},"VIIDom":{"name":"Last of Slot VII","desc":""},"VIISub":{"name":"First of Slot VII","desc":""},"formative":{"name":"Entire Formative","desc":""},"adjacent":{"name":"Formative + Affixes","desc":""},"same":{"name":"Same as Initial","desc":""}}},"affScopeOf":{"type":"","title":"Apply to...","popupdesc":"Which of the following concatenated formatives this actually applies to","options":{"default":{"name":"Default (all)","desc":"Apply this affix to the main formative"},"conc":{"name":"Concatenated only","desc":"Apply this affix only to the concatenated formative"}}},"register":{"type":"","title":"Register","popupdesc":"Which register the next (or previous) bit of text is in; what type of speaking is it?
No specified register is the NARRATIVE, which is normal speech.","options":{"DSV":{"name":"Discursive","desc":"Direct speech"},"PNT":{"name":"Parenthetical","desc":"Parenthetical aside"},"SPF":{"name":"Specificative","desc":"Proper name of preceding referent
(If the identification of the preceding referent is not a proper name, use PNT register instead)"},"EXM":{"name":"Exemplificative","desc":"\'for example, ...\'"},"CGT":{"name":"Cogitant","desc":"Silent/subjective thoughts"},"END":{"name":"Carrier-End","desc":"End of term/phrase governed by carrier stem/adjunct
(Use the END end-adjunct marker for any register where the referent within the register clause is a proper name or a foreign word/phrase)
ONLY works if this is a Final marker."}}},"regStartOrEnd":{"type":"","title":"Initial/Final","popupdesc":"Whether this adjunct marks the start or end of a register.","options":[{"name":"Initial","desc":"This adjunct marks the start of the appropriate register"},{"name":"Final","desc":"This adjunct marks the end of the appropriate register
Alternatively, use a low tone on the last word of the clause."}]},"modAppliesTo":{"type":"","title":"Apply to...","popupdesc":"Where the various other things apply to","options":{"all":{"name":"All","desc":"Apply to both the concatenated and the parent formative after this adjunct (use this if no concatenation)"},"parent":{"name":"Parent Only","desc":"Apply to only the parent formative after this adjunct"},"concat.":{"name":"Concatenated only","desc":"Apply to only the concatenated formative after this adjunct"}}},"modNumber":{"type":"","title":"Number of modules","popupdesc":"How many VₙCₙs you want on this adjunct","options":{"1":{"name":"1 (no Vₕ, no Cₙ)","desc":"Only one VnCn, but without the Mood/Case-Scope"},"2":{"name":"2 (no Vₕ) or 1"},"3":{"name":"3 (no Vₕ) or 2"}}},"cn":{"type":"","title":"Cₙ","popupdesc":"Whether this adjunct will show Mood or Case-Scope","options":{"mood":{"name":"Mood","desc":"Mood refers to the knowability and truthfulness of a statement, and describes both the truth of the actual statement and any underlying presuppositions."},"casc":{"name":"Case-Scope","desc":"Formatives showing Case use the Case-Scope to indicate the scope of a case-marked formative over adjacent formatives. This is useful when there is a string of cases modifying another “head” formative; specifies which has scope over which other formative."}}},"vh":{"type":"","title":"Vₕ/Vₙ","popupdesc":"Whether this adjunct will show Valence/Phase/Level/Effect(/Aspect) or the Specialized Scope.
If the Number of Modules is 1, then this will show Aspect.","options":{"vn":{"name":"Vₙ","desc":"Show an additional Vₙ on this affix"},"vh":{"name":"Vₕ","desc":"Show the Specialized Scope of the Adjunct on this adjunct.
Allows for modifying where the VPLEA and Mood/Case-Scopes are applied on the next formative."}}},"modScope":{"type":"","title":"Specialised Scope","popupdesc":"Describes where on the following formative the meaning of this affix will be applied, scope-wise.
All affixes have right-to-left scope on each other (Slot 2 < Slot 3 < Slot 4).
If this is unspecified (i.e. not shown), then the options have the same scope as if they were in the main word.","options":{"a":{"name":"Scope over Case/Mood and IEV","desc":"This adjunct has scope over everything except Bias"},"e":{"name":"Scope over Case/Mood","desc":"This adjunct has scope over everything except Bias, Illocution, Expectation, and Validation"},"i":{"name":"Scope over entire Formative","desc":"This adjunct has scope over everything except any Adjuncts
NOTE: Do not use if an adjacent affixual adjunct shows scope over this adjunct"},"o":{"name":"Scope over Formative + Adjuncts","desc":"This adjunct has scope over everything
NOTE: Do not use if an adjacent affixual adjunct shows scope over this adjunct"}}},"bias":{"type":"","title":"Bias","popupdesc":"Bias adjuncts function much like English \\"supra-segmental\\" interjections such as \\"Phew!\\", \\"Damn!\\", \\"tsk-tsk\\", \\"Pssshhh\\", \\"huh?\\", \\"meh\\", \\"hmmm\\", etc
Sentence-initial Bias adjuncts scope over the entire sentence. Otherwise, they scope over the preceding formative. They should be pronounced with a preceding and following pause.","options":{"ACC":{"name":"Accidental","desc":"‘As luck would have it...’ ‘Fate has decided that...’ ‘What luck!’","word":"lf"},"ACH":{"name":"Archetypal","desc":"what (a) ...!; how . . .! ; Boy! Did (does) X ever …","word":"mçt"},"ADM":{"name":"Admissive","desc":"‘Mm-hm’ ‘Uh-huh’ (said as mere acknowledgement of a statement without any implied agreement with or assent to the statement)","word":"lļ"},"ANN":{"name":"Annunciative","desc":"‘Guess what!’ or ‘Wait till you hear this!’","word":"drr"},"ANP":{"name":"Anticipative","desc":"‘I’m looking foward to this!’ ","word":"lst"},"APB":{"name":"Approbative","desc":"‘(That’s) OK’ ‘(That’s) alright’ ‘(That’s) good’ ‘(That’s) fine’ ‘Very well’ ‘Sure’","word":"řs"},"APH":{"name":"Apprehensive","desc":"‘I’m worried...’ ‘I’ve got a bad feeling about this...’ ","word":"vvz"},"ARB":{"name":"Arbitrary","desc":"‘..Yeah, whatever...’, ‘...Ah, what the hell, I’m going ahead and....’ ","word":"xtļ"},"ATE":{"name":"Attentive","desc":"‘Well, whaddya know...’ ‘Well, will you look at that...!’ ‘Well, go figure...’ ‘Who would’ve thought...?’ ‘Well I’ll be!’","word":"ňj"},"CMD":{"name":"Comedic","desc":"‘Funny!’ ‘LOL’","word":"pļļ"},"CNV":{"name":"Contensive","desc":"‘I’m telling you...’, ‘I told you so!’, ‘You see?!’","word":"rrj"},"COI":{"name":"Coincidental","desc":"‘What a coincidence!’","word":"ššč"},"CRP":{"name":"Corruptive","desc":"‘How corrupt!’ ‘What corruption!’","word":"gžž"},"CRR":{"name":"Corrective","desc":"‘that is to say…,’ ‘What I mean(t) to say is…’ ‘I mean….’","word":"ňţ"},"CTP":{"name":"Contemptive","desc":"‘What nonsense!’ or ‘What bullshit!’","word":"kšš"},"CTV":{"name":"Contemplative","desc":"‘I wonder how…,’ ‘that’s odd…,’ ‘I don’t get it…,’ or a quizzical ‘hmmmm.’","word":"gvv"},"DCC":{"name":"Disconcertive","desc":"‘I’m not sure about this.’ ‘I don’t feel comfortable about this.’ ‘I’m feeling out of my element here.’","word":"gzj"},"DEJ":{"name":"Dejective","desc":"‘(sigh)’ [of dejection/disillusionment]","word":"žžg"},"DES":{"name":"Desperative","desc":"‘I don’t know how to say this, but…’ ‘I’m afraid that….’ ‘I’m sorry to have to tell you, but...’","word":"mřř"},"DFD":{"name":"Diffident","desc":"‘sorry, but…’ ‘It’s nothing. It’s just…’","word":"cč"},"DIS":{"name":"Dismissive","desc":"‘Is that it?’ ‘Big deal!’ ‘So what!?’ ","word":"kff"},"DLC":{"name":"Delectative","desc":"‘Whee!’","word":"ẓmm"},"DOL":{"name":"Dolorous","desc":"‘Ow!’ ‘Ouch!’","word":"řřx"},"DPB":{"name":"Disapprobative","desc":"‘I don’t like the fact that…’ ‘It bothers me that….’ ‘Unacceptable!’ ‘I hate it!’","word":"ffx"},"DRS":{"name":"Derisive","desc":"‘How foolish!’ ‘How silly!’ ‘Look at how foolish/silly/ridiculous this is!’","word":"pfc"},"DUB":{"name":"Dubitative","desc":"‘Hmm, not likely.’ ‘I doubt it.’ ‘Sounds fishy to me’ ‘I don’t trust this/it/him/her/them...’","word":"mmf"},"EUH":{"name":"Euphoric","desc":"‘(Sigh) What bliss!’","word":"gzz"},"EUP":{"name":"Euphemistic","desc":"‘Let’s just say that….’ or ‘Well, let me put it this way….’","word":"vvt"},"EXA":{"name":"Exasperative","desc":"‘Dammit!’ ‘Look, don’t you get it?…’ ‘Look, I’m trying to tell you….’","word":"kçç"},"EXG":{"name":"Exigent","desc":"‘It’s now or never!’","word":"rrs"},"EXP":{"name":"Experiential","desc":"‘Ah!’, ‘Well, now!’ ‘So!’ [Italian ‘Allora!’]","word":"pss"},"FOR":{"name":"Fortuitous","desc":"‘It’s just as well that...’ or ‘All’s well that ends well...’","word":"lzp"},"FSC":{"name":"Fascinative","desc":"‘Cool!’ ‘Wow!’ ‘Awesome!’","word":"žžj"},"GRT":{"name":"Gratificative","desc":"‘Ah! What bliss...!’ ‘Oh, there’s nothing like….’ [physical pleasure only]","word":"mmh"},"IDG":{"name":"Indignative","desc":"‘The nerve!’ or ‘How dare…!?’","word":"pšš"},"IFT":{"name":"Infatuative","desc":"‘Praise be to...!’ ‘Oh, thank God for...!’ ‘There’s nothing more sacred/holy/important than...!’","word":"vvr"},"IPL":{"name":"Implicative","desc":"‘of course,’ ‘after all,’ ‘needless to say.’","word":"vll"},"IPT":{"name":"Impatient","desc":"‘C’mon!,’ ‘What’re you waiting for?’ ‘so…already!’ as in the sentence ‘So dance already!’","word":"žžv"},"IRO":{"name":"Ironic","desc":"‘Oh, nice!’ ‘Just great!’ ‘Well, now, isn’t this lovely!’","word":"mmž"},"ISP":{"name":"Insipid","desc":"‘Meh... (said due to lack of interest)’ ‘How boring/tedious/dull!’","word":"lçp"},"IVD":{"name":"Invidious","desc":"‘Why does he/she/they get to... and I don’t?!’ ‘How unfair (that I don’t get to...)!’","word":"řřn"},"MAN":{"name":"Mandatory","desc":"‘take it or leave it,’ ‘this is your last chance,’","word":"msk"},"OPT":{"name":"Optimal","desc":"prolonged ‘so’ or ‘totally’ as in ‘I so don’t care!’ or ‘That is totally not what I meant.’","word":"ççk"},"PES":{"name":"Pessimistic","desc":"‘Yeah, like it really matters that...’ ‘Pfft! What’s it to me?’","word":"ksp"},"PPT":{"name":"Propitious","desc":"‘it’s a wonder that’ as in It’s a wonder he didn’t break a bone in that fall. ","word":"mll"},"PPX":{"name":"Perplexive","desc":"‘Huh? What do you mean…? What the hell? ‘WTF!?’ ‘You gotta be kidding me!’","word":"llh"},"PPV":{"name":"Propositive","desc":"‘what if…’ ‘It could be that….’ ‘Consider this: …’ ‘Posit the following: …’ ‘Assume for the sake of argument that….’","word":"sl"},"PSC":{"name":"Prosaic","desc":"‘Meh... (said in disappointment)’ ‘How ordinary!’","word":"žžt"},"PSM":{"name":"Presumptive","desc":"‘It can only mean one thing…,’ ‘and that’s that!’ ‘and that’s all there is to it!’ or ‘There’s no two ways about it,….’","word":"nnţ"},"RAC":{"name":"Reactive","desc":"‘My goodness! ‘Wow!’ ‘Amazing!’","word":"kll"},"RFL":{"name":"Reflective","desc":"‘Look at it this way…’ ‘As I see it,…’ ‘In my opinion…’ ‘From my point of view…’","word":"llm"},"RNC":{"name":"Renunciative","desc":"‘So much for...!’ ‘There goes...!’","word":"msf"},"RPU":{"name":"Repulsive","desc":"‘Yuck! Ew! How gross!’","word":"šštļ"},"RVL":{"name":"Revelative","desc":"‘No wonder…!’ or ‘So that’s why…!’ ‘A-ha!….’ ‘Well, well, well!….’","word":"mmļ"},"SAT":{"name":"Satiative","desc":"‘How satisfying...!’ ‘At last, the pleasue of knowing/being/seeing/doing….’ [psychological/emotional pleasure/satiety only]","word":"ļţ"},"SGS":{"name":"Suggestive","desc":"‘How about...’ ‘We could...’ ‘Might I suggest...’","word":"ltç"},"SKP":{"name":"Skeptical","desc":"‘Yeah, right!’ ‘Oh, sure! Like anyone’s supposed to believe that!’","word":"rnž"},"SOL":{"name":"Solicitative","desc":"‘please’","word":"ňňs"},"STU":{"name":"Stupefactive","desc":"‘Woah!’ ‘Holy, bejeezus!’ ‘What the...!’ ‘Jeez, Louise...!’","word":"ļļč"},"TRP":{"name":"Trepidative","desc":"‘Oh, God…’ ‘Oh, no!….’ ‘Oh, dear!’ [fear-based]","word":"llč"},"VEX":{"name":"Vexative","desc":"‘How annoying!’ ‘What a bother!’ ‘What a pain!’","word":"ksk"}}},"freeType":{"type":"text","title":"Text Entry","popupdesc":"A borrowed word, probably spelt phonetically. Don\'t forget to prefix it with the appropriate suppletive adjunct!"}}'),gs=JSON.parse('{"p":["stop","unvoiced","labial"],"b":["stop","voiced","labial"],"t":["stop","unvoiced","apico"],"d":["stop","voiced","apico"],"k":["stop","unvoiced","velar"],"g":["stop","voiced","velar"],"f":["fric","unvoiced","labial","nonsibil"],"v":["fric","voiced","labial","nonsibil"],"ţ":["fric","unvoiced","apico","nonsibil"],"ḑ":["fric","voiced","apico","nonsibil"],"s":["fric","unvoiced","apico","sibil"],"z":["fric","voiced","apico","sibil"],"š":["fric","unvoiced","apalat","sibil"],"ž":["fric","voiced","apalat","sibil"],"ç":["fric","unvoiced","palat","nonsibil"],"x":["fric","unvoiced","velar","nonsibil"],"h":["fric","unvoiced","glott"],"ļ":["fric","unvoiced","lateral"],"c":["affric","unvoiced","apico","sibil"],"ẓ":["affric","voiced","apico","sibil"],"č":["affric","unvoiced","apalat","sibil"],"j":["affric","voiced","apalat","sibil"],"m":["nasal","voiced","labial"],"n":["nasal","voiced","apico"],"ň":["nasal","voiced","velar"],"r":["liquid","voiced","apico"],"l":["liquid","voiced","lateral"],"w":["approx","voiced","labial"],"y":["approx","voiced","palat"],"ř":["approx","voiced","uvul"]}'),ms={name:"Ithkuil_v4",components:{OptionBox:us},props:{listenModal:Array,listenWordtype:String,listenWord:Object,selectedWord:Number,sLength:Number,nextWord:Array},watch:{listenModal(e){this.updateFromModal(e[0],e[1])},listenWordtype(e){this.switchWordType(e)},listenWord(e){for(var t in this.gOptions=JSON.parse(JSON.stringify(e)),e)this.updateFromModal(t,JSON.parse(JSON.stringify(e[t])));this.handleSendMessage(e.root,"root")},ithkword(e){this.$emit("ithkword",[e,this.ipa,this.gloss,this.fullGloss]),this.$emit("gEmit",this.gOptions)},ipa(e){this.$emit("ithkword",[this.ithkword,e,this.gloss,this.fullGloss])},gloss(e){this.$emit("ithkword",[this.ithkword,this.ipa,e,this.fullGloss])},fullGloss(e){this.$emit("ithkword",[this.ithkword,this.ipa,this.gloss,e])}},data(){return{defaultWord:"aal",settings:{IPA:{a:["Pronunciation of ⟨a⟩: ","[a]",["[a]","[ɑ]"]],e:["Pronunciation of ⟨e⟩: ","[ɛ]",["[ɛ]","[e]"]],"ë":["Pronunciation of ⟨ë⟩: ","[ɤ]",["[ɤ]","[ʌ]","[ə]"]],i:["Pronunciation of ⟨i⟩: ","[i]",["[i]","[ɪ]"]],o:["Pronunciation of ⟨o⟩: ","[ɔ]",["[ɔ]","[o]"]],"ö":["Pronunciation of ⟨ö⟩: ","[œ]",["[œ]","[ø]"]],u:["Pronunciation of ⟨u⟩: ","[ʊ]",["[ʊ]","[u]"]],"ü":["Pronunciation of ⟨ü⟩: ","[ʉ]",["[ʉ]","[y]"]],x:["Pronunciation of ⟨x⟩: ","[x]",["[x]","[χ]"]],rr:["Pronunciation of ⟨řř⟩: ","[ʁː]",["[ʁː]","[ʀ]"]],hx:["Pronunciation of ⟨hl⟩, ⟨hr⟩, ⟨hm⟩, ⟨hn⟩, ⟨hň⟩: ","Devoiced",["Devoiced","As written"]]},Miscellaneous:{ej:["Calculate External Juncture? ",!0],s8:["Move Slot 8 consonant to Slot 6 if possible? ",!1]}},wordType:"normal",gData:fs,cData:gs,gDefault:{root:"",stem:"s1",func:"STA",spec:"BSC",ctxt:"EXS",ver:"PRC",concat:"0",shcut:"0",Vafx:[],VIIafx:[],plex:"UPX",simil:"S",cctd:"S",affil:"CSL",ext:"DEL",persp:"M",ess:"NRM",vn:"val",val:"MNO",pha:"PCT",eff:"1:BEN",lvl:"MIN",asp:"RTR",mood:"FAC",casc:"CCN",rel:"UNF/C",c:"THM",ill:"ASR",vld:"OBS",suppType:"CAR",affRoot:"",arDegree:0,affixjunct:[],initialAffScope:"VDom",otherAffScope:"VDom",affScopeOf:"default",register:"DSV",regStartOrEnd:"0",vn2:"val",val2:"MNO",pha2:"PCT",eff2:"1:BEN",lvl2:"MIN",asp2:"RTR",mood2:"FAC",casc2:"CCN",vn3:"val",val3:"MNO",pha3:"PCT",eff3:"1:BEN",lvl3:"MIN",asp3:"RTR",v4n:"val",val4:"MNO",pha4:"PCT",eff4:"1:BEN",lvl4:"MIN",asp4:"RTR",cn:"mood",modAppliesTo:"all",modNumber:"1",vh:"vn",modScope:"a",ref:"1M",refEff:"NEU",refPersp:"M",ref2:"1M",refEff2:"NEU",refPersp2:"M",ess2:"NRM",c1:"THM",c2:"THM",twoRefs:!1,twoCs:!1,refAffix:[],bias:"ACC",freeType:""},gOptions:{},sVowels:[["a","ai","ia","ao"],["ä","au","ie","aö"],["e","ei","io","eo"],["i","eu","iö","eö"],["ëi","ëu","eë","oë"],["ö","ou","uö","öe"],["o","oi","uo","oe"],["ü","iu","ue","öa"],["u","ui","ua","oa"],["ae","ea","üo","üö"]],ipaLookup:{p:"p",b:"b",m:"m",f:"f",v:"v",w:"w",t:"t",d:"d","ţ":"θ","ḑ":"ð",s:"s",z:"z",c:"ts","ẓ":"dz","š":"ʃ","ž":"ʒ","č":"tʃ",j:"dʒ","ç":"ç",y:"j",k:"k",g:"g","ň":"ŋ","ř":"ʁ","'":"ʔ",h:"h","ļ":"ɬ",l:"l"},shortcutting:!1,shcuttypeA:0,shcuttypeB:0,slotVIIshortcut:!1,sDip:["ai","ei","ëi","oi","ui","au","eu","ëu","ou","iu"],sAccent:{a:"á",e:"é",i:"í","ì":"í",o:"ó",u:"ú","ä":"â","ë":"ê","ö":"ô","ü":"û"},slots:["","","","","","","","","","",""],cut:[!1,!1,!1],ithkword:"",gloss:"",fullGloss:"",ipa:"",cascOrMood:!1,eightSix:!1,allographs:{cczz:"čč",yc:"čč",xxy:"çç",ccs:"çç",ddt:"ḑḑ",hxll:"ļļ",wwnn:"ňň",yn:"ňň",wrr:"řř",yr:"řř",ssz:"šš",tts:"ţţ",ttd:"ţţ",wtt:"ţţ",zzs:"žž",ddz:"ẓẓ",dzz:"ẓẓ",cz:"č",xy:"ç",cs:"ç",dt:"ḑ",hxl:"ļ",wn:"ň",wr:"ř",sz:"š",ts:"ţ",td:"ţ",wt:"ţ",zs:"ž",dz:"ẓ",aaqqq:"â'",eeqqq:"ê'",ooqqq:"ô'",uuqqq:"û'",aqqq:"ä'",eqqq:"ë'",oqqq:"ö'",uqqq:"ü'",qq:"'",aaq:"â",ooq:"ô",eeq:"ê",uuq:"û",aq:"ä",eq:"ë",uq:"ü",oq:"ö",aa:"á",ee:"é",ii:"í",oo:"ó",uu:"ú","ṭ":"ţ","ŧ":"ţ","ḍ":"ḑ","đ":"ḑ","ņ":"ň","ṇ":"ň","ŗ":"ř","ṛ":"ř","ł":"ļ","ḷ":"ļ","ż":"ẓ","ı":"i"},tabGroups:{normal:[["root","stem","spec"],["func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","asp"],["casc","c"],["mood","ill","vld"]],suppletive:[["suppType","c"]],affRoot:[["affRoot","arDegree"],["spec","func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","asp"],["casc","c"],["mood","ill","vld"]],refRoot:[["ref","refEff","refPersp"],["spec","func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","asp"],["casc","c"],["mood","ill","vld"]],affixjunct:[["affixjunct","initialAffScope","otherAffScope","affScopeOf"]],register:[["register","regStartOrEnd"]],modular:[["modAppliesTo","modNumber","cn","vh"],["vn","val","pha","eff","lvl"],["vn2","val2","pha2","eff2","lvl2","asp2"],["vn3","val3","pha3","eff3","lvl3","asp3"]],ref:[["ref","refEff","refPersp","c1"],["twoCs","twoRefs","ref2","refEff2","refPersp2","c2","ess2"]],refCS:[["ref","refEff","refPersp","c1","spec"],["refAffix","twoCs","c2","ess2"]]}}},methods:{async handleSendMessage(e="",t=""){if(this.cut=[!1,!1,!1],t){await void 0;var s=JSON.parse(JSON.stringify(e));let i;if(i=isNaN(t.slice(-1))?t:t.slice(0,-1),"text"==this.gData[i].type)for(let e in this.allographs)s=s.replaceAll(e,this.allographs[e]);else if("affix"==this.gData[i].type)for(let e in s)for(let t in this.allographs)s[e][0]=s[e][0].replaceAll(t,this.allographs[t]);else s=e;this.gOptions[t]=s}"normal"==this.wordType||"affRoot"==this.wordType||"refRoot"==this.wordType?(this.calculateWord(),this.IPAcalcs(),this.glossCalcs(),this.cascOrMood="UNF/K"==this.gOptions.rel&&"0"==this.gOptions.concat):(this.gloss="",this.fullGloss="",this.cascOrMood=!1,this.calculateAdjunct(this.wordType),this.IPAcalcs())},notAvailableAlert(e){alert(e+" is not available yet!")},openModal(e){this.$emit("modal",e)},updateFromModal(e,t){this.$refs[e].updateValue(t)},switchWordType(e){this.wordType=e,this.calculateAdjunct(e),this.handleSendMessage()},calculateAdjunct(e){var t="";if("suppletive"==e)this.calculateSlot9(),this.slot9gStop(),this.ithkword={CAR:"hl",QUO:"hm",NAM:"hn",PHR:"hň"}[this.gOptions.suppType]+this.slots[9],this.gloss=this.gOptions.suppType+("THM"==this.gOptions.c?"":"-"+this.gOptions.c),this.fullGloss=this.gOptions.suppType+"-"+this.gOptions.c+"\\NRM";else if("affixjunct"==e){var s={VDom:"a",VSub:"u",VIIDom:"e",VIISub:"i",formative:"o",adjacent:"ö",same:"ai"},i={VDom:"h",VSub:"'h",VIIDom:"'hl",VIISub:"'hr",formative:"hw",adjacent:"'hw"};try{this.gloss="'"+this.gOptions.affixjunct[0][0]+"'/"+this.gOptions.affixjunct[0][1]+("CA"!=this.gOptions.affixjunct[0][1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[this.gOptions.affixjunct[0][2]]:""),this.fullGloss=this.gloss,this.gloss+="VDom"==this.gOptions.initialAffScope?"":"-{"+this.gOptions.initialAffScope+"}",this.fullGloss+="-{"+this.gOptions.initialAffScope+"}"}catch{this.gloss="",this.fullGloss=""}if(this.gOptions.affixjunct.length<1)this.ithkword="",this.gloss="",this.fullGloss="";else if(1==this.gOptions.affixjunct.length){var n=s[this.gOptions.initialAffScope],o=this.gOptions.affixjunct[0];"CA"!=o[1]?"a"==n&&this.allowedAtEnd(o[0])&&("conc"==this.gOptions.affScopeOf||this.sVowels[(o[1]+9)%10][o[2]-1].length>1&&!this.sDip.includes(this.sVowels[(o[1]+9)%10][o[2]-1]))&&(n=""):"a"==n&&this.allowedAtEnd(o[0])&&("conc"==this.gOptions.affScopeOf||"üö".length>1&&!this.sDip.includes("üö"))&&(n=""),"CA"!=o[1]?this.ithkword=this.sVowels[(o[1]+9)%10][o[2]-1]+o[0]+n:this.ithkword="üö"+o[0]+n}else{var a="",l=this.gOptions.affixjunct[0];for(var r of(this.allowedAtStart(l[0])||(a+="ë"),"CA"!=l[1]?a+=l[0]+this.sVowels[(l[1]+9)%10][l[2]-1]:a+=l[0]+"üö",a+=i[this.gOptions.initialAffScope],this.gOptions.affixjunct.slice(1)))"CA"!=r[1]?a+=this.sVowels[(r[1]+9)%10][r[2]-1]:a+="üö",a+=r[0];a+=s[this.gOptions.otherAffScope],a=this.recalcVowels(a),this.ithkword=a;for(let e of this.gOptions.affixjunct.slice(1))this.gloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:""),this.fullGloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:"");this.gloss+="same"==this.gOptions.otherAffScope?"":"-{"+this.gOptions.otherAffScope+"}",this.fullGloss+="-{"+this.gOptions.otherAffScope+"}"}this.gOptions.affixjunct.length>0&&(this.gloss+="conc"==this.gOptions.affScopeOf?"{concat.}":"",this.fullGloss+="conc"==this.gOptions.affScopeOf?"{concat.}":"",this.ithkword=this.markStress(["conc","default"].indexOf(this.gOptions.affScopeOf),this.ithkword))}else if("register"==e){var h={DSV:["a","ai"],PNT:["e","ei"],SPF:["i","iu"],EXM:["o","oi"],CGT:["u","ui"],END:["ü","ü"]};this.ithkword="h"+h[this.gOptions.register][this.gOptions.regStartOrEnd],this.gloss=this.gOptions.register+("1"==this.gOptions.regStartOrEnd&&"END"!=this.gOptions.register?"_END":""),this.fullGloss=this.gloss}else if("modular"==e)t+={all:"",parent:"w","concat.":"y"}[this.gOptions.modAppliesTo],this.gloss="all"!=this.gOptions.modAppliesTo?"{"+this.gOptions.modAppliesTo+"}-":"",["2","3"].includes(this.gOptions.modNumber)&&(t+=this.calculateSlot8a("2"),t+=this.calculateSlot8b("2",this.gOptions.cn),this.gloss+="MNO"!=this.gOptions[this.gOptions.vn2+"2"]?this.gOptions[this.gOptions.vn2+"2"]:"",this.gloss+="MNO"!=this.gOptions[this.gOptions.vn2+"2"]&&"FAC"!=this.gOptions[this.gOptions.cn+"2"]&&"CCN"!=this.gOptions[this.gOptions.cn+"2"]?".":"",this.gloss+="FAC"!=this.gOptions[this.gOptions.cn+"2"]&&"CCN"!=this.gOptions[this.gOptions.cn+"2"]?this.gOptions[this.gOptions.cn+"2"]:"",this.fullGloss+=this.gOptions[this.gOptions.vn2+"2"]+"."+this.gOptions[this.gOptions.cn+"2"]),"3"==this.gOptions.modNumber&&(t+=this.calculateSlot8a("3"),t+="asp"==this.gOptions.vn3?"n":"ň",this.gloss+="MNO"!=this.gOptions[this.gOptions.vn3+"3"]?"-"+this.gOptions[this.gOptions.vn3+"3"]:"",this.fullGloss+="-"+this.gOptions[this.gOptions.vn3+"3"]),t=this.recalcVowels(t),"1"==this.gOptions.modNumber?(t+=this.calculateSlot8a("4","asp"),this.gloss+=this.gOptions.asp4,this.fullGloss+=this.gOptions.asp4):"vn"==this.gOptions.vh?(t+=this.calculateSlot8a("4"),this.gloss+="MNO"!=this.gOptions[this.gOptions.v4n+"4"]?"-"+this.gOptions[this.gOptions.v4n+"4"]:"",this.fullGloss+="-"+this.gOptions[this.gOptions.v4n+"4"]):(t+=this.gOptions.modScope,t=this.markStress(0,t),this.gloss+="-{"+{a:"form.",e:"mood",i:"under adj.",o:"over adj.",u:"under adj."}[this.gOptions.modScope]+"}",this.fullGloss+="-{"+{a:"form.",e:"mood",i:"under adj.",o:"over adj.",u:"under adj."}[this.gOptions.modScope]+"}"),this.ithkword=t;else if("ref"==e){var c=this.calculateReference(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);t+=this.allowedAtStart(c)&&(this.gOptions.twoCs||"RPV"!=this.gOptions.ess2)?"":"ë",t+=c,this.calculateSlot9("1"),this.slot9gStop(),t+=this.slots[9];let e=this.refGloss(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);if(this.gloss=e[0],this.fullGloss=e[1],this.gloss+="THM"!=this.gOptions.c1||this.gOptions.twoCs?"-"+this.gOptions.c1:"",this.fullGloss+="-"+this.gOptions.c1,this.gOptions.twoCs&&(t+="w",this.calculateSlot9("2"),this.slot9gStop(),t+=this.slots[9],this.gloss+="-"+this.gOptions.c2,this.fullGloss+="-"+this.gOptions.c2,this.gOptions.twoRefs)){var d=this.calculateReference(this.gOptions.ref2,this.gOptions.refEff2,this.gOptions.refPersp2);t+=d,t+=this.allowedAtEnd(d)?"":"ë";let e=this.refGloss(this.gOptions.ref2,this.gOptions.refEff2,this.gOptions.refPersp2);this.gloss+="-"+e[0],this.fullGloss+="-"+e[1]}!["a","á","ä","â","e","ë","é","ê","i","í","o","ö","ó","ô","u","ü","ú","û"].includes(t.charAt(t.length-1))&&this.calculateEJ&&(t+="ë"),t=this.recalcVowels(t),"RPV"==this.gOptions.ess2?(t=this.markStress(0,t),this.gloss+="\\RPV",this.fullGloss+="\\RPV"):this.fullGloss+="\\NRM",this.ithkword=t}else if("refCS"==e){var p=this.calculateReference(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);t+=this.allowedAtStart(p)?"":"ë",t+=p,this.calculateSlot9("1"),this.slot9gStop(),t+=this.slots[9],t+={BSC:"x",CTE:"xt",CSV:"xp",OBJ:"xx"}[this.gOptions.spec];let e=this.refGloss(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);for(var u in this.gloss=e[0],this.gloss+="THM"!=this.gOptions.c1||this.gOptions.twoCs?"-"+this.gOptions.c1:"",this.gloss+="BSC"==this.gOptions.spec?"":"-"+this.gOptions.spec,this.fullGloss=e[1]+"-"+this.gOptions.c1+"-"+this.gOptions.spec,this.gOptions.refAffix){var f=Object.assign({},this.gOptions.refAffix[u]);"CA"!=f[1]?t+=this.sVowels[(f[1]+9)%10][f[2]-1]:t+="üö",t+=f[0],this.gloss+="-'"+f[0]+"'/"+f[1]+("CA"!=f[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[f[2]]:""),this.fullGloss+="-'"+f[0]+"'/"+f[1]+("CA"!=f[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[f[2]]:"")}this.gOptions.twoCs?(this.calculateSlot9("2"),this.slot9gStop(),t+="a"==this.slots[9]?"üa":this.slots[9],this.gloss+="-"+this.gOptions.c2,this.fullGloss+="-"+this.gOptions.c2):0!=this.gOptions.refAffix.length||this.gOptions.twoCs||"RPV"!=this.gOptions.ess2?this.gOptions.refAffix.length>0&&(this.allowedAtEnd(this.gOptions.refAffix[this.gOptions.refAffix.length-1][0])||(t+="a")):t+="a",!["a","á","ä","â","e","ë","é","ê","i","í","o","ö","ó","ô","u","ü","ú","û"].includes(t.charAt(t.length-1))&&this.calculateEJ&&(t+="a"),t=this.recalcVowels(t),"RPV"==this.gOptions.ess2?(t=this.markStress(0,t),this.gloss+="\\RPV",this.fullGloss+="\\RPV"):this.fullGloss+="\\NRM",this.ithkword=t}else"bias"==e?(this.ithkword=this.gData.bias.options[this.gOptions.bias].word,this.gloss=this.gOptions.bias,this.fullGloss=this.gOptions.bias):"free"==e?this.ithkword=this.gOptions.freeType:(this.calculateWord(),this.glossCalcs());this.IPAcalcs()},calculateReference(e,t,s,i=!1){var n,o={"1M":{NEU:"l",BEN:"r",DET:"ř"},"2M":{NEU:"s",BEN:"š",DET:"ž"},"2P":{NEU:"n",BEN:"t",DET:"d"},MA:{NEU:"m",BEN:"p",DET:"b"},PA:{NEU:"ň",BEN:"k",DET:"g"},MI:{NEU:"z",BEN:"ţ",DET:"ḑ"},PI:{NEU:"ẓ",BEN:"f",DET:"v"},MX:{NEU:"c",BEN:"č",DET:"j"},RDP:{NEU:"th",BEN:"ph",DET:"kh"},OBV:{NEU:"ll",BEN:"rr",DET:"řř"},PVS:{NEU:"mm",BEN:"nn",DET:"ňň"}};n=i&&["OBV","PVS"].includes(e)?{OBV:{NEU:"lç",BEN:"rç",DET:"řç"},PVS:{NEU:"mç",BEN:"nç",DET:"ňç"}}[e][t]:o[e][t];var a=[];return"A"==s?this.consAllowed(n+"w")?n+="w":n+="y":"G"!=s&&"N"!=s||(a="G"==s?["ļ","tļ"]:["ç","x"],this.allowedAtEnd(a[0]+n)?n=a[0]+n:this.allowedAtEnd(a[1]+n)?n=a[1]+n:this.allowedAtEnd(n+a[0])?n+=a[0]:this.allowedAtEnd(n+a[1])?n+=a[1]:this.consAllowed(n+a[0])?n+=a[0]:this.consAllowed(n+a[1])?n+=a[1]:this.consAllowed(a[0]+n)?n+=a[0]:n+=a[1]),n},calculateWord(){this.calculateSlot3(),this.calculateSlot4(),this.calculateSlot6(),this.shortcutCalcs(),this.calculateSlot1(),this.calculateSlot2(),this.calculateSlot5(),this.calculateSlot7(),this.slots[7]=this.calculateSlot8a(),this.slots[8]=this.calculateSlot8b(),this.calculateSlot9(),this.finalCalcs()},calculateSlot1(){this.shortcutting?this.slots[0]=[["","w","y"],["h","hl","hm"],["hw","hr","hn"]][this.gOptions.concat][this.shcuttypeA]:this.slots[0]=["","h","hw"][this.gOptions.concat]},calculateSlot2(){var e={s1:{PRC:0,CPT:1},s2:{PRC:2,CPT:3},s0:{CPT:5,PRC:6},s3:{CPT:7,PRC:8}},t={PRC:{STA:"ëi",DYN:"eë"},CPT:{STA:"ëu",DYN:"oë"}},s={PRC:"ae",CPT:"ea"};if("normal"==this.wordType)if(this.shortcutting)this.slotVIIshortcut=!1,this.slots[1]=this.sVowels[e[this.gOptions.stem][this.gOptions.ver]][this.shcuttypeB];else{var i,n=0;"3"!=this.gOptions.shcut&&"2"!=this.gOptions.shcut?(i=this.gOptions.VIIafx.length>0?[...this.gOptions.VIIafx[this.gOptions.VIIafx.length-1]]:["no",0,0],"r"===i[0]&&4===i[1]&&1===i[2]?(n=1,this.slotVIIshortcut=!0):"t"===i[0]&&4===i[1]&&1===i[2]?(n=2,this.slotVIIshortcut=!0):"t"===i[0]&&5===i[1]&&1===i[2]?(n=3,this.slotVIIshortcut=!0):this.slotVIIshortcut=!1):this.slotVIIshortcut=!1,this.slots[1]=this.sVowels[e[this.gOptions.stem][this.gOptions.ver]][n]}else"affRoot"==this.wordType?this.slots[1]=t[this.gOptions.ver][this.gOptions.func]:"refRoot"==this.wordType&&(this.slots[1]=s[this.gOptions.ver]);this.gOptions.Vafx.length>=2&&(this.slots[1]=this.insertGStop(this.slots[1]))},calculateSlot3(){"normal"==this.wordType?this.slots[2]=this.gOptions.root.toLowerCase():"affRoot"==this.wordType?this.slots[2]=this.gOptions.affRoot.toLowerCase():"refRoot"==this.wordType&&(this.slots[2]=this.calculateReference(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp))},calculateSlot4(){var e={STA:{BSC:0,CTE:1,CSV:2,OBJ:3},DYN:{OBJ:5,CSV:6,CTE:7,BSC:8}},t=["EXS","FNC","RPS","AMG"];"normal"==this.wordType||"refRoot"==this.wordType?this.slots[3]=this.sVowels[e[this.gOptions.func][this.gOptions.spec]][t.indexOf(this.gOptions.ctxt)]:"affRoot"==this.wordType&&(this.slots[3]=this.sVowels[this.gOptions.arDegree][t.indexOf(this.gOptions.ctxt)])},calculateSlot5(){var e="";for(var t in this.gOptions.Vafx){var s=Object.assign({},this.gOptions.Vafx[t]);this.shortcutting?(t==this.gOptions.Vafx.length-1?"CA"!=s[1]?e+=this.insertGStop(this.sVowels[(s[1]+9)%10][s[2]-1]):e+=this.insertGStop("üö"):"CA"!=s[1]?e+=this.sVowels[(s[1]+9)%10][s[2]-1]:e+="üö",e+=s[0]):(e+=s[0],"CA"!=s[1]?e+=this.sVowels[(s[1]+9)%10][s[2]-1]:e+="üö")}this.slots[4]=e},calculateSlot6(e=!1,t=null,s=null,i=null,n=null,o=null,a=null,l=null){e||(t=this.gOptions.affil,s=this.gOptions.plex,i=this.gOptions.simil,n=this.gOptions.cctd,o=this.gOptions.ext,a=this.gOptions.ess,l=this.gOptions.persp);var r={CSL:"",ASO:"l",COA:"r",VAR:"ř"}[t],h="UPX"===s?"":"DPX"===s?"s":{M:{S:{S:"t",C:"k",F:"p"},D:{S:"ţ",C:"f",F:"ç"},F:{S:"z",C:"ž",F:"ẓ"}},D:{S:{S:"c",C:"ks",F:"ps"},D:{S:"ţs",C:"fs",F:"š"},F:{S:"č",C:"kš",F:"pš"}}}[s][i][n],c=(""===h?{DEL:"",PRX:"d",ICP:"g",ATV:"b",GRA:"gz",DPL:"bz"}:{DEL:"",PRX:"t",ICP:"k",ATV:"p",GRA:"g",DPL:"b"})[o],d={NRM:{M:"",G:"r",N:"w",A:"y"},RPV:{M:"l",G:"ř",N:"m",A:"n"}}[a][l];["t","k","p"].includes(c)&&""!=h&&""!=r&&["m","n"].includes(d)&&(d={m:"h",n:"ç"}[d]),""===h&&""===c&&""===d&&""!=r?"l"==r?r="nļ":"ř"==r?r="ň":r+="ļ":""===r&&""===h&&""===c&&(""===d?d="l":"l"===d?d="tļ":"w"===d?d="v":"y"===d&&(d="j"));var p=r+h+c+d,u={pp:"mp",tt:"nt",kk:"nk",ll:"pļ",pb:"mb",kg:"ng","çy":"nd",rr:"ns","rř":"nš","řř":"ňš","řr":"ňs"};for(var f in u)p=p.replace(f,u[f]);var g={gm:"x",gn:"ň",bm:"v",bn:"ḑ"};for(var m in g)p=p.charAt(0)+p.slice(1).replace(m,g[m]);if(p=p.replace("ngn","ňn"),p=p.charAt(0)+p.slice(1).replace("çx","xw"),p=p.replace("fv","vw").replace("ţḑ","ḑy"),e)return p;if(this.slots[10]=p,0!=Object.keys(this.gOptions.Vafx).length){var b=p;p=this.geminate(p),p==b&&["l","r","ř"].includes(p.charAt(0))&&(p=p.charAt(0)+this.geminate(p.slice(1)))}this.slots[5]=p},geminate(e){var t={pt:"bbḑ",pk:"bbv",kt:"ggḑ",kp:"ggv",tk:"ḑvv",tp:"ddv"},s={pm:"vvm",pn:"vvn",bm:"mmw",bn:"mml",km:"xxm",kn:"xxn",gm:"ňňw",gn:"ňňl",tm:"ḑḑm",tn:"ḑḑn",dm:"nnw",dn:"nnl"};return 1===e.length?e+=e:"tļ"===e?e="ttļ":["t","k","p","d","g","b"].includes(e.charAt(0))&&["l","r","ř","w","y"].includes(e.charAt(1))?e=e.charAt(0)+e:e.includes("s")||e.includes("š")||e.includes("z")||e.includes("ž")||e.includes("ç")||e.includes("c")||e.includes("č")?e=e.replace("s","ss").replace("š","šš").replace("z","zz").replace("ž","žž").replace("ç","çç").replace("c","cc").replace("č","čč"):["f","ţ","v","ḑ","n","m","ň"].includes(e.charAt(0))?e=e.charAt(0)+e:["t","k","p"].includes(e.charAt(0))&&["s","š","f","ţ","ç"].includes(e.charAt(1))?e=e.charAt(0)+e.charAt(1)+e.slice(1):Object.prototype.hasOwnProperty.call(t,e.slice(-2))?e=e.slice(0,-2)+t[e.slice(-2)]:Object.prototype.hasOwnProperty.call(s,e.slice(-2))&&(e=e.slice(0,-2)+s[e.slice(-2)]),e},calculateSlot7(){var e="";if(this.slotVIIshortcut&&!this.shortcutting&&"3"!=this.gOptions.shcut&&"2"!=this.gOptions.shcut)for(var t in this.gOptions.VIIafx.slice(0,-1)){var s=Object.assign({},this.gOptions.VIIafx[t]);"CA"!=s[1]?e+=this.sVowels[(s[1]+9)%10][s[2]-1]:e+="üö",e+=s[0]}else for(var i in this.gOptions.VIIafx){var n=Object.assign({},this.gOptions.VIIafx[i]);"CA"!=n[1]?e+=this.sVowels[(n[1]+9)%10][n[2]-1]:e+="üö",e+=n[0]}this.slots[6]=e},calculateSlot8a(e="",t=""){var s;if(s=""!=t?t:"4"==e?this.gOptions["v4n"]:this.gOptions["vn"+e],"asp"!==s){var i,n=["val","pha","eff","lvl"],o={val:["MNO","PRL","CRO","RCP","CPL","DUP","DEM","CNG","PTI"],pha:["PCT","ITR","REP","ITM","RCT","FRE","FRG","VAC","FLC"],eff:["1:BEN","2:BEN","3:BEN","SLF:BEN","UNK","SLF:DET","3:DET","2:DET","1:DET"],lvl:["MIN","SBE","IFR","DFT","EQU","SUR","SPL","SPQ","MAX"]};return i="4"==e?this.sVowels[o[this.gOptions["v4n"]].indexOf(this.gOptions[this.gOptions["v4n"]+e])][n.indexOf(this.gOptions["v4n"])]:this.sVowels[o[this.gOptions["vn"+e]].indexOf(this.gOptions[this.gOptions["vn"+e]+e])][n.indexOf(this.gOptions["vn"+e])],i}var a=[["RTR","PRS","HAB","PRG","IMM","PCS","REG","SMM","ATP"],["RSM","CSS","PAU","RGR","PCL","CNT","ICS","EXP","IRP"],["PMP","CLM","DLT","TMP","XPD","LIM","EPD","PTC","PPR"],["DCL","CCL","CUL","IMD","TRD","TNS","ITC","MTV","SQN"]];for(var l in a)if(a[l].includes(this.gOptions["asp"+e]))return this.sVowels[a[l].indexOf(this.gOptions["asp"+e])][l]},calculateSlot8b(e="",t=""){var s=[],i=[];return s="asp"===this.gOptions["vn"+e]?["w","hw","hrw","hmw","hnw","hňw"]:["h","hl","hr","hm","hn","hň"],("modular"==this.wordType?"casc"==t:"UNF/K"!=this.gOptions.rel||"0"!=this.gOptions.concat)?(i=["CCN","CCA","CCS","CCQ","CCP","CCV"],s[i.indexOf(this.gOptions["casc"+e])]):(i=["FAC","SUB","ASM","SPC","COU","HYP"],s[i.indexOf(this.gOptions["mood"+e])])},calculateSlot9(e=""){var t=[["THM","INS","ABS","AFF","STM","EFF","ERG","DAT","IND"],["POS","PRP","GEN","ATT","PDC","ITP","OGN","IDP","PAR"],["APL","PUR","TRA","DFR","CRS","TSP","CMM","CMP","CSD"],["FUN","TFM","CLA","RSL","CSM","CON","AVR","CVS","SIT"]],s=[["PRN","DSP","COR","CPS","COM","UTL","PRD","n/a","RLT"],["ACT","ASI","ESS","TRM","SEL","CFM","DEP","n/a","VOC"],["LOC","ATD","ALL","ABL","ORI","IRL","INV","n/a","NAV"],["CNR","ASS","PER","PRO","PCV","PCR","ELP","n/a","PLM"]],i=["OBS","REC","PUP","RPR","USP","IMA","CVN","ITU","INF"],n=["DIR","DEC","IRG","VRF","n/a","ADM","POT","HOR","CNJ"],o=!1;if("UNF/K"!==this.gOptions.rel||"0"!=this.gOptions.concat||["suppletive","ref"].includes(this.wordType)){for(var a in t)t[a].includes(this.gOptions["c"+e])&&(this.slots[9]=this.sVowels[t[a].indexOf(this.gOptions["c"+e])][a],o=!0);if(!o)for(var l in s)s[l].includes(this.gOptions["c"+e])&&(this.slots[9]=this.sVowels[s[l].indexOf(this.gOptions["c"+e])][l]+"'")}else"ASR"==this.gOptions.ill?this.slots[9]=this.sVowels[i.indexOf(this.gOptions.vld)][0]:this.slots[9]=this.sVowels[n.indexOf(this.gOptions.ill)][1]},shortcutCalcs(){if("1"==this.gOptions.shcut&&"a"==this.slots[3]&&["l","d","r","tļ","v","j","ř","dl"].includes(this.slots[10])&&"normal"==this.wordType||"refRoot"==this.wordType&&"1"==this.gOptions.shcut&&"a"==this.slots[3]&&["l","d"].includes(this.slots[10])){var e={l:[1,0],d:[2,0],r:[1,1],"tļ":[2,1],v:[1,2],j:[2,2],"ř":[1,3],dl:[2,3]};try{this.shortcutting=!0,this.shcuttypeA=e[this.slots[10]][0],this.shcuttypeB=e[this.slots[10]][1],this.slots[3]="",this.slots[5]=""}catch{this.shortcutting=!1,this.calculateSlot4(),this.calculateSlot6()}}else this.shortcutting=!1},insertGStop(e,t=!1){return 1===e.length||this.sDip.includes(e)?t?1===e.length?e+"'"+e:e.charAt(0)+"'"+e.charAt(1):e+"'":e.charAt(0)+"'"+e.charAt(1)},getCons(...e){var t=[];for(var s in this.cData)for(var i in e)e[i].every((e=>this.cData[s].includes(e)))&&!t.includes(s)&&t.push(s);return t},removeDuplicate(e){var t="",s="";for(var i of e)i!=s&&(t+=i,s=i);return t},slot9gStop(){"'"===this.slots[9].charAt(this.slots[9].length-1)&&("0"==this.gOptions.concat||["suppletive","ref","refCS"].includes(this.wordType)?(this.slots[9]=this.slots[9].slice(0,-1),this.slots[9]=this.insertGStop(this.slots[9],!0)):this.slots[9]=this.slots[9].slice(0,-1))},allowedAtStart(e){if(this.consAllowed(e)){var t=this.removeDuplicate(e);if(1===t.length){if("ļ"!==t)return!0}else if(2===t.length){var s=t.charAt(0),i=t.charAt(1);if(this.getCons(["stop"]).includes(s)&&["r","l","ř","w","y"].includes(i)||["p","k"].includes(s)&&["s","š"].includes(i)||["b","g"].includes(s)&&["z","ž"].includes(i)||"p"===s&&["f","ţ","ç","x","h","ļ"].includes(i)||"b"===s&&["v","ḑ"].includes(i)||"t"===s&&["f","v","ţ","ḑ","ç","x","h","ļ"].includes(i)||"d"===s&&"v"==i||"k"===s&&["f","ţ","ç","x","h"].includes(i)||"g"===s&&["v","ḑ"].includes(i)||["s","š"].includes(s)&&this.getCons(["stop","unvoiced"],["fric","nonsibil","unvoiced"],["affric","unvoiced"]).includes(i)||["z","ž"].includes(s)&&this.getCons(["stop","voiced"],["fric","nonsibil","voiced"],["affric","voiced"]).includes(i)||["s","z","š","ž"].includes(s)&&["m","n","ň","r","l","w","y","ř","v"].includes(i)||["c","č"].includes(s)&&this.getCons(["fric","nonsibil","unvoiced"],["stop","unvoiced"]).includes(i)||["c","č"].includes(s)&&"h"===i||["ẓ","j"].includes(s)&&this.getCons(["fric","nonsibil","voiced"],["stop","voiced"]).includes(i)||["c","ẓ","č","j"].includes(s)||"x"===s&&["p","t","c","č","m","n","l","r","w"].includes(i)||"ç"===s&&["p","t","c","č","k","m","n","ň","l","r","ř"].includes(i)||["f","ţ"].includes(s)&&this.getCons(["stop","unvoiced"],["affric","unvoiced"]).includes(i)||["v","ḑ"].includes(s)&&this.getCons(["stop","voiced"],["affric","voiced"]).includes(i)||["f","v","ţ","ḑ"].includes(s)&&["r","l","w","y","ř","m","n","ň"].includes(i)||"ļ"===s&&this.getCons(["stop","unvoiced"],["affric","unvoiced"],["nasal"]).includes(i)||"ļ"===s&&["w","y"].includes(i)||"h"===s&&["l","r","m","n","w"].includes(i)||["m","n"].includes(s)&&["l","r","w","y","ř"].includes(i)||"ň"===s&&["l","r","w"].includes(i)||["l","r"].includes(s)&&["w","y"].includes(i))return!0}else if(3===t.length){var n=t.charAt(0),o=t.charAt(1),a=t.charAt(2),l=n+o;if(["ps","pš","ks","kš"].includes(l)&&this.getCons(["stop","unvoiced"],["fric","nonsibil","unvoiced"],["affric","unvoiced"]).includes(a)||["bz","bž","gz","gž"].includes(l)&&this.getCons(["stop","voiced"],["fric","nonsibil","voiced"],["affric","voiced"]).includes(a)||["ps","pš","ks","kš","bz","bž","gz","gž"].includes(l)&&["m","n","ň","r","l","w","y","ř","v"].includes(a)||["p","b","t","d","k","g"].includes(n)&&["l","r"].includes(o)&&["w","y"].includes(a)||["p","t","k"].includes(n)&&"ç"===o&&["m","n","ň"].includes(a)||["p","k"].includes(n)&&["f","t"].includes(o)&&["y","w"].includes(a)||["p","t"].includes(o)&&"ļ"===o&&["w","y"].includes(a)||["s","š","ç"].includes(n)&&["p","t","k"].includes(o)&&["r","l","w","y","ř"].includes(a)||["z","ž"].includes(n)&&["b","d","g"].includes(o)&&["r","l","w","y","ř"].includes(a)||["s","z","š","ž","ç"].includes(n)&&["m","n"].includes(o)&&["w","y"].includes(a)||["s","z","š","ž","ç"].includes(n)&&"ň"===o&&"w"===a||["hlw","hrw","hmw","hnw","hmy","hny"].includes(t)||["c","č"].includes(n)&&["p","t","k"].includes(o)&&["r","l","w","y","ř"].includes(a)||["ẓ","j"].includes(n)&&["b","d","g"].includes(o)&&["r","l","w","y","ř"].includes(a)||["c","ẓ","č","j"].includes(n)&&["m","n"].includes(o)&&["w","y"].includes(a)||["c","ẓ","č","j"].includes(n)&&"ň"===o&&"w"===a||["flw","ţly","fly","ţly"].includes(t)||["xp","xt"].includes(l)&&["l","r","w","y"].includes(a)||["xm","xn"].includes(l)&&["w","y"].includes(a)||["xc","xč"].includes(l)&&"w"===a)return!0}else if(4===t.length){var r=t.charAt(0),h=t.charAt(1),c=t.charAt(2),d=t.charAt(3);if(["p","k"].includes(r)&&["s","š"].includes(h)&&["p","t","k"].includes(c)&&["r","l","w","y","ř"].includes(d)||["b","g"].includes(r)&&["z","ž"].includes(h)&&["b","d","g"].includes(c)&&["r","l","w","y","ř"].includes(d)||["s","š","ç","c","č"].includes(r)&&["p","t","k"].includes(h)&&"l"===c&&"y"===d||["z","ž","ẓ","j"].includes(r)&&["b","d","g"].includes(h)&&"l"===c&&"y"===d)return!0}return!1}return!1},allowedAtEnd(e){if(this.consAllowed(e)){var t=this.removeDuplicate(e);if(1==t.length){if("w"!==t&&"y"!==t&&"'"!==t)return!0}else if(2==t.length){var s=t.charAt(0),i=t.charAt(1);if(["p","t","k"].includes(s)&&["f","ţ","s","š","ç","x","h","ļ"].includes(i)||["b","d","g"].includes(s)&&["v","ḑ","z","ž"].includes(i)||["k","p"].includes(s)&&"t"===i||["g","b"].includes(s)&&"d"===i||["s","š"].includes(s)&&["p","t","k"].includes(i)||["z","ž"].includes(s)&&["b","d","g"].includes(i)||["c","č"].includes(s)&&["t","k"].includes(i)||["ẓ","j"].includes(s)&&["d","g"].includes(i)||"f"===s&&["t","k","s","š","ç"].includes(i)||"v"===s&&["d","g","z","ž"].includes(i)||"ţ"===s&&["t","k"].includes(i)||"ḑ"===s&&["d","g"].includes(i)||["ļ","x"].includes(s)&&["p","t","k"].includes(i)||["m","n"].includes(s)&&["p","b","t","d","k","g","f","v","ţ","ḑ","s","z","š","ž","ç","x","h","ļ"].includes(i)||"ň"===s||"r"===s&&"w"!==i&&"y"!==i&&"'"!==i||"l"===s&&!["'","w","y","r","ň"].includes(i)||s===i&&!["p","t","k","b","d","g","'"].includes(s))return!0}else if(3==t.length){var n=t.charAt(0),o=t.charAt(1),a=t.charAt(2);if("p"===o&&(["r","ř","l"].includes(n)&&["t","k","f","ţ","x","s","š","h","ļ","ç"].includes(a)||["m","ň"].includes(n)&&["h","ļ","ç"].includes(a)||["s","š","ç"].includes(n)&&["f","ţ","s","š","ļ","ç"].includes(a))||"t"===o&&(["l","r","ř"].includes(n)&&["k","f","x","h","ļ","ç"].includes(a)||"n"===n&&["k","f","x","h"].includes(a)||["m","ň","s","š","ç"].includes(n)&&["h","ļ","ç"].includes(a))||"k"===o&&(["l","r","ř"].includes(n)&&["t","f","ţ","s","š","h","ç"].includes(a)||["n","f","ţ","l"].includes(n)&&["h","ç"].includes(a)||"m"===n&&["f","ţ","h","ç"].includes(a)||["s","š","ç"].includes(n)&&["f","ţ","s","š","h","ç"].includes(a))||"b"===o&&(["r","ř"].includes(n)&&["d","g","v","ḑ","z","ž"].includes(a)||"l"===n&&["v","ḑ","z","ž"].includes(a))||"d"===o&&["r","ř"].includes(n)&&["b","g","v"].includes(a)||"g"===o&&(["r","ř"].includes(n)&&["b","d","v","ḑ","z","ž"].includes(a)||"l"===n&&["v","ḑ","z","ž"].includes(a))||"f"===o&&(["l","r","ř","m","ň"].includes(n)&&["t","k","f","s","š"].includes(a)||["p","t","k"].includes(n)&&["k","f"].includes(a)||"f"===n&&["t","k","s","š"].includes(a))||"ţ"===o&&(["p","k","r","l","ř","m","n","ň"].includes(n)&&["t","k","ţ"].includes(a)||"ţ"===n&&["t","k"].includes(a))||"x"===o&&(["r","l","ř"].includes(n)&&["t","x"].includes(a)||["p","t","f","s","š","n","m"].includes(n)&&"x"===a||"x"===n&&"t"===a)||"ļ"===o&&(["p","t","r","ř","m","n","ň"].includes(n)&&["t","k","ļ"].includes(a)||["ļ","l"].includes(n)&&["t","k"].includes(a))||"s"===o&&(["r","l","ř","m","n","ň","p","k","f"].includes(n)&&["p","t","k","f","ţ","x","s"].includes(a)||"ţ"===n&&["p","t","k","s"].includes(a)||"s"===n&&["p","t","k","f","ţ","x"].includes(a))||"š"===o&&(["r","l","ř","m","n","ň","p","k","f"].includes(n)&&["p","t","k","f","ţ","x","š"].includes(a)||"ţ"===n&&["p","t","k","š"].includes(a)||"š"===n&&["p","t","k","f","ţ","x"].includes(a))||"v"===o&&(["r","ř","l"].includes(n)&&["v","z","ž"].includes(a)||["b","g","m","ň"].includes(n)&&"v"===a||"v"===n&&["z","ž"].includes(a))||"ḑ"===o&&["b","g","r","ř","l","n","m","ň"].includes(n)&&"ḑ"===a||"z"===o&&(["r","ř","l","n","m","ň"].includes(n)&&["b","d","g","z"].includes(a)||["b","g","v"].includes(n)&&"z"===a||"z"===n&&["b","d","g"].includes(a))||"ž"===o&&(["r","ř","l","n","m","ň"].includes(n)&&["b","d","g","ž"].includes(a)||["b","g","v"].includes(n)&&"ž"===a||"ž"===n&&["b","d","g"].includes(a))||"c"===o&&["r","ř","l"].includes(n)&&["t","k","c","h"].includes(a)||"č"===o&&["r","ř","l"].includes(n)&&["t","k","č","h"].includes(a)||"ẓ"===o&&["r","ř","l"].includes(n)&&["d","g","ẓ"].includes(a)||"j"===o&&["r","ř","l"].includes(n)&&["d","g","j"].includes(a)||"m"===o&&(["r","l","ř"].includes(n)&&["p","t","k","b","d","f","ţ","x","s","š","v","ḑ","z","ž","m","ļ","ç"].includes(a)||"m"===n&&["p","t","k","b","d","f","ţ","x","s","š","v","ḑ","z","ž","ļ","ç"].includes(a))||"n"===o&&(["r","ř"].includes(n)&&["t","k","d","g","f","ţ","x","s","š","v","ḑ","z","ž","n","ļ","ç"].includes(a)||"l"===n&&["t","k","d","g","ţ","s","š","z","ž","ļ","ç"].includes(a)||"n"===n&&["t","k","d","g","f","ţ","x","s","š","v","ḑ","z","ž","ļ","ç"].includes(a))||"l"===o&&"l"===n&&["p","t","k","b","d","g","f","ţ","x","s","š","v","ḑ","z","ž","c","č","ẓ","j","m","n","ň","ç"].includes(a)||["r","ř"].includes(o)&&["r","ř"].includes(n)&&["p","t","k","b","d","g","f","ţ","x","s","š","v","ḑ","z","ž","c","č","ẓ","j","m","n","ň","l","ļ","ç"].includes(a)||"ç"===o&&(["p","t","k","m","n","ň","r","l","ř"].includes(n)&&["t","k","ç"].includes(a)||"ç"===n&&["t","k"].includes(a)))return!0}else if(4==t.length){var l=t.charAt(0),r=t.charAt(1),h=t.charAt(2),c=r+h,d=t.charAt(3);if((["l","r","ř"].includes(l)&&(["tç","pf","fs","fš"].includes(c)||["k","p"].includes(r)&&["s","š","ţ","ç"].includes(h))||"r"===l&&(["n","ň","m"].includes(r)&&["s","š","ţ","ç"].includes(h)||["ň","m"].includes(r)&&"f"===h))&&["t","k"].includes(d))return!0}return!1}return!1},consAllowed(e){for(var t in e.slice(0,-1)){let s=e.charAt(t),i=e.charAt(t+1),n=e.charAt(t+2);if("'"!=s&&e.split("'").length>=2||e.split("'").length>=3)return!1;if(["t","d"].includes(s)&&["s","z","š","ž","c","ẓ","č","j","ţ","ḑ"].includes(i))return!1;if(["k","g"].includes(s)&&["x","ň"].includes(i))return!1;if(["kg","gk","td","dt","pb","bp"].includes(s+i))return!1;if(["fv","vf","ţḑ","ḑţ","cẓ","ẓc","čj","jč","čc","jc","čẓ","jẓ"].includes(s+i))return!1;if(["šc","šẓ","žc","žẓ","sẓ"].includes(s+i))return!1;if(s!=i&&["s","š","z","ž"].includes(s)&&["s","š","z","ž"].includes(i))return!1;if(["c","ẓ","č","j"].includes(s)&&["s","š","z","ž"].includes(i))return!1;if("ç"==s&&["s","z","š","ž","ẓ","j","ļ","h"].includes(i))return!1;if("ç"==i&&["c","ẓ","č","j","ļ","h","x"].includes(s))return!1;if("n"==s&&["c","č","ẓ","j"].includes(i))return!1;if("m"==s&&["b","p"].includes(i)&&["f","v","ţ","ḑ","t","d","s","z","š","ž"].includes(n))return!1;if("n"==s&&["k","g"].includes(i)&&["s","z","š","ž"].includes(n))return!1;if("n"==s&&["p","b"].includes(i))return!1;if("n"==s&&["f","v"].includes(i)&&""!=n)return!1;if("ň"==s&&["g","k","x","y"].includes(i))return!1;if("x"==s&&["s","z","š","ž","ç","g","ļ","ň","y","h","ř"].includes(i))return!1;if("ļ"==s&&["s","z","š","ž","h","ç"].includes(i))return!1;if("ļ"==i&&["b","d","g","h","ç"].includes(s))return!1;if(""==n&&"h"==i&&["ļ","x","ç"].includes(s))return!1;if("ř"==i&&["r","h"].includes(s))return!1;if(s+i=="řr")return!1;if(["w","y"].includes(s)&&""!=i)return!1}return!0},markStress(e,t){if(t.includes("'"))for(let n=t.length;n--;)if("'"==t.charAt(n)&&n!=t.length-1&&(console.log(t.charAt(n-1)),["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n-1))&&0!=n&&(console.log(t,t.charAt(n-1)),!["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n+1))))){let e=1;while(!["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n+e)))e+=1;let s=t.slice(n+1,n+e);console.log(s),this.allowedAtStart(s)||(t=t.slice(0,n)+t.slice(n+1),t=["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n-2))&&n>=2?t.slice(0,n-1)+"'"+t.slice(n-1):t.slice(0,n-1)+t.charAt(n-1)+"'"+t.slice(n-1))}var s=t.match(/(?:ai|ei|ëi|oi|ui|au|eu|ëu|ou|iu|[aeiouäëöü])/gi);if(0===e&&s.length>1){for(let n=t.length-1;n>=0;n--)if(["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(n))){t=this.sDip.includes(t.charAt(n-1)+t.charAt(n))?t.substring(0,n-1)+this.sAccent[t.charAt(n-1)]+t.substring(n):t.substring(0,n)+this.sAccent[t.charAt(n)]+t.substring(n+1);break}}else if(2===e){var i=0;for(let e=t.length-1;e>=0;e--)if(["a","e","i","o","u","ä","ë","ö","ü"].includes(t.charAt(e))){if(2==i){t=this.sDip.includes(t.charAt(e-1)+t.charAt(e))?t.substring(0,e-1)+this.sAccent[t.charAt(e-1)]+t.substring(e):t.substring(0,e)+this.sAccent[t.charAt(e)]+t.substring(e+1);break}this.sDip.includes(t.charAt(e-1)+t.charAt(e))||i++}}return t},recalcVowels(e){return e.replaceAll("yia","yuä").replaceAll("yie","yuë").replaceAll("yio","yüä").replaceAll("yiö","yüë").replaceAll("wuö","wöë").replaceAll("wuo","wöä").replaceAll("wue","wië").replaceAll("wua","wiä")},finalCalcs(){var e="";if(e=this.slots[9],this.slot9gStop(),"3"!=this.gOptions.shcut&&(""!==this.slots[0]||"a"!==this.slots[1]||this.slotVIIshortcut||this.allowedAtStart(this.slots[2])&&(this.slots[1]="",this.cut[0]=!0),"a"===this.slots[7]&&"asp"!=this.gOptions.vn&&"l"===this.slots[5]&&"h"!=this.slots[8]&&this.settings["Miscellaneous"].s8[1]?(this.slots[10]=this.slots[8],this.slots[5]=this.slots[8],this.slots[8]="",this.eightSix=!0,this.cut[2]=!0):this.eightSix=!1,"a"===this.slots[7]&&("h"===this.slots[8]||""===this.slots[8])&&(this.slots[7]="",this.slots[8]="",this.cut[2]=!0,"a"===this.slots[9]))){var t,s=!0;0==this.gOptions.VIIafx.length&&this.gOptions.Vafx.length==0+(this.slotVIIshortcut&&1)&&this.shortcutting?"PRN"==this.gOptions.c&&(this.sDip.includes(this.slots[1])||Object.keys(this.sAccent).includes(this.slots[1]))?s=!1:t=this.slots[2]:this.gOptions.VIIafx.length==0+(this.slotVIIshortcut&&1)&&this.shortcutting?s=!1:t=this.gOptions.VIIafx.length==0+(this.slotVIIshortcut&&1)?this.slots[5]:this.gOptions.VIIafx[this.gOptions.VIIafx.length-1][0],s&&this.allowedAtEnd(t)&&(this.slots[9]="",this.cut[1]=!0)}(()=>{this.ithkword=this.slots.slice(0,-1).join("")})(),this.ithkword=this.recalcVowels(this.ithkword);var i=this.ithkword.match(/(?:ai|ei|ëi|oi|ui|au|eu|ëu|ou|iu|[aeiouäëöü])/gi),n=0;n="0"!=this.gOptions.concat?"'"===e.charAt(e.length-1)||this.cut[2]&&this.cut[1]&&"THM"==this.gOptions.c&&"0"!=this.gOptions.concat&&0==this.gOptions.VIIafx.length&&this.shortcutting&&(this.sDip.includes(this.slots[1])||Object.keys(this.sAccent).includes(this.slots[1]))?0:1:["UNF/K","UNF/C","FRM"].indexOf(this.gOptions.rel);while(i.length<=n){var o=1==this.cut[1]?1:1==this.cut[0]?0:1==this.cut[2]?2:null,a=[1,9,7];7===a[o]&&(this.slots[8]="h"),this.slots[a[o]]="a",this.cut[o]=!1,(()=>{this.ithkword=this.slots.slice(0,-1).join("")})(),i=this.ithkword.match(/(?:ai|ei|ëi|oi|ui|au|eu|ëu|ou|iu|[aeiouäëöü])/gi)}this.cut[1]&&this.calculateEJ&&(this.ithkword+="a"),this.ithkword=this.markStress(n,this.ithkword)},glossCalcs(){if(this.gloss="",this.fullGloss="","0"!=this.gOptions.concat&&(this.gloss+="T"+this.gOptions.concat+"-",this.fullGloss+="T"+this.gOptions.concat+"-"),"normal"==this.wordType?(this.gloss+="S"+this.gOptions.stem.charAt(1),"CPT"===this.gOptions.ver&&(this.gloss+=".CPT"),this.fullGloss+="S"+this.gOptions.stem.charAt(1)+"."+this.gOptions.ver):"refRoot"==this.wordType?(this.gloss+="CPT"==this.gOptions.ver?"CPT-":"",this.fullGloss+=this.gOptions.ver+"-"):"affRoot"==this.wordType&&(this.gloss+="CPT"==this.gOptions.ver?"CPT":"",this.gloss+="CPT"==this.gOptions.ver&&"DYN"==this.gOptions.func?".":"",this.gloss+="DYN"==this.gOptions.func?"DYN":"",this.gloss+="CPT"==this.gOptions.ver||"DYN"==this.gOptions.func?"-":"",this.fullGloss+=this.gOptions.ver+"."+this.gOptions.func+"-"),this.shortcutting){var e=(this.gOptions.plex+this.gOptions.simil+this.gOptions.cctd).slice(0,3);"normal"==this.wordType&&(this.fullGloss+="."),this.fullGloss+=this.gOptions.affil+"."+e+"."+this.gOptions.ext+"."+this.gOptions.persp+"."+this.gOptions.ess;var t=[];"CSL"!=this.gOptions.affil&&t.push(this.gOptions.affil),"UPX"!=e&&t.push(e),"DEL"!=this.gOptions.ext&&t.push(this.gOptions.ext),"M"!=this.gOptions.persp&&t.push(this.gOptions.persp),"NRM"!=this.gOptions.ess&&t.push(this.gOptions.ess),t.length>0&&"normal"==this.wordType?this.gloss+="."+t.join("."):t.length>0&&(this.gloss+=t.join(".")+"-"),"refRoot"==this.wordType&&(this.fullGloss+="-")}else if(this.slotVIIshortcut){let e=this.gOptions.VIIafx[this.gOptions.VIIafx.length-1];"r"==e[0]&&"4"==e[1]?(this.gloss+=".'relative negation'",this.fullGloss+=".'relative negation'"):"t"==e[0]&&"4"==e[1]?(this.gloss+=".'previously mentioned'",this.fullGloss+=".'previously mentioned'"):"t"==e[0]&&"5"==e[1]&&(this.gloss+=".'[+head]'",this.fullGloss+=".'[+head]'")}if("normal"==this.wordType)this.gloss+='-"'+this.gOptions.root.toLowerCase()+'"',this.fullGloss+='-"'+this.gOptions.root.toLowerCase()+'"';else if("affRoot"==this.wordType)this.gloss+='"'+this.gOptions.affRoot.toLowerCase()+'"',this.fullGloss+='"'+this.gOptions.affRoot.toLowerCase()+'"';else if("refRoot"==this.wordType){let e=this.refGloss(this.gOptions.ref,this.gOptions.refEff,this.gOptions.refPersp);this.gloss+=e[0],this.fullGloss+=e[1]}if("affRoot"!=this.wordType){var s=[];"STA"!=this.gOptions.func&&s.push(this.gOptions.func),"BSC"!=this.gOptions.spec&&s.push(this.gOptions.spec),"EXS"!=this.gOptions.ctxt&&s.push(this.gOptions.ctxt),s.length>0&&(this.gloss+="-"+s.join(".")),this.fullGloss+="-"+this.gOptions.func+"."+this.gOptions.spec+"."+this.gOptions.ctxt}else this.gloss+="-D"+(this.gOptions.arDegree+1).toString().slice((this.gOptions.arDegree+1).toString().length-1),"EXS"!=this.gOptions.ctxt&&(this.gloss+="."+this.gOptions.ctxt),this.fullGloss+="-D"+(this.gOptions.arDegree+1).toString().slice((this.gOptions.arDegree+1).toString().length-1)+"."+this.gOptions.ctxt;for(var i in this.gOptions.Vafx){let e=this.gOptions.Vafx[i];this.gloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:""),this.fullGloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:"")}if(this.shortcutting)this.gOptions.Vafx.length>0&&(this.gloss+="-{Ca}",this.fullGloss+="-{Ca}");else{var n=(this.gOptions.plex+this.gOptions.simil+this.gOptions.cctd).slice(0,3);if(this.eightSix)this.gloss+="-"+this.gOptions.casc,this.fullGloss+="-"+this.gOptions.affil+"."+n+"."+this.gOptions.ext+"."+this.gOptions.persp+"."+this.gOptions.ess,this.fullGloss+="."+this.gOptions[this.gOptions.vn]+"."+("UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat?this.gOptions.mood:this.gOptions.casc);else{this.fullGloss+="-"+this.gOptions.affil+"."+n+"."+this.gOptions.ext+"."+this.gOptions.persp+"."+this.gOptions.ess;var o=[];"CSL"!=this.gOptions.affil&&o.push(this.gOptions.affil),"UPX"!=n&&o.push(n),"DEL"!=this.gOptions.ext&&o.push(this.gOptions.ext),"M"!=this.gOptions.persp&&o.push(this.gOptions.persp),"NRM"!=this.gOptions.ess&&o.push(this.gOptions.ess),o.length>0?this.gloss+="-"+o.join("."):this.gOptions.Vafx.length>0&&(this.gloss+="-{Ca}")}}if(this.slotVIIshortcut)for(var a in this.gOptions.VIIafx.slice(0,-1)){let e=this.gOptions.VIIafx[a];this.gloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:""),this.fullGloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:"")}else for(var l in this.gOptions.VIIafx){let e=this.gOptions.VIIafx[l];this.gloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:""),this.fullGloss+="-'"+e[0]+"'/"+e[1]+("CA"!=e[1]?{1:"₁",2:"₂",3:"₃",4:"₄"}[e[2]]:"")}if(!this.eightSix){var r=[];"MNO"!==this.gOptions[this.gOptions.vn]&&r.push(this.gOptions[this.gOptions.vn]),"FAC"!==this.gOptions.mood&&"UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat&&r.push(this.gOptions.mood),"CCN"===this.gOptions.casc||"UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat||r.push(this.gOptions.casc),r.length>0&&(this.gloss+="-"+r.join(".")),this.fullGloss+="-"+this.gOptions[this.gOptions.vn]+"."+("UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat?this.gOptions.mood:this.gOptions.casc)}if("UNF/K"===this.gOptions.rel&&"0"==this.gOptions.concat){var h=[];this.fullGloss+="-"+this.gOptions.ill,"ASR"===this.gOptions.ill&&(this.fullGloss+="."+this.gOptions.vld),"ASR"!==this.gOptions.ill&&h.push(this.gOptions.ill),"ASR"===this.gOptions.ill&&h.push(this.gOptions.vld),h.length>0&&(this.gloss+="-"+h.join("."))}else"THM"!==this.gOptions.c&&(this.gloss+="-"+this.gOptions.c),this.fullGloss+="-"+this.gOptions.c;if("0"==this.gOptions.concat&&(this.fullGloss+="\\"+this.gOptions.rel.split("/")[0],"UNF"!==this.gOptions.rel.split("/")[0]&&(this.gloss+="\\"+this.gOptions.rel.split("/")[0])),"3"==this.gOptions.shcut){let e=this.gloss;this.gloss=this.fullGloss,this.fullGloss=e}},refGloss(e,t,s){var i="",n="";return i+="M"==s?"":"[",n+="M"==s?"":"[",i+=e,i+="NEU"==t?"":"."+t,n+=e+"."+t,i+="M"==s?"":"+"+s+"]",n+="M"==s?"":"+"+s+"]",[i,n]},IPAcalcs(){this.ipa="";var e=!1;for(var t in(Object.keys(this.sAccent).includes(this.ithkword.charAt(0))||Object.values(this.sAccent).includes(this.ithkword.charAt(0)))&&(this.ipa+="ʔ"),this.ithkword.split(""))if(e)e=!1;else{let i=this.ithkword.charAt(parseInt(t)-1),n=this.ithkword.charAt(parseInt(t)),o=this.ithkword.charAt(parseInt(t)+1);if(Object.values(this.sAccent).includes(n)&&(this.ipa+="ˈ")," "==n)this.ipa+=" ";else if("n"===n)["k","g","x"].includes(o)?this.ipa+="ŋ":this.ipa+="n";else if("r"===n&&"r"!==o)Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="ɾ":this.ipa+="ɹ";else if("x"===n)this.ipa+=this.settings["IPA"][n][1].slice(1,-1),n==o&&(this.ipa+="ː",e=!0);else if("rr"===n+o)this.ipa+="r",e=!0;else if("řř"===n+o)this.ipa+=this.settings["IPA"]["rr"][1].slice(1,-1),e=!0;else if(["hl","hr","hm","hn","hň"].includes(n+o))"Devoiced"==this.settings["IPA"]["hx"][1]?this.ipa+={hl:"ɬ",hr:"ɾ̥",hm:"m̥",hn:"n̥","hň":"ŋ̊"}[n+o]:this.ipa+={hl:"hl",hr:"hɾ",hm:"hm",hn:"hn","hň":"hŋ"}[n+o],e=!0;else if(["ph","th","kh","ch","čh"].includes(n+o)&&(""===this.ithkword.charAt(parseInt(t)+2)||Object.keys(this.sAccent).includes(this.ithkword.charAt(parseInt(t)+2))||Object.values(this.sAccent).includes(this.ithkword.charAt(parseInt(t)+2))))this.ipa+=this.ipaLookup[n],this.ipa+="ʰ",e=!0;else if(n===o&&Object.keys(this.ipaLookup).includes(n))this.ipa+=this.ipaLookup[n],this.ipa+="ː",e=!0;else if(Object.keys(this.sAccent).includes(n)||Object.values(this.sAccent).includes(n)){var s;s=Object.values(this.sAccent).includes(n)?Object.keys(this.sAccent).find((e=>this.sAccent[e]==n)):n,s===o||s===Object.keys(this.sAccent).find((e=>this.sAccent[e]==o))?(this.ipa+="ä"==s?"æ":this.settings["IPA"][s][1].slice(1,-1),this.ipa+="ː",e=!0):["ä","ë"].includes(s)?this.ipa+="ä"==s?"æ":this.settings["IPA"][s][1].slice(1,-1):"a"===s?Object.keys(this.sAccent).includes(i)||Object.values(this.sAccent).includes(i)?this.ipa+="ɑ":this.ipa+=this.settings["IPA"][s][1].slice(1,-1):"e"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="e":this.ipa+=this.settings["IPA"][s][1].slice(1,-1):"i"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="i":this.ipa+="y"==o||"y"==i?"ɪ":this.settings["IPA"][s][1].slice(1,-1):"o"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="o":this.ipa+=this.settings["IPA"][s][1].slice(1,-1):"ö"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="ø":this.ipa+=this.settings["IPA"][s][1].slice(1,-1):"u"===s?Object.keys(this.sAccent).includes(o)||Object.values(this.sAccent).includes(o)?this.ipa+="u":this.ipa+="w"==o||"w"==i?"ʊ":this.settings["IPA"][s][1].slice(1,-1):"ü"===s&&(this.ipa+="w"==o||"w"==i||"y"==o||"y"==i?"ʉ":this.settings["IPA"][s][1].slice(1,-1))}else Object.keys(this.ipaLookup).includes(n)?this.ipa+=this.ipaLookup[n]:this.ipa+="-"}},resetWord(e=null){for(var t in null==e&&(e=this.gDefault),this.gOptions=JSON.parse(JSON.stringify(e)),e)this.updateFromModal(t,JSON.parse(JSON.stringify(e[t])))}},beforeMount(){this.gOptions=JSON.parse(JSON.stringify(this.gDefault)),this.handleSendMessage()},computed:{calculateEJ(){return this.$props.selectedWord!=this.$props.sLength-1&&this.settings["Miscellaneous"].ej[1]&&Object.keys(this.cData).includes(this.$props.nextWord[0].charAt(0))}}};const bs=(0,ds.Z)(ms,[["render",Pe]]);var ws=bs;const ys={class:"section"};function vs(e,t,s,i,a,l){const r=(0,n.up)("OptionBox");return(0,n.wg)(),(0,n.iD)("div",null,[(0,n._)("div",ys,[(0,n.Wm)(r,{json:a.gData.word,code:"word",onSendMessage:l.handleSendMessage,ref:"word",onModal:l.openModal,class:(0,o.C_)({hidden:"normal"!=a.wordType})},null,8,["json","onSendMessage","onModal","class"])])])}var Ss={name:"Ithkuil_v3",components:{OptionBox:us},props:{listenModal:Array,listenWordtype:String,listenWord:Object},watch:{listenModal(e){this.updateFromModal(e[0],e[1])},listenWordtype(e){this.switchWordType(e)},listenWord(e){for(var t in this.gOptions=JSON.parse(JSON.stringify(e)),e)this.updateFromModal(t,JSON.parse(JSON.stringify(e[t])));this.handleSendMessage(e.root,"root")},ithkword(e){this.$emit("ithkword",[e,this.ipa,this.gloss,this.fullGloss]),this.$emit("gEmit",this.gOptions)},ipa(e){this.$emit("ithkword",[this.ithkword,e,this.gloss,this.fullGloss])},gloss(e){this.$emit("ithkword",[this.ithkword,this.ipa,e,this.fullGloss])},fullGloss(e){this.$emit("ithkword",[this.ithkword,this.ipa,this.gloss,e])}},data(){return{defaultWord:"",settings:{"Category A":{s1:["Setting 1: ","defaultval",["defaultval","Fancy New Value"]]},"Category B":{s2:["Setting 2: ",!1]}},gDefault:{word:""},wordType:"normal",tabGroups:{normal:[["word"]]},gOptions:{},ithkword:"",ipa:"",gloss:"",fullGloss:"",gData:{word:{type:"text",title:"placeholder",popupdesc:"Hopefully this works :)"}}}},methods:{async handleSendMessage(e="",t=""){t&&(this.gOptions[t]=e),this.ithkword=this.gOptions.word,this.settings["Category B"].s2[1]&&(this.ithkword+="AAAA"),this.ipa=this.gOptions.word,this.gloss=this.gOptions.word,this.fullGloss=this.gOptions.word},openModal(e){this.$emit("modal",e)},updateFromModal(e,t){this.$refs[e].updateValue(t)},resetWord(e=null){for(var t in null==e&&(e=this.gDefault),this.gOptions=JSON.parse(JSON.stringify(e)),e)this.updateFromModal(t,JSON.parse(JSON.stringify(e[t])))},switchWordType(e){this.wordType=e,this.handleSendMessage()}},beforeMount(){this.gOptions=JSON.parse(JSON.stringify(this.gDefault)),this.handleSendMessage()}};const Ms=(0,ds.Z)(Ss,[["render",vs]]);var Ts=Ms,Os={name:"App",components:{Ithkuil_v4:ws,Ithkuil_v3:Ts},data(){return{langVer:"4",modalListen:[],wordType:"normal",modalContent:"",modalID:"",modalTabs:[],gOptions:{},gSOptions:{},ithkword:"",gloss:"",fullGloss:"",ipa:"",casePopupStart:"THM",casePopupEnd:"PLM",casePopupTitle:"Allcases",tabGroups:[["root","stem","spec"],["func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","abslvl","asp"],["casc","c"],["mood","ill","vld"]],SRtabGroups:[["affRoot","arDegree"],["spec","func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","abslvl","asp"],["casc","c"],["mood","ill","vld"]],REFtabGroups:[["ref","refEff","refPersp"],["spec","func","ver","ctxt"],["shcut","concat","rel"],["Vafx","VIIafx"],["plex","simil","cctd"],["affil","ext","persp","ess"],["vn","val","pha","eff","lvl","abslvl","asp"],["casc","c"],["mood","ill","vld"]],sentenceOpen:!1,sentence:[],selectedWord:0,deleteWordMode:!1,oldScreenSize:0,hovering:null,isMouseDown:!1,draggedWord:null,settingsClone:{}}},methods:{notAvailableAlert(e){alert(e+" is not available yet!")},openModal(e){let t=!1,s=JSON.parse(JSON.stringify(this.$refs[this.langVer].tabGroups[this.wordType]));this.modalID=e,isNaN(e.charAt(e.length-1))?this.modalContent=this.$refs[this.langVer].gData[e]:this.modalContent=this.$refs[this.langVer].gData[e.slice(0,-1)];for(let i of s)i.includes(e)&&(this.modalTabs=[...i],t=!0);t||(this.modalTabs=[]),document.getElementById("modal").style.display="block","c"===e&&this.changeClassTab("THM","PLM","Allcases")},closeModal(){document.getElementById("modal").style.display="none"},openDropdown(e){document.getElementById(e).classList.toggle("hidden")},closeDropdown(e,t={},s=!1){if(s)document.getElementById(e).classList.add("hidden");else try{t.path[1].id!=e&&document.getElementById(e).classList.add("hidden")}catch{}},updateFromModal(e,t){this.modalListen=[e,t]},scrollToTop(){document.getElementById("modal").scrollTo(0,0)},changeClassTab(e,t,s){this.casePopupStart=e,this.casePopupEnd=t,this.casePopupTitle=s;var i=document.getElementsByClassName("tablinks");for(let n=0;n=650?this.sentenceOpen&&!e?this.closeNav():(this.sentenceOpen=!0,document.getElementById("sidebar").style.width="250px",document.getElementById("sFooter").style.width="250px",document.getElementById("content").style.marginRight="250px",document.getElementById("header").style.marginRight="250px",document.getElementById("footer").style.marginRight="250px",document.getElementById("modal").style.marginRight="250px",document.getElementById("modalToTop").style.right="270px"):(e&&this.closeNav(),this.sentenceOpen=!0,document.getElementById("sidebar").style.width="100%",document.getElementById("sFooter").style.width="100%")},closeNav(){this.sentenceOpen=!1,document.getElementById("sidebar").style.width="0",document.getElementById("sFooter").style.width="0",document.getElementById("content").style.marginRight="0",document.getElementById("header").style.marginRight="0",document.getElementById("footer").style.marginRight="0",document.getElementById("modal").style.marginRight="0",document.getElementById("modalToTop").style.right="20px"},switchWord(e,t=!1){this.deleteWordMode&&!t?confirm("Really delete "+this.sentence[e][0]+(this.sentence[e][3]?" ("+this.sentence[e][3]+")":"")+"?")&&(this.sentence.splice(e,1),0==this.sentence.length&&this.sentence.push([this.$refs[this.langVer].defaultWord,JSON.parse(JSON.stringify(this.$refs[this.langVer].gDefault)),"normal",""]),(this.sentence.length<=this.selectedWord||e=650&&window.innerWidth<650||this.oldScreenSize<650&&window.innerWidth>=650)&&this.sentenceOpen&&this.openNav(!0),this.oldScreenSize=window.innerWidth},hoverChange(e){if(this.hovering=e,this.isMouseDown&&null!==this.draggedWord&&this.draggedWord!==this.hovering){var t=JSON.parse(JSON.stringify(this.sentence[this.draggedWord]));this.sentence.splice(this.draggedWord,1),this.sentence.splice(this.hovering,0,JSON.parse(JSON.stringify(t))),this.selectedWord===this.draggedWord?this.switchWord(this.hovering,!0):this.selectedWord===this.hovering&&this.switchWord(this.draggedWord,!0);let s=document.getElementsByClassName("ta")[this.draggedWord].style.height;document.getElementsByClassName("ta")[this.draggedWord].style.height=document.getElementsByClassName("ta")[e].style.height,document.getElementsByClassName("ta")[e].style.height=s,this.draggedWord=e}},onMouseDownF(){this.deleteWordMode||(this.isMouseDown=!0)},onMouseUpF(){this.deleteWordMode||(this.isMouseDown=!1,this.draggedWord=null)},beginDrag(e){this.deleteWordMode?this.draggedWord=null:this.isMouseDown&&(this.draggedWord=e)},resizeTA(e){e.target.style.height="18px",e.target.style.height=e.target.scrollHeight+"px"},copytoCB(e){try{navigator.clipboard.writeText(e).then((function(){alert("Copied to clipboard successfully")}),(function(){alert("Could not copy to clipboard")}))}catch{alert("Could not copy to clipboard")}},setCookie(e,t,s){const i=new Date;i.setTime(i.getTime()+24*s*60*60*1e3);let n="expires="+i.toUTCString();document.cookie=e+"="+t+";"+n+";path=/"},getCookie(e){let t=e+"=",s=decodeURIComponent(document.cookie),i=s.split(";");for(let n=0;n0){console.log(e.target.files);let t=new FileReader;t.readAsText(e.target.files[0]),t.onload=()=>{try{this.handleImportedWord(JSON.parse(t.result)),this.switchWord(0,!0),document.getElementById("fimport").value=""}catch{alert("Could not import correctly.")}}}},exportToJsonFile(e){let t=JSON.stringify(e),s="data:application/json;charset=utf-8,"+encodeURIComponent(t),i="sentence.json",n=document.createElement("a");n.setAttribute("href",s),n.setAttribute("download",i),n.click()},openFileDialog(){document.getElementById("filab").click()}},beforeMount(){this.sentence.unshift([this.ithkword,JSON.parse(JSON.stringify(this.gOptions)),"normal",""])},directives:{clickOutside:Ie().directive},created(){let e=new URLSearchParams(window.location.search);e.has("v")&&("3"!=e.get("v")?this.langVer="4":this.langVer=e.get("v")),this.oldScreenSize=window.innerWidth,window.addEventListener("resize",this.onScreenResize),window.addEventListener("mousedown",this.onMouseDownF),window.addEventListener("mouseup",this.onMouseUpF),window.addEventListener("touchstart",this.onMouseDownF),window.addEventListener("touchend",this.onMouseUpF)},unmounted(){window.removeEventListener("resize",this.onScreenResize),window.removeEventListener("mousedown",this.onMouseUpF),window.removeEventListener("mouseup",this.onMouseDownF),window.removeEventListener("touchstart",this.onMouseUpF),window.removeEventListener("touchend",this.onMouseDownF)},mounted(){this.settingsClone=JSON.parse(JSON.stringify(this.$refs[this.langVer].settings))}};const Cs=(0,ds.Z)(Os,[["render",Oe]]);var Is=Cs,xs=s(431);(0,xs.z)("/ithkapp/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}}),(0,i.ri)(Is).mount("#app")}},t={};function s(i){var n=t[i];if(void 0!==n)return n.exports;var o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,s),o.exports}s.m=e,function(){var e=[];s.O=function(t,i,n,o){if(!i){var a=1/0;for(c=0;c=o)&&Object.keys(s.O).every((function(e){return s.O[e](i[r])}))?i.splice(r--,1):(l=!1,o0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[i,n,o]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){s.d=function(e,t){for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,i){var n,o,a=i[0],l=i[1],r=i[2],h=0;if(a.some((function(t){return 0!==e[t]}))){for(n in l)s.o(l,n)&&(s.m[n]=l[n]);if(r)var c=r(s)}for(t&&t(i);h\n Ithkapp | {{ithkword}}\n \n \n
\n

Ithkapp

\n \n \n \n
\n \n
\n Affixual\n Modular\n Register\n Suppletive\n Bias\n
\n
\n
\n \n
\n Normal\n Affix as Root\n Personal-Referential Root\n Single/Dual-Referential\n Single Referential w/ Case-Stacking\n Non-Ithkuil (Borrowed) Word\n
\n
\n \n \n
\n \n
\n Aspectual\n Affixual\n Bias\n
\n
\n
\n \n
\n Normal\n Personal Reference\n
\n
\n \n \n
\n\n \n
\n\n gOptions = JSON.parse(JSON.stringify(g))\"\n @ithkword=\"(w) => {ithkword = w[0]; ipa = w[1]; gloss = w[2]; fullGloss = w[3]; sentence[selectedWord] = JSON.parse(JSON.stringify([ithkword,gOptions,wordType,sentence[selectedWord][3]]));}\"\n :listenModal=\"modalListen\" :listenWordtype=\"wordType\" :listenWord=\"gSOptions\" :selectedWord=\"selectedWord\" :sLength=\"sentence.length\" :nextWord=\"this.sentence[selectedWord+1]\"/>\n\n gOptions = JSON.parse(JSON.stringify(g))\"\n @ithkword=\"(w) => {ithkword = w[0]; ipa = w[1]; gloss = w[2]; fullGloss = w[3]; sentence[selectedWord] = JSON.parse(JSON.stringify([ithkword,gOptions,wordType,sentence[selectedWord][3]]));}\"\n :listenModal=\"modalListen\" :listenWord=\"gSOptions\" :listenWordtype=\"wordType\"/>\n \n
\n \n\n \n
\n

{{ithkword}}
\n [{{ipa}}]
\n {{gloss}}

\n
\n\n \n
\n
\n
\n \n \n \n ×\n
\n
\n

Settings

\n
\n

{{section}}

\n \n \n \n \n

\n
\n
\n This project on GitHub\n
\n
\n

{{modalContent.title}}

\n

\n
\n
\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n

{{modalContent.options[option].name}}{{option === option.toString().toUpperCase() && ![\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\"].includes(option.toString()) ? \" (\"+option+\")\" : \"\"}}

\n

\n
\n
\n
\n
\n
\n \n

{{modalContent.options[option].name}}{{option === option.toString().toUpperCase() && ![\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\"].includes(option.toString()) ? \" (\"+option+\")\" : \"\"}}

\n

\n
\n
\n
\n
\n
\n
\n
\n

Your sentence:

\n

{{concatenateSentence(sentence)}}

\n
\n
\n
\n
\n \n
\n\n \n
\n
\n ×\n

Sentence Menu

\n
\n
\n
\n

{{word[0]}}

\n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n\n\n\n\n","\r\n\r\n","\n\n\n\n\n\n","import { render } from \"./optionbox.vue?vue&type=template&id=4abae525&scoped=true\"\nimport script from \"./optionbox.vue?vue&type=script&lang=js\"\nexport * from \"./optionbox.vue?vue&type=script&lang=js\"\n\nimport \"./optionbox.vue?vue&type=style&index=0&id=4abae525&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\nickl\\\\OneDrive\\\\Desktop\\\\School stuff\\\\2022\\\\Digi\\\\ithkapp\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4abae525\"]])\n\nexport default __exports__","import { render } from \"./4.vue?vue&type=template&id=79d4a1ec\"\nimport script from \"./4.vue?vue&type=script&lang=js\"\nexport * from \"./4.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"C:\\\\Users\\\\nickl\\\\OneDrive\\\\Desktop\\\\School stuff\\\\2022\\\\Digi\\\\ithkapp\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./3.vue?vue&type=template&id=d43e21f2\"\nimport script from \"./3.vue?vue&type=script&lang=js\"\nexport * from \"./3.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"C:\\\\Users\\\\nickl\\\\OneDrive\\\\Desktop\\\\School stuff\\\\2022\\\\Digi\\\\ithkapp\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=1f1b9bf6\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=1f1b9bf6&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\nickl\\\\OneDrive\\\\Desktop\\\\School stuff\\\\2022\\\\Digi\\\\ithkapp\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready () {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered () {\n console.log('Service worker has been registered.')\n },\n cached () {\n console.log('Content has been cached for offline use.')\n },\n updatefound () {\n console.log('New content is downloading.')\n },\n updated () {\n console.log('New content is available; please refresh.')\n },\n offline () {\n console.log('No internet connection found. App is running in offline mode.')\n },\n error (error) {\n console.error('Error during service worker registration:', error)\n }\n })\n}\n","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport './registerServiceWorker'\r\n\r\ncreateApp(App).mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkithkapp\"] = self[\"webpackChunkithkapp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(11); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","id","_createElementVNode","style","_hoisted_3","_hoisted_5","href","target","_hoisted_65","_hoisted_67","for","_hoisted_69","_hoisted_71","_toDisplayString","$data","_hoisted_2","onClick","$options","title","_createElementBlock","active","includes","event","_createBlock","_component_Ithkuil_v4","ref","onModal","onGEmit","g","JSON","parse","stringify","onIthkword","w","listenModal","listenWordtype","listenWord","selectedWord","sLength","length","nextWord","sentence","_component_Ithkuil_v3","_hoisted_26","_hoisted_28","_hoisted_29","_Fragment","_renderList","tabcode","key","$refs","gData","isNaN","slice","_hoisted_32","hidden","_hoisted_33","Object","keys","section","setOpt","settings","onChange","handleSendMessage","spOpt","type","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","innerHTML","popupdesc","_hoisted_42","_hoisted_44","options","indexOf","casePopupStart","casePopupEnd","option","modalSelected","gOptions","name","toString","toUpperCase","desc","image","src","alt","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_55","_hoisted_56","_hoisted_59","word","index","deletable","dragging","onMouseover","onMouseleave","onMousemove","onTouchstart","placeholder","$event","onInput","rows","_hoisted_63","accept","push","defaultWord","gDefault","_hoisted_1","_createVNode","_component_OptionBox","json","affRoot","code","onSendMessage","whitelist","cData","concat","arDegree","refEff","refPersp","c","root","stem","spec","func","ver","shcut","rel","disabled","Vafx","aff6","VIIafx","plex","simil","cctd","affil","ext","persp","ess","modAppliesTo","modNumber","cn","mood","casc","_hoisted_4","vn","val","vn2","pha","eff","lvl","asp","vn3","_hoisted_6","vh","wordType","modScope","v4n","suppType","ctxt","show","ill","vld","affixjunct","reqAff","initialAffScope","otherAffScope","affScopeOf","register","regStartOrEnd","refAffix","twoCs","twoRefs","bias","freeType","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_24","_hoisted_25","_hoisted_27","_hoisted_30","_hoisted_31","_hoisted_34","_hoisted_35","_hoisted_40","_hoisted_41","_hoisted_45","value","_hoisted_75","_hoisted_79","$emit","$props","maxlength","affix","calc6","_hoisted_58","pop","opt","short","affixes","every","e","_hoisted_70","_hoisted_73","text","_hoisted_74","_hoisted_77","split","x","toLowerCase","y","_hoisted_78","_hoisted_81","_hoisted_82","_hoisted_66","props","String","Boolean","Array","Function","data","computed","OBclass","error","this","disabledbox","notShown","mounted","methods","updateValue","toUpdate","i","waitForElm","then","elm","console","log","document","getElementById","selectedIndex","idx","dAffil","dPlex","dSimil","dCctd","dExt","dEss","dPersp","selector","Promise","resolve","querySelector","observer","MutationObserver","disconnect","observe","body","childList","subtree","__exports__","components","OptionBox","Number","watch","arr","updateFromModal","str","switchWordType","obj","property","ithkword","ipa","gloss","fullGloss","grammardata","consdata","sVowels","ipaLookup","shortcutting","shcuttypeA","shcuttypeB","slotVIIshortcut","sDip","sAccent","slots","cut","cascOrMood","eightSix","allographs","tabGroups","async","outval","gCode","replaceAll","afx","calculateWord","IPAcalcs","glossCalcs","calculateAdjunct","notAvailableAlert","al","alert","openModal","reference","output","calculateSlot9","slot9gStop","afxjunctV","afxjunctC","finalvowel","ll","allowedAtEnd","out","lll","k","allowedAtStart","recalcVowels","markStress","ph","calculateSlot8a","calculateSlot8b","asp4","refA","calculateReference","ess2","gla","refGloss","c1","c2","refB","ref2","refEff2","refPersp2","glb","charAt","calculateEJ","Aref","q","p","assign","refAff","pph","consAllowed","calculateSlot3","calculateSlot4","calculateSlot6","shortcutCalcs","calculateSlot1","calculateSlot2","calculateSlot5","calculateSlot7","finalCalcs","phh","lastVII","vowelColumn","insertGStop","j","aff","iAffil","iPlex","iSimil","iCctd","iExt","iEss","iPersp","AFFIL","CONF","EXT","PSPESS","ph1","key1","replace","ph2","key2","oldOut","geminate","prototype","hasOwnProperty","call","l","num","override","ca","pphh","cfound","vowels","endOfWord","getCons","tags","outp","element","removeDuplicate","strin","prevChar","char","consonants","nogem","ra","rb","da","db","dc","dab","qa","qb","qc","qd","lastCons","nogem2","eba","ebb","eca","ecb","ecc","eda","edb","edc","edbc","edd","conson","a","b","stressType","thisword","counter","conscl","wordVowels","match","substring","slot9saved","s8","shortenSlot8","join","cutVal","configgCode","s2c","viaf","s4c","affx","configCode","s6c","s8c","s9c","fullPut","skipnext","values","prevchar","parseInt","nextchar","vwl","find","resetWord","gO","beforeMount","ej","s2","Ithkuil_v4","Ithkuil_v3","langVer","modalListen","modalContent","modalID","modalTabs","gSOptions","casePopupTitle","SRtabGroups","REFtabGroups","sentenceOpen","deleteWordMode","oldScreenSize","hovering","isMouseDown","draggedWord","settingsClone","tGroupFound","tG","display","changeClassTab","closeModal","openDropdown","classList","toggle","closeDropdown","add","path","scrollToTop","scrollTo","cStart","cEnd","cTitle","tablinks","getElementsByClassName","className","concatenateSentence","sent","openNav","window","innerWidth","closeNav","width","marginRight","right","switchWord","confirm","splice","onScreenResize","hoverChange","sW","height","onMouseDownF","onMouseUpF","beginDrag","resizeTA","scrollHeight","copytoCB","navigator","clipboard","writeText","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","cookie","getCookie","decodedCookie","decodeURIComponent","deleteCookie","handleImportedWord","snt","wID","gopt","uploadJSON","files","reader","FileReader","readAsText","onload","result","exportToJsonFile","jsonData","dataStr","dataUri","encodeURIComponent","exportFileDefaultName","linkElement","createElement","setAttribute","click","openFileDialog","unshift","directives","clickOutside","vClickOutside","created","urlParams","URLSearchParams","location","search","has","get","addEventListener","unmounted","removeEventListener","render","ready","registered","cached","updatefound","updated","offline","createApp","App","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","r","n","getter","__esModule","definition","o","defineProperty","enumerable","globalThis","prop","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/chunk-vendors.4bdafb4a.js b/dist/js/chunk-vendors.4bdafb4a.js new file mode 100644 index 0000000..d7cc45e --- /dev/null +++ b/dist/js/chunk-vendors.4bdafb4a.js @@ -0,0 +1,2 @@ +(self["webpackChunkithkapp"]=self["webpackChunkithkapp"]||[]).push([[998],{870:function(e,t,n){"use strict";n.d(t,{Bj:function(){return i},Fl:function(){return Ue},IU:function(){return Ee},Jd:function(){return x},PG:function(){return Ce},Um:function(){return ke},WL:function(){return Je},X$:function(){return R},X3:function(){return Re},Xl:function(){return Ie},dq:function(){return Pe},j:function(){return S},lk:function(){return C},qj:function(){return be},qq:function(){return _},yT:function(){return Te}});var r=n(139);let o;class i{constructor(e=!1){this.active=!0,this.effects=[],this.cleanups=[],!e&&o&&(this.parent=o,this.index=(o.scopes||(o.scopes=[])).push(this)-1)}run(e){if(this.active){const t=o;try{return o=this,e()}finally{o=t}}else 0}on(){o=this}off(){o=this.parent}stop(e){if(this.active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},c=e=>(e.w&h)>0,u=e=>(e.n&h)>0,a=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{("length"===t||t>=o)&&u.push(e)}));else switch(void 0!==n&&u.push(c.get(n)),t){case"add":(0,r.kJ)(e)?(0,r.S0)(n)&&u.push(c.get("length")):(u.push(c.get(g)),(0,r._N)(e)&&u.push(c.get(y)));break;case"delete":(0,r.kJ)(e)||(u.push(c.get(g)),(0,r._N)(e)&&u.push(c.get(y)));break;case"set":(0,r._N)(e)&&u.push(c.get(g));break}if(1===u.length)u[0]&&E(u[0]);else{const e=[];for(const t of u)t&&e.push(...t);E(l(e))}}function E(e,t){const n=(0,r.kJ)(e)?e:[...e];for(const r of n)r.computed&&I(r,t);for(const r of n)r.computed||I(r,t)}function I(e,t){(e!==m||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const A=(0,r.fY)("__proto__,__v_isRef,__isVue"),O=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(r.yk)),F=J(),j=J(!1,!0),P=J(!0),M=N();function N(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=Ee(this);for(let t=0,o=this.length;t{e[t]=function(...e){x();const n=Ee(this)[t].apply(this,e);return C(),n}})),e}function J(e=!1,t=!1){return function(n,o,i){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&i===(e?t?ge:me:t?ve:he).get(n))return n;const s=(0,r.kJ)(n);if(!e&&s&&(0,r.RI)(M,o))return Reflect.get(M,o,i);const l=Reflect.get(n,o,i);return((0,r.yk)(o)?O.has(o):A(o))?l:(e||S(n,"get",o),t?l:Pe(l)?s&&(0,r.S0)(o)?l:l.value:(0,r.Kn)(l)?e?we(l):be(l):l)}}const L=$(),U=$(!0);function $(e=!1){return function(t,n,o,i){let s=t[n];if(Se(s)&&Pe(s)&&!Pe(o))return!1;if(!e&&!Se(o)&&(Te(o)||(o=Ee(o),s=Ee(s)),!(0,r.kJ)(t)&&Pe(s)&&!Pe(o)))return s.value=o,!0;const l=(0,r.kJ)(t)&&(0,r.S0)(n)?Number(n)e,G=e=>Reflect.getPrototypeOf(e);function z(e,t,n=!1,r=!1){e=e["__v_raw"];const o=Ee(e),i=Ee(t);n||(t!==i&&S(o,"get",t),S(o,"get",i));const{has:s}=G(o),l=r?K:n?Oe:Ae;return s.call(o,t)?l(e.get(t)):s.call(o,i)?l(e.get(i)):void(e!==o&&e.get(t))}function X(e,t=!1){const n=this["__v_raw"],r=Ee(n),o=Ee(e);return t||(e!==o&&S(r,"has",e),S(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Z(e,t=!1){return e=e["__v_raw"],!t&&S(Ee(e),"iterate",g),Reflect.get(e,"size",e)}function Y(e){e=Ee(e);const t=Ee(this),n=G(t),r=n.has.call(t,e);return r||(t.add(e),R(t,"add",e,e)),this}function Q(e,t){t=Ee(t);const n=Ee(this),{has:o,get:i}=G(n);let s=o.call(n,e);s||(e=Ee(e),s=o.call(n,e));const l=i.call(n,e);return n.set(e,t),s?(0,r.aU)(t,l)&&R(n,"set",e,t,l):R(n,"add",e,t),this}function ee(e){const t=Ee(this),{has:n,get:r}=G(t);let o=n.call(t,e);o||(e=Ee(e),o=n.call(t,e));const i=r?r.call(t,e):void 0,s=t.delete(e);return o&&R(t,"delete",e,void 0,i),s}function te(){const e=Ee(this),t=0!==e.size,n=void 0,r=e.clear();return t&&R(e,"clear",void 0,void 0,n),r}function ne(e,t){return function(n,r){const o=this,i=o["__v_raw"],s=Ee(i),l=t?K:e?Oe:Ae;return!e&&S(s,"iterate",g),i.forEach(((e,t)=>n.call(r,l(e),l(t),o)))}}function re(e,t,n){return function(...o){const i=this["__v_raw"],s=Ee(i),l=(0,r._N)(s),c="entries"===e||e===Symbol.iterator&&l,u="keys"===e&&l,a=i[e](...o),f=n?K:t?Oe:Ae;return!t&&S(s,"iterate",u?y:g),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:c?[f(e[0]),f(e[1])]:f(e),done:t}},[Symbol.iterator](){return this}}}}function oe(e){return function(...t){return"delete"!==e&&this}}function ie(){const e={get(e){return z(this,e)},get size(){return Z(this)},has:X,add:Y,set:Q,delete:ee,clear:te,forEach:ne(!1,!1)},t={get(e){return z(this,e,!1,!0)},get size(){return Z(this)},has:X,add:Y,set:Q,delete:ee,clear:te,forEach:ne(!1,!0)},n={get(e){return z(this,e,!0)},get size(){return Z(this,!0)},has(e){return X.call(this,e,!0)},add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear"),forEach:ne(!0,!1)},r={get(e){return z(this,e,!0,!0)},get size(){return Z(this,!0)},has(e){return X.call(this,e,!0)},add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear"),forEach:ne(!0,!0)},o=["keys","values","entries",Symbol.iterator];return o.forEach((o=>{e[o]=re(o,!1,!1),n[o]=re(o,!0,!1),t[o]=re(o,!1,!0),r[o]=re(o,!0,!0)})),[e,n,t,r]}const[se,le,ce,ue]=ie();function ae(e,t){const n=t?e?ue:ce:e?le:se;return(t,o,i)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get((0,r.RI)(n,o)&&o in t?n:t,o,i)}const fe={get:ae(!1,!1)},de={get:ae(!1,!0)},pe={get:ae(!0,!1)};const he=new WeakMap,ve=new WeakMap,me=new WeakMap,ge=new WeakMap;function ye(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _e(e){return e["__v_skip"]||!Object.isExtensible(e)?0:ye((0,r.W7)(e))}function be(e){return Se(e)?e:xe(e,!1,H,fe,he)}function ke(e){return xe(e,!1,q,de,ve)}function we(e){return xe(e,!0,W,pe,me)}function xe(e,t,n,o,i){if(!(0,r.Kn)(e))return e;if(e["__v_raw"]&&(!t||!e["__v_isReactive"]))return e;const s=i.get(e);if(s)return s;const l=_e(e);if(0===l)return e;const c=new Proxy(e,2===l?o:n);return i.set(e,c),c}function Ce(e){return Se(e)?Ce(e["__v_raw"]):!(!e||!e["__v_isReactive"])}function Se(e){return!(!e||!e["__v_isReadonly"])}function Te(e){return!(!e||!e["__v_isShallow"])}function Re(e){return Ce(e)||Se(e)}function Ee(e){const t=e&&e["__v_raw"];return t?Ee(t):e}function Ie(e){return(0,r.Nj)(e,"__v_skip",!0),e}const Ae=e=>(0,r.Kn)(e)?be(e):e,Oe=e=>(0,r.Kn)(e)?we(e):e;function Fe(e){k&&m&&(e=Ee(e),T(e.dep||(e.dep=l())))}function je(e,t){e=Ee(e),e.dep&&E(e.dep)}function Pe(e){return!(!e||!0!==e.__v_isRef)}function Me(e){return Pe(e)?e.value:e}const Ne={get:(e,t,n)=>Me(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Pe(o)&&!Pe(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Je(e){return Ce(e)?e:new Proxy(e,Ne)}class Le{constructor(e,t,n,r){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new _(e,(()=>{this._dirty||(this._dirty=!0,je(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const e=Ee(this);return Fe(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function Ue(e,t,n=!1){let o,i;const s=(0,r.mf)(e);s?(o=e,i=r.dG):(o=e.get,i=e.set);const l=new Le(o,i,s||!i,n);return l}},396:function(e,t,n){"use strict";n.d(t,{$d:function(){return s},Cn:function(){return D},FN:function(){return _n},HY:function(){return Jt},Ko:function(){return We},P$:function(){return ce},Q2:function(){return Ve},Q6:function(){return he},U2:function(){return ae},Uk:function(){return ln},Us:function(){return Ot},Wm:function(){return nn},Y8:function(){return ie},_:function(){return tn},dD:function(){return $},h:function(){return Nn},iD:function(){return Gt},ic:function(){return Ie},j4:function(){return zt},kq:function(){return un},nK:function(){return pe},uE:function(){return cn},up:function(){return $e},wg:function(){return Bt},wy:function(){return Ne}});var r=n(870),o=n(139);function i(e,t,n,r){let o;try{o=r?e(...r):e()}catch(i){l(i,t,n)}return o}function s(e,t,n,r){if((0,o.mf)(e)){const s=i(e,t,n,r);return s&&(0,o.tI)(s)&&s.catch((e=>{l(e,t,n)})),s}const c=[];for(let o=0;o>>1,o=F(f[r]);od&&f.splice(t,1)}function R(e,t,n,r){(0,o.kJ)(e)?n.push(...e):t&&t.includes(e,e.allowRecurse?r+1:r)||n.push(e),S()}function E(e){R(e,h,p,v)}function I(e){R(e,g,m,y)}function A(e,t=null){if(p.length){for(k=t,h=[...new Set(p)],p.length=0,v=0;vF(e)-F(t))),y=0;ynull==e.id?1/0:e.id;function j(e){a=!1,u=!0,A(e),f.sort(((e,t)=>F(e)-F(t)));o.dG;try{for(d=0;de.trim()))),t&&(i=n.map(o.He))}let u;let a=r[u=(0,o.hR)(t)]||r[u=(0,o.hR)((0,o._A)(t))];!a&&l&&(a=r[u=(0,o.hR)((0,o.rs)(t))]),a&&s(a,e,6,i);const f=r[u+"Once"];if(f){if(e.emitted){if(e.emitted[u])return}else e.emitted={};e.emitted[u]=!0,s(f,e,6,i)}}function M(e,t,n=!1){const r=t.emitsCache,i=r.get(e);if(void 0!==i)return i;const s=e.emits;let l={},c=!1;if(!(0,o.mf)(e)){const r=e=>{const n=M(e,t,!0);n&&(c=!0,(0,o.l7)(l,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return s||c?((0,o.kJ)(s)?s.forEach((e=>l[e]=null)):(0,o.l7)(l,s),r.set(e,l),l):(r.set(e,null),null)}function N(e,t){return!(!e||!(0,o.F7)(t))&&(t=t.slice(2).replace(/Once$/,""),(0,o.RI)(e,t[0].toLowerCase()+t.slice(1))||(0,o.RI)(e,(0,o.rs)(t))||(0,o.RI)(e,t))}let J=null,L=null;function U(e){const t=J;return J=e,L=e&&e.type.__scopeId||null,t}function $(e){L=e}function D(){L=null}function V(e,t=J,n){if(!t)return e;if(e._n)return e;const r=(...n)=>{r._d&&qt(-1);const o=U(t),i=e(...n);return U(o),r._d&&qt(1),i};return r._n=!0,r._c=!0,r._d=!0,r}function B(e){const{type:t,vnode:n,proxy:r,withProxy:i,props:s,propsOptions:[c],slots:u,attrs:a,emit:f,render:d,renderCache:p,data:h,setupState:v,ctx:m,inheritAttrs:g}=e;let y,_;const b=U(e);try{if(4&n.shapeFlag){const e=i||r;y=an(d.call(e,e,p,s,v,h,m)),_=a}else{const e=t;0,y=an(e.length>1?e(s,{attrs:a,slots:u,emit:f}):e(s,null)),_=t.props?a:H(a)}}catch(w){Dt.length=0,l(w,e,1),y=nn(Ut)}let k=y;if(_&&!1!==g){const e=Object.keys(_),{shapeFlag:t}=k;e.length&&7&t&&(c&&e.some(o.tR)&&(_=W(_,c)),k=sn(k,_))}return n.dirs&&(k=sn(k),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition&&(k.transition=n.transition),y=k,U(b),y}const H=e=>{let t;for(const n in e)("class"===n||"style"===n||(0,o.F7)(n))&&((t||(t={}))[n]=e[n]);return t},W=(e,t)=>{const n={};for(const r in e)(0,o.tR)(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function q(e,t,n){const{props:r,children:o,component:i}=e,{props:s,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&c>=0))return!(!o&&!l||l&&l.$stable)||r!==s&&(r?!s||K(r,s,u):!!s);if(1024&c)return!0;if(16&c)return r?K(r,s,u):!!s;if(8&c){const e=t.dynamicProps;for(let t=0;te.__isSuspense;function X(e,t){t&&t.pendingBranch?(0,o.kJ)(e)?t.effects.push(...e):t.effects.push(e):I(e)}function Z(e,t){if(yn){let n=yn.provides;const r=yn.parent&&yn.parent.provides;r===n&&(n=yn.provides=Object.create(r)),n[e]=t}else 0}function Y(e,t,n=!1){const r=yn||J;if(r){const i=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&(0,o.mf)(t)?t.call(r.proxy):t}else 0}const Q={};function ee(e,t,n){return te(e,t,n)}function te(e,t,{immediate:n,deep:l,flush:c,onTrack:u,onTrigger:a}=o.kT){const f=yn;let d,p,h=!1,v=!1;if((0,r.dq)(e)?(d=()=>e.value,h=(0,r.yT)(e)):(0,r.PG)(e)?(d=()=>e,l=!0):(0,o.kJ)(e)?(v=!0,h=e.some((e=>(0,r.PG)(e)||(0,r.yT)(e))),d=()=>e.map((e=>(0,r.dq)(e)?e.value:(0,r.PG)(e)?oe(e):(0,o.mf)(e)?i(e,f,2):void 0))):d=(0,o.mf)(e)?t?()=>i(e,f,2):()=>{if(!f||!f.isUnmounted)return p&&p(),s(e,f,3,[m])}:o.dG,t&&l){const e=d;d=()=>oe(e())}let m=e=>{p=b.onStop=()=>{i(e,f,4)}};if(Sn)return m=o.dG,t?n&&s(t,f,3,[d(),v?[]:void 0,m]):d(),o.dG;let g=v?[]:Q;const y=()=>{if(b.active)if(t){const e=b.run();(l||h||(v?e.some(((e,t)=>(0,o.aU)(e,g[t]))):(0,o.aU)(e,g)))&&(p&&p(),s(t,f,3,[e,g===Q?void 0:g,m]),g=e)}else b.run()};let _;y.allowRecurse=!!t,_="sync"===c?y:"post"===c?()=>At(y,f&&f.suspense):()=>E(y);const b=new r.qq(d,_);return t?n?y():g=b.run():"post"===c?At(b.run.bind(b),f&&f.suspense):b.run(),()=>{b.stop(),f&&f.scope&&(0,o.Od)(f.scope.effects,b)}}function ne(e,t,n){const r=this.proxy,i=(0,o.HD)(e)?e.includes(".")?re(r,e):()=>r[e]:e.bind(r,r);let s;(0,o.mf)(t)?s=t:(s=t.handler,n=t);const l=yn;bn(this);const c=te(i,s.bind(r),n);return l?bn(l):kn(),c}function re(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{oe(e,t)}));else if((0,o.PO)(e))for(const n in e)oe(e[n],t);return e}function ie(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Re((()=>{e.isMounted=!0})),Ae((()=>{e.isUnmounting=!0})),e}const se=[Function,Array],le={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:se,onEnter:se,onAfterEnter:se,onEnterCancelled:se,onBeforeLeave:se,onLeave:se,onAfterLeave:se,onLeaveCancelled:se,onBeforeAppear:se,onAppear:se,onAfterAppear:se,onAppearCancelled:se},setup(e,{slots:t}){const n=_n(),o=ie();let i;return()=>{const s=t.default&&he(t.default(),!0);if(!s||!s.length)return;let l=s[0];if(s.length>1){let e=!1;for(const t of s)if(t.type!==Ut){0,l=t,e=!0;break}}const c=(0,r.IU)(e),{mode:u}=c;if(o.isLeaving)return fe(l);const a=de(l);if(!a)return fe(l);const f=ae(a,c,o,n);pe(a,f);const d=n.subTree,p=d&&de(d);let h=!1;const{getTransitionKey:v}=a.type;if(v){const e=v();void 0===i?i=e:e!==i&&(i=e,h=!0)}if(p&&p.type!==Ut&&(!Zt(a,p)||h)){const e=ae(p,c,o,n);if(pe(p,e),"out-in"===u)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,n.update()},fe(l);"in-out"===u&&a.type!==Ut&&(e.delayLeave=(e,t,n)=>{const r=ue(o,p);r[String(p.key)]=p,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete f.delayedLeave},f.delayedLeave=n})}return l}}},ce=le;function ue(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ae(e,t,n,r){const{appear:i,mode:l,persisted:c=!1,onBeforeEnter:u,onEnter:a,onAfterEnter:f,onEnterCancelled:d,onBeforeLeave:p,onLeave:h,onAfterLeave:v,onLeaveCancelled:m,onBeforeAppear:g,onAppear:y,onAfterAppear:_,onAppearCancelled:b}=t,k=String(e.key),w=ue(n,e),x=(e,t)=>{e&&s(e,r,9,t)},C=(e,t)=>{const n=t[1];x(e,t),(0,o.kJ)(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},S={mode:l,persisted:c,beforeEnter(t){let r=u;if(!n.isMounted){if(!i)return;r=g||u}t._leaveCb&&t._leaveCb(!0);const o=w[k];o&&Zt(e,o)&&o.el._leaveCb&&o.el._leaveCb(),x(r,[t])},enter(e){let t=a,r=f,o=d;if(!n.isMounted){if(!i)return;t=y||a,r=_||f,o=b||d}let s=!1;const l=e._enterCb=t=>{s||(s=!0,x(t?o:r,[e]),S.delayedLeave&&S.delayedLeave(),e._enterCb=void 0)};t?C(t,[e,l]):l()},leave(t,r){const o=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return r();x(p,[t]);let i=!1;const s=t._leaveCb=n=>{i||(i=!0,r(),x(n?m:v,[t]),t._leaveCb=void 0,w[o]===e&&delete w[o])};w[o]=e,h?C(h,[t,s]):s()},clone(e){return ae(e,t,n,r)}};return S}function fe(e){if(me(e))return e=sn(e),e.children=null,e}function de(e){return me(e)?e.children?e.children[0]:void 0:e}function pe(e,t){6&e.shapeFlag&&e.component?pe(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function he(e,t=!1,n){let r=[],o=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader;const me=e=>e.type.__isKeepAlive;RegExp,RegExp;function ge(e,t){return(0,o.kJ)(e)?e.some((e=>ge(e,t))):(0,o.HD)(e)?e.split(",").includes(t):!!e.test&&e.test(t)}function ye(e,t){be(e,"a",t)}function _e(e,t){be(e,"da",t)}function be(e,t,n=yn){const r=e.__wdc||(e.__wdc=()=>{let t=n;while(t){if(t.isDeactivated)return;t=t.parent}return e()});if(Ce(t,r,n),n){let e=n.parent;while(e&&e.parent)me(e.parent.vnode)&&ke(r,t,n,e),e=e.parent}}function ke(e,t,n,r){const i=Ce(t,e,r,!0);Oe((()=>{(0,o.Od)(r[t],i)}),n)}function we(e){let t=e.shapeFlag;256&t&&(t-=256),512&t&&(t-=512),e.shapeFlag=t}function xe(e){return 128&e.shapeFlag?e.ssContent:e}function Ce(e,t,n=yn,o=!1){if(n){const i=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;(0,r.Jd)(),bn(n);const i=s(t,n,e,o);return kn(),(0,r.lk)(),i});return o?i.unshift(l):i.push(l),l}}const Se=e=>(t,n=yn)=>(!Sn||"sp"===e)&&Ce(e,t,n),Te=Se("bm"),Re=Se("m"),Ee=Se("bu"),Ie=Se("u"),Ae=Se("bum"),Oe=Se("um"),Fe=Se("sp"),je=Se("rtg"),Pe=Se("rtc");function Me(e,t=yn){Ce("ec",e,t)}function Ne(e,t){const n=J;if(null===n)return e;const r=Fn(n)||n.proxy,i=e.dirs||(e.dirs=[]);for(let s=0;st(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);i=new Array(n.length);for(let r=0,o=n.length;re?wn(e)?Fn(e)||e.proxy:qe(e.parent):null,Ke=(0,o.l7)(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>qe(e.parent),$root:e=>qe(e.root),$emit:e=>e.emit,$options:e=>et(e),$forceUpdate:e=>e.f||(e.f=()=>C(e.update)),$nextTick:e=>e.n||(e.n=w.bind(e.proxy)),$watch:e=>ne.bind(e)}),Ge={get({_:e},t){const{ctx:n,setupState:i,data:s,props:l,accessCache:c,type:u,appContext:a}=e;let f;if("$"!==t[0]){const r=c[t];if(void 0!==r)switch(r){case 1:return i[t];case 2:return s[t];case 4:return n[t];case 3:return l[t]}else{if(i!==o.kT&&(0,o.RI)(i,t))return c[t]=1,i[t];if(s!==o.kT&&(0,o.RI)(s,t))return c[t]=2,s[t];if((f=e.propsOptions[0])&&(0,o.RI)(f,t))return c[t]=3,l[t];if(n!==o.kT&&(0,o.RI)(n,t))return c[t]=4,n[t];ze&&(c[t]=0)}}const d=Ke[t];let p,h;return d?("$attrs"===t&&(0,r.j)(e,"get",t),d(e)):(p=u.__cssModules)&&(p=p[t])?p:n!==o.kT&&(0,o.RI)(n,t)?(c[t]=4,n[t]):(h=a.config.globalProperties,(0,o.RI)(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:r,setupState:i,ctx:s}=e;return i!==o.kT&&(0,o.RI)(i,t)?(i[t]=n,!0):r!==o.kT&&(0,o.RI)(r,t)?(r[t]=n,!0):!(0,o.RI)(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:s}},l){let c;return!!n[l]||e!==o.kT&&(0,o.RI)(e,l)||t!==o.kT&&(0,o.RI)(t,l)||(c=s[0])&&(0,o.RI)(c,l)||(0,o.RI)(r,l)||(0,o.RI)(Ke,l)||(0,o.RI)(i.config.globalProperties,l)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:(0,o.RI)(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let ze=!0;function Xe(e){const t=et(e),n=e.proxy,i=e.ctx;ze=!1,t.beforeCreate&&Ye(t.beforeCreate,e,"bc");const{data:s,computed:l,methods:c,watch:u,provide:a,inject:f,created:d,beforeMount:p,mounted:h,beforeUpdate:v,updated:m,activated:g,deactivated:y,beforeDestroy:_,beforeUnmount:b,destroyed:k,unmounted:w,render:x,renderTracked:C,renderTriggered:S,errorCaptured:T,serverPrefetch:R,expose:E,inheritAttrs:I,components:A,directives:O,filters:F}=t,j=null;if(f&&Ze(f,i,j,e.appContext.config.unwrapInjectedRef),c)for(const r in c){const e=c[r];(0,o.mf)(e)&&(i[r]=e.bind(n))}if(s){0;const t=s.call(n,n);0,(0,o.Kn)(t)&&(e.data=(0,r.qj)(t))}if(ze=!0,l)for(const r in l){const e=l[r],t=(0,o.mf)(e)?e.bind(n,n):(0,o.mf)(e.get)?e.get.bind(n,n):o.dG;0;const s=!(0,o.mf)(e)&&(0,o.mf)(e.set)?e.set.bind(n):o.dG,c=Mn({get:t,set:s});Object.defineProperty(i,r,{enumerable:!0,configurable:!0,get:()=>c.value,set:e=>c.value=e})}if(u)for(const r in u)Qe(u[r],i,n,r);if(a){const e=(0,o.mf)(a)?a.call(n):a;Reflect.ownKeys(e).forEach((t=>{Z(t,e[t])}))}function P(e,t){(0,o.kJ)(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(d&&Ye(d,e,"c"),P(Te,p),P(Re,h),P(Ee,v),P(Ie,m),P(ye,g),P(_e,y),P(Me,T),P(Pe,C),P(je,S),P(Ae,b),P(Oe,w),P(Fe,R),(0,o.kJ)(E))if(E.length){const t=e.exposed||(e.exposed={});E.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});x&&e.render===o.dG&&(e.render=x),null!=I&&(e.inheritAttrs=I),A&&(e.components=A),O&&(e.directives=O)}function Ze(e,t,n=o.dG,i=!1){(0,o.kJ)(e)&&(e=it(e));for(const s in e){const n=e[s];let l;l=(0,o.Kn)(n)?"default"in n?Y(n.from||s,n.default,!0):Y(n.from||s):Y(n),(0,r.dq)(l)&&i?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>l.value,set:e=>l.value=e}):t[s]=l}}function Ye(e,t,n){s((0,o.kJ)(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Qe(e,t,n,r){const i=r.includes(".")?re(n,r):()=>n[r];if((0,o.HD)(e)){const n=t[e];(0,o.mf)(n)&&ee(i,n)}else if((0,o.mf)(e))ee(i,e.bind(n));else if((0,o.Kn)(e))if((0,o.kJ)(e))e.forEach((e=>Qe(e,t,n,r)));else{const r=(0,o.mf)(e.handler)?e.handler.bind(n):t[e.handler];(0,o.mf)(r)&&ee(i,r,e)}else 0}function et(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,l=i.get(t);let c;return l?c=l:o.length||n||r?(c={},o.length&&o.forEach((e=>tt(c,e,s,!0))),tt(c,t,s)):c=t,i.set(t,c),c}function tt(e,t,n,r=!1){const{mixins:o,extends:i}=t;i&&tt(e,i,n,!0),o&&o.forEach((t=>tt(e,t,n,!0)));for(const s in t)if(r&&"expose"===s);else{const r=nt[s]||n&&n[s];e[s]=r?r(e[s],t[s]):t[s]}return e}const nt={data:rt,props:lt,emits:lt,methods:lt,computed:lt,beforeCreate:st,created:st,beforeMount:st,mounted:st,beforeUpdate:st,updated:st,beforeDestroy:st,beforeUnmount:st,destroyed:st,unmounted:st,activated:st,deactivated:st,errorCaptured:st,serverPrefetch:st,components:lt,directives:lt,watch:ct,provide:rt,inject:ot};function rt(e,t){return t?e?function(){return(0,o.l7)((0,o.mf)(e)?e.call(this,this):e,(0,o.mf)(t)?t.call(this,this):t)}:t:e}function ot(e,t){return lt(it(e),it(t))}function it(e){if((0,o.kJ)(e)){const t={};for(let n=0;n0)||16&c){let r;ft(e,t,s,l)&&(f=!0);for(const i in u)t&&((0,o.RI)(t,i)||(r=(0,o.rs)(i))!==i&&(0,o.RI)(t,r))||(a?!n||void 0===n[i]&&void 0===n[r]||(s[i]=dt(a,u,i,void 0,e,!0)):delete s[i]);if(l!==u)for(const e in l)t&&(0,o.RI)(t,e)||(delete l[e],f=!0)}else if(8&c){const n=e.vnode.dynamicProps;for(let r=0;r{u=!0;const[n,r]=pt(e,t,!0);(0,o.l7)(l,n),r&&c.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!s&&!u)return r.set(e,o.Z6),o.Z6;if((0,o.kJ)(s))for(let f=0;f-1,r[1]=n<0||e-1||(0,o.RI)(r,"default"))&&c.push(t)}}}}const a=[l,c];return r.set(e,a),a}function ht(e){return"$"!==e[0]}function vt(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:null===e?"null":""}function mt(e,t){return vt(e)===vt(t)}function gt(e,t){return(0,o.kJ)(t)?t.findIndex((t=>mt(t,e))):(0,o.mf)(t)&&mt(t,e)?0:-1}const yt=e=>"_"===e[0]||"$stable"===e,_t=e=>(0,o.kJ)(e)?e.map(an):[an(e)],bt=(e,t,n)=>{if(t._n)return t;const r=V(((...e)=>_t(t(...e))),n);return r._c=!1,r},kt=(e,t,n)=>{const r=e._ctx;for(const i in e){if(yt(i))continue;const n=e[i];if((0,o.mf)(n))t[i]=bt(i,n,r);else if(null!=n){0;const e=_t(n);t[i]=()=>e}}},wt=(e,t)=>{const n=_t(t);e.slots.default=()=>n},xt=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=(0,r.IU)(t),(0,o.Nj)(t,"_",n)):kt(t,e.slots={})}else e.slots={},t&&wt(e,t);(0,o.Nj)(e.slots,Yt,1)},Ct=(e,t,n)=>{const{vnode:r,slots:i}=e;let s=!0,l=o.kT;if(32&r.shapeFlag){const e=t._;e?n&&1===e?s=!1:((0,o.l7)(i,t),n||1!==e||delete i._):(s=!t.$stable,kt(t,i)),l=t}else t&&(wt(e,t),l={default:1});if(s)for(const o in i)yt(o)||o in l||delete i[o]};function St(){return{app:null,config:{isNativeTag:o.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Tt=0;function Rt(e,t){return function(n,r=null){(0,o.mf)(n)||(n=Object.assign({},n)),null==r||(0,o.Kn)(r)||(r=null);const i=St(),s=new Set;let l=!1;const c=i.app={_uid:Tt++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:Jn,get config(){return i.config},set config(e){0},use(e,...t){return s.has(e)||(e&&(0,o.mf)(e.install)?(s.add(e),e.install(c,...t)):(0,o.mf)(e)&&(s.add(e),e(c,...t))),c},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),c},component(e,t){return t?(i.components[e]=t,c):i.components[e]},directive(e,t){return t?(i.directives[e]=t,c):i.directives[e]},mount(o,s,u){if(!l){0;const a=nn(n,r);return a.appContext=i,s&&t?t(a,o):e(a,o,u),l=!0,c._container=o,o.__vue_app__=c,Fn(a.component)||a.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(e,t){return i.provides[e]=t,c}};return c}}function Et(e,t,n,s,l=!1){if((0,o.kJ)(e))return void e.forEach(((e,r)=>Et(e,t&&((0,o.kJ)(t)?t[r]:t),n,s,l)));if(ve(s)&&!l)return;const c=4&s.shapeFlag?Fn(s.component)||s.component.proxy:s.el,u=l?null:c,{i:a,r:f}=e;const d=t&&t.r,p=a.refs===o.kT?a.refs={}:a.refs,h=a.setupState;if(null!=d&&d!==f&&((0,o.HD)(d)?(p[d]=null,(0,o.RI)(h,d)&&(h[d]=null)):(0,r.dq)(d)&&(d.value=null)),(0,o.mf)(f))i(f,a,12,[u,p]);else{const t=(0,o.HD)(f),i=(0,r.dq)(f);if(t||i){const i=()=>{if(e.f){const n=t?p[f]:f.value;l?(0,o.kJ)(n)&&(0,o.Od)(n,c):(0,o.kJ)(n)?n.includes(c)||n.push(c):t?(p[f]=[c],(0,o.RI)(h,f)&&(h[f]=p[f])):(f.value=[c],e.k&&(p[e.k]=f.value))}else t?(p[f]=u,(0,o.RI)(h,f)&&(h[f]=u)):(0,r.dq)(f)&&(f.value=u,e.k&&(p[e.k]=u))};u?(i.id=-1,At(i,n)):i()}else 0}}function It(){}const At=X;function Ot(e){return Ft(e)}function Ft(e,t){It();const n=(0,o.E9)();n.__VUE__=!0;const{insert:i,remove:s,patchProp:l,createElement:c,createText:u,createComment:a,setText:f,setElementText:d,parentNode:p,nextSibling:h,setScopeId:v=o.dG,cloneNode:m,insertStaticContent:g}=e,y=(e,t,n,r=null,o=null,i=null,s=!1,l=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Zt(e,t)&&(r=Q(e),K(e,o,i,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:u,ref:a,shapeFlag:f}=t;switch(u){case Lt:_(e,t,n,r);break;case Ut:b(e,t,n,r);break;case $t:null==e&&k(t,n,r,s);break;case Jt:M(e,t,n,r,o,i,s,l,c);break;default:1&f?S(e,t,n,r,o,i,s,l,c):6&f?N(e,t,n,r,o,i,s,l,c):(64&f||128&f)&&u.process(e,t,n,r,o,i,s,l,c,te)}null!=a&&o&&Et(a,e&&e.ref,i,t||e,!t)},_=(e,t,n,r)=>{if(null==e)i(t.el=u(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{null==e?i(t.el=a(t.children||""),n,r):t.el=e.el},k=(e,t,n,r)=>{[e.el,e.anchor]=g(e.children,t,n,r,e.el,e.anchor)},w=({el:e,anchor:t},n,r)=>{let o;while(e&&e!==t)o=h(e),i(e,n,r),e=o;i(t,n,r)},x=({el:e,anchor:t})=>{let n;while(e&&e!==t)n=h(e),s(e),e=n;s(t)},S=(e,t,n,r,o,i,s,l,c)=>{s=s||"svg"===t.type,null==e?R(t,n,r,o,i,s,l,c):F(e,t,o,i,s,l,c)},R=(e,t,n,r,s,u,a,f)=>{let p,h;const{type:v,props:g,shapeFlag:y,transition:_,patchFlag:b,dirs:k}=e;if(e.el&&void 0!==m&&-1===b)p=e.el=m(e.el);else{if(p=e.el=c(e.type,u,g&&g.is,g),8&y?d(p,e.children):16&y&&I(e.children,p,null,r,s,u&&"foreignObject"!==v,a,f),k&&Je(e,null,r,"created"),g){for(const t in g)"value"===t||(0,o.Gg)(t)||l(p,t,null,g[t],u,e.children,r,s,Y);"value"in g&&l(p,"value",null,g.value),(h=g.onVnodeBeforeMount)&&hn(h,r,e)}E(p,e,e.scopeId,a,r)}k&&Je(e,null,r,"beforeMount");const w=(!s||s&&!s.pendingBranch)&&_&&!_.persisted;w&&_.beforeEnter(p),i(p,t,n),((h=g&&g.onVnodeMounted)||w||k)&&At((()=>{h&&hn(h,r,e),w&&_.enter(p),k&&Je(e,null,r,"mounted")}),s)},E=(e,t,n,r,o)=>{if(n&&v(e,n),r)for(let i=0;i{for(let u=c;u{const u=t.el=e.el;let{patchFlag:a,dynamicChildren:f,dirs:p}=t;a|=16&e.patchFlag;const h=e.props||o.kT,v=t.props||o.kT;let m;n&&jt(n,!1),(m=v.onVnodeBeforeUpdate)&&hn(m,n,t,e),p&&Je(t,e,n,"beforeUpdate"),n&&jt(n,!0);const g=i&&"foreignObject"!==t.type;if(f?j(e.dynamicChildren,f,u,n,r,g,s):c||D(e,t,u,null,n,r,g,s,!1),a>0){if(16&a)P(u,t,h,v,n,r,i);else if(2&a&&h.class!==v.class&&l(u,"class",null,v.class,i),4&a&&l(u,"style",h.style,v.style,i),8&a){const o=t.dynamicProps;for(let t=0;t{m&&hn(m,n,t,e),p&&Je(t,e,n,"updated")}),r)},j=(e,t,n,r,o,i,s)=>{for(let l=0;l{if(n!==r){for(const u in r){if((0,o.Gg)(u))continue;const a=r[u],f=n[u];a!==f&&"value"!==u&&l(e,u,f,a,c,t.children,i,s,Y)}if(n!==o.kT)for(const u in n)(0,o.Gg)(u)||u in r||l(e,u,n[u],null,c,t.children,i,s,Y);"value"in r&&l(e,"value",n.value,r.value)}},M=(e,t,n,r,o,s,l,c,a)=>{const f=t.el=e?e.el:u(""),d=t.anchor=e?e.anchor:u("");let{patchFlag:p,dynamicChildren:h,slotScopeIds:v}=t;v&&(c=c?c.concat(v):v),null==e?(i(f,n,r),i(d,n,r),I(t.children,n,d,o,s,l,c,a)):p>0&&64&p&&h&&e.dynamicChildren?(j(e.dynamicChildren,h,n,o,s,l,c),(null!=t.key||o&&t===o.subTree)&&Pt(e,t,!0)):D(e,t,n,d,o,s,l,c,a)},N=(e,t,n,r,o,i,s,l,c)=>{t.slotScopeIds=l,null==e?512&t.shapeFlag?o.ctx.activate(t,n,r,s,c):J(t,n,r,o,i,s,c):L(e,t,c)},J=(e,t,n,r,o,i,s)=>{const l=e.component=gn(e,r,o);if(me(e)&&(l.ctx.renderer=te),Tn(l),l.asyncDep){if(o&&o.registerDep(l,U),!e.el){const e=l.subTree=nn(Ut);b(null,e,t,n)}}else U(l,e,t,n,o,i,s)},L=(e,t,n)=>{const r=t.component=e.component;if(q(e,t,n)){if(r.asyncDep&&!r.asyncResolved)return void $(r,t,n);r.next=t,T(r.update),r.update()}else t.el=e.el,r.vnode=t},U=(e,t,n,i,s,l,c)=>{const u=()=>{if(e.isMounted){let t,{next:n,bu:r,u:i,parent:u,vnode:a}=e,f=n;0,jt(e,!1),n?(n.el=a.el,$(e,n,c)):n=a,r&&(0,o.ir)(r),(t=n.props&&n.props.onVnodeBeforeUpdate)&&hn(t,u,n,a),jt(e,!0);const d=B(e);0;const h=e.subTree;e.subTree=d,y(h,d,p(h.el),Q(h),e,s,l),n.el=d.el,null===f&&G(e,d.el),i&&At(i,s),(t=n.props&&n.props.onVnodeUpdated)&&At((()=>hn(t,u,n,a)),s)}else{let r;const{el:c,props:u}=t,{bm:a,m:f,parent:d}=e,p=ve(t);if(jt(e,!1),a&&(0,o.ir)(a),!p&&(r=u&&u.onVnodeBeforeMount)&&hn(r,d,t),jt(e,!0),c&&re){const n=()=>{e.subTree=B(e),re(c,e.subTree,e,s,null)};p?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{0;const r=e.subTree=B(e);0,y(null,r,n,i,e,s,l),t.el=r.el}if(f&&At(f,s),!p&&(r=u&&u.onVnodeMounted)){const e=t;At((()=>hn(r,d,e)),s)}(256&t.shapeFlag||d&&ve(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&At(e.a,s),e.isMounted=!0,t=n=i=null}},a=e.effect=new r.qq(u,(()=>C(f)),e.scope),f=e.update=()=>a.run();f.id=e.uid,jt(e,!0),f()},$=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,at(e,t.props,o,n),Ct(e,t.children,n),(0,r.Jd)(),A(void 0,e.update),(0,r.lk)()},D=(e,t,n,r,o,i,s,l,c=!1)=>{const u=e&&e.children,a=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:h}=t;if(p>0){if(128&p)return void H(u,f,n,r,o,i,s,l,c);if(256&p)return void V(u,f,n,r,o,i,s,l,c)}8&h?(16&a&&Y(u,o,i),f!==u&&d(n,f)):16&a?16&h?H(u,f,n,r,o,i,s,l,c):Y(u,o,i,!0):(8&a&&d(n,""),16&h&&I(f,n,r,o,i,s,l,c))},V=(e,t,n,r,i,s,l,c,u)=>{e=e||o.Z6,t=t||o.Z6;const a=e.length,f=t.length,d=Math.min(a,f);let p;for(p=0;pf?Y(e,i,s,!0,!1,d):I(t,n,r,i,s,l,c,u,d)},H=(e,t,n,r,i,s,l,c,u)=>{let a=0;const f=t.length;let d=e.length-1,p=f-1;while(a<=d&&a<=p){const r=e[a],o=t[a]=u?fn(t[a]):an(t[a]);if(!Zt(r,o))break;y(r,o,n,null,i,s,l,c,u),a++}while(a<=d&&a<=p){const r=e[d],o=t[p]=u?fn(t[p]):an(t[p]);if(!Zt(r,o))break;y(r,o,n,null,i,s,l,c,u),d--,p--}if(a>d){if(a<=p){const e=p+1,o=ep)while(a<=d)K(e[a],i,s,!0),a++;else{const h=a,v=a,m=new Map;for(a=v;a<=p;a++){const e=t[a]=u?fn(t[a]):an(t[a]);null!=e.key&&m.set(e.key,a)}let g,_=0;const b=p-v+1;let k=!1,w=0;const x=new Array(b);for(a=0;a=b){K(r,i,s,!0);continue}let o;if(null!=r.key)o=m.get(r.key);else for(g=v;g<=p;g++)if(0===x[g-v]&&Zt(r,t[g])){o=g;break}void 0===o?K(r,i,s,!0):(x[o-v]=a+1,o>=w?w=o:k=!0,y(r,t[o],n,null,i,s,l,c,u),_++)}const C=k?Mt(x):o.Z6;for(g=C.length-1,a=b-1;a>=0;a--){const e=v+a,o=t[e],d=e+1{const{el:s,type:l,transition:c,children:u,shapeFlag:a}=e;if(6&a)return void W(e.component.subTree,t,n,r);if(128&a)return void e.suspense.move(t,n,r);if(64&a)return void l.move(e,t,n,te);if(l===Jt){i(s,t,n);for(let e=0;ec.enter(s)),o);else{const{leave:e,delayLeave:r,afterLeave:o}=c,l=()=>i(s,t,n),u=()=>{e(s,(()=>{l(),o&&o()}))};r?r(s,l,u):u()}else i(s,t,n)},K=(e,t,n,r=!1,o=!1)=>{const{type:i,props:s,ref:l,children:c,dynamicChildren:u,shapeFlag:a,patchFlag:f,dirs:d}=e;if(null!=l&&Et(l,null,n,e,!0),256&a)return void t.ctx.deactivate(e);const p=1&a&&d,h=!ve(e);let v;if(h&&(v=s&&s.onVnodeBeforeUnmount)&&hn(v,t,e),6&a)Z(e.component,n,r);else{if(128&a)return void e.suspense.unmount(n,r);p&&Je(e,null,t,"beforeUnmount"),64&a?e.type.remove(e,t,n,o,te,r):u&&(i!==Jt||f>0&&64&f)?Y(u,t,n,!1,!0):(i===Jt&&384&f||!o&&16&a)&&Y(c,t,n),r&&z(e)}(h&&(v=s&&s.onVnodeUnmounted)||p)&&At((()=>{v&&hn(v,t,e),p&&Je(e,null,t,"unmounted")}),n)},z=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===Jt)return void X(n,r);if(t===$t)return void x(e);const i=()=>{s(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,s=()=>t(n,i);r?r(e.el,i,s):s()}else i()},X=(e,t)=>{let n;while(e!==t)n=h(e),s(e),e=n;s(t)},Z=(e,t,n)=>{const{bum:r,scope:i,update:s,subTree:l,um:c}=e;r&&(0,o.ir)(r),i.stop(),s&&(s.active=!1,K(l,e,t,n)),c&&At(c,t),At((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Y=(e,t,n,r=!1,o=!1,i=0)=>{for(let s=i;s6&e.shapeFlag?Q(e.component.subTree):128&e.shapeFlag?e.suspense.next():h(e.anchor||e.el),ee=(e,t,n)=>{null==e?t._vnode&&K(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),O(),t._vnode=e},te={p:y,um:K,m:W,r:z,mt:J,mc:I,pc:D,pbc:j,n:Q,o:e};let ne,re;return t&&([ne,re]=t(te)),{render:ee,hydrate:ne,createApp:Rt(ee,ne)}}function jt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Pt(e,t,n=!1){const r=e.children,i=t.children;if((0,o.kJ)(r)&&(0,o.kJ)(i))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[i-1]),n[i]=r)}}i=n.length,s=n[i-1];while(i-- >0)n[i]=s,s=t[s];return n}const Nt=e=>e.__isTeleport;const Jt=Symbol(void 0),Lt=Symbol(void 0),Ut=Symbol(void 0),$t=Symbol(void 0),Dt=[];let Vt=null;function Bt(e=!1){Dt.push(Vt=e?null:[])}function Ht(){Dt.pop(),Vt=Dt[Dt.length-1]||null}let Wt=1;function qt(e){Wt+=e}function Kt(e){return e.dynamicChildren=Wt>0?Vt||o.Z6:null,Ht(),Wt>0&&Vt&&Vt.push(e),e}function Gt(e,t,n,r,o,i){return Kt(tn(e,t,n,r,o,i,!0))}function zt(e,t,n,r,o){return Kt(nn(e,t,n,r,o,!0))}function Xt(e){return!!e&&!0===e.__v_isVNode}function Zt(e,t){return e.type===t.type&&e.key===t.key}const Yt="__vInternal",Qt=({key:e})=>null!=e?e:null,en=({ref:e,ref_key:t,ref_for:n})=>null!=e?(0,o.HD)(e)||(0,r.dq)(e)||(0,o.mf)(e)?{i:J,r:e,k:t,f:!!n}:e:null;function tn(e,t=null,n=null,r=0,i=null,s=(e===Jt?0:1),l=!1,c=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qt(t),ref:t&&en(t),scopeId:L,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null};return c?(dn(u,n),128&s&&e.normalize(u)):n&&(u.shapeFlag|=(0,o.HD)(n)?8:16),Wt>0&&!l&&Vt&&(u.patchFlag>0||6&s)&&32!==u.patchFlag&&Vt.push(u),u}const nn=rn;function rn(e,t=null,n=null,i=0,s=null,l=!1){if(e&&e!==De||(e=Ut),Xt(e)){const r=sn(e,t,!0);return n&&dn(r,n),Wt>0&&!l&&Vt&&(6&r.shapeFlag?Vt[Vt.indexOf(e)]=r:Vt.push(r)),r.patchFlag|=-2,r}if(Pn(e)&&(e=e.__vccOpts),t){t=on(t);let{class:e,style:n}=t;e&&!(0,o.HD)(e)&&(t.class=(0,o.C_)(e)),(0,o.Kn)(n)&&((0,r.X3)(n)&&!(0,o.kJ)(n)&&(n=(0,o.l7)({},n)),t.style=(0,o.j5)(n))}const c=(0,o.HD)(e)?1:z(e)?128:Nt(e)?64:(0,o.Kn)(e)?4:(0,o.mf)(e)?2:0;return tn(e,t,n,i,s,c,l,!0)}function on(e){return e?(0,r.X3)(e)||Yt in e?(0,o.l7)({},e):e:null}function sn(e,t,n=!1){const{props:r,ref:i,patchFlag:s,children:l}=e,c=t?pn(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Qt(c),ref:t&&t.ref?n&&i?(0,o.kJ)(i)?i.concat(en(t)):[i,en(t)]:en(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Jt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&sn(e.ssContent),ssFallback:e.ssFallback&&sn(e.ssFallback),el:e.el,anchor:e.anchor};return u}function ln(e=" ",t=0){return nn(Lt,null,e,t)}function cn(e,t){const n=nn($t,null,e);return n.staticCount=t,n}function un(e="",t=!1){return t?(Bt(),zt(Ut,null,e)):nn(Ut,null,e)}function an(e){return null==e||"boolean"===typeof e?nn(Ut):(0,o.kJ)(e)?nn(Jt,null,e.slice()):"object"===typeof e?fn(e):nn(Lt,null,String(e))}function fn(e){return null===e.el||e.memo?e:sn(e)}function dn(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if((0,o.kJ)(t))n=16;else if("object"===typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),dn(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||Yt in t?3===r&&J&&(1===J.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=J}}else(0,o.mf)(t)?(t={default:t,_ctx:J},n=32):(t=String(t),64&r?(n=16,t=[ln(t)]):n=8);e.children=t,e.shapeFlag|=n}function pn(...e){const t={};for(let n=0;nyn||J,bn=e=>{yn=e,e.scope.on()},kn=()=>{yn&&yn.scope.off(),yn=null};function wn(e){return 4&e.vnode.shapeFlag}let xn,Cn,Sn=!1;function Tn(e,t=!1){Sn=t;const{props:n,children:r}=e.vnode,o=wn(e);ut(e,n,o,t),xt(e,r);const i=o?Rn(e,t):void 0;return Sn=!1,i}function Rn(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=(0,r.Xl)(new Proxy(e.ctx,Ge));const{setup:s}=n;if(s){const n=e.setupContext=s.length>1?On(e):null;bn(e),(0,r.Jd)();const c=i(s,e,0,[e.props,n]);if((0,r.lk)(),kn(),(0,o.tI)(c)){if(c.then(kn,kn),t)return c.then((n=>{En(e,n,t)})).catch((t=>{l(t,e,0)}));e.asyncDep=c}else En(e,c,t)}else In(e,t)}function En(e,t,n){(0,o.mf)(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:(0,o.Kn)(t)&&(e.setupState=(0,r.WL)(t)),In(e,n)}function In(e,t,n){const i=e.type;if(!e.render){if(!t&&xn&&!i.render){const t=i.template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:l}=i,c=(0,o.l7)((0,o.l7)({isCustomElement:n,delimiters:s},r),l);i.render=xn(t,c)}}e.render=i.render||o.dG,Cn&&Cn(e)}bn(e),(0,r.Jd)(),Xe(e),(0,r.lk)(),kn()}function An(e){return new Proxy(e.attrs,{get(t,n){return(0,r.j)(e,"get","$attrs"),t[n]}})}function On(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=An(e))},slots:e.slots,emit:e.emit,expose:t}}function Fn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(e.exposed)),{get(t,n){return n in t?t[n]:n in Ke?Ke[n](e):void 0}}))}function jn(e){return(0,o.mf)(e)&&e.displayName||e.name}function Pn(e){return(0,o.mf)(e)&&"__vccOpts"in e}const Mn=(e,t)=>(0,r.Fl)(e,t,Sn);function Nn(e,t,n){const r=arguments.length;return 2===r?(0,o.Kn)(t)&&!(0,o.kJ)(t)?Xt(t)?nn(e,null,[t]):nn(e,t):nn(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Xt(n)&&(n=[n]),nn(e,t,n))}Symbol("");const Jn="3.2.36"},242:function(e,t,n){"use strict";n.d(t,{bM:function(){return ie},e8:function(){return re},iM:function(){return fe},nr:function(){return ne},ri:function(){return ve}});var r=n(139),o=n(396);n(870);const i="http://www.w3.org/2000/svg",s="undefined"!==typeof document?document:null,l=s&&s.createElement("template"),c={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t?s.createElementNS(i,e):s.createElement(e,n?{is:n}:void 0);return"select"===e&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:e=>s.createTextNode(e),createComment:e=>s.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>s.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,r,o,i){const s=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling)){while(1)if(t.insertBefore(o.cloneNode(!0),n),o===i||!(o=o.nextSibling))break}else{l.innerHTML=r?`${e}`:e;const o=l.content;if(r){const e=o.firstChild;while(e.firstChild)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function u(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function a(e,t,n){const o=e.style,i=(0,r.HD)(n);if(n&&!i){for(const e in n)d(o,e,n[e]);if(t&&!(0,r.HD)(t))for(const e in t)null==n[e]&&d(o,e,"")}else{const r=o.display;i?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=r)}}const f=/\s*!important$/;function d(e,t,n){if((0,r.kJ)(n))n.forEach((n=>d(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=v(e,t);f.test(n)?e.setProperty((0,r.rs)(o),n.replace(f,""),"important"):e[o]=n}}const p=["Webkit","Moz","ms"],h={};function v(e,t){const n=h[t];if(n)return n;let o=(0,r._A)(t);if("filter"!==o&&o in e)return h[t]=o;o=(0,r.kC)(o);for(let r=0;r{let e=Date.now,t=!1;if("undefined"!==typeof window){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let k=0;const w=Promise.resolve(),x=()=>{k=0},C=()=>k||(w.then(x),k=_());function S(e,t,n,r){e.addEventListener(t,n,r)}function T(e,t,n,r){e.removeEventListener(t,n,r)}function R(e,t,n,r,o=null){const i=e._vei||(e._vei={}),s=i[t];if(r&&s)s.value=r;else{const[n,l]=I(t);if(r){const s=i[t]=A(r,o);S(e,n,s,l)}else s&&(T(e,n,s,l),i[t]=void 0)}}const E=/(?:Once|Passive|Capture)$/;function I(e){let t;if(E.test(e)){let n;t={};while(n=e.match(E))e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[(0,r.rs)(e.slice(2)),t]}function A(e,t){const n=e=>{const r=e.timeStamp||_();(b||r>=n.attached-1)&&(0,o.$d)(O(e,n.value),t,5,[e])};return n.value=e,n.attached=C(),n}function O(e,t){if((0,r.kJ)(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}const F=/^on[a-z]/,j=(e,t,n,o,i=!1,s,l,c,f)=>{"class"===t?u(e,o,i):"style"===t?a(e,n,o):(0,r.F7)(t)?(0,r.tR)(t)||R(e,t,n,o,l):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):P(e,t,o,i))?y(e,t,o,s,l,c,f):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),g(e,t,o,i))};function P(e,t,n,o){return o?"innerHTML"===t||"textContent"===t||!!(t in e&&F.test(t)&&(0,r.mf)(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!F.test(t)||!(0,r.HD)(n))&&t in e))))}"undefined"!==typeof HTMLElement&&HTMLElement;const M="transition",N="animation",J=(e,{slots:t})=>(0,o.h)(o.P$,D(e),t);J.displayName="Transition";const L={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},U=(J.props=(0,r.l7)({},o.P$.props,L),(e,t=[])=>{(0,r.kJ)(e)?e.forEach((e=>e(...t))):e&&e(...t)}),$=e=>!!e&&((0,r.kJ)(e)?e.some((e=>e.length>1)):e.length>1);function D(e){const t={};for(const r in e)r in L||(t[r]=e[r]);if(!1===e.css)return t;const{name:n="v",type:o,duration:i,enterFromClass:s=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:u=s,appearActiveClass:a=l,appearToClass:f=c,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,v=V(i),m=v&&v[0],g=v&&v[1],{onBeforeEnter:y,onEnter:_,onEnterCancelled:b,onLeave:k,onLeaveCancelled:w,onBeforeAppear:x=y,onAppear:C=_,onAppearCancelled:S=b}=t,T=(e,t,n)=>{W(e,t?f:c),W(e,t?a:l),n&&n()},R=(e,t)=>{e._isLeaving=!1,W(e,d),W(e,h),W(e,p),t&&t()},E=e=>(t,n)=>{const r=e?C:_,i=()=>T(t,e,n);U(r,[t,i]),q((()=>{W(t,e?u:s),H(t,e?f:c),$(r)||G(t,o,m,i)}))};return(0,r.l7)(t,{onBeforeEnter(e){U(y,[e]),H(e,s),H(e,l)},onBeforeAppear(e){U(x,[e]),H(e,u),H(e,a)},onEnter:E(!1),onAppear:E(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>R(e,t);H(e,d),Y(),H(e,p),q((()=>{e._isLeaving&&(W(e,d),H(e,h),$(k)||G(e,o,g,n))})),U(k,[e,n])},onEnterCancelled(e){T(e,!1),U(b,[e])},onAppearCancelled(e){T(e,!0),U(S,[e])},onLeaveCancelled(e){R(e),U(w,[e])}})}function V(e){if(null==e)return null;if((0,r.Kn)(e))return[B(e.enter),B(e.leave)];{const t=B(e);return[t,t]}}function B(e){const t=(0,r.He)(e);return t}function H(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function W(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function q(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let K=0;function G(e,t,n,r){const o=e._endId=++K,i=()=>{o===e._endId&&r()};if(n)return setTimeout(i,n);const{type:s,timeout:l,propCount:c}=z(e,t);if(!s)return r();const u=s+"end";let a=0;const f=()=>{e.removeEventListener(u,d),i()},d=t=>{t.target===e&&++a>=c&&f()};setTimeout((()=>{a(n[e]||"").split(", "),o=r(M+"Delay"),i=r(M+"Duration"),s=X(o,i),l=r(N+"Delay"),c=r(N+"Duration"),u=X(l,c);let a=null,f=0,d=0;t===M?s>0&&(a=M,f=s,d=i.length):t===N?u>0&&(a=N,f=u,d=c.length):(f=Math.max(s,u),a=f>0?s>u?M:N:null,d=a?a===M?i.length:c.length:0);const p=a===M&&/\b(transform|all)(,|$)/.test(n[M+"Property"]);return{type:a,timeout:f,propCount:d,hasTransform:p}}function X(e,t){while(e.lengthZ(t)+Z(e[n]))))}function Z(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Y(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=e=>{const t=e.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(t)?e=>(0,r.ir)(t,e):t};function ee(e){e.target.composing=!0}function te(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ne={created(e,{modifiers:{lazy:t,trim:n,number:o}},i){e._assign=Q(i);const s=o||i.props&&"number"===i.props.type;S(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),s&&(o=(0,r.He)(o)),e._assign(o)})),n&&S(e,"change",(()=>{e.value=e.value.trim()})),t||(S(e,"compositionstart",ee),S(e,"compositionend",te),S(e,"change",te))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:i}},s){if(e._assign=Q(s),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((i||"number"===e.type)&&(0,r.He)(e.value)===t)return}const l=null==t?"":t;e.value!==l&&(e.value=l)}},re={deep:!0,created(e,t,n){e._assign=Q(n),S(e,"change",(()=>{const t=e._modelValue,n=le(e),o=e.checked,i=e._assign;if((0,r.kJ)(t)){const e=(0,r.hq)(t,n),s=-1!==e;if(o&&!s)i(t.concat(n));else if(!o&&s){const n=[...t];n.splice(e,1),i(n)}}else if((0,r.DM)(t)){const e=new Set(t);o?e.add(n):e.delete(n),i(e)}else i(ce(e,o))}))},mounted:oe,beforeUpdate(e,t,n){e._assign=Q(n),oe(e,t,n)}};function oe(e,{value:t,oldValue:n},o){e._modelValue=t,(0,r.kJ)(t)?e.checked=(0,r.hq)(t,o.props.value)>-1:(0,r.DM)(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=(0,r.WV)(t,ce(e,!0)))}const ie={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const i=(0,r.DM)(t);S(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?(0,r.He)(le(e)):le(e)));e._assign(e.multiple?i?new Set(t):t:t[0])})),e._assign=Q(o)},mounted(e,{value:t}){se(e,t)},beforeUpdate(e,t,n){e._assign=Q(n)},updated(e,{value:t}){se(e,t)}};function se(e,t){const n=e.multiple;if(!n||(0,r.kJ)(t)||(0,r.DM)(t)){for(let o=0,i=e.options.length;o-1:i.selected=t.has(s);else if((0,r.WV)(le(i),t))return void(e.selectedIndex!==o&&(e.selectedIndex=o))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function le(e){return"_value"in e?e._value:e.value}function ce(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const ue=["ctrl","shift","alt","meta"],ae={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>ue.some((n=>e[`${n}Key`]&&!t.includes(n)))},fe=(e,t)=>(n,...r)=>{for(let e=0;e{const t=he().createApp(...e);const{mount:n}=t;return t.mount=e=>{const o=me(e);if(!o)return;const i=t._component;(0,r.mf)(i)||i.render||i.template||(i.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t};function me(e){if((0,r.HD)(e)){const t=document.querySelector(e);return t}return e}},139:function(e,t,n){"use strict";function r(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[e.toLowerCase()]:e=>!!n[e]}n.d(t,{C_:function(){return p},DM:function(){return F},E9:function(){return re},F7:function(){return C},Gg:function(){return H},HD:function(){return M},He:function(){return te},Kn:function(){return J},NO:function(){return w},Nj:function(){return ee},Od:function(){return R},PO:function(){return V},Pq:function(){return l},RI:function(){return I},S0:function(){return B},W7:function(){return D},WV:function(){return v},Z6:function(){return b},_A:function(){return K},_N:function(){return O},aU:function(){return Y},dG:function(){return k},e1:function(){return i},fY:function(){return r},hR:function(){return Z},hq:function(){return m},ir:function(){return Q},j5:function(){return u},kC:function(){return X},kJ:function(){return A},kT:function(){return _},l7:function(){return T},mf:function(){return P},rs:function(){return z},tI:function(){return L},tR:function(){return S},yA:function(){return c},yk:function(){return N},zw:function(){return g}});const o="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",i=r(o);const s="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",l=r(s);function c(e){return!!e||""===e}function u(e){if(A(e)){const t={};for(let n=0;n{if(e){const n=e.split(f);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function p(e){let t="";if(M(e))t=e;else if(A(e))for(let n=0;nv(e,t)))}const g=e=>M(e)?e:null==e?"":A(e)||J(e)&&(e.toString===U||!P(e.toString))?JSON.stringify(e,y,2):String(e),y=(e,t)=>t&&t.__v_isRef?y(e,t.value):O(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:F(t)?{[`Set(${t.size})`]:[...t.values()]}:!J(t)||A(t)||V(t)?t:String(t),_={},b=[],k=()=>{},w=()=>!1,x=/^on[^a-z]/,C=e=>x.test(e),S=e=>e.startsWith("onUpdate:"),T=Object.assign,R=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},E=Object.prototype.hasOwnProperty,I=(e,t)=>E.call(e,t),A=Array.isArray,O=e=>"[object Map]"===$(e),F=e=>"[object Set]"===$(e),j=e=>"[object Date]"===$(e),P=e=>"function"===typeof e,M=e=>"string"===typeof e,N=e=>"symbol"===typeof e,J=e=>null!==e&&"object"===typeof e,L=e=>J(e)&&P(e.then)&&P(e.catch),U=Object.prototype.toString,$=e=>U.call(e),D=e=>$(e).slice(8,-1),V=e=>"[object Object]"===$(e),B=e=>M(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,H=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),W=e=>{const t=Object.create(null);return n=>{const r=t[n];return r||(t[n]=e(n))}},q=/-(\w)/g,K=W((e=>e.replace(q,((e,t)=>t?t.toUpperCase():"")))),G=/\B([A-Z])/g,z=W((e=>e.replace(G,"-$1").toLowerCase())),X=W((e=>e.charAt(0).toUpperCase()+e.slice(1))),Z=W((e=>e?`on${X(e)}`:"")),Y=(e,t)=>!Object.is(e,t),Q=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},te=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ne;const re=()=>ne||(ne="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},51:function(e){!function(t,n){e.exports=n()}(0,(function(){var e="__v-click-outside",t="undefined"!=typeof window,n="undefined"!=typeof navigator,r=t&&("ontouchstart"in window||n&&navigator.msMaxTouchPoints>0)?["touchstart"]:["click"],o=function(e){var t=e.event,n=e.handler;(0,e.middleware)(t)&&n(t)},i=function(t,n){var i=function(e){var t="function"==typeof e;if(!t&&"object"!=typeof e)throw new Error("v-click-outside: Binding value must be a function or an object");return{handler:t?e:e.handler,middleware:e.middleware||function(e){return e},events:e.events||r,isActive:!(!1===e.isActive),detectIframe:!(!1===e.detectIframe),capture:Boolean(e.capture)}}(n.value),s=i.handler,l=i.middleware,c=i.detectIframe,u=i.capture;if(i.isActive){if(t[e]=i.events.map((function(e){return{event:e,srcTarget:document.documentElement,handler:function(e){return function(e){var t=e.el,n=e.event,r=e.handler,i=e.middleware,s=n.path||n.composedPath&&n.composedPath();(s?s.indexOf(t)<0:!t.contains(n.target))&&o({event:n,handler:r,middleware:i})}({el:t,event:e,handler:s,middleware:l})},capture:u}})),c){var a={event:"blur",srcTarget:window,handler:function(e){return function(e){var t=e.el,n=e.event,r=e.handler,i=e.middleware;setTimeout((function(){var e=document.activeElement;e&&"IFRAME"===e.tagName&&!t.contains(e)&&o({event:n,handler:r,middleware:i})}),0)}({el:t,event:e,handler:s,middleware:l})},capture:u};t[e]=[].concat(t[e],[a])}t[e].forEach((function(n){var r=n.event,o=n.srcTarget,i=n.handler;return setTimeout((function(){t[e]&&o.addEventListener(r,i,u)}),0)}))}},s=function(t){(t[e]||[]).forEach((function(e){return e.srcTarget.removeEventListener(e.event,e.handler,e.capture)})),delete t[e]},l=t?{beforeMount:i,updated:function(e,t){var n=t.value,r=t.oldValue;JSON.stringify(n)!==JSON.stringify(r)&&(s(e),i(e,{value:n}))},unmounted:s}:{};return{install:function(e){e.directive("click-outside",l)},directive:l}}))},431:function(e,t,n){"use strict";n.d(t,{z:function(){return i}});var r,o=function(){return Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))};function i(e,t){void 0===t&&(t={});var n=t.registrationOptions;void 0===n&&(n={}),delete t.registrationOptions;var i=function(e){var n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];t&&t[e]&&t[e].apply(t,n)};"serviceWorker"in navigator&&r.then((function(){o()?(c(e,i,n),navigator.serviceWorker.ready.then((function(e){i("ready",e)})).catch((function(e){return s(i,e)}))):(l(e,i,n),navigator.serviceWorker.ready.then((function(e){i("ready",e)})).catch((function(e){return s(i,e)})))}))}function s(e,t){navigator.onLine||e("offline"),e("error",t)}function l(e,t,n){navigator.serviceWorker.register(e,n).then((function(e){t("registered",e),e.waiting?t("updated",e):e.onupdatefound=function(){t("updatefound",e);var n=e.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?t("updated",e):t("cached",e))}}})).catch((function(e){return s(t,e)}))}function c(e,t,n){fetch(e).then((function(r){404===r.status?(t("error",new Error("Service worker not found at "+e)),u()):-1===r.headers.get("content-type").indexOf("javascript")?(t("error",new Error("Expected "+e+" to have javascript content-type, but received "+r.headers.get("content-type"))),u()):l(e,t,n)})).catch((function(e){return s(t,e)}))}function u(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){return s(emit,e)}))}"undefined"!==typeof window&&(r="undefined"!==typeof Promise?new Promise((function(e){return window.addEventListener("load",e)})):{then:function(e){return window.addEventListener("load",e)}})},89:function(e,t){"use strict";t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n}}}]); +//# sourceMappingURL=chunk-vendors.4bdafb4a.js.map \ No newline at end of file diff --git a/dist/js/chunk-vendors.4bdafb4a.js.map b/dist/js/chunk-vendors.4bdafb4a.js.map new file mode 100644 index 0000000..9a1d447 --- /dev/null +++ b/dist/js/chunk-vendors.4bdafb4a.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/chunk-vendors.4bdafb4a.js","mappings":"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","sources":["webpack://ithkapp/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://ithkapp/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://ithkapp/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://ithkapp/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://ithkapp/../src/v-click-outside.js","webpack://ithkapp/../src/index.js","webpack://ithkapp/./node_modules/register-service-worker/index.js","webpack://ithkapp/./node_modules/vue-loader/dist/exportHelper.js"],"sourcesContent":["import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of