narrat 3.2.6-alpha.2 → 3.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/narrat.es.js +1 -1
- package/dist/narrat.es.js.map +1 -1
- package/dist/narrat.umd.js +1 -1
- package/dist/narrat.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/narrat.umd.js
CHANGED
|
@@ -172,7 +172,7 @@ Found in store "${T.$id}".`),p&&i&&n.hydrate&&n.hydrate(T.$state,p),c=!0,f=!0,T}
|
|
|
172
172
|
This will fail in production.`);s=Ph,s._s.has(r)||(i?Wx(r,t,o,s):n9(r,o,s),process.env.NODE_ENV!=="production"&&(a._pinia=s));const f=s._s.get(r);if(process.env.NODE_ENV!=="production"&&l){const u="__hot:"+r,d=i?Wx(u,t,o,s,!0):n9(u,ea({},o),s,!0);l._hotUpdate(d),delete s.state.value[u],s._s.delete(u)}if(process.env.NODE_ENV!=="production"&&Pg){const u=b.getCurrentInstance();if(u&&u.proxy&&!l){const d=u.proxy,h="_pStores"in d?d._pStores:d._pStores={};h[r]=f}}return f}return a.$id=r,a}function Gc(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(){return e(this.$pinia)[r]},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(){const o=e(this.$pinia),i=t[r];return typeof i=="function"?i.call(this,o):o[i]},n),{})}const r9=["music","ambiant","sound"],o9=cpe(r9),yo=Zr("audio",{state:()=>{const e=new Map;for(const t in o9)e.set(t,{channels:[],options:{volume:1}});return{modes:e,masterVolume:1}},actions:{stopAll(){this.modes.forEach(e=>{e.channels.forEach((t,n)=>{t&&(this.actuallyStopChannel(t),e.channels[n]=null)})})},async stopChannel(e,t){const n=this.getAudioChannel(e,t);if(n){if(this.setAudioChannel(e,t,null),$s().options.musicFadeOutTime){const r=Qc(n.audio);r&&r.fade(r.volume(n.howlerId),0,$s().options.musicFadeOutTime*1e3,n.howlerId),await Zi($s().options.musicFadeOutTime*1e3)}this.actuallyStopChannel(n)}},async pauseChannel(e,t){const n=this.getAudioChannel(e,t);if(!n)return;const r=Qc(n.audio);if(!r){Wt(`Could not find audio ${n.audio}`);return}r.pause(n.howlerId)},async playChannel(e,t,n){ws.Howler.ctx.state==="suspended"&&(console.warn("Audio context is suspended :o"),ws.Howler.ctx.resume());const r=this.getAudioChannel(e,n);if(e==="sound")return this.actuallyPlayChannel(e,n,t);r&&r.audio!==t?await this.changeChannel(e,t,n):r&&r.audio===t?await this.resumeChannel(e,n):await this.actuallyPlayChannel(e,n,t)},async resumeChannel(e,t){const n=this.getAudioChannel(e,t);if(!n)return;const r=Qc(n.audio);if(!r){Wt(`Could not find audio ${n.audio}`);return}r.play(n.howlerId)},async changeChannel(e,t,n){this.getAudioChannel(e,n)&&e!=="sound"&&await this.stopChannel(e,n),await this.actuallyPlayChannel(e,n,t)},actuallyStopChannel(e){Vpe(e.audio,e.howlerId)},getAudioChannel(e,t){return this.modes.get(e).channels[t]||null},setAudioChannel(e,t,n){this.modes.get(e).channels[t]=n},async actuallyPlayChannel(e,t,n){const r=Qc(n);if(!r){Wt(`Could not find audio ${n}`);return}if(e!=="sound"){const o=r.play();r.volume(0,o),r.pause(o),this.setAudioChannel(e,t,{audio:n,howlerId:o}),await Zi($s().options.musicFadeInDelay*1e3);const i=this.getAudioChannel(e,t);i!==null&&i.audio===n&&(r.play(o),r.fade(0,this.modeVolume(e)*r.volume(),$s().options.musicFadeInTime*1e3,o))}else if(e==="sound"){const o=r.play();r.volume(this.modeVolume(e)*r.volume(),o),this.setAudioChannel(e,t,{audio:n,howlerId:o})}},reloadAudio(e){for(const t in e.modes){if(t==="sound")continue;const n=t;this.modes.get(n).options=or(e.modes[n].options);for(const r in e.modes[n].channels){const o=e.modes[n].channels[r];o&&o.audio&&this.actuallyPlayChannel(n,Number(r),o.audio)}}},stopSound(e){const t=Qc(e);t&&t.stop()},generateSaveData(){const e={};for(const t in o9){const n=this.modes.get(t);e[t]={options:or(n.options),channels:or(n.channels).map(r=>r?{audio:r.audio}:{audio:null})}}return{modes:e,masterVolume:this.masterVolume}},loadSaveData(e){this.masterVolume=e.masterVolume},reset(){this.stopAll()},setModeVolume(e,t){const n=this.modes.get(e);n.options.volume=t;for(const r in n.channels){const o=n.channels[r];if(o){const i=Qc(o.audio);i&&i.volume(this.modeVolume(e),o.howlerId)}}},setMasterVolume(e){this.masterVolume=e,ws.Howler.volume(e)},modeVolume(e){return this.masterVolume*this.modes.get(e).options.volume}}}),i9={};ws.Howler.volume(.5);let Kx={};async function Bpe(e){wi.log("Loading audio");const t=[];ws.Howler.volume(e.options.volume);for(const n in e.files){const r=e.files[n];r.src||(r.src=r.path,r.path||console.error(`Audio config for ${n} doesn't have any \`src\` value to find the file`),console.warn("Using `path` for audio and musics is deprecated. Please replace `path` with `src` in your config file!")),t.push(Fpe(n,e.files[n]))}return e.audioTriggers&&(Kx=e.audioTriggers),Promise.all(t)}function Jc(e){Kx[e]&&yo().playChannel("sound",Kx[e],0)}async function Fpe(e,t){return new Promise((n,r)=>{wi.log(`Loading audio ${t.src}`);const o=new ws.Howl({...t,src:ra(t.src)});o.load(),i9[e]=o,n()})}function Vpe(e,t){const n=Qc(e);if(!n){Hh(`Could not find music ${e}`);return}n.stop(t)}function Qc(e){return i9[e]}const Pf={};async function zpe(e){return Pf[e]?Pf[e]:a9(e,e)}async function Upe(e){wi.log("Loading images");let t=0,n=0;const r=[],o=async(a,s)=>{n++;const l=await a9(a,s);return t++,console.log(`Loaded ${t} / ${n} images`),l},i=(a,s)=>{r.push(o(a,s))};for(const a in e.images){const s=e.images[a];i(a,s)}for(const a in e.screens.screens){const s=e.screens.screens[a];if(s.background&&!e.images[s.background]&&i(s.background,s.background),s.buttons)for(const l in s.buttons){const c=s.buttons[l];typeof c=="object"&&c.background&&!e.images[c.background]&&i(c.background,c.background)}}return Promise.all(r)}async function a9(e,t){if(Pf[e])return Pf[e];const n=new Promise((r,o)=>{wi.log(`Loading image ${e} at ${t}`);const i=new Image;i.onload=()=>{Pf[e]=i,wi.log(`Loaded image ${e} successfully`),r(i)},i.onerror=a=>{Wt(`Failed to load image ${e} at ${t}`,a),o(a)},i.src=ra(t)});return Pf[e]=n,n}function Nf(){return`${Date.now()}-${Math.floor(Math.random()*1e11)}-${Math.floor(Math.random()*1e11)}`}const s9="3.2.3";function Gx(){return`NARRAT_SAVE_${wt().saveFileName}`}const qpe="gameSave";let eo;function Xs(){if(eo)return eo;if(!eo){let e=null;try{let t=localStorage.getItem(Gx());t||(t=localStorage.getItem(qpe)),t&&(localStorage.setItem(`${Gx()}_BACKUP`,t),e=JSON.parse(t)),e&&typeof e=="object"&&e.slots&&e.slots[0]&&e.slots[0].id||(e=null,localStorage.clear())}catch(t){Hh(`Save file deleted because it was either broken or an outdated format: ${t}`)}e?eo=e:eo=c9()}return Wpe(eo),u9(eo),Dh(),eo}function Hpe(){eo=c9(),Dh()}function l9(){return{achievements:{achievements:{}},data:{}}}function Wpe(e){e.version==="1.4.0"&&(e.globalSave=l9(),e.version="1.5.0"),e.version==="1.5.0"&&(e.version="2.16.0"),e.version==="2.16.0"&&(e.slots.forEach(t=>{t&&t.saveData&&(t.saveData.settings={baseSettings:{textSpeed:30,animateText:!0,fontSize:16},customSettings:{}})}),e.version="2.17.0"),e.version==="2.17.0"&&(e.slots.forEach(t=>{t&&t.saveData&&(t.saveData.config={gameCharacter:"game",playerCharacter:"player"})}),e.version="3.2.3")}function c9(){const e={version:s9,slots:[],globalSave:l9()};return u9(e),e}function u9(e){const t=wt().saves.slots??10;e.slots.length<1&&(e.slots[0]={slotType:"auto",id:Nf(),saveData:null,slotNumber:0}),e.slots[0].slotType="auto";for(let n=1;n<t+1;n++)e.slots.length<=n&&(e.slots[n]={slotNumber:n,slotType:wt().saves.mode==="manual"?"manual":"auto",id:Nf(),saveData:null})}function f9(e,t,n){const r=Jpe(n);if(eo.slots[r])eo.slots[r].saveData=e;else{Wt(`Tried to save to slot ${n} but it doesn't exist`);return}eo.globalSave=t,Dh()}function Kpe(e){eo.lastSaveSlot=e}function Dh(){localStorage.setItem(Gx(),JSON.stringify(eo))}function Gpe(){const e=eo.slots.find(t=>!t.saveData);return e?e.id:!1}function Jpe(e){return eo.slots.findIndex(t=>t.id===e)}function Rh(e){return eo.slots.find(t=>t.id===e)}function Jx(){return eo.slots.find(e=>e.slotType==="auto")}function Qpe(e){const t=eo.slots.findIndex(n=>n.id===e);eo.slots[t].saveData=null,Dh()}function Ype(e,t){const n=Rh(e);n&&n.saveData&&(n.saveData.metadata.name=t),Dh()}function Xpe(){return{saveDate:new Date().toISOString(),name:"New Save"}}const Lg=Zr("tooltips",{state:()=>({tooltip:null}),actions:{addCustomTooltip(e){e.title&&(e.title=Zs(e.title)),e.text=Zs(e.text),this.tooltip=e},addTooltip(e,t){const n=hV(e);n&&this.addCustomTooltip({title:n.title,text:n.description,x:(t==null?void 0:t.x)??window.screenX,y:(t==null?void 0:t.y)??window.screenY,width:cp().options.width})},deleteTooltip(){this.tooltip=null}}});function Qx(){return window}function Zpe(e){const t=cp().options.keywordsPrefix,n=new RegExp(`${t}(\\w*)`,"gi");return e=e.replace(n,eme),e}Qx().onTooltipEnter=(e,t)=>{const n={x:e.clientX,y:e.clientY-20};Lg().addTooltip(t,n)},Qx().onTooltipLeave=()=>{Lg().deleteTooltip()};function eme(e,t){const n=t.toLowerCase();return hV(n)?`<span class='highlighted-tooltip-keyword'
|
|
173
173
|
onmouseenter="onTooltipEnter(event, '${n}')"
|
|
174
174
|
onmouseleave="onTooltipLeave()">${t}</span>`:n}function Zs(e){const t=e.replace(/%{[^}]*}/g,n=>{const r=n.substr(2,n.length-3);return d9(r)});return Zpe(t)}function d9(e){const t=Qf(),[n,r]=w0(t,e);return n[r]}const h9=/\$\$"/,tme=e=>typeof e=="string"&&e.search(h9)===0;function nme(e){let t=null;const n=[],r=/<[^>]*>/g;do t=r.exec(e),t&&n.push(t);while(t);return n}const Qn=Zr("dialog",{state:()=>({dialog:[],playMode:"normal"}),actions:{generateSaveData(){return{dialog:or(this.dialog)}},loadSaveData(e){this.dialog=e.dialog},addDialog(e){this.dialog.push({...e,interactive:e.interactive??!1,id:Nf(),text:Zs(e.text)}),this.dialog.length>200&&this.dialog.shift()},toggleAutoPlay(){this.playMode=this.playMode==="auto"?"normal":"auto"},toggleSkip(){this.playMode=this.playMode==="skip"?"normal":"skip"},clearDialog(){this.dialog.splice(0,this.dialog.length)},reset(){this.dialog=[],this.playMode="normal"}},getters:{currentDialog(){return this.dialog[this.dialog.length-1]}}});function rme(e,t){return e-t*sp().options.extraPointsPerLevel}function p9(e,t){const{options:n}=sp();let r=e;n.showDifficultyWithoutModifiers||(r=rme(e,t));const o=sp().options;let i=!1,a=0,s=o.difficultyText[0][1];for(;!i;)o.difficultyText.length>a&&r>=o.difficultyText[a][0]?s=o.difficultyText[a][1]:i=!0,a++;let l="";return n.showDifficultyText&&n.showDifficultyNumber?l=`${s} (${r})`:n.showDifficultyText?l=s:n.showDifficultyNumber&&(l=r.toString()),l}function ome({skill:e,skillCheckId:t,value:n}){const r=Dr(),o=r.getSkillCheck(t),i=y_(e),a=r.skills[e].level,s=p9(n,a);let l=!0,c=`<span class='skill-check'>[<span class='skill-check-name'>${i.name}</span> - `;return o.happened?o.succeeded?c="":(l=!1,c+=` <span class='skill-check-difficulty'>${s}</span> - <span class='skill-check-failed'>FAILED</span>]</span>`):c+=` <span class='skill-check-difficulty'>${s}</span>]</span>`,{difficultyText:c,allowed:l}}function ime(e,t){const n=Dr(),r=y_(t.skill),o=p9(t.difficulty,n.skills[t.skill].level);return`<span class='passive-skill-check skill-check'>[<span class='skill-check-name'>${r.name}</span> - <span class='skill-check-difficulty'>${o}</span> - ${e?'<span class="skill-check-success">Success</span>':'<span class="skill-check-failed">Failure</span>'}]</span>`}function ame(e){const{options:t}=sp(),n=sme(t,e),i=Dr().skills[e].level*t.extraPointsPerLevel;let a=n.reduce((s,l)=>s+l.unmodified,i);return t.finalRollIsHighest?(a=n.reduce((s,l)=>l.modified>s?l.modified:s,0),wi.log(`[SKILL CHECK] Keeping only highest roll: ${a}`)):t.finalRollIsLowest&&(a=n.reduce((s,l)=>l.modified<s?l.modified:s,n[0].modified),wi.log(`[SKILL CHECK] Keeping only lowest roll: ${a}`)),{roll:a,rolls:n}}function sme(e,t){const r=Dr().skills[t],o=r.level*e.extraPointsPerLevel;let{diceRange:i,diceCount:a}=e;e.extraDicePerLevel&&(a+=e.extraDicePerLevel*r.level);const s=[];for(let l=0;l<a;l++){const c=lme(i),f=c+o;wi.log(`[SKILL CHECK] Roll ${l+1}/${a}: ${f}. (Base roll: ${c}, modifier: ${o} - Skill level: ${r.level})`),s.push({unmodified:c,modified:f})}return s}function lme(e){return Math.floor(Math.random()*e[1])+e[0]}function cme(e){const{skills:t}=rl(),{roll:n,rolls:r}=ame(e.skill),o=t[e.skill];let i=!1;if(typeof e.winsNeeded=="number"){const a=r.reduce((s,l)=>(m9(l.modified,e.difficulty)&&s++,s),0);a>=e.winsNeeded&&(i=!0),wi.log(`[SKILL CHECK ${o.name}] - Dice pool mode. ${e.winsNeeded} wins needed. Got ${a} successes.
|
|
175
|
-
(${e.id} - ${a}/${e.winsNeeded} - rolls: ${JSON.stringify(r.map(s=>s.modified))})`)}else i=m9(n,e.difficulty),wi.log(`[SKILL CHECK ${o.name}]: ${i?"✅":"❌"}`,`(${e.id}) - ${n}/${e.difficulty}`);return Jc(i?"onSkillCheckSuccess":"onSkillCheckFailure"),i}function m9(e,t){const{options:n}=sp();let r=e>=t;return n.successOnRollsBelowThreshold&&(r=e<=t),n.failOnRollsEqualToThreshold&&e===t&&(r=!1),r}var J={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Type=e.StandardType=e.ExtendedTypeBuilder=e.StandardTypeBuilder=e.TypeBuilder=e.TemplateLiteralDslParser=e.TemplateLiteralGenerator=e.TemplateLiteralFinite=e.TemplateLiteralParser=e.TemplateLiteralParserError=e.TemplateLiteralResolver=e.TemplateLiteralPattern=e.UnionResolver=e.KeyArrayResolver=e.KeyResolver=e.ObjectMap=e.IndexedAccessor=e.TypeClone=e.TypeExtends=e.TypeExtendsResult=e.ExtendsUndefined=e.TypeGuard=e.TypeGuardUnknownTypeError=e.FormatRegistry=e.TypeRegistry=e.PatternStringExact=e.PatternNumberExact=e.PatternBooleanExact=e.PatternString=e.PatternNumber=e.PatternBoolean=e.Kind=e.Hint=e.Modifier=void 0,e.Modifier=Symbol.for("TypeBox.Modifier"),e.Hint=Symbol.for("TypeBox.Hint"),e.Kind=Symbol.for("TypeBox.Kind"),e.PatternBoolean="(true|false)",e.PatternNumber="(0|[1-9][0-9]*)",e.PatternString="(.*)",e.PatternBooleanExact=`^${e.PatternBoolean}$`,e.PatternNumberExact=`^${e.PatternNumber}$`,e.PatternStringExact=`^${e.PatternString}$`;var t;(function(O){const S=new Map;function C(){return new Map(S)}O.Entries=C;function P(){return S.clear()}O.Clear=P;function U(W){return S.has(W)}O.Has=U;function E(W,V){S.set(W,V)}O.Set=E;function L(W){return S.get(W)}O.Get=L})(t||(e.TypeRegistry=t={}));var n;(function(O){const S=new Map;function C(){return new Map(S)}O.Entries=C;function P(){return S.clear()}O.Clear=P;function U(W){return S.has(W)}O.Has=U;function E(W,V){S.set(W,V)}O.Set=E;function L(W){return S.get(W)}O.Get=L})(n||(e.FormatRegistry=n={}));class r extends Error{constructor(S){super("TypeGuard: Unknown type"),this.schema=S}}e.TypeGuardUnknownTypeError=r;var o;(function(O){function S(H){return typeof H=="object"&&H!==null&&!Array.isArray(H)}function C(H){return typeof H=="object"&&H!==null&&Array.isArray(H)}function P(H){try{return new RegExp(H),!0}catch{return!1}}function U(H){if(typeof H!="string")return!1;for(let Ue=0;Ue<H.length;Ue++){const st=H.charCodeAt(Ue);if(st>=7&&st<=13||st===27||st===127)return!1}return!0}function E(H){return I(H)||Ot(H)}function L(H){return typeof H=="bigint"}function W(H){return typeof H=="string"}function V(H){return typeof H=="number"&&globalThis.Number.isFinite(H)}function F(H){return typeof H=="boolean"}function D(H){return H===void 0||H!==void 0&&L(H)}function M(H){return H===void 0||H!==void 0&&V(H)}function I(H){return H===void 0||H!==void 0&&F(H)}function R(H){return H===void 0||H!==void 0&&W(H)}function j(H){return H===void 0||H!==void 0&&W(H)&&U(H)&&P(H)}function A(H){return H===void 0||H!==void 0&&W(H)&&U(H)}function B(H){return H===void 0||Ot(H)}function Q(H){return Be(H)&&H[e.Kind]==="Any"&&R(H.$id)}O.TAny=Q;function te(H){return Be(H)&&H[e.Kind]==="Array"&&H.type==="array"&&R(H.$id)&&Ot(H.items)&&M(H.minItems)&&M(H.maxItems)&&I(H.uniqueItems)}O.TArray=te;function he(H){return Be(H)&&H[e.Kind]==="BigInt"&&H.type==="null"&&H.typeOf==="BigInt"&&R(H.$id)&&D(H.multipleOf)&&D(H.minimum)&&D(H.maximum)&&D(H.exclusiveMinimum)&&D(H.exclusiveMaximum)}O.TBigInt=he;function de(H){return Be(H)&&H[e.Kind]==="Boolean"&&H.type==="boolean"&&R(H.$id)}O.TBoolean=de;function ke(H){if(!(Be(H)&&H[e.Kind]==="Constructor"&&H.type==="object"&&H.instanceOf==="Constructor"&&R(H.$id)&&C(H.parameters)&&Ot(H.returns)))return!1;for(const Ue of H.parameters)if(!Ot(Ue))return!1;return!0}O.TConstructor=ke;function be(H){return Be(H)&&H[e.Kind]==="Date"&&H.type==="object"&&H.instanceOf==="Date"&&R(H.$id)&&M(H.minimumTimestamp)&&M(H.maximumTimestamp)&&M(H.exclusiveMinimumTimestamp)&&M(H.exclusiveMaximumTimestamp)}O.TDate=be;function Le(H){if(!(Be(H)&&H[e.Kind]==="Function"&&H.type==="object"&&H.instanceOf==="Function"&&R(H.$id)&&C(H.parameters)&&Ot(H.returns)))return!1;for(const Ue of H.parameters)if(!Ot(Ue))return!1;return!0}O.TFunction=Le;function ee(H){return Be(H)&&H[e.Kind]==="Integer"&&H.type==="integer"&&R(H.$id)&&M(H.multipleOf)&&M(H.minimum)&&M(H.maximum)&&M(H.exclusiveMinimum)&&M(H.exclusiveMaximum)}O.TInteger=ee;function Ae(H){if(!(Be(H)&&H[e.Kind]==="Intersect"&&C(H.allOf)&&R(H.type)&&(I(H.unevaluatedProperties)||B(H.unevaluatedProperties))&&R(H.$id))||"type"in H&&H.type!=="object")return!1;for(const Ue of H.allOf)if(!Ot(Ue))return!1;return!0}O.TIntersect=Ae;function Be(H){return S(H)&&e.Kind in H&&typeof H[e.Kind]=="string"}O.TKind=Be;function Te(H){return Be(H)&&H[e.Kind]==="Literal"&&R(H.$id)&&typeof H.const=="string"}O.TLiteralString=Te;function X(H){return Be(H)&&H[e.Kind]==="Literal"&&R(H.$id)&&typeof H.const=="number"}O.TLiteralNumber=X;function re(H){return Be(H)&&H[e.Kind]==="Literal"&&R(H.$id)&&typeof H.const=="boolean"}O.TLiteralBoolean=re;function we(H){return Te(H)||X(H)||re(H)}O.TLiteral=we;function Me(H){return Be(H)&&H[e.Kind]==="Never"&&S(H.not)&&globalThis.Object.getOwnPropertyNames(H.not).length===0}O.TNever=Me;function Ee(H){return Be(H)&&H[e.Kind]==="Not"&&Ot(H.not)}O.TNot=Ee;function Ze(H){return Be(H)&&H[e.Kind]==="Null"&&H.type==="null"&&R(H.$id)}O.TNull=Ze;function ve(H){return Be(H)&&H[e.Kind]==="Number"&&H.type==="number"&&R(H.$id)&&M(H.multipleOf)&&M(H.minimum)&&M(H.maximum)&&M(H.exclusiveMinimum)&&M(H.exclusiveMaximum)}O.TNumber=ve;function Ne(H){if(!(Be(H)&&H[e.Kind]==="Object"&&H.type==="object"&&R(H.$id)&&S(H.properties)&&E(H.additionalProperties)&&M(H.minProperties)&&M(H.maxProperties)))return!1;for(const[Ue,st]of Object.entries(H.properties))if(!U(Ue)||!Ot(st))return!1;return!0}O.TObject=Ne;function ze(H){return Be(H)&&H[e.Kind]==="Promise"&&H.type==="object"&&H.instanceOf==="Promise"&&R(H.$id)&&Ot(H.item)}O.TPromise=ze;function Qe(H){if(!(Be(H)&&H[e.Kind]==="Record"&&H.type==="object"&&R(H.$id)&&E(H.additionalProperties)&&S(H.patternProperties)))return!1;const Ue=Object.keys(H.patternProperties);return!(Ue.length!==1||!P(Ue[0])||!Ot(H.patternProperties[Ue[0]]))}O.TRecord=Qe;function He(H){return Be(H)&&H[e.Kind]==="Ref"&&R(H.$id)&&W(H.$ref)}O.TRef=He;function at(H){return Be(H)&&H[e.Kind]==="String"&&H.type==="string"&&R(H.$id)&&M(H.minLength)&&M(H.maxLength)&&j(H.pattern)&&A(H.format)}O.TString=at;function dt(H){return Be(H)&&H[e.Kind]==="Symbol"&&H.type==="null"&&H.typeOf==="Symbol"&&R(H.$id)}O.TSymbol=dt;function sn(H){return Be(H)&&H[e.Kind]==="TemplateLiteral"&&H.type==="string"&&W(H.pattern)&&H.pattern[0]==="^"&&H.pattern[H.pattern.length-1]==="$"}O.TTemplateLiteral=sn;function yt(H){return Be(H)&&H[e.Kind]==="This"&&R(H.$id)&&W(H.$ref)}O.TThis=yt;function mn(H){if(!(Be(H)&&H[e.Kind]==="Tuple"&&H.type==="array"&&R(H.$id)&&V(H.minItems)&&V(H.maxItems)&&H.minItems===H.maxItems))return!1;if(H.items===void 0&&H.additionalItems===void 0&&H.minItems===0)return!0;if(!C(H.items))return!1;for(const Ue of H.items)if(!Ot(Ue))return!1;return!0}O.TTuple=mn;function Kt(H){return Be(H)&&H[e.Kind]==="Undefined"&&H.type==="null"&&H.typeOf==="Undefined"&&R(H.$id)}O.TUndefined=Kt;function tn(H){return ln(H)&&H.anyOf.every(Ue=>Te(Ue)||X(Ue))}O.TUnionLiteral=tn;function ln(H){if(!(Be(H)&&H[e.Kind]==="Union"&&C(H.anyOf)&&R(H.$id)))return!1;for(const Ue of H.anyOf)if(!Ot(Ue))return!1;return!0}O.TUnion=ln;function Jn(H){return Be(H)&&H[e.Kind]==="Uint8Array"&&H.type==="object"&&R(H.$id)&&H.instanceOf==="Uint8Array"&&M(H.minByteLength)&&M(H.maxByteLength)}O.TUint8Array=Jn;function En(H){return Be(H)&&H[e.Kind]==="Unknown"&&R(H.$id)}O.TUnknown=En;function Xn(H){return Be(H)&&H[e.Kind]==="Unsafe"}O.TUnsafe=Xn;function zn(H){return Be(H)&&H[e.Kind]==="Void"&&H.type==="null"&&H.typeOf==="Void"&&R(H.$id)}O.TVoid=zn;function fn(H){return S(H)&&H[e.Modifier]==="ReadonlyOptional"}O.TReadonlyOptional=fn;function Oe(H){return S(H)&&H[e.Modifier]==="Readonly"}O.TReadonly=Oe;function bt(H){return S(H)&&H[e.Modifier]==="Optional"}O.TOptional=bt;function Ot(H){return typeof H=="object"&&(Q(H)||te(H)||de(H)||he(H)||ke(H)||be(H)||Le(H)||ee(H)||Ae(H)||we(H)||Me(H)||Ee(H)||Ze(H)||ve(H)||Ne(H)||ze(H)||Qe(H)||He(H)||at(H)||dt(H)||sn(H)||yt(H)||mn(H)||Kt(H)||ln(H)||Jn(H)||En(H)||Xn(H)||zn(H)||Be(H)&&t.Has(H[e.Kind]))}O.TSchema=Ot})(o||(e.TypeGuard=o={}));var i;(function(O){function S(C){return C[e.Kind]==="Undefined"?!0:C[e.Kind]==="Not"?!S(C.not):C[e.Kind]==="Intersect"?C.allOf.every(U=>S(U)):C[e.Kind]==="Union"?C.anyOf.some(U=>S(U)):!1}O.Check=S})(i||(e.ExtendsUndefined=i={}));var a;(function(O){O[O.Union=0]="Union",O[O.True=1]="True",O[O.False=2]="False"})(a||(e.TypeExtendsResult=a={}));var s;(function(O){function S(q){return q===a.False?a.False:a.True}function C(q,_){return a.True}function P(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)&&_.anyOf.some(G=>o.TAny(G)||o.TUnknown(G))?a.True:o.TUnion(_)?a.Union:o.TUnknown(_)||o.TAny(_)?a.True:a.Union}function U(q,_){return o.TUnknown(q)?a.False:o.TAny(q)?a.Union:o.TNever(q)?a.True:a.False}function E(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)&&Qe(_)?a.True:o.TArray(_)?S(oe(q.items,_.items)):a.False}function L(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TBigInt(_)?a.True:a.False}function W(q,_){return o.TLiteral(q)&&typeof q.const=="boolean"||o.TBoolean(q)?a.True:a.False}function V(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TBoolean(_)?a.True:a.False}function F(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):!o.TConstructor(_)||q.parameters.length>_.parameters.length||!q.parameters.every((G,le)=>S(oe(_.parameters[le],G))===a.True)?a.False:S(oe(q.returns,_.returns))}function D(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TDate(_)?a.True:a.False}function M(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):!o.TFunction(_)||q.parameters.length>_.parameters.length||!q.parameters.every((G,le)=>S(oe(_.parameters[le],G))===a.True)?a.False:S(oe(q.returns,_.returns))}function I(q,_){return o.TLiteral(q)&&typeof q.const=="number"||o.TNumber(q)||o.TInteger(q)?a.True:a.False}function R(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TInteger(_)||o.TNumber(_)?a.True:a.False}function j(q,_){return _.allOf.every(G=>oe(q,G)===a.True)?a.True:a.False}function A(q,_){return q.allOf.some(G=>oe(G,_)===a.True)?a.True:a.False}function B(q){return typeof q.const=="string"}function Q(q){return typeof q.const=="number"}function te(q){return typeof q.const=="boolean"}function he(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TString(_)?Jn(q):o.TNumber(_)?Ae(q):o.TInteger(_)?I(q):o.TBoolean(_)?W(q):o.TLiteral(_)&&_.const===q.const?a.True:a.False}function de(q,_){return a.False}function ke(q,_){return a.True}function be(q){let[_,G]=[q,0];for(;o.TNot(_);)_=_.not,G+=1;return G%2===0?_:e.Type.Unknown()}function Le(q,_){if(o.TNot(q))return oe(be(q),_);if(o.TNot(_))return oe(q,be(_));throw new Error("TypeExtends: Invalid fallthrough for Not")}function ee(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TNull(_)?a.True:a.False}function Ae(q,_){return o.TLiteral(q)&&Q(q)||o.TNumber(q)||o.TInteger(q)?a.True:a.False}function Be(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TInteger(_)||o.TNumber(_)?a.True:a.False}function Te(q,_){return globalThis.Object.keys(q.properties).length===_}function X(q){return Qe(q)}function re(q){return Te(q,0)||Te(q,1)&&"description"in q.properties&&o.TUnion(q.properties.description)&&q.properties.description.anyOf.length===2&&(o.TString(q.properties.description.anyOf[0])&&o.TUndefined(q.properties.description.anyOf[1])||o.TString(q.properties.description.anyOf[1])&&o.TUndefined(q.properties.description.anyOf[0]))}function we(q){return Te(q,0)}function Me(q){return Te(q,0)}function Ee(q){return Te(q,0)}function Ze(q){return Te(q,0)}function ve(q){return Qe(q)}function Ne(q){const _=e.Type.Number();return Te(q,0)||Te(q,1)&&"length"in q.properties&&S(oe(q.properties.length,_))===a.True}function ze(q){return Te(q,0)}function Qe(q){const _=e.Type.Number();return Te(q,0)||Te(q,1)&&"length"in q.properties&&S(oe(q.properties.length,_))===a.True}function He(q){const _=e.Type.Function([e.Type.Any()],e.Type.Any());return Te(q,0)||Te(q,1)&&"then"in q.properties&&S(oe(q.properties.then,_))===a.True}function at(q,_){return oe(q,_)===a.False||o.TOptional(q)&&!o.TOptional(_)?a.False:a.True}function dt(q,_){return o.TUnknown(q)?a.False:o.TAny(q)?a.Union:o.TNever(q)||o.TLiteral(q)&&B(q)&&X(_)||o.TLiteral(q)&&Q(q)&&we(_)||o.TLiteral(q)&&te(q)&&Me(_)||o.TSymbol(q)&&re(_)||o.TBigInt(q)&&Ee(_)||o.TString(q)&&X(_)||o.TSymbol(q)&&re(_)||o.TNumber(q)&&we(_)||o.TInteger(q)&&we(_)||o.TBoolean(q)&&Me(_)||o.TUint8Array(q)&&ve(_)||o.TDate(q)&&Ze(_)||o.TConstructor(q)&&ze(_)||o.TFunction(q)&&Ne(_)?a.True:o.TRecord(q)&&o.TString(mn(q))?_[e.Hint]==="Record"?a.True:a.False:o.TRecord(q)&&o.TNumber(mn(q))&&Te(_,0)?a.True:a.False}function sn(q,_){if(o.TIntersect(_))return j(q,_);if(o.TUnion(_))return Ue(q,_);if(o.TUnknown(_))return ht();if(o.TAny(_))return C();if(o.TRecord(_))return tn(q,_);if(!o.TObject(_))return a.False;for(const G of globalThis.Object.keys(_.properties))if(!(G in q.properties)||at(q.properties[G],_.properties[G])===a.False)return a.False;return a.True}function yt(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)&&He(_)?a.True:o.TPromise(_)?S(oe(q.item,_.item)):a.False}function mn(q){if(e.PatternNumberExact in q.patternProperties)return e.Type.Number();if(e.PatternStringExact in q.patternProperties)return e.Type.String();throw Error("TypeExtends: Cannot get record key")}function Kt(q){if(e.PatternNumberExact in q.patternProperties)return q.patternProperties[e.PatternNumberExact];if(e.PatternStringExact in q.patternProperties)return q.patternProperties[e.PatternStringExact];throw Error("TypeExtends: Cannot get record value")}function tn(q,_){const G=mn(_),le=Kt(_);if(o.TLiteral(q)&&B(q)&&o.TNumber(G)&&S(oe(q,le))===a.True)return a.True;if(o.TUint8Array(q)&&o.TNumber(G)||o.TString(q)&&o.TNumber(G)||o.TArray(q)&&o.TNumber(G))return oe(q,le);if(o.TObject(q)){for(const xe of globalThis.Object.keys(q.properties))if(at(le,q.properties[xe])===a.False)return a.False;return a.True}return a.False}function ln(q,_){const G=Kt(q);return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?oe(G,Kt(_)):a.False}function Jn(q,_){return o.TLiteral(q)&&typeof q.const=="string"||o.TString(q)?a.True:a.False}function En(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TString(_)?a.True:a.False}function Xn(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TSymbol(_)?a.True:a.False}function zn(q,_){if(o.TTemplateLiteral(q))return oe(m.Resolve(q),_);if(o.TTemplateLiteral(_))return oe(q,m.Resolve(_));throw new Error("TypeExtends: Invalid fallthrough for TemplateLiteral")}function fn(q,_){return o.TUnknown(q)?a.False:o.TAny(q)?a.Union:o.TNever(q)?a.True:a.False}function Oe(q,_){return o.TArray(_)&&q.items!==void 0&&q.items.every(G=>oe(G,_.items)===a.True)}function bt(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)&&Qe(_)||o.TArray(_)&&Oe(q,_)?a.True:!o.TTuple(_)||q.items===void 0&&_.items!==void 0||q.items!==void 0&&_.items===void 0?a.False:q.items===void 0&&_.items===void 0||q.items.every((G,le)=>oe(G,_.items[le])===a.True)?a.True:a.False}function Ot(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TUint8Array(_)?a.True:a.False}function H(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TVoid(_)?dn(q):o.TUndefined(_)?a.True:a.False}function Ue(q,_){return _.anyOf.some(G=>oe(q,G)===a.True)?a.True:a.False}function st(q,_){return q.anyOf.every(G=>oe(G,_)===a.True)?a.True:a.False}function ht(q,_){return a.True}function Un(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TAny(_)?C():o.TString(_)?Jn(q):o.TNumber(_)?Ae(q):o.TInteger(_)?I(q):o.TBoolean(_)?W(q):o.TArray(_)?U(q):o.TTuple(_)?fn(q):o.TObject(_)?dt(q,_):o.TUnknown(_)?a.True:a.False}function dn(q,_){return o.TUndefined(q)||o.TUndefined(q)?a.True:a.False}function Rr(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TVoid(_)?a.True:a.False}function oe(q,_){if(o.TTemplateLiteral(q)||o.TTemplateLiteral(_))return zn(q,_);if(o.TNot(q)||o.TNot(_))return Le(q,_);if(o.TAny(q))return P(q,_);if(o.TArray(q))return E(q,_);if(o.TBigInt(q))return L(q,_);if(o.TBoolean(q))return V(q,_);if(o.TConstructor(q))return F(q,_);if(o.TDate(q))return D(q,_);if(o.TFunction(q))return M(q,_);if(o.TInteger(q))return R(q,_);if(o.TIntersect(q))return A(q,_);if(o.TLiteral(q))return he(q,_);if(o.TNever(q))return ke();if(o.TNull(q))return ee(q,_);if(o.TNumber(q))return Be(q,_);if(o.TObject(q))return sn(q,_);if(o.TRecord(q))return ln(q,_);if(o.TString(q))return En(q,_);if(o.TSymbol(q))return Xn(q,_);if(o.TTuple(q))return bt(q,_);if(o.TPromise(q))return yt(q,_);if(o.TUint8Array(q))return Ot(q,_);if(o.TUndefined(q))return H(q,_);if(o.TUnion(q))return st(q,_);if(o.TUnknown(q))return Un(q,_);if(o.TVoid(q))return Rr(q,_);throw Error(`TypeExtends: Unknown left type operand '${q[e.Kind]}'`)}function ye(q,_){return oe(q,_)}O.Extends=ye})(s||(e.TypeExtends=s={}));var l;(function(O){function S(W){return typeof W=="object"&&W!==null}function C(W){return globalThis.Array.isArray(W)}function P(W){return W.map(V=>E(V))}function U(W){const V=globalThis.Object.getOwnPropertyNames(W).reduce((D,M)=>({...D,[M]:E(W[M])}),{}),F=globalThis.Object.getOwnPropertySymbols(W).reduce((D,M)=>({...D,[M]:E(W[M])}),{});return{...V,...F}}function E(W){return C(W)?P(W):S(W)?U(W):W}function L(W,V){return{...E(W),...V}}O.Clone=L})(l||(e.TypeClone=l={}));var c;(function(O){function S(W,V){const F=W.allOf.reduce((D,M)=>{const I=E(M,V);return I[e.Kind]==="Never"?D:[...D,I]},[]);return e.Type.Intersect(F)}function C(W,V){const F=W.anyOf.map(D=>E(D,V));return e.Type.Union(F)}function P(W,V){const F=W.properties[V];return F===void 0?e.Type.Never():e.Type.Union([F])}function U(W,V){const F=W.items;if(F===void 0)return e.Type.Never();const D=F[V];return D===void 0?e.Type.Never():D}function E(W,V){return W[e.Kind]==="Intersect"?S(W,V):W[e.Kind]==="Union"?C(W,V):W[e.Kind]==="Object"?P(W,V):W[e.Kind]==="Tuple"?U(W,V):e.Type.Never()}function L(W,V,F={}){return e.Type.Union(V.map(D=>E(W,D.toString())),F)}O.Resolve=L})(c||(e.IndexedAccessor=c={}));var f;(function(O){function S(L,W){return e.Type.Intersect(L.allOf.map(V=>U(V,W)),{...L})}function C(L,W){return e.Type.Union(L.anyOf.map(V=>U(V,W)),{...L})}function P(L,W){return W(L)}function U(L,W){return L[e.Kind]==="Intersect"?S(L,W):L[e.Kind]==="Union"?C(L,W):L[e.Kind]==="Object"?P(L,W):L}function E(L,W,V){return{...U(l.Clone(L,{}),W),...V}}O.Map=E})(f||(e.ObjectMap=f={}));var u;(function(O){function S(F){return F[0]==="^"&&F[F.length-1]==="$"?F.slice(1,F.length-1):F}function C(F,D){return F.allOf.reduce((M,I)=>[...M,...L(I,D)],[])}function P(F,D){const M=F.anyOf.map(I=>L(I,D));return[...M.reduce((I,R)=>R.map(j=>M.every(A=>A.includes(j))?I.add(j):I)[0],new Set)]}function U(F,D){return globalThis.Object.keys(F.properties)}function E(F,D){return D.includePatterns?globalThis.Object.keys(F.patternProperties):[]}function L(F,D){return o.TIntersect(F)?C(F,D):o.TUnion(F)?P(F,D):o.TObject(F)?U(F):o.TRecord(F)?E(F,D):[]}function W(F,D){return[...new Set(L(F,D))]}O.ResolveKeys=W;function V(F){return`^(${W(F,{includePatterns:!0}).map(I=>`(${S(I)})`).join("|")})$`}O.ResolvePattern=V})(u||(e.KeyResolver=u={}));var d;(function(O){function S(C){if(globalThis.Array.isArray(C))return C;if(o.TUnionLiteral(C))return C.anyOf.map(P=>P.const.toString());if(o.TLiteral(C))return[C.const];if(o.TTemplateLiteral(C)){const P=g.ParseExact(C.pattern);if(!y.Check(P))throw Error("KeyArrayResolver: Cannot resolve keys from infinite template expression");return[...w.Generate(P)]}return[]}O.Resolve=S})(d||(e.KeyArrayResolver=d={}));var h;(function(O){function*S(P){for(const U of P.anyOf)U[e.Kind]==="Union"?yield*S(U):yield U}function C(P){return e.Type.Union([...S(P)],{...P})}O.Resolve=C})(h||(e.UnionResolver=h={}));var p;(function(O){function S(U){return U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function C(U,E){if(o.TTemplateLiteral(U))return U.pattern.slice(1,U.pattern.length-1);if(o.TUnion(U))return`(${U.anyOf.map(W=>C(W,E)).join("|")})`;if(o.TNumber(U))return`${E}${e.PatternNumber}`;if(o.TInteger(U))return`${E}${e.PatternNumber}`;if(o.TBigInt(U))return`${E}${e.PatternNumber}`;if(o.TString(U))return`${E}${e.PatternString}`;if(o.TLiteral(U))return`${E}${S(U.const.toString())}`;if(o.TBoolean(U))return`${E}${e.PatternBoolean}`;throw o.TNever(U)?Error("TemplateLiteralPattern: TemplateLiteral cannot operate on types of TNever"):Error(`TemplateLiteralPattern: Unexpected Kind '${U[e.Kind]}'`)}function P(U){return`^${U.map(E=>C(E,"")).join("")}$`}O.Create=P})(p||(e.TemplateLiteralPattern=p={}));var m;(function(O){function S(C){const P=g.ParseExact(C.pattern);if(!y.Check(P))return e.Type.String();const U=[...w.Generate(P)].map(E=>e.Type.Literal(E));return e.Type.Union(U)}O.Resolve=S})(m||(e.TemplateLiteralResolver=m={}));class v extends Error{constructor(S){super(S)}}e.TemplateLiteralParserError=v;var g;(function(O){function S(R,j,A){return R[j]===A&&R.charCodeAt(j-1)!==92}function C(R,j){return S(R,j,"(")}function P(R,j){return S(R,j,")")}function U(R,j){return S(R,j,"|")}function E(R){if(!(C(R,0)&&P(R,R.length-1)))return!1;let j=0;for(let A=0;A<R.length;A++)if(C(R,A)&&(j+=1),P(R,A)&&(j-=1),j===0&&A!==R.length-1)return!1;return!0}function L(R){return R.slice(1,R.length-1)}function W(R){let j=0;for(let A=0;A<R.length;A++)if(C(R,A)&&(j+=1),P(R,A)&&(j-=1),U(R,A)&&j===0)return!0;return!1}function V(R){for(let j=0;j<R.length;j++)if(C(R,j))return!0;return!1}function F(R){let[j,A]=[0,0];const B=[];for(let te=0;te<R.length;te++)if(C(R,te)&&(j+=1),P(R,te)&&(j-=1),U(R,te)&&j===0){const he=R.slice(A,te);he.length>0&&B.push(M(he)),A=te+1}const Q=R.slice(A);return Q.length>0&&B.push(M(Q)),B.length===0?{type:"const",const:""}:B.length===1?B[0]:{type:"or",expr:B}}function D(R){function j(Q,te){if(!C(Q,te))throw new v("TemplateLiteralParser: Index must point to open parens");let he=0;for(let de=te;de<Q.length;de++)if(C(Q,de)&&(he+=1),P(Q,de)&&(he-=1),he===0)return[te,de];throw new v("TemplateLiteralParser: Unclosed group parens in expression")}function A(Q,te){for(let he=te;he<Q.length;he++)if(C(Q,he))return[te,he];return[te,Q.length]}const B=[];for(let Q=0;Q<R.length;Q++)if(C(R,Q)){const[te,he]=j(R,Q),de=R.slice(te,he+1);B.push(M(de)),Q=he}else{const[te,he]=A(R,Q),de=R.slice(te,he);de.length>0&&B.push(M(de)),Q=he-1}return B.length===0?{type:"const",const:""}:B.length===1?B[0]:{type:"and",expr:B}}function M(R){return E(R)?M(L(R)):W(R)?F(R):V(R)?D(R):{type:"const",const:R}}O.Parse=M;function I(R){return M(R.slice(1,R.length-1))}O.ParseExact=I})(g||(e.TemplateLiteralParser=g={}));var y;(function(O){function S(E){return E.type==="or"&&E.expr.length===2&&E.expr[0].type==="const"&&E.expr[0].const==="0"&&E.expr[1].type==="const"&&E.expr[1].const==="[1-9][0-9]*"}function C(E){return E.type==="or"&&E.expr.length===2&&E.expr[0].type==="const"&&E.expr[0].const==="true"&&E.expr[1].type==="const"&&E.expr[1].const==="false"}function P(E){return E.type==="const"&&E.const===".*"}function U(E){if(C(E))return!0;if(S(E)||P(E))return!1;if(E.type==="and")return E.expr.every(L=>U(L));if(E.type==="or")return E.expr.every(L=>U(L));if(E.type==="const")return!0;throw Error("TemplateLiteralFinite: Unknown expression type")}O.Check=U})(y||(e.TemplateLiteralFinite=y={}));var w;(function(O){function*S(L){if(L.length===1)return yield*L[0];for(const W of L[0])for(const V of S(L.slice(1)))yield`${W}${V}`}function*C(L){return yield*S(L.expr.map(W=>[...E(W)]))}function*P(L){for(const W of L.expr)yield*E(W)}function*U(L){return yield L.const}function*E(L){if(L.type==="and")return yield*C(L);if(L.type==="or")return yield*P(L);if(L.type==="const")return yield*U(L);throw Error("TemplateLiteralGenerator: Unknown expression")}O.Generate=E})(w||(e.TemplateLiteralGenerator=w={}));var k;(function(O){function*S(E){const L=E.trim().replace(/"|'/g,"");if(L==="boolean")return yield e.Type.Boolean();if(L==="number")return yield e.Type.Number();if(L==="bigint")return yield e.Type.BigInt();if(L==="string")return yield e.Type.String();const W=L.split("|").map(V=>e.Type.Literal(V.trim()));return yield W.length===0?e.Type.Never():W.length===1?W[0]:e.Type.Union(W)}function*C(E){if(E[1]!=="{"){const L=e.Type.Literal("$"),W=P(E.slice(1));return yield*[L,...W]}for(let L=2;L<E.length;L++)if(E[L]==="}"){const W=S(E.slice(2,L)),V=P(E.slice(L+1));return yield*[...W,...V]}yield e.Type.Literal(E)}function*P(E){for(let L=0;L<E.length;L++)if(E[L]==="$"){const W=e.Type.Literal(E.slice(0,L)),V=C(E.slice(L));return yield*[W,...V]}yield e.Type.Literal(E)}function U(E){return[...P(E)]}O.Parse=U})(k||(e.TemplateLiteralDslParser=k={}));let $=0;class x{Create(S){return S}Strict(S){return JSON.parse(JSON.stringify(S))}}e.TypeBuilder=x;class T extends x{Optional(S){return{[e.Modifier]:"Optional",...l.Clone(S,{})}}ReadonlyOptional(S){return{[e.Modifier]:"ReadonlyOptional",...l.Clone(S,{})}}Readonly(S){return{[e.Modifier]:"Readonly",...S}}Any(S={}){return this.Create({...S,[e.Kind]:"Any"})}Array(S,C={}){return this.Create({...C,[e.Kind]:"Array",type:"array",items:l.Clone(S,{})})}Boolean(S={}){return this.Create({...S,[e.Kind]:"Boolean",type:"boolean"})}Composite(S,C){const P=e.Type.Intersect(S,{}),E=u.ResolveKeys(P,{includePatterns:!1}).reduce((L,W)=>({...L,[W]:e.Type.Index(P,[W])}),{});return e.Type.Object(E,C)}Enum(S,C={}){const U=globalThis.Object.keys(S).filter(E=>isNaN(E)).map(E=>S[E]).map(E=>typeof E=="string"?{[e.Kind]:"Literal",type:"string",const:E}:{[e.Kind]:"Literal",type:"number",const:E});return this.Create({...C,[e.Kind]:"Union",anyOf:U})}Extends(S,C,P,U,E={}){switch(s.Extends(S,C)){case a.Union:return this.Union([l.Clone(P,E),l.Clone(U,E)]);case a.True:return l.Clone(P,E);case a.False:return l.Clone(U,E)}}Exclude(S,C,P={}){if(o.TTemplateLiteral(S))return this.Exclude(m.Resolve(S),C,P);if(o.TTemplateLiteral(C))return this.Exclude(S,m.Resolve(C),P);if(o.TUnion(S)){const U=S.anyOf.filter(E=>s.Extends(E,C)===a.False);return U.length===1?l.Clone(U[0],P):this.Union(U,P)}else return s.Extends(S,C)!==a.False?this.Never(P):l.Clone(S,P)}Extract(S,C,P={}){if(o.TTemplateLiteral(S))return this.Extract(m.Resolve(S),C,P);if(o.TTemplateLiteral(C))return this.Extract(S,m.Resolve(C),P);if(o.TUnion(S)){const U=S.anyOf.filter(E=>s.Extends(E,C)!==a.False);return U.length===1?l.Clone(U[0],P):this.Union(U,P)}else return s.Extends(S,C)!==a.False?l.Clone(S,P):this.Never(P)}Index(S,C,P={}){if(o.TArray(S)&&o.TNumber(C))return l.Clone(S.items,P);if(o.TTuple(S)&&o.TNumber(C)){const E=(S.items===void 0?[]:S.items).map(L=>l.Clone(L,{}));return this.Union(E,P)}else{const U=d.Resolve(C),E=l.Clone(S,{});return c.Resolve(E,U,P)}}Integer(S={}){return this.Create({...S,[e.Kind]:"Integer",type:"integer"})}Intersect(S,C={}){if(S.length===0)return e.Type.Never();if(S.length===1)return l.Clone(S[0],C);const P=S.every(L=>o.TObject(L)),U=S.map(L=>l.Clone(L,{})),E=o.TSchema(C.unevaluatedProperties)?{unevaluatedProperties:l.Clone(C.unevaluatedProperties,{})}:{};return C.unevaluatedProperties===!1||o.TSchema(C.unevaluatedProperties)||P?this.Create({...C,...E,[e.Kind]:"Intersect",type:"object",allOf:U}):this.Create({...C,...E,[e.Kind]:"Intersect",allOf:U})}KeyOf(S,C={}){if(o.TRecord(S)){const P=Object.getOwnPropertyNames(S.patternProperties)[0];if(P===e.PatternNumberExact)return this.Number(C);if(P===e.PatternStringExact)return this.String(C);throw Error("StandardTypeBuilder: Unable to resolve key type from Record key pattern")}else if(o.TTuple(S)){const U=(S.items===void 0?[]:S.items).map((E,L)=>e.Type.Literal(L));return this.Union(U,C)}else{if(o.TArray(S))return this.Number(C);{const P=u.ResolveKeys(S,{includePatterns:!1});if(P.length===0)return this.Never(C);const U=P.map(E=>this.Literal(E));return this.Union(U,C)}}}Literal(S,C={}){return this.Create({...C,[e.Kind]:"Literal",const:S,type:typeof S})}Never(S={}){return this.Create({...S,[e.Kind]:"Never",not:{}})}Not(S,C){return this.Create({...C,[e.Kind]:"Not",not:S})}Null(S={}){return this.Create({...S,[e.Kind]:"Null",type:"null"})}Number(S={}){return this.Create({...S,[e.Kind]:"Number",type:"number"})}Object(S,C={}){const P=globalThis.Object.getOwnPropertyNames(S),U=P.filter(V=>o.TOptional(S[V])||o.TReadonlyOptional(S[V])),E=P.filter(V=>!U.includes(V)),L=o.TSchema(C.additionalProperties)?{additionalProperties:l.Clone(C.additionalProperties,{})}:{},W=P.reduce((V,F)=>({...V,[F]:l.Clone(S[F],{})}),{});return E.length>0?this.Create({...C,...L,[e.Kind]:"Object",type:"object",properties:W,required:E}):this.Create({...C,...L,[e.Kind]:"Object",type:"object",properties:W})}Omit(S,C,P={}){const U=d.Resolve(C);return f.Map(l.Clone(S,{}),E=>{E.required&&(E.required=E.required.filter(L=>!U.includes(L)),E.required.length===0&&delete E.required);for(const L of globalThis.Object.keys(E.properties))U.includes(L)&&delete E.properties[L];return this.Create(E)},P)}Partial(S,C={}){function P(U){switch(U[e.Modifier]){case"ReadonlyOptional":U[e.Modifier]="ReadonlyOptional";break;case"Readonly":U[e.Modifier]="ReadonlyOptional";break;case"Optional":U[e.Modifier]="Optional";break;default:U[e.Modifier]="Optional";break}}return f.Map(l.Clone(S,{}),U=>(delete U.required,globalThis.Object.keys(U.properties).forEach(E=>P(U.properties[E])),U),C)}Pick(S,C,P={}){const U=d.Resolve(C);return f.Map(l.Clone(S,{}),E=>{E.required&&(E.required=E.required.filter(L=>U.includes(L)),E.required.length===0&&delete E.required);for(const L of globalThis.Object.keys(E.properties))U.includes(L)||delete E.properties[L];return this.Create(E)},P)}Record(S,C,P={}){if(o.TTemplateLiteral(S)){const U=g.ParseExact(S.pattern);return y.Check(U)?this.Object([...w.Generate(U)].reduce((E,L)=>({...E,[L]:l.Clone(C,{})}),{}),P):this.Create({...P,[e.Kind]:"Record",type:"object",patternProperties:{[S.pattern]:l.Clone(C,{})}})}else if(o.TUnion(S)){const U=h.Resolve(S);if(o.TUnionLiteral(U)){const E=U.anyOf.reduce((L,W)=>({...L,[W.const]:l.Clone(C,{})}),{});return this.Object(E,{...P,[e.Hint]:"Record"})}else throw Error("TypeBuilder: Record key of type union contains non-literal types")}else if(o.TLiteral(S)){if(typeof S.const=="string"||typeof S.const=="number")return this.Object({[S.const]:l.Clone(C,{})},P);throw Error("TypeBuilder: Record key of type literal is not of type string or number")}else if(o.TInteger(S)||o.TNumber(S)){const U=e.PatternNumberExact;return this.Create({...P,[e.Kind]:"Record",type:"object",patternProperties:{[U]:l.Clone(C,{})}})}else if(o.TString(S)){const U=S.pattern===void 0?e.PatternStringExact:S.pattern;return this.Create({...P,[e.Kind]:"Record",type:"object",patternProperties:{[U]:l.Clone(C,{})}})}else throw Error("StandardTypeBuilder: Record key is an invalid type")}Recursive(S,C={}){C.$id===void 0&&(C.$id=`T${$++}`);const P=S({[e.Kind]:"This",$ref:`${C.$id}`});return P.$id=C.$id,this.Create({...C,[e.Hint]:"Recursive",...P})}Ref(S,C={}){if(S.$id===void 0)throw Error("StandardTypeBuilder.Ref: Target type must specify an $id");return this.Create({...C,[e.Kind]:"Ref",$ref:S.$id})}Required(S,C={}){function P(U){switch(U[e.Modifier]){case"ReadonlyOptional":U[e.Modifier]="Readonly";break;case"Readonly":U[e.Modifier]="Readonly";break;case"Optional":delete U[e.Modifier];break;default:delete U[e.Modifier];break}}return f.Map(l.Clone(S,{}),U=>(U.required=globalThis.Object.keys(U.properties),globalThis.Object.keys(U.properties).forEach(E=>P(U.properties[E])),U),C)}Rest(S){return o.TTuple(S)?S.items===void 0?[]:S.items.map(C=>l.Clone(C,{})):[l.Clone(S,{})]}String(S={}){return this.Create({...S,[e.Kind]:"String",type:"string"})}TemplateLiteral(S,C={}){const P=typeof S=="string"?p.Create(k.Parse(S)):p.Create(S);return this.Create({...C,[e.Kind]:"TemplateLiteral",type:"string",pattern:P})}Tuple(S,C={}){const[P,U,E]=[!1,S.length,S.length],L=S.map(V=>l.Clone(V,{})),W=S.length>0?{...C,[e.Kind]:"Tuple",type:"array",items:L,additionalItems:P,minItems:U,maxItems:E}:{...C,[e.Kind]:"Tuple",type:"array",minItems:U,maxItems:E};return this.Create(W)}Union(S,C={}){if(o.TTemplateLiteral(S))return m.Resolve(S);{const P=S;if(P.length===0)return this.Never(C);if(P.length===1)return this.Create(l.Clone(P[0],C));const U=P.map(E=>l.Clone(E,{}));return this.Create({...C,[e.Kind]:"Union",anyOf:U})}}Unknown(S={}){return this.Create({...S,[e.Kind]:"Unknown"})}Unsafe(S={}){return this.Create({...S,[e.Kind]:S[e.Kind]||"Unsafe"})}}e.StandardTypeBuilder=T;class N extends T{BigInt(S={}){return this.Create({...S,[e.Kind]:"BigInt",type:"null",typeOf:"BigInt"})}ConstructorParameters(S,C={}){return this.Tuple([...S.parameters],{...C})}Constructor(S,C,P){const U=l.Clone(C,{}),E=S.map(L=>l.Clone(L,{}));return this.Create({...P,[e.Kind]:"Constructor",type:"object",instanceOf:"Constructor",parameters:E,returns:U})}Date(S={}){return this.Create({...S,[e.Kind]:"Date",type:"object",instanceOf:"Date"})}Function(S,C,P){const U=l.Clone(C,{}),E=S.map(L=>l.Clone(L,{}));return this.Create({...P,[e.Kind]:"Function",type:"object",instanceOf:"Function",parameters:E,returns:U})}InstanceType(S,C={}){return l.Clone(S.returns,C)}Parameters(S,C={}){return this.Tuple(S.parameters,{...C})}Promise(S,C={}){return this.Create({...C,[e.Kind]:"Promise",type:"object",instanceOf:"Promise",item:l.Clone(S,{})})}RegEx(S,C={}){return this.Create({...C,[e.Kind]:"String",type:"string",pattern:S.source})}ReturnType(S,C={}){return l.Clone(S.returns,C)}Symbol(S){return this.Create({...S,[e.Kind]:"Symbol",type:"null",typeOf:"Symbol"})}Undefined(S={}){return this.Create({...S,[e.Kind]:"Undefined",type:"null",typeOf:"Undefined"})}Uint8Array(S={}){return this.Create({...S,[e.Kind]:"Uint8Array",type:"object",instanceOf:"Uint8Array"})}Void(S={}){return this.Create({...S,[e.Kind]:"Void",type:"null",typeOf:"Void"})}}e.ExtendedTypeBuilder=N,e.StandardType=new T,e.Type=new N})(J);const ume=J.Type.Object({src:J.Type.String(),path:J.Type.Optional(J.Type.String()),volume:J.Type.Optional(J.Type.Number()),rate:J.Type.Optional(J.Type.Number()),html5:J.Type.Optional(J.Type.Boolean())}),fme=J.Type.Record(J.Type.String(),ume),dme=J.Type.Object({volume:J.Type.Optional(J.Type.Number()),defaultMusic:J.Type.Optional(J.Type.String()),musicFadeInTime:J.Type.Optional(J.Type.Number()),musicFadeOutTime:J.Type.Optional(J.Type.Number()),musicFadeInDelay:J.Type.Optional(J.Type.Number())}),hme=J.Type.Record(J.Type.String(),J.Type.String()),v9=J.Type.Object({files:fme,audioTriggers:hme,options:dme}),g9={files:{},audioTriggers:{},options:{volume:1,musicFadeInTime:.5,musicFadeInDelay:.5,musicFadeOutTime:.5}},pme=J.Type.Object({name:J.Type.String(),description:J.Type.String(),icon:J.Type.String(),onUse:J.Type.Optional(J.Type.Object({action:J.Type.String(),label:J.Type.String()})),tag:J.Type.Optional(J.Type.String()),category:J.Type.Optional(J.Type.String()),showIfEmpty:J.Type.Optional(J.Type.Boolean())}),y9=J.Type.Object({id:J.Type.String(),title:J.Type.String()}),b9=J.Type.Record(J.Type.String(),pme);J.Type.Object({categories:J.Type.Array(y9),items:b9});const w9=J.Type.Object({categories:J.Type.Optional(J.Type.Array(y9)),items:J.Type.Optional(b9)}),k9={categories:[{id:"default",title:"Items"}],items:{}},mme=J.Type.Object({description:J.Type.String(),hidden:J.Type.Optional(J.Type.Boolean())}),vme=J.Type.Object({title:J.Type.String(),description:J.Type.String(),objectives:J.Type.Record(J.Type.String(),mme),category:J.Type.Optional(J.Type.String())}),gme=J.Type.Object({id:J.Type.String(),title:J.Type.String()}),yme=J.Type.Record(J.Type.String(),vme),x9=J.Type.Object({quests:yme,categories:J.Type.Array(gme)}),_9={quests:{},categories:[{id:"default",title:"Quests"}]},j9=J.Type.Object({enabled:J.Type.Boolean(),background:J.Type.Optional(J.Type.String()),text:J.Type.Optional(J.Type.String()),cssClass:J.Type.Optional(J.Type.String()),position:J.Type.Object({left:J.Type.Number(),top:J.Type.Number(),width:J.Type.Optional(J.Type.Number()),height:J.Type.Optional(J.Type.Number())}),anchor:J.Type.Optional(J.Type.Object({x:J.Type.Number(),y:J.Type.Number()})),action:J.Type.Optional(J.Type.String()),actionType:J.Type.Optional(J.Type.String()),scriptClickable:J.Type.Optional(J.Type.Boolean()),tag:J.Type.Optional(J.Type.String())}),bme=J.Type.Record(J.Type.String(),j9),S9=J.Type.Object({buttons:bme,clickableDuringScriptsByDefault:J.Type.Optional(J.Type.Boolean())}),C9={buttons:{},clickableDuringScriptsByDefault:!1},wme=J.Type.Intersect([j9,J.Type.Object({id:J.Type.String()})]),kme=J.Type.Object({background:J.Type.String(),buttons:J.Type.Optional(J.Type.Array(J.Type.Union([J.Type.String(),wme])))}),$9=J.Type.Record(J.Type.String(),kme);J.Type.Object({screens:$9});const T9=J.Type.Object({screens:J.Type.Optional($9)}),E9={screens:{}},xme=J.Type.Object({name:J.Type.String(),description:J.Type.String(),startingLevel:J.Type.Number(),hidden:J.Type.Optional(J.Type.Boolean()),icon:J.Type.String()}),O9=J.Type.Record(J.Type.String(),xme),A9=J.Type.Object({xpPerLevel:J.Type.Number(),notifyLevelUp:J.Type.Boolean()});J.Type.Object({skills:O9,skillOptions:A9});const M9=J.Type.Object({skills:J.Type.Optional(O9),skillOptions:J.Type.Optional(A9)}),P9={skills:{},skillOptions:{xpPerLevel:10,notifyLevelUp:!0}},Bg="###_--_~=:;_JUMP",Yx="###_--_~=:;_RETURN",_me="###_--_~=:;_OK",Fg="###_--_~=:;_STOP";function jme(e){return e===Bg||e===Yx||e===_me||e===Fg}const Sme="3.2.6-alpha.2",Cme=new Date("2023-07-05T22:46:36.918Z"),$me=400,Vg=20,Xx="@empty",N9={background:Xx},Tme=J.Type.Object({color:J.Type.Optional(J.Type.String()),boxCss:J.Type.Optional(J.Type.Record(J.Type.String(),J.Type.Any())),nameCss:J.Type.Optional(J.Type.Record(J.Type.String(),J.Type.Any())),textCss:J.Type.Optional(J.Type.Record(J.Type.String(),J.Type.Any()))}),Eme=J.Type.Object({sprites:J.Type.Optional(J.Type.Record(J.Type.String(),J.Type.String())),name:J.Type.String(),style:J.Type.Optional(Tme)}),I9=J.Type.Object({config:J.Type.Object({imagesPath:J.Type.String(),playerCharacter:J.Type.Optional(J.Type.String()),gameCharacter:J.Type.Optional(J.Type.String())}),characters:J.Type.Record(J.Type.String(),Eme)}),D9={config:{imagesPath:"",playerCharacter:"player",gameCharacter:"game"},characters:{}},Ome=J.Type.Object({backgrounds:J.Type.Object({width:J.Type.Number(),height:J.Type.Number()}),dialogBottomPadding:J.Type.Union([J.Type.Number(),J.Type.String()]),minTextWidth:J.Type.Optional(J.Type.Number()),verticalLayoutThreshold:J.Type.Number(),defaultFontSize:J.Type.Optional(J.Type.Number()),portraits:J.Type.Object({width:J.Type.Number(),height:J.Type.Number(),offset:J.Type.Optional(J.Type.Object({landscape:J.Type.Optional(J.Type.Object({right:J.Type.Number(),bottom:J.Type.Number()})),portrait:J.Type.Optional(J.Type.Object({right:J.Type.Number(),bottom:J.Type.Number()}))}))})}),Ame={backgrounds:{width:880,height:720},dialogBottomPadding:70,verticalLayoutThreshold:600,defaultFontSize:16,portraits:{width:100,height:100}},R9=J.Type.Object({options:J.Type.Object({delay:J.Type.Optional(J.Type.Number()),width:J.Type.Number(),keywordsPrefix:J.Type.String(),screenEdgesMinimumMargin:J.Type.Optional(J.Type.Number())}),tooltips:J.Type.Array(J.Type.Object({keywords:J.Type.Array(J.Type.String()),title:J.Type.String(),description:J.Type.String()}))}),L9={options:{delay:0,width:350,keywordsPrefix:"@@"},tooltips:[]},Mme=J.Type.Object({name:J.Type.String(),description:J.Type.String(),icon:J.Type.String(),secret:J.Type.Optional(J.Type.Boolean()),category:J.Type.Optional(J.Type.String())}),B9=J.Type.Object({id:J.Type.String(),title:J.Type.String()}),F9=J.Type.Record(J.Type.String(),Mme);J.Type.Object({defaultAchievementIcon:J.Type.String(),categories:J.Type.Array(B9),achievements:F9,notifyNewAchievements:J.Type.Boolean(),secretAchievements:J.Type.Optional(J.Type.Object({censorDescription:J.Type.Optional(J.Type.Boolean()),censorName:J.Type.Optional(J.Type.Boolean()),hideUntilObtained:J.Type.Optional(J.Type.Boolean())}))});const Pme=J.Type.Object({categories:J.Type.Optional(J.Type.Array(B9)),achievements:J.Type.Optional(F9)}),V9={categories:[{id:"default",title:"Achievements"}],achievements:{},notifyNewAchievements:!0,defaultAchievementIcon:"img/achievements/trophy.png"},Nme=J.Type.Object({diceRange:J.Type.Tuple([J.Type.Number(),J.Type.Number()]),diceCount:J.Type.Number(),difficultyText:J.Type.Array(J.Type.Tuple([J.Type.Number(),J.Type.String()])),extraPointsPerLevel:J.Type.Number(),extraDicePerLevel:J.Type.Optional(J.Type.Number()),successOnRollsBelowThreshold:J.Type.Boolean(),showDifficultyText:J.Type.Boolean(),showDifficultyNumber:J.Type.Boolean(),showDifficultyWithoutModifiers:J.Type.Boolean(),finalRollIsHighest:J.Type.Optional(J.Type.Boolean()),finalRollIsLowest:J.Type.Optional(J.Type.Boolean()),failOnRollsEqualToThreshold:J.Type.Optional(J.Type.Boolean())}),Ime=J.Type.Object({skill:J.Type.String(),difficulty:J.Type.Number(),winsNeeded:J.Type.Optional(J.Type.Number()),hideAfterRoll:J.Type.Optional(J.Type.Boolean()),repeatable:J.Type.Optional(J.Type.Boolean())}),z9=J.Type.Object({options:Nme,skillChecks:J.Type.Record(J.Type.String(),Ime)}),U9={options:{diceRange:[1,6],extraPointsPerLevel:1,extraDicePerLevel:0,diceCount:2,successOnRollsBelowThreshold:!1,showDifficultyText:!0,showDifficultyNumber:!1,showDifficultyWithoutModifiers:!1,finalRollIsHighest:!1,finalRollIsLowest:!1,difficultyText:[[2,"Very Easy"],[4,"Easy"],[6,"Medium"],[8,"Hard"],[10,"Very Hard"],[11,"Extremely Hard"],[12,"Near Impossible"]]},skillChecks:{}},Yc={baseAssetsPath:"",baseDataPath:"",gameTitle:"Narrat Game",saveFileName:"narrat save",images:{},layout:Ame,settings:{},gameFlow:{},dialogPanel:{overlayMode:!0,rightOffset:100,bottomOffset:50,width:475,height:680,textSpeed:Vg,animateText:!0,timeBetweenLines:100},splashScreens:{},screens:E9,buttons:C9,skills:P9,skillChecks:U9,scripts:[],audio:g9,notifications:{timeOnScreen:2.5,alsoPrintInDialogue:!1},tooltips:L9,hudStats:{},achievements:V9,items:k9,interactionTags:{default:{onlyInteractOutsideOfScripts:!0}},quests:_9,transitions:{},menuButtons:{},debugging:{showScriptFinishedMessage:!1},saves:{mode:"manual",slots:10},characters:D9};var Dme=function(t){return Rme(t)&&!Lme(t)};function Rme(e){return!!e&&typeof e=="object"}function Lme(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||Vme(e)}var Bme=typeof Symbol=="function"&&Symbol.for,Fme=Bme?Symbol.for("react.element"):60103;function Vme(e){return e.$$typeof===Fme}function zme(e){return Array.isArray(e)?[]:{}}function Lh(e,t){return t.clone!==!1&&t.isMergeableObject(e)?If(zme(e),e,t):e}function Ume(e,t,n){return e.concat(t).map(function(r){return Lh(r,n)})}function qme(e,t){if(!t.customMerge)return If;var n=t.customMerge(e);return typeof n=="function"?n:If}function Hme(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function q9(e){return Object.keys(e).concat(Hme(e))}function H9(e,t){try{return t in e}catch{return!1}}function Wme(e,t){return H9(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function Kme(e,t,n){var r={};return n.isMergeableObject(e)&&q9(e).forEach(function(o){r[o]=Lh(e[o],n)}),q9(t).forEach(function(o){Wme(e,o)||(H9(e,o)&&n.isMergeableObject(t[o])?r[o]=qme(o,n)(e[o],t[o],n):r[o]=Lh(t[o],n))}),r}function If(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||Ume,n.isMergeableObject=n.isMergeableObject||Dme,n.cloneUnlessOtherwiseSpecified=Lh;var r=Array.isArray(t),o=Array.isArray(e),i=r===o;return i?r?n.arrayMerge(e,t,n):Kme(e,t,n):Lh(t,n)}If.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,o){return If(r,o,n)},{})};var Gme=If,Jme=Gme;const Bh=S_(Jme),di=Zr("config",{state:()=>({config:Yc}),actions:{async setConfig(e){this.config=e},extendConfig(e){this.config=Bh(this.config,e)},generateSaveData(){return{playerCharacter:this.playerCharacter,gameCharacter:this.gameCharacter}},loadSaveData(e){this.config.characters.config.playerCharacter=e.playerCharacter,this.config.characters.config.gameCharacter=e.gameCharacter}},getters:{playerCharacter(){return this.config.characters.config.playerCharacter??"player"},gameCharacter(){return this.config.characters.config.gameCharacter??"game"}}});function W9(e){const t=Dr(),n=t.getSkillCheck(e.id);if(n&&n.happened&&(n.succeeded||!e.repeatable))return n;const r=cme(e);return J9(ime(r,e)),r?t.passSkillCheck(e.id,e.hideAfterRoll):t.failSkillCheck(e.id,e.hideAfterRoll),t.getSkillCheck(e.id)}function Qme(e,t=[]){const n=e.options,r=e.staticOptions,o=!!n.condition;if(o)return r.success;if(!o){for(const[i,a]of r.elseifs.entries())if(t[i]===!0)return a.branch}if(!o&&r.failure)return r.failure}function K9(e){return typeof e=="object"}function G9(e){return typeof e=="string"&&e.search(/\$/)===0}function J9(e){const t={speaker:di().gameCharacter,text:e,interactive:!1};Qn().addDialog(t)}async function Zx(e){Qn().addDialog(e)}function Yme(e,t){if(t<e.length)return e[t]}/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Q9(e){return typeof e>"u"||e===null}function Xme(e){return typeof e=="object"&&e!==null}function Zme(e){return Array.isArray(e)?e:Q9(e)?[]:[e]}function eve(e,t){var n,r,o,i;if(t)for(i=Object.keys(t),n=0,r=i.length;n<r;n+=1)o=i[n],e[o]=t[o];return e}function tve(e,t){var n="",r;for(r=0;r<t;r+=1)n+=e;return n}function nve(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var rve=Q9,ove=Xme,ive=Zme,ave=tve,sve=nve,lve=eve,so={isNothing:rve,isObject:ove,toArray:ive,repeat:ave,isNegativeZero:sve,extend:lve};function Y9(e,t){var n="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+=`
|
|
175
|
+
(${e.id} - ${a}/${e.winsNeeded} - rolls: ${JSON.stringify(r.map(s=>s.modified))})`)}else i=m9(n,e.difficulty),wi.log(`[SKILL CHECK ${o.name}]: ${i?"✅":"❌"}`,`(${e.id}) - ${n}/${e.difficulty}`);return Jc(i?"onSkillCheckSuccess":"onSkillCheckFailure"),i}function m9(e,t){const{options:n}=sp();let r=e>=t;return n.successOnRollsBelowThreshold&&(r=e<=t),n.failOnRollsEqualToThreshold&&e===t&&(r=!1),r}var J={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Type=e.StandardType=e.ExtendedTypeBuilder=e.StandardTypeBuilder=e.TypeBuilder=e.TemplateLiteralDslParser=e.TemplateLiteralGenerator=e.TemplateLiteralFinite=e.TemplateLiteralParser=e.TemplateLiteralParserError=e.TemplateLiteralResolver=e.TemplateLiteralPattern=e.UnionResolver=e.KeyArrayResolver=e.KeyResolver=e.ObjectMap=e.IndexedAccessor=e.TypeClone=e.TypeExtends=e.TypeExtendsResult=e.ExtendsUndefined=e.TypeGuard=e.TypeGuardUnknownTypeError=e.FormatRegistry=e.TypeRegistry=e.PatternStringExact=e.PatternNumberExact=e.PatternBooleanExact=e.PatternString=e.PatternNumber=e.PatternBoolean=e.Kind=e.Hint=e.Modifier=void 0,e.Modifier=Symbol.for("TypeBox.Modifier"),e.Hint=Symbol.for("TypeBox.Hint"),e.Kind=Symbol.for("TypeBox.Kind"),e.PatternBoolean="(true|false)",e.PatternNumber="(0|[1-9][0-9]*)",e.PatternString="(.*)",e.PatternBooleanExact=`^${e.PatternBoolean}$`,e.PatternNumberExact=`^${e.PatternNumber}$`,e.PatternStringExact=`^${e.PatternString}$`;var t;(function(O){const S=new Map;function C(){return new Map(S)}O.Entries=C;function P(){return S.clear()}O.Clear=P;function U(W){return S.has(W)}O.Has=U;function E(W,V){S.set(W,V)}O.Set=E;function L(W){return S.get(W)}O.Get=L})(t||(e.TypeRegistry=t={}));var n;(function(O){const S=new Map;function C(){return new Map(S)}O.Entries=C;function P(){return S.clear()}O.Clear=P;function U(W){return S.has(W)}O.Has=U;function E(W,V){S.set(W,V)}O.Set=E;function L(W){return S.get(W)}O.Get=L})(n||(e.FormatRegistry=n={}));class r extends Error{constructor(S){super("TypeGuard: Unknown type"),this.schema=S}}e.TypeGuardUnknownTypeError=r;var o;(function(O){function S(H){return typeof H=="object"&&H!==null&&!Array.isArray(H)}function C(H){return typeof H=="object"&&H!==null&&Array.isArray(H)}function P(H){try{return new RegExp(H),!0}catch{return!1}}function U(H){if(typeof H!="string")return!1;for(let Ue=0;Ue<H.length;Ue++){const st=H.charCodeAt(Ue);if(st>=7&&st<=13||st===27||st===127)return!1}return!0}function E(H){return I(H)||Ot(H)}function L(H){return typeof H=="bigint"}function W(H){return typeof H=="string"}function V(H){return typeof H=="number"&&globalThis.Number.isFinite(H)}function F(H){return typeof H=="boolean"}function D(H){return H===void 0||H!==void 0&&L(H)}function M(H){return H===void 0||H!==void 0&&V(H)}function I(H){return H===void 0||H!==void 0&&F(H)}function R(H){return H===void 0||H!==void 0&&W(H)}function j(H){return H===void 0||H!==void 0&&W(H)&&U(H)&&P(H)}function A(H){return H===void 0||H!==void 0&&W(H)&&U(H)}function B(H){return H===void 0||Ot(H)}function Q(H){return Be(H)&&H[e.Kind]==="Any"&&R(H.$id)}O.TAny=Q;function te(H){return Be(H)&&H[e.Kind]==="Array"&&H.type==="array"&&R(H.$id)&&Ot(H.items)&&M(H.minItems)&&M(H.maxItems)&&I(H.uniqueItems)}O.TArray=te;function he(H){return Be(H)&&H[e.Kind]==="BigInt"&&H.type==="null"&&H.typeOf==="BigInt"&&R(H.$id)&&D(H.multipleOf)&&D(H.minimum)&&D(H.maximum)&&D(H.exclusiveMinimum)&&D(H.exclusiveMaximum)}O.TBigInt=he;function de(H){return Be(H)&&H[e.Kind]==="Boolean"&&H.type==="boolean"&&R(H.$id)}O.TBoolean=de;function ke(H){if(!(Be(H)&&H[e.Kind]==="Constructor"&&H.type==="object"&&H.instanceOf==="Constructor"&&R(H.$id)&&C(H.parameters)&&Ot(H.returns)))return!1;for(const Ue of H.parameters)if(!Ot(Ue))return!1;return!0}O.TConstructor=ke;function be(H){return Be(H)&&H[e.Kind]==="Date"&&H.type==="object"&&H.instanceOf==="Date"&&R(H.$id)&&M(H.minimumTimestamp)&&M(H.maximumTimestamp)&&M(H.exclusiveMinimumTimestamp)&&M(H.exclusiveMaximumTimestamp)}O.TDate=be;function Le(H){if(!(Be(H)&&H[e.Kind]==="Function"&&H.type==="object"&&H.instanceOf==="Function"&&R(H.$id)&&C(H.parameters)&&Ot(H.returns)))return!1;for(const Ue of H.parameters)if(!Ot(Ue))return!1;return!0}O.TFunction=Le;function ee(H){return Be(H)&&H[e.Kind]==="Integer"&&H.type==="integer"&&R(H.$id)&&M(H.multipleOf)&&M(H.minimum)&&M(H.maximum)&&M(H.exclusiveMinimum)&&M(H.exclusiveMaximum)}O.TInteger=ee;function Ae(H){if(!(Be(H)&&H[e.Kind]==="Intersect"&&C(H.allOf)&&R(H.type)&&(I(H.unevaluatedProperties)||B(H.unevaluatedProperties))&&R(H.$id))||"type"in H&&H.type!=="object")return!1;for(const Ue of H.allOf)if(!Ot(Ue))return!1;return!0}O.TIntersect=Ae;function Be(H){return S(H)&&e.Kind in H&&typeof H[e.Kind]=="string"}O.TKind=Be;function Te(H){return Be(H)&&H[e.Kind]==="Literal"&&R(H.$id)&&typeof H.const=="string"}O.TLiteralString=Te;function X(H){return Be(H)&&H[e.Kind]==="Literal"&&R(H.$id)&&typeof H.const=="number"}O.TLiteralNumber=X;function re(H){return Be(H)&&H[e.Kind]==="Literal"&&R(H.$id)&&typeof H.const=="boolean"}O.TLiteralBoolean=re;function we(H){return Te(H)||X(H)||re(H)}O.TLiteral=we;function Me(H){return Be(H)&&H[e.Kind]==="Never"&&S(H.not)&&globalThis.Object.getOwnPropertyNames(H.not).length===0}O.TNever=Me;function Ee(H){return Be(H)&&H[e.Kind]==="Not"&&Ot(H.not)}O.TNot=Ee;function Ze(H){return Be(H)&&H[e.Kind]==="Null"&&H.type==="null"&&R(H.$id)}O.TNull=Ze;function ve(H){return Be(H)&&H[e.Kind]==="Number"&&H.type==="number"&&R(H.$id)&&M(H.multipleOf)&&M(H.minimum)&&M(H.maximum)&&M(H.exclusiveMinimum)&&M(H.exclusiveMaximum)}O.TNumber=ve;function Ne(H){if(!(Be(H)&&H[e.Kind]==="Object"&&H.type==="object"&&R(H.$id)&&S(H.properties)&&E(H.additionalProperties)&&M(H.minProperties)&&M(H.maxProperties)))return!1;for(const[Ue,st]of Object.entries(H.properties))if(!U(Ue)||!Ot(st))return!1;return!0}O.TObject=Ne;function ze(H){return Be(H)&&H[e.Kind]==="Promise"&&H.type==="object"&&H.instanceOf==="Promise"&&R(H.$id)&&Ot(H.item)}O.TPromise=ze;function Qe(H){if(!(Be(H)&&H[e.Kind]==="Record"&&H.type==="object"&&R(H.$id)&&E(H.additionalProperties)&&S(H.patternProperties)))return!1;const Ue=Object.keys(H.patternProperties);return!(Ue.length!==1||!P(Ue[0])||!Ot(H.patternProperties[Ue[0]]))}O.TRecord=Qe;function He(H){return Be(H)&&H[e.Kind]==="Ref"&&R(H.$id)&&W(H.$ref)}O.TRef=He;function at(H){return Be(H)&&H[e.Kind]==="String"&&H.type==="string"&&R(H.$id)&&M(H.minLength)&&M(H.maxLength)&&j(H.pattern)&&A(H.format)}O.TString=at;function dt(H){return Be(H)&&H[e.Kind]==="Symbol"&&H.type==="null"&&H.typeOf==="Symbol"&&R(H.$id)}O.TSymbol=dt;function sn(H){return Be(H)&&H[e.Kind]==="TemplateLiteral"&&H.type==="string"&&W(H.pattern)&&H.pattern[0]==="^"&&H.pattern[H.pattern.length-1]==="$"}O.TTemplateLiteral=sn;function yt(H){return Be(H)&&H[e.Kind]==="This"&&R(H.$id)&&W(H.$ref)}O.TThis=yt;function mn(H){if(!(Be(H)&&H[e.Kind]==="Tuple"&&H.type==="array"&&R(H.$id)&&V(H.minItems)&&V(H.maxItems)&&H.minItems===H.maxItems))return!1;if(H.items===void 0&&H.additionalItems===void 0&&H.minItems===0)return!0;if(!C(H.items))return!1;for(const Ue of H.items)if(!Ot(Ue))return!1;return!0}O.TTuple=mn;function Kt(H){return Be(H)&&H[e.Kind]==="Undefined"&&H.type==="null"&&H.typeOf==="Undefined"&&R(H.$id)}O.TUndefined=Kt;function tn(H){return ln(H)&&H.anyOf.every(Ue=>Te(Ue)||X(Ue))}O.TUnionLiteral=tn;function ln(H){if(!(Be(H)&&H[e.Kind]==="Union"&&C(H.anyOf)&&R(H.$id)))return!1;for(const Ue of H.anyOf)if(!Ot(Ue))return!1;return!0}O.TUnion=ln;function Jn(H){return Be(H)&&H[e.Kind]==="Uint8Array"&&H.type==="object"&&R(H.$id)&&H.instanceOf==="Uint8Array"&&M(H.minByteLength)&&M(H.maxByteLength)}O.TUint8Array=Jn;function En(H){return Be(H)&&H[e.Kind]==="Unknown"&&R(H.$id)}O.TUnknown=En;function Xn(H){return Be(H)&&H[e.Kind]==="Unsafe"}O.TUnsafe=Xn;function zn(H){return Be(H)&&H[e.Kind]==="Void"&&H.type==="null"&&H.typeOf==="Void"&&R(H.$id)}O.TVoid=zn;function fn(H){return S(H)&&H[e.Modifier]==="ReadonlyOptional"}O.TReadonlyOptional=fn;function Oe(H){return S(H)&&H[e.Modifier]==="Readonly"}O.TReadonly=Oe;function bt(H){return S(H)&&H[e.Modifier]==="Optional"}O.TOptional=bt;function Ot(H){return typeof H=="object"&&(Q(H)||te(H)||de(H)||he(H)||ke(H)||be(H)||Le(H)||ee(H)||Ae(H)||we(H)||Me(H)||Ee(H)||Ze(H)||ve(H)||Ne(H)||ze(H)||Qe(H)||He(H)||at(H)||dt(H)||sn(H)||yt(H)||mn(H)||Kt(H)||ln(H)||Jn(H)||En(H)||Xn(H)||zn(H)||Be(H)&&t.Has(H[e.Kind]))}O.TSchema=Ot})(o||(e.TypeGuard=o={}));var i;(function(O){function S(C){return C[e.Kind]==="Undefined"?!0:C[e.Kind]==="Not"?!S(C.not):C[e.Kind]==="Intersect"?C.allOf.every(U=>S(U)):C[e.Kind]==="Union"?C.anyOf.some(U=>S(U)):!1}O.Check=S})(i||(e.ExtendsUndefined=i={}));var a;(function(O){O[O.Union=0]="Union",O[O.True=1]="True",O[O.False=2]="False"})(a||(e.TypeExtendsResult=a={}));var s;(function(O){function S(q){return q===a.False?a.False:a.True}function C(q,_){return a.True}function P(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)&&_.anyOf.some(G=>o.TAny(G)||o.TUnknown(G))?a.True:o.TUnion(_)?a.Union:o.TUnknown(_)||o.TAny(_)?a.True:a.Union}function U(q,_){return o.TUnknown(q)?a.False:o.TAny(q)?a.Union:o.TNever(q)?a.True:a.False}function E(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)&&Qe(_)?a.True:o.TArray(_)?S(oe(q.items,_.items)):a.False}function L(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TBigInt(_)?a.True:a.False}function W(q,_){return o.TLiteral(q)&&typeof q.const=="boolean"||o.TBoolean(q)?a.True:a.False}function V(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TBoolean(_)?a.True:a.False}function F(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):!o.TConstructor(_)||q.parameters.length>_.parameters.length||!q.parameters.every((G,le)=>S(oe(_.parameters[le],G))===a.True)?a.False:S(oe(q.returns,_.returns))}function D(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TDate(_)?a.True:a.False}function M(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):!o.TFunction(_)||q.parameters.length>_.parameters.length||!q.parameters.every((G,le)=>S(oe(_.parameters[le],G))===a.True)?a.False:S(oe(q.returns,_.returns))}function I(q,_){return o.TLiteral(q)&&typeof q.const=="number"||o.TNumber(q)||o.TInteger(q)?a.True:a.False}function R(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TInteger(_)||o.TNumber(_)?a.True:a.False}function j(q,_){return _.allOf.every(G=>oe(q,G)===a.True)?a.True:a.False}function A(q,_){return q.allOf.some(G=>oe(G,_)===a.True)?a.True:a.False}function B(q){return typeof q.const=="string"}function Q(q){return typeof q.const=="number"}function te(q){return typeof q.const=="boolean"}function he(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TString(_)?Jn(q):o.TNumber(_)?Ae(q):o.TInteger(_)?I(q):o.TBoolean(_)?W(q):o.TLiteral(_)&&_.const===q.const?a.True:a.False}function de(q,_){return a.False}function ke(q,_){return a.True}function be(q){let[_,G]=[q,0];for(;o.TNot(_);)_=_.not,G+=1;return G%2===0?_:e.Type.Unknown()}function Le(q,_){if(o.TNot(q))return oe(be(q),_);if(o.TNot(_))return oe(q,be(_));throw new Error("TypeExtends: Invalid fallthrough for Not")}function ee(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TNull(_)?a.True:a.False}function Ae(q,_){return o.TLiteral(q)&&Q(q)||o.TNumber(q)||o.TInteger(q)?a.True:a.False}function Be(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TInteger(_)||o.TNumber(_)?a.True:a.False}function Te(q,_){return globalThis.Object.keys(q.properties).length===_}function X(q){return Qe(q)}function re(q){return Te(q,0)||Te(q,1)&&"description"in q.properties&&o.TUnion(q.properties.description)&&q.properties.description.anyOf.length===2&&(o.TString(q.properties.description.anyOf[0])&&o.TUndefined(q.properties.description.anyOf[1])||o.TString(q.properties.description.anyOf[1])&&o.TUndefined(q.properties.description.anyOf[0]))}function we(q){return Te(q,0)}function Me(q){return Te(q,0)}function Ee(q){return Te(q,0)}function Ze(q){return Te(q,0)}function ve(q){return Qe(q)}function Ne(q){const _=e.Type.Number();return Te(q,0)||Te(q,1)&&"length"in q.properties&&S(oe(q.properties.length,_))===a.True}function ze(q){return Te(q,0)}function Qe(q){const _=e.Type.Number();return Te(q,0)||Te(q,1)&&"length"in q.properties&&S(oe(q.properties.length,_))===a.True}function He(q){const _=e.Type.Function([e.Type.Any()],e.Type.Any());return Te(q,0)||Te(q,1)&&"then"in q.properties&&S(oe(q.properties.then,_))===a.True}function at(q,_){return oe(q,_)===a.False||o.TOptional(q)&&!o.TOptional(_)?a.False:a.True}function dt(q,_){return o.TUnknown(q)?a.False:o.TAny(q)?a.Union:o.TNever(q)||o.TLiteral(q)&&B(q)&&X(_)||o.TLiteral(q)&&Q(q)&&we(_)||o.TLiteral(q)&&te(q)&&Me(_)||o.TSymbol(q)&&re(_)||o.TBigInt(q)&&Ee(_)||o.TString(q)&&X(_)||o.TSymbol(q)&&re(_)||o.TNumber(q)&&we(_)||o.TInteger(q)&&we(_)||o.TBoolean(q)&&Me(_)||o.TUint8Array(q)&&ve(_)||o.TDate(q)&&Ze(_)||o.TConstructor(q)&&ze(_)||o.TFunction(q)&&Ne(_)?a.True:o.TRecord(q)&&o.TString(mn(q))?_[e.Hint]==="Record"?a.True:a.False:o.TRecord(q)&&o.TNumber(mn(q))&&Te(_,0)?a.True:a.False}function sn(q,_){if(o.TIntersect(_))return j(q,_);if(o.TUnion(_))return Ue(q,_);if(o.TUnknown(_))return ht();if(o.TAny(_))return C();if(o.TRecord(_))return tn(q,_);if(!o.TObject(_))return a.False;for(const G of globalThis.Object.keys(_.properties))if(!(G in q.properties)||at(q.properties[G],_.properties[G])===a.False)return a.False;return a.True}function yt(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)&&He(_)?a.True:o.TPromise(_)?S(oe(q.item,_.item)):a.False}function mn(q){if(e.PatternNumberExact in q.patternProperties)return e.Type.Number();if(e.PatternStringExact in q.patternProperties)return e.Type.String();throw Error("TypeExtends: Cannot get record key")}function Kt(q){if(e.PatternNumberExact in q.patternProperties)return q.patternProperties[e.PatternNumberExact];if(e.PatternStringExact in q.patternProperties)return q.patternProperties[e.PatternStringExact];throw Error("TypeExtends: Cannot get record value")}function tn(q,_){const G=mn(_),le=Kt(_);if(o.TLiteral(q)&&B(q)&&o.TNumber(G)&&S(oe(q,le))===a.True)return a.True;if(o.TUint8Array(q)&&o.TNumber(G)||o.TString(q)&&o.TNumber(G)||o.TArray(q)&&o.TNumber(G))return oe(q,le);if(o.TObject(q)){for(const xe of globalThis.Object.keys(q.properties))if(at(le,q.properties[xe])===a.False)return a.False;return a.True}return a.False}function ln(q,_){const G=Kt(q);return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?oe(G,Kt(_)):a.False}function Jn(q,_){return o.TLiteral(q)&&typeof q.const=="string"||o.TString(q)?a.True:a.False}function En(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TString(_)?a.True:a.False}function Xn(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TSymbol(_)?a.True:a.False}function zn(q,_){if(o.TTemplateLiteral(q))return oe(m.Resolve(q),_);if(o.TTemplateLiteral(_))return oe(q,m.Resolve(_));throw new Error("TypeExtends: Invalid fallthrough for TemplateLiteral")}function fn(q,_){return o.TUnknown(q)?a.False:o.TAny(q)?a.Union:o.TNever(q)?a.True:a.False}function Oe(q,_){return o.TArray(_)&&q.items!==void 0&&q.items.every(G=>oe(G,_.items)===a.True)}function bt(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)&&Qe(_)||o.TArray(_)&&Oe(q,_)?a.True:!o.TTuple(_)||q.items===void 0&&_.items!==void 0||q.items!==void 0&&_.items===void 0?a.False:q.items===void 0&&_.items===void 0||q.items.every((G,le)=>oe(G,_.items[le])===a.True)?a.True:a.False}function Ot(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TUint8Array(_)?a.True:a.False}function H(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TNever(_)?de():o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TRecord(_)?tn(q,_):o.TVoid(_)?dn(q):o.TUndefined(_)?a.True:a.False}function Ue(q,_){return _.anyOf.some(G=>oe(q,G)===a.True)?a.True:a.False}function st(q,_){return q.anyOf.every(G=>oe(G,_)===a.True)?a.True:a.False}function ht(q,_){return a.True}function Un(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TAny(_)?C():o.TString(_)?Jn(q):o.TNumber(_)?Ae(q):o.TInteger(_)?I(q):o.TBoolean(_)?W(q):o.TArray(_)?U(q):o.TTuple(_)?fn(q):o.TObject(_)?dt(q,_):o.TUnknown(_)?a.True:a.False}function dn(q,_){return o.TUndefined(q)||o.TUndefined(q)?a.True:a.False}function Rr(q,_){return o.TIntersect(_)?j(q,_):o.TUnion(_)?Ue(q,_):o.TUnknown(_)?ht():o.TAny(_)?C():o.TObject(_)?dt(q,_):o.TVoid(_)?a.True:a.False}function oe(q,_){if(o.TTemplateLiteral(q)||o.TTemplateLiteral(_))return zn(q,_);if(o.TNot(q)||o.TNot(_))return Le(q,_);if(o.TAny(q))return P(q,_);if(o.TArray(q))return E(q,_);if(o.TBigInt(q))return L(q,_);if(o.TBoolean(q))return V(q,_);if(o.TConstructor(q))return F(q,_);if(o.TDate(q))return D(q,_);if(o.TFunction(q))return M(q,_);if(o.TInteger(q))return R(q,_);if(o.TIntersect(q))return A(q,_);if(o.TLiteral(q))return he(q,_);if(o.TNever(q))return ke();if(o.TNull(q))return ee(q,_);if(o.TNumber(q))return Be(q,_);if(o.TObject(q))return sn(q,_);if(o.TRecord(q))return ln(q,_);if(o.TString(q))return En(q,_);if(o.TSymbol(q))return Xn(q,_);if(o.TTuple(q))return bt(q,_);if(o.TPromise(q))return yt(q,_);if(o.TUint8Array(q))return Ot(q,_);if(o.TUndefined(q))return H(q,_);if(o.TUnion(q))return st(q,_);if(o.TUnknown(q))return Un(q,_);if(o.TVoid(q))return Rr(q,_);throw Error(`TypeExtends: Unknown left type operand '${q[e.Kind]}'`)}function ye(q,_){return oe(q,_)}O.Extends=ye})(s||(e.TypeExtends=s={}));var l;(function(O){function S(W){return typeof W=="object"&&W!==null}function C(W){return globalThis.Array.isArray(W)}function P(W){return W.map(V=>E(V))}function U(W){const V=globalThis.Object.getOwnPropertyNames(W).reduce((D,M)=>({...D,[M]:E(W[M])}),{}),F=globalThis.Object.getOwnPropertySymbols(W).reduce((D,M)=>({...D,[M]:E(W[M])}),{});return{...V,...F}}function E(W){return C(W)?P(W):S(W)?U(W):W}function L(W,V){return{...E(W),...V}}O.Clone=L})(l||(e.TypeClone=l={}));var c;(function(O){function S(W,V){const F=W.allOf.reduce((D,M)=>{const I=E(M,V);return I[e.Kind]==="Never"?D:[...D,I]},[]);return e.Type.Intersect(F)}function C(W,V){const F=W.anyOf.map(D=>E(D,V));return e.Type.Union(F)}function P(W,V){const F=W.properties[V];return F===void 0?e.Type.Never():e.Type.Union([F])}function U(W,V){const F=W.items;if(F===void 0)return e.Type.Never();const D=F[V];return D===void 0?e.Type.Never():D}function E(W,V){return W[e.Kind]==="Intersect"?S(W,V):W[e.Kind]==="Union"?C(W,V):W[e.Kind]==="Object"?P(W,V):W[e.Kind]==="Tuple"?U(W,V):e.Type.Never()}function L(W,V,F={}){return e.Type.Union(V.map(D=>E(W,D.toString())),F)}O.Resolve=L})(c||(e.IndexedAccessor=c={}));var f;(function(O){function S(L,W){return e.Type.Intersect(L.allOf.map(V=>U(V,W)),{...L})}function C(L,W){return e.Type.Union(L.anyOf.map(V=>U(V,W)),{...L})}function P(L,W){return W(L)}function U(L,W){return L[e.Kind]==="Intersect"?S(L,W):L[e.Kind]==="Union"?C(L,W):L[e.Kind]==="Object"?P(L,W):L}function E(L,W,V){return{...U(l.Clone(L,{}),W),...V}}O.Map=E})(f||(e.ObjectMap=f={}));var u;(function(O){function S(F){return F[0]==="^"&&F[F.length-1]==="$"?F.slice(1,F.length-1):F}function C(F,D){return F.allOf.reduce((M,I)=>[...M,...L(I,D)],[])}function P(F,D){const M=F.anyOf.map(I=>L(I,D));return[...M.reduce((I,R)=>R.map(j=>M.every(A=>A.includes(j))?I.add(j):I)[0],new Set)]}function U(F,D){return globalThis.Object.keys(F.properties)}function E(F,D){return D.includePatterns?globalThis.Object.keys(F.patternProperties):[]}function L(F,D){return o.TIntersect(F)?C(F,D):o.TUnion(F)?P(F,D):o.TObject(F)?U(F):o.TRecord(F)?E(F,D):[]}function W(F,D){return[...new Set(L(F,D))]}O.ResolveKeys=W;function V(F){return`^(${W(F,{includePatterns:!0}).map(I=>`(${S(I)})`).join("|")})$`}O.ResolvePattern=V})(u||(e.KeyResolver=u={}));var d;(function(O){function S(C){if(globalThis.Array.isArray(C))return C;if(o.TUnionLiteral(C))return C.anyOf.map(P=>P.const.toString());if(o.TLiteral(C))return[C.const];if(o.TTemplateLiteral(C)){const P=g.ParseExact(C.pattern);if(!y.Check(P))throw Error("KeyArrayResolver: Cannot resolve keys from infinite template expression");return[...w.Generate(P)]}return[]}O.Resolve=S})(d||(e.KeyArrayResolver=d={}));var h;(function(O){function*S(P){for(const U of P.anyOf)U[e.Kind]==="Union"?yield*S(U):yield U}function C(P){return e.Type.Union([...S(P)],{...P})}O.Resolve=C})(h||(e.UnionResolver=h={}));var p;(function(O){function S(U){return U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function C(U,E){if(o.TTemplateLiteral(U))return U.pattern.slice(1,U.pattern.length-1);if(o.TUnion(U))return`(${U.anyOf.map(W=>C(W,E)).join("|")})`;if(o.TNumber(U))return`${E}${e.PatternNumber}`;if(o.TInteger(U))return`${E}${e.PatternNumber}`;if(o.TBigInt(U))return`${E}${e.PatternNumber}`;if(o.TString(U))return`${E}${e.PatternString}`;if(o.TLiteral(U))return`${E}${S(U.const.toString())}`;if(o.TBoolean(U))return`${E}${e.PatternBoolean}`;throw o.TNever(U)?Error("TemplateLiteralPattern: TemplateLiteral cannot operate on types of TNever"):Error(`TemplateLiteralPattern: Unexpected Kind '${U[e.Kind]}'`)}function P(U){return`^${U.map(E=>C(E,"")).join("")}$`}O.Create=P})(p||(e.TemplateLiteralPattern=p={}));var m;(function(O){function S(C){const P=g.ParseExact(C.pattern);if(!y.Check(P))return e.Type.String();const U=[...w.Generate(P)].map(E=>e.Type.Literal(E));return e.Type.Union(U)}O.Resolve=S})(m||(e.TemplateLiteralResolver=m={}));class v extends Error{constructor(S){super(S)}}e.TemplateLiteralParserError=v;var g;(function(O){function S(R,j,A){return R[j]===A&&R.charCodeAt(j-1)!==92}function C(R,j){return S(R,j,"(")}function P(R,j){return S(R,j,")")}function U(R,j){return S(R,j,"|")}function E(R){if(!(C(R,0)&&P(R,R.length-1)))return!1;let j=0;for(let A=0;A<R.length;A++)if(C(R,A)&&(j+=1),P(R,A)&&(j-=1),j===0&&A!==R.length-1)return!1;return!0}function L(R){return R.slice(1,R.length-1)}function W(R){let j=0;for(let A=0;A<R.length;A++)if(C(R,A)&&(j+=1),P(R,A)&&(j-=1),U(R,A)&&j===0)return!0;return!1}function V(R){for(let j=0;j<R.length;j++)if(C(R,j))return!0;return!1}function F(R){let[j,A]=[0,0];const B=[];for(let te=0;te<R.length;te++)if(C(R,te)&&(j+=1),P(R,te)&&(j-=1),U(R,te)&&j===0){const he=R.slice(A,te);he.length>0&&B.push(M(he)),A=te+1}const Q=R.slice(A);return Q.length>0&&B.push(M(Q)),B.length===0?{type:"const",const:""}:B.length===1?B[0]:{type:"or",expr:B}}function D(R){function j(Q,te){if(!C(Q,te))throw new v("TemplateLiteralParser: Index must point to open parens");let he=0;for(let de=te;de<Q.length;de++)if(C(Q,de)&&(he+=1),P(Q,de)&&(he-=1),he===0)return[te,de];throw new v("TemplateLiteralParser: Unclosed group parens in expression")}function A(Q,te){for(let he=te;he<Q.length;he++)if(C(Q,he))return[te,he];return[te,Q.length]}const B=[];for(let Q=0;Q<R.length;Q++)if(C(R,Q)){const[te,he]=j(R,Q),de=R.slice(te,he+1);B.push(M(de)),Q=he}else{const[te,he]=A(R,Q),de=R.slice(te,he);de.length>0&&B.push(M(de)),Q=he-1}return B.length===0?{type:"const",const:""}:B.length===1?B[0]:{type:"and",expr:B}}function M(R){return E(R)?M(L(R)):W(R)?F(R):V(R)?D(R):{type:"const",const:R}}O.Parse=M;function I(R){return M(R.slice(1,R.length-1))}O.ParseExact=I})(g||(e.TemplateLiteralParser=g={}));var y;(function(O){function S(E){return E.type==="or"&&E.expr.length===2&&E.expr[0].type==="const"&&E.expr[0].const==="0"&&E.expr[1].type==="const"&&E.expr[1].const==="[1-9][0-9]*"}function C(E){return E.type==="or"&&E.expr.length===2&&E.expr[0].type==="const"&&E.expr[0].const==="true"&&E.expr[1].type==="const"&&E.expr[1].const==="false"}function P(E){return E.type==="const"&&E.const===".*"}function U(E){if(C(E))return!0;if(S(E)||P(E))return!1;if(E.type==="and")return E.expr.every(L=>U(L));if(E.type==="or")return E.expr.every(L=>U(L));if(E.type==="const")return!0;throw Error("TemplateLiteralFinite: Unknown expression type")}O.Check=U})(y||(e.TemplateLiteralFinite=y={}));var w;(function(O){function*S(L){if(L.length===1)return yield*L[0];for(const W of L[0])for(const V of S(L.slice(1)))yield`${W}${V}`}function*C(L){return yield*S(L.expr.map(W=>[...E(W)]))}function*P(L){for(const W of L.expr)yield*E(W)}function*U(L){return yield L.const}function*E(L){if(L.type==="and")return yield*C(L);if(L.type==="or")return yield*P(L);if(L.type==="const")return yield*U(L);throw Error("TemplateLiteralGenerator: Unknown expression")}O.Generate=E})(w||(e.TemplateLiteralGenerator=w={}));var k;(function(O){function*S(E){const L=E.trim().replace(/"|'/g,"");if(L==="boolean")return yield e.Type.Boolean();if(L==="number")return yield e.Type.Number();if(L==="bigint")return yield e.Type.BigInt();if(L==="string")return yield e.Type.String();const W=L.split("|").map(V=>e.Type.Literal(V.trim()));return yield W.length===0?e.Type.Never():W.length===1?W[0]:e.Type.Union(W)}function*C(E){if(E[1]!=="{"){const L=e.Type.Literal("$"),W=P(E.slice(1));return yield*[L,...W]}for(let L=2;L<E.length;L++)if(E[L]==="}"){const W=S(E.slice(2,L)),V=P(E.slice(L+1));return yield*[...W,...V]}yield e.Type.Literal(E)}function*P(E){for(let L=0;L<E.length;L++)if(E[L]==="$"){const W=e.Type.Literal(E.slice(0,L)),V=C(E.slice(L));return yield*[W,...V]}yield e.Type.Literal(E)}function U(E){return[...P(E)]}O.Parse=U})(k||(e.TemplateLiteralDslParser=k={}));let $=0;class x{Create(S){return S}Strict(S){return JSON.parse(JSON.stringify(S))}}e.TypeBuilder=x;class T extends x{Optional(S){return{[e.Modifier]:"Optional",...l.Clone(S,{})}}ReadonlyOptional(S){return{[e.Modifier]:"ReadonlyOptional",...l.Clone(S,{})}}Readonly(S){return{[e.Modifier]:"Readonly",...S}}Any(S={}){return this.Create({...S,[e.Kind]:"Any"})}Array(S,C={}){return this.Create({...C,[e.Kind]:"Array",type:"array",items:l.Clone(S,{})})}Boolean(S={}){return this.Create({...S,[e.Kind]:"Boolean",type:"boolean"})}Composite(S,C){const P=e.Type.Intersect(S,{}),E=u.ResolveKeys(P,{includePatterns:!1}).reduce((L,W)=>({...L,[W]:e.Type.Index(P,[W])}),{});return e.Type.Object(E,C)}Enum(S,C={}){const U=globalThis.Object.keys(S).filter(E=>isNaN(E)).map(E=>S[E]).map(E=>typeof E=="string"?{[e.Kind]:"Literal",type:"string",const:E}:{[e.Kind]:"Literal",type:"number",const:E});return this.Create({...C,[e.Kind]:"Union",anyOf:U})}Extends(S,C,P,U,E={}){switch(s.Extends(S,C)){case a.Union:return this.Union([l.Clone(P,E),l.Clone(U,E)]);case a.True:return l.Clone(P,E);case a.False:return l.Clone(U,E)}}Exclude(S,C,P={}){if(o.TTemplateLiteral(S))return this.Exclude(m.Resolve(S),C,P);if(o.TTemplateLiteral(C))return this.Exclude(S,m.Resolve(C),P);if(o.TUnion(S)){const U=S.anyOf.filter(E=>s.Extends(E,C)===a.False);return U.length===1?l.Clone(U[0],P):this.Union(U,P)}else return s.Extends(S,C)!==a.False?this.Never(P):l.Clone(S,P)}Extract(S,C,P={}){if(o.TTemplateLiteral(S))return this.Extract(m.Resolve(S),C,P);if(o.TTemplateLiteral(C))return this.Extract(S,m.Resolve(C),P);if(o.TUnion(S)){const U=S.anyOf.filter(E=>s.Extends(E,C)!==a.False);return U.length===1?l.Clone(U[0],P):this.Union(U,P)}else return s.Extends(S,C)!==a.False?l.Clone(S,P):this.Never(P)}Index(S,C,P={}){if(o.TArray(S)&&o.TNumber(C))return l.Clone(S.items,P);if(o.TTuple(S)&&o.TNumber(C)){const E=(S.items===void 0?[]:S.items).map(L=>l.Clone(L,{}));return this.Union(E,P)}else{const U=d.Resolve(C),E=l.Clone(S,{});return c.Resolve(E,U,P)}}Integer(S={}){return this.Create({...S,[e.Kind]:"Integer",type:"integer"})}Intersect(S,C={}){if(S.length===0)return e.Type.Never();if(S.length===1)return l.Clone(S[0],C);const P=S.every(L=>o.TObject(L)),U=S.map(L=>l.Clone(L,{})),E=o.TSchema(C.unevaluatedProperties)?{unevaluatedProperties:l.Clone(C.unevaluatedProperties,{})}:{};return C.unevaluatedProperties===!1||o.TSchema(C.unevaluatedProperties)||P?this.Create({...C,...E,[e.Kind]:"Intersect",type:"object",allOf:U}):this.Create({...C,...E,[e.Kind]:"Intersect",allOf:U})}KeyOf(S,C={}){if(o.TRecord(S)){const P=Object.getOwnPropertyNames(S.patternProperties)[0];if(P===e.PatternNumberExact)return this.Number(C);if(P===e.PatternStringExact)return this.String(C);throw Error("StandardTypeBuilder: Unable to resolve key type from Record key pattern")}else if(o.TTuple(S)){const U=(S.items===void 0?[]:S.items).map((E,L)=>e.Type.Literal(L));return this.Union(U,C)}else{if(o.TArray(S))return this.Number(C);{const P=u.ResolveKeys(S,{includePatterns:!1});if(P.length===0)return this.Never(C);const U=P.map(E=>this.Literal(E));return this.Union(U,C)}}}Literal(S,C={}){return this.Create({...C,[e.Kind]:"Literal",const:S,type:typeof S})}Never(S={}){return this.Create({...S,[e.Kind]:"Never",not:{}})}Not(S,C){return this.Create({...C,[e.Kind]:"Not",not:S})}Null(S={}){return this.Create({...S,[e.Kind]:"Null",type:"null"})}Number(S={}){return this.Create({...S,[e.Kind]:"Number",type:"number"})}Object(S,C={}){const P=globalThis.Object.getOwnPropertyNames(S),U=P.filter(V=>o.TOptional(S[V])||o.TReadonlyOptional(S[V])),E=P.filter(V=>!U.includes(V)),L=o.TSchema(C.additionalProperties)?{additionalProperties:l.Clone(C.additionalProperties,{})}:{},W=P.reduce((V,F)=>({...V,[F]:l.Clone(S[F],{})}),{});return E.length>0?this.Create({...C,...L,[e.Kind]:"Object",type:"object",properties:W,required:E}):this.Create({...C,...L,[e.Kind]:"Object",type:"object",properties:W})}Omit(S,C,P={}){const U=d.Resolve(C);return f.Map(l.Clone(S,{}),E=>{E.required&&(E.required=E.required.filter(L=>!U.includes(L)),E.required.length===0&&delete E.required);for(const L of globalThis.Object.keys(E.properties))U.includes(L)&&delete E.properties[L];return this.Create(E)},P)}Partial(S,C={}){function P(U){switch(U[e.Modifier]){case"ReadonlyOptional":U[e.Modifier]="ReadonlyOptional";break;case"Readonly":U[e.Modifier]="ReadonlyOptional";break;case"Optional":U[e.Modifier]="Optional";break;default:U[e.Modifier]="Optional";break}}return f.Map(l.Clone(S,{}),U=>(delete U.required,globalThis.Object.keys(U.properties).forEach(E=>P(U.properties[E])),U),C)}Pick(S,C,P={}){const U=d.Resolve(C);return f.Map(l.Clone(S,{}),E=>{E.required&&(E.required=E.required.filter(L=>U.includes(L)),E.required.length===0&&delete E.required);for(const L of globalThis.Object.keys(E.properties))U.includes(L)||delete E.properties[L];return this.Create(E)},P)}Record(S,C,P={}){if(o.TTemplateLiteral(S)){const U=g.ParseExact(S.pattern);return y.Check(U)?this.Object([...w.Generate(U)].reduce((E,L)=>({...E,[L]:l.Clone(C,{})}),{}),P):this.Create({...P,[e.Kind]:"Record",type:"object",patternProperties:{[S.pattern]:l.Clone(C,{})}})}else if(o.TUnion(S)){const U=h.Resolve(S);if(o.TUnionLiteral(U)){const E=U.anyOf.reduce((L,W)=>({...L,[W.const]:l.Clone(C,{})}),{});return this.Object(E,{...P,[e.Hint]:"Record"})}else throw Error("TypeBuilder: Record key of type union contains non-literal types")}else if(o.TLiteral(S)){if(typeof S.const=="string"||typeof S.const=="number")return this.Object({[S.const]:l.Clone(C,{})},P);throw Error("TypeBuilder: Record key of type literal is not of type string or number")}else if(o.TInteger(S)||o.TNumber(S)){const U=e.PatternNumberExact;return this.Create({...P,[e.Kind]:"Record",type:"object",patternProperties:{[U]:l.Clone(C,{})}})}else if(o.TString(S)){const U=S.pattern===void 0?e.PatternStringExact:S.pattern;return this.Create({...P,[e.Kind]:"Record",type:"object",patternProperties:{[U]:l.Clone(C,{})}})}else throw Error("StandardTypeBuilder: Record key is an invalid type")}Recursive(S,C={}){C.$id===void 0&&(C.$id=`T${$++}`);const P=S({[e.Kind]:"This",$ref:`${C.$id}`});return P.$id=C.$id,this.Create({...C,[e.Hint]:"Recursive",...P})}Ref(S,C={}){if(S.$id===void 0)throw Error("StandardTypeBuilder.Ref: Target type must specify an $id");return this.Create({...C,[e.Kind]:"Ref",$ref:S.$id})}Required(S,C={}){function P(U){switch(U[e.Modifier]){case"ReadonlyOptional":U[e.Modifier]="Readonly";break;case"Readonly":U[e.Modifier]="Readonly";break;case"Optional":delete U[e.Modifier];break;default:delete U[e.Modifier];break}}return f.Map(l.Clone(S,{}),U=>(U.required=globalThis.Object.keys(U.properties),globalThis.Object.keys(U.properties).forEach(E=>P(U.properties[E])),U),C)}Rest(S){return o.TTuple(S)?S.items===void 0?[]:S.items.map(C=>l.Clone(C,{})):[l.Clone(S,{})]}String(S={}){return this.Create({...S,[e.Kind]:"String",type:"string"})}TemplateLiteral(S,C={}){const P=typeof S=="string"?p.Create(k.Parse(S)):p.Create(S);return this.Create({...C,[e.Kind]:"TemplateLiteral",type:"string",pattern:P})}Tuple(S,C={}){const[P,U,E]=[!1,S.length,S.length],L=S.map(V=>l.Clone(V,{})),W=S.length>0?{...C,[e.Kind]:"Tuple",type:"array",items:L,additionalItems:P,minItems:U,maxItems:E}:{...C,[e.Kind]:"Tuple",type:"array",minItems:U,maxItems:E};return this.Create(W)}Union(S,C={}){if(o.TTemplateLiteral(S))return m.Resolve(S);{const P=S;if(P.length===0)return this.Never(C);if(P.length===1)return this.Create(l.Clone(P[0],C));const U=P.map(E=>l.Clone(E,{}));return this.Create({...C,[e.Kind]:"Union",anyOf:U})}}Unknown(S={}){return this.Create({...S,[e.Kind]:"Unknown"})}Unsafe(S={}){return this.Create({...S,[e.Kind]:S[e.Kind]||"Unsafe"})}}e.StandardTypeBuilder=T;class N extends T{BigInt(S={}){return this.Create({...S,[e.Kind]:"BigInt",type:"null",typeOf:"BigInt"})}ConstructorParameters(S,C={}){return this.Tuple([...S.parameters],{...C})}Constructor(S,C,P){const U=l.Clone(C,{}),E=S.map(L=>l.Clone(L,{}));return this.Create({...P,[e.Kind]:"Constructor",type:"object",instanceOf:"Constructor",parameters:E,returns:U})}Date(S={}){return this.Create({...S,[e.Kind]:"Date",type:"object",instanceOf:"Date"})}Function(S,C,P){const U=l.Clone(C,{}),E=S.map(L=>l.Clone(L,{}));return this.Create({...P,[e.Kind]:"Function",type:"object",instanceOf:"Function",parameters:E,returns:U})}InstanceType(S,C={}){return l.Clone(S.returns,C)}Parameters(S,C={}){return this.Tuple(S.parameters,{...C})}Promise(S,C={}){return this.Create({...C,[e.Kind]:"Promise",type:"object",instanceOf:"Promise",item:l.Clone(S,{})})}RegEx(S,C={}){return this.Create({...C,[e.Kind]:"String",type:"string",pattern:S.source})}ReturnType(S,C={}){return l.Clone(S.returns,C)}Symbol(S){return this.Create({...S,[e.Kind]:"Symbol",type:"null",typeOf:"Symbol"})}Undefined(S={}){return this.Create({...S,[e.Kind]:"Undefined",type:"null",typeOf:"Undefined"})}Uint8Array(S={}){return this.Create({...S,[e.Kind]:"Uint8Array",type:"object",instanceOf:"Uint8Array"})}Void(S={}){return this.Create({...S,[e.Kind]:"Void",type:"null",typeOf:"Void"})}}e.ExtendedTypeBuilder=N,e.StandardType=new T,e.Type=new N})(J);const ume=J.Type.Object({src:J.Type.String(),path:J.Type.Optional(J.Type.String()),volume:J.Type.Optional(J.Type.Number()),rate:J.Type.Optional(J.Type.Number()),html5:J.Type.Optional(J.Type.Boolean())}),fme=J.Type.Record(J.Type.String(),ume),dme=J.Type.Object({volume:J.Type.Optional(J.Type.Number()),defaultMusic:J.Type.Optional(J.Type.String()),musicFadeInTime:J.Type.Optional(J.Type.Number()),musicFadeOutTime:J.Type.Optional(J.Type.Number()),musicFadeInDelay:J.Type.Optional(J.Type.Number())}),hme=J.Type.Record(J.Type.String(),J.Type.String()),v9=J.Type.Object({files:fme,audioTriggers:hme,options:dme}),g9={files:{},audioTriggers:{},options:{volume:1,musicFadeInTime:.5,musicFadeInDelay:.5,musicFadeOutTime:.5}},pme=J.Type.Object({name:J.Type.String(),description:J.Type.String(),icon:J.Type.String(),onUse:J.Type.Optional(J.Type.Object({action:J.Type.String(),label:J.Type.String()})),tag:J.Type.Optional(J.Type.String()),category:J.Type.Optional(J.Type.String()),showIfEmpty:J.Type.Optional(J.Type.Boolean())}),y9=J.Type.Object({id:J.Type.String(),title:J.Type.String()}),b9=J.Type.Record(J.Type.String(),pme);J.Type.Object({categories:J.Type.Array(y9),items:b9});const w9=J.Type.Object({categories:J.Type.Optional(J.Type.Array(y9)),items:J.Type.Optional(b9)}),k9={categories:[{id:"default",title:"Items"}],items:{}},mme=J.Type.Object({description:J.Type.String(),hidden:J.Type.Optional(J.Type.Boolean())}),vme=J.Type.Object({title:J.Type.String(),description:J.Type.String(),objectives:J.Type.Record(J.Type.String(),mme),category:J.Type.Optional(J.Type.String())}),gme=J.Type.Object({id:J.Type.String(),title:J.Type.String()}),yme=J.Type.Record(J.Type.String(),vme),x9=J.Type.Object({quests:yme,categories:J.Type.Array(gme)}),_9={quests:{},categories:[{id:"default",title:"Quests"}]},j9=J.Type.Object({enabled:J.Type.Boolean(),background:J.Type.Optional(J.Type.String()),text:J.Type.Optional(J.Type.String()),cssClass:J.Type.Optional(J.Type.String()),position:J.Type.Object({left:J.Type.Number(),top:J.Type.Number(),width:J.Type.Optional(J.Type.Number()),height:J.Type.Optional(J.Type.Number())}),anchor:J.Type.Optional(J.Type.Object({x:J.Type.Number(),y:J.Type.Number()})),action:J.Type.Optional(J.Type.String()),actionType:J.Type.Optional(J.Type.String()),scriptClickable:J.Type.Optional(J.Type.Boolean()),tag:J.Type.Optional(J.Type.String())}),bme=J.Type.Record(J.Type.String(),j9),S9=J.Type.Object({buttons:bme,clickableDuringScriptsByDefault:J.Type.Optional(J.Type.Boolean())}),C9={buttons:{},clickableDuringScriptsByDefault:!1},wme=J.Type.Intersect([j9,J.Type.Object({id:J.Type.String()})]),kme=J.Type.Object({background:J.Type.String(),buttons:J.Type.Optional(J.Type.Array(J.Type.Union([J.Type.String(),wme])))}),$9=J.Type.Record(J.Type.String(),kme);J.Type.Object({screens:$9});const T9=J.Type.Object({screens:J.Type.Optional($9)}),E9={screens:{}},xme=J.Type.Object({name:J.Type.String(),description:J.Type.String(),startingLevel:J.Type.Number(),hidden:J.Type.Optional(J.Type.Boolean()),icon:J.Type.String()}),O9=J.Type.Record(J.Type.String(),xme),A9=J.Type.Object({xpPerLevel:J.Type.Number(),notifyLevelUp:J.Type.Boolean()});J.Type.Object({skills:O9,skillOptions:A9});const M9=J.Type.Object({skills:J.Type.Optional(O9),skillOptions:J.Type.Optional(A9)}),P9={skills:{},skillOptions:{xpPerLevel:10,notifyLevelUp:!0}},Bg="###_--_~=:;_JUMP",Yx="###_--_~=:;_RETURN",_me="###_--_~=:;_OK",Fg="###_--_~=:;_STOP";function jme(e){return e===Bg||e===Yx||e===_me||e===Fg}const Sme="3.2.6",Cme=new Date("2023-07-05T22:54:43.093Z"),$me=400,Vg=20,Xx="@empty",N9={background:Xx},Tme=J.Type.Object({color:J.Type.Optional(J.Type.String()),boxCss:J.Type.Optional(J.Type.Record(J.Type.String(),J.Type.Any())),nameCss:J.Type.Optional(J.Type.Record(J.Type.String(),J.Type.Any())),textCss:J.Type.Optional(J.Type.Record(J.Type.String(),J.Type.Any()))}),Eme=J.Type.Object({sprites:J.Type.Optional(J.Type.Record(J.Type.String(),J.Type.String())),name:J.Type.String(),style:J.Type.Optional(Tme)}),I9=J.Type.Object({config:J.Type.Object({imagesPath:J.Type.String(),playerCharacter:J.Type.Optional(J.Type.String()),gameCharacter:J.Type.Optional(J.Type.String())}),characters:J.Type.Record(J.Type.String(),Eme)}),D9={config:{imagesPath:"",playerCharacter:"player",gameCharacter:"game"},characters:{}},Ome=J.Type.Object({backgrounds:J.Type.Object({width:J.Type.Number(),height:J.Type.Number()}),dialogBottomPadding:J.Type.Union([J.Type.Number(),J.Type.String()]),minTextWidth:J.Type.Optional(J.Type.Number()),verticalLayoutThreshold:J.Type.Number(),defaultFontSize:J.Type.Optional(J.Type.Number()),portraits:J.Type.Object({width:J.Type.Number(),height:J.Type.Number(),offset:J.Type.Optional(J.Type.Object({landscape:J.Type.Optional(J.Type.Object({right:J.Type.Number(),bottom:J.Type.Number()})),portrait:J.Type.Optional(J.Type.Object({right:J.Type.Number(),bottom:J.Type.Number()}))}))})}),Ame={backgrounds:{width:880,height:720},dialogBottomPadding:70,verticalLayoutThreshold:600,defaultFontSize:16,portraits:{width:100,height:100}},R9=J.Type.Object({options:J.Type.Object({delay:J.Type.Optional(J.Type.Number()),width:J.Type.Number(),keywordsPrefix:J.Type.String(),screenEdgesMinimumMargin:J.Type.Optional(J.Type.Number())}),tooltips:J.Type.Array(J.Type.Object({keywords:J.Type.Array(J.Type.String()),title:J.Type.String(),description:J.Type.String()}))}),L9={options:{delay:0,width:350,keywordsPrefix:"@@"},tooltips:[]},Mme=J.Type.Object({name:J.Type.String(),description:J.Type.String(),icon:J.Type.String(),secret:J.Type.Optional(J.Type.Boolean()),category:J.Type.Optional(J.Type.String())}),B9=J.Type.Object({id:J.Type.String(),title:J.Type.String()}),F9=J.Type.Record(J.Type.String(),Mme);J.Type.Object({defaultAchievementIcon:J.Type.String(),categories:J.Type.Array(B9),achievements:F9,notifyNewAchievements:J.Type.Boolean(),secretAchievements:J.Type.Optional(J.Type.Object({censorDescription:J.Type.Optional(J.Type.Boolean()),censorName:J.Type.Optional(J.Type.Boolean()),hideUntilObtained:J.Type.Optional(J.Type.Boolean())}))});const Pme=J.Type.Object({categories:J.Type.Optional(J.Type.Array(B9)),achievements:J.Type.Optional(F9)}),V9={categories:[{id:"default",title:"Achievements"}],achievements:{},notifyNewAchievements:!0,defaultAchievementIcon:"img/achievements/trophy.png"},Nme=J.Type.Object({diceRange:J.Type.Tuple([J.Type.Number(),J.Type.Number()]),diceCount:J.Type.Number(),difficultyText:J.Type.Array(J.Type.Tuple([J.Type.Number(),J.Type.String()])),extraPointsPerLevel:J.Type.Number(),extraDicePerLevel:J.Type.Optional(J.Type.Number()),successOnRollsBelowThreshold:J.Type.Boolean(),showDifficultyText:J.Type.Boolean(),showDifficultyNumber:J.Type.Boolean(),showDifficultyWithoutModifiers:J.Type.Boolean(),finalRollIsHighest:J.Type.Optional(J.Type.Boolean()),finalRollIsLowest:J.Type.Optional(J.Type.Boolean()),failOnRollsEqualToThreshold:J.Type.Optional(J.Type.Boolean())}),Ime=J.Type.Object({skill:J.Type.String(),difficulty:J.Type.Number(),winsNeeded:J.Type.Optional(J.Type.Number()),hideAfterRoll:J.Type.Optional(J.Type.Boolean()),repeatable:J.Type.Optional(J.Type.Boolean())}),z9=J.Type.Object({options:Nme,skillChecks:J.Type.Record(J.Type.String(),Ime)}),U9={options:{diceRange:[1,6],extraPointsPerLevel:1,extraDicePerLevel:0,diceCount:2,successOnRollsBelowThreshold:!1,showDifficultyText:!0,showDifficultyNumber:!1,showDifficultyWithoutModifiers:!1,finalRollIsHighest:!1,finalRollIsLowest:!1,difficultyText:[[2,"Very Easy"],[4,"Easy"],[6,"Medium"],[8,"Hard"],[10,"Very Hard"],[11,"Extremely Hard"],[12,"Near Impossible"]]},skillChecks:{}},Yc={baseAssetsPath:"",baseDataPath:"",gameTitle:"Narrat Game",saveFileName:"narrat save",images:{},layout:Ame,settings:{},gameFlow:{},dialogPanel:{overlayMode:!0,rightOffset:100,bottomOffset:50,width:475,height:680,textSpeed:Vg,animateText:!0,timeBetweenLines:100},splashScreens:{},screens:E9,buttons:C9,skills:P9,skillChecks:U9,scripts:[],audio:g9,notifications:{timeOnScreen:2.5,alsoPrintInDialogue:!1},tooltips:L9,hudStats:{},achievements:V9,items:k9,interactionTags:{default:{onlyInteractOutsideOfScripts:!0}},quests:_9,transitions:{},menuButtons:{},debugging:{showScriptFinishedMessage:!1},saves:{mode:"manual",slots:10},characters:D9};var Dme=function(t){return Rme(t)&&!Lme(t)};function Rme(e){return!!e&&typeof e=="object"}function Lme(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||Vme(e)}var Bme=typeof Symbol=="function"&&Symbol.for,Fme=Bme?Symbol.for("react.element"):60103;function Vme(e){return e.$$typeof===Fme}function zme(e){return Array.isArray(e)?[]:{}}function Lh(e,t){return t.clone!==!1&&t.isMergeableObject(e)?If(zme(e),e,t):e}function Ume(e,t,n){return e.concat(t).map(function(r){return Lh(r,n)})}function qme(e,t){if(!t.customMerge)return If;var n=t.customMerge(e);return typeof n=="function"?n:If}function Hme(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function q9(e){return Object.keys(e).concat(Hme(e))}function H9(e,t){try{return t in e}catch{return!1}}function Wme(e,t){return H9(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function Kme(e,t,n){var r={};return n.isMergeableObject(e)&&q9(e).forEach(function(o){r[o]=Lh(e[o],n)}),q9(t).forEach(function(o){Wme(e,o)||(H9(e,o)&&n.isMergeableObject(t[o])?r[o]=qme(o,n)(e[o],t[o],n):r[o]=Lh(t[o],n))}),r}function If(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||Ume,n.isMergeableObject=n.isMergeableObject||Dme,n.cloneUnlessOtherwiseSpecified=Lh;var r=Array.isArray(t),o=Array.isArray(e),i=r===o;return i?r?n.arrayMerge(e,t,n):Kme(e,t,n):Lh(t,n)}If.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,o){return If(r,o,n)},{})};var Gme=If,Jme=Gme;const Bh=S_(Jme),di=Zr("config",{state:()=>({config:Yc}),actions:{async setConfig(e){this.config=e},extendConfig(e){this.config=Bh(this.config,e)},generateSaveData(){return{playerCharacter:this.playerCharacter,gameCharacter:this.gameCharacter}},loadSaveData(e){this.config.characters.config.playerCharacter=e.playerCharacter,this.config.characters.config.gameCharacter=e.gameCharacter}},getters:{playerCharacter(){return this.config.characters.config.playerCharacter??"player"},gameCharacter(){return this.config.characters.config.gameCharacter??"game"}}});function W9(e){const t=Dr(),n=t.getSkillCheck(e.id);if(n&&n.happened&&(n.succeeded||!e.repeatable))return n;const r=cme(e);return J9(ime(r,e)),r?t.passSkillCheck(e.id,e.hideAfterRoll):t.failSkillCheck(e.id,e.hideAfterRoll),t.getSkillCheck(e.id)}function Qme(e,t=[]){const n=e.options,r=e.staticOptions,o=!!n.condition;if(o)return r.success;if(!o){for(const[i,a]of r.elseifs.entries())if(t[i]===!0)return a.branch}if(!o&&r.failure)return r.failure}function K9(e){return typeof e=="object"}function G9(e){return typeof e=="string"&&e.search(/\$/)===0}function J9(e){const t={speaker:di().gameCharacter,text:e,interactive:!1};Qn().addDialog(t)}async function Zx(e){Qn().addDialog(e)}function Yme(e,t){if(t<e.length)return e[t]}/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Q9(e){return typeof e>"u"||e===null}function Xme(e){return typeof e=="object"&&e!==null}function Zme(e){return Array.isArray(e)?e:Q9(e)?[]:[e]}function eve(e,t){var n,r,o,i;if(t)for(i=Object.keys(t),n=0,r=i.length;n<r;n+=1)o=i[n],e[o]=t[o];return e}function tve(e,t){var n="",r;for(r=0;r<t;r+=1)n+=e;return n}function nve(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var rve=Q9,ove=Xme,ive=Zme,ave=tve,sve=nve,lve=eve,so={isNothing:rve,isObject:ove,toArray:ive,repeat:ave,isNegativeZero:sve,extend:lve};function Y9(e,t){var n="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+=`
|
|
176
176
|
|
|
177
177
|
`+e.mark.snippet),r+" "+n):r}function Fh(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=Y9(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Fh.prototype=Object.create(Error.prototype),Fh.prototype.constructor=Fh,Fh.prototype.toString=function(t){return this.name+": "+Y9(this,t)};var Xo=Fh;function e2(e,t,n,r,o){var i="",a="",s=Math.floor(o/2)-1;return r-t>s&&(i=" ... ",t=r-s+i.length),n-r>s&&(a=" ...",n=r+s-a.length),{str:i+e.slice(t,n).replace(/\t/g,"→")+a,pos:r-t+i.length}}function t2(e,t){return so.repeat(" ",t-e.length)+e}function cve(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var n=/\r?\n|\r|\0/g,r=[0],o=[],i,a=-1;i=n.exec(e.buffer);)o.push(i.index),r.push(i.index+i[0].length),e.position<=i.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);var s="",l,c,f=Math.min(e.line+t.linesAfter,o.length).toString().length,u=t.maxLength-(t.indent+f+3);for(l=1;l<=t.linesBefore&&!(a-l<0);l++)c=e2(e.buffer,r[a-l],o[a-l],e.position-(r[a]-r[a-l]),u),s=so.repeat(" ",t.indent)+t2((e.line-l+1).toString(),f)+" | "+c.str+`
|
|
178
178
|
`+s;for(c=e2(e.buffer,r[a],o[a],e.position,u),s+=so.repeat(" ",t.indent)+t2((e.line+1).toString(),f)+" | "+c.str+`
|