@intelliweave/embedded 1.7.57 → 1.7.58
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/custom.d.ts +25 -1
- package/dist/component/component.d.ts +8 -0
- package/dist/component/component.js +40 -24
- package/dist/intelliweave-wordpress.zip +0 -0
- package/dist/node/node.d.ts +6 -0
- package/dist/node/node.js +9 -9
- package/dist/react/react.d.ts +10 -0
- package/dist/react/react.js +40 -24
- package/dist/script-tag/script-tag.js +47 -31
- package/dist/webpack/index.d.ts +12 -0
- package/dist/webpack/index.js +45 -29
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{b as
|
|
1
|
+
import{b as Ni,c as va,d as _a,e as J}from"./chunk-AIYMQX7V.js";var Sl=Ni((sw,_l)=>{"use strict";var di=Object.prototype.hasOwnProperty,vl=Object.prototype.toString,ml=Object.defineProperty,gl=Object.getOwnPropertyDescriptor,hl=function(n){return typeof Array.isArray=="function"?Array.isArray(n):vl.call(n)==="[object Array]"},fl=function(n){if(!n||vl.call(n)!=="[object Object]")return!1;var t=di.call(n,"constructor"),i=n.constructor&&n.constructor.prototype&&di.call(n.constructor.prototype,"isPrototypeOf");if(n.constructor&&!t&&!i)return!1;var r;for(r in n);return typeof r>"u"||di.call(n,r)},yl=function(n,t){ml&&t.name==="__proto__"?ml(n,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):n[t.name]=t.newValue},bl=function(n,t){if(t==="__proto__")if(di.call(n,t)){if(gl)return gl(n,t).value}else return;return n[t]};_l.exports=function e(){var n,t,i,r,a,o,s=arguments[0],l=1,c=arguments.length,u=!1;for(typeof s=="boolean"&&(u=s,s=arguments[1]||{},l=2),(s==null||typeof s!="object"&&typeof s!="function")&&(s={});l<c;++l)if(n=arguments[l],n!=null)for(t in n)i=bl(s,t),r=bl(n,t),s!==r&&(u&&r&&(fl(r)||(a=hl(r)))?(a?(a=!1,o=i&&hl(i)?i:[]):o=i&&fl(i)?i:{},yl(s,{name:t,newValue:e(u,o,r)})):typeof r<"u"&&yl(s,{name:t,newValue:r}));return s}});var Wl=Ni(V=>{"use strict";var un=Symbol.for("react.element"),og=Symbol.for("react.portal"),sg=Symbol.for("react.fragment"),lg=Symbol.for("react.strict_mode"),cg=Symbol.for("react.profiler"),ug=Symbol.for("react.provider"),dg=Symbol.for("react.context"),pg=Symbol.for("react.forward_ref"),mg=Symbol.for("react.suspense"),gg=Symbol.for("react.memo"),hg=Symbol.for("react.lazy"),Nl=Symbol.iterator;function fg(e){return e===null||typeof e!="object"?null:(e=Nl&&e[Nl]||e["@@iterator"],typeof e=="function"?e:null)}var Ol={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bl=Object.assign,Fl={};function Dt(e,n,t){this.props=e,this.context=n,this.refs=Fl,this.updater=t||Ol}Dt.prototype.isReactComponent={};Dt.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};Dt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Gl(){}Gl.prototype=Dt.prototype;function ua(e,n,t){this.props=e,this.context=n,this.refs=Fl,this.updater=t||Ol}var da=ua.prototype=new Gl;da.constructor=ua;Bl(da,Dt.prototype);da.isPureReactComponent=!0;var Ll=Array.isArray,zl=Object.prototype.hasOwnProperty,pa={current:null},Ul={key:!0,ref:!0,__self:!0,__source:!0};function Hl(e,n,t){var i,r={},a=null,o=null;if(n!=null)for(i in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(a=""+n.key),n)zl.call(n,i)&&!Ul.hasOwnProperty(i)&&(r[i]=n[i]);var s=arguments.length-2;if(s===1)r.children=t;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];r.children=l}if(e&&e.defaultProps)for(i in s=e.defaultProps,s)r[i]===void 0&&(r[i]=s[i]);return{$$typeof:un,type:e,key:a,ref:o,props:r,_owner:pa.current}}function yg(e,n){return{$$typeof:un,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function ma(e){return typeof e=="object"&&e!==null&&e.$$typeof===un}function bg(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(t){return n[t]})}var Ml=/\/+/g;function ca(e,n){return typeof e=="object"&&e!==null&&e.key!=null?bg(""+e.key):n.toString(36)}function xi(e,n,t,i,r){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case un:case og:o=!0}}if(o)return o=e,r=r(o),e=i===""?"."+ca(o,0):i,Ll(r)?(t="",e!=null&&(t=e.replace(Ml,"$&/")+"/"),xi(r,n,t,"",function(c){return c})):r!=null&&(ma(r)&&(r=yg(r,t+(!r.key||o&&o.key===r.key?"":(""+r.key).replace(Ml,"$&/")+"/")+e)),n.push(r)),1;if(o=0,i=i===""?".":i+":",Ll(e))for(var s=0;s<e.length;s++){a=e[s];var l=i+ca(a,s);o+=xi(a,n,t,l,r)}else if(l=fg(e),typeof l=="function")for(e=l.call(e),s=0;!(a=e.next()).done;)a=a.value,l=i+ca(a,s++),o+=xi(a,n,t,l,r);else if(a==="object")throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.");return o}function Ai(e,n,t){if(e==null)return e;var i=[],r=0;return xi(e,i,"","",function(a){return n.call(t,a,r++)}),i}function vg(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var ge={current:null},Ii={transition:null},_g={ReactCurrentDispatcher:ge,ReactCurrentBatchConfig:Ii,ReactCurrentOwner:pa};function Vl(){throw Error("act(...) is not supported in production builds of React.")}V.Children={map:Ai,forEach:function(e,n,t){Ai(e,function(){n.apply(this,arguments)},t)},count:function(e){var n=0;return Ai(e,function(){n++}),n},toArray:function(e){return Ai(e,function(n){return n})||[]},only:function(e){if(!ma(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};V.Component=Dt;V.Fragment=sg;V.Profiler=cg;V.PureComponent=ua;V.StrictMode=lg;V.Suspense=mg;V.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_g;V.act=Vl;V.cloneElement=function(e,n,t){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=Bl({},e.props),r=e.key,a=e.ref,o=e._owner;if(n!=null){if(n.ref!==void 0&&(a=n.ref,o=pa.current),n.key!==void 0&&(r=""+n.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in n)zl.call(n,l)&&!Ul.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&s!==void 0?s[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=t;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];i.children=s}return{$$typeof:un,type:e.type,key:r,ref:a,props:i,_owner:o}};V.createContext=function(e){return e={$$typeof:dg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:ug,_context:e},e.Consumer=e};V.createElement=Hl;V.createFactory=function(e){var n=Hl.bind(null,e);return n.type=e,n};V.createRef=function(){return{current:null}};V.forwardRef=function(e){return{$$typeof:pg,render:e}};V.isValidElement=ma;V.lazy=function(e){return{$$typeof:hg,_payload:{_status:-1,_result:e},_init:vg}};V.memo=function(e,n){return{$$typeof:gg,type:e,compare:n===void 0?null:n}};V.startTransition=function(e){var n=Ii.transition;Ii.transition={};try{e()}finally{Ii.transition=n}};V.unstable_act=Vl;V.useCallback=function(e,n){return ge.current.useCallback(e,n)};V.useContext=function(e){return ge.current.useContext(e)};V.useDebugValue=function(){};V.useDeferredValue=function(e){return ge.current.useDeferredValue(e)};V.useEffect=function(e,n){return ge.current.useEffect(e,n)};V.useId=function(){return ge.current.useId()};V.useImperativeHandle=function(e,n,t){return ge.current.useImperativeHandle(e,n,t)};V.useInsertionEffect=function(e,n){return ge.current.useInsertionEffect(e,n)};V.useLayoutEffect=function(e,n){return ge.current.useLayoutEffect(e,n)};V.useMemo=function(e,n){return ge.current.useMemo(e,n)};V.useReducer=function(e,n,t){return ge.current.useReducer(e,n,t)};V.useRef=function(e){return ge.current.useRef(e)};V.useState=function(e){return ge.current.useState(e)};V.useSyncExternalStore=function(e,n,t){return ge.current.useSyncExternalStore(e,n,t)};V.useTransition=function(){return ge.current.useTransition()};V.version="18.3.1"});var ql=Ni((OT,jl)=>{"use strict";jl.exports=Wl()});var le=[];for(pn=0;pn<256;++pn)le.push((pn+256).toString(16).slice(1));var pn;function Sa(e,n=0){return(le[e[n+0]]+le[e[n+1]]+le[e[n+2]]+le[e[n+3]]+"-"+le[e[n+4]]+le[e[n+5]]+"-"+le[e[n+6]]+le[e[n+7]]+"-"+le[e[n+8]]+le[e[n+9]]+"-"+le[e[n+10]]+le[e[n+11]]+le[e[n+12]]+le[e[n+13]]+le[e[n+14]]+le[e[n+15]]).toLowerCase()}var mn,Ql=new Uint8Array(16);function Li(){if(!mn&&(mn=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!mn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return mn(Ql)}var ec=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Mi={randomUUID:ec};function tc(e,n,t){if(Mi.randomUUID&&!n&&!e)return Mi.randomUUID();e=e||{};var i=e.random||(e.rng||Li)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,n){t=t||0;for(var r=0;r<16;++r)n[t+r]=i[r];return n}return Sa(i)}var Te=tc;function Oi(e){let n=(e||"").split(`
|
|
2
2
|
`);for(;n.length>0&&n[0].trim()=="";)n.shift();for(;n.length>0&&n[n.length-1].trim()=="";)n.pop();let t=1/0;for(let i of n){let r=i.match(/^\s*/)?.[0].length||0;t=Math.min(t,r)}return t>0&&t<1/0&&(n=n.map(i=>i.substring(t))),n.join(`
|
|
3
|
-
`)}var nc={};function
|
|
3
|
+
`)}var nc={};function He(){return typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:nc}function $(){return He().intelliweave=He().intelliweave||He().webWeaver||{},He().intelliweave}async function*Ea(e){let n="",t=function*(){for(;;){let a=n.indexOf(`
|
|
4
4
|
|
|
5
5
|
`);if(a==-1)break;let o=n.slice(0,a);n=n.slice(a+2);let s={},l=o.split(`
|
|
6
6
|
`);for(let c of l){a=c.indexOf(": ");let u=c.slice(0,a),d=c.slice(a+2);a==-1&&(u=c,d=""),u&&(s[u]!==void 0?s[u]+=`
|
|
7
7
|
`+d:s[u]=d)}yield s}},i=new TextDecoder,r=e.getReader();for(;;){let{done:a,value:o}=await r.read();if(a)break;n+=i.decode(o,{stream:!0}),yield*t()}n+=i.decode()+`
|
|
8
8
|
|
|
9
|
-
`,yield*t()}function Ca(){if($().userID)return $().userID;if(typeof localStorage<"u"){let e=localStorage.getItem("intelliweave.uid")||"";return e||(e=Te(),localStorage.setItem("intelliweave.uid",e),e)}else return Te()}var
|
|
9
|
+
`,yield*t()}function Ca(){if($().userID)return $().userID;if(typeof localStorage<"u"){let e=localStorage.getItem("intelliweave.uid")||"";return e||(e=Te(),localStorage.setItem("intelliweave.uid",e),e)}else return Te()}var gn=class gn{constructor(n){this.module="IntelliWeave";this.module=n}get debugEnabled(){return gn.debug?!0:typeof window<"u"&&$().debug}log(...n){this.debugEnabled&&console.log(`[IntelliWeave > ${this.module}]`,...n)}debug(...n){this.debugEnabled&&console.debug(`[IntelliWeave > ${this.module}]`,...n)}info(...n){this.debugEnabled&&console.info(`[IntelliWeave > ${this.module}]`,...n)}warn(...n){console.warn(`[IntelliWeave > ${this.module}]`,...n)}error(...n){console.error(`[IntelliWeave > ${this.module}]`,...n)}timer(n,...t){let i=Date.now();return this.debug(`[${n} 0ms] Started`,...t),(...r)=>this.debug(`[${n} ${Math.floor(Date.now()-i)}ms]`,...r)}};gn.debug=!1;var q=gn;var ka=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",[161],[162],[163],[164],[165],[166],[167],[168],[169],[170],[171],[172],[174],[175],[176],[177],[178],[179],[180],[181],[182],[183],[184],[185],[186],[187],[188],[189],[190],[191],[192],[193],[194],[195],[196],[197],[198],[199],[200],[201],[202],[203],[204],[205],[206],[207],[208],[209],[210],[211],[212],[213],[214],[215],[216],[217],[218],[219],[220],[221],[222],[223],[224],[225],[226],[227],[228],[229],[230],[231],[232],[233],[234],[235],[236],[237],[238],[239],[240],[241],[242],[243],[244],[245],[246],[247],[248],[249],[250],[251],[252],[253],[254],[255],"\0","","","","","","","\x07","\b"," ",`
|
|
10
10
|
`,"\v","\f","\r","","","","","","","","","","","","","","\x1B","","","",""," ","\x7F",[128],[129],[130],[131],[132],[133],[134],[135],[136],[137],[138],[139],[140],[141],[142],[143],[144],[145],[146],[147],[148],[149],[150],[151],[152],[153],[154],[155],[156],[157],[158],[159],[160],[173]," "," ","in"," t"," ","er"," ","on"," a","re","at","st","en","or"," th",`
|
|
11
11
|
|
|
12
12
|
`," c","le"," s","it","an","ar","al"," the",`;
|
|
@@ -3246,12 +3246,12 @@ import{b as Di,c as va,d as _a,e as J}from"./chunk-AIYMQX7V.js";var Sl=Di((sw,_l
|
|
|
3246
3246
|
`," spac"," rookies","(describing","ngen",[224,174,191,224,174],".rdf",".Mutex"," kneeling"," QE","setMax","ReadStream"," ventas","sut","cmpeq",".WriteAllText"," Experienced","$__"," kaum"," LIS"," documentos","_HEALTH","icontains"," artisans","OWNER"," blinked","getDisplay"," toen"," rowNum"," avril"," invis"," Kear","toBeInTheDocument","apur"," racked"," McMaster","_ATTRIB","Haz"," factura","/ts"," \u0440\u0430\u0437\u043C\u0435\u0440"," zf"," shortfall",".fasta"," CONSTANT",".managed","gems","SharedPointer"," blurry","brightness","(components",` ..."
|
|
3247
3247
|
|
|
3248
3248
|
`,"SELL"," Illustrator",".getChannel"," trouv\xE9","ysters"," vois"," Linden"," emojis"," brawl"," MSR"," Elo"," Croatian","PopupMenu","Lewis",".JWT"," astonished","Bush","(itemId"," detachment"," Encore","\u5C14"," rekl"," cram",")$/",".getHost","_recommend","-HT","_calibration","Authenticate",".firebaseapp","UNIX"," Camera"," HEAP","Ideal",".office"," goofy","(Symbol"," jouer","_partitions"," rapidement"," GNUNET","idUser"," supervise","(Contact","AWN","\u3058"," naam"," aust","\u5728\u7EBF","_softmax","AllowAnonymous","ammable","ROUTE","*D"," aden"," Cristina"," Cristiano"," bloodstream","subclass","_persona","CHILD","-know"," navigationOptions"," Zukunft"," Pixar","Tyler"," underworld"," sincerity"," dispenser"," kter","idders",".addNode","-checked"," keyst"," WTO",".signals"," adventurer"," Pang","\\R","=pos"," dispensaries"," Closet",'("{\\"',"ideon"," n\xE9cessaire",`()"
|
|
3249
|
-
`,"_RECEIVED"," r\xE9sultats"," moden"," Icelandic",";d",".allowed","(newUser"," merciless",".WaitFor"," daycare"," Conveyor"],ic=ka.concat(wa);ka.length=0;wa.length=0;var Ta=ic;var mt="all";var Aa=e=>e<=127;function Oi(e){if(e.length===0)return!1;let n=e.charCodeAt(e.length-1);return n>=55296&&n<=56319}function rc(e){let n=0;for(;n<e.length;){let t=e[n],i=0,r=0;if(t<=127)i=1,r=t;else if((t&224)===192){if(i=2,r=t&31,t<=193)return!1}else if((t&240)===224)i=3,r=t&15;else if((t&248)===240){if(i=4,r=t&7,t>244)return!1}else return!1;if(n+i>e.length)return!1;for(let a=1;a<i;a++){let o=e[n+a];if(o===void 0||(o&192)!==128)return!1;r=r<<6|o&63}if(i===2&&r<128||i===3&&r<2048||i===4&&r<65536||r>=55296&&r<=57343||r>1114111)return!1;n+=i}return!0}var ac=new TextDecoder("utf8",{fatal:!1});function xa(e){if(rc(e))return ac.decode(e)}function Ia(e,n){let t=Math.min(e.length,n.length);for(let i=0;i<t;i++)if(e[i]!==n[i])return e[i]-n[i];return e.length-n.length}function Ra(e){let n=0;return e.forEach(t=>{n=Math.max(n,t)}),n}function Bi(e){return e.replace(/[$()*+.?[\\\]^{|}]/g,"\\$&")}function Fi(e){let t=[...e].map(Bi).join("|");return new RegExp(`(${t})`)}var gn=new Uint8Array(0),gt=new TextDecoder("utf8"),hn=class{constructor({bytePairRankDecoder:n,specialTokensEncoder:t,tokenSplitRegex:i,mergeCacheSize:r=1e5}){J(this,"mergeableBytePairRankCount");J(this,"bytePairRankDecoder");J(this,"bytePairNonUtfRankDecoder",new Map);J(this,"bytePairNonUtfSortedEncoder");J(this,"bytePairStringRankEncoder");J(this,"tokenSplitRegex");J(this,"specialTokensEncoder");J(this,"specialTokensDecoder");J(this,"specialTokenPatternRegex");J(this,"textEncoder",new TextEncoder);J(this,"mergeCache");J(this,"mergeCacheSize");this.bytePairRankDecoder=n,this.bytePairStringRankEncoder=new Map,this.mergeCacheSize=r,r>0&&(this.mergeCache=new Map),this.mergeableBytePairRankCount=Object.keys(n).length;let a=[];n.forEach((l,c)=>{if(typeof l=="string"){this.bytePairStringRankEncoder.set(l,c);return}let u=new Uint8Array(l);a.push([u,c]),this.bytePairNonUtfRankDecoder.set(c,u)}),this.bytePairNonUtfSortedEncoder=a.sort((l,c)=>Ia(l[0],c[0])),this.specialTokensEncoder=t??new Map,this.specialTokensDecoder=t?new Map([...t].map(([l,c])=>[c,l])):new Map,this.tokenSplitRegex=i;let s=[...this.specialTokensEncoder.keys()].map(Bi).join("|");try{this.specialTokenPatternRegex=new RegExp(s,"y")}catch{throw new Error("Invalid regular expression pattern.")}}setMergeCacheSize(n){this.mergeCacheSize===0&&n>0&&(this.mergeCache=new Map),this.mergeCacheSize=n,n===0&&(this.mergeCache=void 0)}clearMergeCache(){this.mergeCache?.clear()}*encodeNativeGenerator(n,t){let i=0,r=0;for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){let u=this.getBpeRankFromString(c);if(u!==void 0){r=1,yield[u];continue}let d=this.bytePairEncode(c);r=d.length,yield d}if(o!==void 0){let c=a[1],u=this.specialTokensEncoder.get(c);if(u===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);yield[u],i=o+c.length,r=1}else break}return r}encodeNative(n,t){let i=0,r=[];for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){let u=this.getBpeRankFromString(c);if(u!==void 0){r.push(u);continue}let d=this.bytePairEncode(c);r.push(...d)}if(o!==void 0){let c=a[1],u=this.specialTokensEncoder.get(c);if(u===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);r.push(u),i=o+c.length}else break}return r}countNative(n,t){let i=0,r=0;for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){if(this.getBpeRankFromString(c)!==void 0){r++;continue}let d=this.bytePairEncode(c);r+=d.length}if(o!==void 0){let c=a[1];if(this.specialTokensEncoder.get(c)===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);r++,i=o+c.length}else break}return r}*decodeNativeGenerator(n){for(let t of n){let i=this.tryDecodeToken(t);i&&(yield i)}}decodeNative(n){let t="",i=gn;for(let r of n){let a=this.tryDecodeToken(r);if(a===void 0)throw new Error(`Token ${r} is not in the byte pair encoder.`);if(typeof a=="string")i!==gn&&(t+=gt.decode(i,{stream:!0}),i=gn),t+=a;else{let o=new Uint8Array(i.length+a.length);o.set(i),o.set(a,i.length),i=o}}return i!==gn&&(t+=gt.decode(i,{stream:!0})),t}async*decodeNativeAsyncIterable(n){for await(let t of n){let i=this.tryDecodeToken(t);i&&(yield i)}}getBpeRankFromString(n){return this.bytePairStringRankEncoder.get(n)}getBpeRankFromStringOrThrow(n){let t=this.getBpeRankFromString(n);if(t===void 0)throw new Error(`The byte-pair encoding does not contain a value for: ${n}`);return t}getBpeRankFromBytes(n){let t=xa(n);if(t!==void 0)return this.getBpeRankFromString(t);let i=this.binarySearch(n);if(i!==-1)return this.bytePairNonUtfSortedEncoder[i][1]}getBpeRankFromBytesOrThrow(n){let t=this.getBpeRankFromBytes(n);if(t===void 0)throw new Error(`The byte-pair encoding does not contain a value for: ${n.toString()}`);return t}binarySearch(n){let t=0,i=this.bytePairNonUtfSortedEncoder.length-1;for(;t<=i;){let r=t+i>>>1,a=this.bytePairNonUtfSortedEncoder[r][0],o=0,s=Math.min(a.length,n.length);for(let l=0;l<s&&(o=a[l]-n[l],o===0);l++);if(o===0&&(o=a.length-n.length),o===0)return r;o<0?t=r+1:i=r-1}return-1}findNextSpecialToken(n,t,i){let r=i;for(;;){this.specialTokenPatternRegex.lastIndex=r;let a=this.specialTokenPatternRegex.exec(n);if(!a)return;let o=a[0];if(t?.has(o))return[a.index+r,o];r=a.index+r+1}}tryDecodeToken(n){let t=this.bytePairRankDecoder[n];if(typeof t=="string")return t;if(typeof t=="object"){let i=this.bytePairNonUtfRankDecoder.get(n);if(i)return i}return this.specialTokensDecoder.get(n)}addToMergeCache(n,t){if(this.mergeCache){if(this.mergeCache.size>=this.mergeCacheSize){let i=this.mergeCache.keys().next().value;this.mergeCache.delete(i)}this.mergeCache.set(n,t)}}bytePairEncode(n){if(n.length===1&&Aa(n.codePointAt(0)))return[this.getBpeRankFromStringOrThrow(n)];if(this.mergeCache?.has(n)){let r=this.mergeCache.get(n);return this.mergeCache.delete(n),this.mergeCache.set(n,r),r}let t=this.textEncoder.encode(n),i=this.bytePairMerge(t);return this.addToMergeCache(n,i),i}bytePairMerge(n){let t=[],i=[],r=(o,s=t[o],l=t[o+2])=>{if(l===void 0)return Number.POSITIVE_INFINITY;let c=n.subarray(s,l);return this.getBpeRankFromBytes(c)??Number.POSITIVE_INFINITY};for(let o=0;o<=n.length;o++)t.push(o),o<n.length-1?i.push(r(o,o,o+2)):i.push(Number.POSITIVE_INFINITY);for(;t.length>1;){let o=Number.POSITIVE_INFINITY,s=-1;for(let l=0;l<i.length-1;l++){let c=i[l];c<o&&(o=c,s=l)}if(o===Number.POSITIVE_INFINITY||s===-1)break;t.splice(s+1,1),i.splice(s,1),i[s]=r(s),s>0&&(i[s-1]=r(s-1))}let a=[];for(let o=0;o<t.length-1;o++){let s=t[o],l=t[o+1],c=this.getBpeRankFromBytesOrThrow(n.subarray(s,l));a.push(c)}return a}};var Pa={humanName:"GPT-4o (Aug 2024)",description:"Our high-intelligence flagship model for complex, multi-step tasks. GPT-4o is cheaper and faster than GPT-4 Turbo. Currently points to gpt-4o-2024-08-06.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10,batchInput:1.25,batchOutput:5,cachedInput:1.25}},sc={humanName:"GPT-4o (Nov 2024)",description:"November 2024 snapshot of the GPT-4o model with enhanced capabilities.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10,batchInput:1.25,batchOutput:5,cachedInput:1.25}},lc={humanName:"GPT-4o",description:"Original gpt-4o snapshot from May 13, 2024, offering advanced multimodal capabilities.",encoding:"o200k_base",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:15,batchInput:2.5,batchOutput:7.5}},Da={humanName:"GPT-4o Mini",description:"Our affordable and intelligent small model for fast, lightweight tasks. GPT-4o mini is cheaper and more capable than GPT-3.5 Turbo. Currently points to gpt-4o-mini-2024-07-18.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:.15,output:.6,batchInput:.075,batchOutput:.3,cachedInput:.075}},Na={humanName:"OpenAI o1",description:"Our most intelligent model, optimal for complex tasks requiring deep understanding and expertise. Currently points to o1-2024-12-17.",encoding:"o200k_base",context:128e3,maxOutput:32768,trainingData:"2023-10",cost:{input:15,output:60,batchInput:7.5,batchOutput:30,cachedInput:7.5}},La={humanName:"OpenAI o1-preview",description:"Preview version of the o1 model: o1-preview-2024-09-12.",encoding:"o200k_base",context:128e3,maxOutput:32768,trainingData:"2023-10",cost:{input:15,output:60,batchInput:7.5,batchOutput:30,cachedInput:7.5}},Ma={humanName:"OpenAI o1-mini",description:"Points to the most recent o1-mini snapshot: o1-mini-2024-09-12.",encoding:"o200k_base",context:128e3,maxOutput:65536,trainingData:"2023-10",cost:{input:1.1,output:4.4,batchInput:.55,batchOutput:2.2,cachedInput:.55}},cc={humanName:"OpenAI o3-mini",description:"Small cost-efficient reasoning model that's optimized for coding, math, and science, and supports tools and Structured Outputs.",encoding:"o200k_base",context:2e5,maxOutput:65536,trainingData:"2023-10",cost:{input:1.1,output:4.4,batchInput:.55,batchOutput:2.2,cachedInput:.55}},uc={humanName:"Text Embedding 3 Small",description:"Embedding model for small-scale applications.",encoding:"cl100k_base",maxInput:8191,cost:{input:.02,batchInput:.01}},dc={humanName:"Text Embedding 3 Large",description:"Embedding model for large-scale applications.",encoding:"cl100k_base",maxInput:8191,cost:{input:.13,batchInput:.065}},pc={humanName:"Ada v2",description:"A versatile model suitable for text embeddings and lightweight NLP tasks.",encoding:"cl100k_base",maxInput:8191,cost:{input:.1,output:0,batchInput:.05,batchOutput:0}},mc={humanName:"GPT-4o Realtime Preview",encoding:"o200k_base",description:"Preview release for the Realtime API.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},gc={humanName:"GPT-4o Realtime Preview (Oct 2024)",encoding:"o200k_base",description:"Current snapshot for the Realtime API model.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},hc={humanName:"GPT-4o Realtime Preview (Dec 2024)",encoding:"o200k_base",description:"December 2024 snapshot for the Realtime API model.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},Oa={humanName:"GPT-4o Mini Realtime Preview (Dec 2024)",encoding:"o200k_base",description:"Mini version for the Realtime API with December 2024 snapshot.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:.6,output:2.4,cachedInput:.3}},fc={humanName:"GPT-4o Audio Preview",encoding:"o200k_base",description:"Preview release for audio inputs in chat completions.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},yc={humanName:"GPT-4o Audio Preview (Oct 2024)",encoding:"o200k_base",description:"Current snapshot for the Audio API model.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},bc={humanName:"GPT-4o Audio Preview (Dec 2024)",encoding:"o200k_base",description:"December 2024 snapshot for the Audio API model.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},Ba={humanName:"GPT-4o Mini Audio Preview (Dec 2024)",encoding:"o200k_base",description:"Mini version for the Audio API with December 2024 snapshot.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:.15,output:.6}},vc={humanName:"GPT-4o 2024-08-06 Finetuning",description:"GPT-4o finetuned for custom tasks.",encoding:"o200k_base",cost:{input:3.75,output:15,batchInput:1.875,batchOutput:7.5,cachedInput:1.875,training:25}},_c={humanName:"GPT-4o Mini 2024-07-18 Finetuning",description:"GPT-4o mini finetuned for custom tasks.",encoding:"o200k_base",cost:{input:.3,output:1.2,batchInput:.15,batchOutput:.6,cachedInput:.15,training:3}},Sc={humanName:"GPT-3.5 Turbo Finetuning",description:"Finetuning GPT-3.5 Turbo with custom data.",encoding:"cl100k_base",cost:{input:3,output:6,batchInput:1.5,batchOutput:3,training:8}},Fa={humanName:"GPT-4o Mini Training",description:"Training GPT-4o Mini with custom datasets.",encoding:"o200k_base",cost:{input:3,output:0,batchInput:1.5,batchOutput:0}},Ec={humanName:"GPT-3.5 Turbo 16k",description:"GPT-3.5 model with 16k token context.",encoding:"cl100k_base",cost:{input:3,output:4,batchInput:1.5,batchOutput:2}},Ga={humanName:"GPT-4 Turbo 2024-04-09",description:"The latest GPT-4 Turbo model with vision capabilities. Vision requests can now use JSON mode and function calling. Currently points to gpt-4-turbo-2024-04-09.",encoding:"cl100k_base",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},Cc={humanName:"ChatGPT 4o Latest",description:"The chatgpt-4o-latest model version continuously points to the version of GPT-4o used in ChatGPT, and is updated frequently when there are significant changes.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:5,output:15}},za={humanName:"GPT-4",description:"Currently points to gpt-4-0613. See continuous model upgrades.",encoding:"cl100k_base",context:8192,maxOutput:8192,trainingData:"2021-09",cost:{input:30,output:60,batchInput:15,batchOutput:30}},Gi={humanName:"GPT-4 0125 Preview",description:"GPT-4 Turbo preview model intended to reduce cases of \u201Claziness\u201D where the model doesn\u2019t complete a task.",encoding:"cl100k_base",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},kc={...Gi,humanName:"GPT-4 1106 Preview"},Ua={humanName:"GPT-3.5 Turbo 0125",description:"The latest GPT-3.5 Turbo model with higher accuracy at responding in requested formats and a fix for a bug which caused a text encoding issue for non-English language function calls.",encoding:"cl100k_base",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:.5,output:1.5,batchInput:.25,batchOutput:.75}},Ha={humanName:"GPT-3.5 Turbo Instruct",description:"Similar capabilities as GPT-3 era models. Compatible with legacy Completions endpoint and not Chat Completions.",encoding:"cl100k_base",context:4096,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2}},wc={humanName:"GPT-3.5 Turbo 1106",description:"GPT-3.5 Turbo model with improved instruction following, JSON mode, reproducible outputs, parallel function calling, and more.",encoding:"cl100k_base",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1,output:2,batchInput:.5,batchOutput:1}},Tc={humanName:"Davinci 002",description:"Replacement for the GPT-3 curie and davinci base models.",encoding:"p50k_base",context:16384,maxOutput:16384,trainingData:"2021-09",cost:{input:2,output:2,batchInput:1,batchOutput:1}},Ac={humanName:"Davinci-002 Finetuning",description:"Davinci-002 finetuned for custom tasks.",encoding:"p50k_base",cost:{input:12,output:12,batchInput:6,batchOutput:6,training:6}},xc={humanName:"Babbage 002",description:"Replacement for the GPT-3 ada and babbage base models.",encoding:"p50k_base",context:16384,trainingData:"2021-09",cost:{input:.4,output:.4,batchInput:.2,batchOutput:.2}},Ic={humanName:"Babbage-002 Finetuning",description:"Babbage-002 finetuned for custom tasks.",encoding:"p50k_base",cost:{input:1.6,output:1.6,batchInput:.8,batchOutput:.8,training:.4}},zi={humanName:"GPT-4 32k",encoding:"cl100k_base",description:"Snapshot of gpt-4 from June 13th 2023 with improved function calling support.",shutdownDate:"2025-06-06",recommendedReplacement:"gpt-4o",context:32768,maxOutput:16384,trainingData:"2021-09",cost:{input:60,output:120,batchInput:30,batchOutput:60}},ja={humanName:"GPT-4 Vision Preview",encoding:"cl100k_base",description:"Vision capabilities preview of GPT-4.",shutdownDate:"2024-12-06",recommendedReplacement:"gpt-4o",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},Rc=ja,Pc={humanName:"GPT-3.5 Turbo 0613",encoding:"cl100k_base",description:"Version of GPT-3.5 Turbo from June 2013.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2,batchInput:.75,batchOutput:1}},Dc={humanName:"GPT-3.5 Turbo 16k 0613",encoding:"cl100k_base",description:"16k context version from June 2013.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:3,output:4,batchInput:1.5,batchOutput:2}},Nc={humanName:"Text Ada 001",encoding:"r50k_base",description:"Model for lightweight tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:.4}},Lc={humanName:"Text Babbage 001",encoding:"r50k_base",description:"Model for efficient processing.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:.5}},Mc={humanName:"Text Curie 001",encoding:"r50k_base",description:"Mid-range model for various tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:2}},Oc={humanName:"Text Davinci 001",encoding:"r50k_base",description:"High-performance model for complex tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Bc={humanName:"Text Davinci 002",encoding:"p50k_base",description:"Legacy high-performance model.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Fc={humanName:"Text Davinci 003",encoding:"p50k_base",description:"Latest of the Davinci series.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Gc={humanName:"Ada",encoding:"r50k_base",description:"Base model for lightweight tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"babbage-002",cost:{input:.4}},zc={humanName:"Babbage",encoding:"r50k_base",description:"Model for efficient processing.",shutdownDate:"2024-01-04",recommendedReplacement:"babbage-002",cost:{input:.5}},Uc={humanName:"Curie",encoding:"r50k_base",description:"Mid-range model for a variety of applications.",shutdownDate:"2024-01-04",recommendedReplacement:"davinci-002",cost:{input:2}},Hc={humanName:"Davinci",encoding:"p50k_base",description:"High-performance legacy model.",shutdownDate:"2024-01-04",recommendedReplacement:"davinci-002",cost:{input:20}},Vc={humanName:"Code Davinci 002",encoding:"p50k_base",description:"Legacy coding model.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Va={humanName:"Code Davinci 001",encoding:"p50k_base",description:"Older coding model.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Wc={humanName:"Code Davinci 001",encoding:"p50k_edit",description:"Older coding model.",shutdownDate:"2023-03-23"},jc={humanName:"Code Cushman 002",encoding:"p50k_base",description:"Legacy model for coding.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Wa={humanName:"Code Cushman 001",encoding:"p50k_base",description:"Older model for coding tasks.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},qc={humanName:"GPT-4 0314",encoding:"cl100k_base",description:"Variant of GPT-4 model.",shutdownDate:"2024-06-13",recommendedReplacement:"gpt-4o",context:8192,maxOutput:8192,trainingData:"2021-09",cost:{input:30,output:60}},Kc={humanName:"GPT-3.5 Turbo 0301",encoding:"cl100k_base",description:"Earlier version of GPT-3.5 Turbo.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2,batchInput:.75,batchOutput:1}},Xc={...zi,humanName:"GPT-4 32k 0314"},Yc={humanName:"Text Similarity Ada 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Jc={humanName:"Text Search Ada Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Zc={humanName:"Text Search Ada Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},$c={humanName:"Code Search Ada Code 001",encoding:"r50k_base",description:"Embedding model for code search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Qc={humanName:"Code Search Ada Text 001",encoding:"r50k_base",description:"Embedding model for text search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},eu={humanName:"Text Davinci 001",encoding:"p50k_edit",description:"Older text model.",shutdownDate:"2023-03-23"},tu={humanName:"Text Similarity Babbage 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},nu={humanName:"Text Search Babbage Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},iu={humanName:"Text Search Babbage Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},ru={humanName:"Code Search Babbage Code 001",encoding:"r50k_base",description:"Embedding model for code search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},au={humanName:"Code Search Babbage Text 001",encoding:"r50k_base",description:"Embedding model for text search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},ou={humanName:"Text Similarity Curie 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},su={humanName:"Text Search Curie Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},lu={humanName:"Text Search Curie Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},cu={humanName:"Text Similarity Davinci 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},uu={humanName:"Text Search Davinci Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},du={humanName:"Text Search Davinci Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},Ui={o1:Na,"o1-2024-12-17":Na,"o1-preview":La,"o1-preview-2024-09-12":La,"o1-mini":Ma,"o1-mini-2024-09-12":Ma,"o3-mini":cc,"chatgpt-4o-latest":Cc,"gpt-4o":Pa,"gpt-4o-2024-11-20":sc,"gpt-4o-2024-08-06":Pa,"gpt-4o-2024-05-13":lc,"gpt-4o-mini":Da,"gpt-4o-mini-2024-07-18":Da,"gpt-4o-realtime-preview":mc,"gpt-4o-realtime-preview-2024-10-01":gc,"gpt-4o-realtime-preview-2024-12-17":hc,"gpt-4o-mini-realtime-preview":Oa,"gpt-4o-mini-realtime-preview-2024-12-17":Oa,"gpt-4o-audio-preview":fc,"gpt-4o-audio-preview-2024-10-01":yc,"gpt-4o-audio-preview-2024-12-17":bc,"gpt-4o-mini-audio-preview":Ba,"gpt-4o-mini-audio-preview-2024-12-17":Ba,"gpt-4o-2024-08-06-finetune":vc,"gpt-4o-mini-2024-07-18-finetune":_c,"gpt-4o-mini-training":Fa,"gpt-4o-mini-training-2024-07-18":Fa,"davinci-002-finetune":Ac,"babbage-002-finetune":Ic,"gpt-4-turbo":Ga,"gpt-4-turbo-2024-04-09":Ga,"gpt-4-turbo-preview":Gi,"gpt-4-0125-preview":Gi,"gpt-4-1106-preview":kc,"gpt-4":za,"gpt-4-0613":za,"gpt-3.5-turbo":Ua,"gpt-3.5-turbo-0125":Ua,"gpt-3.5-turbo-1106":wc,"gpt-3.5-turbo-finetune":Sc,"gpt-3.5-turbo-16k":Ec,"gpt-4-32k":zi,"gpt-4-32k-0613":zi,"gpt-4-vision-preview":ja,"gpt-4-1106-vision-preview":Rc,"gpt-4-0314":qc,"gpt-4-32k-0314":Xc,"gpt-3.5-turbo-0613":Pc,"gpt-3.5-turbo-16k-0613":Dc,"gpt-3.5-turbo-0301":Kc},fn={...Ui,"text-embedding-3-small":uc,"text-embedding-3-large":dc,"text-embedding-ada-002":pc,"gpt-3.5-turbo-instruct":Ha,"gpt-3.5-turbo-instruct-0914":Ha,"davinci-002":Tc,"babbage-002":xc,"text-ada-001":Nc,"text-babbage-001":Lc,"text-curie-001":Mc,"text-davinci-001":Oc,"text-davinci-002":Bc,"text-davinci-003":Fc,ada:Gc,babbage:zc,curie:Uc,davinci:Hc,"code-davinci-002":Vc,"code-davinci-001":Va,"davinci-codex":Va,"code-davinci-edit-001":Wc,"code-cushman-002":jc,"code-cushman-001":Wa,"cushman-codex":Wa,"code-search-ada-code-001":$c,"code-search-ada-text-001":Qc,"text-davinci-edit-001":eu,"text-similarity-ada-001":Yc,"text-search-ada-doc-001":Jc,"text-search-ada-query-001":Zc,"text-similarity-babbage-001":tu,"text-search-babbage-doc-001":nu,"text-search-babbage-query-001":iu,"code-search-babbage-code-001":ru,"code-search-babbage-text-001":au,"text-similarity-curie-001":ou,"text-search-curie-doc-001":su,"text-search-curie-query-001":lu,"text-similarity-davinci-001":cu,"text-search-davinci-doc-001":uu,"text-search-davinci-query-001":du};var Ee="<|endoftext|>",He="<|fim_prefix|>",Ve="<|fim_middle|>",We="<|fim_suffix|>",ht="<|im_start|>",ft="<|im_end|>",je="<|im_sep|>",yt="<|endofprompt|>";var qa=Object.fromEntries(Object.entries(Ui).map(([e,n])=>[e,n.encoding])),Ka=Object.fromEntries(Object.entries(fn).map(([e,n])=>[e,n.encoding])),pu={messageSeparator:`
|
|
3249
|
+
`,"_RECEIVED"," r\xE9sultats"," moden"," Icelandic",";d",".allowed","(newUser"," merciless",".WaitFor"," daycare"," Conveyor"],ic=ka.concat(wa);ka.length=0;wa.length=0;var Ta=ic;var mt="all";var Aa=e=>e<=127;function Bi(e){if(e.length===0)return!1;let n=e.charCodeAt(e.length-1);return n>=55296&&n<=56319}function rc(e){let n=0;for(;n<e.length;){let t=e[n],i=0,r=0;if(t<=127)i=1,r=t;else if((t&224)===192){if(i=2,r=t&31,t<=193)return!1}else if((t&240)===224)i=3,r=t&15;else if((t&248)===240){if(i=4,r=t&7,t>244)return!1}else return!1;if(n+i>e.length)return!1;for(let a=1;a<i;a++){let o=e[n+a];if(o===void 0||(o&192)!==128)return!1;r=r<<6|o&63}if(i===2&&r<128||i===3&&r<2048||i===4&&r<65536||r>=55296&&r<=57343||r>1114111)return!1;n+=i}return!0}var ac=new TextDecoder("utf8",{fatal:!1});function xa(e){if(rc(e))return ac.decode(e)}function Ia(e,n){let t=Math.min(e.length,n.length);for(let i=0;i<t;i++)if(e[i]!==n[i])return e[i]-n[i];return e.length-n.length}function Ra(e){let n=0;return e.forEach(t=>{n=Math.max(n,t)}),n}function Fi(e){return e.replace(/[$()*+.?[\\\]^{|}]/g,"\\$&")}function Gi(e){let t=[...e].map(Fi).join("|");return new RegExp(`(${t})`)}var hn=new Uint8Array(0),gt=new TextDecoder("utf8"),fn=class{constructor({bytePairRankDecoder:n,specialTokensEncoder:t,tokenSplitRegex:i,mergeCacheSize:r=1e5}){J(this,"mergeableBytePairRankCount");J(this,"bytePairRankDecoder");J(this,"bytePairNonUtfRankDecoder",new Map);J(this,"bytePairNonUtfSortedEncoder");J(this,"bytePairStringRankEncoder");J(this,"tokenSplitRegex");J(this,"specialTokensEncoder");J(this,"specialTokensDecoder");J(this,"specialTokenPatternRegex");J(this,"textEncoder",new TextEncoder);J(this,"mergeCache");J(this,"mergeCacheSize");this.bytePairRankDecoder=n,this.bytePairStringRankEncoder=new Map,this.mergeCacheSize=r,r>0&&(this.mergeCache=new Map),this.mergeableBytePairRankCount=Object.keys(n).length;let a=[];n.forEach((l,c)=>{if(typeof l=="string"){this.bytePairStringRankEncoder.set(l,c);return}let u=new Uint8Array(l);a.push([u,c]),this.bytePairNonUtfRankDecoder.set(c,u)}),this.bytePairNonUtfSortedEncoder=a.sort((l,c)=>Ia(l[0],c[0])),this.specialTokensEncoder=t??new Map,this.specialTokensDecoder=t?new Map([...t].map(([l,c])=>[c,l])):new Map,this.tokenSplitRegex=i;let s=[...this.specialTokensEncoder.keys()].map(Fi).join("|");try{this.specialTokenPatternRegex=new RegExp(s,"y")}catch{throw new Error("Invalid regular expression pattern.")}}setMergeCacheSize(n){this.mergeCacheSize===0&&n>0&&(this.mergeCache=new Map),this.mergeCacheSize=n,n===0&&(this.mergeCache=void 0)}clearMergeCache(){this.mergeCache?.clear()}*encodeNativeGenerator(n,t){let i=0,r=0;for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){let u=this.getBpeRankFromString(c);if(u!==void 0){r=1,yield[u];continue}let d=this.bytePairEncode(c);r=d.length,yield d}if(o!==void 0){let c=a[1],u=this.specialTokensEncoder.get(c);if(u===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);yield[u],i=o+c.length,r=1}else break}return r}encodeNative(n,t){let i=0,r=[];for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){let u=this.getBpeRankFromString(c);if(u!==void 0){r.push(u);continue}let d=this.bytePairEncode(c);r.push(...d)}if(o!==void 0){let c=a[1],u=this.specialTokensEncoder.get(c);if(u===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);r.push(u),i=o+c.length}else break}return r}countNative(n,t){let i=0,r=0;for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){if(this.getBpeRankFromString(c)!==void 0){r++;continue}let d=this.bytePairEncode(c);r+=d.length}if(o!==void 0){let c=a[1];if(this.specialTokensEncoder.get(c)===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);r++,i=o+c.length}else break}return r}*decodeNativeGenerator(n){for(let t of n){let i=this.tryDecodeToken(t);i&&(yield i)}}decodeNative(n){let t="",i=hn;for(let r of n){let a=this.tryDecodeToken(r);if(a===void 0)throw new Error(`Token ${r} is not in the byte pair encoder.`);if(typeof a=="string")i!==hn&&(t+=gt.decode(i,{stream:!0}),i=hn),t+=a;else{let o=new Uint8Array(i.length+a.length);o.set(i),o.set(a,i.length),i=o}}return i!==hn&&(t+=gt.decode(i,{stream:!0})),t}async*decodeNativeAsyncIterable(n){for await(let t of n){let i=this.tryDecodeToken(t);i&&(yield i)}}getBpeRankFromString(n){return this.bytePairStringRankEncoder.get(n)}getBpeRankFromStringOrThrow(n){let t=this.getBpeRankFromString(n);if(t===void 0)throw new Error(`The byte-pair encoding does not contain a value for: ${n}`);return t}getBpeRankFromBytes(n){let t=xa(n);if(t!==void 0)return this.getBpeRankFromString(t);let i=this.binarySearch(n);if(i!==-1)return this.bytePairNonUtfSortedEncoder[i][1]}getBpeRankFromBytesOrThrow(n){let t=this.getBpeRankFromBytes(n);if(t===void 0)throw new Error(`The byte-pair encoding does not contain a value for: ${n.toString()}`);return t}binarySearch(n){let t=0,i=this.bytePairNonUtfSortedEncoder.length-1;for(;t<=i;){let r=t+i>>>1,a=this.bytePairNonUtfSortedEncoder[r][0],o=0,s=Math.min(a.length,n.length);for(let l=0;l<s&&(o=a[l]-n[l],o===0);l++);if(o===0&&(o=a.length-n.length),o===0)return r;o<0?t=r+1:i=r-1}return-1}findNextSpecialToken(n,t,i){let r=i;for(;;){this.specialTokenPatternRegex.lastIndex=r;let a=this.specialTokenPatternRegex.exec(n);if(!a)return;let o=a[0];if(t?.has(o))return[a.index+r,o];r=a.index+r+1}}tryDecodeToken(n){let t=this.bytePairRankDecoder[n];if(typeof t=="string")return t;if(typeof t=="object"){let i=this.bytePairNonUtfRankDecoder.get(n);if(i)return i}return this.specialTokensDecoder.get(n)}addToMergeCache(n,t){if(this.mergeCache){if(this.mergeCache.size>=this.mergeCacheSize){let i=this.mergeCache.keys().next().value;this.mergeCache.delete(i)}this.mergeCache.set(n,t)}}bytePairEncode(n){if(n.length===1&&Aa(n.codePointAt(0)))return[this.getBpeRankFromStringOrThrow(n)];if(this.mergeCache?.has(n)){let r=this.mergeCache.get(n);return this.mergeCache.delete(n),this.mergeCache.set(n,r),r}let t=this.textEncoder.encode(n),i=this.bytePairMerge(t);return this.addToMergeCache(n,i),i}bytePairMerge(n){let t=[],i=[],r=(o,s=t[o],l=t[o+2])=>{if(l===void 0)return Number.POSITIVE_INFINITY;let c=n.subarray(s,l);return this.getBpeRankFromBytes(c)??Number.POSITIVE_INFINITY};for(let o=0;o<=n.length;o++)t.push(o),o<n.length-1?i.push(r(o,o,o+2)):i.push(Number.POSITIVE_INFINITY);for(;t.length>1;){let o=Number.POSITIVE_INFINITY,s=-1;for(let l=0;l<i.length-1;l++){let c=i[l];c<o&&(o=c,s=l)}if(o===Number.POSITIVE_INFINITY||s===-1)break;t.splice(s+1,1),i.splice(s,1),i[s]=r(s),s>0&&(i[s-1]=r(s-1))}let a=[];for(let o=0;o<t.length-1;o++){let s=t[o],l=t[o+1],c=this.getBpeRankFromBytesOrThrow(n.subarray(s,l));a.push(c)}return a}};var Pa={humanName:"GPT-4o (Aug 2024)",description:"Our high-intelligence flagship model for complex, multi-step tasks. GPT-4o is cheaper and faster than GPT-4 Turbo. Currently points to gpt-4o-2024-08-06.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10,batchInput:1.25,batchOutput:5,cachedInput:1.25}},sc={humanName:"GPT-4o (Nov 2024)",description:"November 2024 snapshot of the GPT-4o model with enhanced capabilities.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10,batchInput:1.25,batchOutput:5,cachedInput:1.25}},lc={humanName:"GPT-4o",description:"Original gpt-4o snapshot from May 13, 2024, offering advanced multimodal capabilities.",encoding:"o200k_base",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:15,batchInput:2.5,batchOutput:7.5}},Da={humanName:"GPT-4o Mini",description:"Our affordable and intelligent small model for fast, lightweight tasks. GPT-4o mini is cheaper and more capable than GPT-3.5 Turbo. Currently points to gpt-4o-mini-2024-07-18.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:.15,output:.6,batchInput:.075,batchOutput:.3,cachedInput:.075}},Na={humanName:"OpenAI o1",description:"Our most intelligent model, optimal for complex tasks requiring deep understanding and expertise. Currently points to o1-2024-12-17.",encoding:"o200k_base",context:128e3,maxOutput:32768,trainingData:"2023-10",cost:{input:15,output:60,batchInput:7.5,batchOutput:30,cachedInput:7.5}},La={humanName:"OpenAI o1-preview",description:"Preview version of the o1 model: o1-preview-2024-09-12.",encoding:"o200k_base",context:128e3,maxOutput:32768,trainingData:"2023-10",cost:{input:15,output:60,batchInput:7.5,batchOutput:30,cachedInput:7.5}},Ma={humanName:"OpenAI o1-mini",description:"Points to the most recent o1-mini snapshot: o1-mini-2024-09-12.",encoding:"o200k_base",context:128e3,maxOutput:65536,trainingData:"2023-10",cost:{input:1.1,output:4.4,batchInput:.55,batchOutput:2.2,cachedInput:.55}},cc={humanName:"OpenAI o3-mini",description:"Small cost-efficient reasoning model that's optimized for coding, math, and science, and supports tools and Structured Outputs.",encoding:"o200k_base",context:2e5,maxOutput:65536,trainingData:"2023-10",cost:{input:1.1,output:4.4,batchInput:.55,batchOutput:2.2,cachedInput:.55}},uc={humanName:"Text Embedding 3 Small",description:"Embedding model for small-scale applications.",encoding:"cl100k_base",maxInput:8191,cost:{input:.02,batchInput:.01}},dc={humanName:"Text Embedding 3 Large",description:"Embedding model for large-scale applications.",encoding:"cl100k_base",maxInput:8191,cost:{input:.13,batchInput:.065}},pc={humanName:"Ada v2",description:"A versatile model suitable for text embeddings and lightweight NLP tasks.",encoding:"cl100k_base",maxInput:8191,cost:{input:.1,output:0,batchInput:.05,batchOutput:0}},mc={humanName:"GPT-4o Realtime Preview",encoding:"o200k_base",description:"Preview release for the Realtime API.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},gc={humanName:"GPT-4o Realtime Preview (Oct 2024)",encoding:"o200k_base",description:"Current snapshot for the Realtime API model.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},hc={humanName:"GPT-4o Realtime Preview (Dec 2024)",encoding:"o200k_base",description:"December 2024 snapshot for the Realtime API model.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},Oa={humanName:"GPT-4o Mini Realtime Preview (Dec 2024)",encoding:"o200k_base",description:"Mini version for the Realtime API with December 2024 snapshot.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:.6,output:2.4,cachedInput:.3}},fc={humanName:"GPT-4o Audio Preview",encoding:"o200k_base",description:"Preview release for audio inputs in chat completions.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},yc={humanName:"GPT-4o Audio Preview (Oct 2024)",encoding:"o200k_base",description:"Current snapshot for the Audio API model.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},bc={humanName:"GPT-4o Audio Preview (Dec 2024)",encoding:"o200k_base",description:"December 2024 snapshot for the Audio API model.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},Ba={humanName:"GPT-4o Mini Audio Preview (Dec 2024)",encoding:"o200k_base",description:"Mini version for the Audio API with December 2024 snapshot.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:.15,output:.6}},vc={humanName:"GPT-4o 2024-08-06 Finetuning",description:"GPT-4o finetuned for custom tasks.",encoding:"o200k_base",cost:{input:3.75,output:15,batchInput:1.875,batchOutput:7.5,cachedInput:1.875,training:25}},_c={humanName:"GPT-4o Mini 2024-07-18 Finetuning",description:"GPT-4o mini finetuned for custom tasks.",encoding:"o200k_base",cost:{input:.3,output:1.2,batchInput:.15,batchOutput:.6,cachedInput:.15,training:3}},Sc={humanName:"GPT-3.5 Turbo Finetuning",description:"Finetuning GPT-3.5 Turbo with custom data.",encoding:"cl100k_base",cost:{input:3,output:6,batchInput:1.5,batchOutput:3,training:8}},Fa={humanName:"GPT-4o Mini Training",description:"Training GPT-4o Mini with custom datasets.",encoding:"o200k_base",cost:{input:3,output:0,batchInput:1.5,batchOutput:0}},Ec={humanName:"GPT-3.5 Turbo 16k",description:"GPT-3.5 model with 16k token context.",encoding:"cl100k_base",cost:{input:3,output:4,batchInput:1.5,batchOutput:2}},Ga={humanName:"GPT-4 Turbo 2024-04-09",description:"The latest GPT-4 Turbo model with vision capabilities. Vision requests can now use JSON mode and function calling. Currently points to gpt-4-turbo-2024-04-09.",encoding:"cl100k_base",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},Cc={humanName:"ChatGPT 4o Latest",description:"The chatgpt-4o-latest model version continuously points to the version of GPT-4o used in ChatGPT, and is updated frequently when there are significant changes.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:5,output:15}},za={humanName:"GPT-4",description:"Currently points to gpt-4-0613. See continuous model upgrades.",encoding:"cl100k_base",context:8192,maxOutput:8192,trainingData:"2021-09",cost:{input:30,output:60,batchInput:15,batchOutput:30}},zi={humanName:"GPT-4 0125 Preview",description:"GPT-4 Turbo preview model intended to reduce cases of \u201Claziness\u201D where the model doesn\u2019t complete a task.",encoding:"cl100k_base",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},kc={...zi,humanName:"GPT-4 1106 Preview"},Ua={humanName:"GPT-3.5 Turbo 0125",description:"The latest GPT-3.5 Turbo model with higher accuracy at responding in requested formats and a fix for a bug which caused a text encoding issue for non-English language function calls.",encoding:"cl100k_base",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:.5,output:1.5,batchInput:.25,batchOutput:.75}},Ha={humanName:"GPT-3.5 Turbo Instruct",description:"Similar capabilities as GPT-3 era models. Compatible with legacy Completions endpoint and not Chat Completions.",encoding:"cl100k_base",context:4096,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2}},wc={humanName:"GPT-3.5 Turbo 1106",description:"GPT-3.5 Turbo model with improved instruction following, JSON mode, reproducible outputs, parallel function calling, and more.",encoding:"cl100k_base",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1,output:2,batchInput:.5,batchOutput:1}},Tc={humanName:"Davinci 002",description:"Replacement for the GPT-3 curie and davinci base models.",encoding:"p50k_base",context:16384,maxOutput:16384,trainingData:"2021-09",cost:{input:2,output:2,batchInput:1,batchOutput:1}},Ac={humanName:"Davinci-002 Finetuning",description:"Davinci-002 finetuned for custom tasks.",encoding:"p50k_base",cost:{input:12,output:12,batchInput:6,batchOutput:6,training:6}},xc={humanName:"Babbage 002",description:"Replacement for the GPT-3 ada and babbage base models.",encoding:"p50k_base",context:16384,trainingData:"2021-09",cost:{input:.4,output:.4,batchInput:.2,batchOutput:.2}},Ic={humanName:"Babbage-002 Finetuning",description:"Babbage-002 finetuned for custom tasks.",encoding:"p50k_base",cost:{input:1.6,output:1.6,batchInput:.8,batchOutput:.8,training:.4}},Ui={humanName:"GPT-4 32k",encoding:"cl100k_base",description:"Snapshot of gpt-4 from June 13th 2023 with improved function calling support.",shutdownDate:"2025-06-06",recommendedReplacement:"gpt-4o",context:32768,maxOutput:16384,trainingData:"2021-09",cost:{input:60,output:120,batchInput:30,batchOutput:60}},ja={humanName:"GPT-4 Vision Preview",encoding:"cl100k_base",description:"Vision capabilities preview of GPT-4.",shutdownDate:"2024-12-06",recommendedReplacement:"gpt-4o",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},Rc=ja,Pc={humanName:"GPT-3.5 Turbo 0613",encoding:"cl100k_base",description:"Version of GPT-3.5 Turbo from June 2013.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2,batchInput:.75,batchOutput:1}},Dc={humanName:"GPT-3.5 Turbo 16k 0613",encoding:"cl100k_base",description:"16k context version from June 2013.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:3,output:4,batchInput:1.5,batchOutput:2}},Nc={humanName:"Text Ada 001",encoding:"r50k_base",description:"Model for lightweight tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:.4}},Lc={humanName:"Text Babbage 001",encoding:"r50k_base",description:"Model for efficient processing.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:.5}},Mc={humanName:"Text Curie 001",encoding:"r50k_base",description:"Mid-range model for various tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:2}},Oc={humanName:"Text Davinci 001",encoding:"r50k_base",description:"High-performance model for complex tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Bc={humanName:"Text Davinci 002",encoding:"p50k_base",description:"Legacy high-performance model.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Fc={humanName:"Text Davinci 003",encoding:"p50k_base",description:"Latest of the Davinci series.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Gc={humanName:"Ada",encoding:"r50k_base",description:"Base model for lightweight tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"babbage-002",cost:{input:.4}},zc={humanName:"Babbage",encoding:"r50k_base",description:"Model for efficient processing.",shutdownDate:"2024-01-04",recommendedReplacement:"babbage-002",cost:{input:.5}},Uc={humanName:"Curie",encoding:"r50k_base",description:"Mid-range model for a variety of applications.",shutdownDate:"2024-01-04",recommendedReplacement:"davinci-002",cost:{input:2}},Hc={humanName:"Davinci",encoding:"p50k_base",description:"High-performance legacy model.",shutdownDate:"2024-01-04",recommendedReplacement:"davinci-002",cost:{input:20}},Vc={humanName:"Code Davinci 002",encoding:"p50k_base",description:"Legacy coding model.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Va={humanName:"Code Davinci 001",encoding:"p50k_base",description:"Older coding model.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Wc={humanName:"Code Davinci 001",encoding:"p50k_edit",description:"Older coding model.",shutdownDate:"2023-03-23"},jc={humanName:"Code Cushman 002",encoding:"p50k_base",description:"Legacy model for coding.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Wa={humanName:"Code Cushman 001",encoding:"p50k_base",description:"Older model for coding tasks.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},qc={humanName:"GPT-4 0314",encoding:"cl100k_base",description:"Variant of GPT-4 model.",shutdownDate:"2024-06-13",recommendedReplacement:"gpt-4o",context:8192,maxOutput:8192,trainingData:"2021-09",cost:{input:30,output:60}},Kc={humanName:"GPT-3.5 Turbo 0301",encoding:"cl100k_base",description:"Earlier version of GPT-3.5 Turbo.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2,batchInput:.75,batchOutput:1}},Xc={...Ui,humanName:"GPT-4 32k 0314"},Yc={humanName:"Text Similarity Ada 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Jc={humanName:"Text Search Ada Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Zc={humanName:"Text Search Ada Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},$c={humanName:"Code Search Ada Code 001",encoding:"r50k_base",description:"Embedding model for code search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Qc={humanName:"Code Search Ada Text 001",encoding:"r50k_base",description:"Embedding model for text search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},eu={humanName:"Text Davinci 001",encoding:"p50k_edit",description:"Older text model.",shutdownDate:"2023-03-23"},tu={humanName:"Text Similarity Babbage 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},nu={humanName:"Text Search Babbage Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},iu={humanName:"Text Search Babbage Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},ru={humanName:"Code Search Babbage Code 001",encoding:"r50k_base",description:"Embedding model for code search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},au={humanName:"Code Search Babbage Text 001",encoding:"r50k_base",description:"Embedding model for text search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},ou={humanName:"Text Similarity Curie 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},su={humanName:"Text Search Curie Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},lu={humanName:"Text Search Curie Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},cu={humanName:"Text Similarity Davinci 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},uu={humanName:"Text Search Davinci Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},du={humanName:"Text Search Davinci Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},Hi={o1:Na,"o1-2024-12-17":Na,"o1-preview":La,"o1-preview-2024-09-12":La,"o1-mini":Ma,"o1-mini-2024-09-12":Ma,"o3-mini":cc,"chatgpt-4o-latest":Cc,"gpt-4o":Pa,"gpt-4o-2024-11-20":sc,"gpt-4o-2024-08-06":Pa,"gpt-4o-2024-05-13":lc,"gpt-4o-mini":Da,"gpt-4o-mini-2024-07-18":Da,"gpt-4o-realtime-preview":mc,"gpt-4o-realtime-preview-2024-10-01":gc,"gpt-4o-realtime-preview-2024-12-17":hc,"gpt-4o-mini-realtime-preview":Oa,"gpt-4o-mini-realtime-preview-2024-12-17":Oa,"gpt-4o-audio-preview":fc,"gpt-4o-audio-preview-2024-10-01":yc,"gpt-4o-audio-preview-2024-12-17":bc,"gpt-4o-mini-audio-preview":Ba,"gpt-4o-mini-audio-preview-2024-12-17":Ba,"gpt-4o-2024-08-06-finetune":vc,"gpt-4o-mini-2024-07-18-finetune":_c,"gpt-4o-mini-training":Fa,"gpt-4o-mini-training-2024-07-18":Fa,"davinci-002-finetune":Ac,"babbage-002-finetune":Ic,"gpt-4-turbo":Ga,"gpt-4-turbo-2024-04-09":Ga,"gpt-4-turbo-preview":zi,"gpt-4-0125-preview":zi,"gpt-4-1106-preview":kc,"gpt-4":za,"gpt-4-0613":za,"gpt-3.5-turbo":Ua,"gpt-3.5-turbo-0125":Ua,"gpt-3.5-turbo-1106":wc,"gpt-3.5-turbo-finetune":Sc,"gpt-3.5-turbo-16k":Ec,"gpt-4-32k":Ui,"gpt-4-32k-0613":Ui,"gpt-4-vision-preview":ja,"gpt-4-1106-vision-preview":Rc,"gpt-4-0314":qc,"gpt-4-32k-0314":Xc,"gpt-3.5-turbo-0613":Pc,"gpt-3.5-turbo-16k-0613":Dc,"gpt-3.5-turbo-0301":Kc},yn={...Hi,"text-embedding-3-small":uc,"text-embedding-3-large":dc,"text-embedding-ada-002":pc,"gpt-3.5-turbo-instruct":Ha,"gpt-3.5-turbo-instruct-0914":Ha,"davinci-002":Tc,"babbage-002":xc,"text-ada-001":Nc,"text-babbage-001":Lc,"text-curie-001":Mc,"text-davinci-001":Oc,"text-davinci-002":Bc,"text-davinci-003":Fc,ada:Gc,babbage:zc,curie:Uc,davinci:Hc,"code-davinci-002":Vc,"code-davinci-001":Va,"davinci-codex":Va,"code-davinci-edit-001":Wc,"code-cushman-002":jc,"code-cushman-001":Wa,"cushman-codex":Wa,"code-search-ada-code-001":$c,"code-search-ada-text-001":Qc,"text-davinci-edit-001":eu,"text-similarity-ada-001":Yc,"text-search-ada-doc-001":Jc,"text-search-ada-query-001":Zc,"text-similarity-babbage-001":tu,"text-search-babbage-doc-001":nu,"text-search-babbage-query-001":iu,"code-search-babbage-code-001":ru,"code-search-babbage-text-001":au,"text-similarity-curie-001":ou,"text-search-curie-doc-001":su,"text-search-curie-query-001":lu,"text-similarity-davinci-001":cu,"text-search-davinci-doc-001":uu,"text-search-davinci-query-001":du};var Ee="<|endoftext|>",Ve="<|fim_prefix|>",We="<|fim_middle|>",je="<|fim_suffix|>",ht="<|im_start|>",ft="<|im_end|>",qe="<|im_sep|>",yt="<|endofprompt|>";var qa=Object.fromEntries(Object.entries(Hi).map(([e,n])=>[e,n.encoding])),Ka=Object.fromEntries(Object.entries(yn).map(([e,n])=>[e,n.encoding])),pu={messageSeparator:`
|
|
3250
3250
|
`,roleSeparator:`
|
|
3251
|
-
`},mu={messageSeparator:"",roleSeparator:
|
|
3252
|
-
`;this.itemPadding=0;this.sortFunction=(n,t)=>n.sortOrder!==t.sortOrder?n.sortOrder-t.sortOrder:n.dateAdded!==t.dateAdded?n.dateAdded-t.dateAdded:n.content.localeCompare(t.content)}setItemPadding(n){return this.itemPadding=n,this.recalculateTokens(),this}sortBy(n){return this.sortFunction=n,this.items.sort(this.sortFunction),this}setSeparator(n){return this.separator==n?this:(this.separator=n,this.recalculateTokens(),this)}setWeight(n){return this.weight=n,this}recalculateTokens(){this.tokenCount=this.items.reduce((n,t)=>(t.tokenCount=Ot(t.content)+Ot(this.separator)+this.itemPadding,n+t.tokenCount),0)}add(n){typeof n=="string"&&(n={content:n});let t=n;t.id===void 0&&(t.id=Te());let i=this.items.find(r=>r.id===t.id);return i?(this.tokenCount-=i.tokenCount,Object.assign(i,t),t=i):this.items.push(t),t.dateAdded===void 0&&(t.dateAdded=Date.now()),t.sortOrder===void 0&&(t.sortOrder=0),t.disabled===void 0&&(t.disabled=!1),t.tokenCount=t.disabled?0:Ot(n.content)+Ot(this.separator)+this.itemPadding,this.tokenCount+=t.tokenCount,this.items.sort(this.sortFunction),t}getAllAsString(){return this.getAll().map(n=>n.content).join(this.separator)}getAll(){return this.items.filter(n=>!n.disabled)}empty(){this.items=[],this.tokenCount=0}};var vt=1,
|
|
3251
|
+
`},mu={messageSeparator:"",roleSeparator:qe},Xa=Object.fromEntries(Object.keys(qa).flatMap(e=>e.startsWith("gpt-4")?[[e,mu]]:e.startsWith("gpt-3.5-turbo")?[[e,pu]]:[])),Kg=Object.keys(qa);var bt=/'s|'t|'re|'ve|'m|'ll|'d| ?\p{L}+| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+/gu,bn=/(?:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}{1,3}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+/giu;function Ya(e){return{tokenSplitRegex:bn,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,100257],[Ve,100258],[We,100259],[je,100260],[ht,100264],[ft,100265],[qe,100266],[yt,100276]])}}function Ja(e){return{tokenSplitRegex:bn,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,199999],[Ve,2e5],[We,200001],[je,200002],[ht,200003],[ft,200004],[qe,200005],[yt,200006]])}}function Za(e){return{expectedVocabularySize:50281,tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256]])}}function $a(e){return{tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256],[Ve,50281],[We,50282],[je,50283]])}}function Qa(e){return{expectedVocabularySize:50257,tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256]])}}function Vi(e,n){let t=n(e);switch(e.toLowerCase()){case"r50k_base":return Qa(t);case"p50k_base":return Za(t);case"p50k_edit":return $a(t);case"cl100k_base":return Ya(t);case"o200k_base":return Ja(t);default:throw new Error(`Unknown encoding name: ${e}`)}}var Fe=class Fe{constructor({bytePairRankDecoder:n,specialTokensEncoder:t,expectedVocabularySize:i,modelName:r,...a}){J(this,"modelName");J(this,"bytePairEncodingCoreProcessor");J(this,"specialTokensEncoder");J(this,"specialTokensSet");J(this,"allSpecialTokenRegex");J(this,"defaultSpecialTokenConfig");J(this,"vocabularySize");this.specialTokensEncoder=t,this.specialTokensSet=new Set(this.specialTokensEncoder.keys()),this.allSpecialTokenRegex=Gi(this.specialTokensSet),this.bytePairEncodingCoreProcessor=new fn({bytePairRankDecoder:n,specialTokensEncoder:t,...a}),this.defaultSpecialTokenConfig=this.processSpecialTokens();let o=Math.max(n.length-1,Ra(t));if(this.vocabularySize=this.bytePairEncodingCoreProcessor.mergeableBytePairRankCount+t.size,i!==void 0){if(this.vocabularySize!==i)throw new Error("The number of mergeable tokens and special tokens must be equal to expectedVocabularySize.");if(o!==i-1)throw new Error(`The model encodings are invalid. The maximum token value must be equal to expectedVocabularySize - 1. Currently ${o}, expected ${i-1}`)}this.encode=this.encode.bind(this),this.decode=this.decode.bind(this),this.encodeGenerator=this.encodeGenerator.bind(this),this.decodeGenerator=this.decodeGenerator.bind(this),this.decodeAsyncGenerator=this.decodeAsyncGenerator.bind(this),this.decodeAsync=this.decodeAsync.bind(this),this.isWithinTokenLimit=this.isWithinTokenLimit.bind(this),this.encodeChat=this.encodeChat.bind(this),this.encodeChatGenerator=this.encodeChatGenerator.bind(this),this.countTokens=this.countTokens.bind(this),this.setMergeCacheSize=this.setMergeCacheSize.bind(this),this.clearMergeCache=this.clearMergeCache.bind(this),this.estimateCost=this.estimateCost.bind(this),this.modelName=r}static getEncodingApi(n,t){let i=Vi(n,t);return new Fe(i)}static getEncodingApiForModel(n,t){let i=Ka[n],r=Vi(i,t);return new Fe({...r,modelName:n})}processSpecialTokens({allowedSpecial:n,disallowedSpecial:t}={}){let i;if(n===mt||n?.has(mt)){n=new Set(this.specialTokensSet);let r=n;if(t===mt)throw new Error('allowedSpecial and disallowedSpecial cannot both be set to "all".');typeof t=="object"?t.forEach(a=>r.delete(a)):t=new Set}if(!t||t===mt||t.has(mt)){t=new Set(this.specialTokensSet);let r=t;n?.size?(n.forEach(a=>r.delete(a)),t.forEach(a=>n.delete(a)),t.size>0&&(i=Gi(t))):i=this.allSpecialTokenRegex}return{allowedSpecial:n,regexPattern:i}}encodeGenerator(n,t){let i=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(i.regexPattern){let r=n.match(i.regexPattern);if(r!==null)throw new Error(`Disallowed special token found: ${r[0]}`)}return this.bytePairEncodingCoreProcessor.encodeNativeGenerator(n,i.allowedSpecial)}encode(n,t){let i=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(i.regexPattern){let r=n.match(i.regexPattern);if(r!==null)throw new Error(`Disallowed special token found: ${r[0]}`)}return this.bytePairEncodingCoreProcessor.encodeNative(n,i.allowedSpecial)}*encodeChatGenerator(n,t=this.modelName){if(!t)throw new Error("Model name must be provided either during initialization or passed in to the method.");let i=Xa[t],r=this.specialTokensEncoder.get(ht),a=this.specialTokensEncoder.get(ft);if(!i||r===void 0||a===void 0)throw new Error(`Model '${t}' does not support chat.`);let o=new Set([qe]),{messageSeparator:s,roleSeparator:l}=i,c=s.length>0?this.encode(s):[],u=l.length>0?this.encode(l,{allowedSpecial:o}):[],d=new Map;for(let{role:m="system",name:p=m,content:f}of n){if(f===void 0)throw new Error("Content must be defined for all messages.");yield[r];let _=d.get(p)??this.encode(p);d.set(p,_),yield _,u.length>0&&(yield u),yield*this.encodeGenerator(f),yield[a],yield c}yield[r],yield*this.encodeGenerator("assistant"),u.length>0&&(yield u)}encodeChat(n,t=this.modelName){return[...this.encodeChatGenerator(n,t)].flat()}isWithinTokenLimit(n,t){let i=typeof n=="string"?this.encodeGenerator(n):this.encodeChatGenerator(n),r=0;for(let a of i)if(r+=a.length,r>t)return!1;return r}countTokens(n,t){if(typeof n=="string"){let a=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(a.regexPattern){let o=n.match(a.regexPattern);if(o!==null)throw new Error(`Disallowed special token found: ${o[0]}`)}return this.bytePairEncodingCoreProcessor.countNative(n,a.allowedSpecial)}let i=this.encodeChatGenerator(n),r=0;for(let a of i)r+=a.length;return r}setMergeCacheSize(n){this.bytePairEncodingCoreProcessor.setMergeCacheSize(n)}clearMergeCache(){this.bytePairEncodingCoreProcessor.clearMergeCache()}decode(n){return this.bytePairEncodingCoreProcessor.decodeNative(n)}*decodeGenerator(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeGenerator(n),i="";for(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0}),!(i.length===0||Bi(i))&&(yield i,i="");i.length>0&&(yield i)}async*decodeAsyncGenerator(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeAsyncIterable(n),i="";for await(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0}),!(i.length===0||Bi(i))&&(yield i,i="");i.length>0&&(yield i)}async decodeAsync(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeAsyncIterable(n),i="";for await(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0});return i}estimateCost(n,t=this.modelName){if(!t)throw new Error("Model name must be provided either during initialization or passed in to the method.");let i=yn[t];if(!i)throw new Error(`Unknown model: ${t}`);if(!i.cost)throw new Error(`No cost information available for model: ${t}`);let r=i.cost,a={},o=n/1e6;return r.input!==void 0&&(a.input=r.input*o),r.output!==void 0&&(a.output=r.output*o),r.batchInput!==void 0&&(a.batchInput=r.batchInput*o),r.batchOutput!==void 0&&(a.batchOutput=r.batchOutput*o),a}};J(Fe,"EndOfPrompt",yt),J(Fe,"EndOfText",Ee),J(Fe,"FimMiddle",We),J(Fe,"FimPrefix",Ve),J(Fe,"FimSuffix",je);var vn=Fe;var gu=vn.getEncodingApi("cl100k_base",()=>Ta),{decode:Dh,decodeAsyncGenerator:Nh,decodeGenerator:Lh,encode:Mh,encodeGenerator:Oh,isWithinTokenLimit:Bh,countTokens:Ot,encodeChat:Fh,encodeChatGenerator:Gh,vocabularySize:zh,setMergeCacheSize:Uh,clearMergeCache:Hh,estimateCost:Vh}=gu;var _n=class{constructor(){this.size=4096;this.groups=[]}createGroup(n){let t=new Wi;return t.id=n,this.groups.push(t),t}group(n){return this.groups.find(t=>t.id===n)}countTokens(){return this.groups.reduce((n,t)=>n+t.tokenCount,0)}removeOverflow(){let n=this.countTokens(),t=this.groups.reduce((i,r)=>i+r.weight,0);for(;n>this.size;){let i=this.groups.slice().sort((a,o)=>{let s=Math.floor(a.weight/t*this.size),l=Math.floor(o.weight/t*this.size),c=a.tokenCount-s;return o.tokenCount-l-c}),r=this.removeOneItem(i);if(!r)throw new Error("Too many items in the token window that cannot be removed.");n-=r.tokenCount}}removeOneItem(n){for(let t of n){let i=t.items.findIndex(a=>!a.cannotRemove);if(i===-1)continue;let r=t.items[i];return t.items.splice(i,1),t.tokenCount-=r.tokenCount,r}return null}},Wi=class{constructor(){this.id="";this.items=[];this.weight=1;this.tokenCount=0;this.separator=`
|
|
3252
|
+
`;this.itemPadding=0;this.sortFunction=(n,t)=>n.sortOrder!==t.sortOrder?n.sortOrder-t.sortOrder:n.dateAdded!==t.dateAdded?n.dateAdded-t.dateAdded:n.content.localeCompare(t.content)}setItemPadding(n){return this.itemPadding=n,this.recalculateTokens(),this}sortBy(n){return this.sortFunction=n,this.items.sort(this.sortFunction),this}setSeparator(n){return this.separator==n?this:(this.separator=n,this.recalculateTokens(),this)}setWeight(n){return this.weight=n,this}recalculateTokens(){this.tokenCount=this.items.reduce((n,t)=>(t.tokenCount=Ot(t.content)+Ot(this.separator)+this.itemPadding,n+t.tokenCount),0)}add(n){typeof n=="string"&&(n={content:n});let t=n;t.id===void 0&&(t.id=Te());let i=this.items.find(r=>r.id===t.id);return i?(this.tokenCount-=i.tokenCount,Object.assign(i,t),t=i):this.items.push(t),t.dateAdded===void 0&&(t.dateAdded=Date.now()),t.sortOrder===void 0&&(t.sortOrder=0),t.disabled===void 0&&(t.disabled=!1),t.tokenCount=t.disabled?0:Ot(n.content)+Ot(this.separator)+this.itemPadding,this.tokenCount+=t.tokenCount,this.items.sort(this.sortFunction),t}getAllAsString(){return this.getAll().map(n=>n.content).join(this.separator)}getAll(){return this.items.filter(n=>!n.disabled)}empty(){this.items=[],this.tokenCount=0}};var vt=1,Ke=new q("ChatGPT"),Sn=class{constructor(n){this.id="";this.metadata={};this.config={apiKey:"",endpoint:"",model:"gpt-4-turbo",systemMessage:"",userID:"",stream:!0,maxTokens:4096};this.maxToolCallsPerMessage=10;this.stats={tokensUsed:0};this.tokenWindow=(()=>{let n=new _n;return n.createGroup("context").setSeparator(`
|
|
3253
3253
|
|
|
3254
|
-
`),n.createGroup("actions").setItemPadding(25),n.createGroup("messages").setItemPadding(10),n})();this.config={...this.config,...n},this.tokenWindow.size=this.config.maxTokens||4096}get contextGroup(){return this.tokenWindow.group("context")}get toolGroup(){return this.tokenWindow.group("actions")}get messageGroup(){return this.tokenWindow.group("messages")}async sendMessage(n){let t={role:"user",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t}),await this.processMessages();let r=this.messageGroup.items[this.messageGroup.items.length-1]?.customData;return r?.role=="assistant"&&r.content||""}addAssistantMessage(n){let t={role:"assistant",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t})}addUserMessage(n){let t={role:"user",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t})}getMessages(){return this.messageGroup.items.map(n=>n.customData)}getLatestMessage(){return this.messageGroup.items.length?this.messageGroup.items[this.messageGroup.items.length-1]?.customData:void 0}async processMessages(){await this.config.onBeforeMessageProcessing?.(),qe.debugEnabled&&qe.debug("Process message state:",{context:this.contextGroup.getAllAsString(),tools:this.toolGroup.getAll().map(i=>i.customData),messages:this.messageGroup.items.map(i=>i.customData),tokens:{used:this.tokenWindow.countTokens(),max:this.tokenWindow.size}});let t=this.messageGroup.items[this.messageGroup.items.length-1]?.customData;if(t?.role=="user"||t?.role=="tool")await this.sendToAPI(),await this.processMessages();else if(t?.role=="assistant"&&t?.tool_calls?.length){for(let i of t.tool_calls)await this.processToolCall(i);await this.processMessages()}}async trimMessages(){for(this.tokenWindow.removeOverflow();this.messageGroup.items.length&&this.messageGroup.items[0].customData?.role=="tool";)this.messageGroup.items.shift()}async sendToAPI(n){this.config.systemMessage&&this.contextGroup.add({id:"_gpt_context",cannotRemove:!0,sortOrder:0,content:this.config.systemMessage}),await this.trimMessages();let t=0;for(let l=this.messageGroup.items.length-1;l>=0;l--){let c=this.messageGroup.items[l].customData;if(c.role=="assistant"&&c.tool_calls){if(t+=1,t>=this.maxToolCallsPerMessage)throw new Error(`Exceeded the maximum tool calls per message limit of ${this.maxToolCallsPerMessage}.`)}else if(c.role=="user")break}qe.debugEnabled&&qe.debug("Before LLM state:",{context:this.contextGroup.getAllAsString(),tools:this.toolGroup.getAll().map(l=>l.customData),messages:this.messageGroup.items.map(l=>l.customData),tokens:{used:this.tokenWindow.countTokens(),max:this.tokenWindow.size}});let i={model:this.config.model,temperature:.2,user:this.config.userID,tools:[],stream:!!this.config.stream,max_tokens:1024,messages:[{role:"system",content:this.contextGroup.getAllAsString()},...this.messageGroup.getAll().map(l=>l.customData)]};for(let l of this.toolGroup.getAll()){let c=l.customData;c.description&&c.description.length>1024&&qe.warn(`Tool description for "${c.name}" is too long, it will be truncated.`);let u={type:"function",function:{name:c.name,description:(c.description||"").substring(0,1024),parameters:{type:"object",properties:{}}}};if(Array.isArray(c.params))for(let d of c.params)u.function.parameters.properties[d.name]={type:d.type,description:d.description};else if(c.params){let d=c.params;for(let m in d)u.function.parameters.properties[m]={type:"string",description:d[m]}}i.tools.push(u)}i.user||delete i.user,i.tools.length||delete i.tools;let r={};if(r["Content-Type"]="application/json",this.config.apiKey&&(r.Authorization=`Bearer ${this.config.apiKey}`),n)return i;let a=await fetch(this.config.endpoint||"https://api.openai.com/v1/chat/completions",{method:"POST",headers:r,body:JSON.stringify(i)});if(!a.ok){let l=`${a.status} ${a.statusText}`;try{let u=await a.json();l=u.errorText||u.error?.message||u.error||l}catch{}let c=new Error(l);throw c.code=a.status,c}let o=null,s=null;if(this.config.stream)for await(let l of Ea(a.body)){if(l.data=="[DONE]")break;if(!l.data)continue;let c=JSON.parse(l.data);if(s){for(let u in c.choices[0].delta)if(typeof c.choices[0].delta[u]=="string"){if(u=="role"&&s[u]==c.choices[0].delta[u])continue;s[u]=(s[u]||"")+c.choices[0].delta[u]}for(let u of c.choices[0].delta.tool_calls||[]){if(s.tool_calls||(s.tool_calls=[]),!s.tool_calls[u.index]){s.tool_calls[u.index]=u;continue}let d=s.tool_calls[u.index];d.function=d.function||{},d.function.name=(d.function.name||"")+(u.function?.name||""),d.function.arguments=(d.function.arguments||"")+(u.function?.arguments||"")}}else s={chunkID:c.id,...c.choices[0].delta};s?.content&&!s.content.startsWith("{")&&this.config.onAIMessage?.(s.content,!0)}else o=await a.json(),this.stats.tokensUsed+=o.usage?.total_tokens||0,qe.debug(`Used ${o.usage?.total_tokens||0} tokens, total used: ${this.stats.tokensUsed}`),s=o.choices?.[0]?.message;if(s||(qe.warn("No response block in API response."),s={role:"assistant",content:""}),s.role=="user")throw new Error("API returned a user message, which is not allowed.");this.processIncomingMessage(s),this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(s),customData:s}),s.content&&this.config.onAIMessage?.(s.content,!1)}processIncomingMessage(n){}registerTool(n){this.toolGroup.add({id:n.name,cannotRemove:!n.canRemove,content:JSON.stringify(n),customData:n})}async processToolCall(n){try{let i=this.toolGroup.items.find(s=>s.id==n.function.name)?.customData;if(!i)throw new Error(`Tool "${n.function.name}" not found.`);let r=JSON.parse(n.function.arguments);this.config.onAIToolStart?.(n.function.name,r);let a=await i.callback(r);typeof a!="string"&&(a=JSON.stringify(a)||""),(a===""||a==="undefined")&&(a="success");let o={role:"tool",content:a,tool_call_id:n.id};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(o),customData:o})}catch(t){qe.warn(`Unable to process tool call for "${n?.function?.name}"`,t);let i={role:"tool",content:`Error: ${t.message}`,tool_call_id:n.id};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(i),customData:i})}}resetConversation(){this.messageGroup.empty()}};var Z=function(){return Z=Object.assign||function(n){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a])}return n},Z.apply(this,arguments)};function hu(e,n,t,i){function r(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(u){try{c(i.next(u))}catch(d){o(d)}}function l(u){try{c(i.throw(u))}catch(d){o(d)}}function c(u){u.done?a(u.value):r(u.value).then(s,l)}c((i=i.apply(e,n||[])).next())})}function fu(e,n){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(t=0)),t;)try{if(i=1,r&&(a=c[0]&2?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[c[0]&2,a.value]),c[0]){case 0:case 1:a=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,r=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){t.label=c[1];break}if(c[0]===6&&t.label<a[1]){t.label=a[1],a=c;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(c);break}a[2]&&t.ops.pop(),t.trys.pop();continue}c=n.call(e,t)}catch(u){c=[6,u],r=0}finally{i=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function U(e){var n=typeof Symbol=="function"&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ee(e,n){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var i=t.call(e),r,a=[],o;try{for(;(n===void 0||n-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return a}var yu="ENTRIES",ro="KEYS",ao="VALUES",ce="",Wi=function(){function e(n,t){var i=n._tree,r=Array.from(i.keys());this.set=n,this._type=t,this._path=r.length>0?[{node:i,keys:r}]:[]}return e.prototype.next=function(){var n=this.dive();return this.backtrack(),n},e.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var n=_t(this._path),t=n.node,i=n.keys;if(_t(i)===ce)return{done:!1,value:this.result()};var r=t.get(_t(i));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()},e.prototype.backtrack=function(){if(this._path.length!==0){var n=_t(this._path).keys;n.pop(),!(n.length>0)&&(this._path.pop(),this.backtrack())}},e.prototype.key=function(){return this.set._prefix+this._path.map(function(n){var t=n.keys;return _t(t)}).filter(function(n){return n!==ce}).join("")},e.prototype.value=function(){return _t(this._path).node.get(ce)},e.prototype.result=function(){switch(this._type){case ao:return this.value();case ro:return this.key();default:return[this.key(),this.value()]}},e.prototype[Symbol.iterator]=function(){return this},e}(),_t=function(e){return e[e.length-1]},bu=function(e,n,t){var i=new Map;if(n===void 0)return i;for(var r=n.length+1,a=r+t,o=new Uint8Array(a*r).fill(t+1),s=0;s<r;++s)o[s]=s;for(var l=1;l<a;++l)o[l*r]=l;return oo(e,n,t,i,o,1,r,""),i},oo=function(e,n,t,i,r,a,o,s){var l,c,u=a*o;try{e:for(var d=U(e.keys()),m=d.next();!m.done;m=d.next()){var p=m.value;if(p===ce){var f=r[u-1];f<=t&&i.set(s,[e.get(p),f])}else{for(var _=a,E=0;E<p.length;++E,++_){for(var y=p[E],T=o*_,S=T-o,N=r[T],L=Math.max(0,_-t-1),b=Math.min(o-1,_+t),I=L;I<b;++I){var D=y!==n[I],P=r[S+I]+ +D,M=r[S+I+1]+1,H=r[T+I]+1,R=r[T+I+1]=Math.min(P,M,H);R<N&&(N=R)}if(N>t)continue e}oo(e.get(p),n,t,i,r,_,o,s+p)}}}catch(w){l={error:w}}finally{try{m&&!m.done&&(c=d.return)&&c.call(d)}finally{if(l)throw l.error}}},ji=function(){function e(n,t){n===void 0&&(n=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=n,this._prefix=t}return e.prototype.atPrefix=function(n){var t,i;if(!n.startsWith(this._prefix))throw new Error("Mismatched prefix");var r=ee(En(this._tree,n.slice(this._prefix.length)),2),a=r[0],o=r[1];if(a===void 0){var s=ee(Qi(o),2),l=s[0],c=s[1];try{for(var u=U(l.keys()),d=u.next();!d.done;d=u.next()){var m=d.value;if(m!==ce&&m.startsWith(c)){var p=new Map;return p.set(m.slice(c.length),l.get(m)),new e(p,n)}}}catch(f){t={error:f}}finally{try{d&&!d.done&&(i=u.return)&&i.call(u)}finally{if(t)throw t.error}}}return new e(a,n)},e.prototype.clear=function(){this._size=void 0,this._tree.clear()},e.prototype.delete=function(n){return this._size=void 0,vu(this._tree,n)},e.prototype.entries=function(){return new Wi(this,yu)},e.prototype.forEach=function(n){var t,i;try{for(var r=U(this),a=r.next();!a.done;a=r.next()){var o=ee(a.value,2),s=o[0],l=o[1];n(s,l,this)}}catch(c){t={error:c}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},e.prototype.fuzzyGet=function(n,t){return bu(this._tree,n,t)},e.prototype.get=function(n){var t=Ji(this._tree,n);return t!==void 0?t.get(ce):void 0},e.prototype.has=function(n){var t=Ji(this._tree,n);return t!==void 0&&t.has(ce)},e.prototype.keys=function(){return new Wi(this,ro)},e.prototype.set=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=qi(this._tree,n);return i.set(ce,t),this},Object.defineProperty(e.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var n=this.entries();!n.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),e.prototype.update=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=qi(this._tree,n);return i.set(ce,t(i.get(ce))),this},e.prototype.fetch=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=qi(this._tree,n),r=i.get(ce);return r===void 0&&i.set(ce,r=t()),r},e.prototype.values=function(){return new Wi(this,ao)},e.prototype[Symbol.iterator]=function(){return this.entries()},e.from=function(n){var t,i,r=new e;try{for(var a=U(n),o=a.next();!o.done;o=a.next()){var s=ee(o.value,2),l=s[0],c=s[1];r.set(l,c)}}catch(u){t={error:u}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r},e.fromObject=function(n){return e.from(Object.entries(n))},e}(),En=function(e,n,t){var i,r;if(t===void 0&&(t=[]),n.length===0||e==null)return[e,t];try{for(var a=U(e.keys()),o=a.next();!o.done;o=a.next()){var s=o.value;if(s!==ce&&n.startsWith(s))return t.push([e,s]),En(e.get(s),n.slice(s.length),t)}}catch(l){i={error:l}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return t.push([e,n]),En(void 0,"",t)},Ji=function(e,n){var t,i;if(n.length===0||e==null)return e;try{for(var r=U(e.keys()),a=r.next();!a.done;a=r.next()){var o=a.value;if(o!==ce&&n.startsWith(o))return Ji(e.get(o),n.slice(o.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},qi=function(e,n){var t,i,r=n.length;e:for(var a=0;e&&a<r;){try{for(var o=(t=void 0,U(e.keys())),s=o.next();!s.done;s=o.next()){var l=s.value;if(l!==ce&&n[a]===l[0]){for(var c=Math.min(r-a,l.length),u=1;u<c&&n[a+u]===l[u];)++u;var d=e.get(l);if(u===l.length)e=d;else{var m=new Map;m.set(l.slice(u),d),e.set(n.slice(a,a+u),m),e.delete(l),e=m}a+=u;continue e}}}catch(f){t={error:f}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}var p=new Map;return e.set(n.slice(a),p),p}return e},vu=function(e,n){var t=ee(En(e,n),2),i=t[0],r=t[1];if(i!==void 0){if(i.delete(ce),i.size===0)so(r);else if(i.size===1){var a=ee(i.entries().next().value,2),o=a[0],s=a[1];lo(r,o,s)}}},so=function(e){if(e.length!==0){var n=ee(Qi(e),2),t=n[0],i=n[1];if(t.delete(i),t.size===0)so(e.slice(0,-1));else if(t.size===1){var r=ee(t.entries().next().value,2),a=r[0],o=r[1];a!==ce&&lo(e.slice(0,-1),a,o)}}},lo=function(e,n,t){if(e.length!==0){var i=ee(Qi(e),2),r=i[0],a=i[1];r.set(a+n,t),r.delete(a)}},Qi=function(e){return e[e.length-1]},Bt,er="or",co="and",_u="and_not",uo=function(){function e(n){if(n?.fields==null)throw new Error('MiniSearch: option "fields" must be provided');var t=n.autoVacuum==null||n.autoVacuum===!0?Yi:n.autoVacuum;this._options=Z(Z(Z({},Xi),n),{autoVacuum:t,searchOptions:Z(Z({},eo),n.searchOptions||{}),autoSuggestOptions:Z(Z({},wu),n.autoSuggestOptions||{})}),this._index=new ji,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=$i,this.addFields(this._options.fields)}return e.prototype.add=function(n){var t,i,r,a,o,s,l=this._options,c=l.extractField,u=l.tokenize,d=l.processTerm,m=l.fields,p=l.idField,f=c(n,p);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(p,'"'));if(this._idToShortId.has(f))throw new Error("MiniSearch: duplicate ID ".concat(f));var _=this.addDocumentId(f);this.saveStoredFields(_,n);try{for(var E=U(m),y=E.next();!y.done;y=E.next()){var T=y.value,S=c(n,T);if(S!=null){var N=u(S.toString(),T),L=this._fieldIds[T],b=new Set(N).size;this.addFieldLength(_,L,this._documentCount-1,b);try{for(var I=(r=void 0,U(N)),D=I.next();!D.done;D=I.next()){var P=D.value,M=d(P,T);if(Array.isArray(M))try{for(var H=(o=void 0,U(M)),R=H.next();!R.done;R=H.next()){var w=R.value;this.addTerm(L,_,w)}}catch(x){o={error:x}}finally{try{R&&!R.done&&(s=H.return)&&s.call(H)}finally{if(o)throw o.error}}else M&&this.addTerm(L,_,M)}}catch(x){r={error:x}}finally{try{D&&!D.done&&(a=I.return)&&a.call(I)}finally{if(r)throw r.error}}}}}catch(x){t={error:x}}finally{try{y&&!y.done&&(i=E.return)&&i.call(E)}finally{if(t)throw t.error}}},e.prototype.addAll=function(n){var t,i;try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;this.add(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},e.prototype.addAllAsync=function(n,t){var i=this;t===void 0&&(t={});var r=t.chunkSize,a=r===void 0?10:r,o={chunk:[],promise:Promise.resolve()},s=n.reduce(function(u,d,m){var p=u.chunk,f=u.promise;return p.push(d),(m+1)%a===0?{chunk:[],promise:f.then(function(){return new Promise(function(_){return setTimeout(_,0)})}).then(function(){return i.addAll(p)})}:{chunk:p,promise:f}},o),l=s.chunk,c=s.promise;return c.then(function(){return i.addAll(l)})},e.prototype.remove=function(n){var t,i,r,a,o,s,l=this._options,c=l.tokenize,u=l.processTerm,d=l.extractField,m=l.fields,p=l.idField,f=d(n,p);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(p,'"'));var _=this._idToShortId.get(f);if(_==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(f,": it is not in the index"));try{for(var E=U(m),y=E.next();!y.done;y=E.next()){var T=y.value,S=d(n,T);if(S!=null){var N=c(S.toString(),T),L=this._fieldIds[T],b=new Set(N).size;this.removeFieldLength(_,L,this._documentCount,b);try{for(var I=(r=void 0,U(N)),D=I.next();!D.done;D=I.next()){var P=D.value,M=u(P,T);if(Array.isArray(M))try{for(var H=(o=void 0,U(M)),R=H.next();!R.done;R=H.next()){var w=R.value;this.removeTerm(L,_,w)}}catch(x){o={error:x}}finally{try{R&&!R.done&&(s=H.return)&&s.call(H)}finally{if(o)throw o.error}}else M&&this.removeTerm(L,_,M)}}catch(x){r={error:x}}finally{try{D&&!D.done&&(a=I.return)&&a.call(I)}finally{if(r)throw r.error}}}}}catch(x){t={error:x}}finally{try{y&&!y.done&&(i=E.return)&&i.call(E)}finally{if(t)throw t.error}}this._storedFields.delete(_),this._documentIds.delete(_),this._idToShortId.delete(f),this._fieldLength.delete(_),this._documentCount-=1},e.prototype.removeAll=function(n){var t,i;if(n)try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;this.remove(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new ji,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},e.prototype.discard=function(n){var t=this,i=this._idToShortId.get(n);if(i==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(n,": it is not in the index"));this._idToShortId.delete(n),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach(function(r,a){t.removeFieldLength(i,a,t._documentCount,r)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},e.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var n=this._options.autoVacuum,t=n.minDirtFactor,i=n.minDirtCount,r=n.batchSize,a=n.batchWait;this.conditionalVacuum({batchSize:r,batchWait:a},{minDirtCount:i,minDirtFactor:t})}},e.prototype.discardAll=function(n){var t,i,r=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=U(n),o=a.next();!o.done;o=a.next()){var s=o.value;this.discard(s)}}catch(l){t={error:l}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=r}this.maybeAutoVacuum()},e.prototype.replace=function(n){var t=this._options,i=t.idField,r=t.extractField,a=r(n,i);this.discard(a),this.add(n)},e.prototype.vacuum=function(n){return n===void 0&&(n={}),this.conditionalVacuum(n)},e.prototype.conditionalVacuum=function(n,t){var i=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var r=i._enqueuedVacuumConditions;return i._enqueuedVacuumConditions=$i,i.performVacuuming(n,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(n),this._currentVacuum)},e.prototype.performVacuuming=function(n,t){return hu(this,void 0,void 0,function(){var i,r,a,o,s,l,c,u,d,m,p,f,_,E,y,T,S,N,L,b,I,D,P,M,H;return fu(this,function(R){switch(R.label){case 0:if(i=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];r=n.batchSize||Zi.batchSize,a=n.batchWait||Zi.batchWait,o=1,R.label=1;case 1:R.trys.push([1,7,8,9]),s=U(this._index),l=s.next(),R.label=2;case 2:if(l.done)return[3,6];c=ee(l.value,2),u=c[0],d=c[1];try{for(m=(D=void 0,U(d)),p=m.next();!p.done;p=m.next()){f=ee(p.value,2),_=f[0],E=f[1];try{for(y=(M=void 0,U(E)),T=y.next();!T.done;T=y.next())S=ee(T.value,1),N=S[0],!this._documentIds.has(N)&&(E.size<=1?d.delete(_):E.delete(N))}catch(w){M={error:w}}finally{try{T&&!T.done&&(H=y.return)&&H.call(y)}finally{if(M)throw M.error}}}}catch(w){D={error:w}}finally{try{p&&!p.done&&(P=m.return)&&P.call(m)}finally{if(D)throw D.error}}return this._index.get(u).size===0&&this._index.delete(u),o%r!==0?[3,4]:[4,new Promise(function(w){return setTimeout(w,a)})];case 3:R.sent(),R.label=4;case 4:o+=1,R.label=5;case 5:return l=s.next(),[3,2];case 6:return[3,9];case 7:return L=R.sent(),b={error:L},[3,9];case 8:try{l&&!l.done&&(I=s.return)&&I.call(s)}finally{if(b)throw b.error}return[7];case 9:this._dirtCount-=i,R.label=10;case 10:return[4,null];case 11:return R.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},e.prototype.vacuumConditionsMet=function(n){if(n==null)return!0;var t=n.minDirtCount,i=n.minDirtFactor;return t=t||Yi.minDirtCount,i=i||Yi.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=i},Object.defineProperty(e.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),e.prototype.has=function(n){return this._idToShortId.has(n)},e.prototype.getStoredFields=function(n){var t=this._idToShortId.get(n);if(t!=null)return this._storedFields.get(t)},e.prototype.search=function(n,t){var i,r;t===void 0&&(t={});var a=this.executeQuery(n,t),o=[];try{for(var s=U(a),l=s.next();!l.done;l=s.next()){var c=ee(l.value,2),u=c[0],d=c[1],m=d.score,p=d.terms,f=d.match,_=p.length||1,E={id:this._documentIds.get(u),score:m*_,terms:Object.keys(f),queryTerms:p,match:f};Object.assign(E,this._storedFields.get(u)),(t.filter==null||t.filter(E))&&o.push(E)}}catch(y){i={error:y}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return n===e.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||o.sort(no),o},e.prototype.autoSuggest=function(n,t){var i,r,a,o;t===void 0&&(t={}),t=Z(Z({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var l=U(this.search(n,t)),c=l.next();!c.done;c=l.next()){var u=c.value,d=u.score,m=u.terms,p=m.join(" "),f=s.get(p);f!=null?(f.score+=d,f.count+=1):s.set(p,{score:d,terms:m,count:1})}}catch(L){i={error:L}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}var _=[];try{for(var E=U(s),y=E.next();!y.done;y=E.next()){var T=ee(y.value,2),f=T[0],S=T[1],d=S.score,m=S.terms,N=S.count;_.push({suggestion:f,terms:m,score:d/N})}}catch(L){a={error:L}}finally{try{y&&!y.done&&(o=E.return)&&o.call(E)}finally{if(a)throw a.error}}return _.sort(no),_},Object.defineProperty(e.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),e.loadJSON=function(n,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(n),t)},e.getDefault=function(n){if(Xi.hasOwnProperty(n))return Ki(Xi,n);throw new Error('MiniSearch: unknown option "'.concat(n,'"'))},e.loadJS=function(n,t){var i,r,a,o,s,l,c=n.index,u=n.documentCount,d=n.nextId,m=n.documentIds,p=n.fieldIds,f=n.fieldLength,_=n.averageFieldLength,E=n.storedFields,y=n.dirtCount,T=n.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var S=new e(t);S._documentCount=u,S._nextId=d,S._documentIds=Sn(m),S._idToShortId=new Map,S._fieldIds=p,S._fieldLength=Sn(f),S._avgFieldLength=_,S._storedFields=Sn(E),S._dirtCount=y||0,S._index=new ji;try{for(var N=U(S._documentIds),L=N.next();!L.done;L=N.next()){var b=ee(L.value,2),I=b[0],D=b[1];S._idToShortId.set(D,I)}}catch(ie){i={error:ie}}finally{try{L&&!L.done&&(r=N.return)&&r.call(N)}finally{if(i)throw i.error}}try{for(var P=U(c),M=P.next();!M.done;M=P.next()){var H=ee(M.value,2),R=H[0],w=H[1],x=new Map;try{for(var O=(s=void 0,U(Object.keys(w))),j=O.next();!j.done;j=O.next()){var X=j.value,re=w[X];T===1&&(re=re.ds),x.set(parseInt(X,10),Sn(re))}}catch(ie){s={error:ie}}finally{try{j&&!j.done&&(l=O.return)&&l.call(O)}finally{if(s)throw s.error}}S._index.set(R,x)}}catch(ie){a={error:ie}}finally{try{M&&!M.done&&(o=P.return)&&o.call(P)}finally{if(a)throw a.error}}return S},e.prototype.executeQuery=function(n,t){var i=this;if(t===void 0&&(t={}),n===e.wildcard)return this.executeWildcardQuery(t);if(typeof n!="string"){var r=Z(Z(Z({},t),n),{queries:void 0}),a=n.queries.map(function(E){return i.executeQuery(E,r)});return this.combineResults(a,r.combineWith)}var o=this._options,s=o.tokenize,l=o.processTerm,c=o.searchOptions,u=Z(Z({tokenize:s,processTerm:l},c),t),d=u.tokenize,m=u.processTerm,p=d(n).flatMap(function(E){return m(E)}).filter(function(E){return!!E}),f=p.map(ku(u)),_=f.map(function(E){return i.executeQuerySpec(E,u)});return this.combineResults(_,u.combineWith)},e.prototype.executeQuerySpec=function(n,t){var i,r,a,o,s=Z(Z({},this._options.searchOptions),t),l=(s.fields||this._options.fields).reduce(function(X,re){var ie;return Z(Z({},X),(ie={},ie[re]=Ki(s.boost,re)||1,ie))},{}),c=s.boostDocument,u=s.weights,d=s.maxFuzzy,m=s.bm25,p=Z(Z({},eo.weights),u),f=p.fuzzy,_=p.prefix,E=this._index.get(n.term),y=this.termResults(n.term,n.term,1,E,l,c,m),T,S;if(n.prefix&&(T=this._index.atPrefix(n.term)),n.fuzzy){var N=n.fuzzy===!0?.2:n.fuzzy,L=N<1?Math.min(d,Math.round(n.term.length*N)):N;L&&(S=this._index.fuzzyGet(n.term,L))}if(T)try{for(var b=U(T),I=b.next();!I.done;I=b.next()){var D=ee(I.value,2),P=D[0],M=D[1],H=P.length-n.term.length;if(H){S?.delete(P);var R=_*P.length/(P.length+.3*H);this.termResults(n.term,P,R,M,l,c,m,y)}}}catch(X){i={error:X}}finally{try{I&&!I.done&&(r=b.return)&&r.call(b)}finally{if(i)throw i.error}}if(S)try{for(var w=U(S.keys()),x=w.next();!x.done;x=w.next()){var P=x.value,O=ee(S.get(P),2),j=O[0],H=O[1];if(H){var R=f*P.length/(P.length+H);this.termResults(n.term,P,R,j,l,c,m,y)}}}catch(X){a={error:X}}finally{try{x&&!x.done&&(o=w.return)&&o.call(w)}finally{if(a)throw a.error}}return y},e.prototype.executeWildcardQuery=function(n){var t,i,r=new Map,a=Z(Z({},this._options.searchOptions),n);try{for(var o=U(this._documentIds),s=o.next();!s.done;s=o.next()){var l=ee(s.value,2),c=l[0],u=l[1],d=a.boostDocument?a.boostDocument(u,"",this._storedFields.get(c)):1;r.set(c,{score:d,terms:[],match:{}})}}catch(m){t={error:m}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return r},e.prototype.combineResults=function(n,t){if(t===void 0&&(t=er),n.length===0)return new Map;var i=t.toLowerCase();return n.reduce(Su[i])||new Map},e.prototype.toJSON=function(){var n,t,i,r,a=[];try{for(var o=U(this._index),s=o.next();!s.done;s=o.next()){var l=ee(s.value,2),c=l[0],u=l[1],d={};try{for(var m=(i=void 0,U(u)),p=m.next();!p.done;p=m.next()){var f=ee(p.value,2),_=f[0],E=f[1];d[_]=Object.fromEntries(E)}}catch(y){i={error:y}}finally{try{p&&!p.done&&(r=m.return)&&r.call(m)}finally{if(i)throw i.error}}a.push([c,d])}}catch(y){n={error:y}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(n)throw n.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},e.prototype.termResults=function(n,t,i,r,a,o,s,l){var c,u,d,m,p;if(l===void 0&&(l=new Map),r==null)return l;try{for(var f=U(Object.keys(a)),_=f.next();!_.done;_=f.next()){var E=_.value,y=a[E],T=this._fieldIds[E],S=r.get(T);if(S!=null){var N=S.size,L=this._avgFieldLength[T];try{for(var b=(d=void 0,U(S.keys())),I=b.next();!I.done;I=b.next()){var D=I.value;if(!this._documentIds.has(D)){this.removeTerm(T,D,t),N-=1;continue}var P=o?o(this._documentIds.get(D),t,this._storedFields.get(D)):1;if(P){var M=S.get(D),H=this._fieldLength.get(D)[T],R=Cu(M,N,this._documentCount,H,L,s),w=i*y*P*R,x=l.get(D);if(x){x.score+=w,Tu(x.terms,n);var O=Ki(x.match,t);O?O.push(E):x.match[t]=[E]}else l.set(D,{score:w,terms:[n],match:(p={},p[t]=[E],p)})}}}catch(j){d={error:j}}finally{try{I&&!I.done&&(m=b.return)&&m.call(b)}finally{if(d)throw d.error}}}}}catch(j){c={error:j}}finally{try{_&&!_.done&&(u=f.return)&&u.call(f)}finally{if(c)throw c.error}}return l},e.prototype.addTerm=function(n,t,i){var r=this._index.fetch(i,io),a=r.get(n);if(a==null)a=new Map,a.set(t,1),r.set(n,a);else{var o=a.get(t);a.set(t,(o||0)+1)}},e.prototype.removeTerm=function(n,t,i){if(!this._index.has(i)){this.warnDocumentChanged(t,n,i);return}var r=this._index.fetch(i,io),a=r.get(n);a==null||a.get(t)==null?this.warnDocumentChanged(t,n,i):a.get(t)<=1?a.size<=1?r.delete(n):a.delete(t):a.set(t,a.get(t)-1),this._index.get(i).size===0&&this._index.delete(i)},e.prototype.warnDocumentChanged=function(n,t,i){var r,a;try{for(var o=U(Object.keys(this._fieldIds)),s=o.next();!s.done;s=o.next()){var l=s.value;if(this._fieldIds[l]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(n),' has changed before removal: term "').concat(i,'" was not present in field "').concat(l,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(c){r={error:c}}finally{try{s&&!s.done&&(a=o.return)&&a.call(o)}finally{if(r)throw r.error}}},e.prototype.addDocumentId=function(n){var t=this._nextId;return this._idToShortId.set(n,t),this._documentIds.set(t,n),this._documentCount+=1,this._nextId+=1,t},e.prototype.addFields=function(n){for(var t=0;t<n.length;t++)this._fieldIds[n[t]]=t},e.prototype.addFieldLength=function(n,t,i,r){var a=this._fieldLength.get(n);a==null&&this._fieldLength.set(n,a=[]),a[t]=r;var o=this._avgFieldLength[t]||0,s=o*i+r;this._avgFieldLength[t]=s/(i+1)},e.prototype.removeFieldLength=function(n,t,i,r){if(i===1){this._avgFieldLength[t]=0;return}var a=this._avgFieldLength[t]*i-r;this._avgFieldLength[t]=a/(i-1)},e.prototype.saveStoredFields=function(n,t){var i,r,a=this._options,o=a.storeFields,s=a.extractField;if(!(o==null||o.length===0)){var l=this._storedFields.get(n);l==null&&this._storedFields.set(n,l={});try{for(var c=U(o),u=c.next();!u.done;u=c.next()){var d=u.value,m=s(t,d);m!==void 0&&(l[d]=m)}}catch(p){i={error:p}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}}},e.wildcard=Symbol("*"),e}(),Ki=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)?e[n]:void 0},Su=(Bt={},Bt[er]=function(e,n){var t,i;try{for(var r=U(n.keys()),a=r.next();!a.done;a=r.next()){var o=a.value,s=e.get(o);if(s==null)e.set(o,n.get(o));else{var l=n.get(o),c=l.score,u=l.terms,d=l.match;s.score=s.score+c,s.match=Object.assign(s.match,d),to(s.terms,u)}}}catch(m){t={error:m}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return e},Bt[co]=function(e,n){var t,i,r=new Map;try{for(var a=U(n.keys()),o=a.next();!o.done;o=a.next()){var s=o.value,l=e.get(s);if(l!=null){var c=n.get(s),u=c.score,d=c.terms,m=c.match;to(l.terms,d),r.set(s,{score:l.score+u,terms:l.terms,match:Object.assign(l.match,m)})}}}catch(p){t={error:p}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r},Bt[_u]=function(e,n){var t,i;try{for(var r=U(n.keys()),a=r.next();!a.done;a=r.next()){var o=a.value;e.delete(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return e},Bt),Eu={k:1.2,b:.7,d:.5},Cu=function(e,n,t,i,r,a){var o=a.k,s=a.b,l=a.d,c=Math.log(1+(t-n+.5)/(n+.5));return c*(l+e*(o+1)/(e+o*(1-s+s*i/r)))},ku=function(e){return function(n,t,i){var r=typeof e.fuzzy=="function"?e.fuzzy(n,t,i):e.fuzzy||!1,a=typeof e.prefix=="function"?e.prefix(n,t,i):e.prefix===!0;return{term:n,fuzzy:r,prefix:a}}},Xi={idField:"id",extractField:function(e,n){return e[n]},tokenize:function(e){return e.split(Au)},processTerm:function(e){return e.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(e,n){typeof console?.[e]=="function"&&console[e](n)},autoVacuum:!0},eo={combineWith:er,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Eu},wu={combineWith:co,prefix:function(e,n,t){return n===t.length-1}},Zi={batchSize:1e3,batchWait:10},$i={minDirtFactor:.1,minDirtCount:20},Yi=Z(Z({},Zi),$i),Tu=function(e,n){e.includes(n)||e.push(n)},to=function(e,n){var t,i;try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;e.includes(o)||e.push(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},no=function(e,n){var t=e.score,i=n.score;return i-t},io=function(){return new Map},Sn=function(e){var n,t,i=new Map;try{for(var r=U(Object.keys(e)),a=r.next();!a.done;a=r.next()){var o=a.value;i.set(parseInt(o,10),e[o])}}catch(s){n={error:s}}finally{try{a&&!a.done&&(t=r.return)&&t.call(r)}finally{if(n)throw n.error}}return i},Au=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;var po=[{id:"search",type:"action",name:"Search the knowledge base.",content:"Search the knowledge base for information, actions, tools, tours, UI elements, etc. Use this on EVERY request if you don't have information. If the user asks for personal information, use this. If the user asks you to do something, use this to find the tool you need.",isContext:!0,removeFromMessageHistory:!0,parameters:[{name:"query",type:"string",description:"The search query"}],action:async(e,n)=>{let t=await n.knowledgeBase.search(e.query),i=n;i._lastKBsearch=e.query,i._nextRequestUseKBitems=t,n.submitAnalyticsEvent({type:"kb-search",query:e.query,results:t});let r=t.filter(o=>o.type!="action").map(o=>"id="+o.id).join(", ")||"(none)",a=t.filter(o=>o.type=="action").map(o=>"name="+o._functionID).join(", ")||"(none)";return`Search complete, context has been updated. New info entries found: ${r}. New tools available: ${a}.`}}];var et=new q("KnowledgeBase"),mo=1,Cn=class e{constructor(n){this._sources=[{id:"core.internal",query:async()=>po}];this._windowSources=[];this.lastResults=[];this.manualEntries=[];this.ai=n}registerSource(n,t){let i=n;return typeof n=="function"&&(t=n,i=`source.${mo++}`),this._sources.push({id:i,query:t}),i}removeSource(n){this._sources=this.sources.filter(t=>t.id!==n&&t.query!==n)}addEntry(n){this.manualEntries.push(n)}removeEntry(n){this.manualEntries=this.manualEntries.filter(t=>t.id!==n)}get sources(){let n=this._sources;return typeof window<"u"&&$().knowledgeBaseSources&&(n=n.concat($().knowledgeBaseSources.map(t=>({id:t.name,query:t})))),n=n.concat(this._windowSources),n=n.filter(t=>!t.disabled),n}async search(n){et.debug(`Searching knowledge base for: ${n}`);let t=new Event("webweaver_kb_search",{bubbles:!0,cancelable:!0});t.query=n,t.entries=[],t.sources=[],typeof document<"u"&&document.dispatchEvent(t),this._windowSources=t.sources;let r=(await Promise.all(this.sources.map(async l=>{try{let c=Date.now(),u=await l.query(n);return et.debug(`Source '${l.id}' took ${Date.now()-c}ms`),u||[]}catch(c){return et.warn(`Knowledge source '${l.id}' failed:`,c),[]}}))).flat();r=r.concat(t.entries),r=r.concat(this.manualEntries),$().knowledgeBase&&(r=r.concat($().knowledgeBase)),r=r.filter(l=>l&&!l.disabled);for(let l=0;l<r.length;l++){let c=r[l];if(c.id=c.id||`temp.${l}`,c._functionID=c.id.replaceAll(/[^a-zA-Z0-9_]/g,"_"),!c.action&&c.type=="tour"&&(c.action=u=>{throw new Error("This tour does not have an action. You must perform the tour content manually.")}),!c.action&&c.type=="info"&&(c.action=u=>{throw new Error("This item does not have an action. Use the content to provide information to the user instead.")}),c.parameters&&!Array.isArray(c.parameters)){let u=c.parameters,d=[];for(let m in u)d.push({name:m,type:"string",description:c.parameters[m]});c.parameters=d}}let a=new uo({fields:["id","type","name","content","tags"],storeFields:[],searchOptions:{boost:{name:3,tags:2},fuzzy:.2}});a.addAll(r);let s=a.search(n).map(l=>r.find(c=>c.id==l.id));for(let l of r)l.isContext&&(s.find(c=>c.id===l.id)||s.push(l));return this.lastResults=s,et.debug("Found results:",s),s}getCachedEntry(n){return this.lastResults.find(t=>t.id==n||t._functionID==n)}registerSourceFromURL(n,t){t||(t=`external.${mo++}`),et.debug(`Registering remote knowledge base source: ${n}`);let i=[],r=[],a=!0,o=async(l,c)=>{et.debug(`Calling remote knowledge base action: ${l.id}`);let u={type:"action",userID:this.ai.userID,extra:this.ai.extra,actionID:l.id,parameters:c},d=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!d.ok)throw new Error(`HTTP Error ${d.status} ${d.statusText}`);let m=await d.json();return s(m.updateItems||[]),m.response},s=l=>{for(let c of l){if(!c.id){et.warn("KB item skipped since it has no ID.",c);continue}let u=i.find(d=>d.id==c.id);if(u){u.name=c.name||u.name||"",u.content=c.content||u.content||"",u.disabled=c.disabled??u.disabled,u.isContext=c.isContext??u.isContext,u.parameters=c.parameters||u.parameters||[],u.tags=c.tags||u.tags,u.type=c.type||u.type;continue}i.push({...c,action:d=>o(c,d)})}};this.registerSource(t,async l=>{if(a&&r.includes(l))return i;let c={type:"search",userID:this.ai?.userID||"",extra:this.ai?.extra||{},query:l},u=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!u.ok)throw new Error(`HTTP Error ${u.status} ${u.statusText}`);let d=await u.json();return a=!d.noCache,r.includes(l)||r.push(l),s(d.items),i})}clone(){let n=new e(this.ai);return n._sources=this._sources,n._windowSources=this._windowSources,n.manualEntries=this.manualEntries,n}};var go={name:"@intelliweave/embedded",version:"1.7.57",description:"Integrate IntelliWeave into your app or website.",main:"./dist/webpack/index.js",types:"./dist/webpack/index.d.ts",type:"module",exports:{".":"./dist/webpack/index.js","./component":"./dist/component/component.js","./node":"./dist/node/node.js","./react":"./dist/react/react.js","./webpack":"./dist/webpack/index.js"},scripts:{build:"npm run build:lib && npm run build:docs","build:lib":"tsx build.ts","build:dev":"cross-env DEVELOPMENT=1 npm run build","build:docs":"typedoc src/index.mts --out dist/docs/",deploy:'npm run build && gsutil cp ./dist/web-weaver.min.js gs://metapress-cdn/web-weaver.min.js && gcloud compute url-maps invalidate-cdn-cache mp-cdn-loadbalancer --project="mp-backend-api" --path "/web-weaver.min.js" --async',"start:server":"cd server && npm run start","deploy:server":"cd server && npm run deploy","llm:build":"cd llm-server && docker build -t web-weaver-llm .","llm:start":"npm run llm:build && docker run -it --rm -p 8000:80 --gpus=all web-weaver-llm","llm:deploy.docker":"npm run llm:build && gcloud auth configure-docker us-central1-docker.pkg.dev && docker tag web-weaver-llm us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm && docker push us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm","llm:deploy":'npm run llm:deploy.docker && gcloud run deploy web-weaver-llm --project=ydangle-web-companion --image=us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm --allow-unauthenticated --region=us-central1 --description="Web Weaver LLM" --concurrency=2 --min-instances=0 --timeout=5m --memory=16Gi --cpu=8',prepack:"npm run build",test:"npm run build && tsx --test"},keywords:["web","weaver","ai","assistant","chat"],author:"jjv360",license:"UNLICENSED",devDependencies:{"@types/audioworklet":"^0.0.64","@types/lodash":"^4.17.13","@types/react":"^18.3.12","@types/uuid":"^10.0.0",bestzip:"^2.2.1","cross-env":"^7.0.3","find-cache-dir":"^5.0.0",lodash:"^4.17.21","onnxruntime-web":"^1.20.0",react:"^18.3.1","replace-in-file":"^8.2.0",tsup:"^8.3.5",tsx:"^4.19.2",typedoc:"^0.27.6"},peerDependencies:{"onnxruntime-web":"^1.20.0",react:"^18 || ^19"},dependencies:{"gpt-tokenizer":"^2.9.0",minisearch:"^6.3.0","rehype-document":"^7.0.3","rehype-external-links":"^3.0.0","rehype-format":"^5.0.0","rehype-stringify":"^10.0.0","remark-parse":"^11.0.0","remark-rehype":"^11.1.0",unified:"^11.0.4","utility-types":"^3.11.0",uuid:"^10.0.0"}};var kn=class{constructor(n){this.ai=n}async boolean(n,t){let i=this.ai.clone();i.resetConversation(),i.getContextPrefix=async()=>'You will receive a question and some data. Answer the question by replying only with the word "true" or "false".';let r=await i.sendMessage(n+`
|
|
3254
|
+
`),n.createGroup("actions").setItemPadding(25),n.createGroup("messages").setItemPadding(10),n})();this.config={...this.config,...n},this.tokenWindow.size=this.config.maxTokens||4096}get contextGroup(){return this.tokenWindow.group("context")}get toolGroup(){return this.tokenWindow.group("actions")}get messageGroup(){return this.tokenWindow.group("messages")}async sendMessage(n){let t={role:"user",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t}),await this.processMessages();let r=this.messageGroup.items[this.messageGroup.items.length-1]?.customData;return r?.role=="assistant"&&r.content||""}addAssistantMessage(n){let t={role:"assistant",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t})}addUserMessage(n){let t={role:"user",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t})}getMessages(){return this.messageGroup.items.map(n=>n.customData)}getLatestMessage(){return this.messageGroup.items.length?this.messageGroup.items[this.messageGroup.items.length-1]?.customData:void 0}async processMessages(){await this.config.onBeforeMessageProcessing?.(),Ke.debugEnabled&&Ke.debug("Process message state:",{context:this.contextGroup.getAllAsString(),tools:this.toolGroup.getAll().map(i=>i.customData),messages:this.messageGroup.items.map(i=>i.customData),tokens:{used:this.tokenWindow.countTokens(),max:this.tokenWindow.size}});let t=this.messageGroup.items[this.messageGroup.items.length-1]?.customData;if(t?.role=="user"||t?.role=="tool")await this.sendToAPI(),await this.processMessages();else if(t?.role=="assistant"&&t?.tool_calls?.length){for(let i of t.tool_calls)await this.processToolCall(i);await this.processMessages()}}async trimMessages(){for(this.tokenWindow.removeOverflow();this.messageGroup.items.length&&this.messageGroup.items[0].customData?.role=="tool";)this.messageGroup.items.shift()}async sendToAPI(n){this.config.systemMessage&&this.contextGroup.add({id:"_gpt_context",cannotRemove:!0,sortOrder:0,content:this.config.systemMessage}),await this.trimMessages();let t=0;for(let l=this.messageGroup.items.length-1;l>=0;l--){let c=this.messageGroup.items[l].customData;if(c.role=="assistant"&&c.tool_calls){if(t+=1,t>=this.maxToolCallsPerMessage)throw new Error(`Exceeded the maximum tool calls per message limit of ${this.maxToolCallsPerMessage}.`)}else if(c.role=="user")break}Ke.debugEnabled&&Ke.debug("Before LLM state:",{context:this.contextGroup.getAllAsString(),tools:this.toolGroup.getAll().map(l=>l.customData),messages:this.messageGroup.items.map(l=>l.customData),tokens:{used:this.tokenWindow.countTokens(),max:this.tokenWindow.size}});let i={model:this.config.model,temperature:.2,user:this.config.userID,tools:[],stream:!!this.config.stream,max_tokens:1024,messages:[{role:"system",content:this.contextGroup.getAllAsString()},...this.messageGroup.getAll().map(l=>l.customData)]};for(let l of this.toolGroup.getAll()){let c=l.customData;c.description&&c.description.length>1024&&Ke.warn(`Tool description for "${c.name}" is too long, it will be truncated.`);let u={type:"function",function:{name:c.name,description:(c.description||"").substring(0,1024),parameters:{type:"object",properties:{}}}};if(Array.isArray(c.params))for(let d of c.params)u.function.parameters.properties[d.name]={type:d.type,description:d.description};else if(c.params){let d=c.params;for(let m in d)u.function.parameters.properties[m]={type:"string",description:d[m]}}i.tools.push(u)}i.user||delete i.user,i.tools.length||delete i.tools;let r={};if(r["Content-Type"]="application/json",this.config.apiKey&&(r.Authorization=`Bearer ${this.config.apiKey}`),n)return i;let a=await fetch(this.config.endpoint||"https://api.openai.com/v1/chat/completions",{method:"POST",headers:r,body:JSON.stringify(i)});if(!a.ok){let l=`${a.status} ${a.statusText}`;try{let u=await a.json();l=u.errorText||u.error?.message||u.error||l}catch{}let c=new Error(l);throw c.code=a.status,c}let o=null,s=null;if(this.config.stream)for await(let l of Ea(a.body)){if(l.data=="[DONE]")break;if(!l.data)continue;let c=JSON.parse(l.data);if(s){for(let u in c.choices[0].delta)if(typeof c.choices[0].delta[u]=="string"){if(u=="role"&&s[u]==c.choices[0].delta[u])continue;s[u]=(s[u]||"")+c.choices[0].delta[u]}for(let u of c.choices[0].delta.tool_calls||[]){if(s.tool_calls||(s.tool_calls=[]),!s.tool_calls[u.index]){s.tool_calls[u.index]=u;continue}let d=s.tool_calls[u.index];d.function=d.function||{},d.function.name=(d.function.name||"")+(u.function?.name||""),d.function.arguments=(d.function.arguments||"")+(u.function?.arguments||"")}}else s={chunkID:c.id,...c.choices[0].delta};s?.content&&!s.content.startsWith("{")&&this.config.onAIMessage?.(s.content,!0)}else o=await a.json(),this.stats.tokensUsed+=o.usage?.total_tokens||0,Ke.debug(`Used ${o.usage?.total_tokens||0} tokens, total used: ${this.stats.tokensUsed}`),s=o.choices?.[0]?.message;if(s||(Ke.warn("No response block in API response."),s={role:"assistant",content:""}),s.role=="user")throw new Error("API returned a user message, which is not allowed.");this.processIncomingMessage(s),this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(s),customData:s}),s.content&&this.config.onAIMessage?.(s.content,!1)}processIncomingMessage(n){}registerTool(n){this.toolGroup.add({id:n.name,cannotRemove:!n.canRemove,content:JSON.stringify(n),customData:n})}async processToolCall(n){try{let i=this.toolGroup.items.find(s=>s.id==n.function.name)?.customData;if(!i)throw new Error(`Tool "${n.function.name}" not found.`);let r=JSON.parse(n.function.arguments);this.config.onAIToolStart?.(n.function.name,r);let a=await i.callback(r);typeof a!="string"&&(a=JSON.stringify(a)||""),(a===""||a==="undefined")&&(a="success");let o={role:"tool",content:a,tool_call_id:n.id};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(o),customData:o})}catch(t){Ke.warn(`Unable to process tool call for "${n?.function?.name}"`,t);let i={role:"tool",content:`Error: ${t.message}`,tool_call_id:n.id};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(i),customData:i})}}resetConversation(){this.messageGroup.empty()}};var Z=function(){return Z=Object.assign||function(n){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a])}return n},Z.apply(this,arguments)};function hu(e,n,t,i){function r(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(u){try{c(i.next(u))}catch(d){o(d)}}function l(u){try{c(i.throw(u))}catch(d){o(d)}}function c(u){u.done?a(u.value):r(u.value).then(s,l)}c((i=i.apply(e,n||[])).next())})}function fu(e,n){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(t=0)),t;)try{if(i=1,r&&(a=c[0]&2?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[c[0]&2,a.value]),c[0]){case 0:case 1:a=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,r=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){t.label=c[1];break}if(c[0]===6&&t.label<a[1]){t.label=a[1],a=c;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(c);break}a[2]&&t.ops.pop(),t.trys.pop();continue}c=n.call(e,t)}catch(u){c=[6,u],r=0}finally{i=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function U(e){var n=typeof Symbol=="function"&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ee(e,n){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var i=t.call(e),r,a=[],o;try{for(;(n===void 0||n-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return a}var yu="ENTRIES",ro="KEYS",ao="VALUES",ce="",ji=function(){function e(n,t){var i=n._tree,r=Array.from(i.keys());this.set=n,this._type=t,this._path=r.length>0?[{node:i,keys:r}]:[]}return e.prototype.next=function(){var n=this.dive();return this.backtrack(),n},e.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var n=_t(this._path),t=n.node,i=n.keys;if(_t(i)===ce)return{done:!1,value:this.result()};var r=t.get(_t(i));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()},e.prototype.backtrack=function(){if(this._path.length!==0){var n=_t(this._path).keys;n.pop(),!(n.length>0)&&(this._path.pop(),this.backtrack())}},e.prototype.key=function(){return this.set._prefix+this._path.map(function(n){var t=n.keys;return _t(t)}).filter(function(n){return n!==ce}).join("")},e.prototype.value=function(){return _t(this._path).node.get(ce)},e.prototype.result=function(){switch(this._type){case ao:return this.value();case ro:return this.key();default:return[this.key(),this.value()]}},e.prototype[Symbol.iterator]=function(){return this},e}(),_t=function(e){return e[e.length-1]},bu=function(e,n,t){var i=new Map;if(n===void 0)return i;for(var r=n.length+1,a=r+t,o=new Uint8Array(a*r).fill(t+1),s=0;s<r;++s)o[s]=s;for(var l=1;l<a;++l)o[l*r]=l;return oo(e,n,t,i,o,1,r,""),i},oo=function(e,n,t,i,r,a,o,s){var l,c,u=a*o;try{e:for(var d=U(e.keys()),m=d.next();!m.done;m=d.next()){var p=m.value;if(p===ce){var f=r[u-1];f<=t&&i.set(s,[e.get(p),f])}else{for(var _=a,E=0;E<p.length;++E,++_){for(var y=p[E],T=o*_,S=T-o,N=r[T],L=Math.max(0,_-t-1),b=Math.min(o-1,_+t),I=L;I<b;++I){var D=y!==n[I],P=r[S+I]+ +D,M=r[S+I+1]+1,H=r[T+I]+1,R=r[T+I+1]=Math.min(P,M,H);R<N&&(N=R)}if(N>t)continue e}oo(e.get(p),n,t,i,r,_,o,s+p)}}}catch(w){l={error:w}}finally{try{m&&!m.done&&(c=d.return)&&c.call(d)}finally{if(l)throw l.error}}},qi=function(){function e(n,t){n===void 0&&(n=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=n,this._prefix=t}return e.prototype.atPrefix=function(n){var t,i;if(!n.startsWith(this._prefix))throw new Error("Mismatched prefix");var r=ee(Cn(this._tree,n.slice(this._prefix.length)),2),a=r[0],o=r[1];if(a===void 0){var s=ee(er(o),2),l=s[0],c=s[1];try{for(var u=U(l.keys()),d=u.next();!d.done;d=u.next()){var m=d.value;if(m!==ce&&m.startsWith(c)){var p=new Map;return p.set(m.slice(c.length),l.get(m)),new e(p,n)}}}catch(f){t={error:f}}finally{try{d&&!d.done&&(i=u.return)&&i.call(u)}finally{if(t)throw t.error}}}return new e(a,n)},e.prototype.clear=function(){this._size=void 0,this._tree.clear()},e.prototype.delete=function(n){return this._size=void 0,vu(this._tree,n)},e.prototype.entries=function(){return new ji(this,yu)},e.prototype.forEach=function(n){var t,i;try{for(var r=U(this),a=r.next();!a.done;a=r.next()){var o=ee(a.value,2),s=o[0],l=o[1];n(s,l,this)}}catch(c){t={error:c}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},e.prototype.fuzzyGet=function(n,t){return bu(this._tree,n,t)},e.prototype.get=function(n){var t=Zi(this._tree,n);return t!==void 0?t.get(ce):void 0},e.prototype.has=function(n){var t=Zi(this._tree,n);return t!==void 0&&t.has(ce)},e.prototype.keys=function(){return new ji(this,ro)},e.prototype.set=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n);return i.set(ce,t),this},Object.defineProperty(e.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var n=this.entries();!n.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),e.prototype.update=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n);return i.set(ce,t(i.get(ce))),this},e.prototype.fetch=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n),r=i.get(ce);return r===void 0&&i.set(ce,r=t()),r},e.prototype.values=function(){return new ji(this,ao)},e.prototype[Symbol.iterator]=function(){return this.entries()},e.from=function(n){var t,i,r=new e;try{for(var a=U(n),o=a.next();!o.done;o=a.next()){var s=ee(o.value,2),l=s[0],c=s[1];r.set(l,c)}}catch(u){t={error:u}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r},e.fromObject=function(n){return e.from(Object.entries(n))},e}(),Cn=function(e,n,t){var i,r;if(t===void 0&&(t=[]),n.length===0||e==null)return[e,t];try{for(var a=U(e.keys()),o=a.next();!o.done;o=a.next()){var s=o.value;if(s!==ce&&n.startsWith(s))return t.push([e,s]),Cn(e.get(s),n.slice(s.length),t)}}catch(l){i={error:l}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return t.push([e,n]),Cn(void 0,"",t)},Zi=function(e,n){var t,i;if(n.length===0||e==null)return e;try{for(var r=U(e.keys()),a=r.next();!a.done;a=r.next()){var o=a.value;if(o!==ce&&n.startsWith(o))return Zi(e.get(o),n.slice(o.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},Ki=function(e,n){var t,i,r=n.length;e:for(var a=0;e&&a<r;){try{for(var o=(t=void 0,U(e.keys())),s=o.next();!s.done;s=o.next()){var l=s.value;if(l!==ce&&n[a]===l[0]){for(var c=Math.min(r-a,l.length),u=1;u<c&&n[a+u]===l[u];)++u;var d=e.get(l);if(u===l.length)e=d;else{var m=new Map;m.set(l.slice(u),d),e.set(n.slice(a,a+u),m),e.delete(l),e=m}a+=u;continue e}}}catch(f){t={error:f}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}var p=new Map;return e.set(n.slice(a),p),p}return e},vu=function(e,n){var t=ee(Cn(e,n),2),i=t[0],r=t[1];if(i!==void 0){if(i.delete(ce),i.size===0)so(r);else if(i.size===1){var a=ee(i.entries().next().value,2),o=a[0],s=a[1];lo(r,o,s)}}},so=function(e){if(e.length!==0){var n=ee(er(e),2),t=n[0],i=n[1];if(t.delete(i),t.size===0)so(e.slice(0,-1));else if(t.size===1){var r=ee(t.entries().next().value,2),a=r[0],o=r[1];a!==ce&&lo(e.slice(0,-1),a,o)}}},lo=function(e,n,t){if(e.length!==0){var i=ee(er(e),2),r=i[0],a=i[1];r.set(a+n,t),r.delete(a)}},er=function(e){return e[e.length-1]},Bt,tr="or",co="and",_u="and_not",uo=function(){function e(n){if(n?.fields==null)throw new Error('MiniSearch: option "fields" must be provided');var t=n.autoVacuum==null||n.autoVacuum===!0?Ji:n.autoVacuum;this._options=Z(Z(Z({},Yi),n),{autoVacuum:t,searchOptions:Z(Z({},eo),n.searchOptions||{}),autoSuggestOptions:Z(Z({},wu),n.autoSuggestOptions||{})}),this._index=new qi,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Qi,this.addFields(this._options.fields)}return e.prototype.add=function(n){var t,i,r,a,o,s,l=this._options,c=l.extractField,u=l.tokenize,d=l.processTerm,m=l.fields,p=l.idField,f=c(n,p);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(p,'"'));if(this._idToShortId.has(f))throw new Error("MiniSearch: duplicate ID ".concat(f));var _=this.addDocumentId(f);this.saveStoredFields(_,n);try{for(var E=U(m),y=E.next();!y.done;y=E.next()){var T=y.value,S=c(n,T);if(S!=null){var N=u(S.toString(),T),L=this._fieldIds[T],b=new Set(N).size;this.addFieldLength(_,L,this._documentCount-1,b);try{for(var I=(r=void 0,U(N)),D=I.next();!D.done;D=I.next()){var P=D.value,M=d(P,T);if(Array.isArray(M))try{for(var H=(o=void 0,U(M)),R=H.next();!R.done;R=H.next()){var w=R.value;this.addTerm(L,_,w)}}catch(x){o={error:x}}finally{try{R&&!R.done&&(s=H.return)&&s.call(H)}finally{if(o)throw o.error}}else M&&this.addTerm(L,_,M)}}catch(x){r={error:x}}finally{try{D&&!D.done&&(a=I.return)&&a.call(I)}finally{if(r)throw r.error}}}}}catch(x){t={error:x}}finally{try{y&&!y.done&&(i=E.return)&&i.call(E)}finally{if(t)throw t.error}}},e.prototype.addAll=function(n){var t,i;try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;this.add(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},e.prototype.addAllAsync=function(n,t){var i=this;t===void 0&&(t={});var r=t.chunkSize,a=r===void 0?10:r,o={chunk:[],promise:Promise.resolve()},s=n.reduce(function(u,d,m){var p=u.chunk,f=u.promise;return p.push(d),(m+1)%a===0?{chunk:[],promise:f.then(function(){return new Promise(function(_){return setTimeout(_,0)})}).then(function(){return i.addAll(p)})}:{chunk:p,promise:f}},o),l=s.chunk,c=s.promise;return c.then(function(){return i.addAll(l)})},e.prototype.remove=function(n){var t,i,r,a,o,s,l=this._options,c=l.tokenize,u=l.processTerm,d=l.extractField,m=l.fields,p=l.idField,f=d(n,p);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(p,'"'));var _=this._idToShortId.get(f);if(_==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(f,": it is not in the index"));try{for(var E=U(m),y=E.next();!y.done;y=E.next()){var T=y.value,S=d(n,T);if(S!=null){var N=c(S.toString(),T),L=this._fieldIds[T],b=new Set(N).size;this.removeFieldLength(_,L,this._documentCount,b);try{for(var I=(r=void 0,U(N)),D=I.next();!D.done;D=I.next()){var P=D.value,M=u(P,T);if(Array.isArray(M))try{for(var H=(o=void 0,U(M)),R=H.next();!R.done;R=H.next()){var w=R.value;this.removeTerm(L,_,w)}}catch(x){o={error:x}}finally{try{R&&!R.done&&(s=H.return)&&s.call(H)}finally{if(o)throw o.error}}else M&&this.removeTerm(L,_,M)}}catch(x){r={error:x}}finally{try{D&&!D.done&&(a=I.return)&&a.call(I)}finally{if(r)throw r.error}}}}}catch(x){t={error:x}}finally{try{y&&!y.done&&(i=E.return)&&i.call(E)}finally{if(t)throw t.error}}this._storedFields.delete(_),this._documentIds.delete(_),this._idToShortId.delete(f),this._fieldLength.delete(_),this._documentCount-=1},e.prototype.removeAll=function(n){var t,i;if(n)try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;this.remove(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new qi,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},e.prototype.discard=function(n){var t=this,i=this._idToShortId.get(n);if(i==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(n,": it is not in the index"));this._idToShortId.delete(n),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach(function(r,a){t.removeFieldLength(i,a,t._documentCount,r)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},e.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var n=this._options.autoVacuum,t=n.minDirtFactor,i=n.minDirtCount,r=n.batchSize,a=n.batchWait;this.conditionalVacuum({batchSize:r,batchWait:a},{minDirtCount:i,minDirtFactor:t})}},e.prototype.discardAll=function(n){var t,i,r=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=U(n),o=a.next();!o.done;o=a.next()){var s=o.value;this.discard(s)}}catch(l){t={error:l}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=r}this.maybeAutoVacuum()},e.prototype.replace=function(n){var t=this._options,i=t.idField,r=t.extractField,a=r(n,i);this.discard(a),this.add(n)},e.prototype.vacuum=function(n){return n===void 0&&(n={}),this.conditionalVacuum(n)},e.prototype.conditionalVacuum=function(n,t){var i=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var r=i._enqueuedVacuumConditions;return i._enqueuedVacuumConditions=Qi,i.performVacuuming(n,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(n),this._currentVacuum)},e.prototype.performVacuuming=function(n,t){return hu(this,void 0,void 0,function(){var i,r,a,o,s,l,c,u,d,m,p,f,_,E,y,T,S,N,L,b,I,D,P,M,H;return fu(this,function(R){switch(R.label){case 0:if(i=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];r=n.batchSize||$i.batchSize,a=n.batchWait||$i.batchWait,o=1,R.label=1;case 1:R.trys.push([1,7,8,9]),s=U(this._index),l=s.next(),R.label=2;case 2:if(l.done)return[3,6];c=ee(l.value,2),u=c[0],d=c[1];try{for(m=(D=void 0,U(d)),p=m.next();!p.done;p=m.next()){f=ee(p.value,2),_=f[0],E=f[1];try{for(y=(M=void 0,U(E)),T=y.next();!T.done;T=y.next())S=ee(T.value,1),N=S[0],!this._documentIds.has(N)&&(E.size<=1?d.delete(_):E.delete(N))}catch(w){M={error:w}}finally{try{T&&!T.done&&(H=y.return)&&H.call(y)}finally{if(M)throw M.error}}}}catch(w){D={error:w}}finally{try{p&&!p.done&&(P=m.return)&&P.call(m)}finally{if(D)throw D.error}}return this._index.get(u).size===0&&this._index.delete(u),o%r!==0?[3,4]:[4,new Promise(function(w){return setTimeout(w,a)})];case 3:R.sent(),R.label=4;case 4:o+=1,R.label=5;case 5:return l=s.next(),[3,2];case 6:return[3,9];case 7:return L=R.sent(),b={error:L},[3,9];case 8:try{l&&!l.done&&(I=s.return)&&I.call(s)}finally{if(b)throw b.error}return[7];case 9:this._dirtCount-=i,R.label=10;case 10:return[4,null];case 11:return R.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},e.prototype.vacuumConditionsMet=function(n){if(n==null)return!0;var t=n.minDirtCount,i=n.minDirtFactor;return t=t||Ji.minDirtCount,i=i||Ji.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=i},Object.defineProperty(e.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),e.prototype.has=function(n){return this._idToShortId.has(n)},e.prototype.getStoredFields=function(n){var t=this._idToShortId.get(n);if(t!=null)return this._storedFields.get(t)},e.prototype.search=function(n,t){var i,r;t===void 0&&(t={});var a=this.executeQuery(n,t),o=[];try{for(var s=U(a),l=s.next();!l.done;l=s.next()){var c=ee(l.value,2),u=c[0],d=c[1],m=d.score,p=d.terms,f=d.match,_=p.length||1,E={id:this._documentIds.get(u),score:m*_,terms:Object.keys(f),queryTerms:p,match:f};Object.assign(E,this._storedFields.get(u)),(t.filter==null||t.filter(E))&&o.push(E)}}catch(y){i={error:y}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return n===e.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||o.sort(no),o},e.prototype.autoSuggest=function(n,t){var i,r,a,o;t===void 0&&(t={}),t=Z(Z({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var l=U(this.search(n,t)),c=l.next();!c.done;c=l.next()){var u=c.value,d=u.score,m=u.terms,p=m.join(" "),f=s.get(p);f!=null?(f.score+=d,f.count+=1):s.set(p,{score:d,terms:m,count:1})}}catch(L){i={error:L}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}var _=[];try{for(var E=U(s),y=E.next();!y.done;y=E.next()){var T=ee(y.value,2),f=T[0],S=T[1],d=S.score,m=S.terms,N=S.count;_.push({suggestion:f,terms:m,score:d/N})}}catch(L){a={error:L}}finally{try{y&&!y.done&&(o=E.return)&&o.call(E)}finally{if(a)throw a.error}}return _.sort(no),_},Object.defineProperty(e.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),e.loadJSON=function(n,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(n),t)},e.getDefault=function(n){if(Yi.hasOwnProperty(n))return Xi(Yi,n);throw new Error('MiniSearch: unknown option "'.concat(n,'"'))},e.loadJS=function(n,t){var i,r,a,o,s,l,c=n.index,u=n.documentCount,d=n.nextId,m=n.documentIds,p=n.fieldIds,f=n.fieldLength,_=n.averageFieldLength,E=n.storedFields,y=n.dirtCount,T=n.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var S=new e(t);S._documentCount=u,S._nextId=d,S._documentIds=En(m),S._idToShortId=new Map,S._fieldIds=p,S._fieldLength=En(f),S._avgFieldLength=_,S._storedFields=En(E),S._dirtCount=y||0,S._index=new qi;try{for(var N=U(S._documentIds),L=N.next();!L.done;L=N.next()){var b=ee(L.value,2),I=b[0],D=b[1];S._idToShortId.set(D,I)}}catch(ie){i={error:ie}}finally{try{L&&!L.done&&(r=N.return)&&r.call(N)}finally{if(i)throw i.error}}try{for(var P=U(c),M=P.next();!M.done;M=P.next()){var H=ee(M.value,2),R=H[0],w=H[1],x=new Map;try{for(var O=(s=void 0,U(Object.keys(w))),j=O.next();!j.done;j=O.next()){var X=j.value,re=w[X];T===1&&(re=re.ds),x.set(parseInt(X,10),En(re))}}catch(ie){s={error:ie}}finally{try{j&&!j.done&&(l=O.return)&&l.call(O)}finally{if(s)throw s.error}}S._index.set(R,x)}}catch(ie){a={error:ie}}finally{try{M&&!M.done&&(o=P.return)&&o.call(P)}finally{if(a)throw a.error}}return S},e.prototype.executeQuery=function(n,t){var i=this;if(t===void 0&&(t={}),n===e.wildcard)return this.executeWildcardQuery(t);if(typeof n!="string"){var r=Z(Z(Z({},t),n),{queries:void 0}),a=n.queries.map(function(E){return i.executeQuery(E,r)});return this.combineResults(a,r.combineWith)}var o=this._options,s=o.tokenize,l=o.processTerm,c=o.searchOptions,u=Z(Z({tokenize:s,processTerm:l},c),t),d=u.tokenize,m=u.processTerm,p=d(n).flatMap(function(E){return m(E)}).filter(function(E){return!!E}),f=p.map(ku(u)),_=f.map(function(E){return i.executeQuerySpec(E,u)});return this.combineResults(_,u.combineWith)},e.prototype.executeQuerySpec=function(n,t){var i,r,a,o,s=Z(Z({},this._options.searchOptions),t),l=(s.fields||this._options.fields).reduce(function(X,re){var ie;return Z(Z({},X),(ie={},ie[re]=Xi(s.boost,re)||1,ie))},{}),c=s.boostDocument,u=s.weights,d=s.maxFuzzy,m=s.bm25,p=Z(Z({},eo.weights),u),f=p.fuzzy,_=p.prefix,E=this._index.get(n.term),y=this.termResults(n.term,n.term,1,E,l,c,m),T,S;if(n.prefix&&(T=this._index.atPrefix(n.term)),n.fuzzy){var N=n.fuzzy===!0?.2:n.fuzzy,L=N<1?Math.min(d,Math.round(n.term.length*N)):N;L&&(S=this._index.fuzzyGet(n.term,L))}if(T)try{for(var b=U(T),I=b.next();!I.done;I=b.next()){var D=ee(I.value,2),P=D[0],M=D[1],H=P.length-n.term.length;if(H){S?.delete(P);var R=_*P.length/(P.length+.3*H);this.termResults(n.term,P,R,M,l,c,m,y)}}}catch(X){i={error:X}}finally{try{I&&!I.done&&(r=b.return)&&r.call(b)}finally{if(i)throw i.error}}if(S)try{for(var w=U(S.keys()),x=w.next();!x.done;x=w.next()){var P=x.value,O=ee(S.get(P),2),j=O[0],H=O[1];if(H){var R=f*P.length/(P.length+H);this.termResults(n.term,P,R,j,l,c,m,y)}}}catch(X){a={error:X}}finally{try{x&&!x.done&&(o=w.return)&&o.call(w)}finally{if(a)throw a.error}}return y},e.prototype.executeWildcardQuery=function(n){var t,i,r=new Map,a=Z(Z({},this._options.searchOptions),n);try{for(var o=U(this._documentIds),s=o.next();!s.done;s=o.next()){var l=ee(s.value,2),c=l[0],u=l[1],d=a.boostDocument?a.boostDocument(u,"",this._storedFields.get(c)):1;r.set(c,{score:d,terms:[],match:{}})}}catch(m){t={error:m}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return r},e.prototype.combineResults=function(n,t){if(t===void 0&&(t=tr),n.length===0)return new Map;var i=t.toLowerCase();return n.reduce(Su[i])||new Map},e.prototype.toJSON=function(){var n,t,i,r,a=[];try{for(var o=U(this._index),s=o.next();!s.done;s=o.next()){var l=ee(s.value,2),c=l[0],u=l[1],d={};try{for(var m=(i=void 0,U(u)),p=m.next();!p.done;p=m.next()){var f=ee(p.value,2),_=f[0],E=f[1];d[_]=Object.fromEntries(E)}}catch(y){i={error:y}}finally{try{p&&!p.done&&(r=m.return)&&r.call(m)}finally{if(i)throw i.error}}a.push([c,d])}}catch(y){n={error:y}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(n)throw n.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},e.prototype.termResults=function(n,t,i,r,a,o,s,l){var c,u,d,m,p;if(l===void 0&&(l=new Map),r==null)return l;try{for(var f=U(Object.keys(a)),_=f.next();!_.done;_=f.next()){var E=_.value,y=a[E],T=this._fieldIds[E],S=r.get(T);if(S!=null){var N=S.size,L=this._avgFieldLength[T];try{for(var b=(d=void 0,U(S.keys())),I=b.next();!I.done;I=b.next()){var D=I.value;if(!this._documentIds.has(D)){this.removeTerm(T,D,t),N-=1;continue}var P=o?o(this._documentIds.get(D),t,this._storedFields.get(D)):1;if(P){var M=S.get(D),H=this._fieldLength.get(D)[T],R=Cu(M,N,this._documentCount,H,L,s),w=i*y*P*R,x=l.get(D);if(x){x.score+=w,Tu(x.terms,n);var O=Xi(x.match,t);O?O.push(E):x.match[t]=[E]}else l.set(D,{score:w,terms:[n],match:(p={},p[t]=[E],p)})}}}catch(j){d={error:j}}finally{try{I&&!I.done&&(m=b.return)&&m.call(b)}finally{if(d)throw d.error}}}}}catch(j){c={error:j}}finally{try{_&&!_.done&&(u=f.return)&&u.call(f)}finally{if(c)throw c.error}}return l},e.prototype.addTerm=function(n,t,i){var r=this._index.fetch(i,io),a=r.get(n);if(a==null)a=new Map,a.set(t,1),r.set(n,a);else{var o=a.get(t);a.set(t,(o||0)+1)}},e.prototype.removeTerm=function(n,t,i){if(!this._index.has(i)){this.warnDocumentChanged(t,n,i);return}var r=this._index.fetch(i,io),a=r.get(n);a==null||a.get(t)==null?this.warnDocumentChanged(t,n,i):a.get(t)<=1?a.size<=1?r.delete(n):a.delete(t):a.set(t,a.get(t)-1),this._index.get(i).size===0&&this._index.delete(i)},e.prototype.warnDocumentChanged=function(n,t,i){var r,a;try{for(var o=U(Object.keys(this._fieldIds)),s=o.next();!s.done;s=o.next()){var l=s.value;if(this._fieldIds[l]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(n),' has changed before removal: term "').concat(i,'" was not present in field "').concat(l,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(c){r={error:c}}finally{try{s&&!s.done&&(a=o.return)&&a.call(o)}finally{if(r)throw r.error}}},e.prototype.addDocumentId=function(n){var t=this._nextId;return this._idToShortId.set(n,t),this._documentIds.set(t,n),this._documentCount+=1,this._nextId+=1,t},e.prototype.addFields=function(n){for(var t=0;t<n.length;t++)this._fieldIds[n[t]]=t},e.prototype.addFieldLength=function(n,t,i,r){var a=this._fieldLength.get(n);a==null&&this._fieldLength.set(n,a=[]),a[t]=r;var o=this._avgFieldLength[t]||0,s=o*i+r;this._avgFieldLength[t]=s/(i+1)},e.prototype.removeFieldLength=function(n,t,i,r){if(i===1){this._avgFieldLength[t]=0;return}var a=this._avgFieldLength[t]*i-r;this._avgFieldLength[t]=a/(i-1)},e.prototype.saveStoredFields=function(n,t){var i,r,a=this._options,o=a.storeFields,s=a.extractField;if(!(o==null||o.length===0)){var l=this._storedFields.get(n);l==null&&this._storedFields.set(n,l={});try{for(var c=U(o),u=c.next();!u.done;u=c.next()){var d=u.value,m=s(t,d);m!==void 0&&(l[d]=m)}}catch(p){i={error:p}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}}},e.wildcard=Symbol("*"),e}(),Xi=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)?e[n]:void 0},Su=(Bt={},Bt[tr]=function(e,n){var t,i;try{for(var r=U(n.keys()),a=r.next();!a.done;a=r.next()){var o=a.value,s=e.get(o);if(s==null)e.set(o,n.get(o));else{var l=n.get(o),c=l.score,u=l.terms,d=l.match;s.score=s.score+c,s.match=Object.assign(s.match,d),to(s.terms,u)}}}catch(m){t={error:m}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return e},Bt[co]=function(e,n){var t,i,r=new Map;try{for(var a=U(n.keys()),o=a.next();!o.done;o=a.next()){var s=o.value,l=e.get(s);if(l!=null){var c=n.get(s),u=c.score,d=c.terms,m=c.match;to(l.terms,d),r.set(s,{score:l.score+u,terms:l.terms,match:Object.assign(l.match,m)})}}}catch(p){t={error:p}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r},Bt[_u]=function(e,n){var t,i;try{for(var r=U(n.keys()),a=r.next();!a.done;a=r.next()){var o=a.value;e.delete(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return e},Bt),Eu={k:1.2,b:.7,d:.5},Cu=function(e,n,t,i,r,a){var o=a.k,s=a.b,l=a.d,c=Math.log(1+(t-n+.5)/(n+.5));return c*(l+e*(o+1)/(e+o*(1-s+s*i/r)))},ku=function(e){return function(n,t,i){var r=typeof e.fuzzy=="function"?e.fuzzy(n,t,i):e.fuzzy||!1,a=typeof e.prefix=="function"?e.prefix(n,t,i):e.prefix===!0;return{term:n,fuzzy:r,prefix:a}}},Yi={idField:"id",extractField:function(e,n){return e[n]},tokenize:function(e){return e.split(Au)},processTerm:function(e){return e.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(e,n){typeof console?.[e]=="function"&&console[e](n)},autoVacuum:!0},eo={combineWith:tr,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Eu},wu={combineWith:co,prefix:function(e,n,t){return n===t.length-1}},$i={batchSize:1e3,batchWait:10},Qi={minDirtFactor:.1,minDirtCount:20},Ji=Z(Z({},$i),Qi),Tu=function(e,n){e.includes(n)||e.push(n)},to=function(e,n){var t,i;try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;e.includes(o)||e.push(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},no=function(e,n){var t=e.score,i=n.score;return i-t},io=function(){return new Map},En=function(e){var n,t,i=new Map;try{for(var r=U(Object.keys(e)),a=r.next();!a.done;a=r.next()){var o=a.value;i.set(parseInt(o,10),e[o])}}catch(s){n={error:s}}finally{try{a&&!a.done&&(t=r.return)&&t.call(r)}finally{if(n)throw n.error}}return i},Au=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;var po=[{id:"search",type:"action",name:"Search the knowledge base.",content:"Search the knowledge base for information, actions, tools, tours, UI elements, etc. Use this on EVERY request if you don't have information. If the user asks for personal information, use this. If the user asks you to do something, use this to find the tool you need.",isContext:!0,removeFromMessageHistory:!0,parameters:[{name:"query",type:"string",description:"The search query"}],action:async(e,n)=>{let t=await n.knowledgeBase.search(e.query),i=n;i._lastKBsearch=e.query,i._nextRequestUseKBitems=t,n.submitAnalyticsEvent({type:"kb-search",query:e.query,results:t});let r=t.filter(o=>o.type!="action").map(o=>"id="+o.id).join(", ")||"(none)",a=t.filter(o=>o.type=="action").map(o=>"name="+o._functionID).join(", ")||"(none)";return`Search complete, context has been updated. New info entries found: ${r}. New tools available: ${a}.`}}];var tt=new q("KnowledgeBase"),mo=1,kn=class e{constructor(n){this._sources=[{id:"core.internal",query:async()=>po}];this._windowSources=[];this.lastResults=[];this.manualEntries=[];this.ai=n}registerSource(n,t){let i=n;return typeof n=="function"&&(t=n,i=`source.${mo++}`),this._sources.push({id:i,query:t}),i}removeSource(n){this._sources=this.sources.filter(t=>t.id!==n&&t.query!==n)}addEntry(n){this.manualEntries.push(n)}removeEntry(n){this.manualEntries=this.manualEntries.filter(t=>t.id!==n)}get sources(){let n=this._sources;return typeof window<"u"&&$().knowledgeBaseSources&&(n=n.concat($().knowledgeBaseSources.map(t=>({id:t.name,query:t})))),n=n.concat(this._windowSources),n=n.filter(t=>!t.disabled),n}async search(n){tt.debug(`Searching knowledge base for: ${n}`);let t=new Event("webweaver_kb_search",{bubbles:!0,cancelable:!0});t.query=n,t.entries=[],t.sources=[],typeof document<"u"&&document.dispatchEvent(t),this._windowSources=t.sources;let r=(await Promise.all(this.sources.map(async l=>{try{let c=Date.now(),u=await l.query(n);return tt.debug(`Source '${l.id}' took ${Date.now()-c}ms`),u||[]}catch(c){return tt.warn(`Knowledge source '${l.id}' failed:`,c),[]}}))).flat();r=r.concat(t.entries),r=r.concat(this.manualEntries),$().knowledgeBase&&(r=r.concat($().knowledgeBase)),r=r.filter(l=>l&&!l.disabled);for(let l=0;l<r.length;l++){let c=r[l];if(c.id=c.id||`temp.${l}`,c._functionID=c.id.replaceAll(/[^a-zA-Z0-9_]/g,"_"),!c.action&&c.type=="tour"&&(c.action=u=>{throw new Error("This tour does not have an action. You must perform the tour content manually.")}),!c.action&&c.type=="info"&&(c.action=u=>{throw new Error("This item does not have an action. Use the content to provide information to the user instead.")}),c.parameters&&!Array.isArray(c.parameters)){let u=c.parameters,d=[];for(let m in u)d.push({name:m,type:"string",description:c.parameters[m]});c.parameters=d}}let a=new uo({fields:["id","type","name","content","tags"],storeFields:[],searchOptions:{boost:{name:3,tags:2},fuzzy:.2}});a.addAll(r);let s=a.search(n).map(l=>r.find(c=>c.id==l.id));for(let l of r)l.isContext&&(s.find(c=>c.id===l.id)||s.push(l));return this.lastResults=s,tt.debug("Found results:",s),s}getCachedEntry(n){return this.lastResults.find(t=>t.id==n||t._functionID==n)}registerSourceFromURL(n,t){t||(t=`external.${mo++}`),tt.debug(`Registering remote knowledge base source: ${n}`);let i=[],r=[],a=!0,o=async(l,c)=>{tt.debug(`Calling remote knowledge base action: ${l.id}`);let u={type:"action",userID:this.ai.userID,extra:this.ai.extra,actionID:l.id,parameters:c},d=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!d.ok)throw new Error(`HTTP Error ${d.status} ${d.statusText}`);let m=await d.json();return s(m.updateItems||[]),m.response},s=l=>{for(let c of l){if(!c.id){tt.warn("KB item skipped since it has no ID.",c);continue}let u=i.find(d=>d.id==c.id);if(u){u.name=c.name||u.name||"",u.content=c.content||u.content||"",u.disabled=c.disabled??u.disabled,u.isContext=c.isContext??u.isContext,u.parameters=c.parameters||u.parameters||[],u.tags=c.tags||u.tags,u.type=c.type||u.type;continue}i.push({...c,action:d=>o(c,d)})}};this.registerSource(t,async l=>{if(a&&r.includes(l))return i;let c={type:"search",userID:this.ai?.userID||"",extra:this.ai?.extra||{},query:l},u=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!u.ok)throw new Error(`HTTP Error ${u.status} ${u.statusText}`);let d=await u.json();return a=!d.noCache,r.includes(l)||r.push(l),s(d.items),i})}clone(){let n=new e(this.ai);return n._sources=this._sources,n._windowSources=this._windowSources,n.manualEntries=this.manualEntries,n}};var go={name:"@intelliweave/embedded",version:"1.7.58",description:"Integrate IntelliWeave into your app or website.",main:"./dist/webpack/index.js",types:"./dist/webpack/index.d.ts",type:"module",exports:{".":"./dist/webpack/index.js","./component":"./dist/component/component.js","./node":"./dist/node/node.js","./react":"./dist/react/react.js","./webpack":"./dist/webpack/index.js"},scripts:{build:"npm run build:lib && npm run build:docs","build:lib":"tsx build.ts","build:dev":"cross-env DEVELOPMENT=1 npm run build","build:docs":"typedoc src/index.mts --out dist/docs/",deploy:'npm run build && gsutil cp ./dist/web-weaver.min.js gs://metapress-cdn/web-weaver.min.js && gcloud compute url-maps invalidate-cdn-cache mp-cdn-loadbalancer --project="mp-backend-api" --path "/web-weaver.min.js" --async',"start:server":"cd server && npm run start","deploy:server":"cd server && npm run deploy","llm:build":"cd llm-server && docker build -t web-weaver-llm .","llm:start":"npm run llm:build && docker run -it --rm -p 8000:80 --gpus=all web-weaver-llm","llm:deploy.docker":"npm run llm:build && gcloud auth configure-docker us-central1-docker.pkg.dev && docker tag web-weaver-llm us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm && docker push us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm","llm:deploy":'npm run llm:deploy.docker && gcloud run deploy web-weaver-llm --project=ydangle-web-companion --image=us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm --allow-unauthenticated --region=us-central1 --description="Web Weaver LLM" --concurrency=2 --min-instances=0 --timeout=5m --memory=16Gi --cpu=8',prepack:"npm run build",test:"npm run build && tsx --test"},keywords:["web","weaver","ai","assistant","chat"],author:"jjv360",license:"UNLICENSED",devDependencies:{"@types/audioworklet":"^0.0.64","@types/lodash":"^4.17.13","@types/react":"^18.3.12","@types/uuid":"^10.0.0",bestzip:"^2.2.1","cross-env":"^7.0.3","find-cache-dir":"^5.0.0",lodash:"^4.17.21","onnxruntime-web":"^1.20.0",react:"^18.3.1","replace-in-file":"^8.2.0",tsup:"^8.3.5",tsx:"^4.19.2",typedoc:"^0.27.6"},peerDependencies:{"onnxruntime-web":"^1.20.0",react:"^18 || ^19"},dependencies:{"gpt-tokenizer":"^2.9.0",minisearch:"^6.3.0","rehype-document":"^7.0.3","rehype-external-links":"^3.0.0","rehype-format":"^5.0.0","rehype-stringify":"^10.0.0","remark-parse":"^11.0.0","remark-rehype":"^11.1.0",unified:"^11.0.4","utility-types":"^3.11.0",uuid:"^10.0.0"}};var wn=class{constructor(n){this.ai=n}async boolean(n,t){let i=this.ai.clone();i.resetConversation(),i.getContextPrefix=async()=>'You will receive a question and some data. Answer the question by replying only with the word "true" or "false".';let r=await i.sendMessage(n+`
|
|
3255
3255
|
|
|
3256
3256
|
`+JSON.stringify(t))||"";if(r.toLowerCase().includes("true"))return!0;if(r.toLowerCase().includes("false"))return!1;throw new Error("The AI did not give a boolean answer: "+r)}async choose(n,t,i){i=i.map(o=>o.trim());let r=this.ai.clone();r.resetConversation(),r.getContextPrefix=async()=>"You will receive a question and some data and options. Answer the question by replying with the option you want to choose. Only say the option you want, no additional text.";let a=await r.sendMessage("question:"+n+`
|
|
3257
3257
|
|
|
@@ -3262,8 +3262,8 @@ options:`+i.join(`
|
|
|
3262
3262
|
|
|
3263
3263
|
data:`+JSON.stringify(t)+`
|
|
3264
3264
|
|
|
3265
|
-
extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"").replace(/\n/g,"");let s=o.split(",").map(l=>l.trim()).join(",");return JSON.parse(s)}async generateMarkdown(n,t){return this.instruct("Generate a Markdown document based on the input text. Always include a header on every response. Give long detailed answers with many paragraphs, and explain concepts step by step.",n,t)}async instruct(n,t,i){let r=this.ai.clone();return r.resetConversation(),r.getContextPrefix=async()=>n,i&&r.addEventListener("output",o=>{i(o.detail.message)}),await r.sendMessage(t)}};var
|
|
3266
|
-
`});else if(a.type=="action"){let o={name:a._functionID,description:Mi(typeof a.content=="function"?a.content():a.content),params:a.parameters||[{name:"value",type:"string",description:"Input"}],removeFromMessageHistory:!!a.removeFromMessageHistory,callback:s=>this.toolRunKBAction(a,s),kb:a};this.currentModel.toolGroup.add({id:a._functionID,customData:o,cannotRemove:a.isContext,sortOrder:101,disabled:a.disabled,content:JSON.stringify(o)})}else continue;let r=this.currentModel.contextGroup.getAllAsString();this._lastSystemMsg!=r&&(this._lastSystemMsg=r,this.submitAnalyticsEvent({type:"system-msg",txt:r}))}processIncomingMessage(t,i){i||this.submitAnalyticsEvent({type:"message",role:"assistant",message:t});let r="";this._lastOutput===void 0?(r=t,this._lastOutput=t):t.startsWith(this._lastOutput)?(r=t.substring(this._lastOutput.length),this._lastOutput=t):(tt.warn("Message was changed during chunking. This should not happen.",t,this._lastOutput),r=t,this._lastOutput=t),i||(this._lastOutput=void 0),this.dispatchEvent(new CustomEvent("output",{detail:{ai:this,isChunk:i,message:t,messageChunk:r}})),this.onAIMessage?.(t,!!i)}async sendMessage(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");if(this.isProcessing)return tt.warn("Cannot send message while another message is being processed."),null;this.isProcessing=!0;try{return this.submitAnalyticsEvent({type:"message",role:"user",message:t}),this.dispatchEvent(new CustomEvent("input",{detail:{ai:this,message:t}})),await this.currentModel.sendMessage(t)}finally{this.isProcessing=!1}}async toolRunKBAction(t,i){try{this.dispatchEvent(new CustomEvent("toolstart",{detail:{knowledgeBaseEntry:t,input:i,ai:this}}));let r=await t.action(i,this);return this.submitAnalyticsEvent({type:"action",action:t.id,value:i,result:r}),this.dispatchEvent(new CustomEvent("tool",{detail:{knowledgeBaseEntry:t,input:i,ai:this,result:r}})),r}catch(r){throw this.submitAnalyticsEvent({type:"action",action:t.id,value:i,error:r.message}),this.dispatchEvent(new CustomEvent("tool",{detail:{knowledgeBaseEntry:t,input:i,ai:this,error:r}})),r}}submitAnalyticsEvent(t){$().analytics===!1||this.config?.analytics===!1||fetch(this.hubAPI+"/analytics/post",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,apiKey:this.apiKey,time:Date.now(),conversationID:this.conversationID,personaID:this.config?.id})}).catch(i=>{tt.debug("Failed to submit analytics event:",i)})}resetConversation(){this.currentModel&&(this.currentModel.resetConversation(),this.conversationID=Te(),this._lastSystemMsg="")}insertAssistantMessage(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");let i={role:"assistant",content:t};this.currentModel.messageGroup.add({id:Te(),content:JSON.stringify(i),customData:i})}exportState(){return{type:"intelliweave/state/v1",conversationID:this.conversationID,messages:this.currentModel?.messageGroup.getAll().map(t=>t.customData)}}importState(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");if(t?.type!="intelliweave/state/v1")throw new Error(`Invalid state type: ${t.type}`);this.conversationID=t.conversationID;for(let i of t.messages)this.currentModel.messageGroup.add({id:Te(),content:JSON.stringify(i),customData:i})}clone(){let t=new wn;return t.apiKey=this.apiKey,t.config=this.config,t.models=this.models,this.config?.id&&t.setModel(this.config.id),t.audio=this.audio,t.vadModel=this.vadModel,t.userID=this.userID,t.extra=this.extra,t.knowledgeBase=this.knowledgeBase.clone(),t}};wn.version=go.version;var St=wn;var be=class extends HTMLElement{constructor(){super(...arguments);this._state={}}get root(){return this._shadow}static register(){this._isRegistered||(this._isRegistered=!0,this.tagName||(this.tagName="anonymous-component-"+this.name.toLowerCase().replace(/[^a-z0-9-]/g,"-")+"--"+Math.random().toString(36).substring(2)),window.customElements.define(this.tagName,this))}static create(t={},i=""){this.register();let r=document.createElement(this.tagName);for(let a in t)r.setAttribute(a,t[a]);return r.onBeforeCreate(),r.innerHTML=i,r}static add(t={},i=""){return this.register(),`<${this.tagName} ${Object.keys(t).map(r=>`${r}="${(t[r]+"").replaceAll('"',""")}"`).join(" ")}>${i}</${this.tagName}>`}static createElement(){return this.register(),document.createElement(this.tagName)}connectedCallback(){this._shadow||(this._shadow=this.attachShadow({mode:"closed"}),this._shadow.innerHTML=this.html(),this.onCreate()),this.onUpdate()}disconnectedCallback(){this._shadow=void 0,this.onDestroy()}html(){return""}onBeforeCreate(){}onCreate(){}onUpdate(){}onDestroy(){}attributeChangedCallback(t,i,r){this._shadow&&this.onUpdate()}get attr(){if(this._attrProxy)return this._attrProxy;let t=i=>(Tn=Tn||document.createElement("div"),Tn.innerText=i||"",Tn.innerHTML);return this._attrProxy=new Proxy({},{get:(i,r)=>t(this.getAttribute(r.toString())||""),set:(i,r,a)=>(this.getAttribute(r.toString())===a||(a?this.setAttribute(r.toString(),a):this.removeAttribute(r.toString()),this._shadow&&this.onUpdate()),!0)}),this._attrProxy}get state(){return this._stateProxy?this._stateProxy:(this._stateProxy=new Proxy({},{get:(t,i)=>this._state[i],set:(t,i,r)=>(this._state[i]=r,this._shadow&&this.onUpdate(),!0)}),this._stateProxy)}hasChild(t){return!!this.root?.getElementById(t)}child(t){let i=this.root?.getElementById(t);if(!i)throw new Error(`Child with ID ${t} not found`);return i}};be.observedAttributes=[],be.tagName="",be._isRegistered=!1;var Tn;var ho='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="200" height="200" style="shape-rendering: auto; display: block; " xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle cx="84" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="0.5s" calcMode="spline" keyTimes="0;1" values="10;0" keySplines="0 0.5 0.5 1" begin="0s"></animate>%0A <animate attributeName="fill" repeatCount="indefinite" dur="2s" calcMode="discrete" keyTimes="0;0.25;0.5;0.75;1" values="%23797979;%23797979;%23797979;%23797979;%23797979" begin="0s"></animate>%0A</circle><circle cx="16" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate>%0A</circle><circle cx="50" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate>%0A</circle><circle cx="84" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1s"></animate>%0A</circle><circle cx="16" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1.5s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1.5s"></animate>%0A</circle><g></g></g><!-- [ldio] generated by https://loading.io --></svg>';var fo='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 475.085 475.085" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M237.541 328.897c25.128 0 46.632-8.946 64.523-26.83 17.888-17.884 26.833-39.399 26.833-64.525V91.365c0-25.126-8.938-46.632-26.833-64.525C284.173 8.951 262.669 0 237.541 0c-25.125 0-46.632 8.951-64.524 26.84-17.893 17.89-26.838 39.399-26.838 64.525v146.177c0 25.125 8.949 46.641 26.838 64.525 17.889 17.884 39.399 26.83 64.524 26.83z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path><path d="M396.563 188.15c-3.606-3.617-7.898-5.426-12.847-5.426-4.944 0-9.226 1.809-12.847 5.426-3.613 3.616-5.421 7.898-5.421 12.845v36.547c0 35.214-12.518 65.333-37.548 90.362-25.022 25.03-55.145 37.545-90.36 37.545-35.214 0-65.334-12.515-90.365-37.545-25.028-25.022-37.541-55.147-37.541-90.362v-36.547c0-4.947-1.809-9.229-5.424-12.845-3.617-3.617-7.895-5.426-12.847-5.426s-9.235 1.809-12.85 5.426c-3.618 3.616-5.426 7.898-5.426 12.845v36.547c0 42.065 14.04 78.659 42.112 109.776 28.073 31.118 62.762 48.961 104.068 53.526v37.691h-73.089c-4.949 0-9.231 1.811-12.847 5.428-3.617 3.614-5.426 7.898-5.426 12.847 0 4.941 1.809 9.233 5.426 12.847 3.616 3.614 7.898 5.428 12.847 5.428h182.719c4.948 0 9.236-1.813 12.847-5.428 3.621-3.613 5.431-7.905 5.431-12.847 0-4.948-1.81-9.232-5.431-12.847-3.61-3.617-7.898-5.428-12.847-5.428h-73.08v-37.691c41.299-4.565 75.985-22.408 104.061-53.526 28.076-31.117 42.12-67.711 42.12-109.776v-36.547c0-4.946-1.813-9.225-5.435-12.845z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path></g></svg>';var yo='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 448.075 448.075" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M352.021 16.075c0-6.08-3.52-11.84-8.96-14.4-5.76-2.88-12.16-1.92-16.96 1.92l-141.76 112.96 167.68 167.68zM443.349 420.747l-416-416c-6.24-6.24-16.384-6.24-22.624 0s-6.24 16.384 0 22.624l100.672 100.704h-9.376c-9.92 0-18.56 4.48-24.32 11.52-4.8 5.44-7.68 12.8-7.68 20.48v128c0 17.6 14.4 32 32 32h74.24l155.84 124.48c2.88 2.24 6.4 3.52 9.92 3.52 2.24 0 4.8-.64 7.04-1.6 5.44-2.56 8.96-8.32 8.96-14.4v-57.376l68.672 68.672c3.136 3.136 7.232 4.704 11.328 4.704s8.192-1.568 11.328-4.672c6.24-6.272 6.24-16.384 0-22.656z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path></g></svg>';var An=class extends be{constructor(){super(...arguments);this.html=()=>`
|
|
3265
|
+
extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"").replace(/\n/g,"");let s=o.split(",").map(l=>l.trim()).join(",");return JSON.parse(s)}async generateMarkdown(n,t){return this.instruct("Generate a Markdown document based on the input text. Always include a header on every response. Give long detailed answers with many paragraphs, and explain concepts step by step.",n,t)}async instruct(n,t,i){let r=this.ai.clone();return r.resetConversation(),r.getContextPrefix=async()=>n,i&&r.addEventListener("output",o=>{i(o.detail.message)}),await r.sendMessage(t)}};var Ae=new q("Main"),Tn=class Tn extends EventTarget{constructor(){super(...arguments);this.conversationID=Te();this.knowledgeBase=new kn(this);this._lastKBsearch="";this.models=[];this.audio=null;this.apiKey="";this.logic=new wn(this);this.userID=Ca();this.extra=$().extra||{};this.hubAPI="https://intelliweave.ai/api";this._lastSystemMsg="";this.isProcessing=!1}get loaded(){return!!(this.config&&this.currentModel)}async load(t){if(this.apiKey=t,!t)throw new Error("API key is required to load the AI.");try{await Promise.all([(async()=>{Ae.debug("Loading configuration...");let i=await fetch(this.hubAPI+"/config/get",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:t})});if(!i.ok)throw new Error(`Failed to load configuration: ${i.status} ${i.statusText}`);try{this.config=await i.json(),Ae.debug("Config loaded successfully:",this.config),this.config&&Ae.debug("UI Properties - logo:",this.config.logo,"background:",this.config.background,"textColor:",this.config.textColor)}catch(r){Ae.error("Failed to parse JSON response:",r);try{let a=await i.clone().text();Ae.error("Raw response that failed parsing:",a)}catch{Ae.error("Could not get raw response text either")}throw new Error(`Failed to parse configuration: ${r}`)}})(),(async()=>{try{let i=await fetch("https://cdn.intelliweave.ai/models/silero_vad_3.onnx");if(!i.ok)throw new Error(`Failed to load VAD model: ${i.status} ${i.statusText}`);this.vadModel=await i.blob()}catch(i){Ae.warn(`Failed to load VAD model, some features will be unavailable. ${i.message}`)}})()]),this.models=[{id:this.config.id,config:this.config.model}],this.setModel(this.config.id);for(let i of this.config.knowledge||[])i.url&&this.knowledgeBase.registerSourceFromURL(i.url);for(let i of this.config.knowledge||[])i.entries?.length&&this.knowledgeBase.registerSource(i.id,()=>i.entries||[]);return this.resetConversation(),this.dispatchEvent(new CustomEvent("load",{detail:{ai:this}})),typeof window<"u"&&window.dispatchEvent(new CustomEvent("webweaver_loaded",{detail:{ai:this}})),this.config}catch(i){throw Ae.warn("Failed to load:",i),this.error=i,this.dispatchEvent(new CustomEvent("error",{detail:{ai:this,error:i}})),typeof window<"u"&&window.dispatchEvent(new CustomEvent("webweaver_error",{detail:{ai:this,error:i}})),i}}setModel(t){let i=this.models.find(r=>r.id==t);if(!i)throw new Error(`Model with ID "${t}" not found.`);this.currentModel=new Sn({...i.config,systemMessage:"",onBeforeMessageProcessing:this.onBeforeMessageProcessing.bind(this),onAIMessage:this.processIncomingMessage.bind(this),onAIToolStart:(r,a)=>{let o=this.knowledgeBase.getCachedEntry(r);this.onAIToolStart?.(o?.id||r,a)}}),this.currentModel.id=i.id,this.currentModel.metadata=i}async getContextPrefix(){let t=$().pageSummary||`You are ${this.config?.name||"IntelliWeave"}. ${this.config?.instructions||"Speak in short sentences."}`;return typeof t=="function"&&(t=await t()),t}async onBeforeMessageProcessing(){this._lastKBsearch||(this._lastKBsearch="__intelliweaveblanksearchforcontextitems__");let t=await this.getContextPrefix();this.currentModel.contextGroup.add({id:"_iw_main",sortOrder:1,cannotRemove:!0,content:t}),this.currentModel.contextGroup.add({id:"_iw_kb_description",sortOrder:100,cannotRemove:!0,content:'You have access to a database of knowledge base items. These include "info" type items which provide information and "tour" type items which contain instructions you should follow (only do one item at a time). Current info and tour items:'});let i=this._nextRequestUseKBitems||await this.knowledgeBase.search(this._lastKBsearch);this._nextRequestUseKBitems=void 0;for(let a of i)if(a.type=="info"||a.type=="tour"||a.type=="input-event")this.currentModel.contextGroup.add({id:a.id,customData:a,cannotRemove:a.isContext,sortOrder:101,disabled:a.disabled,content:JSON.stringify({id:a.id,type:a.type,name:a.name,content:Oi(typeof a.content=="function"?a.content():a.content)})+`
|
|
3266
|
+
`});else if(a.type=="action"){let o={name:a._functionID,description:Oi(typeof a.content=="function"?a.content():a.content),params:a.parameters||[{name:"value",type:"string",description:"Input"}],removeFromMessageHistory:!!a.removeFromMessageHistory,callback:s=>this.toolRunKBAction(a,s),kb:a};this.currentModel.toolGroup.add({id:a._functionID,customData:o,cannotRemove:a.isContext,sortOrder:101,disabled:a.disabled,content:JSON.stringify(o)})}else continue;let r=this.currentModel.contextGroup.getAllAsString();this._lastSystemMsg!=r&&(this._lastSystemMsg=r,this.submitAnalyticsEvent({type:"system-msg",txt:r}))}processIncomingMessage(t,i){i||this.submitAnalyticsEvent({type:"message",role:"assistant",message:t});let r="";this._lastOutput===void 0?(r=t,this._lastOutput=t):t.startsWith(this._lastOutput)?(r=t.substring(this._lastOutput.length),this._lastOutput=t):(Ae.warn("Message was changed during chunking. This should not happen.",t,this._lastOutput),r=t,this._lastOutput=t),i||(this._lastOutput=void 0),this.dispatchEvent(new CustomEvent("output",{detail:{ai:this,isChunk:i,message:t,messageChunk:r}})),this.onAIMessage?.(t,!!i)}async sendMessage(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");if(this.isProcessing)return Ae.warn("Cannot send message while another message is being processed."),null;this.isProcessing=!0;try{return this.submitAnalyticsEvent({type:"message",role:"user",message:t}),this.dispatchEvent(new CustomEvent("input",{detail:{ai:this,message:t}})),await this.currentModel.sendMessage(t)}finally{this.isProcessing=!1}}async toolRunKBAction(t,i){try{this.dispatchEvent(new CustomEvent("toolstart",{detail:{knowledgeBaseEntry:t,input:i,ai:this}}));let r=await t.action(i,this);return this.submitAnalyticsEvent({type:"action",action:t.id,value:i,result:r}),this.dispatchEvent(new CustomEvent("tool",{detail:{knowledgeBaseEntry:t,input:i,ai:this,result:r}})),r}catch(r){throw this.submitAnalyticsEvent({type:"action",action:t.id,value:i,error:r.message}),this.dispatchEvent(new CustomEvent("tool",{detail:{knowledgeBaseEntry:t,input:i,ai:this,error:r}})),r}}submitAnalyticsEvent(t){$().analytics===!1||this.config?.analytics===!1||fetch(this.hubAPI+"/analytics/post",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,apiKey:this.apiKey,time:Date.now(),conversationID:this.conversationID,personaID:this.config?.id})}).catch(i=>{Ae.debug("Failed to submit analytics event:",i)})}resetConversation(){this.currentModel&&(this.currentModel.resetConversation(),this.conversationID=Te(),this._lastSystemMsg="")}insertAssistantMessage(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");let i={role:"assistant",content:t};this.currentModel.messageGroup.add({id:Te(),content:JSON.stringify(i),customData:i})}exportState(){return{type:"intelliweave/state/v1",conversationID:this.conversationID,messages:this.currentModel?.messageGroup.getAll().map(t=>t.customData)}}importState(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");if(t?.type!="intelliweave/state/v1")throw new Error(`Invalid state type: ${t.type}`);this.conversationID=t.conversationID;for(let i of t.messages)this.currentModel.messageGroup.add({id:Te(),content:JSON.stringify(i),customData:i})}clone(){let t=new Tn;return t.apiKey=this.apiKey,t.config=this.config,t.models=this.models,this.config?.id&&t.setModel(this.config.id),t.audio=this.audio,t.vadModel=this.vadModel,t.userID=this.userID,t.extra=this.extra,t.knowledgeBase=this.knowledgeBase.clone(),t}};Tn.version=go.version;var St=Tn;var be=class extends HTMLElement{constructor(){super(...arguments);this._state={}}get root(){return this._shadow}static register(){this._isRegistered||(this._isRegistered=!0,this.tagName||(this.tagName="anonymous-component-"+this.name.toLowerCase().replace(/[^a-z0-9-]/g,"-")+"--"+Math.random().toString(36).substring(2)),window.customElements.define(this.tagName,this))}static create(t={},i=""){this.register();let r=document.createElement(this.tagName);for(let a in t)r.setAttribute(a,t[a]);return r.onBeforeCreate(),r.innerHTML=i,r}static add(t={},i=""){return this.register(),`<${this.tagName} ${Object.keys(t).map(r=>`${r}="${(t[r]+"").replaceAll('"',""")}"`).join(" ")}>${i}</${this.tagName}>`}static createElement(){return this.register(),document.createElement(this.tagName)}connectedCallback(){this._shadow||(this._shadow=this.attachShadow({mode:"closed"}),this._shadow.innerHTML=this.html(),this.onCreate()),this.onUpdate()}disconnectedCallback(){this._shadow=void 0,this.onDestroy()}html(){return""}onBeforeCreate(){}onCreate(){}onUpdate(){}onDestroy(){}attributeChangedCallback(t,i,r){this._shadow&&this.onUpdate()}get attr(){if(this._attrProxy)return this._attrProxy;let t=i=>(An=An||document.createElement("div"),An.innerText=i||"",An.innerHTML);return this._attrProxy=new Proxy({},{get:(i,r)=>t(this.getAttribute(r.toString())||""),set:(i,r,a)=>(this.getAttribute(r.toString())===a||(a?this.setAttribute(r.toString(),a):this.removeAttribute(r.toString()),this._shadow&&this.onUpdate()),!0)}),this._attrProxy}get state(){return this._stateProxy?this._stateProxy:(this._stateProxy=new Proxy({},{get:(t,i)=>this._state[i],set:(t,i,r)=>(this._state[i]=r,this._shadow&&this.onUpdate(),!0)}),this._stateProxy)}hasChild(t){return!!this.root?.getElementById(t)}child(t){let i=this.root?.getElementById(t);if(!i)throw new Error(`Child with ID ${t} not found`);return i}};be.observedAttributes=[],be.tagName="",be._isRegistered=!1;var An;var ho='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="200" height="200" style="shape-rendering: auto; display: block; " xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle cx="84" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="0.5s" calcMode="spline" keyTimes="0;1" values="10;0" keySplines="0 0.5 0.5 1" begin="0s"></animate>%0A <animate attributeName="fill" repeatCount="indefinite" dur="2s" calcMode="discrete" keyTimes="0;0.25;0.5;0.75;1" values="%23797979;%23797979;%23797979;%23797979;%23797979" begin="0s"></animate>%0A</circle><circle cx="16" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate>%0A</circle><circle cx="50" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate>%0A</circle><circle cx="84" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1s"></animate>%0A</circle><circle cx="16" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1.5s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1.5s"></animate>%0A</circle><g></g></g><!-- [ldio] generated by https://loading.io --></svg>';var fo='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 475.085 475.085" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M237.541 328.897c25.128 0 46.632-8.946 64.523-26.83 17.888-17.884 26.833-39.399 26.833-64.525V91.365c0-25.126-8.938-46.632-26.833-64.525C284.173 8.951 262.669 0 237.541 0c-25.125 0-46.632 8.951-64.524 26.84-17.893 17.89-26.838 39.399-26.838 64.525v146.177c0 25.125 8.949 46.641 26.838 64.525 17.889 17.884 39.399 26.83 64.524 26.83z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path><path d="M396.563 188.15c-3.606-3.617-7.898-5.426-12.847-5.426-4.944 0-9.226 1.809-12.847 5.426-3.613 3.616-5.421 7.898-5.421 12.845v36.547c0 35.214-12.518 65.333-37.548 90.362-25.022 25.03-55.145 37.545-90.36 37.545-35.214 0-65.334-12.515-90.365-37.545-25.028-25.022-37.541-55.147-37.541-90.362v-36.547c0-4.947-1.809-9.229-5.424-12.845-3.617-3.617-7.895-5.426-12.847-5.426s-9.235 1.809-12.85 5.426c-3.618 3.616-5.426 7.898-5.426 12.845v36.547c0 42.065 14.04 78.659 42.112 109.776 28.073 31.118 62.762 48.961 104.068 53.526v37.691h-73.089c-4.949 0-9.231 1.811-12.847 5.428-3.617 3.614-5.426 7.898-5.426 12.847 0 4.941 1.809 9.233 5.426 12.847 3.616 3.614 7.898 5.428 12.847 5.428h182.719c4.948 0 9.236-1.813 12.847-5.428 3.621-3.613 5.431-7.905 5.431-12.847 0-4.948-1.81-9.232-5.431-12.847-3.61-3.617-7.898-5.428-12.847-5.428h-73.08v-37.691c41.299-4.565 75.985-22.408 104.061-53.526 28.076-31.117 42.12-67.711 42.12-109.776v-36.547c0-4.946-1.813-9.225-5.435-12.845z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path></g></svg>';var yo='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 448.075 448.075" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M352.021 16.075c0-6.08-3.52-11.84-8.96-14.4-5.76-2.88-12.16-1.92-16.96 1.92l-141.76 112.96 167.68 167.68zM443.349 420.747l-416-416c-6.24-6.24-16.384-6.24-22.624 0s-6.24 16.384 0 22.624l100.672 100.704h-9.376c-9.92 0-18.56 4.48-24.32 11.52-4.8 5.44-7.68 12.8-7.68 20.48v128c0 17.6 14.4 32 32 32h74.24l155.84 124.48c2.88 2.24 6.4 3.52 9.92 3.52 2.24 0 4.8-.64 7.04-1.6 5.44-2.56 8.96-8.32 8.96-14.4v-57.376l68.672 68.672c3.136 3.136 7.232 4.704 11.328 4.704s8.192-1.568 11.328-4.672c6.24-6.272 6.24-16.384 0-22.656z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path></g></svg>';var Ft=class extends be{constructor(){super(...arguments);this.html=()=>`
|
|
3267
3267
|
|
|
3268
3268
|
<!-- Styling -->
|
|
3269
3269
|
<style>
|
|
@@ -3277,6 +3277,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3277
3277
|
align-items: center;
|
|
3278
3278
|
overflow: hidden;
|
|
3279
3279
|
position: relative;
|
|
3280
|
+
color: var(--intelliweave-text-color, white);
|
|
3280
3281
|
}
|
|
3281
3282
|
|
|
3282
3283
|
:host input {
|
|
@@ -3285,7 +3286,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3285
3286
|
background: none;
|
|
3286
3287
|
outline: none;
|
|
3287
3288
|
font-size: 16px;
|
|
3288
|
-
color:
|
|
3289
|
+
color: var(--intelliweave-text-color, white);
|
|
3289
3290
|
padding: 10px 16px 10px 10px;
|
|
3290
3291
|
}
|
|
3291
3292
|
|
|
@@ -3373,7 +3374,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3373
3374
|
<!-- Loader bar -->
|
|
3374
3375
|
<div id='loader'></div>
|
|
3375
3376
|
|
|
3376
|
-
`;this._wasLoading=!1;this.voiceAnimationPieces=[];this._micAnimFrameCounter=0}onCreate(){this.child("input-field").addEventListener("keypress",t=>this.onInputKeyPress(t),{capture:!0}),this.child("input-field").addEventListener("keydown",t=>t.stopPropagation(),{capture:!0}),this.child("llm-button").addEventListener("click",t=>this.onLLMButtonClick(t)),this.child("microphone-button").addEventListener("click",t=>this.onMicButtonClick(t)),this.child("cancel-speech-button").addEventListener("click",t=>this.onCancelSpeechButtonClick(t))}connectAI(t){this.ai=t,this.ai.audio?.speechRecognition.addEventListener("speech",i=>this.onSpeechEvent(i)),this.ai.audio?.speechRecognition.addEventListener("start",i=>this.onUpdate()),this.ai.audio?.speechRecognition.addEventListener("end",i=>this.onUpdate()),this.ai.audio?.speechOutput.addEventListener("speechstart",i=>this.onUpdate()),this.ai.audio?.speechOutput.addEventListener("speechend",i=>this.onUpdate()),this.onUpdate()}onUpdate(){this.child("input-field").style.display=this.attr.loading||this.ai?.audio?.speechRecognition.isRunning?"none":"",this.child("llm-button").style.display=this.attr.loading||!this.attr.llmButtonVisible||this.state.micActiv?"none":"",this.child("llm-button").innerText=this.attr.llmName||"LLM",this.child("loader").style.display=this.attr.loading?"block":"",this.child("microphone-button").style.display=!this.ai?.audio?.speechRecognition?.isSupported||this.attr.loading&&!this.ai?.audio?.speechRecognition.isRunning?"none":"",this.child("cancel-speech-button").style.display="none",this.ai?.audio?.speechRecognition.isRunning&&this.ai?.audio?.speechOutput.isSpeaking&&(this.child("microphone-button").style.display="none",this.child("cancel-speech-button").style.display=""),!this.attr.loading&&this._wasLoading&&this.child("input-field").focus(),this._wasLoading=this.attr.loading,this.child("microphone-button-bg").classList.toggle("active",!!this.ai?.audio?.speechRecognition.isRunning);let t=this.ai?.audio?.speechRecognition.isRunning&&!this.attr.loading;t&&!this.micStateAnimationTimer?this.micStateAnimationTimer=setInterval(()=>this.onMicAnimation(),1e3/60):!t&&this.micStateAnimationTimer&&(this.voiceAnimationPieces.forEach(i=>i.remove()),this.voiceAnimationPieces=[],clearInterval(this.micStateAnimationTimer),this.micStateAnimationTimer=void 0)}onInputKeyPress(t){if(t.stopPropagation(),t.key!="Enter")return;let i=this.child("input-field"),r=i.value?.trim();i.value="",r&&this.dispatchEvent(new CustomEvent("input-message",{detail:r}))}onLLMButtonClick(t){t.preventDefault(),this.dispatchEvent(new CustomEvent("llm-button-click"))}onMicButtonClick(t){t.preventDefault(),this.ai.audio?.speechRecognition.isRunning?this.ai.audio?.speechRecognition.stop():this.ai.audio?.speechRecognition.start()}onMicAnimation(){if(!this.attr.loading){if(this._micAnimFrameCounter++,this._micAnimFrameCounter%5==0){let t="rgba(140, 170, 200, 0.5)";this.ai?.audio?.speechRecognition.voiceDetection?.isModelLoaded||(t="rgba(255, 0, 0, 0.5)"),this.ai?.audio?.speechRecognition.voiceDetection?.isTranscribing&&(t="rgba(96, 66, 245, 0.9)"),this.ai?.audio?.speechRecognition.wordsCurrentlyBeingSpoken&&(t="rgba(0, 128, 255, 0.9)"),this.ai?.audio?.speechRecognition.voiceDetection?.isVoicePossiblyEnding&&(t="rgba(0, 128, 255, 0.5)"),this.ai?.isProcessing&&(t="rgba(255, 255, 0, 0.5)"),this.ai?.audio?.speechOutput.isSpeaking&&(t="rgba(0, 255, 0, 0.5)");let i=this.ai?.audio?.speechRecognition.volumeLevel||0,r=30,a=6,o=Math.round(i*(r-a)+a),s=document.createElement("div");s.posX=50,s.style.cssText=`position: absolute; top: calc(50% - ${o}px/2); left: 0px; width: 6px; height: ${o}px; background-color: ${t}; border-radius: 3px; pointer-events: none; `,this.root?.appendChild(s),this.voiceAnimationPieces.push(s)}for(let t=0;t<this.voiceAnimationPieces.length;t++){let i=this.voiceAnimationPieces[t];i.posX+=2,i.style.transform=`translate(${i.posX}px, 0px)`,!(i.posX<400)&&(this.voiceAnimationPieces.splice(t--,1),i.remove())}}}onSpeechEvent(t){this.attr.loading||t.detail.isFinal&&this.dispatchEvent(new CustomEvent("input-message",{detail:t.detail.transcript}))}onCancelSpeechButtonClick(t){this.ai.audio?.speechOutput.interrupt(),this.onUpdate()}};var
|
|
3377
|
+
`;this._wasLoading=!1;this.voiceAnimationPieces=[];this._micAnimFrameCounter=0}onCreate(){this.child("input-field").addEventListener("keypress",t=>this.onInputKeyPress(t),{capture:!0}),this.child("input-field").addEventListener("keydown",t=>t.stopPropagation(),{capture:!0}),this.child("llm-button").addEventListener("click",t=>this.onLLMButtonClick(t)),this.child("microphone-button").addEventListener("click",t=>this.onMicButtonClick(t)),this.child("cancel-speech-button").addEventListener("click",t=>this.onCancelSpeechButtonClick(t))}connectAI(t){this.ai=t,this.ai.audio?.speechRecognition.addEventListener("speech",i=>this.onSpeechEvent(i)),this.ai.audio?.speechRecognition.addEventListener("start",i=>this.onUpdate()),this.ai.audio?.speechRecognition.addEventListener("end",i=>this.onUpdate()),this.ai.audio?.speechOutput.addEventListener("speechstart",i=>this.onUpdate()),this.ai.audio?.speechOutput.addEventListener("speechend",i=>this.onUpdate()),this.onUpdate()}onUpdate(){this.attr.textColor&&document.documentElement.style.setProperty("--intelliweave-text-color",this.attr.textColor),this.child("input-field").style.display=this.attr.loading||this.ai?.audio?.speechRecognition.isRunning?"none":"",this.child("llm-button").style.display=this.attr.loading||!this.attr.llmButtonVisible||this.state.micActiv?"none":"",this.child("llm-button").innerText=this.attr.llmName||"LLM",this.child("loader").style.display=this.attr.loading?"block":"",this.child("microphone-button").style.display=!this.ai?.audio?.speechRecognition?.isSupported||this.attr.loading&&!this.ai?.audio?.speechRecognition.isRunning?"none":"",this.child("cancel-speech-button").style.display="none",this.ai?.audio?.speechRecognition.isRunning&&this.ai?.audio?.speechOutput.isSpeaking&&(this.child("microphone-button").style.display="none",this.child("cancel-speech-button").style.display=""),!this.attr.loading&&this._wasLoading&&this.child("input-field").focus(),this._wasLoading=this.attr.loading,this.child("microphone-button-bg").classList.toggle("active",!!this.ai?.audio?.speechRecognition.isRunning);let t=this.ai?.audio?.speechRecognition.isRunning&&!this.attr.loading;t&&!this.micStateAnimationTimer?this.micStateAnimationTimer=setInterval(()=>this.onMicAnimation(),1e3/60):!t&&this.micStateAnimationTimer&&(this.voiceAnimationPieces.forEach(i=>i.remove()),this.voiceAnimationPieces=[],clearInterval(this.micStateAnimationTimer),this.micStateAnimationTimer=void 0)}onInputKeyPress(t){if(t.stopPropagation(),t.key!="Enter")return;let i=this.child("input-field"),r=i.value?.trim();i.value="",r&&this.dispatchEvent(new CustomEvent("input-message",{detail:r}))}onLLMButtonClick(t){t.preventDefault(),this.dispatchEvent(new CustomEvent("llm-button-click"))}onMicButtonClick(t){t.preventDefault(),this.ai.audio?.speechRecognition.isRunning?this.ai.audio?.speechRecognition.stop():this.ai.audio?.speechRecognition.start()}onMicAnimation(){if(!this.attr.loading){if(this._micAnimFrameCounter++,this._micAnimFrameCounter%5==0){let t="rgba(140, 170, 200, 0.5)";this.ai?.audio?.speechRecognition.voiceDetection?.isModelLoaded||(t="rgba(255, 0, 0, 0.5)"),this.ai?.audio?.speechRecognition.voiceDetection?.isTranscribing&&(t="rgba(96, 66, 245, 0.9)"),this.ai?.audio?.speechRecognition.wordsCurrentlyBeingSpoken&&(t="rgba(0, 128, 255, 0.9)"),this.ai?.audio?.speechRecognition.voiceDetection?.isVoicePossiblyEnding&&(t="rgba(0, 128, 255, 0.5)"),this.ai?.isProcessing&&(t="rgba(255, 255, 0, 0.5)"),this.ai?.audio?.speechOutput.isSpeaking&&(t="rgba(0, 255, 0, 0.5)");let i=this.ai?.audio?.speechRecognition.volumeLevel||0,r=30,a=6,o=Math.round(i*(r-a)+a),s=document.createElement("div");s.posX=50,s.style.cssText=`position: absolute; top: calc(50% - ${o}px/2); left: 0px; width: 6px; height: ${o}px; background-color: ${t}; border-radius: 3px; pointer-events: none; `,this.root?.appendChild(s),this.voiceAnimationPieces.push(s)}for(let t=0;t<this.voiceAnimationPieces.length;t++){let i=this.voiceAnimationPieces[t];i.posX+=2,i.style.transform=`translate(${i.posX}px, 0px)`,!(i.posX<400)&&(this.voiceAnimationPieces.splice(t--,1),i.remove())}}}onSpeechEvent(t){this.attr.loading||t.detail.isFinal&&this.dispatchEvent(new CustomEvent("input-message",{detail:t.detail.transcript}))}onCancelSpeechButtonClick(t){this.ai.audio?.speechOutput.interrupt(),this.onUpdate()}};Ft.observedAttributes=["loading","llmName","llmButtonVisible","textColor"];var nr='data:image/svg+xml,<svg id="eLjt8NmVnoY1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 300 300" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" project-id="defaf4a7213e40159eb368f9622a2af1" export-id="e0405e7e1d4a45c0a08fbbedb06a02a8" cached="false"><defs><radialGradient id="eLjt8NmVnoY6-fill" cx="0" cy="0" r="1" spreadMethod="pad" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-58.520001 292.985 -172.197 -34.394001 203.907 57.158)"><stop id="eLjt8NmVnoY6-fill-0" offset="0%" stop-color="%232b3d43"/><stop id="eLjt8NmVnoY6-fill-1" offset="33%" stop-color="%23328897"/><stop id="eLjt8NmVnoY6-fill-2" offset="58%" stop-color="%23328897"/><stop id="eLjt8NmVnoY6-fill-3" offset="100%" stop-color="%237ebf96"/></radialGradient><radialGradient id="eLjt8NmVnoY7-fill" cx="0" cy="0" r="1.112049" spreadMethod="pad" gradientUnits="userSpaceOnUse" gradientTransform="matrix(182.129 -94.016999 94.016999 182.129 43.4553 184.626)"><stop id="eLjt8NmVnoY7-fill-0" offset="0%" stop-color="%233f2d2d"/><stop id="eLjt8NmVnoY7-fill-1" offset="28%" stop-color="%23c83b35"/><stop id="eLjt8NmVnoY7-fill-2" offset="81%" stop-color="%23f69153"/><stop id="eLjt8NmVnoY7-fill-3" offset="100%" stop-color="%23ffe388"/></radialGradient><radialGradient id="eLjt8NmVnoY9-fill" cx="0" cy="0" r="593.59" spreadMethod="pad" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.196117 0.98058 -0.578542 -0.115709 406.499077 117.274778)"><stop id="eLjt8NmVnoY9-fill-0" offset="0%" stop-color="%23252d3a"/><stop id="eLjt8NmVnoY9-fill-1" offset="60%" stop-color="%23c50"/><stop id="eLjt8NmVnoY9-fill-2" offset="100%" stop-color="%23fddc85"/></radialGradient><radialGradient id="eLjt8NmVnoY10-fill" cx="0" cy="0" r="454.77" spreadMethod="pad" gradientUnits="userSpaceOnUse" gradientTransform="translate(87.33 340.7)"><stop id="eLjt8NmVnoY10-fill-0" offset="0%" stop-color="%23002936"/><stop id="eLjt8NmVnoY10-fill-1" offset="44%" stop-color="%23007aa1"/><stop id="eLjt8NmVnoY10-fill-2" offset="67%" stop-color="%2326ab7f"/><stop id="eLjt8NmVnoY10-fill-3" offset="100%" stop-color="%2395e0c8"/></radialGradient></defs><g transform="matrix(.339855 0 0 0.339855 65.056641 64.89012)"><path d="M337.93,111.85c17.31-4.12,30.6-2.15,38.55,5.96c12.9,13.16,10.13,41.58-7.64,77.95-34.66,70.98-116.01,153.37-181.35,183.6-4.15,1.92-8.16,3.6-12.02,5.03l.05.18C83.95,418.36,13.7,365.53,1.49,278.27C15.34,403.24,121.28,500.43,249.94,500.43c138.07,0,250-111.93,250-250c0-9.8-.58-19.46-1.68-28.96-12-82.27-75.81-133.5-160.33-109.62Z" fill="url(%23eLjt8NmVnoY9-fill)"/><path d="M249.94,0.43c-138.07,0-250,111.93-250,250c0,9.41.54,18.69,1.55,27.84C13.7,365.54,83.95,418.36,175.52,384.58l-.05-.18c-11.22,4.17-21.17,6.24-29.61,6.24-9.59,0-17.18-2.67-22.44-8.03-12.9-13.19-10.13-41.61,7.64-77.98c18.26-37.41,49.51-77.98,84.51-112.41c31.45-32.33,62.2-54.66,91.14-68.47.16-.08.34-.16.49-.23c1.74-.85,3.47-1.68,5.18-2.49c9.22-4.27,17.77-7.33,25.54-9.17c84.52-23.88,148.33,27.35,160.33,109.62C483.91,97.04,378.22,0.43,249.94,0.43Z" fill="url(%23eLjt8NmVnoY10-fill)"/><path d="M337.93,111.85c-7.77,1.84-16.32,4.9-25.54,9.17-1.71.8-3.45,1.63-5.18,2.49-.16.08-.34.16-.49.23-28.94,13.81-59.69,36.14-91.14,68.47-35,34.43-66.24,75-84.51,112.41-17.77,36.37-20.54,64.79-7.64,77.98c5.26,5.36,12.85,8.03,22.44,8.03c8.45,0,18.39-2.07,29.61-6.24c3.86-1.42,7.88-3.11,12.02-5.03c65.34-30.23,146.68-112.62,181.35-183.6c17.77-36.37,20.54-64.79,7.64-77.95-7.95-8.11-21.24-10.08-38.55-5.96h-.01Z" fill="%23252d3a"/></g></svg>%0D%0A';var Gt=class extends be{constructor(){super(...arguments);this.html=()=>`
|
|
3377
3378
|
|
|
3378
3379
|
<!-- Styling -->
|
|
3379
3380
|
<style>
|
|
@@ -3401,17 +3402,28 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3401
3402
|
100% { transform: translate(0px, -2px); }
|
|
3402
3403
|
}
|
|
3403
3404
|
|
|
3405
|
+
#root #web-weaver-logo {
|
|
3406
|
+
position: absolute;
|
|
3407
|
+
width: 100%;
|
|
3408
|
+
height: 100%;
|
|
3409
|
+
top: 0px;
|
|
3410
|
+
left: 0px;
|
|
3411
|
+
background-color: var(--intelliweave-background-color, #21262c);
|
|
3412
|
+
border-radius:50%;
|
|
3413
|
+
z-index:999;
|
|
3414
|
+
}
|
|
3415
|
+
|
|
3404
3416
|
</style>
|
|
3405
3417
|
|
|
3406
3418
|
<!-- Logo -->
|
|
3407
|
-
<img id='root' src='${this.attr.logo||
|
|
3419
|
+
<img id='root' src='${this.attr.logo||nr}' />
|
|
3408
3420
|
|
|
3409
|
-
`;this._lastLogoSrc=""}onCreate(){this.layoutUpdateTimer=setInterval(()=>this.onUpdate(),250)}onDestroy(){clearInterval(this.layoutUpdateTimer)}onUpdate(){let t=this.child("root");if(!t)return;let i=this.attr.logo||tr;this._lastLogoSrc!=i&&(this._lastLogoSrc=i,t.src=i);let r=window.visualViewport?.offsetTop||0,a=window.visualViewport?.offsetLeft||0,o=this.attr.focusID?document.getElementById(this.attr.focusID):null;if(o){let s=o.getBoundingClientRect();if(!s)return;t.style.position="fixed",t.style.width="128px",t.style.height="128px",t.style.left=Math.round(s.x+s.width/2-128/2+a)+"px",t.style.top=Math.round(s.y+s.height/2-128/2+r)+"px"}else{let s=this.getBoundingClientRect();if(!s)return;t.style.width=s.width+"px",t.style.height=s.height+"px",t.style.left=Math.round(s.x+a)+"px",t.style.top=Math.round(s.y+r)+"px"}}refreshLayout(){setTimeout(()=>this.onUpdate(),100)}};Ft.observedAttributes=["logo","focusID"];var bo=typeof self=="object"?self:globalThis,Nu=(e,n)=>{let t=(r,a)=>(e.set(a,r),r),i=r=>{if(e.has(r))return e.get(r);let[a,o]=n[r];switch(a){case 0:case-1:return t(o,r);case 1:{let s=t([],r);for(let l of o)s.push(i(l));return s}case 2:{let s=t({},r);for(let[l,c]of o)s[i(l)]=i(c);return s}case 3:return t(new Date(o),r);case 4:{let{source:s,flags:l}=o;return t(new RegExp(s,l),r)}case 5:{let s=t(new Map,r);for(let[l,c]of o)s.set(i(l),i(c));return s}case 6:{let s=t(new Set,r);for(let l of o)s.add(i(l));return s}case 7:{let{name:s,message:l}=o;return t(new bo[s](l),r)}case 8:return t(BigInt(o),r);case"BigInt":return t(Object(BigInt(o)),r)}return t(new bo[a](o),r)};return i},ar=e=>Nu(new Map,e)(0);var Et="",{toString:Lu}={},{keys:Mu}=Object,Ht=e=>{let n=typeof e;if(n!=="object"||!e)return[0,n];let t=Lu.call(e).slice(8,-1);switch(t){case"Array":return[1,Et];case"Object":return[2,Et];case"Date":return[3,Et];case"RegExp":return[4,Et];case"Map":return[5,Et];case"Set":return[6,Et]}return t.includes("Array")?[1,t]:t.includes("Error")?[7,t]:[2,t]},Dn=([e,n])=>e===0&&(n==="function"||n==="symbol"),Ou=(e,n,t,i)=>{let r=(o,s)=>{let l=i.push(o)-1;return t.set(s,l),l},a=o=>{if(t.has(o))return t.get(o);let[s,l]=Ht(o);switch(s){case 0:{let u=o;switch(l){case"bigint":s=8,u=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);u=null;break;case"undefined":return r([-1],o)}return r([s,u],o)}case 1:{if(l)return r([l,[...o]],o);let u=[],d=r([s,u],o);for(let m of o)u.push(a(m));return d}case 2:{if(l)switch(l){case"BigInt":return r([l,o.toString()],o);case"Boolean":case"Number":case"String":return r([l,o.valueOf()],o)}if(n&&"toJSON"in o)return a(o.toJSON());let u=[],d=r([s,u],o);for(let m of Mu(o))(e||!Dn(Ht(o[m])))&&u.push([a(m),a(o[m])]);return d}case 3:return r([s,o.toISOString()],o);case 4:{let{source:u,flags:d}=o;return r([s,{source:u,flags:d}],o)}case 5:{let u=[],d=r([s,u],o);for(let[m,p]of o)(e||!(Dn(Ht(m))||Dn(Ht(p))))&&u.push([a(m),a(p)]);return d}case 6:{let u=[],d=r([s,u],o);for(let m of o)(e||!Dn(Ht(m)))&&u.push(a(m));return d}}let{message:c}=o;return r([s,{name:l,message:c}],o)};return a},or=(e,{json:n,lossy:t}={})=>{let i=[];return Ou(!(n||t),!!n,new Map,i)(e),i};var Re=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ar(or(e,n)):structuredClone(e):(e,n)=>ar(or(e,n));var Pe=function(e,n,t,i,r){let a=De(n);if(t!=null&&(typeof t!="number"||t<0||t===Number.POSITIVE_INFINITY))throw new Error("Expected positive finite `index`");if(i!=null&&(!i.type||!i.children))throw new Error("Expected valid `parent`");if(t==null!=(i==null))throw new Error("Expected both `index` and `parent`");return vo(e)?a.call(r,e,t,i):!1},De=function(e){if(e==null)return Gu;if(typeof e=="string")return Fu(e);if(typeof e=="object")return Bu(e);if(typeof e=="function")return sr(e);throw new Error("Expected function, string, or array as `test`")};function Bu(e){let n=[],t=-1;for(;++t<e.length;)n[t]=De(e[t]);return sr(i);function i(...r){let a=-1;for(;++a<n.length;)if(n[a].apply(this,r))return!0;return!1}}function Fu(e){return sr(n);function n(t){return t.tagName===e}}function sr(e){return n;function n(t,i,r){return!!(vo(t)&&e.call(this,t,typeof i=="number"?i:void 0,r||void 0))}}function Gu(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function vo(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}var zu=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,Uu=/^[a-zA-Z]:\\/;function lr(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return Uu.test(e)?!1:zu.test(e)}function _o(e){let n=String(e||"").trim();return n?n.split(/[ \t\n\r\f]+/g):[]}function So(e){return e.join(" ").trim()}var Ct=function(e){if(e==null)return ju;if(typeof e=="function")return Nn(e);if(typeof e=="object")return Array.isArray(e)?Hu(e):Vu(e);if(typeof e=="string")return Wu(e);throw new Error("Expected function, string, or object as test")};function Hu(e){let n=[],t=-1;for(;++t<e.length;)n[t]=Ct(e[t]);return Nn(i);function i(...r){let a=-1;for(;++a<n.length;)if(n[a].apply(this,r))return!0;return!1}}function Vu(e){let n=e;return Nn(t);function t(i){let r=i,a;for(a in e)if(r[a]!==n[a])return!1;return!0}}function Wu(e){return Nn(n);function n(t){return t&&t.type===e}}function Nn(e){return n;function n(t,i,r){return!!(qu(t)&&e.call(this,t,typeof i=="number"?i:void 0,r||void 0))}}function ju(){return!0}function qu(e){return e!==null&&typeof e=="object"&&"type"in e}var Eo=[],cr=!0,Ln=!1,Vt="skip";function Wt(e,n,t,i){let r;typeof n=="function"&&typeof t!="function"?(i=t,t=n):r=n;let a=Ct(r),o=i?-1:1;s(e,void 0,[])();function s(l,c,u){let d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){let p=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(l.type+(p?"<"+p+">":""))+")"})}return m;function m(){let p=Eo,f,_,E;if((!n||a(l,c,u[u.length-1]||void 0))&&(p=Ku(t(l,u)),p[0]===Ln))return p;if("children"in l&&l.children){let y=l;if(y.children&&p[0]!==Vt)for(_=(i?y.children.length:-1)+o,E=u.concat(y);_>-1&&_<y.children.length;){let T=y.children[_];if(f=s(T,_,E)(),f[0]===Ln)return f;_=typeof f[1]=="number"?f[1]:_+o}}return p}}}function Ku(e){return Array.isArray(e)?e:typeof e=="number"?[cr,e]:e==null?Eo:[e]}function jt(e,n,t,i){let r,a,o;typeof n=="function"&&typeof t!="function"?(a=void 0,o=n,r=t):(a=n,o=t,r=i),Wt(e,a,s,r);function s(l,c){let u=c[c.length-1],d=u?u.children.indexOf(l):void 0;return o(l,d,u)}}var Xu=["http","https"],Yu=["nofollow"],Ju={};function Mn(e){let n=e||Ju,t=n.protocols||Xu,i=De(n.test);return function(r){jt(r,"element",function(a,o,s){if(a.tagName==="a"&&typeof a.properties.href=="string"&&i(a,o,s)){let l=a.properties.href;if(lr(l)?t.includes(l.slice(0,l.indexOf(":"))):l.startsWith("//")){let c=qt(n.content,a),u=c&&!Array.isArray(c)?[c]:c,d=qt(n.rel,a)||Yu,m=typeof d=="string"?_o(d):d,p=qt(n.target,a),f=qt(n.properties,a);if(f&&Object.assign(a.properties,Re(f)),m.length>0&&(a.properties.rel=[...m]),p&&(a.properties.target=p),u){let _=qt(n.contentProperties,a)||{};a.children.push({type:"element",tagName:"span",properties:Re(_),children:Re(u)})}}}})}}function qt(e,n){return typeof e=="function"?e(n):e}var nt=De(function(e){return e.tagName==="audio"||e.tagName==="canvas"||e.tagName==="embed"||e.tagName==="iframe"||e.tagName==="img"||e.tagName==="math"||e.tagName==="object"||e.tagName==="picture"||e.tagName==="svg"||e.tagName==="video"});var Zu={}.hasOwnProperty;function ur(e,n){let t=e.type==="element"&&Zu.call(e.properties,n)&&e.properties[n];return t!=null&&t!==!1}var $u=new Set(["pingback","prefetch","stylesheet"]);function dr(e){if(e.type!=="element"||e.tagName!=="link")return!1;if(e.properties.itemProp)return!0;let n=e.properties.rel,t=-1;if(!Array.isArray(n)||n.length===0)return!1;for(;++t<n.length;)if(!$u.has(String(n[t])))return!1;return!0}var Qu=De(["a","abbr","area","b","bdi","bdo","br","button","cite","code","data","datalist","del","dfn","em","i","input","ins","kbd","keygen","label","map","mark","meter","noscript","output","progress","q","ruby","s","samp","script","select","small","span","strong","sub","sup","template","textarea","time","u","var","wbr"]),ed=De("meta");function pr(e){return!!(e.type==="text"||Qu(e)||nt(e)||dr(e)||ed(e)&&ur(e,"itemProp"))}var td=/[ \t\n\f\r]/g;function ve(e){return typeof e=="object"?e.type==="text"?Co(e.value):!1:Co(e)}function Co(e){return e.replace(td,"")===""}var mr=["pre","script","style","textarea"];var ko=["address","article","aside","blockquote","body","br","caption","center","col","colgroup","dd","dialog","dir","div","dl","dt","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","legend","li","li","listing","main","menu","nav","ol","optgroup","option","p","plaintext","pre","section","summary","table","tbody","td","td","tfoot","th","th","thead","tr","ul","wbr","xmp"];var wo=["button","input","select","textarea"];var To=["area","base","basefont","dialog","datalist","head","link","meta","noembed","noframes","param","rp","script","source","style","template","track","title"];var nd={},gr=Ct(["doctype","comment"]);function On(e){let t=cd((e||nd).newlines?sd:ld);return function(i){xo(i,{collapse:t,whitespace:"normal"})}}function xo(e,n){if("children"in e){let t={...n};return(e.type==="root"||Po(e))&&(t.before=!0,t.after=!0),t.whitespace=ud(e,n),rd(e,t)}if(e.type==="text"){if(n.whitespace==="normal")return id(e,n);n.whitespace==="nowrap"&&(e.value=n.collapse(e.value))}return{ignore:gr(e),stripAtStart:!1,remove:!1}}function id(e,n){let t=n.collapse(e.value),i={ignore:!1,stripAtStart:!1,remove:!1},r=0,a=t.length;return n.before&&Ao(t.charAt(0))&&r++,r!==a&&Ao(t.charAt(a-1))&&(n.after?a--:i.stripAtStart=!0),r===a?i.remove=!0:e.value=t.slice(r,a),i}function rd(e,n){let t=n.before,i=n.after,r=e.children,a=r.length,o=-1;for(;++o<a;){let s=xo(r[o],{...n,after:Io(r,o,i),before:t});s.remove?(r.splice(o,1),o--,a--):s.ignore||(t=s.stripAtStart),Ro(r[o])&&(t=!1)}return{ignore:!1,stripAtStart:!!(t||i),remove:!1}}function Io(e,n,t){for(;++n<e.length;){let i=e[n],r=ad(i);if(r===void 0&&"children"in i&&!od(i)&&(r=Io(i.children,-1)),typeof r=="boolean")return r}return t}function ad(e){if(e.type==="element"){if(Ro(e))return!1;if(Po(e))return!0}else if(e.type==="text"){if(!ve(e))return!1}else if(!gr(e))return!1}function Ro(e){return nt(e)||Pe(e,wo)}function Po(e){return Pe(e,ko)}function od(e){return!!(e.type==="element"&&e.properties.hidden)||gr(e)||Pe(e,To)}function Ao(e){return e===" "||e===`
|
|
3410
|
-
`}function sd(e){let n=/\r?\n|\r/.exec(e);return n?n[0]:" "}function ld(){return" "}function cd(e){return n;function n(t){return String(t).replace(/[\t\n\v\f\r ]+/g,e)}}function ud(e,n){if("tagName"in e&&e.properties)switch(e.tagName){case"listing":case"plaintext":case"script":case"style":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return e.properties.wrap?"pre-wrap":"pre";case"td":case"th":return e.properties.noWrap?"nowrap":n.whitespace;case"textarea":return"pre-wrap";default:}return n.whitespace}var dd={},pd=On({newlines:!0});function Bn(e){let n=e||dd,t=n.indent||2,i=n.indentInitial;return typeof t=="number"&&(t=" ".repeat(t)),i==null&&(i=!0),function(o){let s;pd(o),
|
|
3411
|
-
`)&&(p=!0),E.value=E.value.replace(/ *\n/g,"$&"+String(t).repeat(m)))}let f=[],_;for(u=-1;++u<d.length;){let E=d[u];(
|
|
3421
|
+
`;this._lastLogoSrc=""}onCreate(){this.layoutUpdateTimer=setInterval(()=>this.onUpdate(),250)}onDestroy(){clearInterval(this.layoutUpdateTimer)}onUpdate(){let t=this.child("root");if(!t)return;let i=this.attr.logo||nr;this._lastLogoSrc!=i&&(this._lastLogoSrc=i,t.src=i);let r=window.visualViewport?.offsetTop||0,a=window.visualViewport?.offsetLeft||0,o=this.attr.focusID?document.getElementById(this.attr.focusID):null;if(o){let s=o.getBoundingClientRect();if(!s)return;t.style.position="fixed",t.style.width="128px",t.style.height="128px",t.style.left=Math.round(s.x+s.width/2-128/2+a)+"px",t.style.top=Math.round(s.y+s.height/2-128/2+r)+"px"}else{let s=this.getBoundingClientRect();if(!s)return;t.style.width=s.width+"px",t.style.height=s.height+"px",t.style.left=Math.round(s.x+a)+"px",t.style.top=Math.round(s.y+r)+"px"}}refreshLayout(){setTimeout(()=>this.onUpdate(),100)}};Gt.observedAttributes=["logo","focusID"];var bo=typeof self=="object"?self:globalThis,Nu=(e,n)=>{let t=(r,a)=>(e.set(a,r),r),i=r=>{if(e.has(r))return e.get(r);let[a,o]=n[r];switch(a){case 0:case-1:return t(o,r);case 1:{let s=t([],r);for(let l of o)s.push(i(l));return s}case 2:{let s=t({},r);for(let[l,c]of o)s[i(l)]=i(c);return s}case 3:return t(new Date(o),r);case 4:{let{source:s,flags:l}=o;return t(new RegExp(s,l),r)}case 5:{let s=t(new Map,r);for(let[l,c]of o)s.set(i(l),i(c));return s}case 6:{let s=t(new Set,r);for(let l of o)s.add(i(l));return s}case 7:{let{name:s,message:l}=o;return t(new bo[s](l),r)}case 8:return t(BigInt(o),r);case"BigInt":return t(Object(BigInt(o)),r)}return t(new bo[a](o),r)};return i},or=e=>Nu(new Map,e)(0);var Et="",{toString:Lu}={},{keys:Mu}=Object,Vt=e=>{let n=typeof e;if(n!=="object"||!e)return[0,n];let t=Lu.call(e).slice(8,-1);switch(t){case"Array":return[1,Et];case"Object":return[2,Et];case"Date":return[3,Et];case"RegExp":return[4,Et];case"Map":return[5,Et];case"Set":return[6,Et]}return t.includes("Array")?[1,t]:t.includes("Error")?[7,t]:[2,t]},Dn=([e,n])=>e===0&&(n==="function"||n==="symbol"),Ou=(e,n,t,i)=>{let r=(o,s)=>{let l=i.push(o)-1;return t.set(s,l),l},a=o=>{if(t.has(o))return t.get(o);let[s,l]=Vt(o);switch(s){case 0:{let u=o;switch(l){case"bigint":s=8,u=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);u=null;break;case"undefined":return r([-1],o)}return r([s,u],o)}case 1:{if(l)return r([l,[...o]],o);let u=[],d=r([s,u],o);for(let m of o)u.push(a(m));return d}case 2:{if(l)switch(l){case"BigInt":return r([l,o.toString()],o);case"Boolean":case"Number":case"String":return r([l,o.valueOf()],o)}if(n&&"toJSON"in o)return a(o.toJSON());let u=[],d=r([s,u],o);for(let m of Mu(o))(e||!Dn(Vt(o[m])))&&u.push([a(m),a(o[m])]);return d}case 3:return r([s,o.toISOString()],o);case 4:{let{source:u,flags:d}=o;return r([s,{source:u,flags:d}],o)}case 5:{let u=[],d=r([s,u],o);for(let[m,p]of o)(e||!(Dn(Vt(m))||Dn(Vt(p))))&&u.push([a(m),a(p)]);return d}case 6:{let u=[],d=r([s,u],o);for(let m of o)(e||!Dn(Vt(m)))&&u.push(a(m));return d}}let{message:c}=o;return r([s,{name:l,message:c}],o)};return a},sr=(e,{json:n,lossy:t}={})=>{let i=[];return Ou(!(n||t),!!n,new Map,i)(e),i};var Pe=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?or(sr(e,n)):structuredClone(e):(e,n)=>or(sr(e,n));var De=function(e,n,t,i,r){let a=Ne(n);if(t!=null&&(typeof t!="number"||t<0||t===Number.POSITIVE_INFINITY))throw new Error("Expected positive finite `index`");if(i!=null&&(!i.type||!i.children))throw new Error("Expected valid `parent`");if(t==null!=(i==null))throw new Error("Expected both `index` and `parent`");return vo(e)?a.call(r,e,t,i):!1},Ne=function(e){if(e==null)return Gu;if(typeof e=="string")return Fu(e);if(typeof e=="object")return Bu(e);if(typeof e=="function")return lr(e);throw new Error("Expected function, string, or array as `test`")};function Bu(e){let n=[],t=-1;for(;++t<e.length;)n[t]=Ne(e[t]);return lr(i);function i(...r){let a=-1;for(;++a<n.length;)if(n[a].apply(this,r))return!0;return!1}}function Fu(e){return lr(n);function n(t){return t.tagName===e}}function lr(e){return n;function n(t,i,r){return!!(vo(t)&&e.call(this,t,typeof i=="number"?i:void 0,r||void 0))}}function Gu(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function vo(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}var zu=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,Uu=/^[a-zA-Z]:\\/;function cr(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return Uu.test(e)?!1:zu.test(e)}function _o(e){let n=String(e||"").trim();return n?n.split(/[ \t\n\r\f]+/g):[]}function So(e){return e.join(" ").trim()}var Ct=function(e){if(e==null)return ju;if(typeof e=="function")return Nn(e);if(typeof e=="object")return Array.isArray(e)?Hu(e):Vu(e);if(typeof e=="string")return Wu(e);throw new Error("Expected function, string, or object as test")};function Hu(e){let n=[],t=-1;for(;++t<e.length;)n[t]=Ct(e[t]);return Nn(i);function i(...r){let a=-1;for(;++a<n.length;)if(n[a].apply(this,r))return!0;return!1}}function Vu(e){let n=e;return Nn(t);function t(i){let r=i,a;for(a in e)if(r[a]!==n[a])return!1;return!0}}function Wu(e){return Nn(n);function n(t){return t&&t.type===e}}function Nn(e){return n;function n(t,i,r){return!!(qu(t)&&e.call(this,t,typeof i=="number"?i:void 0,r||void 0))}}function ju(){return!0}function qu(e){return e!==null&&typeof e=="object"&&"type"in e}var Eo=[],ur=!0,Ln=!1,Wt="skip";function jt(e,n,t,i){let r;typeof n=="function"&&typeof t!="function"?(i=t,t=n):r=n;let a=Ct(r),o=i?-1:1;s(e,void 0,[])();function s(l,c,u){let d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){let p=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(l.type+(p?"<"+p+">":""))+")"})}return m;function m(){let p=Eo,f,_,E;if((!n||a(l,c,u[u.length-1]||void 0))&&(p=Ku(t(l,u)),p[0]===Ln))return p;if("children"in l&&l.children){let y=l;if(y.children&&p[0]!==Wt)for(_=(i?y.children.length:-1)+o,E=u.concat(y);_>-1&&_<y.children.length;){let T=y.children[_];if(f=s(T,_,E)(),f[0]===Ln)return f;_=typeof f[1]=="number"?f[1]:_+o}}return p}}}function Ku(e){return Array.isArray(e)?e:typeof e=="number"?[ur,e]:e==null?Eo:[e]}function qt(e,n,t,i){let r,a,o;typeof n=="function"&&typeof t!="function"?(a=void 0,o=n,r=t):(a=n,o=t,r=i),jt(e,a,s,r);function s(l,c){let u=c[c.length-1],d=u?u.children.indexOf(l):void 0;return o(l,d,u)}}var Xu=["http","https"],Yu=["nofollow"],Ju={};function Mn(e){let n=e||Ju,t=n.protocols||Xu,i=Ne(n.test);return function(r){qt(r,"element",function(a,o,s){if(a.tagName==="a"&&typeof a.properties.href=="string"&&i(a,o,s)){let l=a.properties.href;if(cr(l)?t.includes(l.slice(0,l.indexOf(":"))):l.startsWith("//")){let c=Kt(n.content,a),u=c&&!Array.isArray(c)?[c]:c,d=Kt(n.rel,a)||Yu,m=typeof d=="string"?_o(d):d,p=Kt(n.target,a),f=Kt(n.properties,a);if(f&&Object.assign(a.properties,Pe(f)),m.length>0&&(a.properties.rel=[...m]),p&&(a.properties.target=p),u){let _=Kt(n.contentProperties,a)||{};a.children.push({type:"element",tagName:"span",properties:Pe(_),children:Pe(u)})}}}})}}function Kt(e,n){return typeof e=="function"?e(n):e}var nt=Ne(function(e){return e.tagName==="audio"||e.tagName==="canvas"||e.tagName==="embed"||e.tagName==="iframe"||e.tagName==="img"||e.tagName==="math"||e.tagName==="object"||e.tagName==="picture"||e.tagName==="svg"||e.tagName==="video"});var Zu={}.hasOwnProperty;function dr(e,n){let t=e.type==="element"&&Zu.call(e.properties,n)&&e.properties[n];return t!=null&&t!==!1}var $u=new Set(["pingback","prefetch","stylesheet"]);function pr(e){if(e.type!=="element"||e.tagName!=="link")return!1;if(e.properties.itemProp)return!0;let n=e.properties.rel,t=-1;if(!Array.isArray(n)||n.length===0)return!1;for(;++t<n.length;)if(!$u.has(String(n[t])))return!1;return!0}var Qu=Ne(["a","abbr","area","b","bdi","bdo","br","button","cite","code","data","datalist","del","dfn","em","i","input","ins","kbd","keygen","label","map","mark","meter","noscript","output","progress","q","ruby","s","samp","script","select","small","span","strong","sub","sup","template","textarea","time","u","var","wbr"]),ed=Ne("meta");function mr(e){return!!(e.type==="text"||Qu(e)||nt(e)||pr(e)||ed(e)&&dr(e,"itemProp"))}var td=/[ \t\n\f\r]/g;function ve(e){return typeof e=="object"?e.type==="text"?Co(e.value):!1:Co(e)}function Co(e){return e.replace(td,"")===""}var gr=["pre","script","style","textarea"];var ko=["address","article","aside","blockquote","body","br","caption","center","col","colgroup","dd","dialog","dir","div","dl","dt","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","legend","li","li","listing","main","menu","nav","ol","optgroup","option","p","plaintext","pre","section","summary","table","tbody","td","td","tfoot","th","th","thead","tr","ul","wbr","xmp"];var wo=["button","input","select","textarea"];var To=["area","base","basefont","dialog","datalist","head","link","meta","noembed","noframes","param","rp","script","source","style","template","track","title"];var nd={},hr=Ct(["doctype","comment"]);function On(e){let t=cd((e||nd).newlines?sd:ld);return function(i){xo(i,{collapse:t,whitespace:"normal"})}}function xo(e,n){if("children"in e){let t={...n};return(e.type==="root"||Po(e))&&(t.before=!0,t.after=!0),t.whitespace=ud(e,n),rd(e,t)}if(e.type==="text"){if(n.whitespace==="normal")return id(e,n);n.whitespace==="nowrap"&&(e.value=n.collapse(e.value))}return{ignore:hr(e),stripAtStart:!1,remove:!1}}function id(e,n){let t=n.collapse(e.value),i={ignore:!1,stripAtStart:!1,remove:!1},r=0,a=t.length;return n.before&&Ao(t.charAt(0))&&r++,r!==a&&Ao(t.charAt(a-1))&&(n.after?a--:i.stripAtStart=!0),r===a?i.remove=!0:e.value=t.slice(r,a),i}function rd(e,n){let t=n.before,i=n.after,r=e.children,a=r.length,o=-1;for(;++o<a;){let s=xo(r[o],{...n,after:Io(r,o,i),before:t});s.remove?(r.splice(o,1),o--,a--):s.ignore||(t=s.stripAtStart),Ro(r[o])&&(t=!1)}return{ignore:!1,stripAtStart:!!(t||i),remove:!1}}function Io(e,n,t){for(;++n<e.length;){let i=e[n],r=ad(i);if(r===void 0&&"children"in i&&!od(i)&&(r=Io(i.children,-1)),typeof r=="boolean")return r}return t}function ad(e){if(e.type==="element"){if(Ro(e))return!1;if(Po(e))return!0}else if(e.type==="text"){if(!ve(e))return!1}else if(!hr(e))return!1}function Ro(e){return nt(e)||De(e,wo)}function Po(e){return De(e,ko)}function od(e){return!!(e.type==="element"&&e.properties.hidden)||hr(e)||De(e,To)}function Ao(e){return e===" "||e===`
|
|
3422
|
+
`}function sd(e){let n=/\r?\n|\r/.exec(e);return n?n[0]:" "}function ld(){return" "}function cd(e){return n;function n(t){return String(t).replace(/[\t\n\v\f\r ]+/g,e)}}function ud(e,n){if("tagName"in e&&e.properties)switch(e.tagName){case"listing":case"plaintext":case"script":case"style":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return e.properties.wrap?"pre-wrap":"pre";case"td":case"th":return e.properties.noWrap?"nowrap":n.whitespace;case"textarea":return"pre-wrap";default:}return n.whitespace}var dd={},pd=On({newlines:!0});function Bn(e){let n=e||dd,t=n.indent||2,i=n.indentInitial;return typeof t=="number"&&(t=" ".repeat(t)),i==null&&(i=!0),function(o){let s;pd(o),jt(o,function(l,c){let u=-1;if(!("children"in l))return;if(De(l,"head")&&(s=!0),s&&De(l,"body")&&(s=void 0),De(l,gr))return Wt;let d=l.children,m=c.length;if(d.length===0||!fr(l,s))return;i||m--;let p;for(;++u<d.length;){let E=d[u];(E.type==="text"||E.type==="comment")&&(E.value.includes(`
|
|
3423
|
+
`)&&(p=!0),E.value=E.value.replace(/ *\n/g,"$&"+String(t).repeat(m)))}let f=[],_;for(u=-1;++u<d.length;){let E=d[u];(fr(E,s)||p&&!u)&&(r(f,m,E),p=!0),_=E,f.push(E)}_&&(p||fr(_,s))&&(ve(_)&&(f.pop(),_=f[f.length-1]),r(f,m-1)),l.children=f})};function r(o,s,l){let c=o[o.length-1],u=c&&ve(c)?o[o.length-2]:c,d=(a(u)&&a(l)?`
|
|
3412
3424
|
|
|
3413
3425
|
`:`
|
|
3414
|
-
`)+String(t).repeat(Math.max(s,0));c&&c.type==="text"?c.value=ve(c)?d:c.value+d:o.push({type:"text",value:d})}function a(o){return!!(o&&o.type==="element"&&n.blanks&&n.blanks.length>0&&n.blanks.includes(o.tagName))}}function hr(e,n){return e.type==="root"||(e.type==="element"?n||Pe(e,"script")||nt(e)||!pr(e):!1)}var Do=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];var Fe=class{constructor(n,t,i){this.property=n,this.normal=t,i&&(this.space=i)}};Fe.prototype.property={};Fe.prototype.normal={};Fe.prototype.space=null;function fr(e,n){let t={},i={},r=-1;for(;++r<e.length;)Object.assign(t,e[r].property),Object.assign(i,e[r].normal);return new Fe(t,i,n)}function Kt(e){return e.toLowerCase()}var ue=class{constructor(n,t){this.property=n,this.attribute=t}};ue.prototype.space=null;ue.prototype.boolean=!1;ue.prototype.booleanish=!1;ue.prototype.overloadedBoolean=!1;ue.prototype.number=!1;ue.prototype.commaSeparated=!1;ue.prototype.spaceSeparated=!1;ue.prototype.commaOrSpaceSeparated=!1;ue.prototype.mustUseProperty=!1;ue.prototype.defined=!1;var Xt={};va(Xt,{boolean:()=>B,booleanish:()=>Q,commaOrSpaceSeparated:()=>he,commaSeparated:()=>Ke,number:()=>C,overloadedBoolean:()=>yr,spaceSeparated:()=>K});var md=0,B=it(),Q=it(),yr=it(),C=it(),K=it(),Ke=it(),he=it();function it(){return 2**++md}var br=Object.keys(Xt),rt=class extends ue{constructor(n,t,i,r){let a=-1;if(super(n,t),No(this,"space",r),typeof i=="number")for(;++a<br.length;){let o=br[a];No(this,br[a],(i&Xt[o])===Xt[o])}}};rt.prototype.defined=!0;function No(e,n,t){t&&(e[n]=t)}var gd={}.hasOwnProperty;function Ce(e){let n={},t={},i;for(i in e.properties)if(gd.call(e.properties,i)){let r=e.properties[i],a=new rt(i,e.transform(e.attributes||{},i),r,e.space);e.mustUseProperty&&e.mustUseProperty.includes(i)&&(a.mustUseProperty=!0),n[i]=a,t[Kt(i)]=i,t[Kt(a.attribute)]=i}return new Fe(n,t,e.space)}var vr=Ce({space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});var _r=Ce({space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Fn(e,n){return n in e?e[n]:n}function Gn(e,n){return Fn(e,n.toLowerCase())}var Sr=Ce({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:Gn,properties:{xmlns:null,xmlnsXLink:null}});var Er=Ce({transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Q,ariaAutoComplete:null,ariaBusy:Q,ariaChecked:Q,ariaColCount:C,ariaColIndex:C,ariaColSpan:C,ariaControls:K,ariaCurrent:null,ariaDescribedBy:K,ariaDetails:null,ariaDisabled:Q,ariaDropEffect:K,ariaErrorMessage:null,ariaExpanded:Q,ariaFlowTo:K,ariaGrabbed:Q,ariaHasPopup:null,ariaHidden:Q,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:K,ariaLevel:C,ariaLive:null,ariaModal:Q,ariaMultiLine:Q,ariaMultiSelectable:Q,ariaOrientation:null,ariaOwns:K,ariaPlaceholder:null,ariaPosInSet:C,ariaPressed:Q,ariaReadOnly:Q,ariaRelevant:null,ariaRequired:Q,ariaRoleDescription:K,ariaRowCount:C,ariaRowIndex:C,ariaRowSpan:C,ariaSelected:Q,ariaSetSize:C,ariaSort:null,ariaValueMax:C,ariaValueMin:C,ariaValueNow:C,ariaValueText:null,role:null}});var Lo=Ce({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:Gn,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ke,acceptCharset:K,accessKey:K,action:null,allow:null,allowFullScreen:B,allowPaymentRequest:B,allowUserMedia:B,alt:null,as:null,async:B,autoCapitalize:null,autoComplete:K,autoFocus:B,autoPlay:B,blocking:K,capture:null,charSet:null,checked:B,cite:null,className:K,cols:C,colSpan:null,content:null,contentEditable:Q,controls:B,controlsList:K,coords:C|Ke,crossOrigin:null,data:null,dateTime:null,decoding:null,default:B,defer:B,dir:null,dirName:null,disabled:B,download:yr,draggable:Q,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:B,formTarget:null,headers:K,height:C,hidden:B,high:C,href:null,hrefLang:null,htmlFor:K,httpEquiv:K,id:null,imageSizes:null,imageSrcSet:null,inert:B,inputMode:null,integrity:null,is:null,isMap:B,itemId:null,itemProp:K,itemRef:K,itemScope:B,itemType:K,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:B,low:C,manifest:null,max:null,maxLength:C,media:null,method:null,min:null,minLength:C,multiple:B,muted:B,name:null,nonce:null,noModule:B,noValidate:B,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:B,optimum:C,pattern:null,ping:K,placeholder:null,playsInline:B,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:B,referrerPolicy:null,rel:K,required:B,reversed:B,rows:C,rowSpan:C,sandbox:K,scope:null,scoped:B,seamless:B,selected:B,shadowRootClonable:B,shadowRootDelegatesFocus:B,shadowRootMode:null,shape:null,size:C,sizes:null,slot:null,span:C,spellCheck:Q,src:null,srcDoc:null,srcLang:null,srcSet:null,start:C,step:null,style:null,tabIndex:C,target:null,title:null,translate:null,type:null,typeMustMatch:B,useMap:null,value:Q,width:C,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:K,axis:null,background:null,bgColor:null,border:C,borderColor:null,bottomMargin:C,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:B,declare:B,event:null,face:null,frame:null,frameBorder:null,hSpace:C,leftMargin:C,link:null,longDesc:null,lowSrc:null,marginHeight:C,marginWidth:C,noResize:B,noHref:B,noShade:B,noWrap:B,object:null,profile:null,prompt:null,rev:null,rightMargin:C,rules:null,scheme:null,scrolling:Q,standby:null,summary:null,text:null,topMargin:C,valueType:null,version:null,vAlign:null,vLink:null,vSpace:C,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:B,disableRemotePlayback:B,prefix:null,property:null,results:C,security:null,unselectable:null}});var Mo=Ce({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Fn,properties:{about:he,accentHeight:C,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:C,amplitude:C,arabicForm:null,ascent:C,attributeName:null,attributeType:null,azimuth:C,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:C,by:null,calcMode:null,capHeight:C,className:K,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:C,diffuseConstant:C,direction:null,display:null,dur:null,divisor:C,dominantBaseline:null,download:B,dx:null,dy:null,edgeMode:null,editable:null,elevation:C,enableBackground:null,end:null,event:null,exponent:C,externalResourcesRequired:null,fill:null,fillOpacity:C,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ke,g2:Ke,glyphName:Ke,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:C,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:C,horizOriginX:C,horizOriginY:C,id:null,ideographic:C,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:C,k:C,k1:C,k2:C,k3:C,k4:C,kernelMatrix:he,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:C,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:C,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:C,overlineThickness:C,paintOrder:null,panose1:null,path:null,pathLength:C,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:K,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:C,pointsAtY:C,pointsAtZ:C,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:he,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:he,rev:he,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:he,requiredFeatures:he,requiredFonts:he,requiredFormats:he,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:C,specularExponent:C,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:C,strikethroughThickness:C,string:null,stroke:null,strokeDashArray:he,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:C,strokeOpacity:C,strokeWidth:null,style:null,surfaceScale:C,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:he,tabIndex:C,tableValues:null,target:null,targetX:C,targetY:C,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:he,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:C,underlineThickness:C,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:C,values:null,vAlphabetic:C,vMathematical:C,vectorEffect:null,vHanging:C,vIdeographic:C,version:null,vertAdvY:C,vertOriginX:C,vertOriginY:C,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:C,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}});var hd=/^data[-\w.:]+$/i,Oo=/-[a-z]/g,fd=/[A-Z]/g;function Cr(e,n){let t=Kt(n),i=n,r=ue;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&hd.test(n)){if(n.charAt(4)==="-"){let a=n.slice(5).replace(Oo,bd);i="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=n.slice(4);if(!Oo.test(a)){let o=a.replace(fd,yd);o.charAt(0)!=="-"&&(o="-"+o),n="data"+o}}r=rt}return new r(i,n)}function yd(e){return"-"+e.toLowerCase()}function bd(e){return e.charAt(1).toUpperCase()}var Bo=fr([_r,vr,Sr,Er,Lo],"html"),zn=fr([_r,vr,Sr,Er,Mo],"svg");var Fo={}.hasOwnProperty;function Go(e,n){let t=n||{};function i(r,...a){let o=i.invalid,s=i.handlers;if(r&&Fo.call(r,e)){let l=String(r[e]);o=Fo.call(s,l)?s[l]:i.unknown}if(o)return o.call(this,r,...a)}return i.handlers=t.handlers||{},i.invalid=t.invalid,i.unknown=t.unknown,i}var vd=/["&'<>`]/g,_d=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Sd=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ed=/[|\\{}()[\]^$+*?.]/g,zo=new WeakMap;function Uo(e,n){if(e=e.replace(n.subset?Cd(n.subset):vd,i),n.subset||n.escapeOnly)return e;return e.replace(_d,t).replace(Sd,i);function t(r,a,o){return n.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,o.charCodeAt(a+2),n)}function i(r,a,o){return n.format(r.charCodeAt(0),o.charCodeAt(a+1),n)}}function Cd(e){let n=zo.get(e);return n||(n=kd(e),zo.set(e,n)),n}function kd(e){let n=[],t=-1;for(;++t<e.length;)n.push(e[t].replace(Ed,"\\$&"));return new RegExp("(?:"+n.join("|")+")","g")}var wd=/[\dA-Fa-f]/;function Ho(e,n,t){let i="&#x"+e.toString(16).toUpperCase();return t&&n&&!wd.test(String.fromCharCode(n))?i:i+";"}var Td=/\d/;function Vo(e,n,t){let i="&#"+String(e);return t&&n&&!Td.test(String.fromCharCode(n))?i:i+";"}var Wo=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Un={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var jo=["cent","copy","divide","gt","lt","not","para","times"];var qo={}.hasOwnProperty,kr={},Hn;for(Hn in Un)qo.call(Un,Hn)&&(kr[Un[Hn]]=Hn);var Ad=/[^\dA-Za-z]/;function Ko(e,n,t,i){let r=String.fromCharCode(e);if(qo.call(kr,r)){let a=kr[r],o="&"+a;return t&&Wo.includes(a)&&!jo.includes(a)&&(!i||n&&n!==61&&Ad.test(String.fromCharCode(n)))?o:o+";"}return""}function Xo(e,n,t){let i=Ho(e,n,t.omitOptionalSemicolons),r;if((t.useNamedReferences||t.useShortestReferences)&&(r=Ko(e,n,t.omitOptionalSemicolons,t.attribute)),(t.useShortestReferences||!r)&&t.useShortestReferences){let a=Vo(e,n,t.omitOptionalSemicolons);a.length<i.length&&(i=a)}return r&&(!t.useShortestReferences||r.length<i.length)?r:i}function Ge(e,n){return Uo(e,Object.assign({format:Xo},n))}var xd=/^>|^->|<!--|-->|--!>|<!-$/g,Id=[">"],Rd=["<",">"];function Yo(e,n,t,i){return i.settings.bogusComments?"<?"+Ge(e.value,Object.assign({},i.settings.characterReferences,{subset:Id}))+">":"<!--"+e.value.replace(xd,r)+"-->";function r(a){return Ge(a,Object.assign({},i.settings.characterReferences,{subset:Rd}))}}function Jo(e,n,t,i){return"<!"+(i.settings.upperDoctype?"DOCTYPE":"doctype")+(i.settings.tightDoctype?"":" ")+"html>"}function wr(e,n){let t=String(e);if(typeof n!="string")throw new TypeError("Expected character");let i=0,r=t.indexOf(n);for(;r!==-1;)i++,r=t.indexOf(n,r+n.length);return i}function Zo(e,n){let t=n||{};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}var te=$o(1),Tr=$o(-1),Pd=[];function $o(e){return n;function n(t,i,r){let a=t?t.children:Pd,o=(i||0)+e,s=a[o];if(!r)for(;s&&ve(s);)o+=e,s=a[o];return s}}var Dd={}.hasOwnProperty;function Vn(e){return n;function n(t,i,r){return Dd.call(e,t.tagName)&&e[t.tagName](t,i,r)}}var Yt=Vn({body:Ld,caption:Ar,colgroup:Ar,dd:Fd,dt:Bd,head:Ar,html:Nd,li:Od,optgroup:Gd,option:zd,p:Md,rp:Qo,rt:Qo,tbody:Hd,td:es,tfoot:Vd,th:es,thead:Ud,tr:Wd});function Ar(e,n,t){let i=te(t,n,!0);return!i||i.type!=="comment"&&!(i.type==="text"&&ve(i.value.charAt(0)))}function Nd(e,n,t){let i=te(t,n);return!i||i.type!=="comment"}function Ld(e,n,t){let i=te(t,n);return!i||i.type!=="comment"}function Md(e,n,t){let i=te(t,n);return i?i.type==="element"&&(i.tagName==="address"||i.tagName==="article"||i.tagName==="aside"||i.tagName==="blockquote"||i.tagName==="details"||i.tagName==="div"||i.tagName==="dl"||i.tagName==="fieldset"||i.tagName==="figcaption"||i.tagName==="figure"||i.tagName==="footer"||i.tagName==="form"||i.tagName==="h1"||i.tagName==="h2"||i.tagName==="h3"||i.tagName==="h4"||i.tagName==="h5"||i.tagName==="h6"||i.tagName==="header"||i.tagName==="hgroup"||i.tagName==="hr"||i.tagName==="main"||i.tagName==="menu"||i.tagName==="nav"||i.tagName==="ol"||i.tagName==="p"||i.tagName==="pre"||i.tagName==="section"||i.tagName==="table"||i.tagName==="ul"):!t||!(t.type==="element"&&(t.tagName==="a"||t.tagName==="audio"||t.tagName==="del"||t.tagName==="ins"||t.tagName==="map"||t.tagName==="noscript"||t.tagName==="video"))}function Od(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="li"}function Bd(e,n,t){let i=te(t,n);return!!(i&&i.type==="element"&&(i.tagName==="dt"||i.tagName==="dd"))}function Fd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="dt"||i.tagName==="dd")}function Qo(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="rp"||i.tagName==="rt")}function Gd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="optgroup"}function zd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="option"||i.tagName==="optgroup")}function Ud(e,n,t){let i=te(t,n);return!!(i&&i.type==="element"&&(i.tagName==="tbody"||i.tagName==="tfoot"))}function Hd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="tbody"||i.tagName==="tfoot")}function Vd(e,n,t){return!te(t,n)}function Wd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="tr"}function es(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="td"||i.tagName==="th")}var ts=Vn({body:Kd,colgroup:Xd,head:qd,html:jd,tbody:Yd});function jd(e){let n=te(e,-1);return!n||n.type!=="comment"}function qd(e){let n=e.children,t=[],i=-1;for(;++i<n.length;){let r=n[i];if(r.type==="element"&&(r.tagName==="title"||r.tagName==="base")){if(t.includes(r.tagName))return!1;t.push(r.tagName)}}return n.length>0}function Kd(e){let n=te(e,-1,!0);return!n||n.type!=="comment"&&!(n.type==="text"&&ve(n.value.charAt(0)))&&!(n.type==="element"&&(n.tagName==="meta"||n.tagName==="link"||n.tagName==="script"||n.tagName==="style"||n.tagName==="template"))}function Xd(e,n,t){let i=Tr(t,n),r=te(e,-1,!0);return t&&i&&i.type==="element"&&i.tagName==="colgroup"&&Yt(i,t.children.indexOf(i),t)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function Yd(e,n,t){let i=Tr(t,n),r=te(e,-1);return t&&i&&i.type==="element"&&(i.tagName==="thead"||i.tagName==="tbody")&&Yt(i,t.children.indexOf(i),t)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Wn={name:[[`
|
|
3426
|
+
`)+String(t).repeat(Math.max(s,0));c&&c.type==="text"?c.value=ve(c)?d:c.value+d:o.push({type:"text",value:d})}function a(o){return!!(o&&o.type==="element"&&n.blanks&&n.blanks.length>0&&n.blanks.includes(o.tagName))}}function fr(e,n){return e.type==="root"||(e.type==="element"?n||De(e,"script")||nt(e)||!mr(e):!1)}var Do=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];var Ge=class{constructor(n,t,i){this.property=n,this.normal=t,i&&(this.space=i)}};Ge.prototype.property={};Ge.prototype.normal={};Ge.prototype.space=null;function yr(e,n){let t={},i={},r=-1;for(;++r<e.length;)Object.assign(t,e[r].property),Object.assign(i,e[r].normal);return new Ge(t,i,n)}function Xt(e){return e.toLowerCase()}var ue=class{constructor(n,t){this.property=n,this.attribute=t}};ue.prototype.space=null;ue.prototype.boolean=!1;ue.prototype.booleanish=!1;ue.prototype.overloadedBoolean=!1;ue.prototype.number=!1;ue.prototype.commaSeparated=!1;ue.prototype.spaceSeparated=!1;ue.prototype.commaOrSpaceSeparated=!1;ue.prototype.mustUseProperty=!1;ue.prototype.defined=!1;var Yt={};va(Yt,{boolean:()=>B,booleanish:()=>Q,commaOrSpaceSeparated:()=>he,commaSeparated:()=>Xe,number:()=>C,overloadedBoolean:()=>br,spaceSeparated:()=>K});var md=0,B=it(),Q=it(),br=it(),C=it(),K=it(),Xe=it(),he=it();function it(){return 2**++md}var vr=Object.keys(Yt),rt=class extends ue{constructor(n,t,i,r){let a=-1;if(super(n,t),No(this,"space",r),typeof i=="number")for(;++a<vr.length;){let o=vr[a];No(this,vr[a],(i&Yt[o])===Yt[o])}}};rt.prototype.defined=!0;function No(e,n,t){t&&(e[n]=t)}var gd={}.hasOwnProperty;function Ce(e){let n={},t={},i;for(i in e.properties)if(gd.call(e.properties,i)){let r=e.properties[i],a=new rt(i,e.transform(e.attributes||{},i),r,e.space);e.mustUseProperty&&e.mustUseProperty.includes(i)&&(a.mustUseProperty=!0),n[i]=a,t[Xt(i)]=i,t[Xt(a.attribute)]=i}return new Ge(n,t,e.space)}var _r=Ce({space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});var Sr=Ce({space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Fn(e,n){return n in e?e[n]:n}function Gn(e,n){return Fn(e,n.toLowerCase())}var Er=Ce({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:Gn,properties:{xmlns:null,xmlnsXLink:null}});var Cr=Ce({transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Q,ariaAutoComplete:null,ariaBusy:Q,ariaChecked:Q,ariaColCount:C,ariaColIndex:C,ariaColSpan:C,ariaControls:K,ariaCurrent:null,ariaDescribedBy:K,ariaDetails:null,ariaDisabled:Q,ariaDropEffect:K,ariaErrorMessage:null,ariaExpanded:Q,ariaFlowTo:K,ariaGrabbed:Q,ariaHasPopup:null,ariaHidden:Q,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:K,ariaLevel:C,ariaLive:null,ariaModal:Q,ariaMultiLine:Q,ariaMultiSelectable:Q,ariaOrientation:null,ariaOwns:K,ariaPlaceholder:null,ariaPosInSet:C,ariaPressed:Q,ariaReadOnly:Q,ariaRelevant:null,ariaRequired:Q,ariaRoleDescription:K,ariaRowCount:C,ariaRowIndex:C,ariaRowSpan:C,ariaSelected:Q,ariaSetSize:C,ariaSort:null,ariaValueMax:C,ariaValueMin:C,ariaValueNow:C,ariaValueText:null,role:null}});var Lo=Ce({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:Gn,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Xe,acceptCharset:K,accessKey:K,action:null,allow:null,allowFullScreen:B,allowPaymentRequest:B,allowUserMedia:B,alt:null,as:null,async:B,autoCapitalize:null,autoComplete:K,autoFocus:B,autoPlay:B,blocking:K,capture:null,charSet:null,checked:B,cite:null,className:K,cols:C,colSpan:null,content:null,contentEditable:Q,controls:B,controlsList:K,coords:C|Xe,crossOrigin:null,data:null,dateTime:null,decoding:null,default:B,defer:B,dir:null,dirName:null,disabled:B,download:br,draggable:Q,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:B,formTarget:null,headers:K,height:C,hidden:B,high:C,href:null,hrefLang:null,htmlFor:K,httpEquiv:K,id:null,imageSizes:null,imageSrcSet:null,inert:B,inputMode:null,integrity:null,is:null,isMap:B,itemId:null,itemProp:K,itemRef:K,itemScope:B,itemType:K,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:B,low:C,manifest:null,max:null,maxLength:C,media:null,method:null,min:null,minLength:C,multiple:B,muted:B,name:null,nonce:null,noModule:B,noValidate:B,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:B,optimum:C,pattern:null,ping:K,placeholder:null,playsInline:B,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:B,referrerPolicy:null,rel:K,required:B,reversed:B,rows:C,rowSpan:C,sandbox:K,scope:null,scoped:B,seamless:B,selected:B,shadowRootClonable:B,shadowRootDelegatesFocus:B,shadowRootMode:null,shape:null,size:C,sizes:null,slot:null,span:C,spellCheck:Q,src:null,srcDoc:null,srcLang:null,srcSet:null,start:C,step:null,style:null,tabIndex:C,target:null,title:null,translate:null,type:null,typeMustMatch:B,useMap:null,value:Q,width:C,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:K,axis:null,background:null,bgColor:null,border:C,borderColor:null,bottomMargin:C,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:B,declare:B,event:null,face:null,frame:null,frameBorder:null,hSpace:C,leftMargin:C,link:null,longDesc:null,lowSrc:null,marginHeight:C,marginWidth:C,noResize:B,noHref:B,noShade:B,noWrap:B,object:null,profile:null,prompt:null,rev:null,rightMargin:C,rules:null,scheme:null,scrolling:Q,standby:null,summary:null,text:null,topMargin:C,valueType:null,version:null,vAlign:null,vLink:null,vSpace:C,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:B,disableRemotePlayback:B,prefix:null,property:null,results:C,security:null,unselectable:null}});var Mo=Ce({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Fn,properties:{about:he,accentHeight:C,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:C,amplitude:C,arabicForm:null,ascent:C,attributeName:null,attributeType:null,azimuth:C,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:C,by:null,calcMode:null,capHeight:C,className:K,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:C,diffuseConstant:C,direction:null,display:null,dur:null,divisor:C,dominantBaseline:null,download:B,dx:null,dy:null,edgeMode:null,editable:null,elevation:C,enableBackground:null,end:null,event:null,exponent:C,externalResourcesRequired:null,fill:null,fillOpacity:C,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Xe,g2:Xe,glyphName:Xe,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:C,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:C,horizOriginX:C,horizOriginY:C,id:null,ideographic:C,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:C,k:C,k1:C,k2:C,k3:C,k4:C,kernelMatrix:he,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:C,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:C,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:C,overlineThickness:C,paintOrder:null,panose1:null,path:null,pathLength:C,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:K,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:C,pointsAtY:C,pointsAtZ:C,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:he,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:he,rev:he,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:he,requiredFeatures:he,requiredFonts:he,requiredFormats:he,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:C,specularExponent:C,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:C,strikethroughThickness:C,string:null,stroke:null,strokeDashArray:he,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:C,strokeOpacity:C,strokeWidth:null,style:null,surfaceScale:C,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:he,tabIndex:C,tableValues:null,target:null,targetX:C,targetY:C,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:he,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:C,underlineThickness:C,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:C,values:null,vAlphabetic:C,vMathematical:C,vectorEffect:null,vHanging:C,vIdeographic:C,version:null,vertAdvY:C,vertOriginX:C,vertOriginY:C,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:C,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}});var hd=/^data[-\w.:]+$/i,Oo=/-[a-z]/g,fd=/[A-Z]/g;function kr(e,n){let t=Xt(n),i=n,r=ue;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&hd.test(n)){if(n.charAt(4)==="-"){let a=n.slice(5).replace(Oo,bd);i="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=n.slice(4);if(!Oo.test(a)){let o=a.replace(fd,yd);o.charAt(0)!=="-"&&(o="-"+o),n="data"+o}}r=rt}return new r(i,n)}function yd(e){return"-"+e.toLowerCase()}function bd(e){return e.charAt(1).toUpperCase()}var Bo=yr([Sr,_r,Er,Cr,Lo],"html"),zn=yr([Sr,_r,Er,Cr,Mo],"svg");var Fo={}.hasOwnProperty;function Go(e,n){let t=n||{};function i(r,...a){let o=i.invalid,s=i.handlers;if(r&&Fo.call(r,e)){let l=String(r[e]);o=Fo.call(s,l)?s[l]:i.unknown}if(o)return o.call(this,r,...a)}return i.handlers=t.handlers||{},i.invalid=t.invalid,i.unknown=t.unknown,i}var vd=/["&'<>`]/g,_d=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Sd=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ed=/[|\\{}()[\]^$+*?.]/g,zo=new WeakMap;function Uo(e,n){if(e=e.replace(n.subset?Cd(n.subset):vd,i),n.subset||n.escapeOnly)return e;return e.replace(_d,t).replace(Sd,i);function t(r,a,o){return n.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,o.charCodeAt(a+2),n)}function i(r,a,o){return n.format(r.charCodeAt(0),o.charCodeAt(a+1),n)}}function Cd(e){let n=zo.get(e);return n||(n=kd(e),zo.set(e,n)),n}function kd(e){let n=[],t=-1;for(;++t<e.length;)n.push(e[t].replace(Ed,"\\$&"));return new RegExp("(?:"+n.join("|")+")","g")}var wd=/[\dA-Fa-f]/;function Ho(e,n,t){let i="&#x"+e.toString(16).toUpperCase();return t&&n&&!wd.test(String.fromCharCode(n))?i:i+";"}var Td=/\d/;function Vo(e,n,t){let i="&#"+String(e);return t&&n&&!Td.test(String.fromCharCode(n))?i:i+";"}var Wo=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Un={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var jo=["cent","copy","divide","gt","lt","not","para","times"];var qo={}.hasOwnProperty,wr={},Hn;for(Hn in Un)qo.call(Un,Hn)&&(wr[Un[Hn]]=Hn);var Ad=/[^\dA-Za-z]/;function Ko(e,n,t,i){let r=String.fromCharCode(e);if(qo.call(wr,r)){let a=wr[r],o="&"+a;return t&&Wo.includes(a)&&!jo.includes(a)&&(!i||n&&n!==61&&Ad.test(String.fromCharCode(n)))?o:o+";"}return""}function Xo(e,n,t){let i=Ho(e,n,t.omitOptionalSemicolons),r;if((t.useNamedReferences||t.useShortestReferences)&&(r=Ko(e,n,t.omitOptionalSemicolons,t.attribute)),(t.useShortestReferences||!r)&&t.useShortestReferences){let a=Vo(e,n,t.omitOptionalSemicolons);a.length<i.length&&(i=a)}return r&&(!t.useShortestReferences||r.length<i.length)?r:i}function ze(e,n){return Uo(e,Object.assign({format:Xo},n))}var xd=/^>|^->|<!--|-->|--!>|<!-$/g,Id=[">"],Rd=["<",">"];function Yo(e,n,t,i){return i.settings.bogusComments?"<?"+ze(e.value,Object.assign({},i.settings.characterReferences,{subset:Id}))+">":"<!--"+e.value.replace(xd,r)+"-->";function r(a){return ze(a,Object.assign({},i.settings.characterReferences,{subset:Rd}))}}function Jo(e,n,t,i){return"<!"+(i.settings.upperDoctype?"DOCTYPE":"doctype")+(i.settings.tightDoctype?"":" ")+"html>"}function Tr(e,n){let t=String(e);if(typeof n!="string")throw new TypeError("Expected character");let i=0,r=t.indexOf(n);for(;r!==-1;)i++,r=t.indexOf(n,r+n.length);return i}function Zo(e,n){let t=n||{};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}var te=$o(1),Ar=$o(-1),Pd=[];function $o(e){return n;function n(t,i,r){let a=t?t.children:Pd,o=(i||0)+e,s=a[o];if(!r)for(;s&&ve(s);)o+=e,s=a[o];return s}}var Dd={}.hasOwnProperty;function Vn(e){return n;function n(t,i,r){return Dd.call(e,t.tagName)&&e[t.tagName](t,i,r)}}var Jt=Vn({body:Ld,caption:xr,colgroup:xr,dd:Fd,dt:Bd,head:xr,html:Nd,li:Od,optgroup:Gd,option:zd,p:Md,rp:Qo,rt:Qo,tbody:Hd,td:es,tfoot:Vd,th:es,thead:Ud,tr:Wd});function xr(e,n,t){let i=te(t,n,!0);return!i||i.type!=="comment"&&!(i.type==="text"&&ve(i.value.charAt(0)))}function Nd(e,n,t){let i=te(t,n);return!i||i.type!=="comment"}function Ld(e,n,t){let i=te(t,n);return!i||i.type!=="comment"}function Md(e,n,t){let i=te(t,n);return i?i.type==="element"&&(i.tagName==="address"||i.tagName==="article"||i.tagName==="aside"||i.tagName==="blockquote"||i.tagName==="details"||i.tagName==="div"||i.tagName==="dl"||i.tagName==="fieldset"||i.tagName==="figcaption"||i.tagName==="figure"||i.tagName==="footer"||i.tagName==="form"||i.tagName==="h1"||i.tagName==="h2"||i.tagName==="h3"||i.tagName==="h4"||i.tagName==="h5"||i.tagName==="h6"||i.tagName==="header"||i.tagName==="hgroup"||i.tagName==="hr"||i.tagName==="main"||i.tagName==="menu"||i.tagName==="nav"||i.tagName==="ol"||i.tagName==="p"||i.tagName==="pre"||i.tagName==="section"||i.tagName==="table"||i.tagName==="ul"):!t||!(t.type==="element"&&(t.tagName==="a"||t.tagName==="audio"||t.tagName==="del"||t.tagName==="ins"||t.tagName==="map"||t.tagName==="noscript"||t.tagName==="video"))}function Od(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="li"}function Bd(e,n,t){let i=te(t,n);return!!(i&&i.type==="element"&&(i.tagName==="dt"||i.tagName==="dd"))}function Fd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="dt"||i.tagName==="dd")}function Qo(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="rp"||i.tagName==="rt")}function Gd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="optgroup"}function zd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="option"||i.tagName==="optgroup")}function Ud(e,n,t){let i=te(t,n);return!!(i&&i.type==="element"&&(i.tagName==="tbody"||i.tagName==="tfoot"))}function Hd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="tbody"||i.tagName==="tfoot")}function Vd(e,n,t){return!te(t,n)}function Wd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="tr"}function es(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="td"||i.tagName==="th")}var ts=Vn({body:Kd,colgroup:Xd,head:qd,html:jd,tbody:Yd});function jd(e){let n=te(e,-1);return!n||n.type!=="comment"}function qd(e){let n=e.children,t=[],i=-1;for(;++i<n.length;){let r=n[i];if(r.type==="element"&&(r.tagName==="title"||r.tagName==="base")){if(t.includes(r.tagName))return!1;t.push(r.tagName)}}return n.length>0}function Kd(e){let n=te(e,-1,!0);return!n||n.type!=="comment"&&!(n.type==="text"&&ve(n.value.charAt(0)))&&!(n.type==="element"&&(n.tagName==="meta"||n.tagName==="link"||n.tagName==="script"||n.tagName==="style"||n.tagName==="template"))}function Xd(e,n,t){let i=Ar(t,n),r=te(e,-1,!0);return t&&i&&i.type==="element"&&i.tagName==="colgroup"&&Jt(i,t.children.indexOf(i),t)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function Yd(e,n,t){let i=Ar(t,n),r=te(e,-1);return t&&i&&i.type==="element"&&(i.tagName==="thead"||i.tagName==="tbody")&&Jt(i,t.children.indexOf(i),t)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Wn={name:[[`
|
|
3415
3427
|
\f\r &/=>`.split(""),`
|
|
3416
3428
|
\f\r "&'/=>\``.split("")],[`\0
|
|
3417
3429
|
\f\r "&'/<=>`.split(""),`\0
|
|
@@ -3419,19 +3431,19 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3419
3431
|
\f\r &>`.split(""),`\0
|
|
3420
3432
|
\f\r "&'<=>\``.split("")],[`\0
|
|
3421
3433
|
\f\r "&'<=>\``.split(""),`\0
|
|
3422
|
-
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function ns(e,n,t,i){let r=i.schema,a=r.space==="svg"?!1:i.settings.omitOptionalTags,o=r.space==="svg"?i.settings.closeEmptyElements:i.settings.voids.includes(e.tagName.toLowerCase()),s=[],l;r.space==="html"&&e.tagName==="svg"&&(i.schema=zn);let c=Jd(i,e.properties),u=i.all(r.space==="html"&&e.tagName==="template"?e.content:e);return i.schema=r,u&&(o=!1),(c||!a||!ts(e,n,t))&&(s.push("<",e.tagName,c?" "+c:""),o&&(r.space==="svg"||i.settings.closeSelfClosing)&&(l=c.charAt(c.length-1),(!i.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&s.push(" "),s.push("/")),s.push(">")),s.push(u),!o&&(!a||!Yt(e,n,t))&&s.push("</"+e.tagName+">"),s.join("")}function Jd(e,n){let t=[],i=-1,r;if(n){for(r in n)if(n[r]!==null&&n[r]!==void 0){let a=Zd(e,r,n[r]);a&&t.push(a)}}for(;++i<t.length;){let a=e.settings.tightAttributes?t[i].charAt(t[i].length-1):void 0;i!==t.length-1&&a!=='"'&&a!=="'"&&(t[i]+=" ")}return t.join("")}function Zd(e,n,t){let i=Cr(e.schema,n),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,a=e.settings.allowDangerousCharacters?0:1,o=e.quote,s;if(i.overloadedBoolean&&(t===i.attribute||t==="")?t=!0:(i.boolean||i.overloadedBoolean&&typeof t!="string")&&(t=!!t),t==null||t===!1||typeof t=="number"&&Number.isNaN(t))return"";let l=Ge(i.attribute,Object.assign({},e.settings.characterReferences,{subset:Wn.name[r][a]}));return t===!0||(t=Array.isArray(t)?(i.commaSeparated?Zo:So)(t,{padLeft:!e.settings.tightCommaSeparatedLists}):String(t),e.settings.collapseEmptyAttributes&&!t)?l:(e.settings.preferUnquoted&&(s=Ge(t,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Wn.unquoted[r][a]}))),s!==t&&(e.settings.quoteSmart&&wr(t,o)>wr(t,e.alternative)&&(o=e.alternative),s=o+Ge(t,Object.assign({},e.settings.characterReferences,{subset:(o==="'"?Wn.single:Wn.double)[r][a],attribute:!0}))+o),l+(s&&"="+s))}var $d=["<","&"];function jn(e,n,t,i){return t&&t.type==="element"&&(t.tagName==="script"||t.tagName==="style")?e.value:Ge(e.value,Object.assign({},i.settings.characterReferences,{subset:$d}))}function is(e,n,t,i){return i.settings.allowDangerousHtml?e.value:jn(e,n,t,i)}function rs(e,n,t,i){return i.all(e)}var as=Go("type",{invalid:Qd,unknown:ep,handlers:{comment:Yo,doctype:Jo,element:ns,raw:is,root:rs,text:jn}});function Qd(e){throw new Error("Expected node, not `"+e+"`")}function ep(e){let n=e;throw new Error("Cannot compile unknown node `"+n.type+"`")}var tp={},np={},ip=[];function xr(e,n){let t=n||tp,i=t.quote||'"',r=i==='"'?"'":'"';if(i!=='"'&&i!=="'")throw new Error("Invalid quote `"+i+"`, expected `'` or `\"`");return{one:rp,all:ap,settings:{omitOptionalTags:t.omitOptionalTags||!1,allowParseErrors:t.allowParseErrors||!1,allowDangerousCharacters:t.allowDangerousCharacters||!1,quoteSmart:t.quoteSmart||!1,preferUnquoted:t.preferUnquoted||!1,tightAttributes:t.tightAttributes||!1,upperDoctype:t.upperDoctype||!1,tightDoctype:t.tightDoctype||!1,bogusComments:t.bogusComments||!1,tightCommaSeparatedLists:t.tightCommaSeparatedLists||!1,tightSelfClosing:t.tightSelfClosing||!1,collapseEmptyAttributes:t.collapseEmptyAttributes||!1,allowDangerousHtml:t.allowDangerousHtml||!1,voids:t.voids||Do,characterReferences:t.characterReferences||np,closeSelfClosing:t.closeSelfClosing||!1,closeEmptyElements:t.closeEmptyElements||!1},schema:t.space==="svg"?zn:Bo,quote:i,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function rp(e,n,t){return as(e,n,t,this)}function ap(e){let n=[],t=e&&e.children||ip,i=-1;for(;++i<t.length;)n[i]=this.one(t[i],i,e);return n.join("")}function qn(e){let n=this,t={...n.data("settings"),...e};n.compiler=i;function i(r){return xr(r,t)}}var op={};function Ir(e,n){let t=n||op,i=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,r=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return ss(e,i,r)}function ss(e,n,t){if(sp(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return os(e.children,n,t)}return Array.isArray(e)?os(e,n,t):""}function os(e,n,t){let i=[],r=-1;for(;++r<e.length;)i[r]=ss(e[r],n,t);return i.join("")}function sp(e){return!!(e&&typeof e=="object")}var ls=document.createElement("i");function kt(e){let n="&"+e+";";ls.innerHTML=n;let t=ls.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}function de(e,n,t,i){let r=e.length,a=0,o;if(n<0?n=-n>r?0:r+n:n=n>r?r:n,t=t>0?t:0,i.length<1e4)o=Array.from(i),o.unshift(n,t),e.splice(...o);else for(t&&e.splice(n,t);a<i.length;)o=i.slice(a,a+1e4),o.unshift(n,0),e.splice(...o),a+=1e4,n+=1e4}function me(e,n){return e.length>0?(de(e,e.length,0,n),e):n}var cs={}.hasOwnProperty;function us(e){let n={},t=-1;for(;++t<e.length;)lp(n,e[t]);return n}function lp(e,n){let t;for(t in n){let r=(cs.call(e,t)?e[t]:void 0)||(e[t]={}),a=n[t],o;if(a)for(o in a){cs.call(r,o)||(r[o]=[]);let s=a[o];cp(r[o],Array.isArray(s)?s:s?[s]:[])}}}function cp(e,n){let t=-1,i=[];for(;++t<n.length;)(n[t].add==="after"?e:i).push(n[t]);de(e,0,0,i)}function Kn(e,n){let t=Number.parseInt(e,n);return t<9||t===11||t>13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"\uFFFD":String.fromCodePoint(t)}function ze(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var _e=Xe(/[A-Za-z]/),ae=Xe(/[\dA-Za-z]/),ds=Xe(/[#-'*+\--9=?A-Z^-~]/);function Jt(e){return e!==null&&(e<32||e===127)}var Zt=Xe(/\d/),ps=Xe(/[\dA-Fa-f]/),ms=Xe(/[!-/:-@[-`{-~]/);function A(e){return e!==null&&e<-2}function ne(e){return e!==null&&(e<0||e===32)}function F(e){return e===-2||e===-1||e===32}var gs=Xe(/\p{P}|\p{S}/u),hs=Xe(/\s/);function Xe(e){return n;function n(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function ke(e){let n=[],t=-1,i=0,r=0;for(;++t<e.length;){let a=e.charCodeAt(t),o="";if(a===37&&ae(e.charCodeAt(t+1))&&ae(e.charCodeAt(t+2)))r=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let s=e.charCodeAt(t+1);a<56320&&s>56319&&s<57344?(o=String.fromCharCode(a,s),r=1):o="\uFFFD"}else o=String.fromCharCode(a);o&&(n.push(e.slice(i,t),encodeURIComponent(o)),i=t+r+1,o=""),r&&(t+=r,r=0)}return n.join("")+e.slice(i)}function z(e,n,t,i){let r=i?i-1:Number.POSITIVE_INFINITY,a=0;return o;function o(l){return F(l)?(e.enter(t),s(l)):n(l)}function s(l){return F(l)&&a++<r?(e.consume(l),s):(e.exit(t),n(l))}}var fs={tokenize:up};function up(e){let n=e.attempt(this.parser.constructs.contentInitial,i,r),t;return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),z(e,n,"linePrefix")}function r(s){return e.enter("paragraph"),a(s)}function a(s){let l=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=l),t=l,o(s)}function o(s){if(s===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(s);return}return A(s)?(e.consume(s),e.exit("chunkText"),a):(e.consume(s),o)}}var bs={tokenize:dp},ys={tokenize:pp};function dp(e){let n=this,t=[],i=0,r,a,o;return s;function s(S){if(i<t.length){let N=t[i];return n.containerState=N[1],e.attempt(N[0].continuation,l,c)(S)}return c(S)}function l(S){if(i++,n.containerState._closeFlow){n.containerState._closeFlow=void 0,r&&T();let N=n.events.length,L=N,b;for(;L--;)if(n.events[L][0]==="exit"&&n.events[L][1].type==="chunkFlow"){b=n.events[L][1].end;break}y(i);let I=N;for(;I<n.events.length;)n.events[I][1].end=Object.assign({},b),I++;return de(n.events,L+1,0,n.events.slice(N)),n.events.length=I,c(S)}return s(S)}function c(S){if(i===t.length){if(!r)return m(S);if(r.currentConstruct&&r.currentConstruct.concrete)return f(S);n.interrupt=!!(r.currentConstruct&&!r._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(ys,u,d)(S)}function u(S){return r&&T(),y(i),m(S)}function d(S){return n.parser.lazy[n.now().line]=i!==t.length,o=n.now().offset,f(S)}function m(S){return n.containerState={},e.attempt(ys,p,f)(S)}function p(S){return i++,t.push([n.currentConstruct,n.containerState]),m(S)}function f(S){if(S===null){r&&T(),y(0),e.consume(S);return}return r=r||n.parser.flow(n.now()),e.enter("chunkFlow",{contentType:"flow",previous:a,_tokenizer:r}),_(S)}function _(S){if(S===null){E(e.exit("chunkFlow"),!0),y(0),e.consume(S);return}return A(S)?(e.consume(S),E(e.exit("chunkFlow")),i=0,n.interrupt=void 0,s):(e.consume(S),_)}function E(S,N){let L=n.sliceStream(S);if(N&&L.push(null),S.previous=a,a&&(a.next=S),a=S,r.defineSkip(S.start),r.write(L),n.parser.lazy[S.start.line]){let b=r.events.length;for(;b--;)if(r.events[b][1].start.offset<o&&(!r.events[b][1].end||r.events[b][1].end.offset>o))return;let I=n.events.length,D=I,P,M;for(;D--;)if(n.events[D][0]==="exit"&&n.events[D][1].type==="chunkFlow"){if(P){M=n.events[D][1].end;break}P=!0}for(y(i),b=I;b<n.events.length;)n.events[b][1].end=Object.assign({},M),b++;de(n.events,D+1,0,n.events.slice(I)),n.events.length=b}}function y(S){let N=t.length;for(;N-- >S;){let L=t[N];n.containerState=L[1],L[0].exit.call(n,e)}t.length=S}function T(){r.write([null]),a=void 0,r=void 0,n.containerState._closeFlow=void 0}}function pp(e,n,t){return z(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Rr(e){if(e===null||ne(e)||hs(e))return 1;if(gs(e))return 2}function wt(e,n,t){let i=[],r=-1;for(;++r<e.length;){let a=e[r].resolveAll;a&&!i.includes(a)&&(n=a(n,t),i.push(a))}return n}var $t={name:"attention",tokenize:gp,resolveAll:mp};function mp(e,n){let t=-1,i,r,a,o,s,l,c,u;for(;++t<e.length;)if(e[t][0]==="enter"&&e[t][1].type==="attentionSequence"&&e[t][1]._close){for(i=t;i--;)if(e[i][0]==="exit"&&e[i][1].type==="attentionSequence"&&e[i][1]._open&&n.sliceSerialize(e[i][1]).charCodeAt(0)===n.sliceSerialize(e[t][1]).charCodeAt(0)){if((e[i][1]._close||e[t][1]._open)&&(e[t][1].end.offset-e[t][1].start.offset)%3&&!((e[i][1].end.offset-e[i][1].start.offset+e[t][1].end.offset-e[t][1].start.offset)%3))continue;l=e[i][1].end.offset-e[i][1].start.offset>1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;let d=Object.assign({},e[i][1].end),m=Object.assign({},e[t][1].start);vs(d,-l),vs(m,l),o={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[i][1].end)},s={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[t][1].start),end:m},a={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[i][1].end),end:Object.assign({},e[t][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},s.end)},e[i][1].end=Object.assign({},o.start),e[t][1].start=Object.assign({},s.end),c=[],e[i][1].end.offset-e[i][1].start.offset&&(c=me(c,[["enter",e[i][1],n],["exit",e[i][1],n]])),c=me(c,[["enter",r,n],["enter",o,n],["exit",o,n],["enter",a,n]]),c=me(c,wt(n.parser.constructs.insideSpan.null,e.slice(i+1,t),n)),c=me(c,[["exit",a,n],["enter",s,n],["exit",s,n],["exit",r,n]]),e[t][1].end.offset-e[t][1].start.offset?(u=2,c=me(c,[["enter",e[t][1],n],["exit",e[t][1],n]])):u=0,de(e,i-1,t-i+3,c),t=i+c.length-u-2;break}}for(t=-1;++t<e.length;)e[t][1].type==="attentionSequence"&&(e[t][1].type="data");return e}function gp(e,n){let t=this.parser.constructs.attentionMarkers.null,i=this.previous,r=Rr(i),a;return o;function o(l){return a=l,e.enter("attentionSequence"),s(l)}function s(l){if(l===a)return e.consume(l),s;let c=e.exit("attentionSequence"),u=Rr(l),d=!u||u===2&&r||t.includes(l),m=!r||r===2&&u||t.includes(i);return c._open=!!(a===42?d:d&&(r||!m)),c._close=!!(a===42?m:m&&(u||!d)),n(l)}}function vs(e,n){e.column+=n,e.offset+=n,e._bufferIndex+=n}var Pr={name:"autolink",tokenize:hp};function hp(e,n,t){let i=0;return r;function r(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(p){return _e(p)?(e.consume(p),o):p===64?t(p):c(p)}function o(p){return p===43||p===45||p===46||ae(p)?(i=1,s(p)):c(p)}function s(p){return p===58?(e.consume(p),i=0,l):(p===43||p===45||p===46||ae(p))&&i++<32?(e.consume(p),s):(i=0,c(p))}function l(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):p===null||p===32||p===60||Jt(p)?t(p):(e.consume(p),l)}function c(p){return p===64?(e.consume(p),u):ds(p)?(e.consume(p),c):t(p)}function u(p){return ae(p)?d(p):t(p)}function d(p){return p===46?(e.consume(p),i=0,u):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):m(p)}function m(p){if((p===45||ae(p))&&i++<63){let f=p===45?m:d;return e.consume(p),f}return t(p)}}var Ye={tokenize:fp,partial:!0};function fp(e,n,t){return i;function i(a){return F(a)?z(e,r,"linePrefix")(a):r(a)}function r(a){return a===null||A(a)?n(a):t(a)}}var Xn={name:"blockQuote",tokenize:yp,continuation:{tokenize:bp},exit:vp};function yp(e,n,t){let i=this;return r;function r(o){if(o===62){let s=i.containerState;return s.open||(e.enter("blockQuote",{_container:!0}),s.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),a}return t(o)}function a(o){return F(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),n):(e.exit("blockQuotePrefix"),n(o))}}function bp(e,n,t){let i=this;return r;function r(o){return F(o)?z(e,a,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):a(o)}function a(o){return e.attempt(Xn,n,t)(o)}}function vp(e){e.exit("blockQuote")}var Yn={name:"characterEscape",tokenize:_p};function _p(e,n,t){return i;function i(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),r}function r(a){return ms(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),n):t(a)}}var Jn={name:"characterReference",tokenize:Sp};function Sp(e,n,t){let i=this,r=0,a,o;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),c):(e.enter("characterReferenceValue"),a=31,o=ae,u(d))}function c(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=ps,u):(e.enter("characterReferenceValue"),a=7,o=Zt,u(d))}function u(d){if(d===59&&r){let m=e.exit("characterReferenceValue");return o===ae&&!kt(i.sliceSerialize(m))?t(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),n)}return o(d)&&r++<a?(e.consume(d),u):t(d)}}var _s={tokenize:Cp,partial:!0},Zn={name:"codeFenced",tokenize:Ep,concrete:!0};function Ep(e,n,t){let i=this,r={tokenize:L,partial:!0},a=0,o=0,s;return l;function l(b){return c(b)}function c(b){let I=i.events[i.events.length-1];return a=I&&I[1].type==="linePrefix"?I[2].sliceSerialize(I[1],!0).length:0,s=b,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),u(b)}function u(b){return b===s?(o++,e.consume(b),u):o<3?t(b):(e.exit("codeFencedFenceSequence"),F(b)?z(e,d,"whitespace")(b):d(b))}function d(b){return b===null||A(b)?(e.exit("codeFencedFence"),i.interrupt?n(b):e.check(_s,_,N)(b)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),m(b))}function m(b){return b===null||A(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(b)):F(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),z(e,p,"whitespace")(b)):b===96&&b===s?t(b):(e.consume(b),m)}function p(b){return b===null||A(b)?d(b):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),f(b))}function f(b){return b===null||A(b)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(b)):b===96&&b===s?t(b):(e.consume(b),f)}function _(b){return e.attempt(r,N,E)(b)}function E(b){return e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),y}function y(b){return a>0&&F(b)?z(e,T,"linePrefix",a+1)(b):T(b)}function T(b){return b===null||A(b)?e.check(_s,_,N)(b):(e.enter("codeFlowValue"),S(b))}function S(b){return b===null||A(b)?(e.exit("codeFlowValue"),T(b)):(e.consume(b),S)}function N(b){return e.exit("codeFenced"),n(b)}function L(b,I,D){let P=0;return M;function M(O){return b.enter("lineEnding"),b.consume(O),b.exit("lineEnding"),H}function H(O){return b.enter("codeFencedFence"),F(O)?z(b,R,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):R(O)}function R(O){return O===s?(b.enter("codeFencedFenceSequence"),w(O)):D(O)}function w(O){return O===s?(P++,b.consume(O),w):P>=o?(b.exit("codeFencedFenceSequence"),F(O)?z(b,x,"whitespace")(O):x(O)):D(O)}function x(O){return O===null||A(O)?(b.exit("codeFencedFence"),I(O)):D(O)}}}function Cp(e,n,t){let i=this;return r;function r(o){return o===null?t(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a)}function a(o){return i.parser.lazy[i.now().line]?t(o):n(o)}}var Qt={name:"codeIndented",tokenize:wp},kp={tokenize:Tp,partial:!0};function wp(e,n,t){let i=this;return r;function r(c){return e.enter("codeIndented"),z(e,a,"linePrefix",5)(c)}function a(c){let u=i.events[i.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?o(c):t(c)}function o(c){return c===null?l(c):A(c)?e.attempt(kp,o,l)(c):(e.enter("codeFlowValue"),s(c))}function s(c){return c===null||A(c)?(e.exit("codeFlowValue"),o(c)):(e.consume(c),s)}function l(c){return e.exit("codeIndented"),n(c)}}function Tp(e,n,t){let i=this;return r;function r(o){return i.parser.lazy[i.now().line]?t(o):A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),r):z(e,a,"linePrefix",5)(o)}function a(o){let s=i.events[i.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(o):A(o)?r(o):t(o)}}var Dr={name:"codeText",tokenize:Ip,resolve:Ap,previous:xp};function Ap(e){let n=e.length-4,t=3,i,r;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(i=t;++i<n;)if(e[i][1].type==="codeTextData"){e[t][1].type="codeTextPadding",e[n][1].type="codeTextPadding",t+=2,n-=2;break}}for(i=t-1,n++;++i<=n;)r===void 0?i!==n&&e[i][1].type!=="lineEnding"&&(r=i):(i===n||e[i][1].type==="lineEnding")&&(e[r][1].type="codeTextData",i!==r+2&&(e[r][1].end=e[i-1][1].end,e.splice(r+2,i-r-2),n-=i-r-2,i=r+2),r=void 0);return e}function xp(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Ip(e,n,t){let i=this,r=0,a,o;return s;function s(m){return e.enter("codeText"),e.enter("codeTextSequence"),l(m)}function l(m){return m===96?(e.consume(m),r++,l):(e.exit("codeTextSequence"),c(m))}function c(m){return m===null?t(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),c):m===96?(o=e.enter("codeTextSequence"),a=0,d(m)):A(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),c):(e.enter("codeTextData"),u(m))}function u(m){return m===null||m===32||m===96||A(m)?(e.exit("codeTextData"),c(m)):(e.consume(m),u)}function d(m){return m===96?(e.consume(m),a++,d):a===r?(e.exit("codeTextSequence"),e.exit("codeText"),n(m)):(o.type="codeTextData",u(m))}}var $n=class{constructor(n){this.left=n?[...n]:[],this.right=[]}get(n){if(n<0||n>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return n<this.left.length?this.left[n]:this.right[this.right.length-n+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(n,t){let i=t??Number.POSITIVE_INFINITY;return i<this.left.length?this.left.slice(n,i):n>this.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(n,t,i){let r=t||0;this.setCursor(Math.trunc(n));let a=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&en(this.left,i),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),en(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),en(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n<this.left.length){let t=this.left.splice(n,Number.POSITIVE_INFINITY);en(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-n,Number.POSITIVE_INFINITY);en(this.left,t.reverse())}}};function en(e,n){let t=0;if(n.length<1e4)e.push(...n);else for(;t<n.length;)e.push(...n.slice(t,t+1e4)),t+=1e4}function Qn(e){let n={},t=-1,i,r,a,o,s,l,c,u=new $n(e);for(;++t<u.length;){for(;t in n;)t=n[t];if(i=u.get(t),t&&i[1].type==="chunkFlow"&&u.get(t-1)[1].type==="listItemPrefix"&&(l=i[1]._tokenizer.events,a=0,a<l.length&&l[a][1].type==="lineEndingBlank"&&(a+=2),a<l.length&&l[a][1].type==="content"))for(;++a<l.length&&l[a][1].type!=="content";)l[a][1].type==="chunkText"&&(l[a][1]._isInFirstContentOfListItem=!0,a++);if(i[0]==="enter")i[1].contentType&&(Object.assign(n,Rp(u,t)),t=n[t],c=!0);else if(i[1]._container){for(a=t,r=void 0;a--&&(o=u.get(a),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank");)o[0]==="enter"&&(r&&(u.get(r)[1].type="lineEndingBlank"),o[1].type="lineEnding",r=a);r&&(i[1].end=Object.assign({},u.get(r)[1].start),s=u.slice(r,t),s.unshift(i),u.splice(r,t-r+1,s))}}return de(e,0,Number.POSITIVE_INFINITY,u.slice(0)),!c}function Rp(e,n){let t=e.get(n)[1],i=e.get(n)[2],r=n-1,a=[],o=t._tokenizer||i.parser[t.contentType](t.start),s=o.events,l=[],c={},u,d,m=-1,p=t,f=0,_=0,E=[_];for(;p;){for(;e.get(++r)[1]!==p;);a.push(r),p._tokenizer||(u=i.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=t;++m<s.length;)s[m][0]==="exit"&&s[m-1][0]==="enter"&&s[m][1].type===s[m-1][1].type&&s[m][1].start.line!==s[m][1].end.line&&(_=m+1,E.push(_),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):E.pop(),m=E.length;m--;){let y=s.slice(E[m],E[m+1]),T=a.pop();l.push([T,T+y.length-1]),e.splice(T,2,y)}for(l.reverse(),m=-1;++m<l.length;)c[f+l[m][0]]=f+l[m][1],f+=l[m][1]-l[m][0]-1;return c}var Nr={tokenize:Np,resolve:Dp},Pp={tokenize:Lp,partial:!0};function Dp(e){return Qn(e),e}function Np(e,n){let t;return i;function i(s){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),r(s)}function r(s){return s===null?a(s):A(s)?e.check(Pp,o,a)(s):(e.consume(s),r)}function a(s){return e.exit("chunkContent"),e.exit("content"),n(s)}function o(s){return e.consume(s),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,r}}function Lp(e,n,t){let i=this;return r;function r(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),z(e,a,"linePrefix")}function a(o){if(o===null||A(o))return t(o);let s=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(o):e.interrupt(i.parser.constructs.flow,t,n)(o)}}function ei(e,n,t,i,r,a,o,s,l){let c=l||Number.POSITIVE_INFINITY,u=0;return d;function d(y){return y===60?(e.enter(i),e.enter(r),e.enter(a),e.consume(y),e.exit(a),m):y===null||y===32||y===41||Jt(y)?t(y):(e.enter(i),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),_(y))}function m(y){return y===62?(e.enter(a),e.consume(y),e.exit(a),e.exit(r),e.exit(i),n):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===62?(e.exit("chunkString"),e.exit(s),m(y)):y===null||y===60||A(y)?t(y):(e.consume(y),y===92?f:p)}function f(y){return y===60||y===62||y===92?(e.consume(y),p):p(y)}function _(y){return!u&&(y===null||y===41||ne(y))?(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(i),n(y)):u<c&&y===40?(e.consume(y),u++,_):y===41?(e.consume(y),u--,_):y===null||y===32||y===40||Jt(y)?t(y):(e.consume(y),y===92?E:_)}function E(y){return y===40||y===41||y===92?(e.consume(y),_):_(y)}}function ti(e,n,t,i,r,a){let o=this,s=0,l;return c;function c(p){return e.enter(i),e.enter(r),e.consume(p),e.exit(r),e.enter(a),u}function u(p){return s>999||p===null||p===91||p===93&&!l||p===94&&!s&&"_hiddenFootnoteSupport"in o.parser.constructs?t(p):p===93?(e.exit(a),e.enter(r),e.consume(p),e.exit(r),e.exit(i),n):A(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),d(p))}function d(p){return p===null||p===91||p===93||A(p)||s++>999?(e.exit("chunkString"),u(p)):(e.consume(p),l||(l=!F(p)),p===92?m:d)}function m(p){return p===91||p===92||p===93?(e.consume(p),s++,d):d(p)}}function ni(e,n,t,i,r,a){let o;return s;function s(m){return m===34||m===39||m===40?(e.enter(i),e.enter(r),e.consume(m),e.exit(r),o=m===40?41:m,l):t(m)}function l(m){return m===o?(e.enter(r),e.consume(m),e.exit(r),e.exit(i),n):(e.enter(a),c(m))}function c(m){return m===o?(e.exit(a),l(o)):m===null?t(m):A(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),z(e,c,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(m))}function u(m){return m===o||m===null||A(m)?(e.exit("chunkString"),c(m)):(e.consume(m),m===92?d:u)}function d(m){return m===o||m===92?(e.consume(m),u):u(m)}}function at(e,n){let t;return i;function i(r){return A(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t=!0,i):F(r)?z(e,i,t?"linePrefix":"lineSuffix")(r):n(r)}}var Lr={name:"definition",tokenize:Op},Mp={tokenize:Bp,partial:!0};function Op(e,n,t){let i=this,r;return a;function a(p){return e.enter("definition"),o(p)}function o(p){return ti.call(i,e,s,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function s(p){return r=ze(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):t(p)}function l(p){return ne(p)?at(e,c)(p):c(p)}function c(p){return ei(e,u,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function u(p){return e.attempt(Mp,d,d)(p)}function d(p){return F(p)?z(e,m,"whitespace")(p):m(p)}function m(p){return p===null||A(p)?(e.exit("definition"),i.parser.defined.push(r),n(p)):t(p)}}function Bp(e,n,t){return i;function i(s){return ne(s)?at(e,r)(s):t(s)}function r(s){return ni(e,a,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function a(s){return F(s)?z(e,o,"whitespace")(s):o(s)}function o(s){return s===null||A(s)?n(s):t(s)}}var Mr={name:"hardBreakEscape",tokenize:Fp};function Fp(e,n,t){return i;function i(a){return e.enter("hardBreakEscape"),e.consume(a),r}function r(a){return A(a)?(e.exit("hardBreakEscape"),n(a)):t(a)}}var Or={name:"headingAtx",tokenize:zp,resolve:Gp};function Gp(e,n){let t=e.length-2,i=3,r,a;return e[i][1].type==="whitespace"&&(i+=2),t-2>i&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(i===t-1||t-4>i&&e[t-2][1].type==="whitespace")&&(t-=i+1===t?2:4),t>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[t][1].end},a={type:"chunkText",start:e[i][1].start,end:e[t][1].end,contentType:"text"},de(e,i,t-i+1,[["enter",r,n],["enter",a,n],["exit",a,n],["exit",r,n]])),e}function zp(e,n,t){let i=0;return r;function r(u){return e.enter("atxHeading"),a(u)}function a(u){return e.enter("atxHeadingSequence"),o(u)}function o(u){return u===35&&i++<6?(e.consume(u),o):u===null||ne(u)?(e.exit("atxHeadingSequence"),s(u)):t(u)}function s(u){return u===35?(e.enter("atxHeadingSequence"),l(u)):u===null||A(u)?(e.exit("atxHeading"),n(u)):F(u)?z(e,s,"whitespace")(u):(e.enter("atxHeadingText"),c(u))}function l(u){return u===35?(e.consume(u),l):(e.exit("atxHeadingSequence"),s(u))}function c(u){return u===null||u===35||ne(u)?(e.exit("atxHeadingText"),s(u)):(e.consume(u),c)}}var Ss=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Br=["pre","script","style","textarea"];var Fr={name:"htmlFlow",tokenize:Wp,resolveTo:Vp,concrete:!0},Up={tokenize:qp,partial:!0},Hp={tokenize:jp,partial:!0};function Vp(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function Wp(e,n,t){let i=this,r,a,o,s,l;return c;function c(h){return u(h)}function u(h){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(h),d}function d(h){return h===33?(e.consume(h),m):h===47?(e.consume(h),a=!0,_):h===63?(e.consume(h),r=3,i.interrupt?n:g):_e(h)?(e.consume(h),o=String.fromCharCode(h),E):t(h)}function m(h){return h===45?(e.consume(h),r=2,p):h===91?(e.consume(h),r=5,s=0,f):_e(h)?(e.consume(h),r=4,i.interrupt?n:g):t(h)}function p(h){return h===45?(e.consume(h),i.interrupt?n:g):t(h)}function f(h){let fe="CDATA[";return h===fe.charCodeAt(s++)?(e.consume(h),s===fe.length?i.interrupt?n:R:f):t(h)}function _(h){return _e(h)?(e.consume(h),o=String.fromCharCode(h),E):t(h)}function E(h){if(h===null||h===47||h===62||ne(h)){let fe=h===47,$e=o.toLowerCase();return!fe&&!a&&Br.includes($e)?(r=1,i.interrupt?n(h):R(h)):Ss.includes(o.toLowerCase())?(r=6,fe?(e.consume(h),y):i.interrupt?n(h):R(h)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?t(h):a?T(h):S(h))}return h===45||ae(h)?(e.consume(h),o+=String.fromCharCode(h),E):t(h)}function y(h){return h===62?(e.consume(h),i.interrupt?n:R):t(h)}function T(h){return F(h)?(e.consume(h),T):M(h)}function S(h){return h===47?(e.consume(h),M):h===58||h===95||_e(h)?(e.consume(h),N):F(h)?(e.consume(h),S):M(h)}function N(h){return h===45||h===46||h===58||h===95||ae(h)?(e.consume(h),N):L(h)}function L(h){return h===61?(e.consume(h),b):F(h)?(e.consume(h),L):S(h)}function b(h){return h===null||h===60||h===61||h===62||h===96?t(h):h===34||h===39?(e.consume(h),l=h,I):F(h)?(e.consume(h),b):D(h)}function I(h){return h===l?(e.consume(h),l=null,P):h===null||A(h)?t(h):(e.consume(h),I)}function D(h){return h===null||h===34||h===39||h===47||h===60||h===61||h===62||h===96||ne(h)?L(h):(e.consume(h),D)}function P(h){return h===47||h===62||F(h)?S(h):t(h)}function M(h){return h===62?(e.consume(h),H):t(h)}function H(h){return h===null||A(h)?R(h):F(h)?(e.consume(h),H):t(h)}function R(h){return h===45&&r===2?(e.consume(h),j):h===60&&r===1?(e.consume(h),X):h===62&&r===4?(e.consume(h),Se):h===63&&r===3?(e.consume(h),g):h===93&&r===5?(e.consume(h),ie):A(h)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(Up,Le,w)(h)):h===null||A(h)?(e.exit("htmlFlowData"),w(h)):(e.consume(h),R)}function w(h){return e.check(Hp,x,Le)(h)}function x(h){return e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),O}function O(h){return h===null||A(h)?w(h):(e.enter("htmlFlowData"),R(h))}function j(h){return h===45?(e.consume(h),g):R(h)}function X(h){return h===47?(e.consume(h),o="",re):R(h)}function re(h){if(h===62){let fe=o.toLowerCase();return Br.includes(fe)?(e.consume(h),Se):R(h)}return _e(h)&&o.length<8?(e.consume(h),o+=String.fromCharCode(h),re):R(h)}function ie(h){return h===93?(e.consume(h),g):R(h)}function g(h){return h===62?(e.consume(h),Se):h===45&&r===2?(e.consume(h),g):R(h)}function Se(h){return h===null||A(h)?(e.exit("htmlFlowData"),Le(h)):(e.consume(h),Se)}function Le(h){return e.exit("htmlFlow"),n(h)}}function jp(e,n,t){let i=this;return r;function r(o){return A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):t(o)}function a(o){return i.parser.lazy[i.now().line]?t(o):n(o)}}function qp(e,n,t){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(Ye,n,t)}}var Gr={name:"htmlText",tokenize:Kp};function Kp(e,n,t){let i=this,r,a,o;return s;function s(g){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(g),l}function l(g){return g===33?(e.consume(g),c):g===47?(e.consume(g),L):g===63?(e.consume(g),S):_e(g)?(e.consume(g),D):t(g)}function c(g){return g===45?(e.consume(g),u):g===91?(e.consume(g),a=0,f):_e(g)?(e.consume(g),T):t(g)}function u(g){return g===45?(e.consume(g),p):t(g)}function d(g){return g===null?t(g):g===45?(e.consume(g),m):A(g)?(o=d,X(g)):(e.consume(g),d)}function m(g){return g===45?(e.consume(g),p):d(g)}function p(g){return g===62?j(g):g===45?m(g):d(g)}function f(g){let Se="CDATA[";return g===Se.charCodeAt(a++)?(e.consume(g),a===Se.length?_:f):t(g)}function _(g){return g===null?t(g):g===93?(e.consume(g),E):A(g)?(o=_,X(g)):(e.consume(g),_)}function E(g){return g===93?(e.consume(g),y):_(g)}function y(g){return g===62?j(g):g===93?(e.consume(g),y):_(g)}function T(g){return g===null||g===62?j(g):A(g)?(o=T,X(g)):(e.consume(g),T)}function S(g){return g===null?t(g):g===63?(e.consume(g),N):A(g)?(o=S,X(g)):(e.consume(g),S)}function N(g){return g===62?j(g):S(g)}function L(g){return _e(g)?(e.consume(g),b):t(g)}function b(g){return g===45||ae(g)?(e.consume(g),b):I(g)}function I(g){return A(g)?(o=I,X(g)):F(g)?(e.consume(g),I):j(g)}function D(g){return g===45||ae(g)?(e.consume(g),D):g===47||g===62||ne(g)?P(g):t(g)}function P(g){return g===47?(e.consume(g),j):g===58||g===95||_e(g)?(e.consume(g),M):A(g)?(o=P,X(g)):F(g)?(e.consume(g),P):j(g)}function M(g){return g===45||g===46||g===58||g===95||ae(g)?(e.consume(g),M):H(g)}function H(g){return g===61?(e.consume(g),R):A(g)?(o=H,X(g)):F(g)?(e.consume(g),H):P(g)}function R(g){return g===null||g===60||g===61||g===62||g===96?t(g):g===34||g===39?(e.consume(g),r=g,w):A(g)?(o=R,X(g)):F(g)?(e.consume(g),R):(e.consume(g),x)}function w(g){return g===r?(e.consume(g),r=void 0,O):g===null?t(g):A(g)?(o=w,X(g)):(e.consume(g),w)}function x(g){return g===null||g===34||g===39||g===60||g===61||g===96?t(g):g===47||g===62||ne(g)?P(g):(e.consume(g),x)}function O(g){return g===47||g===62||ne(g)?P(g):t(g)}function j(g){return g===62?(e.consume(g),e.exit("htmlTextData"),e.exit("htmlText"),n):t(g)}function X(g){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),re}function re(g){return F(g)?z(e,ie,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(g):ie(g)}function ie(g){return e.enter("htmlTextData"),o(g)}}var ot={name:"labelEnd",tokenize:Qp,resolveTo:$p,resolveAll:Zp},Xp={tokenize:em},Yp={tokenize:tm},Jp={tokenize:nm};function Zp(e){let n=-1;for(;++n<e.length;){let t=e[n][1];(t.type==="labelImage"||t.type==="labelLink"||t.type==="labelEnd")&&(e.splice(n+1,t.type==="labelImage"?4:2),t.type="data",n++)}return e}function $p(e,n){let t=e.length,i=0,r,a,o,s;for(;t--;)if(r=e[t][1],a){if(r.type==="link"||r.type==="labelLink"&&r._inactive)break;e[t][0]==="enter"&&r.type==="labelLink"&&(r._inactive=!0)}else if(o){if(e[t][0]==="enter"&&(r.type==="labelImage"||r.type==="labelLink")&&!r._balanced&&(a=t,r.type!=="labelLink")){i=2;break}}else r.type==="labelEnd"&&(o=t);let l={type:e[a][1].type==="labelLink"?"link":"image",start:Object.assign({},e[a][1].start),end:Object.assign({},e[e.length-1][1].end)},c={type:"label",start:Object.assign({},e[a][1].start),end:Object.assign({},e[o][1].end)},u={type:"labelText",start:Object.assign({},e[a+i+2][1].end),end:Object.assign({},e[o-2][1].start)};return s=[["enter",l,n],["enter",c,n]],s=me(s,e.slice(a+1,a+i+3)),s=me(s,[["enter",u,n]]),s=me(s,wt(n.parser.constructs.insideSpan.null,e.slice(a+i+4,o-3),n)),s=me(s,[["exit",u,n],e[o-2],e[o-1],["exit",c,n]]),s=me(s,e.slice(o+1)),s=me(s,[["exit",l,n]]),de(e,a,e.length,s),e}function Qp(e,n,t){let i=this,r=i.events.length,a,o;for(;r--;)if((i.events[r][1].type==="labelImage"||i.events[r][1].type==="labelLink")&&!i.events[r][1]._balanced){a=i.events[r][1];break}return s;function s(m){return a?a._inactive?d(m):(o=i.parser.defined.includes(ze(i.sliceSerialize({start:a.end,end:i.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),l):t(m)}function l(m){return m===40?e.attempt(Xp,u,o?u:d)(m):m===91?e.attempt(Yp,u,o?c:d)(m):o?u(m):d(m)}function c(m){return e.attempt(Jp,u,d)(m)}function u(m){return n(m)}function d(m){return a._balanced=!0,t(m)}}function em(e,n,t){return i;function i(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),r}function r(d){return ne(d)?at(e,a)(d):a(d)}function a(d){return d===41?u(d):ei(e,o,s,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function o(d){return ne(d)?at(e,l)(d):u(d)}function s(d){return t(d)}function l(d){return d===34||d===39||d===40?ni(e,c,t,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):u(d)}function c(d){return ne(d)?at(e,u)(d):u(d)}function u(d){return d===41?(e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),n):t(d)}}function tm(e,n,t){let i=this;return r;function r(s){return ti.call(i,e,a,o,"reference","referenceMarker","referenceString")(s)}function a(s){return i.parser.defined.includes(ze(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)))?n(s):t(s)}function o(s){return t(s)}}function nm(e,n,t){return i;function i(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),r}function r(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),n):t(a)}}var zr={name:"labelStartImage",tokenize:im,resolveAll:ot.resolveAll};function im(e,n,t){let i=this;return r;function r(s){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(s),e.exit("labelImageMarker"),a}function a(s){return s===91?(e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelImage"),o):t(s)}function o(s){return s===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(s):n(s)}}var Ur={name:"labelStartLink",tokenize:rm,resolveAll:ot.resolveAll};function rm(e,n,t){let i=this;return r;function r(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),a}function a(o){return o===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(o):n(o)}}var tn={name:"lineEnding",tokenize:am};function am(e,n){return t;function t(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),z(e,n,"linePrefix")}}var st={name:"thematicBreak",tokenize:om};function om(e,n,t){let i=0,r;return a;function a(c){return e.enter("thematicBreak"),o(c)}function o(c){return r=c,s(c)}function s(c){return c===r?(e.enter("thematicBreakSequence"),l(c)):i>=3&&(c===null||A(c))?(e.exit("thematicBreak"),n(c)):t(c)}function l(c){return c===r?(e.consume(c),i++,l):(e.exit("thematicBreakSequence"),F(c)?z(e,s,"whitespace")(c):s(c))}}var pe={name:"list",tokenize:cm,continuation:{tokenize:um},exit:pm},sm={tokenize:mm,partial:!0},lm={tokenize:dm,partial:!0};function cm(e,n,t){let i=this,r=i.events[i.events.length-1],a=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,o=0;return s;function s(p){let f=i.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!i.containerState.marker||p===i.containerState.marker:Zt(p)){if(i.containerState.type||(i.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(st,t,c)(p):c(p);if(!i.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return t(p)}function l(p){return Zt(p)&&++o<10?(e.consume(p),l):(!i.interrupt||o<2)&&(i.containerState.marker?p===i.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),c(p)):t(p)}function c(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||p,e.check(Ye,i.interrupt?t:u,e.attempt(sm,m,d))}function u(p){return i.containerState.initialBlankLine=!0,a++,m(p)}function d(p){return F(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),m):t(p)}function m(p){return i.containerState.size=a+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(p)}}function um(e,n,t){let i=this;return i.containerState._closeFlow=void 0,e.check(Ye,r,a);function r(s){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,z(e,n,"listItemIndent",i.containerState.size+1)(s)}function a(s){return i.containerState.furtherBlankLines||!F(s)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,o(s)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(lm,n,o)(s))}function o(s){return i.containerState._closeFlow=!0,i.interrupt=void 0,z(e,e.attempt(pe,n,t),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function dm(e,n,t){let i=this;return z(e,r,"listItemIndent",i.containerState.size+1);function r(a){let o=i.events[i.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===i.containerState.size?n(a):t(a)}}function pm(e){e.exit(this.containerState.type)}function mm(e,n,t){let i=this;return z(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(a){let o=i.events[i.events.length-1];return!F(a)&&o&&o[1].type==="listItemPrefixWhitespace"?n(a):t(a)}}var ii={name:"setextUnderline",tokenize:hm,resolveTo:gm};function gm(e,n){let t=e.length,i,r,a;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){i=t;break}e[t][1].type==="paragraph"&&(r=t)}else e[t][1].type==="content"&&e.splice(t,1),!a&&e[t][1].type==="definition"&&(a=t);let o={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[r][1].type="setextHeadingText",a?(e.splice(r,0,["enter",o,n]),e.splice(a+1,0,["exit",e[i][1],n]),e[i][1].end=Object.assign({},e[a][1].end)):e[i][1]=o,e.push(["exit",o,n]),e}function hm(e,n,t){let i=this,r;return a;function a(c){let u=i.events.length,d;for(;u--;)if(i.events[u][1].type!=="lineEnding"&&i.events[u][1].type!=="linePrefix"&&i.events[u][1].type!=="content"){d=i.events[u][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||d)?(e.enter("setextHeadingLine"),r=c,o(c)):t(c)}function o(c){return e.enter("setextHeadingLineSequence"),s(c)}function s(c){return c===r?(e.consume(c),s):(e.exit("setextHeadingLineSequence"),F(c)?z(e,l,"lineSuffix")(c):l(c))}function l(c){return c===null||A(c)?(e.exit("setextHeadingLine"),n(c)):t(c)}}var Es={tokenize:fm};function fm(e){let n=this,t=e.attempt(Ye,i,e.attempt(this.parser.constructs.flowInitial,r,z(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Nr,r)),"linePrefix")));return t;function i(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n.currentConstruct=void 0,t}}var Cs={resolveAll:As()},ks=Ts("string"),ws=Ts("text");function Ts(e){return{tokenize:n,resolveAll:As(e==="text"?ym:void 0)};function n(t){let i=this,r=this.parser.constructs[e],a=t.attempt(r,o,s);return o;function o(u){return c(u)?a(u):s(u)}function s(u){if(u===null){t.consume(u);return}return t.enter("data"),t.consume(u),l}function l(u){return c(u)?(t.exit("data"),a(u)):(t.consume(u),l)}function c(u){if(u===null)return!0;let d=r[u],m=-1;if(d)for(;++m<d.length;){let p=d[m];if(!p.previous||p.previous.call(i,i.previous))return!0}return!1}}}function As(e){return n;function n(t,i){let r=-1,a;for(;++r<=t.length;)a===void 0?t[r]&&t[r][1].type==="data"&&(a=r,r++):(!t[r]||t[r][1].type!=="data")&&(r!==a+2&&(t[a][1].end=t[r-1][1].end,t.splice(a+2,r-a-2),r=a+2),a=void 0);return e?e(t,i):t}}function ym(e,n){let t=0;for(;++t<=e.length;)if((t===e.length||e[t][1].type==="lineEnding")&&e[t-1][1].type==="data"){let i=e[t-1][1],r=n.sliceStream(i),a=r.length,o=-1,s=0,l;for(;a--;){let c=r[a];if(typeof c=="string"){for(o=c.length;c.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(c===-2)l=!0,s++;else if(c!==-1){a++;break}}if(s){let c={type:t===e.length||l||s<2?"lineSuffix":"hardBreakTrailing",start:{line:i.end.line,column:i.end.column-s,offset:i.end.offset-s,_index:i.start._index+a,_bufferIndex:a?o:i.start._bufferIndex+o},end:Object.assign({},i.end)};i.end=Object.assign({},c.start),i.start.offset===i.end.offset?Object.assign(i,c):(e.splice(t,0,["enter",c,n],["exit",c,n]),t+=2)}t++}return e}function xs(e,n,t){let i=Object.assign(t?Object.assign({},t):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1}),r={},a=[],o=[],s=[],l=!0,c={consume:N,enter:L,exit:b,attempt:P(I),check:P(D),interrupt:P(D,{interrupt:!0})},u={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:_,sliceSerialize:f,now:E,defineSkip:y,write:p},d=n.tokenize.call(u,c),m;return n.resolveAll&&a.push(n),u;function p(w){return o=me(o,w),T(),o[o.length-1]!==null?[]:(M(n,0),u.events=wt(a,u.events,u),u.events)}function f(w,x){return vm(_(w),x)}function _(w){return bm(o,w)}function E(){let{line:w,column:x,offset:O,_index:j,_bufferIndex:X}=i;return{line:w,column:x,offset:O,_index:j,_bufferIndex:X}}function y(w){r[w.line]=w.column,R()}function T(){let w;for(;i._index<o.length;){let x=o[i._index];if(typeof x=="string")for(w=i._index,i._bufferIndex<0&&(i._bufferIndex=0);i._index===w&&i._bufferIndex<x.length;)S(x.charCodeAt(i._bufferIndex));else S(x)}}function S(w){l=void 0,m=w,d=d(w)}function N(w){A(w)?(i.line++,i.column=1,i.offset+=w===-3?2:1,R()):w!==-1&&(i.column++,i.offset++),i._bufferIndex<0?i._index++:(i._bufferIndex++,i._bufferIndex===o[i._index].length&&(i._bufferIndex=-1,i._index++)),u.previous=w,l=!0}function L(w,x){let O=x||{};return O.type=w,O.start=E(),u.events.push(["enter",O,u]),s.push(O),O}function b(w){let x=s.pop();return x.end=E(),u.events.push(["exit",x,u]),x}function I(w,x){M(w,x.from)}function D(w,x){x.restore()}function P(w,x){return O;function O(j,X,re){let ie,g,Se,Le;return Array.isArray(j)?fe(j):"tokenize"in j?fe([j]):h(j);function h(se){return Nt;function Nt(Ie){let ut=Ie!==null&&se[Ie],dt=Ie!==null&&se.null,Pi=[...Array.isArray(ut)?ut:ut?[ut]:[],...Array.isArray(dt)?dt:dt?[dt]:[]];return fe(Pi)(Ie)}}function fe(se){return ie=se,g=0,se.length===0?re:$e(se[g])}function $e(se){return Nt;function Nt(Ie){return Le=H(),Se=se,se.partial||(u.currentConstruct=se),se.name&&u.parser.constructs.disable.null.includes(se.name)?un(Ie):se.tokenize.call(x?Object.assign(Object.create(u),x):u,c,Ri,un)(Ie)}}function Ri(se){return l=!0,w(Se,Le),X}function un(se){return l=!0,Le.restore(),++g<ie.length?$e(ie[g]):re}}}function M(w,x){w.resolveAll&&!a.includes(w)&&a.push(w),w.resolve&&de(u.events,x,u.events.length-x,w.resolve(u.events.slice(x),u)),w.resolveTo&&(u.events=w.resolveTo(u.events,u))}function H(){let w=E(),x=u.previous,O=u.currentConstruct,j=u.events.length,X=Array.from(s);return{restore:re,from:j};function re(){i=w,u.previous=x,u.currentConstruct=O,u.events.length=j,s=X,R()}}function R(){i.line in r&&i.column<2&&(i.column=r[i.line],i.offset+=r[i.line]-1)}}function bm(e,n){let t=n.start._index,i=n.start._bufferIndex,r=n.end._index,a=n.end._bufferIndex,o;if(t===r)o=[e[t].slice(i,a)];else{if(o=e.slice(t,r),i>-1){let s=o[0];typeof s=="string"?o[0]=s.slice(i):o.shift()}a>0&&o.push(e[r].slice(0,a))}return o}function vm(e,n){let t=-1,i=[],r;for(;++t<e.length;){let a=e[t],o;if(typeof a=="string")o=a;else switch(a){case-5:{o="\r";break}case-4:{o=`
|
|
3434
|
+
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function ns(e,n,t,i){let r=i.schema,a=r.space==="svg"?!1:i.settings.omitOptionalTags,o=r.space==="svg"?i.settings.closeEmptyElements:i.settings.voids.includes(e.tagName.toLowerCase()),s=[],l;r.space==="html"&&e.tagName==="svg"&&(i.schema=zn);let c=Jd(i,e.properties),u=i.all(r.space==="html"&&e.tagName==="template"?e.content:e);return i.schema=r,u&&(o=!1),(c||!a||!ts(e,n,t))&&(s.push("<",e.tagName,c?" "+c:""),o&&(r.space==="svg"||i.settings.closeSelfClosing)&&(l=c.charAt(c.length-1),(!i.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&s.push(" "),s.push("/")),s.push(">")),s.push(u),!o&&(!a||!Jt(e,n,t))&&s.push("</"+e.tagName+">"),s.join("")}function Jd(e,n){let t=[],i=-1,r;if(n){for(r in n)if(n[r]!==null&&n[r]!==void 0){let a=Zd(e,r,n[r]);a&&t.push(a)}}for(;++i<t.length;){let a=e.settings.tightAttributes?t[i].charAt(t[i].length-1):void 0;i!==t.length-1&&a!=='"'&&a!=="'"&&(t[i]+=" ")}return t.join("")}function Zd(e,n,t){let i=kr(e.schema,n),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,a=e.settings.allowDangerousCharacters?0:1,o=e.quote,s;if(i.overloadedBoolean&&(t===i.attribute||t==="")?t=!0:(i.boolean||i.overloadedBoolean&&typeof t!="string")&&(t=!!t),t==null||t===!1||typeof t=="number"&&Number.isNaN(t))return"";let l=ze(i.attribute,Object.assign({},e.settings.characterReferences,{subset:Wn.name[r][a]}));return t===!0||(t=Array.isArray(t)?(i.commaSeparated?Zo:So)(t,{padLeft:!e.settings.tightCommaSeparatedLists}):String(t),e.settings.collapseEmptyAttributes&&!t)?l:(e.settings.preferUnquoted&&(s=ze(t,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Wn.unquoted[r][a]}))),s!==t&&(e.settings.quoteSmart&&Tr(t,o)>Tr(t,e.alternative)&&(o=e.alternative),s=o+ze(t,Object.assign({},e.settings.characterReferences,{subset:(o==="'"?Wn.single:Wn.double)[r][a],attribute:!0}))+o),l+(s&&"="+s))}var $d=["<","&"];function jn(e,n,t,i){return t&&t.type==="element"&&(t.tagName==="script"||t.tagName==="style")?e.value:ze(e.value,Object.assign({},i.settings.characterReferences,{subset:$d}))}function is(e,n,t,i){return i.settings.allowDangerousHtml?e.value:jn(e,n,t,i)}function rs(e,n,t,i){return i.all(e)}var as=Go("type",{invalid:Qd,unknown:ep,handlers:{comment:Yo,doctype:Jo,element:ns,raw:is,root:rs,text:jn}});function Qd(e){throw new Error("Expected node, not `"+e+"`")}function ep(e){let n=e;throw new Error("Cannot compile unknown node `"+n.type+"`")}var tp={},np={},ip=[];function Ir(e,n){let t=n||tp,i=t.quote||'"',r=i==='"'?"'":'"';if(i!=='"'&&i!=="'")throw new Error("Invalid quote `"+i+"`, expected `'` or `\"`");return{one:rp,all:ap,settings:{omitOptionalTags:t.omitOptionalTags||!1,allowParseErrors:t.allowParseErrors||!1,allowDangerousCharacters:t.allowDangerousCharacters||!1,quoteSmart:t.quoteSmart||!1,preferUnquoted:t.preferUnquoted||!1,tightAttributes:t.tightAttributes||!1,upperDoctype:t.upperDoctype||!1,tightDoctype:t.tightDoctype||!1,bogusComments:t.bogusComments||!1,tightCommaSeparatedLists:t.tightCommaSeparatedLists||!1,tightSelfClosing:t.tightSelfClosing||!1,collapseEmptyAttributes:t.collapseEmptyAttributes||!1,allowDangerousHtml:t.allowDangerousHtml||!1,voids:t.voids||Do,characterReferences:t.characterReferences||np,closeSelfClosing:t.closeSelfClosing||!1,closeEmptyElements:t.closeEmptyElements||!1},schema:t.space==="svg"?zn:Bo,quote:i,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function rp(e,n,t){return as(e,n,t,this)}function ap(e){let n=[],t=e&&e.children||ip,i=-1;for(;++i<t.length;)n[i]=this.one(t[i],i,e);return n.join("")}function qn(e){let n=this,t={...n.data("settings"),...e};n.compiler=i;function i(r){return Ir(r,t)}}var op={};function Rr(e,n){let t=n||op,i=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,r=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return ss(e,i,r)}function ss(e,n,t){if(sp(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return os(e.children,n,t)}return Array.isArray(e)?os(e,n,t):""}function os(e,n,t){let i=[],r=-1;for(;++r<e.length;)i[r]=ss(e[r],n,t);return i.join("")}function sp(e){return!!(e&&typeof e=="object")}var ls=document.createElement("i");function kt(e){let n="&"+e+";";ls.innerHTML=n;let t=ls.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}function de(e,n,t,i){let r=e.length,a=0,o;if(n<0?n=-n>r?0:r+n:n=n>r?r:n,t=t>0?t:0,i.length<1e4)o=Array.from(i),o.unshift(n,t),e.splice(...o);else for(t&&e.splice(n,t);a<i.length;)o=i.slice(a,a+1e4),o.unshift(n,0),e.splice(...o),a+=1e4,n+=1e4}function me(e,n){return e.length>0?(de(e,e.length,0,n),e):n}var cs={}.hasOwnProperty;function us(e){let n={},t=-1;for(;++t<e.length;)lp(n,e[t]);return n}function lp(e,n){let t;for(t in n){let r=(cs.call(e,t)?e[t]:void 0)||(e[t]={}),a=n[t],o;if(a)for(o in a){cs.call(r,o)||(r[o]=[]);let s=a[o];cp(r[o],Array.isArray(s)?s:s?[s]:[])}}}function cp(e,n){let t=-1,i=[];for(;++t<n.length;)(n[t].add==="after"?e:i).push(n[t]);de(e,0,0,i)}function Kn(e,n){let t=Number.parseInt(e,n);return t<9||t===11||t>13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"\uFFFD":String.fromCodePoint(t)}function Ue(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var _e=Ye(/[A-Za-z]/),ae=Ye(/[\dA-Za-z]/),ds=Ye(/[#-'*+\--9=?A-Z^-~]/);function Zt(e){return e!==null&&(e<32||e===127)}var $t=Ye(/\d/),ps=Ye(/[\dA-Fa-f]/),ms=Ye(/[!-/:-@[-`{-~]/);function A(e){return e!==null&&e<-2}function ne(e){return e!==null&&(e<0||e===32)}function F(e){return e===-2||e===-1||e===32}var gs=Ye(/\p{P}|\p{S}/u),hs=Ye(/\s/);function Ye(e){return n;function n(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function ke(e){let n=[],t=-1,i=0,r=0;for(;++t<e.length;){let a=e.charCodeAt(t),o="";if(a===37&&ae(e.charCodeAt(t+1))&&ae(e.charCodeAt(t+2)))r=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let s=e.charCodeAt(t+1);a<56320&&s>56319&&s<57344?(o=String.fromCharCode(a,s),r=1):o="\uFFFD"}else o=String.fromCharCode(a);o&&(n.push(e.slice(i,t),encodeURIComponent(o)),i=t+r+1,o=""),r&&(t+=r,r=0)}return n.join("")+e.slice(i)}function z(e,n,t,i){let r=i?i-1:Number.POSITIVE_INFINITY,a=0;return o;function o(l){return F(l)?(e.enter(t),s(l)):n(l)}function s(l){return F(l)&&a++<r?(e.consume(l),s):(e.exit(t),n(l))}}var fs={tokenize:up};function up(e){let n=e.attempt(this.parser.constructs.contentInitial,i,r),t;return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),z(e,n,"linePrefix")}function r(s){return e.enter("paragraph"),a(s)}function a(s){let l=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=l),t=l,o(s)}function o(s){if(s===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(s);return}return A(s)?(e.consume(s),e.exit("chunkText"),a):(e.consume(s),o)}}var bs={tokenize:dp},ys={tokenize:pp};function dp(e){let n=this,t=[],i=0,r,a,o;return s;function s(S){if(i<t.length){let N=t[i];return n.containerState=N[1],e.attempt(N[0].continuation,l,c)(S)}return c(S)}function l(S){if(i++,n.containerState._closeFlow){n.containerState._closeFlow=void 0,r&&T();let N=n.events.length,L=N,b;for(;L--;)if(n.events[L][0]==="exit"&&n.events[L][1].type==="chunkFlow"){b=n.events[L][1].end;break}y(i);let I=N;for(;I<n.events.length;)n.events[I][1].end=Object.assign({},b),I++;return de(n.events,L+1,0,n.events.slice(N)),n.events.length=I,c(S)}return s(S)}function c(S){if(i===t.length){if(!r)return m(S);if(r.currentConstruct&&r.currentConstruct.concrete)return f(S);n.interrupt=!!(r.currentConstruct&&!r._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(ys,u,d)(S)}function u(S){return r&&T(),y(i),m(S)}function d(S){return n.parser.lazy[n.now().line]=i!==t.length,o=n.now().offset,f(S)}function m(S){return n.containerState={},e.attempt(ys,p,f)(S)}function p(S){return i++,t.push([n.currentConstruct,n.containerState]),m(S)}function f(S){if(S===null){r&&T(),y(0),e.consume(S);return}return r=r||n.parser.flow(n.now()),e.enter("chunkFlow",{contentType:"flow",previous:a,_tokenizer:r}),_(S)}function _(S){if(S===null){E(e.exit("chunkFlow"),!0),y(0),e.consume(S);return}return A(S)?(e.consume(S),E(e.exit("chunkFlow")),i=0,n.interrupt=void 0,s):(e.consume(S),_)}function E(S,N){let L=n.sliceStream(S);if(N&&L.push(null),S.previous=a,a&&(a.next=S),a=S,r.defineSkip(S.start),r.write(L),n.parser.lazy[S.start.line]){let b=r.events.length;for(;b--;)if(r.events[b][1].start.offset<o&&(!r.events[b][1].end||r.events[b][1].end.offset>o))return;let I=n.events.length,D=I,P,M;for(;D--;)if(n.events[D][0]==="exit"&&n.events[D][1].type==="chunkFlow"){if(P){M=n.events[D][1].end;break}P=!0}for(y(i),b=I;b<n.events.length;)n.events[b][1].end=Object.assign({},M),b++;de(n.events,D+1,0,n.events.slice(I)),n.events.length=b}}function y(S){let N=t.length;for(;N-- >S;){let L=t[N];n.containerState=L[1],L[0].exit.call(n,e)}t.length=S}function T(){r.write([null]),a=void 0,r=void 0,n.containerState._closeFlow=void 0}}function pp(e,n,t){return z(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Pr(e){if(e===null||ne(e)||hs(e))return 1;if(gs(e))return 2}function wt(e,n,t){let i=[],r=-1;for(;++r<e.length;){let a=e[r].resolveAll;a&&!i.includes(a)&&(n=a(n,t),i.push(a))}return n}var Qt={name:"attention",tokenize:gp,resolveAll:mp};function mp(e,n){let t=-1,i,r,a,o,s,l,c,u;for(;++t<e.length;)if(e[t][0]==="enter"&&e[t][1].type==="attentionSequence"&&e[t][1]._close){for(i=t;i--;)if(e[i][0]==="exit"&&e[i][1].type==="attentionSequence"&&e[i][1]._open&&n.sliceSerialize(e[i][1]).charCodeAt(0)===n.sliceSerialize(e[t][1]).charCodeAt(0)){if((e[i][1]._close||e[t][1]._open)&&(e[t][1].end.offset-e[t][1].start.offset)%3&&!((e[i][1].end.offset-e[i][1].start.offset+e[t][1].end.offset-e[t][1].start.offset)%3))continue;l=e[i][1].end.offset-e[i][1].start.offset>1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;let d=Object.assign({},e[i][1].end),m=Object.assign({},e[t][1].start);vs(d,-l),vs(m,l),o={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[i][1].end)},s={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[t][1].start),end:m},a={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[i][1].end),end:Object.assign({},e[t][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},s.end)},e[i][1].end=Object.assign({},o.start),e[t][1].start=Object.assign({},s.end),c=[],e[i][1].end.offset-e[i][1].start.offset&&(c=me(c,[["enter",e[i][1],n],["exit",e[i][1],n]])),c=me(c,[["enter",r,n],["enter",o,n],["exit",o,n],["enter",a,n]]),c=me(c,wt(n.parser.constructs.insideSpan.null,e.slice(i+1,t),n)),c=me(c,[["exit",a,n],["enter",s,n],["exit",s,n],["exit",r,n]]),e[t][1].end.offset-e[t][1].start.offset?(u=2,c=me(c,[["enter",e[t][1],n],["exit",e[t][1],n]])):u=0,de(e,i-1,t-i+3,c),t=i+c.length-u-2;break}}for(t=-1;++t<e.length;)e[t][1].type==="attentionSequence"&&(e[t][1].type="data");return e}function gp(e,n){let t=this.parser.constructs.attentionMarkers.null,i=this.previous,r=Pr(i),a;return o;function o(l){return a=l,e.enter("attentionSequence"),s(l)}function s(l){if(l===a)return e.consume(l),s;let c=e.exit("attentionSequence"),u=Pr(l),d=!u||u===2&&r||t.includes(l),m=!r||r===2&&u||t.includes(i);return c._open=!!(a===42?d:d&&(r||!m)),c._close=!!(a===42?m:m&&(u||!d)),n(l)}}function vs(e,n){e.column+=n,e.offset+=n,e._bufferIndex+=n}var Dr={name:"autolink",tokenize:hp};function hp(e,n,t){let i=0;return r;function r(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(p){return _e(p)?(e.consume(p),o):p===64?t(p):c(p)}function o(p){return p===43||p===45||p===46||ae(p)?(i=1,s(p)):c(p)}function s(p){return p===58?(e.consume(p),i=0,l):(p===43||p===45||p===46||ae(p))&&i++<32?(e.consume(p),s):(i=0,c(p))}function l(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):p===null||p===32||p===60||Zt(p)?t(p):(e.consume(p),l)}function c(p){return p===64?(e.consume(p),u):ds(p)?(e.consume(p),c):t(p)}function u(p){return ae(p)?d(p):t(p)}function d(p){return p===46?(e.consume(p),i=0,u):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):m(p)}function m(p){if((p===45||ae(p))&&i++<63){let f=p===45?m:d;return e.consume(p),f}return t(p)}}var Je={tokenize:fp,partial:!0};function fp(e,n,t){return i;function i(a){return F(a)?z(e,r,"linePrefix")(a):r(a)}function r(a){return a===null||A(a)?n(a):t(a)}}var Xn={name:"blockQuote",tokenize:yp,continuation:{tokenize:bp},exit:vp};function yp(e,n,t){let i=this;return r;function r(o){if(o===62){let s=i.containerState;return s.open||(e.enter("blockQuote",{_container:!0}),s.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),a}return t(o)}function a(o){return F(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),n):(e.exit("blockQuotePrefix"),n(o))}}function bp(e,n,t){let i=this;return r;function r(o){return F(o)?z(e,a,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):a(o)}function a(o){return e.attempt(Xn,n,t)(o)}}function vp(e){e.exit("blockQuote")}var Yn={name:"characterEscape",tokenize:_p};function _p(e,n,t){return i;function i(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),r}function r(a){return ms(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),n):t(a)}}var Jn={name:"characterReference",tokenize:Sp};function Sp(e,n,t){let i=this,r=0,a,o;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),c):(e.enter("characterReferenceValue"),a=31,o=ae,u(d))}function c(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=ps,u):(e.enter("characterReferenceValue"),a=7,o=$t,u(d))}function u(d){if(d===59&&r){let m=e.exit("characterReferenceValue");return o===ae&&!kt(i.sliceSerialize(m))?t(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),n)}return o(d)&&r++<a?(e.consume(d),u):t(d)}}var _s={tokenize:Cp,partial:!0},Zn={name:"codeFenced",tokenize:Ep,concrete:!0};function Ep(e,n,t){let i=this,r={tokenize:L,partial:!0},a=0,o=0,s;return l;function l(b){return c(b)}function c(b){let I=i.events[i.events.length-1];return a=I&&I[1].type==="linePrefix"?I[2].sliceSerialize(I[1],!0).length:0,s=b,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),u(b)}function u(b){return b===s?(o++,e.consume(b),u):o<3?t(b):(e.exit("codeFencedFenceSequence"),F(b)?z(e,d,"whitespace")(b):d(b))}function d(b){return b===null||A(b)?(e.exit("codeFencedFence"),i.interrupt?n(b):e.check(_s,_,N)(b)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),m(b))}function m(b){return b===null||A(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(b)):F(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),z(e,p,"whitespace")(b)):b===96&&b===s?t(b):(e.consume(b),m)}function p(b){return b===null||A(b)?d(b):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),f(b))}function f(b){return b===null||A(b)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(b)):b===96&&b===s?t(b):(e.consume(b),f)}function _(b){return e.attempt(r,N,E)(b)}function E(b){return e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),y}function y(b){return a>0&&F(b)?z(e,T,"linePrefix",a+1)(b):T(b)}function T(b){return b===null||A(b)?e.check(_s,_,N)(b):(e.enter("codeFlowValue"),S(b))}function S(b){return b===null||A(b)?(e.exit("codeFlowValue"),T(b)):(e.consume(b),S)}function N(b){return e.exit("codeFenced"),n(b)}function L(b,I,D){let P=0;return M;function M(O){return b.enter("lineEnding"),b.consume(O),b.exit("lineEnding"),H}function H(O){return b.enter("codeFencedFence"),F(O)?z(b,R,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):R(O)}function R(O){return O===s?(b.enter("codeFencedFenceSequence"),w(O)):D(O)}function w(O){return O===s?(P++,b.consume(O),w):P>=o?(b.exit("codeFencedFenceSequence"),F(O)?z(b,x,"whitespace")(O):x(O)):D(O)}function x(O){return O===null||A(O)?(b.exit("codeFencedFence"),I(O)):D(O)}}}function Cp(e,n,t){let i=this;return r;function r(o){return o===null?t(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a)}function a(o){return i.parser.lazy[i.now().line]?t(o):n(o)}}var en={name:"codeIndented",tokenize:wp},kp={tokenize:Tp,partial:!0};function wp(e,n,t){let i=this;return r;function r(c){return e.enter("codeIndented"),z(e,a,"linePrefix",5)(c)}function a(c){let u=i.events[i.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?o(c):t(c)}function o(c){return c===null?l(c):A(c)?e.attempt(kp,o,l)(c):(e.enter("codeFlowValue"),s(c))}function s(c){return c===null||A(c)?(e.exit("codeFlowValue"),o(c)):(e.consume(c),s)}function l(c){return e.exit("codeIndented"),n(c)}}function Tp(e,n,t){let i=this;return r;function r(o){return i.parser.lazy[i.now().line]?t(o):A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),r):z(e,a,"linePrefix",5)(o)}function a(o){let s=i.events[i.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(o):A(o)?r(o):t(o)}}var Nr={name:"codeText",tokenize:Ip,resolve:Ap,previous:xp};function Ap(e){let n=e.length-4,t=3,i,r;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(i=t;++i<n;)if(e[i][1].type==="codeTextData"){e[t][1].type="codeTextPadding",e[n][1].type="codeTextPadding",t+=2,n-=2;break}}for(i=t-1,n++;++i<=n;)r===void 0?i!==n&&e[i][1].type!=="lineEnding"&&(r=i):(i===n||e[i][1].type==="lineEnding")&&(e[r][1].type="codeTextData",i!==r+2&&(e[r][1].end=e[i-1][1].end,e.splice(r+2,i-r-2),n-=i-r-2,i=r+2),r=void 0);return e}function xp(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Ip(e,n,t){let i=this,r=0,a,o;return s;function s(m){return e.enter("codeText"),e.enter("codeTextSequence"),l(m)}function l(m){return m===96?(e.consume(m),r++,l):(e.exit("codeTextSequence"),c(m))}function c(m){return m===null?t(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),c):m===96?(o=e.enter("codeTextSequence"),a=0,d(m)):A(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),c):(e.enter("codeTextData"),u(m))}function u(m){return m===null||m===32||m===96||A(m)?(e.exit("codeTextData"),c(m)):(e.consume(m),u)}function d(m){return m===96?(e.consume(m),a++,d):a===r?(e.exit("codeTextSequence"),e.exit("codeText"),n(m)):(o.type="codeTextData",u(m))}}var $n=class{constructor(n){this.left=n?[...n]:[],this.right=[]}get(n){if(n<0||n>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return n<this.left.length?this.left[n]:this.right[this.right.length-n+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(n,t){let i=t??Number.POSITIVE_INFINITY;return i<this.left.length?this.left.slice(n,i):n>this.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(n,t,i){let r=t||0;this.setCursor(Math.trunc(n));let a=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&tn(this.left,i),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),tn(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),tn(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n<this.left.length){let t=this.left.splice(n,Number.POSITIVE_INFINITY);tn(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-n,Number.POSITIVE_INFINITY);tn(this.left,t.reverse())}}};function tn(e,n){let t=0;if(n.length<1e4)e.push(...n);else for(;t<n.length;)e.push(...n.slice(t,t+1e4)),t+=1e4}function Qn(e){let n={},t=-1,i,r,a,o,s,l,c,u=new $n(e);for(;++t<u.length;){for(;t in n;)t=n[t];if(i=u.get(t),t&&i[1].type==="chunkFlow"&&u.get(t-1)[1].type==="listItemPrefix"&&(l=i[1]._tokenizer.events,a=0,a<l.length&&l[a][1].type==="lineEndingBlank"&&(a+=2),a<l.length&&l[a][1].type==="content"))for(;++a<l.length&&l[a][1].type!=="content";)l[a][1].type==="chunkText"&&(l[a][1]._isInFirstContentOfListItem=!0,a++);if(i[0]==="enter")i[1].contentType&&(Object.assign(n,Rp(u,t)),t=n[t],c=!0);else if(i[1]._container){for(a=t,r=void 0;a--&&(o=u.get(a),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank");)o[0]==="enter"&&(r&&(u.get(r)[1].type="lineEndingBlank"),o[1].type="lineEnding",r=a);r&&(i[1].end=Object.assign({},u.get(r)[1].start),s=u.slice(r,t),s.unshift(i),u.splice(r,t-r+1,s))}}return de(e,0,Number.POSITIVE_INFINITY,u.slice(0)),!c}function Rp(e,n){let t=e.get(n)[1],i=e.get(n)[2],r=n-1,a=[],o=t._tokenizer||i.parser[t.contentType](t.start),s=o.events,l=[],c={},u,d,m=-1,p=t,f=0,_=0,E=[_];for(;p;){for(;e.get(++r)[1]!==p;);a.push(r),p._tokenizer||(u=i.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=t;++m<s.length;)s[m][0]==="exit"&&s[m-1][0]==="enter"&&s[m][1].type===s[m-1][1].type&&s[m][1].start.line!==s[m][1].end.line&&(_=m+1,E.push(_),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):E.pop(),m=E.length;m--;){let y=s.slice(E[m],E[m+1]),T=a.pop();l.push([T,T+y.length-1]),e.splice(T,2,y)}for(l.reverse(),m=-1;++m<l.length;)c[f+l[m][0]]=f+l[m][1],f+=l[m][1]-l[m][0]-1;return c}var Lr={tokenize:Np,resolve:Dp},Pp={tokenize:Lp,partial:!0};function Dp(e){return Qn(e),e}function Np(e,n){let t;return i;function i(s){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),r(s)}function r(s){return s===null?a(s):A(s)?e.check(Pp,o,a)(s):(e.consume(s),r)}function a(s){return e.exit("chunkContent"),e.exit("content"),n(s)}function o(s){return e.consume(s),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,r}}function Lp(e,n,t){let i=this;return r;function r(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),z(e,a,"linePrefix")}function a(o){if(o===null||A(o))return t(o);let s=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(o):e.interrupt(i.parser.constructs.flow,t,n)(o)}}function ei(e,n,t,i,r,a,o,s,l){let c=l||Number.POSITIVE_INFINITY,u=0;return d;function d(y){return y===60?(e.enter(i),e.enter(r),e.enter(a),e.consume(y),e.exit(a),m):y===null||y===32||y===41||Zt(y)?t(y):(e.enter(i),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),_(y))}function m(y){return y===62?(e.enter(a),e.consume(y),e.exit(a),e.exit(r),e.exit(i),n):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===62?(e.exit("chunkString"),e.exit(s),m(y)):y===null||y===60||A(y)?t(y):(e.consume(y),y===92?f:p)}function f(y){return y===60||y===62||y===92?(e.consume(y),p):p(y)}function _(y){return!u&&(y===null||y===41||ne(y))?(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(i),n(y)):u<c&&y===40?(e.consume(y),u++,_):y===41?(e.consume(y),u--,_):y===null||y===32||y===40||Zt(y)?t(y):(e.consume(y),y===92?E:_)}function E(y){return y===40||y===41||y===92?(e.consume(y),_):_(y)}}function ti(e,n,t,i,r,a){let o=this,s=0,l;return c;function c(p){return e.enter(i),e.enter(r),e.consume(p),e.exit(r),e.enter(a),u}function u(p){return s>999||p===null||p===91||p===93&&!l||p===94&&!s&&"_hiddenFootnoteSupport"in o.parser.constructs?t(p):p===93?(e.exit(a),e.enter(r),e.consume(p),e.exit(r),e.exit(i),n):A(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),d(p))}function d(p){return p===null||p===91||p===93||A(p)||s++>999?(e.exit("chunkString"),u(p)):(e.consume(p),l||(l=!F(p)),p===92?m:d)}function m(p){return p===91||p===92||p===93?(e.consume(p),s++,d):d(p)}}function ni(e,n,t,i,r,a){let o;return s;function s(m){return m===34||m===39||m===40?(e.enter(i),e.enter(r),e.consume(m),e.exit(r),o=m===40?41:m,l):t(m)}function l(m){return m===o?(e.enter(r),e.consume(m),e.exit(r),e.exit(i),n):(e.enter(a),c(m))}function c(m){return m===o?(e.exit(a),l(o)):m===null?t(m):A(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),z(e,c,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(m))}function u(m){return m===o||m===null||A(m)?(e.exit("chunkString"),c(m)):(e.consume(m),m===92?d:u)}function d(m){return m===o||m===92?(e.consume(m),u):u(m)}}function at(e,n){let t;return i;function i(r){return A(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t=!0,i):F(r)?z(e,i,t?"linePrefix":"lineSuffix")(r):n(r)}}var Mr={name:"definition",tokenize:Op},Mp={tokenize:Bp,partial:!0};function Op(e,n,t){let i=this,r;return a;function a(p){return e.enter("definition"),o(p)}function o(p){return ti.call(i,e,s,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function s(p){return r=Ue(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):t(p)}function l(p){return ne(p)?at(e,c)(p):c(p)}function c(p){return ei(e,u,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function u(p){return e.attempt(Mp,d,d)(p)}function d(p){return F(p)?z(e,m,"whitespace")(p):m(p)}function m(p){return p===null||A(p)?(e.exit("definition"),i.parser.defined.push(r),n(p)):t(p)}}function Bp(e,n,t){return i;function i(s){return ne(s)?at(e,r)(s):t(s)}function r(s){return ni(e,a,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function a(s){return F(s)?z(e,o,"whitespace")(s):o(s)}function o(s){return s===null||A(s)?n(s):t(s)}}var Or={name:"hardBreakEscape",tokenize:Fp};function Fp(e,n,t){return i;function i(a){return e.enter("hardBreakEscape"),e.consume(a),r}function r(a){return A(a)?(e.exit("hardBreakEscape"),n(a)):t(a)}}var Br={name:"headingAtx",tokenize:zp,resolve:Gp};function Gp(e,n){let t=e.length-2,i=3,r,a;return e[i][1].type==="whitespace"&&(i+=2),t-2>i&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(i===t-1||t-4>i&&e[t-2][1].type==="whitespace")&&(t-=i+1===t?2:4),t>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[t][1].end},a={type:"chunkText",start:e[i][1].start,end:e[t][1].end,contentType:"text"},de(e,i,t-i+1,[["enter",r,n],["enter",a,n],["exit",a,n],["exit",r,n]])),e}function zp(e,n,t){let i=0;return r;function r(u){return e.enter("atxHeading"),a(u)}function a(u){return e.enter("atxHeadingSequence"),o(u)}function o(u){return u===35&&i++<6?(e.consume(u),o):u===null||ne(u)?(e.exit("atxHeadingSequence"),s(u)):t(u)}function s(u){return u===35?(e.enter("atxHeadingSequence"),l(u)):u===null||A(u)?(e.exit("atxHeading"),n(u)):F(u)?z(e,s,"whitespace")(u):(e.enter("atxHeadingText"),c(u))}function l(u){return u===35?(e.consume(u),l):(e.exit("atxHeadingSequence"),s(u))}function c(u){return u===null||u===35||ne(u)?(e.exit("atxHeadingText"),s(u)):(e.consume(u),c)}}var Ss=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Fr=["pre","script","style","textarea"];var Gr={name:"htmlFlow",tokenize:Wp,resolveTo:Vp,concrete:!0},Up={tokenize:qp,partial:!0},Hp={tokenize:jp,partial:!0};function Vp(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function Wp(e,n,t){let i=this,r,a,o,s,l;return c;function c(h){return u(h)}function u(h){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(h),d}function d(h){return h===33?(e.consume(h),m):h===47?(e.consume(h),a=!0,_):h===63?(e.consume(h),r=3,i.interrupt?n:g):_e(h)?(e.consume(h),o=String.fromCharCode(h),E):t(h)}function m(h){return h===45?(e.consume(h),r=2,p):h===91?(e.consume(h),r=5,s=0,f):_e(h)?(e.consume(h),r=4,i.interrupt?n:g):t(h)}function p(h){return h===45?(e.consume(h),i.interrupt?n:g):t(h)}function f(h){let fe="CDATA[";return h===fe.charCodeAt(s++)?(e.consume(h),s===fe.length?i.interrupt?n:R:f):t(h)}function _(h){return _e(h)?(e.consume(h),o=String.fromCharCode(h),E):t(h)}function E(h){if(h===null||h===47||h===62||ne(h)){let fe=h===47,Qe=o.toLowerCase();return!fe&&!a&&Fr.includes(Qe)?(r=1,i.interrupt?n(h):R(h)):Ss.includes(o.toLowerCase())?(r=6,fe?(e.consume(h),y):i.interrupt?n(h):R(h)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?t(h):a?T(h):S(h))}return h===45||ae(h)?(e.consume(h),o+=String.fromCharCode(h),E):t(h)}function y(h){return h===62?(e.consume(h),i.interrupt?n:R):t(h)}function T(h){return F(h)?(e.consume(h),T):M(h)}function S(h){return h===47?(e.consume(h),M):h===58||h===95||_e(h)?(e.consume(h),N):F(h)?(e.consume(h),S):M(h)}function N(h){return h===45||h===46||h===58||h===95||ae(h)?(e.consume(h),N):L(h)}function L(h){return h===61?(e.consume(h),b):F(h)?(e.consume(h),L):S(h)}function b(h){return h===null||h===60||h===61||h===62||h===96?t(h):h===34||h===39?(e.consume(h),l=h,I):F(h)?(e.consume(h),b):D(h)}function I(h){return h===l?(e.consume(h),l=null,P):h===null||A(h)?t(h):(e.consume(h),I)}function D(h){return h===null||h===34||h===39||h===47||h===60||h===61||h===62||h===96||ne(h)?L(h):(e.consume(h),D)}function P(h){return h===47||h===62||F(h)?S(h):t(h)}function M(h){return h===62?(e.consume(h),H):t(h)}function H(h){return h===null||A(h)?R(h):F(h)?(e.consume(h),H):t(h)}function R(h){return h===45&&r===2?(e.consume(h),j):h===60&&r===1?(e.consume(h),X):h===62&&r===4?(e.consume(h),Se):h===63&&r===3?(e.consume(h),g):h===93&&r===5?(e.consume(h),ie):A(h)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(Up,Me,w)(h)):h===null||A(h)?(e.exit("htmlFlowData"),w(h)):(e.consume(h),R)}function w(h){return e.check(Hp,x,Me)(h)}function x(h){return e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),O}function O(h){return h===null||A(h)?w(h):(e.enter("htmlFlowData"),R(h))}function j(h){return h===45?(e.consume(h),g):R(h)}function X(h){return h===47?(e.consume(h),o="",re):R(h)}function re(h){if(h===62){let fe=o.toLowerCase();return Fr.includes(fe)?(e.consume(h),Se):R(h)}return _e(h)&&o.length<8?(e.consume(h),o+=String.fromCharCode(h),re):R(h)}function ie(h){return h===93?(e.consume(h),g):R(h)}function g(h){return h===62?(e.consume(h),Se):h===45&&r===2?(e.consume(h),g):R(h)}function Se(h){return h===null||A(h)?(e.exit("htmlFlowData"),Me(h)):(e.consume(h),Se)}function Me(h){return e.exit("htmlFlow"),n(h)}}function jp(e,n,t){let i=this;return r;function r(o){return A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):t(o)}function a(o){return i.parser.lazy[i.now().line]?t(o):n(o)}}function qp(e,n,t){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(Je,n,t)}}var zr={name:"htmlText",tokenize:Kp};function Kp(e,n,t){let i=this,r,a,o;return s;function s(g){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(g),l}function l(g){return g===33?(e.consume(g),c):g===47?(e.consume(g),L):g===63?(e.consume(g),S):_e(g)?(e.consume(g),D):t(g)}function c(g){return g===45?(e.consume(g),u):g===91?(e.consume(g),a=0,f):_e(g)?(e.consume(g),T):t(g)}function u(g){return g===45?(e.consume(g),p):t(g)}function d(g){return g===null?t(g):g===45?(e.consume(g),m):A(g)?(o=d,X(g)):(e.consume(g),d)}function m(g){return g===45?(e.consume(g),p):d(g)}function p(g){return g===62?j(g):g===45?m(g):d(g)}function f(g){let Se="CDATA[";return g===Se.charCodeAt(a++)?(e.consume(g),a===Se.length?_:f):t(g)}function _(g){return g===null?t(g):g===93?(e.consume(g),E):A(g)?(o=_,X(g)):(e.consume(g),_)}function E(g){return g===93?(e.consume(g),y):_(g)}function y(g){return g===62?j(g):g===93?(e.consume(g),y):_(g)}function T(g){return g===null||g===62?j(g):A(g)?(o=T,X(g)):(e.consume(g),T)}function S(g){return g===null?t(g):g===63?(e.consume(g),N):A(g)?(o=S,X(g)):(e.consume(g),S)}function N(g){return g===62?j(g):S(g)}function L(g){return _e(g)?(e.consume(g),b):t(g)}function b(g){return g===45||ae(g)?(e.consume(g),b):I(g)}function I(g){return A(g)?(o=I,X(g)):F(g)?(e.consume(g),I):j(g)}function D(g){return g===45||ae(g)?(e.consume(g),D):g===47||g===62||ne(g)?P(g):t(g)}function P(g){return g===47?(e.consume(g),j):g===58||g===95||_e(g)?(e.consume(g),M):A(g)?(o=P,X(g)):F(g)?(e.consume(g),P):j(g)}function M(g){return g===45||g===46||g===58||g===95||ae(g)?(e.consume(g),M):H(g)}function H(g){return g===61?(e.consume(g),R):A(g)?(o=H,X(g)):F(g)?(e.consume(g),H):P(g)}function R(g){return g===null||g===60||g===61||g===62||g===96?t(g):g===34||g===39?(e.consume(g),r=g,w):A(g)?(o=R,X(g)):F(g)?(e.consume(g),R):(e.consume(g),x)}function w(g){return g===r?(e.consume(g),r=void 0,O):g===null?t(g):A(g)?(o=w,X(g)):(e.consume(g),w)}function x(g){return g===null||g===34||g===39||g===60||g===61||g===96?t(g):g===47||g===62||ne(g)?P(g):(e.consume(g),x)}function O(g){return g===47||g===62||ne(g)?P(g):t(g)}function j(g){return g===62?(e.consume(g),e.exit("htmlTextData"),e.exit("htmlText"),n):t(g)}function X(g){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),re}function re(g){return F(g)?z(e,ie,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(g):ie(g)}function ie(g){return e.enter("htmlTextData"),o(g)}}var ot={name:"labelEnd",tokenize:Qp,resolveTo:$p,resolveAll:Zp},Xp={tokenize:em},Yp={tokenize:tm},Jp={tokenize:nm};function Zp(e){let n=-1;for(;++n<e.length;){let t=e[n][1];(t.type==="labelImage"||t.type==="labelLink"||t.type==="labelEnd")&&(e.splice(n+1,t.type==="labelImage"?4:2),t.type="data",n++)}return e}function $p(e,n){let t=e.length,i=0,r,a,o,s;for(;t--;)if(r=e[t][1],a){if(r.type==="link"||r.type==="labelLink"&&r._inactive)break;e[t][0]==="enter"&&r.type==="labelLink"&&(r._inactive=!0)}else if(o){if(e[t][0]==="enter"&&(r.type==="labelImage"||r.type==="labelLink")&&!r._balanced&&(a=t,r.type!=="labelLink")){i=2;break}}else r.type==="labelEnd"&&(o=t);let l={type:e[a][1].type==="labelLink"?"link":"image",start:Object.assign({},e[a][1].start),end:Object.assign({},e[e.length-1][1].end)},c={type:"label",start:Object.assign({},e[a][1].start),end:Object.assign({},e[o][1].end)},u={type:"labelText",start:Object.assign({},e[a+i+2][1].end),end:Object.assign({},e[o-2][1].start)};return s=[["enter",l,n],["enter",c,n]],s=me(s,e.slice(a+1,a+i+3)),s=me(s,[["enter",u,n]]),s=me(s,wt(n.parser.constructs.insideSpan.null,e.slice(a+i+4,o-3),n)),s=me(s,[["exit",u,n],e[o-2],e[o-1],["exit",c,n]]),s=me(s,e.slice(o+1)),s=me(s,[["exit",l,n]]),de(e,a,e.length,s),e}function Qp(e,n,t){let i=this,r=i.events.length,a,o;for(;r--;)if((i.events[r][1].type==="labelImage"||i.events[r][1].type==="labelLink")&&!i.events[r][1]._balanced){a=i.events[r][1];break}return s;function s(m){return a?a._inactive?d(m):(o=i.parser.defined.includes(Ue(i.sliceSerialize({start:a.end,end:i.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),l):t(m)}function l(m){return m===40?e.attempt(Xp,u,o?u:d)(m):m===91?e.attempt(Yp,u,o?c:d)(m):o?u(m):d(m)}function c(m){return e.attempt(Jp,u,d)(m)}function u(m){return n(m)}function d(m){return a._balanced=!0,t(m)}}function em(e,n,t){return i;function i(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),r}function r(d){return ne(d)?at(e,a)(d):a(d)}function a(d){return d===41?u(d):ei(e,o,s,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function o(d){return ne(d)?at(e,l)(d):u(d)}function s(d){return t(d)}function l(d){return d===34||d===39||d===40?ni(e,c,t,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):u(d)}function c(d){return ne(d)?at(e,u)(d):u(d)}function u(d){return d===41?(e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),n):t(d)}}function tm(e,n,t){let i=this;return r;function r(s){return ti.call(i,e,a,o,"reference","referenceMarker","referenceString")(s)}function a(s){return i.parser.defined.includes(Ue(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)))?n(s):t(s)}function o(s){return t(s)}}function nm(e,n,t){return i;function i(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),r}function r(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),n):t(a)}}var Ur={name:"labelStartImage",tokenize:im,resolveAll:ot.resolveAll};function im(e,n,t){let i=this;return r;function r(s){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(s),e.exit("labelImageMarker"),a}function a(s){return s===91?(e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelImage"),o):t(s)}function o(s){return s===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(s):n(s)}}var Hr={name:"labelStartLink",tokenize:rm,resolveAll:ot.resolveAll};function rm(e,n,t){let i=this;return r;function r(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),a}function a(o){return o===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(o):n(o)}}var nn={name:"lineEnding",tokenize:am};function am(e,n){return t;function t(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),z(e,n,"linePrefix")}}var st={name:"thematicBreak",tokenize:om};function om(e,n,t){let i=0,r;return a;function a(c){return e.enter("thematicBreak"),o(c)}function o(c){return r=c,s(c)}function s(c){return c===r?(e.enter("thematicBreakSequence"),l(c)):i>=3&&(c===null||A(c))?(e.exit("thematicBreak"),n(c)):t(c)}function l(c){return c===r?(e.consume(c),i++,l):(e.exit("thematicBreakSequence"),F(c)?z(e,s,"whitespace")(c):s(c))}}var pe={name:"list",tokenize:cm,continuation:{tokenize:um},exit:pm},sm={tokenize:mm,partial:!0},lm={tokenize:dm,partial:!0};function cm(e,n,t){let i=this,r=i.events[i.events.length-1],a=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,o=0;return s;function s(p){let f=i.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!i.containerState.marker||p===i.containerState.marker:$t(p)){if(i.containerState.type||(i.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(st,t,c)(p):c(p);if(!i.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return t(p)}function l(p){return $t(p)&&++o<10?(e.consume(p),l):(!i.interrupt||o<2)&&(i.containerState.marker?p===i.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),c(p)):t(p)}function c(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||p,e.check(Je,i.interrupt?t:u,e.attempt(sm,m,d))}function u(p){return i.containerState.initialBlankLine=!0,a++,m(p)}function d(p){return F(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),m):t(p)}function m(p){return i.containerState.size=a+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(p)}}function um(e,n,t){let i=this;return i.containerState._closeFlow=void 0,e.check(Je,r,a);function r(s){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,z(e,n,"listItemIndent",i.containerState.size+1)(s)}function a(s){return i.containerState.furtherBlankLines||!F(s)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,o(s)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(lm,n,o)(s))}function o(s){return i.containerState._closeFlow=!0,i.interrupt=void 0,z(e,e.attempt(pe,n,t),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function dm(e,n,t){let i=this;return z(e,r,"listItemIndent",i.containerState.size+1);function r(a){let o=i.events[i.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===i.containerState.size?n(a):t(a)}}function pm(e){e.exit(this.containerState.type)}function mm(e,n,t){let i=this;return z(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(a){let o=i.events[i.events.length-1];return!F(a)&&o&&o[1].type==="listItemPrefixWhitespace"?n(a):t(a)}}var ii={name:"setextUnderline",tokenize:hm,resolveTo:gm};function gm(e,n){let t=e.length,i,r,a;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){i=t;break}e[t][1].type==="paragraph"&&(r=t)}else e[t][1].type==="content"&&e.splice(t,1),!a&&e[t][1].type==="definition"&&(a=t);let o={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[r][1].type="setextHeadingText",a?(e.splice(r,0,["enter",o,n]),e.splice(a+1,0,["exit",e[i][1],n]),e[i][1].end=Object.assign({},e[a][1].end)):e[i][1]=o,e.push(["exit",o,n]),e}function hm(e,n,t){let i=this,r;return a;function a(c){let u=i.events.length,d;for(;u--;)if(i.events[u][1].type!=="lineEnding"&&i.events[u][1].type!=="linePrefix"&&i.events[u][1].type!=="content"){d=i.events[u][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||d)?(e.enter("setextHeadingLine"),r=c,o(c)):t(c)}function o(c){return e.enter("setextHeadingLineSequence"),s(c)}function s(c){return c===r?(e.consume(c),s):(e.exit("setextHeadingLineSequence"),F(c)?z(e,l,"lineSuffix")(c):l(c))}function l(c){return c===null||A(c)?(e.exit("setextHeadingLine"),n(c)):t(c)}}var Es={tokenize:fm};function fm(e){let n=this,t=e.attempt(Je,i,e.attempt(this.parser.constructs.flowInitial,r,z(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Lr,r)),"linePrefix")));return t;function i(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n.currentConstruct=void 0,t}}var Cs={resolveAll:As()},ks=Ts("string"),ws=Ts("text");function Ts(e){return{tokenize:n,resolveAll:As(e==="text"?ym:void 0)};function n(t){let i=this,r=this.parser.constructs[e],a=t.attempt(r,o,s);return o;function o(u){return c(u)?a(u):s(u)}function s(u){if(u===null){t.consume(u);return}return t.enter("data"),t.consume(u),l}function l(u){return c(u)?(t.exit("data"),a(u)):(t.consume(u),l)}function c(u){if(u===null)return!0;let d=r[u],m=-1;if(d)for(;++m<d.length;){let p=d[m];if(!p.previous||p.previous.call(i,i.previous))return!0}return!1}}}function As(e){return n;function n(t,i){let r=-1,a;for(;++r<=t.length;)a===void 0?t[r]&&t[r][1].type==="data"&&(a=r,r++):(!t[r]||t[r][1].type!=="data")&&(r!==a+2&&(t[a][1].end=t[r-1][1].end,t.splice(a+2,r-a-2),r=a+2),a=void 0);return e?e(t,i):t}}function ym(e,n){let t=0;for(;++t<=e.length;)if((t===e.length||e[t][1].type==="lineEnding")&&e[t-1][1].type==="data"){let i=e[t-1][1],r=n.sliceStream(i),a=r.length,o=-1,s=0,l;for(;a--;){let c=r[a];if(typeof c=="string"){for(o=c.length;c.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(c===-2)l=!0,s++;else if(c!==-1){a++;break}}if(s){let c={type:t===e.length||l||s<2?"lineSuffix":"hardBreakTrailing",start:{line:i.end.line,column:i.end.column-s,offset:i.end.offset-s,_index:i.start._index+a,_bufferIndex:a?o:i.start._bufferIndex+o},end:Object.assign({},i.end)};i.end=Object.assign({},c.start),i.start.offset===i.end.offset?Object.assign(i,c):(e.splice(t,0,["enter",c,n],["exit",c,n]),t+=2)}t++}return e}function xs(e,n,t){let i=Object.assign(t?Object.assign({},t):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1}),r={},a=[],o=[],s=[],l=!0,c={consume:N,enter:L,exit:b,attempt:P(I),check:P(D),interrupt:P(D,{interrupt:!0})},u={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:_,sliceSerialize:f,now:E,defineSkip:y,write:p},d=n.tokenize.call(u,c),m;return n.resolveAll&&a.push(n),u;function p(w){return o=me(o,w),T(),o[o.length-1]!==null?[]:(M(n,0),u.events=wt(a,u.events,u),u.events)}function f(w,x){return vm(_(w),x)}function _(w){return bm(o,w)}function E(){let{line:w,column:x,offset:O,_index:j,_bufferIndex:X}=i;return{line:w,column:x,offset:O,_index:j,_bufferIndex:X}}function y(w){r[w.line]=w.column,R()}function T(){let w;for(;i._index<o.length;){let x=o[i._index];if(typeof x=="string")for(w=i._index,i._bufferIndex<0&&(i._bufferIndex=0);i._index===w&&i._bufferIndex<x.length;)S(x.charCodeAt(i._bufferIndex));else S(x)}}function S(w){l=void 0,m=w,d=d(w)}function N(w){A(w)?(i.line++,i.column=1,i.offset+=w===-3?2:1,R()):w!==-1&&(i.column++,i.offset++),i._bufferIndex<0?i._index++:(i._bufferIndex++,i._bufferIndex===o[i._index].length&&(i._bufferIndex=-1,i._index++)),u.previous=w,l=!0}function L(w,x){let O=x||{};return O.type=w,O.start=E(),u.events.push(["enter",O,u]),s.push(O),O}function b(w){let x=s.pop();return x.end=E(),u.events.push(["exit",x,u]),x}function I(w,x){M(w,x.from)}function D(w,x){x.restore()}function P(w,x){return O;function O(j,X,re){let ie,g,Se,Me;return Array.isArray(j)?fe(j):"tokenize"in j?fe([j]):h(j);function h(se){return Nt;function Nt(Re){let ut=Re!==null&&se[Re],dt=Re!==null&&se.null,Di=[...Array.isArray(ut)?ut:ut?[ut]:[],...Array.isArray(dt)?dt:dt?[dt]:[]];return fe(Di)(Re)}}function fe(se){return ie=se,g=0,se.length===0?re:Qe(se[g])}function Qe(se){return Nt;function Nt(Re){return Me=H(),Se=se,se.partial||(u.currentConstruct=se),se.name&&u.parser.constructs.disable.null.includes(se.name)?dn(Re):se.tokenize.call(x?Object.assign(Object.create(u),x):u,c,Pi,dn)(Re)}}function Pi(se){return l=!0,w(Se,Me),X}function dn(se){return l=!0,Me.restore(),++g<ie.length?Qe(ie[g]):re}}}function M(w,x){w.resolveAll&&!a.includes(w)&&a.push(w),w.resolve&&de(u.events,x,u.events.length-x,w.resolve(u.events.slice(x),u)),w.resolveTo&&(u.events=w.resolveTo(u.events,u))}function H(){let w=E(),x=u.previous,O=u.currentConstruct,j=u.events.length,X=Array.from(s);return{restore:re,from:j};function re(){i=w,u.previous=x,u.currentConstruct=O,u.events.length=j,s=X,R()}}function R(){i.line in r&&i.column<2&&(i.column=r[i.line],i.offset+=r[i.line]-1)}}function bm(e,n){let t=n.start._index,i=n.start._bufferIndex,r=n.end._index,a=n.end._bufferIndex,o;if(t===r)o=[e[t].slice(i,a)];else{if(o=e.slice(t,r),i>-1){let s=o[0];typeof s=="string"?o[0]=s.slice(i):o.shift()}a>0&&o.push(e[r].slice(0,a))}return o}function vm(e,n){let t=-1,i=[],r;for(;++t<e.length;){let a=e[t],o;if(typeof a=="string")o=a;else switch(a){case-5:{o="\r";break}case-4:{o=`
|
|
3423
3435
|
`;break}case-3:{o=`\r
|
|
3424
|
-
`;break}case-2:{o=n?" ":" ";break}case-1:{if(!n&&r)continue;o=" ";break}default:o=String.fromCharCode(a)}r=a===-2,i.push(o)}return i.join("")}var Hr={};va(Hr,{attentionMarkers:()=>Am,contentInitial:()=>Sm,disable:()=>xm,document:()=>_m,flow:()=>Cm,flowInitial:()=>Em,insideSpan:()=>Tm,string:()=>km,text:()=>wm});var _m={42:pe,43:pe,45:pe,48:pe,49:pe,50:pe,51:pe,52:pe,53:pe,54:pe,55:pe,56:pe,57:pe,62:Xn},Sm={91:Lr},Em={[-2]:Qt,[-1]:Qt,32:Qt},Cm={35:Or,42:st,45:[ii,st],60:Fr,61:ii,95:st,96:Zn,126:Zn},km={38:Jn,92:Yn},wm={[-5]:tn,[-4]:tn,[-3]:tn,33:zr,38:Jn,42:$t,60:[Pr,Gr],91:Ur,92:[Mr,Yn],93:ot,95:$t,96:Dr},Tm={null:[$t,Cs]},Am={null:[42,95]},xm={null:[]};function Vr(e){let t=us([Hr,...(e||{}).extensions||[]]),i={defined:[],lazy:{},constructs:t,content:r(fs),document:r(bs),flow:r(Es),string:r(ks),text:r(ws)};return i;function r(a){return o;function o(s){return xs(i,a,s)}}}function Wr(e){for(;!Qn(e););return e}var Is=/[\0\t\n\r]/g;function jr(){let e=1,n="",t=!0,i;return r;function r(a,o,s){let l=[],c,u,d,m,p;for(a=n+(typeof a=="string"?a.toString():new TextDecoder(o||void 0).decode(a)),d=0,n="",t&&(a.charCodeAt(0)===65279&&d++,t=void 0);d<a.length;){if(Is.lastIndex=d,c=Is.exec(a),m=c&&c.index!==void 0?c.index:a.length,p=a.charCodeAt(m),!c){n=a.slice(d);break}if(p===10&&d===m&&i)l.push(-3),i=void 0;else switch(i&&(l.push(-5),i=void 0),d<m&&(l.push(a.slice(d,m)),e+=m-d),p){case 0:{l.push(65533),e++;break}case 9:{for(u=Math.ceil(e/4)*4,l.push(-2);e++<u;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:i=!0,e=1}d=m+1}return s&&(i&&l.push(-5),n&&l.push(n),l.push(null)),l}}var Im=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Rs(e){return e.replace(Im,Rm)}function Rm(e,n,t){if(n)return n;if(t.charCodeAt(0)===35){let r=t.charCodeAt(1),a=r===120||r===88;return Kn(t.slice(a?2:1),a?16:10)}return kt(t)||e}function Je(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Ps(e.position):"start"in e||"end"in e?Ps(e):"line"in e||"column"in e?qr(e):""}function qr(e){return Ds(e&&e.line)+":"+Ds(e&&e.column)}function Ps(e){return qr(e&&e.start)+"-"+qr(e&&e.end)}function Ds(e){return e&&typeof e=="number"?e:1}var Ls={}.hasOwnProperty;function Kr(e,n,t){return typeof n!="string"&&(t=n,n=void 0),Pm(t)(Wr(Vr(t).document().write(jr()(e,n,!0))))}function Pm(e){let n={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(ya),autolinkProtocol:P,autolinkEmail:P,atxHeading:a(ga),blockQuote:a(Nt),characterEscape:P,characterReference:P,codeFenced:a(Ie),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(Ie,o),codeText:a(ut,o),codeTextData:P,data:P,codeFlowValue:P,definition:a(dt),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(Pi),hardBreakEscape:a(ha),hardBreakTrailing:a(ha),htmlFlow:a(fa,o),htmlFlowData:P,htmlText:a(fa,o),htmlTextData:P,image:a(Kl),label:o,link:a(ya),listItem:a(Xl),listItemValue:m,listOrdered:a(ba,d),listUnordered:a(ba),paragraph:a(Yl),reference:h,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(ga),strong:a(Jl),thematicBreak:a($l)},exit:{atxHeading:l(),atxHeadingSequence:L,autolink:l(),autolinkEmail:se,autolinkProtocol:un,blockQuote:l(),characterEscapeValue:M,characterReferenceMarkerHexadecimal:$e,characterReferenceMarkerNumeric:$e,characterReferenceValue:Ri,codeFenced:l(E),codeFencedFence:_,codeFencedFenceInfo:p,codeFencedFenceMeta:f,codeFlowValue:M,codeIndented:l(y),codeText:l(O),codeTextData:M,data:M,definition:l(),definitionDestinationString:N,definitionLabelString:T,definitionTitleString:S,emphasis:l(),hardBreakEscape:l(R),hardBreakTrailing:l(R),htmlFlow:l(w),htmlFlowData:M,htmlText:l(x),htmlTextData:M,image:l(X),label:ie,labelText:re,lineEnding:H,link:l(j),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:fe,resourceDestinationString:g,resourceTitleString:Se,resource:Le,setextHeading:l(D),setextHeadingLineSequence:I,setextHeadingText:b,strong:l(),thematicBreak:l()}};Ms(n,(e||{}).mdastExtensions||[]);let t={};return i;function i(v){let k={type:"root",children:[]},G={stack:[k],tokenStack:[],config:n,enter:s,exit:c,buffer:o,resume:u,data:t},W=[],Y=-1;for(;++Y<v.length;)if(v[Y][1].type==="listOrdered"||v[Y][1].type==="listUnordered")if(v[Y][0]==="enter")W.push(Y);else{let we=W.pop();Y=r(v,we,Y)}for(Y=-1;++Y<v.length;){let we=n[v[Y][0]];Ls.call(we,v[Y][1].type)&&we[v[Y][1].type].call(Object.assign({sliceSerialize:v[Y][2].sliceSerialize},G),v[Y][1])}if(G.tokenStack.length>0){let we=G.tokenStack[G.tokenStack.length-1];(we[1]||Ns).call(G,void 0,we[0])}for(k.position={start:Ze(v.length>0?v[0][1].start:{line:1,column:1,offset:0}),end:Ze(v.length>0?v[v.length-2][1].end:{line:1,column:1,offset:0})},Y=-1;++Y<n.transforms.length;)k=n.transforms[Y](k)||k;return k}function r(v,k,G){let W=k-1,Y=-1,we=!1,Qe,Me,Lt,Mt;for(;++W<=G;){let ye=v[W];switch(ye[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{ye[0]==="enter"?Y++:Y--,Mt=void 0;break}case"lineEndingBlank":{ye[0]==="enter"&&(Qe&&!Mt&&!Y&&!Lt&&(Lt=W),Mt=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Mt=void 0}if(!Y&&ye[0]==="enter"&&ye[1].type==="listItemPrefix"||Y===-1&&ye[0]==="exit"&&(ye[1].type==="listUnordered"||ye[1].type==="listOrdered")){if(Qe){let pt=W;for(Me=void 0;pt--;){let Oe=v[pt];if(Oe[1].type==="lineEnding"||Oe[1].type==="lineEndingBlank"){if(Oe[0]==="exit")continue;Me&&(v[Me][1].type="lineEndingBlank",we=!0),Oe[1].type="lineEnding",Me=pt}else if(!(Oe[1].type==="linePrefix"||Oe[1].type==="blockQuotePrefix"||Oe[1].type==="blockQuotePrefixWhitespace"||Oe[1].type==="blockQuoteMarker"||Oe[1].type==="listItemIndent"))break}Lt&&(!Me||Lt<Me)&&(Qe._spread=!0),Qe.end=Object.assign({},Me?v[Me][1].start:ye[1].end),v.splice(Me||W,0,["exit",Qe,ye[2]]),W++,G++}if(ye[1].type==="listItemPrefix"){let pt={type:"listItem",_spread:!1,start:Object.assign({},ye[1].start),end:void 0};Qe=pt,v.splice(W,0,["enter",pt,ye[2]]),W++,G++,Lt=void 0,Mt=!0}}}return v[k][1]._spread=we,G}function a(v,k){return G;function G(W){s.call(this,v(W),W),k&&k.call(this,W)}}function o(){this.stack.push({type:"fragment",children:[]})}function s(v,k,G){this.stack[this.stack.length-1].children.push(v),this.stack.push(v),this.tokenStack.push([k,G]),v.position={start:Ze(k.start),end:void 0}}function l(v){return k;function k(G){v&&v.call(this,G),c.call(this,G)}}function c(v,k){let G=this.stack.pop(),W=this.tokenStack.pop();if(W)W[0].type!==v.type&&(k?k.call(this,v,W[0]):(W[1]||Ns).call(this,v,W[0]));else throw new Error("Cannot close `"+v.type+"` ("+Je({start:v.start,end:v.end})+"): it\u2019s not open");G.position.end=Ze(v.end)}function u(){return Ir(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function m(v){if(this.data.expectingFirstListItemValue){let k=this.stack[this.stack.length-2];k.start=Number.parseInt(this.sliceSerialize(v),10),this.data.expectingFirstListItemValue=void 0}}function p(){let v=this.resume(),k=this.stack[this.stack.length-1];k.lang=v}function f(){let v=this.resume(),k=this.stack[this.stack.length-1];k.meta=v}function _(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function E(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function y(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v.replace(/(\r?\n|\r)$/g,"")}function T(v){let k=this.resume(),G=this.stack[this.stack.length-1];G.label=k,G.identifier=ze(this.sliceSerialize(v)).toLowerCase()}function S(){let v=this.resume(),k=this.stack[this.stack.length-1];k.title=v}function N(){let v=this.resume(),k=this.stack[this.stack.length-1];k.url=v}function L(v){let k=this.stack[this.stack.length-1];if(!k.depth){let G=this.sliceSerialize(v).length;k.depth=G}}function b(){this.data.setextHeadingSlurpLineEnding=!0}function I(v){let k=this.stack[this.stack.length-1];k.depth=this.sliceSerialize(v).codePointAt(0)===61?1:2}function D(){this.data.setextHeadingSlurpLineEnding=void 0}function P(v){let G=this.stack[this.stack.length-1].children,W=G[G.length-1];(!W||W.type!=="text")&&(W=Zl(),W.position={start:Ze(v.start),end:void 0},G.push(W)),this.stack.push(W)}function M(v){let k=this.stack.pop();k.value+=this.sliceSerialize(v),k.position.end=Ze(v.end)}function H(v){let k=this.stack[this.stack.length-1];if(this.data.atHardBreak){let G=k.children[k.children.length-1];G.position.end=Ze(v.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&n.canContainEols.includes(k.type)&&(P.call(this,v),M.call(this,v))}function R(){this.data.atHardBreak=!0}function w(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function x(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function O(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function j(){let v=this.stack[this.stack.length-1];if(this.data.inReference){let k=this.data.referenceType||"shortcut";v.type+="Reference",v.referenceType=k,delete v.url,delete v.title}else delete v.identifier,delete v.label;this.data.referenceType=void 0}function X(){let v=this.stack[this.stack.length-1];if(this.data.inReference){let k=this.data.referenceType||"shortcut";v.type+="Reference",v.referenceType=k,delete v.url,delete v.title}else delete v.identifier,delete v.label;this.data.referenceType=void 0}function re(v){let k=this.sliceSerialize(v),G=this.stack[this.stack.length-2];G.label=Rs(k),G.identifier=ze(k).toLowerCase()}function ie(){let v=this.stack[this.stack.length-1],k=this.resume(),G=this.stack[this.stack.length-1];if(this.data.inReference=!0,G.type==="link"){let W=v.children;G.children=W}else G.alt=k}function g(){let v=this.resume(),k=this.stack[this.stack.length-1];k.url=v}function Se(){let v=this.resume(),k=this.stack[this.stack.length-1];k.title=v}function Le(){this.data.inReference=void 0}function h(){this.data.referenceType="collapsed"}function fe(v){let k=this.resume(),G=this.stack[this.stack.length-1];G.label=k,G.identifier=ze(this.sliceSerialize(v)).toLowerCase(),this.data.referenceType="full"}function $e(v){this.data.characterReferenceType=v.type}function Ri(v){let k=this.sliceSerialize(v),G=this.data.characterReferenceType,W;G?(W=Kn(k,G==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):W=kt(k);let Y=this.stack.pop();Y.value+=W,Y.position.end=Ze(v.end)}function un(v){M.call(this,v);let k=this.stack[this.stack.length-1];k.url=this.sliceSerialize(v)}function se(v){M.call(this,v);let k=this.stack[this.stack.length-1];k.url="mailto:"+this.sliceSerialize(v)}function Nt(){return{type:"blockquote",children:[]}}function Ie(){return{type:"code",lang:null,meta:null,value:""}}function ut(){return{type:"inlineCode",value:""}}function dt(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Pi(){return{type:"emphasis",children:[]}}function ga(){return{type:"heading",depth:0,children:[]}}function ha(){return{type:"break"}}function fa(){return{type:"html",value:""}}function Kl(){return{type:"image",title:null,url:"",alt:null}}function ya(){return{type:"link",title:null,url:"",children:[]}}function ba(v){return{type:"list",ordered:v.type==="listOrdered",start:null,spread:v._spread,children:[]}}function Xl(v){return{type:"listItem",spread:v._spread,checked:null,children:[]}}function Yl(){return{type:"paragraph",children:[]}}function Jl(){return{type:"strong",children:[]}}function Zl(){return{type:"text",value:""}}function $l(){return{type:"thematicBreak"}}}function Ze(e){return{line:e.line,column:e.column,offset:e.offset}}function Ms(e,n){let t=-1;for(;++t<n.length;){let i=n[t];Array.isArray(i)?Ms(e,i):Dm(e,i)}}function Dm(e,n){let t;for(t in n)if(Ls.call(n,t))switch(t){case"canContainEols":{let i=n[t];i&&e[t].push(...i);break}case"transforms":{let i=n[t];i&&e[t].push(...i);break}case"enter":case"exit":{let i=n[t];i&&Object.assign(e[t],i);break}}}function Ns(e,n){throw e?new Error("Cannot close `"+e.type+"` ("+Je({start:e.start,end:e.end})+"): a different token (`"+n.type+"`, "+Je({start:n.start,end:n.end})+") is open"):new Error("Cannot close document, a token (`"+n.type+"`, "+Je({start:n.start,end:n.end})+") is still open")}function ri(e){let n=this;n.parser=t;function t(i){return Kr(i,{...n.data("settings"),...e,extensions:n.data("micromarkExtensions")||[],mdastExtensions:n.data("fromMarkdownExtensions")||[]})}}function Os(e,n){let t={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(n),!0)};return e.patch(n,t),e.applyData(n,t)}function Bs(e,n){let t={type:"element",tagName:"br",properties:{},children:[]};return e.patch(n,t),[e.applyData(n,t),{type:"text",value:`
|
|
3436
|
+
`;break}case-2:{o=n?" ":" ";break}case-1:{if(!n&&r)continue;o=" ";break}default:o=String.fromCharCode(a)}r=a===-2,i.push(o)}return i.join("")}var Vr={};va(Vr,{attentionMarkers:()=>Am,contentInitial:()=>Sm,disable:()=>xm,document:()=>_m,flow:()=>Cm,flowInitial:()=>Em,insideSpan:()=>Tm,string:()=>km,text:()=>wm});var _m={42:pe,43:pe,45:pe,48:pe,49:pe,50:pe,51:pe,52:pe,53:pe,54:pe,55:pe,56:pe,57:pe,62:Xn},Sm={91:Mr},Em={[-2]:en,[-1]:en,32:en},Cm={35:Br,42:st,45:[ii,st],60:Gr,61:ii,95:st,96:Zn,126:Zn},km={38:Jn,92:Yn},wm={[-5]:nn,[-4]:nn,[-3]:nn,33:Ur,38:Jn,42:Qt,60:[Dr,zr],91:Hr,92:[Or,Yn],93:ot,95:Qt,96:Nr},Tm={null:[Qt,Cs]},Am={null:[42,95]},xm={null:[]};function Wr(e){let t=us([Vr,...(e||{}).extensions||[]]),i={defined:[],lazy:{},constructs:t,content:r(fs),document:r(bs),flow:r(Es),string:r(ks),text:r(ws)};return i;function r(a){return o;function o(s){return xs(i,a,s)}}}function jr(e){for(;!Qn(e););return e}var Is=/[\0\t\n\r]/g;function qr(){let e=1,n="",t=!0,i;return r;function r(a,o,s){let l=[],c,u,d,m,p;for(a=n+(typeof a=="string"?a.toString():new TextDecoder(o||void 0).decode(a)),d=0,n="",t&&(a.charCodeAt(0)===65279&&d++,t=void 0);d<a.length;){if(Is.lastIndex=d,c=Is.exec(a),m=c&&c.index!==void 0?c.index:a.length,p=a.charCodeAt(m),!c){n=a.slice(d);break}if(p===10&&d===m&&i)l.push(-3),i=void 0;else switch(i&&(l.push(-5),i=void 0),d<m&&(l.push(a.slice(d,m)),e+=m-d),p){case 0:{l.push(65533),e++;break}case 9:{for(u=Math.ceil(e/4)*4,l.push(-2);e++<u;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:i=!0,e=1}d=m+1}return s&&(i&&l.push(-5),n&&l.push(n),l.push(null)),l}}var Im=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Rs(e){return e.replace(Im,Rm)}function Rm(e,n,t){if(n)return n;if(t.charCodeAt(0)===35){let r=t.charCodeAt(1),a=r===120||r===88;return Kn(t.slice(a?2:1),a?16:10)}return kt(t)||e}function Ze(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Ps(e.position):"start"in e||"end"in e?Ps(e):"line"in e||"column"in e?Kr(e):""}function Kr(e){return Ds(e&&e.line)+":"+Ds(e&&e.column)}function Ps(e){return Kr(e&&e.start)+"-"+Kr(e&&e.end)}function Ds(e){return e&&typeof e=="number"?e:1}var Ls={}.hasOwnProperty;function Xr(e,n,t){return typeof n!="string"&&(t=n,n=void 0),Pm(t)(jr(Wr(t).document().write(qr()(e,n,!0))))}function Pm(e){let n={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(ya),autolinkProtocol:P,autolinkEmail:P,atxHeading:a(ga),blockQuote:a(Nt),characterEscape:P,characterReference:P,codeFenced:a(Re),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(Re,o),codeText:a(ut,o),codeTextData:P,data:P,codeFlowValue:P,definition:a(dt),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(Di),hardBreakEscape:a(ha),hardBreakTrailing:a(ha),htmlFlow:a(fa,o),htmlFlowData:P,htmlText:a(fa,o),htmlTextData:P,image:a(Kl),label:o,link:a(ya),listItem:a(Xl),listItemValue:m,listOrdered:a(ba,d),listUnordered:a(ba),paragraph:a(Yl),reference:h,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(ga),strong:a(Jl),thematicBreak:a($l)},exit:{atxHeading:l(),atxHeadingSequence:L,autolink:l(),autolinkEmail:se,autolinkProtocol:dn,blockQuote:l(),characterEscapeValue:M,characterReferenceMarkerHexadecimal:Qe,characterReferenceMarkerNumeric:Qe,characterReferenceValue:Pi,codeFenced:l(E),codeFencedFence:_,codeFencedFenceInfo:p,codeFencedFenceMeta:f,codeFlowValue:M,codeIndented:l(y),codeText:l(O),codeTextData:M,data:M,definition:l(),definitionDestinationString:N,definitionLabelString:T,definitionTitleString:S,emphasis:l(),hardBreakEscape:l(R),hardBreakTrailing:l(R),htmlFlow:l(w),htmlFlowData:M,htmlText:l(x),htmlTextData:M,image:l(X),label:ie,labelText:re,lineEnding:H,link:l(j),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:fe,resourceDestinationString:g,resourceTitleString:Se,resource:Me,setextHeading:l(D),setextHeadingLineSequence:I,setextHeadingText:b,strong:l(),thematicBreak:l()}};Ms(n,(e||{}).mdastExtensions||[]);let t={};return i;function i(v){let k={type:"root",children:[]},G={stack:[k],tokenStack:[],config:n,enter:s,exit:c,buffer:o,resume:u,data:t},W=[],Y=-1;for(;++Y<v.length;)if(v[Y][1].type==="listOrdered"||v[Y][1].type==="listUnordered")if(v[Y][0]==="enter")W.push(Y);else{let we=W.pop();Y=r(v,we,Y)}for(Y=-1;++Y<v.length;){let we=n[v[Y][0]];Ls.call(we,v[Y][1].type)&&we[v[Y][1].type].call(Object.assign({sliceSerialize:v[Y][2].sliceSerialize},G),v[Y][1])}if(G.tokenStack.length>0){let we=G.tokenStack[G.tokenStack.length-1];(we[1]||Ns).call(G,void 0,we[0])}for(k.position={start:$e(v.length>0?v[0][1].start:{line:1,column:1,offset:0}),end:$e(v.length>0?v[v.length-2][1].end:{line:1,column:1,offset:0})},Y=-1;++Y<n.transforms.length;)k=n.transforms[Y](k)||k;return k}function r(v,k,G){let W=k-1,Y=-1,we=!1,et,Oe,Lt,Mt;for(;++W<=G;){let ye=v[W];switch(ye[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{ye[0]==="enter"?Y++:Y--,Mt=void 0;break}case"lineEndingBlank":{ye[0]==="enter"&&(et&&!Mt&&!Y&&!Lt&&(Lt=W),Mt=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Mt=void 0}if(!Y&&ye[0]==="enter"&&ye[1].type==="listItemPrefix"||Y===-1&&ye[0]==="exit"&&(ye[1].type==="listUnordered"||ye[1].type==="listOrdered")){if(et){let pt=W;for(Oe=void 0;pt--;){let Be=v[pt];if(Be[1].type==="lineEnding"||Be[1].type==="lineEndingBlank"){if(Be[0]==="exit")continue;Oe&&(v[Oe][1].type="lineEndingBlank",we=!0),Be[1].type="lineEnding",Oe=pt}else if(!(Be[1].type==="linePrefix"||Be[1].type==="blockQuotePrefix"||Be[1].type==="blockQuotePrefixWhitespace"||Be[1].type==="blockQuoteMarker"||Be[1].type==="listItemIndent"))break}Lt&&(!Oe||Lt<Oe)&&(et._spread=!0),et.end=Object.assign({},Oe?v[Oe][1].start:ye[1].end),v.splice(Oe||W,0,["exit",et,ye[2]]),W++,G++}if(ye[1].type==="listItemPrefix"){let pt={type:"listItem",_spread:!1,start:Object.assign({},ye[1].start),end:void 0};et=pt,v.splice(W,0,["enter",pt,ye[2]]),W++,G++,Lt=void 0,Mt=!0}}}return v[k][1]._spread=we,G}function a(v,k){return G;function G(W){s.call(this,v(W),W),k&&k.call(this,W)}}function o(){this.stack.push({type:"fragment",children:[]})}function s(v,k,G){this.stack[this.stack.length-1].children.push(v),this.stack.push(v),this.tokenStack.push([k,G]),v.position={start:$e(k.start),end:void 0}}function l(v){return k;function k(G){v&&v.call(this,G),c.call(this,G)}}function c(v,k){let G=this.stack.pop(),W=this.tokenStack.pop();if(W)W[0].type!==v.type&&(k?k.call(this,v,W[0]):(W[1]||Ns).call(this,v,W[0]));else throw new Error("Cannot close `"+v.type+"` ("+Ze({start:v.start,end:v.end})+"): it\u2019s not open");G.position.end=$e(v.end)}function u(){return Rr(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function m(v){if(this.data.expectingFirstListItemValue){let k=this.stack[this.stack.length-2];k.start=Number.parseInt(this.sliceSerialize(v),10),this.data.expectingFirstListItemValue=void 0}}function p(){let v=this.resume(),k=this.stack[this.stack.length-1];k.lang=v}function f(){let v=this.resume(),k=this.stack[this.stack.length-1];k.meta=v}function _(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function E(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function y(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v.replace(/(\r?\n|\r)$/g,"")}function T(v){let k=this.resume(),G=this.stack[this.stack.length-1];G.label=k,G.identifier=Ue(this.sliceSerialize(v)).toLowerCase()}function S(){let v=this.resume(),k=this.stack[this.stack.length-1];k.title=v}function N(){let v=this.resume(),k=this.stack[this.stack.length-1];k.url=v}function L(v){let k=this.stack[this.stack.length-1];if(!k.depth){let G=this.sliceSerialize(v).length;k.depth=G}}function b(){this.data.setextHeadingSlurpLineEnding=!0}function I(v){let k=this.stack[this.stack.length-1];k.depth=this.sliceSerialize(v).codePointAt(0)===61?1:2}function D(){this.data.setextHeadingSlurpLineEnding=void 0}function P(v){let G=this.stack[this.stack.length-1].children,W=G[G.length-1];(!W||W.type!=="text")&&(W=Zl(),W.position={start:$e(v.start),end:void 0},G.push(W)),this.stack.push(W)}function M(v){let k=this.stack.pop();k.value+=this.sliceSerialize(v),k.position.end=$e(v.end)}function H(v){let k=this.stack[this.stack.length-1];if(this.data.atHardBreak){let G=k.children[k.children.length-1];G.position.end=$e(v.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&n.canContainEols.includes(k.type)&&(P.call(this,v),M.call(this,v))}function R(){this.data.atHardBreak=!0}function w(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function x(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function O(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function j(){let v=this.stack[this.stack.length-1];if(this.data.inReference){let k=this.data.referenceType||"shortcut";v.type+="Reference",v.referenceType=k,delete v.url,delete v.title}else delete v.identifier,delete v.label;this.data.referenceType=void 0}function X(){let v=this.stack[this.stack.length-1];if(this.data.inReference){let k=this.data.referenceType||"shortcut";v.type+="Reference",v.referenceType=k,delete v.url,delete v.title}else delete v.identifier,delete v.label;this.data.referenceType=void 0}function re(v){let k=this.sliceSerialize(v),G=this.stack[this.stack.length-2];G.label=Rs(k),G.identifier=Ue(k).toLowerCase()}function ie(){let v=this.stack[this.stack.length-1],k=this.resume(),G=this.stack[this.stack.length-1];if(this.data.inReference=!0,G.type==="link"){let W=v.children;G.children=W}else G.alt=k}function g(){let v=this.resume(),k=this.stack[this.stack.length-1];k.url=v}function Se(){let v=this.resume(),k=this.stack[this.stack.length-1];k.title=v}function Me(){this.data.inReference=void 0}function h(){this.data.referenceType="collapsed"}function fe(v){let k=this.resume(),G=this.stack[this.stack.length-1];G.label=k,G.identifier=Ue(this.sliceSerialize(v)).toLowerCase(),this.data.referenceType="full"}function Qe(v){this.data.characterReferenceType=v.type}function Pi(v){let k=this.sliceSerialize(v),G=this.data.characterReferenceType,W;G?(W=Kn(k,G==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):W=kt(k);let Y=this.stack.pop();Y.value+=W,Y.position.end=$e(v.end)}function dn(v){M.call(this,v);let k=this.stack[this.stack.length-1];k.url=this.sliceSerialize(v)}function se(v){M.call(this,v);let k=this.stack[this.stack.length-1];k.url="mailto:"+this.sliceSerialize(v)}function Nt(){return{type:"blockquote",children:[]}}function Re(){return{type:"code",lang:null,meta:null,value:""}}function ut(){return{type:"inlineCode",value:""}}function dt(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Di(){return{type:"emphasis",children:[]}}function ga(){return{type:"heading",depth:0,children:[]}}function ha(){return{type:"break"}}function fa(){return{type:"html",value:""}}function Kl(){return{type:"image",title:null,url:"",alt:null}}function ya(){return{type:"link",title:null,url:"",children:[]}}function ba(v){return{type:"list",ordered:v.type==="listOrdered",start:null,spread:v._spread,children:[]}}function Xl(v){return{type:"listItem",spread:v._spread,checked:null,children:[]}}function Yl(){return{type:"paragraph",children:[]}}function Jl(){return{type:"strong",children:[]}}function Zl(){return{type:"text",value:""}}function $l(){return{type:"thematicBreak"}}}function $e(e){return{line:e.line,column:e.column,offset:e.offset}}function Ms(e,n){let t=-1;for(;++t<n.length;){let i=n[t];Array.isArray(i)?Ms(e,i):Dm(e,i)}}function Dm(e,n){let t;for(t in n)if(Ls.call(n,t))switch(t){case"canContainEols":{let i=n[t];i&&e[t].push(...i);break}case"transforms":{let i=n[t];i&&e[t].push(...i);break}case"enter":case"exit":{let i=n[t];i&&Object.assign(e[t],i);break}}}function Ns(e,n){throw e?new Error("Cannot close `"+e.type+"` ("+Ze({start:e.start,end:e.end})+"): a different token (`"+n.type+"`, "+Ze({start:n.start,end:n.end})+") is open"):new Error("Cannot close document, a token (`"+n.type+"`, "+Ze({start:n.start,end:n.end})+") is still open")}function ri(e){let n=this;n.parser=t;function t(i){return Xr(i,{...n.data("settings"),...e,extensions:n.data("micromarkExtensions")||[],mdastExtensions:n.data("fromMarkdownExtensions")||[]})}}function Os(e,n){let t={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(n),!0)};return e.patch(n,t),e.applyData(n,t)}function Bs(e,n){let t={type:"element",tagName:"br",properties:{},children:[]};return e.patch(n,t),[e.applyData(n,t),{type:"text",value:`
|
|
3425
3437
|
`}]}function Fs(e,n){let t=n.value?n.value+`
|
|
3426
3438
|
`:"",i={};n.lang&&(i.className=["language-"+n.lang]);let r={type:"element",tagName:"code",properties:i,children:[{type:"text",value:t}]};return n.meta&&(r.data={meta:n.meta}),e.patch(n,r),r=e.applyData(n,r),r={type:"element",tagName:"pre",properties:{},children:[r]},e.patch(n,r),r}function Gs(e,n){let t={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function zs(e,n){let t={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Us(e,n){let t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(n.identifier).toUpperCase(),r=ke(i.toLowerCase()),a=e.footnoteOrder.indexOf(i),o,s=e.footnoteCounts.get(i);s===void 0?(s=0,e.footnoteOrder.push(i),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(i,s);let l={type:"element",tagName:"a",properties:{href:"#"+t+"fn-"+r,id:t+"fnref-"+r+(s>1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(n,l);let c={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(n,c),e.applyData(n,c)}function Hs(e,n){let t={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Vs(e,n){if(e.options.allowDangerousHtml){let t={type:"raw",value:n.value};return e.patch(n,t),e.applyData(n,t)}}function ai(e,n){let t=n.referenceType,i="]";if(t==="collapsed"?i+="[]":t==="full"&&(i+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+i}];let r=e.all(n),a=r[0];a&&a.type==="text"?a.value="["+a.value:r.unshift({type:"text",value:"["});let o=r[r.length-1];return o&&o.type==="text"?o.value+=i:r.push({type:"text",value:i}),r}function Ws(e,n){let t=String(n.identifier).toUpperCase(),i=e.definitionById.get(t);if(!i)return ai(e,n);let r={src:ke(i.url||""),alt:n.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);let a={type:"element",tagName:"img",properties:r,children:[]};return e.patch(n,a),e.applyData(n,a)}function js(e,n){let t={src:ke(n.url)};n.alt!==null&&n.alt!==void 0&&(t.alt=n.alt),n.title!==null&&n.title!==void 0&&(t.title=n.title);let i={type:"element",tagName:"img",properties:t,children:[]};return e.patch(n,i),e.applyData(n,i)}function qs(e,n){let t={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,t);let i={type:"element",tagName:"code",properties:{},children:[t]};return e.patch(n,i),e.applyData(n,i)}function Ks(e,n){let t=String(n.identifier).toUpperCase(),i=e.definitionById.get(t);if(!i)return ai(e,n);let r={href:ke(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);let a={type:"element",tagName:"a",properties:r,children:e.all(n)};return e.patch(n,a),e.applyData(n,a)}function Xs(e,n){let t={href:ke(n.url)};n.title!==null&&n.title!==void 0&&(t.title=n.title);let i={type:"element",tagName:"a",properties:t,children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function Ys(e,n,t){let i=e.all(n),r=t?Nm(t):Js(n),a={},o=[];if(typeof n.checked=="boolean"){let u=i[0],d;u&&u.type==="element"&&u.tagName==="p"?d=u:(d={type:"element",tagName:"p",properties:{},children:[]},i.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let s=-1;for(;++s<i.length;){let u=i[s];(r||s!==0||u.type!=="element"||u.tagName!=="p")&&o.push({type:"text",value:`
|
|
3427
3439
|
`}),u.type==="element"&&u.tagName==="p"&&!r?o.push(...u.children):o.push(u)}let l=i[i.length-1];l&&(r||l.type!=="element"||l.tagName!=="p")&&o.push({type:"text",value:`
|
|
3428
|
-
`});let c={type:"element",tagName:"li",properties:a,children:o};return e.patch(n,c),e.applyData(n,c)}function Nm(e){let n=!1;if(e.type==="list"){n=e.spread||!1;let t=e.children,i=-1;for(;!n&&++i<t.length;)n=Js(t[i])}return n}function Js(e){let n=e.spread;return n??e.children.length>1}function Zs(e,n){let t={},i=e.all(n),r=-1;for(typeof n.start=="number"&&n.start!==1&&(t.start=n.start);++r<i.length;){let o=i[r];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){t.className=["contains-task-list"];break}}let a={type:"element",tagName:n.ordered?"ol":"ul",properties:t,children:e.wrap(i,!0)};return e.patch(n,a),e.applyData(n,a)}function $s(e,n){let t={type:"element",tagName:"p",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Qs(e,n){let t={type:"root",children:e.wrap(e.all(n))};return e.patch(n,t),e.applyData(n,t)}function el(e,n){let t={type:"element",tagName:"strong",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}var oi=tl("end"),si=tl("start");function tl(e){return n;function n(t){let i=t&&t.position&&t.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function
|
|
3440
|
+
`});let c={type:"element",tagName:"li",properties:a,children:o};return e.patch(n,c),e.applyData(n,c)}function Nm(e){let n=!1;if(e.type==="list"){n=e.spread||!1;let t=e.children,i=-1;for(;!n&&++i<t.length;)n=Js(t[i])}return n}function Js(e){let n=e.spread;return n??e.children.length>1}function Zs(e,n){let t={},i=e.all(n),r=-1;for(typeof n.start=="number"&&n.start!==1&&(t.start=n.start);++r<i.length;){let o=i[r];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){t.className=["contains-task-list"];break}}let a={type:"element",tagName:n.ordered?"ol":"ul",properties:t,children:e.wrap(i,!0)};return e.patch(n,a),e.applyData(n,a)}function $s(e,n){let t={type:"element",tagName:"p",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Qs(e,n){let t={type:"root",children:e.wrap(e.all(n))};return e.patch(n,t),e.applyData(n,t)}function el(e,n){let t={type:"element",tagName:"strong",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}var oi=tl("end"),si=tl("start");function tl(e){return n;function n(t){let i=t&&t.position&&t.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function Yr(e){let n=si(e),t=oi(e);if(n&&t)return{start:n,end:t}}function nl(e,n){let t=e.all(n),i=t.shift(),r=[];if(i){let o={type:"element",tagName:"thead",properties:{},children:e.wrap([i],!0)};e.patch(n.children[0],o),r.push(o)}if(t.length>0){let o={type:"element",tagName:"tbody",properties:{},children:e.wrap(t,!0)},s=si(n.children[1]),l=oi(n.children[n.children.length-1]);s&&l&&(o.position={start:s,end:l}),r.push(o)}let a={type:"element",tagName:"table",properties:{},children:e.wrap(r,!0)};return e.patch(n,a),e.applyData(n,a)}function il(e,n,t){let i=t?t.children:void 0,a=(i?i.indexOf(n):1)===0?"th":"td",o=t&&t.type==="table"?t.align:void 0,s=o?o.length:n.children.length,l=-1,c=[];for(;++l<s;){let d=n.children[l],m={},p=o?o[l]:void 0;p&&(m.align=p);let f={type:"element",tagName:a,properties:m,children:[]};d&&(f.children=e.all(d),e.patch(d,f),f=e.applyData(d,f)),c.push(f)}let u={type:"element",tagName:"tr",properties:{},children:e.wrap(c,!0)};return e.patch(n,u),e.applyData(n,u)}function rl(e,n){let t={type:"element",tagName:"td",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function ol(e){let n=String(e),t=/\r?\n|\r/g,i=t.exec(n),r=0,a=[];for(;i;)a.push(al(n.slice(r,i.index),r>0,!0),i[0]),r=i.index+i[0].length,i=t.exec(n);return a.push(al(n.slice(r),r>0,!1)),a.join("")}function al(e,n,t){let i=0,r=e.length;if(n){let a=e.codePointAt(i);for(;a===9||a===32;)i++,a=e.codePointAt(i)}if(t){let a=e.codePointAt(r-1);for(;a===9||a===32;)r--,a=e.codePointAt(r-1)}return r>i?e.slice(i,r):""}function sl(e,n){let t={type:"text",value:ol(String(n.value))};return e.patch(n,t),e.applyData(n,t)}function ll(e,n){let t={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,t),e.applyData(n,t)}var cl={blockquote:Os,break:Bs,code:Fs,delete:Gs,emphasis:zs,footnoteReference:Us,heading:Hs,html:Vs,imageReference:Ws,image:js,inlineCode:qs,linkReference:Ks,link:Xs,listItem:Ys,list:Zs,paragraph:$s,root:Qs,strong:el,table:nl,tableCell:rl,tableRow:il,text:sl,thematicBreak:ll,toml:li,yaml:li,definition:li,footnoteDefinition:li};function li(){}function Lm(e,n){let t=[{type:"text",value:"\u21A9"}];return n>1&&t.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),t}function Mm(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function ul(e){let n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",t=e.options.footnoteBackContent||Lm,i=e.options.footnoteBackLabel||Mm,r=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},s=[],l=-1;for(;++l<e.footnoteOrder.length;){let c=e.footnoteById.get(e.footnoteOrder[l]);if(!c)continue;let u=e.all(c),d=String(c.identifier).toUpperCase(),m=ke(d.toLowerCase()),p=0,f=[],_=e.footnoteCounts.get(d);for(;_!==void 0&&++p<=_;){f.length>0&&f.push({type:"text",value:" "});let T=typeof t=="string"?t:t(l,p);typeof T=="string"&&(T={type:"text",value:T}),f.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+m+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(l,p),className:["data-footnote-backref"]},children:Array.isArray(T)?T:[T]})}let E=u[u.length-1];if(E&&E.type==="element"&&E.tagName==="p"){let T=E.children[E.children.length-1];T&&T.type==="text"?T.value+=" ":E.children.push({type:"text",value:" "}),E.children.push(...f)}else u.push(...f);let y={type:"element",tagName:"li",properties:{id:n+"fn-"+m},children:e.wrap(u,!0)};e.patch(c,y),s.push(y)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...Pe(o),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:`
|
|
3429
3441
|
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(s,!0)},{type:"text",value:`
|
|
3430
|
-
`}]}}var
|
|
3442
|
+
`}]}}var Jr={}.hasOwnProperty,Om={};function pl(e,n){let t=n||Om,i=new Map,r=new Map,a=new Map,o={...cl,...t.handlers},s={all:c,applyData:Fm,definitionById:i,footnoteById:r,footnoteCounts:a,footnoteOrder:[],handlers:o,one:l,options:t,patch:Bm,wrap:zm};return qt(e,function(u){if(u.type==="definition"||u.type==="footnoteDefinition"){let d=u.type==="definition"?i:r,m=String(u.identifier).toUpperCase();d.has(m)||d.set(m,u)}}),s;function l(u,d){let m=u.type,p=s.handlers[m];if(Jr.call(s.handlers,m)&&p)return p(s,u,d);if(s.options.passThrough&&s.options.passThrough.includes(m)){if("children"in u){let{children:_,...E}=u,y=Pe(E);return y.children=s.all(u),y}return Pe(u)}return(s.options.unknownHandler||Gm)(s,u,d)}function c(u){let d=[];if("children"in u){let m=u.children,p=-1;for(;++p<m.length;){let f=s.one(m[p],u);if(f){if(p&&m[p-1].type==="break"&&(!Array.isArray(f)&&f.type==="text"&&(f.value=dl(f.value)),!Array.isArray(f)&&f.type==="element")){let _=f.children[0];_&&_.type==="text"&&(_.value=dl(_.value))}Array.isArray(f)?d.push(...f):d.push(f)}}}return d}}function Bm(e,n){e.position&&(n.position=Yr(e))}function Fm(e,n){let t=n;if(e&&e.data){let i=e.data.hName,r=e.data.hChildren,a=e.data.hProperties;if(typeof i=="string")if(t.type==="element")t.tagName=i;else{let o="children"in t?t.children:[t];t={type:"element",tagName:i,properties:{},children:o}}t.type==="element"&&a&&Object.assign(t.properties,Pe(a)),"children"in t&&t.children&&r!==null&&r!==void 0&&(t.children=r)}return t}function Gm(e,n){let t=n.data||{},i="value"in n&&!(Jr.call(t,"hProperties")||Jr.call(t,"hChildren"))?{type:"text",value:n.value}:{type:"element",tagName:"div",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function zm(e,n){let t=[],i=-1;for(n&&t.push({type:"text",value:`
|
|
3431
3443
|
`});++i<e.length;)i&&t.push({type:"text",value:`
|
|
3432
3444
|
`}),t.push(e[i]);return n&&e.length>0&&t.push({type:"text",value:`
|
|
3433
3445
|
`}),t}function dl(e){let n=0,t=e.charCodeAt(n);for(;t===9||t===32;)n++,t=e.charCodeAt(n);return e.slice(n)}function ci(e,n){let t=pl(e,n),i=t.one(e,void 0),r=ul(t),a=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&("children"in a,a.children.push({type:"text",value:`
|
|
3434
|
-
`},r)),a}function ui(e,n){return e&&"run"in e?async function(t,i){let r=ci(t,{file:i,...n});await e.run(r,i)}:function(t,i){return ci(t,{file:i,...n||e})}}function Jr(e){if(e)throw e}var mi=_a(Sl(),1);function nn(e){if(typeof e!="object"||e===null)return!1;let n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Zr(){let e=[],n={run:t,use:i};return n;function t(...r){let a=-1,o=r.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);s(null,...r);function s(l,...c){let u=e[++a],d=-1;if(l){o(l);return}for(;++d<r.length;)(c[d]===null||c[d]===void 0)&&(c[d]=r[d]);r=c,u?El(u,s)(...c):o(null,...c)}}function i(r){if(typeof r!="function")throw new TypeError("Expected `middelware` to be a function, not "+r);return e.push(r),n}}function El(e,n){let t;return i;function i(...o){let s=e.length>o.length,l;s&&o.push(r);try{l=e.apply(this,o)}catch(c){let u=c;if(s&&t)throw u;return r(u)}s||(l&&l.then&&typeof l.then=="function"?l.then(a,r):l instanceof Error?r(l):a(l))}function r(o,...s){t||(t=!0,n(o,...s))}function a(o){r(null,o)}}var oe=class extends Error{constructor(n,t,i){super(),typeof t=="string"&&(i=t,t=void 0);let r="",a={},o=!1;if(t&&("line"in t&&"column"in t?a={place:t}:"start"in t&&"end"in t?a={place:t}:"type"in t?a={ancestors:[t],place:t.position}:a={...t}),typeof n=="string"?r=n:!a.cause&&n&&(o=!0,r=n.message,a.cause=n),!a.ruleId&&!a.source&&typeof i=="string"){let l=i.indexOf(":");l===-1?a.ruleId=i:(a.source=i.slice(0,l),a.ruleId=i.slice(l+1))}if(!a.place&&a.ancestors&&a.ancestors){let l=a.ancestors[a.ancestors.length-1];l&&(a.place=l.position)}let s=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=s?s.line:void 0,this.name=Je(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=o&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual,this.expected,this.note,this.url}};oe.prototype.file="";oe.prototype.name="";oe.prototype.reason="";oe.prototype.message="";oe.prototype.stack="";oe.prototype.column=void 0;oe.prototype.line=void 0;oe.prototype.ancestors=void 0;oe.prototype.cause=void 0;oe.prototype.fatal=void 0;oe.prototype.place=void 0;oe.prototype.ruleId=void 0;oe.prototype.source=void 0;var Ae={basename:Um,dirname:Hm,extname:Vm,join:Wm,sep:"/"};function Um(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');rn(e);let t=0,i=-1,r=e.length,a;if(n===void 0||n.length===0||n.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(a){t=r+1;break}}else i<0&&(a=!0,i=r+1);return i<0?"":e.slice(t,i)}if(n===e)return"";let o=-1,s=n.length-1;for(;r--;)if(e.codePointAt(r)===47){if(a){t=r+1;break}}else o<0&&(a=!0,o=r+1),s>-1&&(e.codePointAt(r)===n.codePointAt(s--)?s<0&&(i=r):(s=-1,i=o));return t===i?i=o:i<0&&(i=e.length),e.slice(t,i)}function Hm(e){if(rn(e),e.length===0)return".";let n=-1,t=e.length,i;for(;--t;)if(e.codePointAt(t)===47){if(i){n=t;break}}else i||(i=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function Vm(e){rn(e);let n=e.length,t=-1,i=0,r=-1,a=0,o;for(;n--;){let s=e.codePointAt(n);if(s===47){if(o){i=n+1;break}continue}t<0&&(o=!0,t=n+1),s===46?r<0?r=n:a!==1&&(a=1):r>-1&&(a=-1)}return r<0||t<0||a===0||a===1&&r===t-1&&r===i+1?"":e.slice(r,t)}function Wm(...e){let n=-1,t;for(;++n<e.length;)rn(e[n]),e[n]&&(t=t===void 0?e[n]:t+"/"+e[n]);return t===void 0?".":jm(t)}function jm(e){rn(e);let n=e.codePointAt(0)===47,t=qm(e,!n);return t.length===0&&!n&&(t="."),t.length>0&&e.codePointAt(e.length-1)===47&&(t+="/"),n?"/"+t:t}function qm(e,n){let t="",i=0,r=-1,a=0,o=-1,s,l;for(;++o<=e.length;){if(o<e.length)s=e.codePointAt(o);else{if(s===47)break;s=47}if(s===47){if(!(r===o-1||a===1))if(r!==o-1&&a===2){if(t.length<2||i!==2||t.codePointAt(t.length-1)!==46||t.codePointAt(t.length-2)!==46){if(t.length>2){if(l=t.lastIndexOf("/"),l!==t.length-1){l<0?(t="",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf("/")),r=o,a=0;continue}}else if(t.length>0){t="",i=0,r=o,a=0;continue}}n&&(t=t.length>0?t+"/..":"..",i=2)}else t.length>0?t+="/"+e.slice(r+1,o):t=e.slice(r+1,o),i=o-r-1;r=o,a=0}else s===46&&a>-1?a++:a=-1}return t}function rn(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var Cl={cwd:Km};function Km(){return"/"}function Tt(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function kl(e){if(typeof e=="string")e=new URL(e);else if(!Tt(e)){let n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){let n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return Xm(e)}function Xm(e){if(e.hostname!==""){let i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}let n=e.pathname,t=-1;for(;++t<n.length;)if(n.codePointAt(t)===37&&n.codePointAt(t+1)===50){let i=n.codePointAt(t+2);if(i===70||i===102){let r=new TypeError("File URL path must not include encoded / characters");throw r.code="ERR_INVALID_FILE_URL_PATH",r}}return decodeURIComponent(n)}var $r=["history","path","basename","stem","extname","dirname"],an=class{constructor(n){let t;n?Tt(n)?t={path:n}:typeof n=="string"||Ym(n)?t={value:n}:t=n:t={},this.cwd=Cl.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let i=-1;for(;++i<$r.length;){let a=$r[i];a in t&&t[a]!==void 0&&t[a]!==null&&(this[a]=a==="history"?[...t[a]]:t[a])}let r;for(r in t)$r.includes(r)||(this[r]=t[r])}get basename(){return typeof this.path=="string"?Ae.basename(this.path):void 0}set basename(n){ea(n,"basename"),Qr(n,"basename"),this.path=Ae.join(this.dirname||"",n)}get dirname(){return typeof this.path=="string"?Ae.dirname(this.path):void 0}set dirname(n){wl(this.basename,"dirname"),this.path=Ae.join(n||"",this.basename)}get extname(){return typeof this.path=="string"?Ae.extname(this.path):void 0}set extname(n){if(Qr(n,"extname"),wl(this.dirname,"extname"),n){if(n.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(n.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Ae.join(this.dirname,this.stem+(n||""))}get path(){return this.history[this.history.length-1]}set path(n){Tt(n)&&(n=kl(n)),ea(n,"path"),this.path!==n&&this.history.push(n)}get stem(){return typeof this.path=="string"?Ae.basename(this.path,this.extname):void 0}set stem(n){ea(n,"stem"),Qr(n,"stem"),this.path=Ae.join(this.dirname||"",n+(this.extname||""))}fail(n,t,i){let r=this.message(n,t,i);throw r.fatal=!0,r}info(n,t,i){let r=this.message(n,t,i);return r.fatal=void 0,r}message(n,t,i){let r=new oe(n,t,i);return this.path&&(r.name=this.path+":"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(n){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(n||void 0).decode(this.value)}};function Qr(e,n){if(e&&e.includes(Ae.sep))throw new Error("`"+n+"` cannot be a path: did not expect `"+Ae.sep+"`")}function ea(e,n){if(!e)throw new Error("`"+n+"` cannot be empty")}function wl(e,n){if(!e)throw new Error("Setting `"+n+"` requires `path` to be set too")}function Ym(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Tl=function(e){let i=this.constructor.prototype,r=i[e],a=function(){return r.apply(a,arguments)};Object.setPrototypeOf(a,i);let o=Object.getOwnPropertyNames(r);for(let s of o){let l=Object.getOwnPropertyDescriptor(r,s);l&&Object.defineProperty(a,s,l)}return a};var Jm={}.hasOwnProperty,ra=class e extends Tl{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Zr()}copy(){let n=new e,t=-1;for(;++t<this.attachers.length;){let i=this.attachers[t];n.use(...i)}return n.data((0,mi.default)(!0,{},this.namespace)),n}data(n,t){return typeof n=="string"?arguments.length===2?(ia("data",this.frozen),this.namespace[n]=t,this):Jm.call(this.namespace,n)&&this.namespace[n]||void 0:n?(ia("data",this.frozen),this.namespace=n,this):this.namespace}freeze(){if(this.frozen)return this;let n=this;for(;++this.freezeIndex<this.attachers.length;){let[t,...i]=this.attachers[this.freezeIndex];if(i[0]===!1)continue;i[0]===!0&&(i[0]=void 0);let r=t.call(n,...i);typeof r=="function"&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(n){this.freeze();let t=pi(n),i=this.parser||this.Parser;return ta("parse",i),i(String(t),t)}process(n,t){let i=this;return this.freeze(),ta("process",this.parser||this.Parser),na("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(a,o){let s=pi(n),l=i.parse(s);i.run(l,s,function(u,d,m){if(u||!d||!m)return c(u);let p=d,f=i.stringify(p,m);$m(f)?m.value=f:m.result=f,c(u,m)});function c(u,d){u||!d?o(u):a?a(d):t(void 0,d)}}}processSync(n){let t=!1,i;return this.freeze(),ta("processSync",this.parser||this.Parser),na("processSync",this.compiler||this.Compiler),this.process(n,r),xl("processSync","process",t),i;function r(a,o){t=!0,Jr(a),i=o}}run(n,t,i){Al(n),this.freeze();let r=this.transformers;return!i&&typeof t=="function"&&(i=t,t=void 0),i?a(void 0,i):new Promise(a);function a(o,s){let l=pi(t);r.run(n,l,c);function c(u,d,m){let p=d||n;u?s(u):o?o(p):i(void 0,p,m)}}}runSync(n,t){let i=!1,r;return this.run(n,t,a),xl("runSync","run",i),r;function a(o,s){Jr(o),r=s,i=!0}}stringify(n,t){this.freeze();let i=pi(t),r=this.compiler||this.Compiler;return na("stringify",r),Al(n),r(n,i)}use(n,...t){let i=this.attachers,r=this.namespace;if(ia("use",this.frozen),n!=null)if(typeof n=="function")l(n,t);else if(typeof n=="object")Array.isArray(n)?s(n):o(n);else throw new TypeError("Expected usable value, not `"+n+"`");return this;function a(c){if(typeof c=="function")l(c,[]);else if(typeof c=="object")if(Array.isArray(c)){let[u,...d]=c;l(u,d)}else o(c);else throw new TypeError("Expected usable value, not `"+c+"`")}function o(c){if(!("plugins"in c)&&!("settings"in c))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(c.plugins),c.settings&&(r.settings=(0,mi.default)(!0,r.settings,c.settings))}function s(c){let u=-1;if(c!=null)if(Array.isArray(c))for(;++u<c.length;){let d=c[u];a(d)}else throw new TypeError("Expected a list of plugins, not `"+c+"`")}function l(c,u){let d=-1,m=-1;for(;++d<i.length;)if(i[d][0]===c){m=d;break}if(m===-1)i.push([c,...u]);else if(u.length>0){let[p,...f]=u,_=i[m][1];nn(_)&&nn(p)&&(p=(0,mi.default)(!0,_,p)),i[m]=[c,p,...f]}}}},aa=new ra().freeze();function ta(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function na(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function ia(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Al(e){if(!nn(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function xl(e,n,t){if(!t)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function pi(e){return Zm(e)?e:new an(e)}function Zm(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function $m(e){return typeof e=="string"||Qm(e)}function Qm(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var on=class extends be{constructor(){super(...arguments);this.html=()=>`
|
|
3446
|
+
`},r)),a}function ui(e,n){return e&&"run"in e?async function(t,i){let r=ci(t,{file:i,...n});await e.run(r,i)}:function(t,i){return ci(t,{file:i,...n||e})}}function Zr(e){if(e)throw e}var mi=_a(Sl(),1);function rn(e){if(typeof e!="object"||e===null)return!1;let n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function $r(){let e=[],n={run:t,use:i};return n;function t(...r){let a=-1,o=r.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);s(null,...r);function s(l,...c){let u=e[++a],d=-1;if(l){o(l);return}for(;++d<r.length;)(c[d]===null||c[d]===void 0)&&(c[d]=r[d]);r=c,u?El(u,s)(...c):o(null,...c)}}function i(r){if(typeof r!="function")throw new TypeError("Expected `middelware` to be a function, not "+r);return e.push(r),n}}function El(e,n){let t;return i;function i(...o){let s=e.length>o.length,l;s&&o.push(r);try{l=e.apply(this,o)}catch(c){let u=c;if(s&&t)throw u;return r(u)}s||(l&&l.then&&typeof l.then=="function"?l.then(a,r):l instanceof Error?r(l):a(l))}function r(o,...s){t||(t=!0,n(o,...s))}function a(o){r(null,o)}}var oe=class extends Error{constructor(n,t,i){super(),typeof t=="string"&&(i=t,t=void 0);let r="",a={},o=!1;if(t&&("line"in t&&"column"in t?a={place:t}:"start"in t&&"end"in t?a={place:t}:"type"in t?a={ancestors:[t],place:t.position}:a={...t}),typeof n=="string"?r=n:!a.cause&&n&&(o=!0,r=n.message,a.cause=n),!a.ruleId&&!a.source&&typeof i=="string"){let l=i.indexOf(":");l===-1?a.ruleId=i:(a.source=i.slice(0,l),a.ruleId=i.slice(l+1))}if(!a.place&&a.ancestors&&a.ancestors){let l=a.ancestors[a.ancestors.length-1];l&&(a.place=l.position)}let s=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=s?s.line:void 0,this.name=Ze(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=o&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual,this.expected,this.note,this.url}};oe.prototype.file="";oe.prototype.name="";oe.prototype.reason="";oe.prototype.message="";oe.prototype.stack="";oe.prototype.column=void 0;oe.prototype.line=void 0;oe.prototype.ancestors=void 0;oe.prototype.cause=void 0;oe.prototype.fatal=void 0;oe.prototype.place=void 0;oe.prototype.ruleId=void 0;oe.prototype.source=void 0;var xe={basename:Um,dirname:Hm,extname:Vm,join:Wm,sep:"/"};function Um(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');an(e);let t=0,i=-1,r=e.length,a;if(n===void 0||n.length===0||n.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(a){t=r+1;break}}else i<0&&(a=!0,i=r+1);return i<0?"":e.slice(t,i)}if(n===e)return"";let o=-1,s=n.length-1;for(;r--;)if(e.codePointAt(r)===47){if(a){t=r+1;break}}else o<0&&(a=!0,o=r+1),s>-1&&(e.codePointAt(r)===n.codePointAt(s--)?s<0&&(i=r):(s=-1,i=o));return t===i?i=o:i<0&&(i=e.length),e.slice(t,i)}function Hm(e){if(an(e),e.length===0)return".";let n=-1,t=e.length,i;for(;--t;)if(e.codePointAt(t)===47){if(i){n=t;break}}else i||(i=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function Vm(e){an(e);let n=e.length,t=-1,i=0,r=-1,a=0,o;for(;n--;){let s=e.codePointAt(n);if(s===47){if(o){i=n+1;break}continue}t<0&&(o=!0,t=n+1),s===46?r<0?r=n:a!==1&&(a=1):r>-1&&(a=-1)}return r<0||t<0||a===0||a===1&&r===t-1&&r===i+1?"":e.slice(r,t)}function Wm(...e){let n=-1,t;for(;++n<e.length;)an(e[n]),e[n]&&(t=t===void 0?e[n]:t+"/"+e[n]);return t===void 0?".":jm(t)}function jm(e){an(e);let n=e.codePointAt(0)===47,t=qm(e,!n);return t.length===0&&!n&&(t="."),t.length>0&&e.codePointAt(e.length-1)===47&&(t+="/"),n?"/"+t:t}function qm(e,n){let t="",i=0,r=-1,a=0,o=-1,s,l;for(;++o<=e.length;){if(o<e.length)s=e.codePointAt(o);else{if(s===47)break;s=47}if(s===47){if(!(r===o-1||a===1))if(r!==o-1&&a===2){if(t.length<2||i!==2||t.codePointAt(t.length-1)!==46||t.codePointAt(t.length-2)!==46){if(t.length>2){if(l=t.lastIndexOf("/"),l!==t.length-1){l<0?(t="",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf("/")),r=o,a=0;continue}}else if(t.length>0){t="",i=0,r=o,a=0;continue}}n&&(t=t.length>0?t+"/..":"..",i=2)}else t.length>0?t+="/"+e.slice(r+1,o):t=e.slice(r+1,o),i=o-r-1;r=o,a=0}else s===46&&a>-1?a++:a=-1}return t}function an(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var Cl={cwd:Km};function Km(){return"/"}function Tt(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function kl(e){if(typeof e=="string")e=new URL(e);else if(!Tt(e)){let n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){let n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return Xm(e)}function Xm(e){if(e.hostname!==""){let i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}let n=e.pathname,t=-1;for(;++t<n.length;)if(n.codePointAt(t)===37&&n.codePointAt(t+1)===50){let i=n.codePointAt(t+2);if(i===70||i===102){let r=new TypeError("File URL path must not include encoded / characters");throw r.code="ERR_INVALID_FILE_URL_PATH",r}}return decodeURIComponent(n)}var Qr=["history","path","basename","stem","extname","dirname"],on=class{constructor(n){let t;n?Tt(n)?t={path:n}:typeof n=="string"||Ym(n)?t={value:n}:t=n:t={},this.cwd=Cl.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let i=-1;for(;++i<Qr.length;){let a=Qr[i];a in t&&t[a]!==void 0&&t[a]!==null&&(this[a]=a==="history"?[...t[a]]:t[a])}let r;for(r in t)Qr.includes(r)||(this[r]=t[r])}get basename(){return typeof this.path=="string"?xe.basename(this.path):void 0}set basename(n){ta(n,"basename"),ea(n,"basename"),this.path=xe.join(this.dirname||"",n)}get dirname(){return typeof this.path=="string"?xe.dirname(this.path):void 0}set dirname(n){wl(this.basename,"dirname"),this.path=xe.join(n||"",this.basename)}get extname(){return typeof this.path=="string"?xe.extname(this.path):void 0}set extname(n){if(ea(n,"extname"),wl(this.dirname,"extname"),n){if(n.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(n.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=xe.join(this.dirname,this.stem+(n||""))}get path(){return this.history[this.history.length-1]}set path(n){Tt(n)&&(n=kl(n)),ta(n,"path"),this.path!==n&&this.history.push(n)}get stem(){return typeof this.path=="string"?xe.basename(this.path,this.extname):void 0}set stem(n){ta(n,"stem"),ea(n,"stem"),this.path=xe.join(this.dirname||"",n+(this.extname||""))}fail(n,t,i){let r=this.message(n,t,i);throw r.fatal=!0,r}info(n,t,i){let r=this.message(n,t,i);return r.fatal=void 0,r}message(n,t,i){let r=new oe(n,t,i);return this.path&&(r.name=this.path+":"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(n){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(n||void 0).decode(this.value)}};function ea(e,n){if(e&&e.includes(xe.sep))throw new Error("`"+n+"` cannot be a path: did not expect `"+xe.sep+"`")}function ta(e,n){if(!e)throw new Error("`"+n+"` cannot be empty")}function wl(e,n){if(!e)throw new Error("Setting `"+n+"` requires `path` to be set too")}function Ym(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Tl=function(e){let i=this.constructor.prototype,r=i[e],a=function(){return r.apply(a,arguments)};Object.setPrototypeOf(a,i);let o=Object.getOwnPropertyNames(r);for(let s of o){let l=Object.getOwnPropertyDescriptor(r,s);l&&Object.defineProperty(a,s,l)}return a};var Jm={}.hasOwnProperty,aa=class e extends Tl{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=$r()}copy(){let n=new e,t=-1;for(;++t<this.attachers.length;){let i=this.attachers[t];n.use(...i)}return n.data((0,mi.default)(!0,{},this.namespace)),n}data(n,t){return typeof n=="string"?arguments.length===2?(ra("data",this.frozen),this.namespace[n]=t,this):Jm.call(this.namespace,n)&&this.namespace[n]||void 0:n?(ra("data",this.frozen),this.namespace=n,this):this.namespace}freeze(){if(this.frozen)return this;let n=this;for(;++this.freezeIndex<this.attachers.length;){let[t,...i]=this.attachers[this.freezeIndex];if(i[0]===!1)continue;i[0]===!0&&(i[0]=void 0);let r=t.call(n,...i);typeof r=="function"&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(n){this.freeze();let t=pi(n),i=this.parser||this.Parser;return na("parse",i),i(String(t),t)}process(n,t){let i=this;return this.freeze(),na("process",this.parser||this.Parser),ia("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(a,o){let s=pi(n),l=i.parse(s);i.run(l,s,function(u,d,m){if(u||!d||!m)return c(u);let p=d,f=i.stringify(p,m);$m(f)?m.value=f:m.result=f,c(u,m)});function c(u,d){u||!d?o(u):a?a(d):t(void 0,d)}}}processSync(n){let t=!1,i;return this.freeze(),na("processSync",this.parser||this.Parser),ia("processSync",this.compiler||this.Compiler),this.process(n,r),xl("processSync","process",t),i;function r(a,o){t=!0,Zr(a),i=o}}run(n,t,i){Al(n),this.freeze();let r=this.transformers;return!i&&typeof t=="function"&&(i=t,t=void 0),i?a(void 0,i):new Promise(a);function a(o,s){let l=pi(t);r.run(n,l,c);function c(u,d,m){let p=d||n;u?s(u):o?o(p):i(void 0,p,m)}}}runSync(n,t){let i=!1,r;return this.run(n,t,a),xl("runSync","run",i),r;function a(o,s){Zr(o),r=s,i=!0}}stringify(n,t){this.freeze();let i=pi(t),r=this.compiler||this.Compiler;return ia("stringify",r),Al(n),r(n,i)}use(n,...t){let i=this.attachers,r=this.namespace;if(ra("use",this.frozen),n!=null)if(typeof n=="function")l(n,t);else if(typeof n=="object")Array.isArray(n)?s(n):o(n);else throw new TypeError("Expected usable value, not `"+n+"`");return this;function a(c){if(typeof c=="function")l(c,[]);else if(typeof c=="object")if(Array.isArray(c)){let[u,...d]=c;l(u,d)}else o(c);else throw new TypeError("Expected usable value, not `"+c+"`")}function o(c){if(!("plugins"in c)&&!("settings"in c))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(c.plugins),c.settings&&(r.settings=(0,mi.default)(!0,r.settings,c.settings))}function s(c){let u=-1;if(c!=null)if(Array.isArray(c))for(;++u<c.length;){let d=c[u];a(d)}else throw new TypeError("Expected a list of plugins, not `"+c+"`")}function l(c,u){let d=-1,m=-1;for(;++d<i.length;)if(i[d][0]===c){m=d;break}if(m===-1)i.push([c,...u]);else if(u.length>0){let[p,...f]=u,_=i[m][1];rn(_)&&rn(p)&&(p=(0,mi.default)(!0,_,p)),i[m]=[c,p,...f]}}}},oa=new aa().freeze();function na(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function ia(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function ra(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Al(e){if(!rn(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function xl(e,n,t){if(!t)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function pi(e){return Zm(e)?e:new on(e)}function Zm(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function $m(e){return typeof e=="string"||Qm(e)}function Qm(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var sn=class extends be{constructor(){super(...arguments);this.html=()=>`
|
|
3435
3447
|
|
|
3436
3448
|
<!-- Styling -->
|
|
3437
3449
|
<style>
|
|
@@ -3518,7 +3530,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3518
3530
|
<div class='llm-selector-item-icon' style="background-image: url('${i.icon}'); "></div>
|
|
3519
3531
|
<div class='llm-selector-item-name'>${i.name}</div>
|
|
3520
3532
|
<div class='llm-selector-item-provider'>${i.provider}</div>
|
|
3521
|
-
`,r.addEventListener("click",a=>{this.dispatchEvent(new CustomEvent("select",{detail:i.id}))}),t.appendChild(r)}}};on.observedAttributes=["open"];var At=new q("ONNXModel"),xe=class e{constructor(n){this.stateTensors={};this.constantTensors={};this._runActive=!1;this.ignoreIfBusy=!1;this.session=n,At.debug(`Model input parameters: ${n.inputNames.join(", ")}`),At.debug(`Model output parameters: ${n.outputNames.join(", ")}`)}static isSupported(){return!!e.lib}static async load(n){if(!e.lib)throw new Error("ONNX runtime not loaded, please set the runtime loader. Example: ONNXModel.lib = () => import('onnxruntime-web')");this.onnx||(At.debug("Loading ONNX runtime"),this.onnx=await e.lib()),At.debug(`Loading model: ${n}`);let t=await this.onnx.InferenceSession.create(n);return new e(t)}makeTensor(n,t,i=0){let r=1;for(let o of t)r*=o;let a;if(n=="float32")a=new e.onnx.Tensor(new Float32Array(r),t);else if(n=="int8")a=new e.onnx.Tensor(new Int8Array(r),t);else if(n=="int16")a=new e.onnx.Tensor(new Int16Array(r),t);else if(n=="int32")a=new e.onnx.Tensor(new Int32Array(r),t);else if(n=="int64")a=new e.onnx.Tensor(new BigInt64Array(r),t);else if(n=="uint8")a=new e.onnx.Tensor(new Uint8Array(r),t);else if(n=="uint16")a=new e.onnx.Tensor(new Uint16Array(r),t);else if(n=="uint32")a=new e.onnx.Tensor(new Uint32Array(r),t);else if(n=="uint64")a=new e.onnx.Tensor(new BigUint64Array(r),t);else throw new Error(`Invalid type: ${n}`);return i!==0&&(n=="int64"||n=="uint64")?a.data.fill(BigInt(i)):i!==0&&a.data.fill(i),a}registerConstant(n,t){if(!this.session.inputNames.includes(n))throw new Error(`Model does not have an input named: ${n}`);return this.constantTensors[n]=t,t}makeConstant(n,t,i,r=0){return this.registerConstant(n,this.makeTensor(t,i,r))}registerState(n,t,i){if(t||(t=n),!this.session.inputNames.includes(n))throw new Error(`Model does not have an input named: ${n}`);if(!this.session.outputNames.includes(t))throw new Error(`Model does not have an output named: ${t}`);return this.stateTensors[n]={outputName:t,tensor:i},i}makeState(n,t,i,r,a=0){return this.registerState(n,t,this.makeTensor(i,r,a))}async run(n={}){if(this._runActive&&this.ignoreIfBusy)return At.debug("Ignoring run request because a previous run is still active");if(this._runActive)throw new Error("A previous run is still active");this._runActive=!0;for(let t in this.stateTensors)n[t]=this.stateTensors[t].tensor;for(let t in this.constantTensors)n[t]=this.constantTensors[t];try{let t=await this.session.run(n);for(let i in this.stateTensors){let r=t[this.stateTensors[i].outputName];this.stateTensors[i].tensor=r}return t}finally{this._runActive=!1}}resetState(){At.debug("Resetting state tensors");for(let n in this.stateTensors)this.stateTensors[n].tensor.data.fill(0)}};var Il="data:application/javascript;base64,dmFyIGM9Y2xhc3N7Y29uc3RydWN0b3IoaSx0KXt0aGlzLm91dHB1dEJ1ZmZlclNpemU9MDt0aGlzLnBhcnRpYWxCdWZmZXJzPVtdO3RoaXMucGFydGlhbEJ1ZmZlck9mZnNldD0wO2lmKCFpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnJheSBjbGFzczogJHtpfWApO2lmKCF0fHx0PD0wKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRwdXQgYnVmZmVyIHNpemU6ICR7dH1gKTt0aGlzLkFycmF5Q2xhc3M9aSx0aGlzLm91dHB1dEJ1ZmZlclNpemU9dH1nZXQgcXVldWVkU2l6ZSgpe3JldHVybiB0aGlzLnBhcnRpYWxCdWZmZXJzLnJlZHVjZSgoaSx0KT0+aSt0Lmxlbmd0aCwwKX1mZWVkKGkpe3RoaXMucGFydGlhbEJ1ZmZlcnMucHVzaChpKX1nZXQgY2FuRHJhaW4oKXtyZXR1cm4gdGhpcy5wYXJ0aWFsQnVmZmVycy5yZWR1Y2UoKHQscik9PnQrci5sZW5ndGgsMCktdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0Pj10aGlzLm91dHB1dEJ1ZmZlclNpemV9ZHJhaW4oKXtpZighdGhpcy5jYW5EcmFpbilyZXR1cm4gbnVsbDtsZXQgaT10aGlzLkFycmF5Q2xhc3MsdD1uZXcgaSh0aGlzLm91dHB1dEJ1ZmZlclNpemUpLHI9MDtmb3IoO3IhPXQubGVuZ3RoOyl7aWYocj50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEJ1ZmZlciBvdmVyZmxvdzogJHtyfSA+ICR7dC5sZW5ndGh9YCk7bGV0IGE9dC5sZW5ndGgtcixzPXRoaXMucGFydGlhbEJ1ZmZlcnNbMF0sZj1zLmxlbmd0aC10aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQ7ZjxhPyh0LnNldChzLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCkscikscis9Zix0aGlzLnBhcnRpYWxCdWZmZXJzLnNoaWZ0KCksdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0PTApOih0LnNldChzLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrYSkscikscis9YSx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrPWEpfXJldHVybiB0fXBhZCgpe2xldCBpPXRoaXMucXVldWVkU2l6ZSV0aGlzLm91dHB1dEJ1ZmZlclNpemU7aWYoaT09MClyZXR1cm47bGV0IHQ9dGhpcy5BcnJheUNsYXNzLHI9bmV3IHQoaSk7dGhpcy5mZWVkKHIpfX07dmFyIGQ9Y2xhc3N7Y29uc3RydWN0b3IoaSx0LHIsYSl7aWYoIWl8fCF0fHwhcil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2V0dGluZ3Mgc3BlY2lmaWVkIGZvciB0aGUgcmVzYW1wbGVyLiIpO3RoaXMucmVzYW1wbGVyPW51bGwsdGhpcy5mcm9tU2FtcGxlUmF0ZT1pLHRoaXMudG9TYW1wbGVSYXRlPXQsdGhpcy5jaGFubmVscz1yfHwwLHRoaXMuaW5wdXRCdWZmZXJTaXplPWEsdGhpcy5pbml0aWFsaXplKCl9aW5pdGlhbGl6ZSgpe3RoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlPyh0aGlzLnJlc2FtcGxlcj1pPT5pLHRoaXMucmF0aW9XZWlnaHQ9MSk6KHRoaXMuZnJvbVNhbXBsZVJhdGU8dGhpcy50b1NhbXBsZVJhdGU/KHRoaXMubGluZWFySW50ZXJwb2xhdGlvbigpLHRoaXMubGFzdFdlaWdodD0xKToodGhpcy5tdWx0aVRhcCgpLHRoaXMudGFpbEV4aXN0cz0hMSx0aGlzLmxhc3RXZWlnaHQ9MCksdGhpcy5pbml0aWFsaXplQnVmZmVycygpLHRoaXMucmF0aW9XZWlnaHQ9dGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLnRvU2FtcGxlUmF0ZSl9YnVmZmVyU2xpY2UoaSl7dHJ5e3JldHVybiB0aGlzLm91dHB1dEJ1ZmZlci5zdWJhcnJheSgwLGkpfWNhdGNoe3RyeXtyZXR1cm4gdGhpcy5vdXRwdXRCdWZmZXIubGVuZ3RoPWksdGhpcy5vdXRwdXRCdWZmZXJ9Y2F0Y2h7cmV0dXJuIHRoaXMub3V0cHV0QnVmZmVyLnNsaWNlKDAsaSl9fX1pbml0aWFsaXplQnVmZmVycygpe3RoaXMub3V0cHV0QnVmZmVyU2l6ZT1NYXRoLmNlaWwodGhpcy5pbnB1dEJ1ZmZlclNpemUqdGhpcy50b1NhbXBsZVJhdGUvdGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLmNoYW5uZWxzKjEuMDAwMDAwNDc2ODM3MTU4MikrdGhpcy5jaGFubmVscyt0aGlzLmNoYW5uZWxzO3RyeXt0aGlzLm91dHB1dEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KHRoaXMub3V0cHV0QnVmZmVyU2l6ZSksdGhpcy5sYXN0T3V0cHV0PW5ldyBGbG9hdDMyQXJyYXkodGhpcy5jaGFubmVscyl9Y2F0Y2h7dGhpcy5vdXRwdXRCdWZmZXI9W10sdGhpcy5sYXN0T3V0cHV0PVtdfX1saW5lYXJJbnRlcnBvbGF0aW9uKCl7dGhpcy5yZXNhbXBsZXI9aT0+e2xldCB0PWkubGVuZ3RoLHI9dGhpcy5jaGFubmVscyxhLHMsZixoLGUsbix1LG8sbDtpZih0JXIhPT0wKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIHdhcyBvZiBpbmNvcnJlY3Qgc2FtcGxlIGxlbmd0aC4iKTtpZih0PD0wKXJldHVybltdO2ZvcihhPXRoaXMub3V0cHV0QnVmZmVyU2l6ZSxzPXRoaXMucmF0aW9XZWlnaHQsZj10aGlzLmxhc3RXZWlnaHQsaD0wLGU9MCxuPTAsdT0wLG89dGhpcy5vdXRwdXRCdWZmZXI7ZjwxO2YrPXMpZm9yKGU9ZiUxLGg9MS1lLHRoaXMubGFzdFdlaWdodD1mJTEsbD0wO2w8dGhpcy5jaGFubmVsczsrK2wpb1t1KytdPXRoaXMubGFzdE91dHB1dFtsXSpoK2lbbF0qZTtmb3IoZi09MSx0LT1yLG49TWF0aC5mbG9vcihmKSpyO3U8YSYmbjx0Oyl7Zm9yKGU9ZiUxLGg9MS1lLGw9MDtsPHRoaXMuY2hhbm5lbHM7KytsKW9bdSsrXT1pW24rKGw+MD9sOjApXSpoK2lbbisocitsKV0qZTtmKz1zLG49TWF0aC5mbG9vcihmKSpyfWZvcihsPTA7bDxyOysrbCl0aGlzLmxhc3RPdXRwdXRbbF09aVtuKytdO3JldHVybiB0aGlzLmJ1ZmZlclNsaWNlKHUpfX1tdWx0aVRhcCgpe3RoaXMucmVzYW1wbGVyPWk9PntsZXQgdD1pLmxlbmd0aCxyLGEscz10aGlzLmNoYW5uZWxzLGYsaCxlLG4sdSxvLGwsbSxnO2lmKHQlcyE9PTApdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgd2FzIG9mIGluY29ycmVjdCBzYW1wbGUgbGVuZ3RoLiIpO2lmKHQ8PTApcmV0dXJuW107Zm9yKHI9dGhpcy5vdXRwdXRCdWZmZXJTaXplLGE9W10sZj10aGlzLnJhdGlvV2VpZ2h0LGg9MCxuPTAsdT0wLG89IXRoaXMudGFpbEV4aXN0cyx0aGlzLnRhaWxFeGlzdHM9ITEsbD10aGlzLm91dHB1dEJ1ZmZlcixtPTAsZz0wLGU9MDtlPHM7KytlKWFbZV09MDtkb3tpZihvKWZvcihoPWYsZT0wO2U8czsrK2UpYVtlXT0wO2Vsc2V7Zm9yKGg9dGhpcy5sYXN0V2VpZ2h0LGU9MDtlPHM7KytlKWFbZV09dGhpcy5sYXN0T3V0cHV0W2VdO289ITB9Zm9yKDtoPjAmJm48dDspaWYodT0xK24tZyxoPj11KXtmb3IoZT0wO2U8czsrK2UpYVtlXSs9aVtuKytdKnU7Zz1uLGgtPXV9ZWxzZXtmb3IoZT0wO2U8czsrK2UpYVtlXSs9aVtuKyhlPjA/ZTowKV0qaDtnKz1oLGg9MDticmVha31pZihoPT09MClmb3IoZT0wO2U8czsrK2UpbFttKytdPWFbZV0vZjtlbHNle2Zvcih0aGlzLmxhc3RXZWlnaHQ9aCxlPTA7ZTxzOysrZSl0aGlzLmxhc3RPdXRwdXRbZV09YVtlXTt0aGlzLnRhaWxFeGlzdHM9ITA7YnJlYWt9fXdoaWxlKG48dCYmbTxyKTtyZXR1cm4gdGhpcy5idWZmZXJTbGljZShtKX19cmVzYW1wbGUoaSl7cmV0dXJuIHRoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlP3RoaXMucmF0aW9XZWlnaHQ9MToodGhpcy5mcm9tU2FtcGxlUmF0ZTx0aGlzLnRvU2FtcGxlUmF0ZT90aGlzLmxhc3RXZWlnaHQ9MToodGhpcy50YWlsRXhpc3RzPSExLHRoaXMubGFzdFdlaWdodD0wKSx0aGlzLmluaXRpYWxpemVCdWZmZXJzKCksdGhpcy5yYXRpb1dlaWdodD10aGlzLmZyb21TYW1wbGVSYXRlL3RoaXMudG9TYW1wbGVSYXRlKSx0aGlzLnJlc2FtcGxlcihpKX19O2Z1bmN0aW9uIFMocCl7bGV0IGk9cC5sZW5ndGgsdD1uZXcgRmxvYXQzMkFycmF5KGkpO2Zvcig7aS0tOyl7bGV0IHI9cFtpXTt0W2ldPXI+PTMyNzY4Py0oNjU1MzYtcikvMzI3Njg6ci8zMjc2N31yZXR1cm4gdH12YXIgeT0xMDI0KjgsQj1jbGFzcyBleHRlbmRzIEF1ZGlvV29ya2xldFByb2Nlc3Nvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KTt0aGlzLmNodW5rcz1bXTt0aGlzLmNodW5rUG9zaXRpb249MDt0aGlzLmlzRW5kZWQ9ITE7dGhpcy5pc0NhbmNlbGxlZD0hMTt0aGlzLnNhbXBsZVJhdGU9MDt0aGlzLmZvcm1hdD0iaW50MTYiO3RoaXMuYnVmZmVyT2Zmc2V0PTA7dGhpcy5sYXN0UGxheWVkQnVmZmVyU2l6ZT0wO3RoaXMuX2hhc1NlbnRFbmRFdmVudD0hMTt0aGlzLnBvcnQub25tZXNzYWdlPXI9PnRoaXMub25NZXNzYWdlKHIpfW9uTWVzc2FnZSh0KXtpZih0LmRhdGEuYWN0aW9uPT0ic3RhcnQiKXRoaXMuZm9ybWF0PXQuZGF0YS5mb3JtYXQsdGhpcy5zYW1wbGVSYXRlPXQuZGF0YS5pbnB1dFNhbXBsZVJhdGUsdGhpcy5yZXNhbXBsZXI9bmV3IGQodC5kYXRhLmlucHV0U2FtcGxlUmF0ZSx0LmRhdGEub3V0cHV0U2FtcGxlUmF0ZSwxLHkpLHRoaXMuZm9ybWF0PT0iaW50MTYiP3RoaXMuaW5wdXRCdWZmZXI9bmV3IGMoVWludDhBcnJheSx5KjIpOnRoaXMuZm9ybWF0PT0iZmxvYXQzMiImJih0aGlzLmlucHV0QnVmZmVyPW5ldyBjKFVpbnQ4QXJyYXkseSo0KSk7ZWxzZSBpZih0LmRhdGEuYWN0aW9uPT0iZGF0YSIpe2xldCByPW5ldyBVaW50OEFycmF5KHQuZGF0YS5idWZmZXIpO2Zvcih0aGlzLmlucHV0QnVmZmVyLmZlZWQocik7dGhpcy5pbnB1dEJ1ZmZlci5jYW5EcmFpbjspdGhpcy5kcmFpbkJ1ZmZlcigpfWVsc2UgdC5kYXRhLmFjdGlvbj09ImVuZCI/KHRoaXMubGFzdFBsYXllZEJ1ZmZlclNpemUmJnRoaXMuY2h1bmtzLnB1c2gobmV3IEZsb2F0MzJBcnJheSh0aGlzLmxhc3RQbGF5ZWRCdWZmZXJTaXplKjIpKSx0aGlzLmlzRW5kZWQ9ITApOnQuZGF0YS5hY3Rpb249PSJjYW5jZWwiJiYodGhpcy5pc0VuZGVkPSEwLHRoaXMuaXNDYW5jZWxsZWQ9ITApfWRyYWluQnVmZmVyKCl7bGV0IHQ9dGhpcy5pbnB1dEJ1ZmZlci5kcmFpbigpO2lmKCF0KXJldHVybjtsZXQgcjtpZih0aGlzLmZvcm1hdD09ImludDE2Iil7bGV0IHM9bmV3IEludDE2QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aC8yKTtyPVMocyl9ZWxzZSBpZih0aGlzLmZvcm1hdD09ImZsb2F0MzIiKXI9bmV3IEZsb2F0MzJBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoLzQpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZvcm1hdDogJHt0aGlzLmZvcm1hdH1gKTtsZXQgYT10aGlzLnJlc2FtcGxlci5yZXNhbXBsZShyKTt0aGlzLmNodW5rcy5wdXNoKGEpfW5leHRGbG9hdCgpe2lmKCF0aGlzLmNodW5rcy5sZW5ndGgpcmV0dXJuIDA7bGV0IHQ9dGhpcy5jaHVua3NbMF1bdGhpcy5jaHVua1Bvc2l0aW9uXTtyZXR1cm4gdGhpcy5jaHVua1Bvc2l0aW9uKyssdGhpcy5jaHVua1Bvc2l0aW9uPHRoaXMuY2h1bmtzWzBdLmxlbmd0aHx8KHRoaXMuY2h1bmtzLnNoaWZ0KCksdGhpcy5jaHVua1Bvc2l0aW9uPTApLHR9cHJvY2Vzcyh0LHIsYSl7aWYodGhpcy5pc0NhbmNlbGxlZClyZXR1cm4hMTtpZih0aGlzLmlzRW5kZWQmJiF0aGlzLmNodW5rcy5sZW5ndGgpcmV0dXJuIHRoaXMuX2hhc1NlbnRFbmRFdmVudHx8KHRoaXMuX2hhc1NlbnRFbmRFdmVudD0hMCx0aGlzLnBvcnQucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZW5kIn0pKSwhMTtsZXQgcz1yWzBdPy5bMF0/Lmxlbmd0aDtpZighcylyZXR1cm4hMDt0aGlzLmxhc3RQbGF5ZWRCdWZmZXJTaXplPXM7Zm9yKGxldCBmPTA7ZjxzO2YrKyl7bGV0IGg9dGhpcy5uZXh0RmxvYXQoKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKylmb3IobGV0IG49MDtuPHJbZV0ubGVuZ3RoO24rKylyW2VdW25dW2ZdPWh9cmV0dXJuITB9fTtyZWdpc3RlclByb2Nlc3NvcigicGNtLXBsYXllci1ub2RlIixCKTsK";var Rl="data:application/javascript;base64,dmFyIGc9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGksZil7aWYoIWV8fCF0fHwhaSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2V0dGluZ3Mgc3BlY2lmaWVkIGZvciB0aGUgcmVzYW1wbGVyLiIpO3RoaXMucmVzYW1wbGVyPW51bGwsdGhpcy5mcm9tU2FtcGxlUmF0ZT1lLHRoaXMudG9TYW1wbGVSYXRlPXQsdGhpcy5jaGFubmVscz1pfHwwLHRoaXMuaW5wdXRCdWZmZXJTaXplPWYsdGhpcy5pbml0aWFsaXplKCl9aW5pdGlhbGl6ZSgpe3RoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlPyh0aGlzLnJlc2FtcGxlcj1lPT5lLHRoaXMucmF0aW9XZWlnaHQ9MSk6KHRoaXMuZnJvbVNhbXBsZVJhdGU8dGhpcy50b1NhbXBsZVJhdGU/KHRoaXMubGluZWFySW50ZXJwb2xhdGlvbigpLHRoaXMubGFzdFdlaWdodD0xKToodGhpcy5tdWx0aVRhcCgpLHRoaXMudGFpbEV4aXN0cz0hMSx0aGlzLmxhc3RXZWlnaHQ9MCksdGhpcy5pbml0aWFsaXplQnVmZmVycygpLHRoaXMucmF0aW9XZWlnaHQ9dGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLnRvU2FtcGxlUmF0ZSl9YnVmZmVyU2xpY2UoZSl7dHJ5e3JldHVybiB0aGlzLm91dHB1dEJ1ZmZlci5zdWJhcnJheSgwLGUpfWNhdGNoe3RyeXtyZXR1cm4gdGhpcy5vdXRwdXRCdWZmZXIubGVuZ3RoPWUsdGhpcy5vdXRwdXRCdWZmZXJ9Y2F0Y2h7cmV0dXJuIHRoaXMub3V0cHV0QnVmZmVyLnNsaWNlKDAsZSl9fX1pbml0aWFsaXplQnVmZmVycygpe3RoaXMub3V0cHV0QnVmZmVyU2l6ZT1NYXRoLmNlaWwodGhpcy5pbnB1dEJ1ZmZlclNpemUqdGhpcy50b1NhbXBsZVJhdGUvdGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLmNoYW5uZWxzKjEuMDAwMDAwNDc2ODM3MTU4MikrdGhpcy5jaGFubmVscyt0aGlzLmNoYW5uZWxzO3RyeXt0aGlzLm91dHB1dEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KHRoaXMub3V0cHV0QnVmZmVyU2l6ZSksdGhpcy5sYXN0T3V0cHV0PW5ldyBGbG9hdDMyQXJyYXkodGhpcy5jaGFubmVscyl9Y2F0Y2h7dGhpcy5vdXRwdXRCdWZmZXI9W10sdGhpcy5sYXN0T3V0cHV0PVtdfX1saW5lYXJJbnRlcnBvbGF0aW9uKCl7dGhpcy5yZXNhbXBsZXI9ZT0+e2xldCB0PWUubGVuZ3RoLGk9dGhpcy5jaGFubmVscyxmLGgsYSxzLHIsdSxuLHAsbDtpZih0JWkhPT0wKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIHdhcyBvZiBpbmNvcnJlY3Qgc2FtcGxlIGxlbmd0aC4iKTtpZih0PD0wKXJldHVybltdO2ZvcihmPXRoaXMub3V0cHV0QnVmZmVyU2l6ZSxoPXRoaXMucmF0aW9XZWlnaHQsYT10aGlzLmxhc3RXZWlnaHQscz0wLHI9MCx1PTAsbj0wLHA9dGhpcy5vdXRwdXRCdWZmZXI7YTwxO2ErPWgpZm9yKHI9YSUxLHM9MS1yLHRoaXMubGFzdFdlaWdodD1hJTEsbD0wO2w8dGhpcy5jaGFubmVsczsrK2wpcFtuKytdPXRoaXMubGFzdE91dHB1dFtsXSpzK2VbbF0qcjtmb3IoYS09MSx0LT1pLHU9TWF0aC5mbG9vcihhKSppO248ZiYmdTx0Oyl7Zm9yKHI9YSUxLHM9MS1yLGw9MDtsPHRoaXMuY2hhbm5lbHM7KytsKXBbbisrXT1lW3UrKGw+MD9sOjApXSpzK2VbdSsoaStsKV0qcjthKz1oLHU9TWF0aC5mbG9vcihhKSppfWZvcihsPTA7bDxpOysrbCl0aGlzLmxhc3RPdXRwdXRbbF09ZVt1KytdO3JldHVybiB0aGlzLmJ1ZmZlclNsaWNlKG4pfX1tdWx0aVRhcCgpe3RoaXMucmVzYW1wbGVyPWU9PntsZXQgdD1lLmxlbmd0aCxpLGYsaD10aGlzLmNoYW5uZWxzLGEscyxyLHUsbixwLGwsbSxCO2lmKHQlaCE9PTApdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgd2FzIG9mIGluY29ycmVjdCBzYW1wbGUgbGVuZ3RoLiIpO2lmKHQ8PTApcmV0dXJuW107Zm9yKGk9dGhpcy5vdXRwdXRCdWZmZXJTaXplLGY9W10sYT10aGlzLnJhdGlvV2VpZ2h0LHM9MCx1PTAsbj0wLHA9IXRoaXMudGFpbEV4aXN0cyx0aGlzLnRhaWxFeGlzdHM9ITEsbD10aGlzLm91dHB1dEJ1ZmZlcixtPTAsQj0wLHI9MDtyPGg7KytyKWZbcl09MDtkb3tpZihwKWZvcihzPWEscj0wO3I8aDsrK3IpZltyXT0wO2Vsc2V7Zm9yKHM9dGhpcy5sYXN0V2VpZ2h0LHI9MDtyPGg7KytyKWZbcl09dGhpcy5sYXN0T3V0cHV0W3JdO3A9ITB9Zm9yKDtzPjAmJnU8dDspaWYobj0xK3UtQixzPj1uKXtmb3Iocj0wO3I8aDsrK3IpZltyXSs9ZVt1KytdKm47Qj11LHMtPW59ZWxzZXtmb3Iocj0wO3I8aDsrK3IpZltyXSs9ZVt1KyhyPjA/cjowKV0qcztCKz1zLHM9MDticmVha31pZihzPT09MClmb3Iocj0wO3I8aDsrK3IpbFttKytdPWZbcl0vYTtlbHNle2Zvcih0aGlzLmxhc3RXZWlnaHQ9cyxyPTA7cjxoOysrcil0aGlzLmxhc3RPdXRwdXRbcl09ZltyXTt0aGlzLnRhaWxFeGlzdHM9ITA7YnJlYWt9fXdoaWxlKHU8dCYmbTxpKTtyZXR1cm4gdGhpcy5idWZmZXJTbGljZShtKX19cmVzYW1wbGUoZSl7cmV0dXJuIHRoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlP3RoaXMucmF0aW9XZWlnaHQ9MToodGhpcy5mcm9tU2FtcGxlUmF0ZTx0aGlzLnRvU2FtcGxlUmF0ZT90aGlzLmxhc3RXZWlnaHQ9MToodGhpcy50YWlsRXhpc3RzPSExLHRoaXMubGFzdFdlaWdodD0wKSx0aGlzLmluaXRpYWxpemVCdWZmZXJzKCksdGhpcy5yYXRpb1dlaWdodD10aGlzLmZyb21TYW1wbGVSYXRlL3RoaXMudG9TYW1wbGVSYXRlKSx0aGlzLnJlc2FtcGxlcihlKX19O2Z1bmN0aW9uIGQobyl7bGV0IGU9by5sZW5ndGgsdD1uZXcgSW50MTZBcnJheShlKTtmb3IoO2UtLTspe2xldCBpPU1hdGgubWF4KC0xLE1hdGgubWluKDEsb1tlXSkpO3RbZV09aTwwP2kqMzI3Njg6aSozMjc2N31yZXR1cm4gdH1mdW5jdGlvbiB3KG8pe2xldCBlPW8ubGVuZ3RoLHQ9bmV3IEJpZ0ludDY0QXJyYXkoZSk7Zm9yKDtlLS07KXtsZXQgaT1NYXRoLm1heCgtMSxNYXRoLm1pbigxLG9bZV0pKTt0W2VdPUJpZ0ludChNYXRoLmZsb29yKGk8MD9pKjMyNzY4OmkqMzI3NjcpKSoweDEwMDAwMDAwMDAwMG59cmV0dXJuIHR9dmFyIGM9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm91dHB1dEJ1ZmZlclNpemU9MDt0aGlzLnBhcnRpYWxCdWZmZXJzPVtdO3RoaXMucGFydGlhbEJ1ZmZlck9mZnNldD0wO2lmKCFlKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnJheSBjbGFzczogJHtlfWApO2lmKCF0fHx0PD0wKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRwdXQgYnVmZmVyIHNpemU6ICR7dH1gKTt0aGlzLkFycmF5Q2xhc3M9ZSx0aGlzLm91dHB1dEJ1ZmZlclNpemU9dH1nZXQgcXVldWVkU2l6ZSgpe3JldHVybiB0aGlzLnBhcnRpYWxCdWZmZXJzLnJlZHVjZSgoZSx0KT0+ZSt0Lmxlbmd0aCwwKX1mZWVkKGUpe3RoaXMucGFydGlhbEJ1ZmZlcnMucHVzaChlKX1nZXQgY2FuRHJhaW4oKXtyZXR1cm4gdGhpcy5wYXJ0aWFsQnVmZmVycy5yZWR1Y2UoKHQsaSk9PnQraS5sZW5ndGgsMCktdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0Pj10aGlzLm91dHB1dEJ1ZmZlclNpemV9ZHJhaW4oKXtpZighdGhpcy5jYW5EcmFpbilyZXR1cm4gbnVsbDtsZXQgZT10aGlzLkFycmF5Q2xhc3MsdD1uZXcgZSh0aGlzLm91dHB1dEJ1ZmZlclNpemUpLGk9MDtmb3IoO2khPXQubGVuZ3RoOyl7aWYoaT50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEJ1ZmZlciBvdmVyZmxvdzogJHtpfSA+ICR7dC5sZW5ndGh9YCk7bGV0IGY9dC5sZW5ndGgtaSxoPXRoaXMucGFydGlhbEJ1ZmZlcnNbMF0sYT1oLmxlbmd0aC10aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQ7YTxmPyh0LnNldChoLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCksaSksaSs9YSx0aGlzLnBhcnRpYWxCdWZmZXJzLnNoaWZ0KCksdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0PTApOih0LnNldChoLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrZiksaSksaSs9Zix0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrPWYpfXJldHVybiB0fXBhZCgpe2xldCBlPXRoaXMucXVldWVkU2l6ZSV0aGlzLm91dHB1dEJ1ZmZlclNpemU7aWYoZT09MClyZXR1cm47bGV0IHQ9dGhpcy5BcnJheUNsYXNzLGk9bmV3IHQoZSk7dGhpcy5mZWVkKGkpfX07dmFyIHk9Y2xhc3MgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCk7dGhpcy5mb3JtYXQ9ImludDE2Ijt0aGlzLmlucHV0QnVmZmVyPW5ldyBjKEZsb2F0MzJBcnJheSw0MDk2KTt0aGlzLnBvcnQub25tZXNzYWdlPWk9PnRoaXMub25NZXNzYWdlKGkpfW9uTWVzc2FnZSh0KXt0LmRhdGEuYWN0aW9uPT0ic3RhcnQiJiYodGhpcy5mb3JtYXQ9dC5kYXRhLmZvcm1hdCx0aGlzLnJlc2FtcGxlcj1uZXcgZyh0LmRhdGEuaW5wdXRTYW1wbGVSYXRlLHQuZGF0YS5vdXRwdXRTYW1wbGVSYXRlLDEsNDA5NiksdGhpcy5mb3JtYXQ9PSJpbnQxNiI/dGhpcy5vdXRwdXRCdWZmZXI9bmV3IGMoSW50MTZBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSk6dGhpcy5mb3JtYXQ9PSJpbnQ2NCI/dGhpcy5vdXRwdXRCdWZmZXI9bmV3IGMoQmlnSW50NjRBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSk6dGhpcy5mb3JtYXQ9PSJmbG9hdDMyIiYmKHRoaXMub3V0cHV0QnVmZmVyPW5ldyBjKEZsb2F0MzJBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSkpKX1wcm9jZXNzKHQsaSxmKXtmb3IobGV0IGE9MDthPGkubGVuZ3RoO2ErKyl7bGV0IHM9TWF0aC5taW4oaVthXS5sZW5ndGgsdFswXS5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8cztyKyspaVthXVtyXS5zZXQodFswXVtyXSl9aWYoIXRoaXMucmVzYW1wbGVyKXJldHVybiEwO2xldCBoPW5ldyBGbG9hdDMyQXJyYXkoaVswXVswXS5sZW5ndGgpO2ZvcihoLnNldChpWzBdWzBdKSx0aGlzLmlucHV0QnVmZmVyLmZlZWQoaCk7dGhpcy5pbnB1dEJ1ZmZlci5jYW5EcmFpbjspe2xldCBhPXRoaXMuaW5wdXRCdWZmZXIuZHJhaW4oKSxzPXRoaXMucmVzYW1wbGVyLnJlc2FtcGxlKGEpO3RoaXMuZm9ybWF0PT0iaW50MTYiP3RoaXMub3V0cHV0QnVmZmVyLmZlZWQoZChzKSk6dGhpcy5mb3JtYXQ9PSJpbnQ2NCI/dGhpcy5vdXRwdXRCdWZmZXIuZmVlZCh3KHMpKTp0aGlzLmZvcm1hdD09ImZsb2F0MzIiJiZ0aGlzLm91dHB1dEJ1ZmZlci5mZWVkKHMpfWZvcig7dGhpcy5vdXRwdXRCdWZmZXIuY2FuRHJhaW47KXtsZXQgYT10aGlzLm91dHB1dEJ1ZmZlci5kcmFpbigpO2lmKCFhKWJyZWFrO3RoaXMucG9ydC5wb3N0TWVzc2FnZSh7YWN0aW9uOiJkYXRhIixidWZmZXI6YS5idWZmZXJ9LFthLmJ1ZmZlcl0pfXJldHVybiEwfX07cmVnaXN0ZXJQcm9jZXNzb3IoInBjbS1yZWNlaXZlci1ub2RlIix5KTsK";var ng=new q("PCMPlayerNode"),gi=class extends AudioWorkletNode{constructor(t,i,r){super(t,"pcm-player-node",{numberOfInputs:0});this.sampleRate=0;this.format="int16";this.isCancelled=!1;if(!i||i<=0)throw new Error(`Invalid sample rate: ${i}`);if(!r||r!="int16"&&r!="float32")throw new Error(`Invalid format: ${r}`);this.sampleRate=i,this.format=r,this.port.onmessage=a=>this.onWorkletMessage(a),this.port.postMessage({action:"start",inputSampleRate:i,outputSampleRate:t.sampleRate,format:r})}feed(t){this.port.postMessage({action:"data",buffer:t.buffer},[t.buffer])}async play(t){if(this.isCancelled)throw new Error("PCMPlayerNode has already been cancelled.");if(this._playPromise)throw new Error("Already playing a stream");this._playPromise=new Promise(i=>this._playPromiseResolve=i),this.dispatchEvent(new CustomEvent("start",{detail:{player:this,stream:t}}));try{let i=t.getReader();for(;!this.isCancelled;){let{done:r,value:a}=await i.read();if(r||!a)break;this.feed(a)}}catch(i){ng.warn("Stream error:",i),this.dispatchEvent(new CustomEvent("error",{detail:{player:this,stream:t,error:i}}))}this.port.postMessage({action:"end"}),await this._playPromise}onWorkletMessage(t){t.data.action=="end"&&(this._playPromiseResolve?.(),this.dispatchEvent(new CustomEvent("end",{detail:{player:this}})))}stop(){this.isCancelled=!0,this.port.postMessage({action:"cancel"}),this._playPromiseResolve?.()}};var hi=new q("SpeechOutput"),Pl=.5,ig=.8,fi=class extends EventTarget{constructor(n){super(),this.ai=n,this.ai.addEventListener("output",t=>this.onTextOutputFromAI(t)),this.ai.audio?.speechRecognition.addEventListener("speechstart",t=>this.interrupt()),this.ai.knowledgeBase.registerSource(()=>[{id:"system.voice",type:"info",name:"Voice active",isContext:!0,disabled:!1,content:"Text-to-speech is active. The user can hear your voice."}])}onTextOutputFromAI(n){n.detail.isChunk||this.ai?.audio?.speechRecognition.isRunning&&this.speak(n.detail.message)}async speak(n){if(!this.ai?.config?.voice?.providerID)return hi.warn("No voice provider configured");let t=`speech-${rg++}`;await this.ai.audio.beginAccess(t);try{await this._speakWithLock(n)}finally{this.ai.audio.endAccess(t)}}async _speakWithLock(n){this.interrupt(),this.ai.audio.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=ig);let t=this.ai?._voiceTracker||hi.timer(`${this.ai.config.voice.providerID} voice`);t(`Speak: ${n}`),this.currentPlayerVolume?.disconnect(),this.currentPlayerVolume=this.ai.audio.context.createGain(),this.currentPlayerVolume.connect(this.ai.audio.context.destination);let i=this.currentPlayerVolume,r=new gi(this.ai.audio.context,24e3,"int16");this.currentPlayer=r,r.connect(i),r.addEventListener("end",o=>{let s=o;t(`PCM stream ${s.detail.interrupted?"interrupted":"ended"}`),this.currentPlayer==r&&!s.detail.interrupted&&(this.currentPlayer=void 0,this.onSpeechEnd())});let a;if(this.ai.config.voice.providerID=="openai")a=await fetch("https://api.openai.com/v1/audio/speech",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.ai.config.voice.apiKey}`},body:JSON.stringify({model:"tts-1",input:n,voice:this.ai.config.voice.voiceID,response_format:"pcm"})});else if(this.ai.config.voice.providerID=="elevenlabs")a=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${this.ai.config.voice.voiceID}?output_format=pcm_24000`,{method:"POST",headers:{"xi-api-key":`${this.ai.config.voice.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify({text:n})});else{hi.warn(`Unknown voice provider: ${this.ai.config.voice.providerID}`);return}if(t(`Received response ${a.status} ${a.statusText}`),!a.ok){hi.warn(`Failed to generate voice sample: ${a.status} ${a.statusText}`);return}this.dispatchEvent(new CustomEvent("speechstart",{detail:{ai:this.ai,message:n}})),t("Playing PCM stream"),await r.play(a.body),t("Audio has ended")}get isSpeaking(){return!!this.currentPlayer}async interrupt(){if(!this.currentPlayerVolume)return;let n=this.currentPlayerVolume,t=this.currentPlayer;this.currentPlayerVolume=void 0,this.currentPlayer=void 0,this.ai?.audio?.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=Pl);let i=400;n.gain.linearRampToValueAtTime(0,i/1e3),await new Promise(r=>setTimeout(r,i+250)),n.disconnect(),t?.stop(),t?.disconnect()}onSpeechEnd(){this.dispatchEvent(new CustomEvent("speechend",{detail:{ai:this.ai}})),this.ai?.audio?.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=Pl)}},rg=1;function yi(e,n){let t=n.reduce((l,c)=>l+c.byteLength,0),i=new DataView(new ArrayBuffer(44));i.setUint8(0,82),i.setUint8(1,73),i.setUint8(2,70),i.setUint8(3,70),i.setUint32(4,44+t,!0),i.setUint8(8,87),i.setUint8(9,65),i.setUint8(10,86),i.setUint8(11,69);let r=1,a=32,o=r*a/8,s=e*o;return i.setUint8(12,102),i.setUint8(13,109),i.setUint8(14,116),i.setUint8(15,32),i.setUint32(16,16,!0),i.setUint16(20,3,!0),i.setUint16(22,r,!0),i.setUint32(24,e,!0),i.setUint32(28,s,!0),i.setUint16(32,o,!0),i.setUint16(34,a,!0),i.setUint8(36,100),i.setUint8(37,97),i.setUint8(38,116),i.setUint8(39,97),i.setUint32(40,t,!0),new File([i,...n],"audio.wav",{type:"audio/wav"})}var bi=class extends AudioWorkletNode{constructor(t,i,r,a){super(t,"pcm-receiver-node",{numberOfInputs:1});this.format="int16";this.format=r;let o=["int16","int64","float32"];if(!i||i<=0)throw new Error(`Invalid sample rate: ${i}`);if(!o.includes(r))throw new Error(`Invalid format ${r}, must be one of: ${o.join(", ")}`);if(!a||a<=0)throw new Error(`Invalid buffer size: ${a}`);this.port.onmessage=s=>this.onWorkletMessage(s),this.port.postMessage({action:"start",inputSampleRate:t.sampleRate,outputSampleRate:i,format:r,bufferSize:a})}onWorkletMessage(t){if(t.data.action=="data"){let i=null;if(this.format=="int16"&&(i=new Int16Array(t.data.buffer)),this.format=="int64"&&(i=new BigInt64Array(t.data.buffer)),this.format=="float32"&&(i=new Float32Array(t.data.buffer)),!i)throw new Error(`Invalid format: ${this.format}`);this.onData(i),this.dispatchEvent(new CustomEvent("data",{detail:{data:i}}))}}onData(t){}};var oa=16e3,vi=256,xt=8,sn=new q("VoiceDetectionNode"),ln=class ln extends bi{constructor(t){super(t,oa,"float32",vi*xt);this.isVoiceActive=!1;this.lastVoiceActiveDate=0;this.voiceEndTimeout=50;this.sensitivity=.5;this.sentivityEnd=.2;this.nextVadReset=0;this.currentProbability=0;this._lastVoiceActive=!1;if(!ln.vadModelURL)throw new Error("VAD model url not set, please load it and set it to VoiceDetectionNode.vadModelURL");this.loadModel()}get isVoicePossiblyEnding(){return this.isVoiceActive&&this.currentProbability<this.sensitivity}get sampleRate(){return oa}get numberOfSamples(){return vi}get numberOfSampleChunks(){return xt}get outputBufferSize(){return vi*xt}get isModelLoaded(){return!!this.vad}async loadModel(){sn.debug("Loading VAD model"),this.vad=await xe.load(ln.vadModelURL),this.vad.ignoreIfBusy=!0,sn.debug("Model loaded"),this.vad.makeConstant("sr","int64",[1],oa),this.vad.makeState("h","hn","float32",[2,xt,64]),this.vad.makeState("c","cn","float32",[2,xt,64])}async onData(t){if(this.vad)try{let i=await this.vad.run({input:new xe.onnx.Tensor(t,[xt,vi])});if(!i)return;this.currentProbability=0;for(let o=0;o<i.output.data.length;o++)i.output.data[o]>this.currentProbability&&(this.currentProbability=i.output.data[o]);let r=this.isVoiceActive?this.sentivityEnd:this.sensitivity,a=this.currentProbability>r;if(!a&&this._lastVoiceActive&&(this.nextVadReset=Date.now(),this.vad.resetState()),this._lastVoiceActive=a,a&&!this.isVoiceActive?(this.lastVoiceActiveDate=Date.now(),this.isVoiceActive=!0,this.dispatchEvent(new CustomEvent("speechstart")),this.onSpeechStart(),sn.debug("Started speaking")):a?this.lastVoiceActiveDate=Date.now():!a&&this.isVoiceActive&&Date.now()<this.lastVoiceActiveDate+this.voiceEndTimeout||!a&&this.isVoiceActive&&(this.isVoiceActive=!1,this.dispatchEvent(new CustomEvent("speechend")),this.onSpeechEnd(),sn.debug("Stopped speaking after timeout")),!a){let o=Date.now();o>this.nextVadReset&&(this.nextVadReset=o+5e3,this.vad.resetState())}}catch(i){sn.error("VAD failed:",i)}}onSpeechStart(){}onSpeechEnd(){}};ln.vadModelURL="";var It=ln;var Dl=new q("VoiceChunkOutputNode"),Rt=class extends It{constructor(){super(...arguments);this.buffers=[];this.recordedBuffers=[];this._voiceRecording=!1;this.backBufferDurationSeconds=3}get bufferDuration(){return this.buffers.reduce((t,i)=>t+i.length,0)/8e3}async onData(t){if(await super.onData(t),this.isVoiceActive&&!this._voiceRecording){Dl.debug(`Voice detected, sending ${this.buffers.length} existing chunks`),this._voiceRecording=!0;for(let i of this.buffers)this.recordedBuffers.push(i),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:i,isFinal:!1}})),this.onVoiceChunk(i);this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!1}})),this.onVoiceChunk(t),this.buffers=[]}else if(this.isVoiceActive)this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!1}})),this.onVoiceChunk(t);else if(!this.isVoiceActive&&this._voiceRecording){this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!0}})),this.onVoiceChunk(t),this._voiceRecording=!1;let i=this.recordedBuffers.reduce((r,a)=>r+a.length,0);Dl.debug(`Voice complete, recorded ${(i/8e3).toFixed(2)} seconds of audio, ${i*4/1024} KB of data`),this.dispatchEvent(new CustomEvent("voicedataend",{detail:{data:this.recordedBuffers}})),this.onVoiceEnd(this.recordedBuffers),this.recordedBuffers=[]}else for(this.buffers.push(t);this.bufferDuration>this.backBufferDurationSeconds;)this.buffers.shift()}onVoiceChunk(t){}onVoiceEnd(t){}};var _i=new q("OpenAITranscriptionNode"),Si=class extends Rt{constructor(t,i){super(t);this.apiKey="";this.pendingBuffers=[];this.isTranscribing=!1;this.apiKey=i}async onVoiceEnd(t){let i=_i.timer("OpenAI Transcribe");this.isTranscribing=!0,this.pendingBuffers.push(...t);let r=yi(this.sampleRate,this.pendingBuffers);this.lastRequestAbortController?.abort(),this.lastRequestAbortController=new AbortController;let a="";try{let o=new FormData;o.append("file",r),o.append("model","whisper-1"),o.append("response_format","text");let s=await fetch("https://api.openai.com/v1/audio/transcriptions",{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`},body:o,signal:this.lastRequestAbortController.signal});if(!s.ok)throw new Error(`Failed to generate voice sample: ${s.status} ${s.statusText}`);i("Response received"),a=await s.text(),i("Content received: "+a),this.lastRequestAbortController=void 0}catch(o){_i.error(`Failed to transcribe speech: ${o.message}`);return}finally{this.isTranscribing=!1}if(this.pendingBuffers=[],!a)return _i.debug("Transcription complete, but no text was found");_i.debug(`Transcription: ${a}`),this.onVoiceTranscription(a),this.dispatchEvent(new CustomEvent("transcription",{detail:{text:a}}))}onVoiceTranscription(t){}};var Ei=class extends WebSocket{constructor(t){super(t);this.pendingData=[];this.addEventListener("open",()=>this._onOpen())}send(t){this.readyState==WebSocket.OPEN?super.send(t):this.pendingData.push(t)}_onOpen(){for(let t of this.pendingData)super.send(t);this.pendingData=[]}};var Ne=new q("IntelliWeaveTranscriptionNode"),ag="wss://speech.intelliweave.ai/api/v1/transcribe",ki=class ki extends Rt{constructor(t,i){super(t);this.apiAddress=ag;this.apiKey="";this.isTranscribing=!1;this.apiKey=i}async onVoiceChunk(t){this.isTranscribing=!0,this.ws?this.ws.send(t):(Ne.debug("Opening WebSocket connection"),this.ws=new Ei(this.apiAddress),this.ws.send(JSON.stringify({type:"hello",sampleRate:16e3,channels:1,format:"float32",apiKey:this.apiKey})),this.ws.send(t.buffer),this.ws.onopen=()=>{Ne.debug("WebSocket connection opened")},this.ws.addEventListener("message",r=>{let a=JSON.parse(r.data);if(a.error)return Ne.warn("Error: "+a.error);if(a.type!="transcription")return Ne.warn("Invalid response type",a);if(a.streaming&&!a.final)return Ne.debug("Partial transcription: "+a.partialText);if(this.isTranscribing=!1,!a.text.trim())return Ne.warn(`Empty transcription (${a.processingTime}ms)`);Ne.debug(`Transcription: ${a.text} (${a.processingTime}ms)`),this.onVoiceTranscription(a.text),this.dispatchEvent(new CustomEvent("transcription",{detail:{text:a.text}}))}),this.ws.addEventListener("close",()=>this.onSocketClose()),this.ws.addEventListener("error",r=>Ne.warn("WebSocket error")));let i=1e3*60*1;this.shutdownTimer&&clearTimeout(this.shutdownTimer),this.shutdownTimer=setTimeout(()=>{Ne.debug("Shutting down WebSocket connection"),this.ws?.close(),this.ws=void 0},i)}async onVoiceEnd(t){if(this.ws?.send(JSON.stringify({type:"end"})),ki.debugExportWav){let i=yi(this.sampleRate,t),r=document.createElement("a");r.href=URL.createObjectURL(i),r.download="recording.wav",r.click()}}onVoiceTranscription(t){}onSocketClose(){Ne.debug("WebSocket connection closed"),this.ws=void 0,this.isTranscribing=!1}};ki.debugExportWav=!1;var Ci=ki;var sa=new q("SpeechRecognition"),wi=class extends EventTarget{constructor(t){super();this.isRunning=!1;this._skipEvents=!1;this.maxVolumeHeard=0;this.ai=t,this.ai.knowledgeBase.registerSource(()=>[{id:"system.microphone.enable",type:"action",name:"Enable or disable microphone",isContext:!0,content:`Starts or stops listening to input from the user through the microphone. ${this.isRunning?"Microphone access is currently enabled and you can hear the user.":"Microphone access is currently disabled."}.`,parameters:[{name:"enable",type:"boolean",description:"If true, enables the microphone. If false, disables it."}],action:async i=>{i.enable?await this.start():this.stop()}}])}get isSupported(){if(!xe.lib||!this.ai?.vadModel||!Ue().AudioWorkletNode)return!1;if(this.ai?.config?.transcription?.providerID!="intelliweave"){if(!(this.ai?.config?.transcription?.providerID=="openai"&&this.ai.config?.transcription?.apiKey))return!1}return!0}async start(){if(!this.isSupported)throw new Error("Speech recognition not supported in this persona and browser.");if(!this.isRunning){this.isRunning=!0;try{await this.ai.audio.beginAccess("speech-recognition"),this.micStream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}});let t=this.ai.audio.context.createMediaStreamSource(this.micStream);this.analyserNode=this.ai.audio.context.createAnalyser(),this.analyserNode.fftSize=32,t.connect(this.analyserNode),this.analyserBuffer=new Float32Array(this.analyserNode.fftSize),It.vadModelURL=URL.createObjectURL(this.ai.vadModel),this.ai?.config?.transcription?.providerID=="openai"?(this.voiceDetection=new Si(this.ai.audio.context,this.ai.config.transcription.apiKey),t.connect(this.voiceDetection)):(this.voiceDetection=new Ci(this.ai.audio.context,this.ai.apiKey),this.voiceDetection.apiAddress=this.ai?.config?.transcription?.url||this.voiceDetection.apiAddress,t.connect(this.voiceDetection)),this.voiceDetection.addEventListener("speechstart",i=>{this.ai._voiceTracker=sa.timer("voice interaction","Speech started"),this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}),this.voiceDetection.addEventListener("speechend",i=>{this.ai._voiceTracker?.("Speech ended"),this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}),this.voiceDetection.addEventListener("transcription",i=>{this.ai._voiceTracker?.(`Transcription: ${i.detail.text}`),this.onTranscription(i)}),this._skipEvents||this.dispatchEvent(new CustomEvent("start",{detail:{speechRecognition:this}}))}catch(t){sa.error("Failed to start speech recognition:",t),this.stop()}}}stop(){this.isRunning&&(this.isRunning=!1,this.ai.audio.endAccess("speech-recognition"),this.voiceDetection?.disconnect(),this.voiceDetection=void 0,this.micStream?.getTracks().forEach(t=>t.stop()),this.micStream=void 0,this.analyserNode=void 0,this.analyserBuffer=void 0,this._skipEvents||this.dispatchEvent(new CustomEvent("end",{detail:{speechRecognition:this}})))}get volumeLevel(){if(!this.analyserNode||!this.analyserBuffer)return 0;this.analyserNode.getFloatTimeDomainData(this.analyserBuffer);let t=0;for(let r of this.analyserBuffer)t+=r*r;let i=Math.sqrt(t/this.analyserBuffer.length);return i>this.maxVolumeHeard&&(this.maxVolumeHeard=i),this.maxVolumeHeard*=.999,this.maxVolumeHeard<.01&&(this.maxVolumeHeard=.01),Math.min(1,Math.max(0,i/this.maxVolumeHeard))}get wordsCurrentlyBeingSpoken(){return!!this.voiceDetection?.isVoiceActive}get isTranscribing(){return!!this.voiceDetection?.isTranscribing}onTranscription(t){let i=t.detail.text;sa.debug("Heard:",i),this.dispatchEvent(new CustomEvent("speech",{detail:{transcript:i,isFinal:!0}}))}async reset(){if(this.isRunning){this._skipEvents=!0;try{this.stop(),await this.start(),this._skipEvents=!1}catch(t){throw this._skipEvents=!1,t}}}};var Ti=new q("AudioSystem"),Pt=class{constructor(n){this.locks=[];if(!n)throw new Error("AI reference is required. Please pass in the IntelliWeave instance to the constructor.");this.ai=n,this.ai.audio=this,this.speechRecognition=new wi(this.ai),this.speechOutput=new fi(this.ai)}static get isSupported(){return!(!xe.lib||!Ue().AudioWorkletNode)}async beginAccess(n){Ti.debug(`Began access for: ${n}`),this.locks.includes(n)||this.locks.push(n),!this.context&&(Ti.debug("Creating AudioContext"),this.context=new AudioContext({latencyHint:"interactive"}),this.context.resume(),await Promise.all([this.context.audioWorklet.addModule(Il),this.context.audioWorklet.addModule(Rl)]))}endAccess(n){Ti.debug(`Ended access for: ${n}`),this.locks=this.locks.filter(t=>t!=n),!this.locks.length&&(Ti.debug("Closing AudioContext"),this.context?.close(),this.context=void 0)}};var NT=new q("Stream");var lt=_a(ql(),1);var HT=new q("React");var VT=(0,lt.createContext)(void 0);var ma=new q("Embed"),ct=class extends be{constructor(){super();this.config={};this.suggestions=[];this.html=()=>`
|
|
3533
|
+
`,r.addEventListener("click",a=>{this.dispatchEvent(new CustomEvent("select",{detail:i.id}))}),t.appendChild(r)}}};sn.observedAttributes=["open"];var At=new q("ONNXModel"),Ie=class e{constructor(n){this.stateTensors={};this.constantTensors={};this._runActive=!1;this.ignoreIfBusy=!1;this.session=n,At.debug(`Model input parameters: ${n.inputNames.join(", ")}`),At.debug(`Model output parameters: ${n.outputNames.join(", ")}`)}static isSupported(){return!!e.lib}static async load(n){if(!e.lib)throw new Error("ONNX runtime not loaded, please set the runtime loader. Example: ONNXModel.lib = () => import('onnxruntime-web')");this.onnx||(At.debug("Loading ONNX runtime"),this.onnx=await e.lib()),At.debug(`Loading model: ${n}`);let t=await this.onnx.InferenceSession.create(n);return new e(t)}makeTensor(n,t,i=0){let r=1;for(let o of t)r*=o;let a;if(n=="float32")a=new e.onnx.Tensor(new Float32Array(r),t);else if(n=="int8")a=new e.onnx.Tensor(new Int8Array(r),t);else if(n=="int16")a=new e.onnx.Tensor(new Int16Array(r),t);else if(n=="int32")a=new e.onnx.Tensor(new Int32Array(r),t);else if(n=="int64")a=new e.onnx.Tensor(new BigInt64Array(r),t);else if(n=="uint8")a=new e.onnx.Tensor(new Uint8Array(r),t);else if(n=="uint16")a=new e.onnx.Tensor(new Uint16Array(r),t);else if(n=="uint32")a=new e.onnx.Tensor(new Uint32Array(r),t);else if(n=="uint64")a=new e.onnx.Tensor(new BigUint64Array(r),t);else throw new Error(`Invalid type: ${n}`);return i!==0&&(n=="int64"||n=="uint64")?a.data.fill(BigInt(i)):i!==0&&a.data.fill(i),a}registerConstant(n,t){if(!this.session.inputNames.includes(n))throw new Error(`Model does not have an input named: ${n}`);return this.constantTensors[n]=t,t}makeConstant(n,t,i,r=0){return this.registerConstant(n,this.makeTensor(t,i,r))}registerState(n,t,i){if(t||(t=n),!this.session.inputNames.includes(n))throw new Error(`Model does not have an input named: ${n}`);if(!this.session.outputNames.includes(t))throw new Error(`Model does not have an output named: ${t}`);return this.stateTensors[n]={outputName:t,tensor:i},i}makeState(n,t,i,r,a=0){return this.registerState(n,t,this.makeTensor(i,r,a))}async run(n={}){if(this._runActive&&this.ignoreIfBusy)return At.debug("Ignoring run request because a previous run is still active");if(this._runActive)throw new Error("A previous run is still active");this._runActive=!0;for(let t in this.stateTensors)n[t]=this.stateTensors[t].tensor;for(let t in this.constantTensors)n[t]=this.constantTensors[t];try{let t=await this.session.run(n);for(let i in this.stateTensors){let r=t[this.stateTensors[i].outputName];this.stateTensors[i].tensor=r}return t}finally{this._runActive=!1}}resetState(){At.debug("Resetting state tensors");for(let n in this.stateTensors)this.stateTensors[n].tensor.data.fill(0)}};var Il="data:application/javascript;base64,dmFyIGM9Y2xhc3N7Y29uc3RydWN0b3IoaSx0KXt0aGlzLm91dHB1dEJ1ZmZlclNpemU9MDt0aGlzLnBhcnRpYWxCdWZmZXJzPVtdO3RoaXMucGFydGlhbEJ1ZmZlck9mZnNldD0wO2lmKCFpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnJheSBjbGFzczogJHtpfWApO2lmKCF0fHx0PD0wKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRwdXQgYnVmZmVyIHNpemU6ICR7dH1gKTt0aGlzLkFycmF5Q2xhc3M9aSx0aGlzLm91dHB1dEJ1ZmZlclNpemU9dH1nZXQgcXVldWVkU2l6ZSgpe3JldHVybiB0aGlzLnBhcnRpYWxCdWZmZXJzLnJlZHVjZSgoaSx0KT0+aSt0Lmxlbmd0aCwwKX1mZWVkKGkpe3RoaXMucGFydGlhbEJ1ZmZlcnMucHVzaChpKX1nZXQgY2FuRHJhaW4oKXtyZXR1cm4gdGhpcy5wYXJ0aWFsQnVmZmVycy5yZWR1Y2UoKHQscik9PnQrci5sZW5ndGgsMCktdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0Pj10aGlzLm91dHB1dEJ1ZmZlclNpemV9ZHJhaW4oKXtpZighdGhpcy5jYW5EcmFpbilyZXR1cm4gbnVsbDtsZXQgaT10aGlzLkFycmF5Q2xhc3MsdD1uZXcgaSh0aGlzLm91dHB1dEJ1ZmZlclNpemUpLHI9MDtmb3IoO3IhPXQubGVuZ3RoOyl7aWYocj50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEJ1ZmZlciBvdmVyZmxvdzogJHtyfSA+ICR7dC5sZW5ndGh9YCk7bGV0IGE9dC5sZW5ndGgtcixzPXRoaXMucGFydGlhbEJ1ZmZlcnNbMF0sZj1zLmxlbmd0aC10aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQ7ZjxhPyh0LnNldChzLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCkscikscis9Zix0aGlzLnBhcnRpYWxCdWZmZXJzLnNoaWZ0KCksdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0PTApOih0LnNldChzLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrYSkscikscis9YSx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrPWEpfXJldHVybiB0fXBhZCgpe2xldCBpPXRoaXMucXVldWVkU2l6ZSV0aGlzLm91dHB1dEJ1ZmZlclNpemU7aWYoaT09MClyZXR1cm47bGV0IHQ9dGhpcy5BcnJheUNsYXNzLHI9bmV3IHQoaSk7dGhpcy5mZWVkKHIpfX07dmFyIGQ9Y2xhc3N7Y29uc3RydWN0b3IoaSx0LHIsYSl7aWYoIWl8fCF0fHwhcil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2V0dGluZ3Mgc3BlY2lmaWVkIGZvciB0aGUgcmVzYW1wbGVyLiIpO3RoaXMucmVzYW1wbGVyPW51bGwsdGhpcy5mcm9tU2FtcGxlUmF0ZT1pLHRoaXMudG9TYW1wbGVSYXRlPXQsdGhpcy5jaGFubmVscz1yfHwwLHRoaXMuaW5wdXRCdWZmZXJTaXplPWEsdGhpcy5pbml0aWFsaXplKCl9aW5pdGlhbGl6ZSgpe3RoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlPyh0aGlzLnJlc2FtcGxlcj1pPT5pLHRoaXMucmF0aW9XZWlnaHQ9MSk6KHRoaXMuZnJvbVNhbXBsZVJhdGU8dGhpcy50b1NhbXBsZVJhdGU/KHRoaXMubGluZWFySW50ZXJwb2xhdGlvbigpLHRoaXMubGFzdFdlaWdodD0xKToodGhpcy5tdWx0aVRhcCgpLHRoaXMudGFpbEV4aXN0cz0hMSx0aGlzLmxhc3RXZWlnaHQ9MCksdGhpcy5pbml0aWFsaXplQnVmZmVycygpLHRoaXMucmF0aW9XZWlnaHQ9dGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLnRvU2FtcGxlUmF0ZSl9YnVmZmVyU2xpY2UoaSl7dHJ5e3JldHVybiB0aGlzLm91dHB1dEJ1ZmZlci5zdWJhcnJheSgwLGkpfWNhdGNoe3RyeXtyZXR1cm4gdGhpcy5vdXRwdXRCdWZmZXIubGVuZ3RoPWksdGhpcy5vdXRwdXRCdWZmZXJ9Y2F0Y2h7cmV0dXJuIHRoaXMub3V0cHV0QnVmZmVyLnNsaWNlKDAsaSl9fX1pbml0aWFsaXplQnVmZmVycygpe3RoaXMub3V0cHV0QnVmZmVyU2l6ZT1NYXRoLmNlaWwodGhpcy5pbnB1dEJ1ZmZlclNpemUqdGhpcy50b1NhbXBsZVJhdGUvdGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLmNoYW5uZWxzKjEuMDAwMDAwNDc2ODM3MTU4MikrdGhpcy5jaGFubmVscyt0aGlzLmNoYW5uZWxzO3RyeXt0aGlzLm91dHB1dEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KHRoaXMub3V0cHV0QnVmZmVyU2l6ZSksdGhpcy5sYXN0T3V0cHV0PW5ldyBGbG9hdDMyQXJyYXkodGhpcy5jaGFubmVscyl9Y2F0Y2h7dGhpcy5vdXRwdXRCdWZmZXI9W10sdGhpcy5sYXN0T3V0cHV0PVtdfX1saW5lYXJJbnRlcnBvbGF0aW9uKCl7dGhpcy5yZXNhbXBsZXI9aT0+e2xldCB0PWkubGVuZ3RoLHI9dGhpcy5jaGFubmVscyxhLHMsZixoLGUsbix1LG8sbDtpZih0JXIhPT0wKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIHdhcyBvZiBpbmNvcnJlY3Qgc2FtcGxlIGxlbmd0aC4iKTtpZih0PD0wKXJldHVybltdO2ZvcihhPXRoaXMub3V0cHV0QnVmZmVyU2l6ZSxzPXRoaXMucmF0aW9XZWlnaHQsZj10aGlzLmxhc3RXZWlnaHQsaD0wLGU9MCxuPTAsdT0wLG89dGhpcy5vdXRwdXRCdWZmZXI7ZjwxO2YrPXMpZm9yKGU9ZiUxLGg9MS1lLHRoaXMubGFzdFdlaWdodD1mJTEsbD0wO2w8dGhpcy5jaGFubmVsczsrK2wpb1t1KytdPXRoaXMubGFzdE91dHB1dFtsXSpoK2lbbF0qZTtmb3IoZi09MSx0LT1yLG49TWF0aC5mbG9vcihmKSpyO3U8YSYmbjx0Oyl7Zm9yKGU9ZiUxLGg9MS1lLGw9MDtsPHRoaXMuY2hhbm5lbHM7KytsKW9bdSsrXT1pW24rKGw+MD9sOjApXSpoK2lbbisocitsKV0qZTtmKz1zLG49TWF0aC5mbG9vcihmKSpyfWZvcihsPTA7bDxyOysrbCl0aGlzLmxhc3RPdXRwdXRbbF09aVtuKytdO3JldHVybiB0aGlzLmJ1ZmZlclNsaWNlKHUpfX1tdWx0aVRhcCgpe3RoaXMucmVzYW1wbGVyPWk9PntsZXQgdD1pLmxlbmd0aCxyLGEscz10aGlzLmNoYW5uZWxzLGYsaCxlLG4sdSxvLGwsbSxnO2lmKHQlcyE9PTApdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgd2FzIG9mIGluY29ycmVjdCBzYW1wbGUgbGVuZ3RoLiIpO2lmKHQ8PTApcmV0dXJuW107Zm9yKHI9dGhpcy5vdXRwdXRCdWZmZXJTaXplLGE9W10sZj10aGlzLnJhdGlvV2VpZ2h0LGg9MCxuPTAsdT0wLG89IXRoaXMudGFpbEV4aXN0cyx0aGlzLnRhaWxFeGlzdHM9ITEsbD10aGlzLm91dHB1dEJ1ZmZlcixtPTAsZz0wLGU9MDtlPHM7KytlKWFbZV09MDtkb3tpZihvKWZvcihoPWYsZT0wO2U8czsrK2UpYVtlXT0wO2Vsc2V7Zm9yKGg9dGhpcy5sYXN0V2VpZ2h0LGU9MDtlPHM7KytlKWFbZV09dGhpcy5sYXN0T3V0cHV0W2VdO289ITB9Zm9yKDtoPjAmJm48dDspaWYodT0xK24tZyxoPj11KXtmb3IoZT0wO2U8czsrK2UpYVtlXSs9aVtuKytdKnU7Zz1uLGgtPXV9ZWxzZXtmb3IoZT0wO2U8czsrK2UpYVtlXSs9aVtuKyhlPjA/ZTowKV0qaDtnKz1oLGg9MDticmVha31pZihoPT09MClmb3IoZT0wO2U8czsrK2UpbFttKytdPWFbZV0vZjtlbHNle2Zvcih0aGlzLmxhc3RXZWlnaHQ9aCxlPTA7ZTxzOysrZSl0aGlzLmxhc3RPdXRwdXRbZV09YVtlXTt0aGlzLnRhaWxFeGlzdHM9ITA7YnJlYWt9fXdoaWxlKG48dCYmbTxyKTtyZXR1cm4gdGhpcy5idWZmZXJTbGljZShtKX19cmVzYW1wbGUoaSl7cmV0dXJuIHRoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlP3RoaXMucmF0aW9XZWlnaHQ9MToodGhpcy5mcm9tU2FtcGxlUmF0ZTx0aGlzLnRvU2FtcGxlUmF0ZT90aGlzLmxhc3RXZWlnaHQ9MToodGhpcy50YWlsRXhpc3RzPSExLHRoaXMubGFzdFdlaWdodD0wKSx0aGlzLmluaXRpYWxpemVCdWZmZXJzKCksdGhpcy5yYXRpb1dlaWdodD10aGlzLmZyb21TYW1wbGVSYXRlL3RoaXMudG9TYW1wbGVSYXRlKSx0aGlzLnJlc2FtcGxlcihpKX19O2Z1bmN0aW9uIFMocCl7bGV0IGk9cC5sZW5ndGgsdD1uZXcgRmxvYXQzMkFycmF5KGkpO2Zvcig7aS0tOyl7bGV0IHI9cFtpXTt0W2ldPXI+PTMyNzY4Py0oNjU1MzYtcikvMzI3Njg6ci8zMjc2N31yZXR1cm4gdH12YXIgeT0xMDI0KjgsQj1jbGFzcyBleHRlbmRzIEF1ZGlvV29ya2xldFByb2Nlc3Nvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KTt0aGlzLmNodW5rcz1bXTt0aGlzLmNodW5rUG9zaXRpb249MDt0aGlzLmlzRW5kZWQ9ITE7dGhpcy5pc0NhbmNlbGxlZD0hMTt0aGlzLnNhbXBsZVJhdGU9MDt0aGlzLmZvcm1hdD0iaW50MTYiO3RoaXMuYnVmZmVyT2Zmc2V0PTA7dGhpcy5sYXN0UGxheWVkQnVmZmVyU2l6ZT0wO3RoaXMuX2hhc1NlbnRFbmRFdmVudD0hMTt0aGlzLnBvcnQub25tZXNzYWdlPXI9PnRoaXMub25NZXNzYWdlKHIpfW9uTWVzc2FnZSh0KXtpZih0LmRhdGEuYWN0aW9uPT0ic3RhcnQiKXRoaXMuZm9ybWF0PXQuZGF0YS5mb3JtYXQsdGhpcy5zYW1wbGVSYXRlPXQuZGF0YS5pbnB1dFNhbXBsZVJhdGUsdGhpcy5yZXNhbXBsZXI9bmV3IGQodC5kYXRhLmlucHV0U2FtcGxlUmF0ZSx0LmRhdGEub3V0cHV0U2FtcGxlUmF0ZSwxLHkpLHRoaXMuZm9ybWF0PT0iaW50MTYiP3RoaXMuaW5wdXRCdWZmZXI9bmV3IGMoVWludDhBcnJheSx5KjIpOnRoaXMuZm9ybWF0PT0iZmxvYXQzMiImJih0aGlzLmlucHV0QnVmZmVyPW5ldyBjKFVpbnQ4QXJyYXkseSo0KSk7ZWxzZSBpZih0LmRhdGEuYWN0aW9uPT0iZGF0YSIpe2xldCByPW5ldyBVaW50OEFycmF5KHQuZGF0YS5idWZmZXIpO2Zvcih0aGlzLmlucHV0QnVmZmVyLmZlZWQocik7dGhpcy5pbnB1dEJ1ZmZlci5jYW5EcmFpbjspdGhpcy5kcmFpbkJ1ZmZlcigpfWVsc2UgdC5kYXRhLmFjdGlvbj09ImVuZCI/KHRoaXMubGFzdFBsYXllZEJ1ZmZlclNpemUmJnRoaXMuY2h1bmtzLnB1c2gobmV3IEZsb2F0MzJBcnJheSh0aGlzLmxhc3RQbGF5ZWRCdWZmZXJTaXplKjIpKSx0aGlzLmlzRW5kZWQ9ITApOnQuZGF0YS5hY3Rpb249PSJjYW5jZWwiJiYodGhpcy5pc0VuZGVkPSEwLHRoaXMuaXNDYW5jZWxsZWQ9ITApfWRyYWluQnVmZmVyKCl7bGV0IHQ9dGhpcy5pbnB1dEJ1ZmZlci5kcmFpbigpO2lmKCF0KXJldHVybjtsZXQgcjtpZih0aGlzLmZvcm1hdD09ImludDE2Iil7bGV0IHM9bmV3IEludDE2QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aC8yKTtyPVMocyl9ZWxzZSBpZih0aGlzLmZvcm1hdD09ImZsb2F0MzIiKXI9bmV3IEZsb2F0MzJBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoLzQpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZvcm1hdDogJHt0aGlzLmZvcm1hdH1gKTtsZXQgYT10aGlzLnJlc2FtcGxlci5yZXNhbXBsZShyKTt0aGlzLmNodW5rcy5wdXNoKGEpfW5leHRGbG9hdCgpe2lmKCF0aGlzLmNodW5rcy5sZW5ndGgpcmV0dXJuIDA7bGV0IHQ9dGhpcy5jaHVua3NbMF1bdGhpcy5jaHVua1Bvc2l0aW9uXTtyZXR1cm4gdGhpcy5jaHVua1Bvc2l0aW9uKyssdGhpcy5jaHVua1Bvc2l0aW9uPHRoaXMuY2h1bmtzWzBdLmxlbmd0aHx8KHRoaXMuY2h1bmtzLnNoaWZ0KCksdGhpcy5jaHVua1Bvc2l0aW9uPTApLHR9cHJvY2Vzcyh0LHIsYSl7aWYodGhpcy5pc0NhbmNlbGxlZClyZXR1cm4hMTtpZih0aGlzLmlzRW5kZWQmJiF0aGlzLmNodW5rcy5sZW5ndGgpcmV0dXJuIHRoaXMuX2hhc1NlbnRFbmRFdmVudHx8KHRoaXMuX2hhc1NlbnRFbmRFdmVudD0hMCx0aGlzLnBvcnQucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZW5kIn0pKSwhMTtsZXQgcz1yWzBdPy5bMF0/Lmxlbmd0aDtpZighcylyZXR1cm4hMDt0aGlzLmxhc3RQbGF5ZWRCdWZmZXJTaXplPXM7Zm9yKGxldCBmPTA7ZjxzO2YrKyl7bGV0IGg9dGhpcy5uZXh0RmxvYXQoKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKylmb3IobGV0IG49MDtuPHJbZV0ubGVuZ3RoO24rKylyW2VdW25dW2ZdPWh9cmV0dXJuITB9fTtyZWdpc3RlclByb2Nlc3NvcigicGNtLXBsYXllci1ub2RlIixCKTsK";var Rl="data:application/javascript;base64,dmFyIGc9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGksZil7aWYoIWV8fCF0fHwhaSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2V0dGluZ3Mgc3BlY2lmaWVkIGZvciB0aGUgcmVzYW1wbGVyLiIpO3RoaXMucmVzYW1wbGVyPW51bGwsdGhpcy5mcm9tU2FtcGxlUmF0ZT1lLHRoaXMudG9TYW1wbGVSYXRlPXQsdGhpcy5jaGFubmVscz1pfHwwLHRoaXMuaW5wdXRCdWZmZXJTaXplPWYsdGhpcy5pbml0aWFsaXplKCl9aW5pdGlhbGl6ZSgpe3RoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlPyh0aGlzLnJlc2FtcGxlcj1lPT5lLHRoaXMucmF0aW9XZWlnaHQ9MSk6KHRoaXMuZnJvbVNhbXBsZVJhdGU8dGhpcy50b1NhbXBsZVJhdGU/KHRoaXMubGluZWFySW50ZXJwb2xhdGlvbigpLHRoaXMubGFzdFdlaWdodD0xKToodGhpcy5tdWx0aVRhcCgpLHRoaXMudGFpbEV4aXN0cz0hMSx0aGlzLmxhc3RXZWlnaHQ9MCksdGhpcy5pbml0aWFsaXplQnVmZmVycygpLHRoaXMucmF0aW9XZWlnaHQ9dGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLnRvU2FtcGxlUmF0ZSl9YnVmZmVyU2xpY2UoZSl7dHJ5e3JldHVybiB0aGlzLm91dHB1dEJ1ZmZlci5zdWJhcnJheSgwLGUpfWNhdGNoe3RyeXtyZXR1cm4gdGhpcy5vdXRwdXRCdWZmZXIubGVuZ3RoPWUsdGhpcy5vdXRwdXRCdWZmZXJ9Y2F0Y2h7cmV0dXJuIHRoaXMub3V0cHV0QnVmZmVyLnNsaWNlKDAsZSl9fX1pbml0aWFsaXplQnVmZmVycygpe3RoaXMub3V0cHV0QnVmZmVyU2l6ZT1NYXRoLmNlaWwodGhpcy5pbnB1dEJ1ZmZlclNpemUqdGhpcy50b1NhbXBsZVJhdGUvdGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLmNoYW5uZWxzKjEuMDAwMDAwNDc2ODM3MTU4MikrdGhpcy5jaGFubmVscyt0aGlzLmNoYW5uZWxzO3RyeXt0aGlzLm91dHB1dEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KHRoaXMub3V0cHV0QnVmZmVyU2l6ZSksdGhpcy5sYXN0T3V0cHV0PW5ldyBGbG9hdDMyQXJyYXkodGhpcy5jaGFubmVscyl9Y2F0Y2h7dGhpcy5vdXRwdXRCdWZmZXI9W10sdGhpcy5sYXN0T3V0cHV0PVtdfX1saW5lYXJJbnRlcnBvbGF0aW9uKCl7dGhpcy5yZXNhbXBsZXI9ZT0+e2xldCB0PWUubGVuZ3RoLGk9dGhpcy5jaGFubmVscyxmLGgsYSxzLHIsdSxuLHAsbDtpZih0JWkhPT0wKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIHdhcyBvZiBpbmNvcnJlY3Qgc2FtcGxlIGxlbmd0aC4iKTtpZih0PD0wKXJldHVybltdO2ZvcihmPXRoaXMub3V0cHV0QnVmZmVyU2l6ZSxoPXRoaXMucmF0aW9XZWlnaHQsYT10aGlzLmxhc3RXZWlnaHQscz0wLHI9MCx1PTAsbj0wLHA9dGhpcy5vdXRwdXRCdWZmZXI7YTwxO2ErPWgpZm9yKHI9YSUxLHM9MS1yLHRoaXMubGFzdFdlaWdodD1hJTEsbD0wO2w8dGhpcy5jaGFubmVsczsrK2wpcFtuKytdPXRoaXMubGFzdE91dHB1dFtsXSpzK2VbbF0qcjtmb3IoYS09MSx0LT1pLHU9TWF0aC5mbG9vcihhKSppO248ZiYmdTx0Oyl7Zm9yKHI9YSUxLHM9MS1yLGw9MDtsPHRoaXMuY2hhbm5lbHM7KytsKXBbbisrXT1lW3UrKGw+MD9sOjApXSpzK2VbdSsoaStsKV0qcjthKz1oLHU9TWF0aC5mbG9vcihhKSppfWZvcihsPTA7bDxpOysrbCl0aGlzLmxhc3RPdXRwdXRbbF09ZVt1KytdO3JldHVybiB0aGlzLmJ1ZmZlclNsaWNlKG4pfX1tdWx0aVRhcCgpe3RoaXMucmVzYW1wbGVyPWU9PntsZXQgdD1lLmxlbmd0aCxpLGYsaD10aGlzLmNoYW5uZWxzLGEscyxyLHUsbixwLGwsbSxCO2lmKHQlaCE9PTApdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgd2FzIG9mIGluY29ycmVjdCBzYW1wbGUgbGVuZ3RoLiIpO2lmKHQ8PTApcmV0dXJuW107Zm9yKGk9dGhpcy5vdXRwdXRCdWZmZXJTaXplLGY9W10sYT10aGlzLnJhdGlvV2VpZ2h0LHM9MCx1PTAsbj0wLHA9IXRoaXMudGFpbEV4aXN0cyx0aGlzLnRhaWxFeGlzdHM9ITEsbD10aGlzLm91dHB1dEJ1ZmZlcixtPTAsQj0wLHI9MDtyPGg7KytyKWZbcl09MDtkb3tpZihwKWZvcihzPWEscj0wO3I8aDsrK3IpZltyXT0wO2Vsc2V7Zm9yKHM9dGhpcy5sYXN0V2VpZ2h0LHI9MDtyPGg7KytyKWZbcl09dGhpcy5sYXN0T3V0cHV0W3JdO3A9ITB9Zm9yKDtzPjAmJnU8dDspaWYobj0xK3UtQixzPj1uKXtmb3Iocj0wO3I8aDsrK3IpZltyXSs9ZVt1KytdKm47Qj11LHMtPW59ZWxzZXtmb3Iocj0wO3I8aDsrK3IpZltyXSs9ZVt1KyhyPjA/cjowKV0qcztCKz1zLHM9MDticmVha31pZihzPT09MClmb3Iocj0wO3I8aDsrK3IpbFttKytdPWZbcl0vYTtlbHNle2Zvcih0aGlzLmxhc3RXZWlnaHQ9cyxyPTA7cjxoOysrcil0aGlzLmxhc3RPdXRwdXRbcl09ZltyXTt0aGlzLnRhaWxFeGlzdHM9ITA7YnJlYWt9fXdoaWxlKHU8dCYmbTxpKTtyZXR1cm4gdGhpcy5idWZmZXJTbGljZShtKX19cmVzYW1wbGUoZSl7cmV0dXJuIHRoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlP3RoaXMucmF0aW9XZWlnaHQ9MToodGhpcy5mcm9tU2FtcGxlUmF0ZTx0aGlzLnRvU2FtcGxlUmF0ZT90aGlzLmxhc3RXZWlnaHQ9MToodGhpcy50YWlsRXhpc3RzPSExLHRoaXMubGFzdFdlaWdodD0wKSx0aGlzLmluaXRpYWxpemVCdWZmZXJzKCksdGhpcy5yYXRpb1dlaWdodD10aGlzLmZyb21TYW1wbGVSYXRlL3RoaXMudG9TYW1wbGVSYXRlKSx0aGlzLnJlc2FtcGxlcihlKX19O2Z1bmN0aW9uIGQobyl7bGV0IGU9by5sZW5ndGgsdD1uZXcgSW50MTZBcnJheShlKTtmb3IoO2UtLTspe2xldCBpPU1hdGgubWF4KC0xLE1hdGgubWluKDEsb1tlXSkpO3RbZV09aTwwP2kqMzI3Njg6aSozMjc2N31yZXR1cm4gdH1mdW5jdGlvbiB3KG8pe2xldCBlPW8ubGVuZ3RoLHQ9bmV3IEJpZ0ludDY0QXJyYXkoZSk7Zm9yKDtlLS07KXtsZXQgaT1NYXRoLm1heCgtMSxNYXRoLm1pbigxLG9bZV0pKTt0W2VdPUJpZ0ludChNYXRoLmZsb29yKGk8MD9pKjMyNzY4OmkqMzI3NjcpKSoweDEwMDAwMDAwMDAwMG59cmV0dXJuIHR9dmFyIGM9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm91dHB1dEJ1ZmZlclNpemU9MDt0aGlzLnBhcnRpYWxCdWZmZXJzPVtdO3RoaXMucGFydGlhbEJ1ZmZlck9mZnNldD0wO2lmKCFlKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnJheSBjbGFzczogJHtlfWApO2lmKCF0fHx0PD0wKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRwdXQgYnVmZmVyIHNpemU6ICR7dH1gKTt0aGlzLkFycmF5Q2xhc3M9ZSx0aGlzLm91dHB1dEJ1ZmZlclNpemU9dH1nZXQgcXVldWVkU2l6ZSgpe3JldHVybiB0aGlzLnBhcnRpYWxCdWZmZXJzLnJlZHVjZSgoZSx0KT0+ZSt0Lmxlbmd0aCwwKX1mZWVkKGUpe3RoaXMucGFydGlhbEJ1ZmZlcnMucHVzaChlKX1nZXQgY2FuRHJhaW4oKXtyZXR1cm4gdGhpcy5wYXJ0aWFsQnVmZmVycy5yZWR1Y2UoKHQsaSk9PnQraS5sZW5ndGgsMCktdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0Pj10aGlzLm91dHB1dEJ1ZmZlclNpemV9ZHJhaW4oKXtpZighdGhpcy5jYW5EcmFpbilyZXR1cm4gbnVsbDtsZXQgZT10aGlzLkFycmF5Q2xhc3MsdD1uZXcgZSh0aGlzLm91dHB1dEJ1ZmZlclNpemUpLGk9MDtmb3IoO2khPXQubGVuZ3RoOyl7aWYoaT50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEJ1ZmZlciBvdmVyZmxvdzogJHtpfSA+ICR7dC5sZW5ndGh9YCk7bGV0IGY9dC5sZW5ndGgtaSxoPXRoaXMucGFydGlhbEJ1ZmZlcnNbMF0sYT1oLmxlbmd0aC10aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQ7YTxmPyh0LnNldChoLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCksaSksaSs9YSx0aGlzLnBhcnRpYWxCdWZmZXJzLnNoaWZ0KCksdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0PTApOih0LnNldChoLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrZiksaSksaSs9Zix0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrPWYpfXJldHVybiB0fXBhZCgpe2xldCBlPXRoaXMucXVldWVkU2l6ZSV0aGlzLm91dHB1dEJ1ZmZlclNpemU7aWYoZT09MClyZXR1cm47bGV0IHQ9dGhpcy5BcnJheUNsYXNzLGk9bmV3IHQoZSk7dGhpcy5mZWVkKGkpfX07dmFyIHk9Y2xhc3MgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCk7dGhpcy5mb3JtYXQ9ImludDE2Ijt0aGlzLmlucHV0QnVmZmVyPW5ldyBjKEZsb2F0MzJBcnJheSw0MDk2KTt0aGlzLnBvcnQub25tZXNzYWdlPWk9PnRoaXMub25NZXNzYWdlKGkpfW9uTWVzc2FnZSh0KXt0LmRhdGEuYWN0aW9uPT0ic3RhcnQiJiYodGhpcy5mb3JtYXQ9dC5kYXRhLmZvcm1hdCx0aGlzLnJlc2FtcGxlcj1uZXcgZyh0LmRhdGEuaW5wdXRTYW1wbGVSYXRlLHQuZGF0YS5vdXRwdXRTYW1wbGVSYXRlLDEsNDA5NiksdGhpcy5mb3JtYXQ9PSJpbnQxNiI/dGhpcy5vdXRwdXRCdWZmZXI9bmV3IGMoSW50MTZBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSk6dGhpcy5mb3JtYXQ9PSJpbnQ2NCI/dGhpcy5vdXRwdXRCdWZmZXI9bmV3IGMoQmlnSW50NjRBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSk6dGhpcy5mb3JtYXQ9PSJmbG9hdDMyIiYmKHRoaXMub3V0cHV0QnVmZmVyPW5ldyBjKEZsb2F0MzJBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSkpKX1wcm9jZXNzKHQsaSxmKXtmb3IobGV0IGE9MDthPGkubGVuZ3RoO2ErKyl7bGV0IHM9TWF0aC5taW4oaVthXS5sZW5ndGgsdFswXS5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8cztyKyspaVthXVtyXS5zZXQodFswXVtyXSl9aWYoIXRoaXMucmVzYW1wbGVyKXJldHVybiEwO2xldCBoPW5ldyBGbG9hdDMyQXJyYXkoaVswXVswXS5sZW5ndGgpO2ZvcihoLnNldChpWzBdWzBdKSx0aGlzLmlucHV0QnVmZmVyLmZlZWQoaCk7dGhpcy5pbnB1dEJ1ZmZlci5jYW5EcmFpbjspe2xldCBhPXRoaXMuaW5wdXRCdWZmZXIuZHJhaW4oKSxzPXRoaXMucmVzYW1wbGVyLnJlc2FtcGxlKGEpO3RoaXMuZm9ybWF0PT0iaW50MTYiP3RoaXMub3V0cHV0QnVmZmVyLmZlZWQoZChzKSk6dGhpcy5mb3JtYXQ9PSJpbnQ2NCI/dGhpcy5vdXRwdXRCdWZmZXIuZmVlZCh3KHMpKTp0aGlzLmZvcm1hdD09ImZsb2F0MzIiJiZ0aGlzLm91dHB1dEJ1ZmZlci5mZWVkKHMpfWZvcig7dGhpcy5vdXRwdXRCdWZmZXIuY2FuRHJhaW47KXtsZXQgYT10aGlzLm91dHB1dEJ1ZmZlci5kcmFpbigpO2lmKCFhKWJyZWFrO3RoaXMucG9ydC5wb3N0TWVzc2FnZSh7YWN0aW9uOiJkYXRhIixidWZmZXI6YS5idWZmZXJ9LFthLmJ1ZmZlcl0pfXJldHVybiEwfX07cmVnaXN0ZXJQcm9jZXNzb3IoInBjbS1yZWNlaXZlci1ub2RlIix5KTsK";var ng=new q("PCMPlayerNode"),gi=class extends AudioWorkletNode{constructor(t,i,r){super(t,"pcm-player-node",{numberOfInputs:0});this.sampleRate=0;this.format="int16";this.isCancelled=!1;if(!i||i<=0)throw new Error(`Invalid sample rate: ${i}`);if(!r||r!="int16"&&r!="float32")throw new Error(`Invalid format: ${r}`);this.sampleRate=i,this.format=r,this.port.onmessage=a=>this.onWorkletMessage(a),this.port.postMessage({action:"start",inputSampleRate:i,outputSampleRate:t.sampleRate,format:r})}feed(t){this.port.postMessage({action:"data",buffer:t.buffer},[t.buffer])}async play(t){if(this.isCancelled)throw new Error("PCMPlayerNode has already been cancelled.");if(this._playPromise)throw new Error("Already playing a stream");this._playPromise=new Promise(i=>this._playPromiseResolve=i),this.dispatchEvent(new CustomEvent("start",{detail:{player:this,stream:t}}));try{let i=t.getReader();for(;!this.isCancelled;){let{done:r,value:a}=await i.read();if(r||!a)break;this.feed(a)}}catch(i){ng.warn("Stream error:",i),this.dispatchEvent(new CustomEvent("error",{detail:{player:this,stream:t,error:i}}))}this.port.postMessage({action:"end"}),await this._playPromise}onWorkletMessage(t){t.data.action=="end"&&(this._playPromiseResolve?.(),this.dispatchEvent(new CustomEvent("end",{detail:{player:this}})))}stop(){this.isCancelled=!0,this.port.postMessage({action:"cancel"}),this._playPromiseResolve?.()}};var hi=new q("SpeechOutput"),Pl=.5,ig=.8,fi=class extends EventTarget{constructor(n){super(),this.ai=n,this.ai.addEventListener("output",t=>this.onTextOutputFromAI(t)),this.ai.audio?.speechRecognition.addEventListener("speechstart",t=>this.interrupt()),this.ai.knowledgeBase.registerSource(()=>[{id:"system.voice",type:"info",name:"Voice active",isContext:!0,disabled:!1,content:"Text-to-speech is active. The user can hear your voice."}])}onTextOutputFromAI(n){n.detail.isChunk||this.ai?.audio?.speechRecognition.isRunning&&this.speak(n.detail.message)}async speak(n){if(!this.ai?.config?.voice?.providerID)return hi.warn("No voice provider configured");let t=`speech-${rg++}`;await this.ai.audio.beginAccess(t);try{await this._speakWithLock(n)}finally{this.ai.audio.endAccess(t)}}async _speakWithLock(n){this.interrupt(),this.ai.audio.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=ig);let t=this.ai?._voiceTracker||hi.timer(`${this.ai.config.voice.providerID} voice`);t(`Speak: ${n}`),this.currentPlayerVolume?.disconnect(),this.currentPlayerVolume=this.ai.audio.context.createGain(),this.currentPlayerVolume.connect(this.ai.audio.context.destination);let i=this.currentPlayerVolume,r=new gi(this.ai.audio.context,24e3,"int16");this.currentPlayer=r,r.connect(i),r.addEventListener("end",o=>{let s=o;t(`PCM stream ${s.detail.interrupted?"interrupted":"ended"}`),this.currentPlayer==r&&!s.detail.interrupted&&(this.currentPlayer=void 0,this.onSpeechEnd())});let a;if(this.ai.config.voice.providerID=="openai")a=await fetch("https://api.openai.com/v1/audio/speech",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.ai.config.voice.apiKey}`},body:JSON.stringify({model:"tts-1",input:n,voice:this.ai.config.voice.voiceID,response_format:"pcm"})});else if(this.ai.config.voice.providerID=="elevenlabs")a=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${this.ai.config.voice.voiceID}?output_format=pcm_24000`,{method:"POST",headers:{"xi-api-key":`${this.ai.config.voice.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify({text:n})});else{hi.warn(`Unknown voice provider: ${this.ai.config.voice.providerID}`);return}if(t(`Received response ${a.status} ${a.statusText}`),!a.ok){hi.warn(`Failed to generate voice sample: ${a.status} ${a.statusText}`);return}this.dispatchEvent(new CustomEvent("speechstart",{detail:{ai:this.ai,message:n}})),t("Playing PCM stream"),await r.play(a.body),t("Audio has ended")}get isSpeaking(){return!!this.currentPlayer}async interrupt(){if(!this.currentPlayerVolume)return;let n=this.currentPlayerVolume,t=this.currentPlayer;this.currentPlayerVolume=void 0,this.currentPlayer=void 0,this.ai?.audio?.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=Pl);let i=400;n.gain.linearRampToValueAtTime(0,i/1e3),await new Promise(r=>setTimeout(r,i+250)),n.disconnect(),t?.stop(),t?.disconnect()}onSpeechEnd(){this.dispatchEvent(new CustomEvent("speechend",{detail:{ai:this.ai}})),this.ai?.audio?.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=Pl)}},rg=1;function yi(e,n){let t=n.reduce((l,c)=>l+c.byteLength,0),i=new DataView(new ArrayBuffer(44));i.setUint8(0,82),i.setUint8(1,73),i.setUint8(2,70),i.setUint8(3,70),i.setUint32(4,44+t,!0),i.setUint8(8,87),i.setUint8(9,65),i.setUint8(10,86),i.setUint8(11,69);let r=1,a=32,o=r*a/8,s=e*o;return i.setUint8(12,102),i.setUint8(13,109),i.setUint8(14,116),i.setUint8(15,32),i.setUint32(16,16,!0),i.setUint16(20,3,!0),i.setUint16(22,r,!0),i.setUint32(24,e,!0),i.setUint32(28,s,!0),i.setUint16(32,o,!0),i.setUint16(34,a,!0),i.setUint8(36,100),i.setUint8(37,97),i.setUint8(38,116),i.setUint8(39,97),i.setUint32(40,t,!0),new File([i,...n],"audio.wav",{type:"audio/wav"})}var bi=class extends AudioWorkletNode{constructor(t,i,r,a){super(t,"pcm-receiver-node",{numberOfInputs:1});this.format="int16";this.format=r;let o=["int16","int64","float32"];if(!i||i<=0)throw new Error(`Invalid sample rate: ${i}`);if(!o.includes(r))throw new Error(`Invalid format ${r}, must be one of: ${o.join(", ")}`);if(!a||a<=0)throw new Error(`Invalid buffer size: ${a}`);this.port.onmessage=s=>this.onWorkletMessage(s),this.port.postMessage({action:"start",inputSampleRate:t.sampleRate,outputSampleRate:i,format:r,bufferSize:a})}onWorkletMessage(t){if(t.data.action=="data"){let i=null;if(this.format=="int16"&&(i=new Int16Array(t.data.buffer)),this.format=="int64"&&(i=new BigInt64Array(t.data.buffer)),this.format=="float32"&&(i=new Float32Array(t.data.buffer)),!i)throw new Error(`Invalid format: ${this.format}`);this.onData(i),this.dispatchEvent(new CustomEvent("data",{detail:{data:i}}))}}onData(t){}};var sa=16e3,vi=256,xt=8,ln=new q("VoiceDetectionNode"),cn=class cn extends bi{constructor(t){super(t,sa,"float32",vi*xt);this.isVoiceActive=!1;this.lastVoiceActiveDate=0;this.voiceEndTimeout=50;this.sensitivity=.5;this.sentivityEnd=.2;this.nextVadReset=0;this.currentProbability=0;this._lastVoiceActive=!1;if(!cn.vadModelURL)throw new Error("VAD model url not set, please load it and set it to VoiceDetectionNode.vadModelURL");this.loadModel()}get isVoicePossiblyEnding(){return this.isVoiceActive&&this.currentProbability<this.sensitivity}get sampleRate(){return sa}get numberOfSamples(){return vi}get numberOfSampleChunks(){return xt}get outputBufferSize(){return vi*xt}get isModelLoaded(){return!!this.vad}async loadModel(){ln.debug("Loading VAD model"),this.vad=await Ie.load(cn.vadModelURL),this.vad.ignoreIfBusy=!0,ln.debug("Model loaded"),this.vad.makeConstant("sr","int64",[1],sa),this.vad.makeState("h","hn","float32",[2,xt,64]),this.vad.makeState("c","cn","float32",[2,xt,64])}async onData(t){if(this.vad)try{let i=await this.vad.run({input:new Ie.onnx.Tensor(t,[xt,vi])});if(!i)return;this.currentProbability=0;for(let o=0;o<i.output.data.length;o++)i.output.data[o]>this.currentProbability&&(this.currentProbability=i.output.data[o]);let r=this.isVoiceActive?this.sentivityEnd:this.sensitivity,a=this.currentProbability>r;if(!a&&this._lastVoiceActive&&(this.nextVadReset=Date.now(),this.vad.resetState()),this._lastVoiceActive=a,a&&!this.isVoiceActive?(this.lastVoiceActiveDate=Date.now(),this.isVoiceActive=!0,this.dispatchEvent(new CustomEvent("speechstart")),this.onSpeechStart(),ln.debug("Started speaking")):a?this.lastVoiceActiveDate=Date.now():!a&&this.isVoiceActive&&Date.now()<this.lastVoiceActiveDate+this.voiceEndTimeout||!a&&this.isVoiceActive&&(this.isVoiceActive=!1,this.dispatchEvent(new CustomEvent("speechend")),this.onSpeechEnd(),ln.debug("Stopped speaking after timeout")),!a){let o=Date.now();o>this.nextVadReset&&(this.nextVadReset=o+5e3,this.vad.resetState())}}catch(i){ln.error("VAD failed:",i)}}onSpeechStart(){}onSpeechEnd(){}};cn.vadModelURL="";var It=cn;var Dl=new q("VoiceChunkOutputNode"),Rt=class extends It{constructor(){super(...arguments);this.buffers=[];this.recordedBuffers=[];this._voiceRecording=!1;this.backBufferDurationSeconds=3}get bufferDuration(){return this.buffers.reduce((t,i)=>t+i.length,0)/8e3}async onData(t){if(await super.onData(t),this.isVoiceActive&&!this._voiceRecording){Dl.debug(`Voice detected, sending ${this.buffers.length} existing chunks`),this._voiceRecording=!0;for(let i of this.buffers)this.recordedBuffers.push(i),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:i,isFinal:!1}})),this.onVoiceChunk(i);this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!1}})),this.onVoiceChunk(t),this.buffers=[]}else if(this.isVoiceActive)this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!1}})),this.onVoiceChunk(t);else if(!this.isVoiceActive&&this._voiceRecording){this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!0}})),this.onVoiceChunk(t),this._voiceRecording=!1;let i=this.recordedBuffers.reduce((r,a)=>r+a.length,0);Dl.debug(`Voice complete, recorded ${(i/8e3).toFixed(2)} seconds of audio, ${i*4/1024} KB of data`),this.dispatchEvent(new CustomEvent("voicedataend",{detail:{data:this.recordedBuffers}})),this.onVoiceEnd(this.recordedBuffers),this.recordedBuffers=[]}else for(this.buffers.push(t);this.bufferDuration>this.backBufferDurationSeconds;)this.buffers.shift()}onVoiceChunk(t){}onVoiceEnd(t){}};var _i=new q("OpenAITranscriptionNode"),Si=class extends Rt{constructor(t,i){super(t);this.apiKey="";this.pendingBuffers=[];this.isTranscribing=!1;this.apiKey=i}async onVoiceEnd(t){let i=_i.timer("OpenAI Transcribe");this.isTranscribing=!0,this.pendingBuffers.push(...t);let r=yi(this.sampleRate,this.pendingBuffers);this.lastRequestAbortController?.abort(),this.lastRequestAbortController=new AbortController;let a="";try{let o=new FormData;o.append("file",r),o.append("model","whisper-1"),o.append("response_format","text");let s=await fetch("https://api.openai.com/v1/audio/transcriptions",{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`},body:o,signal:this.lastRequestAbortController.signal});if(!s.ok)throw new Error(`Failed to generate voice sample: ${s.status} ${s.statusText}`);i("Response received"),a=await s.text(),i("Content received: "+a),this.lastRequestAbortController=void 0}catch(o){_i.error(`Failed to transcribe speech: ${o.message}`);return}finally{this.isTranscribing=!1}if(this.pendingBuffers=[],!a)return _i.debug("Transcription complete, but no text was found");_i.debug(`Transcription: ${a}`),this.onVoiceTranscription(a),this.dispatchEvent(new CustomEvent("transcription",{detail:{text:a}}))}onVoiceTranscription(t){}};var Ei=class extends WebSocket{constructor(t){super(t);this.pendingData=[];this.addEventListener("open",()=>this._onOpen())}send(t){this.readyState==WebSocket.OPEN?super.send(t):this.pendingData.push(t)}_onOpen(){for(let t of this.pendingData)super.send(t);this.pendingData=[]}};var Le=new q("IntelliWeaveTranscriptionNode"),ag="wss://speech.intelliweave.ai/api/v1/transcribe",ki=class ki extends Rt{constructor(t,i){super(t);this.apiAddress=ag;this.apiKey="";this.isTranscribing=!1;this.apiKey=i}async onVoiceChunk(t){this.isTranscribing=!0,this.ws?this.ws.send(t):(Le.debug("Opening WebSocket connection"),this.ws=new Ei(this.apiAddress),this.ws.send(JSON.stringify({type:"hello",sampleRate:16e3,channels:1,format:"float32",apiKey:this.apiKey})),this.ws.send(t.buffer),this.ws.onopen=()=>{Le.debug("WebSocket connection opened")},this.ws.addEventListener("message",r=>{let a=JSON.parse(r.data);if(a.error)return Le.warn("Error: "+a.error);if(a.type!="transcription")return Le.warn("Invalid response type",a);if(a.streaming&&!a.final)return Le.debug("Partial transcription: "+a.partialText);if(this.isTranscribing=!1,!a.text.trim())return Le.warn(`Empty transcription (${a.processingTime}ms)`);Le.debug(`Transcription: ${a.text} (${a.processingTime}ms)`),this.onVoiceTranscription(a.text),this.dispatchEvent(new CustomEvent("transcription",{detail:{text:a.text}}))}),this.ws.addEventListener("close",()=>this.onSocketClose()),this.ws.addEventListener("error",r=>Le.warn("WebSocket error")));let i=1e3*60*1;this.shutdownTimer&&clearTimeout(this.shutdownTimer),this.shutdownTimer=setTimeout(()=>{Le.debug("Shutting down WebSocket connection"),this.ws?.close(),this.ws=void 0},i)}async onVoiceEnd(t){if(this.ws?.send(JSON.stringify({type:"end"})),ki.debugExportWav){let i=yi(this.sampleRate,t),r=document.createElement("a");r.href=URL.createObjectURL(i),r.download="recording.wav",r.click()}}onVoiceTranscription(t){}onSocketClose(){Le.debug("WebSocket connection closed"),this.ws=void 0,this.isTranscribing=!1}};ki.debugExportWav=!1;var Ci=ki;var la=new q("SpeechRecognition"),wi=class extends EventTarget{constructor(t){super();this.isRunning=!1;this._skipEvents=!1;this.maxVolumeHeard=0;this.ai=t,this.ai.knowledgeBase.registerSource(()=>[{id:"system.microphone.enable",type:"action",name:"Enable or disable microphone",isContext:!0,content:`Starts or stops listening to input from the user through the microphone. ${this.isRunning?"Microphone access is currently enabled and you can hear the user.":"Microphone access is currently disabled."}.`,parameters:[{name:"enable",type:"boolean",description:"If true, enables the microphone. If false, disables it."}],action:async i=>{i.enable?await this.start():this.stop()}}])}get isSupported(){if(!Ie.lib||!this.ai?.vadModel||!He().AudioWorkletNode)return!1;if(this.ai?.config?.transcription?.providerID!="intelliweave"){if(!(this.ai?.config?.transcription?.providerID=="openai"&&this.ai.config?.transcription?.apiKey))return!1}return!0}async start(){if(!this.isSupported)throw new Error("Speech recognition not supported in this persona and browser.");if(!this.isRunning){this.isRunning=!0;try{await this.ai.audio.beginAccess("speech-recognition"),this.micStream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}});let t=this.ai.audio.context.createMediaStreamSource(this.micStream);this.analyserNode=this.ai.audio.context.createAnalyser(),this.analyserNode.fftSize=32,t.connect(this.analyserNode),this.analyserBuffer=new Float32Array(this.analyserNode.fftSize),It.vadModelURL=URL.createObjectURL(this.ai.vadModel),this.ai?.config?.transcription?.providerID=="openai"?(this.voiceDetection=new Si(this.ai.audio.context,this.ai.config.transcription.apiKey),t.connect(this.voiceDetection)):(this.voiceDetection=new Ci(this.ai.audio.context,this.ai.apiKey),this.voiceDetection.apiAddress=this.ai?.config?.transcription?.url||this.voiceDetection.apiAddress,t.connect(this.voiceDetection)),this.voiceDetection.addEventListener("speechstart",i=>{this.ai._voiceTracker=la.timer("voice interaction","Speech started"),this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}),this.voiceDetection.addEventListener("speechend",i=>{this.ai._voiceTracker?.("Speech ended"),this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}),this.voiceDetection.addEventListener("transcription",i=>{this.ai._voiceTracker?.(`Transcription: ${i.detail.text}`),this.onTranscription(i)}),this._skipEvents||this.dispatchEvent(new CustomEvent("start",{detail:{speechRecognition:this}}))}catch(t){la.error("Failed to start speech recognition:",t),this.stop()}}}stop(){this.isRunning&&(this.isRunning=!1,this.ai.audio.endAccess("speech-recognition"),this.voiceDetection?.disconnect(),this.voiceDetection=void 0,this.micStream?.getTracks().forEach(t=>t.stop()),this.micStream=void 0,this.analyserNode=void 0,this.analyserBuffer=void 0,this._skipEvents||this.dispatchEvent(new CustomEvent("end",{detail:{speechRecognition:this}})))}get volumeLevel(){if(!this.analyserNode||!this.analyserBuffer)return 0;this.analyserNode.getFloatTimeDomainData(this.analyserBuffer);let t=0;for(let r of this.analyserBuffer)t+=r*r;let i=Math.sqrt(t/this.analyserBuffer.length);return i>this.maxVolumeHeard&&(this.maxVolumeHeard=i),this.maxVolumeHeard*=.999,this.maxVolumeHeard<.01&&(this.maxVolumeHeard=.01),Math.min(1,Math.max(0,i/this.maxVolumeHeard))}get wordsCurrentlyBeingSpoken(){return!!this.voiceDetection?.isVoiceActive}get isTranscribing(){return!!this.voiceDetection?.isTranscribing}onTranscription(t){let i=t.detail.text;la.debug("Heard:",i),this.dispatchEvent(new CustomEvent("speech",{detail:{transcript:i,isFinal:!0}}))}async reset(){if(this.isRunning){this._skipEvents=!0;try{this.stop(),await this.start(),this._skipEvents=!1}catch(t){throw this._skipEvents=!1,t}}}};var Ti=new q("AudioSystem"),Pt=class{constructor(n){this.locks=[];if(!n)throw new Error("AI reference is required. Please pass in the IntelliWeave instance to the constructor.");this.ai=n,this.ai.audio=this,this.speechRecognition=new wi(this.ai),this.speechOutput=new fi(this.ai)}static get isSupported(){return!(!Ie.lib||!He().AudioWorkletNode)}async beginAccess(n){Ti.debug(`Began access for: ${n}`),this.locks.includes(n)||this.locks.push(n),!this.context&&(Ti.debug("Creating AudioContext"),this.context=new AudioContext({latencyHint:"interactive"}),this.context.resume(),await Promise.all([this.context.audioWorklet.addModule(Il),this.context.audioWorklet.addModule(Rl)]))}endAccess(n){Ti.debug(`Ended access for: ${n}`),this.locks=this.locks.filter(t=>t!=n),!this.locks.length&&(Ti.debug("Closing AudioContext"),this.context?.close(),this.context=void 0)}};var NT=new q("Stream");var lt=_a(ql(),1);var HT=new q("React");var VT=(0,lt.createContext)(void 0);var Ri=new q("Embed"),ct=class extends be{constructor(){super();this.config={};this.suggestions=[];this.html=()=>`
|
|
3522
3534
|
|
|
3523
3535
|
<!-- Styling -->
|
|
3524
3536
|
<style>
|
|
@@ -3528,12 +3540,12 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3528
3540
|
width: 64px;
|
|
3529
3541
|
height: 64px;
|
|
3530
3542
|
z-index: 200000;
|
|
3531
|
-
background
|
|
3543
|
+
background: var(--intelliweave-background, #20262C);
|
|
3532
3544
|
border-radius: 50%;
|
|
3533
3545
|
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
|
|
3534
3546
|
transition: width 0.25s, height 0.25s, border-radius 0.25s;
|
|
3535
3547
|
overflow: hidden;
|
|
3536
|
-
color: white;
|
|
3548
|
+
color: var(--intelliweave-text-color, white);
|
|
3537
3549
|
font-family: "Karla", sans-serif;
|
|
3538
3550
|
overlow: hidden;
|
|
3539
3551
|
}
|
|
@@ -3554,7 +3566,6 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3554
3566
|
height: 100%;
|
|
3555
3567
|
top: 0px;
|
|
3556
3568
|
left: 0px;
|
|
3557
|
-
background-color: #21262c;
|
|
3558
3569
|
border-radius:50%;
|
|
3559
3570
|
z-index:999;
|
|
3560
3571
|
}
|
|
@@ -3573,11 +3584,16 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3573
3584
|
justify-content: center;
|
|
3574
3585
|
overflow: hidden;
|
|
3575
3586
|
font-size: 9px;
|
|
3576
|
-
color:
|
|
3587
|
+
color: var(--intelliweave-text-color, white);
|
|
3588
|
+
opacity: 0.7;
|
|
3577
3589
|
border-bottom-right-radius: 16px;
|
|
3578
3590
|
border-bottom-left-radius: 16px;
|
|
3579
3591
|
}
|
|
3580
3592
|
|
|
3593
|
+
#root.open #poweredby {
|
|
3594
|
+
display: flex; /* Show when open */
|
|
3595
|
+
}
|
|
3596
|
+
|
|
3581
3597
|
#root .green-accent {
|
|
3582
3598
|
color: #4a90a2;
|
|
3583
3599
|
font-style: normal;
|
|
@@ -3598,7 +3614,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3598
3614
|
overflow-y: auto;
|
|
3599
3615
|
opacity: 1;
|
|
3600
3616
|
transition: opacity 0.25s;
|
|
3601
|
-
color:
|
|
3617
|
+
color: var(--intelliweave-text-color, white);
|
|
3602
3618
|
padding: 60px 0px 20px 0px;
|
|
3603
3619
|
box-sizing: border-box;
|
|
3604
3620
|
line-height: 1.3;
|
|
@@ -3676,7 +3692,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3676
3692
|
<div id='root'>
|
|
3677
3693
|
|
|
3678
3694
|
<!-- Logo -->
|
|
3679
|
-
${
|
|
3695
|
+
${Gt.add({id:"web-weaver-logo",logo:this.attr.logo})}
|
|
3680
3696
|
<div id='pulseanim' class="circle pulse"></div>
|
|
3681
3697
|
|
|
3682
3698
|
<!-- Inner container contains all the UI when the panel is open -->
|
|
@@ -3684,10 +3700,10 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3684
3700
|
</div>
|
|
3685
3701
|
|
|
3686
3702
|
<!-- LLM selector panel -->
|
|
3687
|
-
${
|
|
3703
|
+
${sn.add({id:"llm-selector-panel"})}
|
|
3688
3704
|
|
|
3689
3705
|
<!-- Interaction panel -->
|
|
3690
|
-
${
|
|
3706
|
+
${Ft.add({id:"interaction-bar"})}
|
|
3691
3707
|
|
|
3692
3708
|
|
|
3693
3709
|
<!-- Powered by IW banner -->
|
|
@@ -3697,7 +3713,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
|
|
|
3697
3713
|
|
|
3698
3714
|
</div>
|
|
3699
3715
|
|
|
3700
|
-
`;this._isProcessing=!1;this.ai=new St,Pt.isSupported&&(this.ai.audio=new Pt(this.ai))}onCreate(){$().embed&&
|
|
3716
|
+
`;this._isProcessing=!1;this.ai=new St,Pt.isSupported&&(this.ai.audio=new Pt(this.ai))}onCreate(){$().embed&&Ri.warn("Only one <web-weaver-embed> element should be on the page."),$().embed=this;let t=this.getAttribute("logo"),i=this.getAttribute("background"),r=this.getAttribute("textColor");if(t){let l=this.child("web-weaver-logo");l&&(l.setAttribute("logo",t),l.refreshLayout())}let a=this.child("root");if(a&&(i&&(a.style.background=i,console.log("[WebWeaverEmbed] Initial background:",i)),r)){a.style.color=r,console.log("[WebWeaverEmbed] Initial text color:",r);let l=this.child("interaction-bar");l&&l.setAttribute("textColor",r)}this.child("root").addEventListener("click",l=>this.onContainerClick(l)),this.child("web-weaver-logo").addEventListener("click",l=>this.onLogoClick(l)),this.child("interaction-bar").addEventListener("input-message",l=>this.processInput(l.detail)),this.child("interaction-bar").addEventListener("llm-button-click",l=>this.state.llmPanelOpen=!this.state.llmPanelOpen),this.child("llm-selector-panel").addEventListener("select",l=>this.onLLMModelSelect(l)),this.child("interaction-bar").connectAI(this.ai),this.ai.onAIMessage=this.onAIMessage.bind(this),this.ai.onAIToolStart=this.onAIToolStart.bind(this),this.ai.knowledgeBase.addEntry({id:"ui.suggestResponse",type:"action",name:"Suggest a response",content:"Add a button with a suggested response for the user's next message. Supports multiple calls at once.",isContext:!0,parameters:[{name:"text",type:"string",description:"The suggested response for the user's next message."}],action:l=>(this.suggestions.push(l.text),this.ai.submitAnalyticsEvent({type:"suggest-response",text:l.text}),"Suggestion button added")});let s=this.attr.apiKey||$().apiKey;if(!s)return Ri.warn("No API key specified, some features may be unavailable.");this.state.loading=!0,this.attr.hubAPI&&(this.ai.hubAPI=this.attr.hubAPI),this.ai.load(s).then(l=>{this.config=l,$().introductionMessage=this.config.introductionMessage,$().analytics=this.config.analytics!==void 0?!!this.config.analytics:$().analytics,this.applyConfigStyles(l),this.state.loading=!1,this.resetConversation()}).catch(l=>{Ri.error("Failed to load AI configuration:",l),this.state.loading=!1;let c=this.child("web-weaver-embed-inner");c&&(c.innerHTML='<div class="output" style="color: red; padding: 20px;">Error loading configuration. Please try again later.</div>')})}applyConfigStyles(t){if(console.log("[WebWeaverEmbed] Applying UI styling:",{logo:t.logo,background:t.background,textColor:t.textColor}),t.logo){this.setAttribute("logo",t.logo);let i=this.child("web-weaver-logo");i&&i.setAttribute("logo",t.logo)}if(t.background){let i=this.child("root");i&&(i.style.background=t.background,this.setAttribute("background",t.background))}if(t.textColor){let i=this.child("root");i&&(i.style.color=t.textColor,this.setAttribute("textColor",t.textColor));let r=this.child("interaction-bar");r&&r.setAttribute("textColor",t.textColor)}}onUpdate(){let t=this.getAttribute("logo"),i=this.getAttribute("background"),r=this.getAttribute("textColor");if(t){let s=this.child("web-weaver-logo");s&&(s.setAttribute("logo",t),s.refreshLayout())}let a=this.child("root");if(a)if(i?a.style.background=i:a.style.background="#20262C",r){a.style.color=r;let s=this.child("interaction-bar");s&&s.setAttribute("textColor",r)}else a.style.color="white";this.child("web-weaver-embed-inner").style.display=this.attr.open?"":"none",this.child("interaction-bar").style.display=this.attr.open?"":"none",this.child("root").className=this.attr.open?"open":"",this.child("llm-selector-panel").attr.open=this.state.llmPanelOpen,this.child("pulseanim").style.display=this.attr.open?"none":"",this.child("poweredby").style.display=this.attr.open?"flex":"none",this.child("root").style.right=this.attr.offsetX?this.attr.offsetX+"px":"20px",this.child("root").style.bottom=this.attr.offsetY?this.attr.offsetY+"px":"20px",this.child("interaction-bar").attr.loading=this.state.loading,this.child("interaction-bar").attr.llmName=this.ai.currentModel?.metadata?.name||this.ai.currentModel?.id||"None",this.child("interaction-bar").attr.llmButtonVisible=this.ai.models.length>1;let o=this.child("web-weaver-logo");o.attr.focusID=this.attr.focusID,o.refreshLayout(),this.child("llm-selector-panel").state.items=this.ai.models.sort((s,l)=>(l.priority||0)-(s.priority||0)),this.child("llm-selector-panel").state.selectedID=this.ai.currentModel?.id}onDestroy(){$().embed==this&&($().embed=null)}onContainerClick(t){this.attr.open||(t.preventDefault(),this.attr.open=!0)}onLogoClick(t){t.preventDefault(),t.stopPropagation(),this.attr.focusID?this.attr.focusID="":this.attr.open=!this.attr.open}open(){this.attr.open=!0}close(){this.attr.open=!1}resetConversation(){let t=this.child("web-weaver-embed-inner");for(this.state.llmPanelOpen=!1;t.children.length>0;)t.children[0].remove();this.ai.resetConversation(),this.suggestions=[];let i=document.createElement("div");i.className="introduction-message",i.innerHTML=$().introductionMessage||`Welcome to <b>${document.title||"Web Weaver"}</b>. How can I help you?`,t.appendChild(i),this.ai.insertAssistantMessage(i.innerText);for(let r of $().introductionSuggestions||[]){let a=document.createElement("div");a.className="suggestion-button",a.innerText=r,a.addEventListener("click",o=>this.onSuggestionClick(o,r)),t.appendChild(a)}}async processInput(t){if(this._isProcessing)return;this._isProcessing=!0,this.state.loading=!0,this.state.llmPanelOpen=!1;let i=this.child("web-weaver-embed-inner");this.suggestions=[];try{for(let a of Array.from(i.querySelectorAll(".suggestion-button")))a.remove();this.attr.focusID="";let r=document.createElement("div");r.className="input",r.innerText=t,i.appendChild(r),i.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"}),await this.ai.sendMessage(t);for(let a of this.suggestions){let o=document.createElement("div");o.className="suggestion-button",o.innerText=a,o.addEventListener("click",s=>this.onSuggestionClick(s,a)),i.appendChild(o)}i.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}catch(r){Ri.error("Failed to process input:",r);let a=document.createElement("div");a.className="output",a.innerText="Sorry, there was a problem getting a response. "+r.message,i.appendChild(a);let o=document.createElement("div");o.className="suggestion-button",o.innerText="Reset conversation",o.addEventListener("click",s=>this.resetConversation()),i.appendChild(o)}this.state.loading=!1,this._isProcessing=!1}async onAIMessage(t){let i=await oa().use(ri).use(ui).use(Mn,{target:"_blank",rel:["noopener","noreferrer"]}).use(Bn).use(qn).processSync(t),r=this.child("web-weaver-embed-inner"),a=r.lastElementChild;if(a&&a.classList.contains("output"))a.innerHTML=i.toString("utf-8");else{let o=document.createElement("div");o.className="output",o.innerHTML=i.toString("utf-8"),r.appendChild(o)}for(let o of Array.from(r.querySelectorAll(".tool")))o.remove();r.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}onAIToolStart(t,i){let r=`Running: ${t}`;t=="search"&&(r=`Searching: ${i?.query}`),t=="ui.focusElement"&&(r=`Focusing: #${i?.elementID}`),t=="ui.suggestResponse"&&(r=`Suggested response: ${i?.text}`);let a=this.child("web-weaver-embed-inner"),o=document.createElement("div");o.className="tool",o.innerText=r,a.appendChild(o),a.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}onSuggestionClick(t,i){this.processInput(i)}onLLMModelSelect(t){t.preventDefault(),this.ai.setModel(t.detail),this.state.llmPanelOpen=!1}};ct.tagName="intelliweave-embed",ct.observedAttributes=["logo","focusID","open","background","textColor"];Ie.lib=()=>import("./ort.bundle.min-IUPKB45H.js");document.body.appendChild(ct.create());
|
|
3701
3717
|
/*! Bundled license information:
|
|
3702
3718
|
|
|
3703
3719
|
react/cjs/react.production.min.js:
|