vue-pure-admin/static/js/deepChat-Duumqg1j.js

272 lines
443 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

function za(r,i){var t=typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=xn(r))||i){t&&(r=t);var e=0,n=function(){};return{s:n,n:function(){return e>=r.length?{done:!0}:{done:!1,value:r[e++]}},e:function(u){throw u},f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){t=t.call(r)},n:function(){var u=t.next();return s=u.done,u},e:function(u){o=!0,a=u},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw a}}}}function on(r){var i=typeof Map=="function"?new Map:void 0;return on=function(e){if(e===null||!$a(e))return e;if(typeof e!="function")throw new TypeError("Super expression must either be null or a function");if(i!==void 0){if(i.has(e))return i.get(e);i.set(e,n)}function n(){return Ga(e,arguments,gt(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),yt(n,e)},on(r)}function Ga(r,i,t){if(Rn())return Reflect.construct.apply(null,arguments);var e=[null];e.push.apply(e,i);var n=new(r.bind.apply(r,e));return t&&yt(n,t.prototype),n}function $a(r){try{return Function.toString.call(r).indexOf("[native code]")!==-1}catch(i){return typeof r=="function"}}function xe(r,i){return Ja(r)||Wa(r,i)||xn(r,i)||Ka()}function Ka(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wa(r,i){var t=r==null?null:typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var e,n,a,s,o=[],l=!0,u=!1;try{if(a=(t=t.call(r)).next,i===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(e=a.call(t)).done)&&(o.push(e.value),o.length!==i);l=!0);}catch(c){u=!0,n=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw n}}return o}}function Ja(r){if(Array.isArray(r))return r}function Et(r){return Za(r)||Ya(r)||xn(r)||Xa()}function Xa(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xn(r,i){if(r){if(typeof r=="string")return ln(r,i);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ln(r,i):void 0}}function Ya(r){if(typeof Symbol!="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Za(r){if(Array.isArray(r))return ln(r)}function ln(r,i){(i==null||i>r.length)&&(i=r.length);for(var t=0,e=Array(i);t<i;t++)e[t]=r[t];return e}function N(r,i,t){return i=gt(i),Qa(r,Rn()?Reflect.construct(i,t||[],gt(r).constructor):i.apply(r,t))}function Qa(r,i){if(i&&(x(i)=="object"||typeof i=="function"))return i;if(i!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return qe(r)}function qe(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function Rn(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(i){}return(Rn=function(){return!!r})()}function gt(r){return gt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(i){return i.__proto__||Object.getPrototypeOf(i)},gt(r)}function B(r,i){if(typeof i!="function"&&i!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(i&&i.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),i&&yt(r,i)}function yt(r,i){return yt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},yt(r,i)}function f(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */f=function(){return i};var r,i={},t=Object.prototype,e=t.hasOwnProperty,n=typeof Symbol=="function"?Symbol:{},a=n.iterator||"@@iterator",s=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function l(I,w,E,D){return Object.defineProperty(I,w,{value:E,enumerable:!D,configurable:!D,writable:!D})}try{l({},"")}catch(I){l=function(E,D,M){return E[D]=M}}function u(I,w,E,D){var M=w&&w.prototype instanceof p?w:p,z=Object.create(M.prototype);return l(z,"_invoke",function(X,ue,G){var ne=1;return function(ce,de){if(ne===3)throw Error("Generator is already running");if(ne===4){if(ce==="throw")throw de;return{value:r,done:!0}}for(G.method=ce,G.arg=de;;){var Kn=G.delegate;if(Kn){var Qt=C(Kn,G);if(Qt){if(Qt===d)continue;return Qt}}if(G.method==="next")G.sent=G._sent=G.arg;else if(G.method==="throw"){if(ne===1)throw ne=4,G.arg;G.dispatchException(G.arg)}else G.method==="return"&&G.abrupt("return",G.arg);ne=3;var Ve=c(X,ue,G);if(Ve.type==="normal"){if(ne=G.done?4:2,Ve.arg===d)continue;return{value:Ve.arg,done:G.done}}Ve.type==="throw"&&(ne=4,G.method="throw",G.arg=Ve.arg)}}}(I,E,new P(D||[])),!0),z}function c(I,w,E){try{return{type:"normal",arg:I.call(w,E)}}catch(D){return{type:"throw",arg:D}}}i.wrap=u;var d={};function p(){}function h(){}function v(){}var m={};l(m,a,function(){return this});var g=Object.getPrototypeOf,y=g&&g(g(K([])));y&&y!==t&&e.call(y,a)&&(m=y);var S=v.prototype=p.prototype=Object.create(m);function A(I){["next","throw","return"].forEach(function(w){l(I,w,function(E){return this._invoke(w,E)})})}function R(I,w){function E(M,z,X,ue){var G=c(I[M],I,z);if(G.type!=="throw"){var ne=G.arg,ce=ne.value;return ce&&x(ce)=="object"&&e.call(ce,"__await")?w.resolve(ce.__await).then(function(de){E("next",de,X,ue)},function(de){E("throw",de,X,ue)}):w.resolve(ce).then(function(de){ne.value=de,X(ne)},function(de){return E("throw",de,X,ue)})}ue(G.arg)}var D;l(this,"_invoke",function(M,z){function X(){return new w(function(ue,G){E(M,z,ue,G)})}return D=D?D.then(X,X):X()},!0)}function C(I,w){var E=w.method,D=I.i[E];if(D===r)return w.delegate=null,E==="throw"&&I.i.return&&(w.method="return",w.arg=r,C(I,w),w.method==="throw")||E!=="return"&&(w.method="throw",w.arg=new TypeError("The iterator does not provide a '"+E+"' method")),d;var M=c(D,I.i,w.arg);if(M.type==="throw")return w.method="throw",w.arg=M.arg,w.delegate=null,d;var z=M.arg;return z?z.done?(w[I.r]=z.value,w.next=I.n,w.method!=="return"&&(w.method="next",w.arg=r),w.delegate=null,d):z:(w.method="throw",w.arg=new TypeError("iterator result is not an object"),w.delegate=null,d)}function T(I){this.tryEntries.push(I)}function U(I){var w=I[4]||{};w.type="normal",w.arg=r,I[4]=w}function P(I){this.tryEntries=[[-1]],I.forEach(T,this),this.reset(!0)}function K(I){if(I!=null){var w=I[a];if(w)return w.call(I);if(typeof I.next=="function")return I;if(!isNaN(I.length)){var E=-1,D=function M(){for(;++E<I.length;)if(e.call(I,E))return M.value=I[E],M.done=!1,M;return M.value=r,M.done=!0,M};return D.next=D}}throw new TypeError(x(I)+" is not iterable")}return h.prototype=v,l(S,"constructor",v),l(v,"constructor",h),h.displayName=l(v,o,"GeneratorFunction"),i.isGeneratorFunction=function(I){var w=typeof I=="function"&&I.constructor;return!!w&&(w===h||(w.displayName||w.name)==="GeneratorFunction")},i.mark=function(I){return Object.setPrototypeOf?Object.setPrototypeOf(I,v):(I.__proto__=v,l(I,o,"GeneratorFunction")),I.prototype=Object.create(S),I},i.awrap=function(I){return{__await:I}},A(R.prototype),l(R.prototype,s,function(){return this}),i.AsyncIterator=R,i.async=function(I,w,E,D,M){M===void 0&&(M=Promise);var z=new R(u(I,w,E,D),M);return i.isGeneratorFunction(w)?z:z.next().then(function(X){return X.done?X.value:z.next()})},A(S),l(S,o,"Generator"),l(S,a,function(){return this}),l(S,"toString",function(){return"[object Generator]"}),i.keys=function(I){var w=Object(I),E=[];for(var D in w)E.unshift(D);return function M(){for(;E.length;)if((D=E.pop())in w)return M.value=D,M.done=!1,M;return M.done=!0,M}},i.values=K,P.prototype={constructor:P,reset:function(w){if(this.prev=this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(U),!w)for(var E in this)E.charAt(0)==="t"&&e.call(this,E)&&!isNaN(+E.slice(1))&&(this[E]=r)},stop:function(){this.done=!0;var w=this.tryEntries[0][4];if(w.type==="throw")throw w.arg;return this.rval},dispatchException:function(w){if(this.done)throw w;var E=this;function D(ce){X.type="throw",X.arg=w,E.next=ce}for(var M=E.tryEntries.length-1;M>=0;--M){var z=this.tryEntries[M],X=z[4],ue=this.prev,G=z[1],ne=z[2];if(z[0]===-1)return D("end"),!1;if(!G&&!ne)throw Error("try statement without catch or finally");if(z[0]!=null&&z[0]<=ue){if(ue<G)return this.method="next",this.arg=r,D(G),!0;if(ue<ne)return D(ne),!1}}},abrupt:function(w,E){for(var D=this.tryEntries.length-1;D>=0;--D){var M=this.tryEntries[D];if(M[0]>-1&&M[0]<=this.prev&&this.prev<M[2]){var z=M;break}}z&&(w==="break"||w==="continue")&&z[0]<=E&&E<=z[2]&&(z=null);var X=z?z[4]:{};return X.type=w,X.arg=E,z?(this.method="next",this.next=z[2],d):this.complete(X)},complete:function(w,E){if(w.type==="throw")throw w.arg;return w.type==="break"||w.type==="continue"?this.next=w.arg:w.type==="return"?(this.rval=this.arg=w.arg,this.method="return",this.next="end"):w.type==="normal"&&E&&(this.next=E),d},finish:function(w){for(var E=this.tryEntries.length-1;E>=0;--E){var D=this.tryEntries[E];if(D[2]===w)return this.complete(D[4],D[3]),U(D),d}},catch:function(w){for(var E=this.tryEntries.length-1;E>=0;--E){var D=this.tryEntries[E];if(D[0]===w){var M=D[4];if(M.type==="throw"){var z=M.arg;U(D)}return z}}throw Error("illegal catch attempt")},delegateYield:function(w,E,D){return this.delegate={i:K(w),r:E,n:D},this.method==="next"&&(this.arg=r),d}},i}function Wn(r,i,t,e,n,a,s){try{var o=r[a](s),l=o.value}catch(u){return void t(u)}o.done?i(l):Promise.resolve(l).then(e,n)}function _(r){return function(){var i=this,t=arguments;return new Promise(function(e,n){var a=r.apply(i,t);function s(l){Wn(a,e,n,s,o,"next",l)}function o(l){Wn(a,e,n,s,o,"throw",l)}s(void 0)})}}function Jn(r,i){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(r);i&&(e=e.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,e)}return t}function V(r){for(var i=1;i<arguments.length;i++){var t=arguments[i]!=null?arguments[i]:{};i%2?Jn(Object(t),!0).forEach(function(e){Vt(r,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Jn(Object(t)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))})}return r}function Vt(r,i,t){return(i=Wr(i))in r?Object.defineProperty(r,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[i]=t,r}function x(r){"@babel/helpers - typeof";return x=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},x(r)}function b(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")}function Xn(r,i){for(var t=0;t<i.length;t++){var e=i[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(r,Wr(e.key),e)}}function k(r,i,t){return i&&Xn(r.prototype,i),t&&Xn(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function Wr(r){var i=ei(r,"string");return x(i)=="symbol"?i:i+""}function ei(r,i){if(x(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var e=t.call(r,i);if(x(e)!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(i==="string"?String:Number)(r)}var ti=function(){function r(){b(this,r)}return k(r,null,[{key:"render",value:function(t,e){var n=document.createElement("div");n.id="error-view",n.innerText=e,t.replaceChildren(n)}}])}(),ni=function(){function r(){b(this,r)}return k(r,null,[{key:"onLoad",value:function(t){t.innerHTML='<div id="loading-validate-key-property"></div>'}},{key:"createElements",value:function(){var t=document.createElement("div");return t.id="validate-property-key-view",t}},{key:"render",value:function(t,e,n){var a=r.createElements(),s={onSuccess:e,onFail:ti.render.bind(this,t,"Your 'key' has failed authentication"),onLoad:r.onLoad.bind(this,a)};n.key&&n.verifyKey(n.key,s),t.replaceChildren(a)}}])}(),Q=function(){function r(){b(this,r)}return k(r,null,[{key:"unsetStyle",value:function(t,e){var n=Object.keys(e).reduce(function(a,s){return a[s]="",a},{});Object.assign(t.style,n)}},{key:"unsetActivityCSSMouseStates",value:function(t,e){e.click&&r.unsetStyle(t,e.click),e.hover&&r.unsetStyle(t,e.hover)}},{key:"unsetAllCSSMouseStates",value:function(t,e){r.unsetActivityCSSMouseStates(t,e),e.default&&r.unsetStyle(t,e.default)}},{key:"processStateful",value:function(t){var e=t.default||{},n=Object.assign(JSON.parse(JSON.stringify(e)),t==null?void 0:t.hover),a=Object.assign(JSON.parse(JSON.stringify(n)),t==null?void 0:t.click);return{default:e,hover:n,click:a}}},{key:"mergeStatefulStyles",value:function(t){var e={default:{},hover:{},click:{}};return t.forEach(function(n){e.default=Object.assign(e.default,n.default),e.hover=Object.assign(e.hover,n.hover),e.click=Object.assign(e.click,n.click)}),e}},{key:"overwriteDefaultWithAlreadyApplied",value:function(t,e){Object.keys(t.default||[]).forEach(function(n){var a,s=n;e.style[s]&&(a=t.default)!=null&&a[s]&&(t.default[n]=e.style[s])})}},{key:"applyToStyleIfNotDefined",value:function(t,e){for(var n in e){var a=e[n];t[n]===""&&a&&(t[n]=a)}}}])}(),un=function(){function r(){b(this,r)}return k(r,null,[{key:"attemptAppendStyleSheetToHead",value:function(t){if(!(t.fontFamily&&t.fontFamily!==r.DEFAULT_FONT_FAMILY)){var e=document.getElementsByTagName("head")[0];if(!Array.from(e.getElementsByTagName("link")).some(function(a){return a.getAttribute("href")===r.FONT_URL})){var n=document.createElement("link");n.rel="stylesheet",n.href=r.FONT_URL,e.appendChild(n)}}}}])}();un.FONT_URL="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap",un.DEFAULT_FONT_FAMILY="'Inter', sans-serif, Avenir, Helvetica, Arial";var Jr=un,Xr=function(){function r(){b(this,r)}return k(r,null,[{key:"apply",value:function(t,e){if(e)try{r.applyStyleSheet(t,e)}catch(n){r.addStyleElement(t,e)}}},{key:"applyStyleSheet",value:function(t,e){var n=new CSSStyleSheet;n.replaceSync(t),e.adoptedStyleSheets.push(n)}},{key:"addStyleElement",value:function(t,e){var n=document.createElement("style");n.innerHTML=t,e.appendChild(n)}},{key:"applyDefaultStyleToComponent",value:function(t,e){e&&Q.applyToStyleIfNotDefined(t,e),Q.applyToStyleIfNotDefined(t,r.DEFAULT_COMPONENT_STYLE)}}])}();Xr.DEFAULT_COMPONENT_STYLE={height:"350px",width:"320px",borderTop:"1px solid #cacaca",borderRight:"1px solid #cacaca",borderLeft:"1px solid #cacaca",borderBottom:"1px solid #cacaca",fontFamily:Jr.DEFAULT_FONT_FAMILY,fontSize:"0.9rem",backgroundColor:"white",position:"relative",overflow:"hidden"};var en=Xr,Yr=function(){function r(){b(this,r)}return k(r,null,[{key:"buildElement",value:function(){var t=document.createElement("div");t.classList.add("tooltip");var e=document.createElement("span");return e.classList.add("tooltip-text"),t.appendChild(e),t}},{key:"tryCreateConfig",value:function(t,e){if(e)return typeof e=="boolean"?{text:t}:{text:e.text||t,timeout:e.timeout||0,style:e.style}}},{key:"traverseParentUntilContainer",value:function(t){for(var e=t;e.parentElement;)e=e.parentElement;return e}},{key:"setPosition",value:function(t,e){var n=e.getRootNode().host.getBoundingClientRect(),a=t.getBoundingClientRect(),s=e.getBoundingClientRect().width/2,o=a.left+a.width/2;e.style.left="".concat(o-s-n.left,"px"),e.style.top="".concat(a.top-36-n.top,"px");var l=e.getBoundingClientRect();l.left<n.left?e.style.left="".concat(r.OVERFLOW_NEW_POSITION_PX,"px"):l.right>n.right&&(e.style.left="".concat(n.width-l.width-r.OVERFLOW_NEW_POSITION_PX,"px"))}},{key:"display",value:function(t,e,n){return n||(n=r.traverseParentUntilContainer(t).nextSibling),e.text&&(n.children[0].textContent=e.text),{timeout:setTimeout(function(){n.style.visibility="visible",r.setPosition(t,n),e.style&&Object.assign(n.style,e.style)},e.timeout||0),element:n}}},{key:"hide",value:function(t,e){clearTimeout(t.timeout),t.element.style.visibility="hidden",e.style&&Q.unsetStyle(t.element,e.style),t.element.style.left="",t.element.style.top=""}}])}();Yr.OVERFLOW_NEW_POSITION_PX=4;var be=Yr,xt=k(function r(){b(this,r)});xt.IS_SAFARI=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),xt.IS_CHROMIUM=window.chrome,xt.IS_MOBILE=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent);var Me=xt,ee=function(r){return r.ESCAPE="Escape",r.ENTER="Enter",r.TAB="Tab",r.ARROW_UP="ArrowUp",r.ARROW_DOWN="ArrowDown",r.ARROW_RIGHT="ArrowRight",r.ARROW_LEFT="ArrowLeft",r.BACKSPACE="Backspace",r.DELETE="Delete",r.META="Meta",r.CONTROL="Control",r}(ee||{}),Zr=function(){function r(){b(this,r)}return k(r,null,[{key:"add",value:function(t,e,n,a){n!==void 0&&t.addEventListener("keydown",r.onKeyDown.bind(this,n)),t.oninput=r.onInput.bind(this,n,a),t.addEventListener("paste",function(s){var o;s.preventDefault(),(o=s.clipboardData)!=null&&o.files.length&&e.addFilesToAnyType(Array.from(s.clipboardData.files))})}},{key:"onKeyDown",value:function(t,e){var n=e.target.textContent;n&&n.length>=t&&!r.PERMITTED_KEYS.has(e.key)&&!r.isKeyCombinationPermitted(e)&&e.preventDefault()}},{key:"isKeyCombinationPermitted",value:function(t){return t.key==="a"?t.ctrlKey||t.metaKey:!1}},{key:"onInput",value:function(t,e,n){var a=n.target,s=a.textContent||"";t!==void 0&&s.length>t&&(a.textContent=s.substring(0,t),Ln.focusEndOfInput(a)),e==null||e()}}])}();Zr.PERMITTED_KEYS=new Set([ee.BACKSPACE,ee.DELETE,ee.ARROW_RIGHT,ee.ARROW_LEFT,ee.ARROW_DOWN,ee.ARROW_UP,ee.META,ee.CONTROL,ee.ENTER]);var ri=Zr,ai=function(){function r(){b(this,r)}return k(r,null,[{key:"sanitizePastedTextContent",value:function(t){var e,n;t.preventDefault();var a=(e=t.clipboardData)==null?void 0:e.getData("text/plain");a&&((n=document.execCommand)==null||n.call(document,"insertText",!1,a))}}])}(),Qr=function(){function r(i,t,e){var n=this;b(this,r);var a,s;this._isComposing=!1;var o=r.processConfig(t,i.textInput);this.elementRef=r.createContainerElement((a=o==null?void 0:o.styles)==null?void 0:a.container),this._config=o,this.inputElementRef=this.createInputElement(),this.elementRef.appendChild(this.inputElementRef),i.setPlaceholderText=this.setPlaceholderText.bind(this),i.setPlaceholderText(((s=this._config.placeholder)==null?void 0:s.text)||"Ask me anything!"),setTimeout(function(){ri.add(n.inputElementRef,e,n._config.characterLimit,i._validationHandler),n._onInput=t.onInput})}return k(r,[{key:"clear",value:function(){var t,e,n=window.scrollY;this.inputElementRef.classList.contains("text-input-disabled")||(Object.assign(this.inputElementRef.style,(t=this._config.placeholder)==null?void 0:t.style),this.inputElementRef.textContent="",Ln.focusEndOfInput(this.inputElementRef),(e=this._onInput)==null||e.call(this,!1)),Me.IS_CHROMIUM&&window.scrollTo({top:n})}},{key:"createInputElement",value:function(){var t,e,n,a,s=document.createElement("div");return s.id=r.TEXT_INPUT_ID,s.classList.add("text-input-styling"),s.role="textbox",Me.IS_CHROMIUM&&r.preventAutomaticScrollUpOnNewLine(s),typeof this._config.disabled=="boolean"&&this._config.disabled===!0?(s.contentEditable="false",s.classList.add("text-input-disabled"),s.setAttribute("aria-disabled","true")):(s.contentEditable="true",s.removeAttribute("aria-disabled"),this.addEventListeners(s)),Object.assign(s.style,(t=this._config.styles)==null?void 0:t.text),Object.assign(s.style,(e=this._config.placeholder)==null?void 0:e.style),(a=(n=this._config.placeholder)==null?void 0:n.style)!=null&&a.color||s.setAttribute("textcolor",""),s}},{key:"removePlaceholderStyle",value:function(){var t,e,n,a;!this.inputElementRef.classList.contains("text-input-disabled")&&(t=this._config.placeholder)!=null&&t.style&&(Q.unsetStyle(this.inputElementRef,(e=this._config.placeholder)==null?void 0:e.style),Object.assign(this.inputElementRef.style,(a=(n=this._config)==null?void 0:n.styles)==null?void 0:a.text))}},{key:"addEventListeners",value:function(t){var e=this,n,a;(n=this._config.styles)!=null&&n.focus&&(t.onfocus=function(){var s;return Object.assign(e.elementRef.style,(s=e._config.styles)==null?void 0:s.focus)},t.onblur=this.onBlur.bind(this,this._config.styles.focus,(a=this._config.styles)==null?void 0:a.container)),t.addEventListener("keydown",this.onKeydown.bind(this)),t.addEventListener("input",this.onInput.bind(this)),t.addEventListener("paste",ai.sanitizePastedTextContent),t.addEventListener("compositionstart",function(){return e._isComposing=!0}),t.addEventListener("compositionend",function(){return e._isComposing=!1})}},{key:"onBlur",value:function(t,e){Q.unsetStyle(this.elementRef,t),e&&Object.assign(this.elementRef.style,e)}},{key:"onKeydown",value:function(t){var e;t.key===ee.ENTER&&!Me.IS_MOBILE&&!this._isComposing&&!t.ctrlKey&&!t.shiftKey&&(t.preventDefault(),(e=this.submit)==null||e.call(this))}},{key:"onInput",value:function(){var t,e;this.isTextInputEmpty()?Object.assign(this.inputElementRef.style,(t=this._config.placeholder)==null?void 0:t.style):this.removePlaceholderStyle(),(e=this._onInput)==null||e.call(this,!0)}},{key:"setPlaceholderText",value:function(t){this.inputElementRef.setAttribute("deep-chat-placeholder-text",t),this.inputElementRef.setAttribute("aria-label",t)}},{key:"isTextInputEmpty",value:function(){return this.inputElementRef.textContent===""}}],[{key:"processConfig",value:function(t,e){var n,a,s,o;return e!=null||(e={}),(n=e.disabled)!==null&&n!==void 0||(e.disabled=t.isTextInputDisabled),(a=e.placeholder)!==null&&a!==void 0||(e.placeholder={}),(s=(o=e.placeholder).text)!==null&&s!==void 0||(o.text=t.textInputPlaceholderText),e}},{key:"createContainerElement",value:function(t){var e=document.createElement("div");return e.id="text-input-container",Object.assign(e.style,t),e}},{key:"preventAutomaticScrollUpOnNewLine",value:function(t){var e;t.addEventListener("keydown",function(){e=window.scrollY}),t.addEventListener("input",function(){e!==window.scrollY&&window.scrollTo({top:e})})}}])}();Qr.TEXT_INPUT_ID="text-input";var ea=Qr,Ln=function(){function r(){b(this,r)}return k(r,null,[{key:"focusEndOfInput",value:function(t){var e=document.createRange();e.selectNodeContents(t),e.collapse(!1);var n=window.getSelection();n==null||n.removeAllRanges(),n==null||n.addRange(e)}},{key:"focusFromParentElement",value:function(t){var e=t.querySelector("#".concat(ea.TEXT_INPUT_ID));e&&(Me.IS_SAFARI&&e.focus(),r.focusEndOfInput(e))}}])}();function Yn(r){return r.charAt(0).toUpperCase()+r.slice(1)}function ii(r){return r&&JSON.stringify(r)}function On(r,i,t,e){var n=`
`.concat(Yn(i)," message: ").concat(JSON.stringify(r),`
`),a=t?"".concat(Yn(i)," message after interceptor: ").concat(ii(e),`
`):"";return n+a}function si(r,i,t,e){return"".concat(On(r,i,t,e),"Make sure the ").concat(i,` message is using the Response format: https://deepchat.dev/docs/connect/#Response
You can also augment it using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor`)}function oi(r,i,t){var e="response";return"".concat(On(r,e,i,t),"Make sure the ").concat(e,' message is using the {text: string} format, e.g: {text: "Model Response"}')}function li(r,i){var t="request";return"".concat(On(r,t,i),"Make sure the ").concat(t,' message is using the {body: {text: string}} format, e.g: {body: {text: "Model Response"}}')}var Zn=`Make sure the events are using {text: string} or {html: string} format.
You can also augment them using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor`,$={INVALID_KEY:"Invalid API Key",CONNECTION_FAILED:"Failed to connect",INVALID_RESPONSE:si,INVALID_MODEL_REQUEST:li,INVALID_MODEL_RESPONSE:oi,INVALID_STREAM_ARRAY_RESPONSE:"Multi-response arrays are not supported for streaming",INVALID_STREAM_EVENT:Zn,INVALID_STREAM_EVENT_MIX:"Cannot mix {text: string} and {html: string} responses.",NO_VALID_STREAM_EVENTS_SENT:`No valid stream events were sent.
`.concat(Zn),READABLE_STREAM_CONNECTION_ERROR:"Readable Stream connection error."},ta=function(){function r(){b(this,r)}return k(r,null,[{key:"addElements",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),a=1;a<e;a++)n[a-1]=arguments[a];n.forEach(function(s){return t.appendChild(s)})}},{key:"isScrollbarAtBottomOfElement",value:function(t){var e=t.scrollHeight,n=t.clientHeight,a=t.scrollTop,s=e-n;return a>=s-r.CODE_SNIPPET_GENERATION_JUMP}},{key:"cloneElement",value:function(t){var e=t.cloneNode(!0);return t.parentNode.replaceChild(e,t),e}},{key:"scrollToBottom",value:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;e?t.scrollTo({left:0,top:t.scrollHeight,behavior:"smooth"}):t.scrollTop=t.scrollHeight}},{key:"scrollToTop",value:function(t){t.scrollTop=0}}])}();ta.CODE_SNIPPET_GENERATION_JUMP=.5;var ie=ta,na=function(){function r(){b(this,r)}return k(r,null,[{key:"speak",value:function(t,e){if(window.SpeechSynthesisUtterance){var n=new SpeechSynthesisUtterance(t);Object.assign(n,e),speechSynthesis.speak(n)}}},{key:"processConfig",value:function(t,e){var n={};setTimeout(function(){if(x(t)=="object"&&(t.lang&&(n.lang=t.lang),t.pitch&&(n.pitch=t.pitch),t.rate&&(n.rate=t.rate),t.volume&&(n.volume=t.volume),t.voiceName)){var a=window.speechSynthesis.getVoices().find(function(s){var o;return s.name.toLocaleLowerCase()===((o=t.voiceName)==null?void 0:o.toLocaleLowerCase())});a&&(n.voice=a)}e(n)},r.LOAD_VOICES_MS)}}])}();na.LOAD_VOICES_MS=200;var Rt=na,cn=function(){function r(){b(this,r)}return k(r,null,[{key:"colorToHex",value:function(t){var e=document.createElement("div");return e.style.color=t,document.body.appendChild(e),"#".concat(window.getComputedStyle(e).color.match(/\d+/g).map(function(n){return parseInt(n).toString(16).padStart(2,"0")}).join(""))}},{key:"setDots",value:function(t,e){var n,a,s,o;if((o=(s=(a=(n=e==null?void 0:e.loading)==null?void 0:n.message)==null?void 0:a.styles)==null?void 0:s.bubble)!=null&&o.color){var l=r.colorToHex(e.loading.message.styles.bubble.color);t.style.setProperty("--loading-message-color",l),t.style.setProperty("--loading-message-color-fade","".concat(l,"33"))}else t.style.setProperty("--loading-message-color","#848484"),t.style.setProperty("--loading-message-color-fade","#55555533")}},{key:"setRing",value:function(t,e){var n=e||{},a=n.color,s=n.width,o=n.height,l=n.margin,u=n.border;if(a){var c=r.colorToHex(a);t.style.setProperty("--loading-history-color",c)}else t.style.setProperty("--loading-history-color","#dbdbdb");t.style.setProperty("--loading-history-height",o||"57px"),t.style.setProperty("--loading-history-width",s||"57px"),t.style.setProperty("--loading-history-margin",l||"7px"),t.style.setProperty("--loading-history-border",u||"6px solid")}}])}();cn.BUBBLE_CLASS="deep-chat-loading-message-bubble",cn.DOTS_CONTAINER_CLASS="deep-chat-loading-message-dots-container";var Ae=cn,dn=function(){function r(){b(this,r)}return k(r,null,[{key:"setElementProps",value:function(t,e,n,a){var s;n!=="loading"&&(t.applyCustomStyles(e,a,!0,(s=t.messageStyles)==null?void 0:s[n]),e.bubbleElement.classList.add(r.FILE_BUBBLE_CLASS))}},{key:"addMessage",value:function(t,e,n,a,s){r.setElementProps(t,e,n,a),s||(t.appendOuterContainerElemet(e.outerContainer),t.focusMode||(t.elementRef.scrollTop=t.elementRef.scrollHeight))}},{key:"wrapInLink",value:function(t,e,n){var a=document.createElement("a");return a.href=e,a.download=n||r.DEFAULT_FILE_NAME,a.target="_blank",a.appendChild(t),a}},{key:"isNonLinkableDataUrl",value:function(t,e){return!e.startsWith("data")||t==="image"?!1:t==="any"&&e.startsWith("data:text/javascript")||!e.startsWith("data:image")&&!e.startsWith("data:application")}},{key:"processContent",value:function(t,e,n,a){return!n||r.isNonLinkableDataUrl(t,n)?e:r.wrapInLink(e,n,a)}},{key:"waitToLoadThenScroll",value:function(t){setTimeout(function(){t.scrollTop=t.scrollHeight},60)}},{key:"scrollDownOnImageLoad",value:function(t,e){if(t.startsWith("data"))r.waitToLoadThenScroll(e);else try{fetch(t,{mode:"no-cors"}).catch(function(){}).finally(function(){r.waitToLoadThenScroll(e)})}catch(n){e.scrollTop=e.scrollHeight}}},{key:"reAddFileRefToObject",value:function(t,e){var n;(n=t.files)==null||n.forEach(function(a,s){var o;a.ref&&(o=e.files)!=null&&o[s]&&(e.files[s].ref=a.ref)})}},{key:"removeFileRef",value:function(t){var e=V({},t);return delete e.ref,e}},{key:"isAudioFile",value:function(t){var e=/\.(mp3|ogg|wav|aac|webm|4a)$/i,n=t.type,a=t.src;return n==="audio"||(a==null?void 0:a.startsWith("data:audio"))||a&&e.test(a)}},{key:"isImageFile",value:function(t){var e=t.type,n=t.src;return e==="image"||(n==null?void 0:n.startsWith("data:image"))||n&&r.isImageFileExtension(n)}},{key:"isImageFileExtension",value:function(t){return/\.(jpg|jpeg|png|gif|bmp)$/i.test(t)}}])}();dn.DEFAULT_FILE_NAME="file",dn.FILE_BUBBLE_CLASS="file-message";var re=dn,oe=function(){function r(){b(this,r)}return k(r,null,[{key:"checkForContainerStyles",value:function(t,e){var n=t.containerStyle;n&&(Object.assign(e.style,n),console.error("The containerStyle property is deprecated since version 1.3.14."),console.error("Please change to using the style property instead: https://deepchat.dev/docs/styles#style"))}},{key:"handleResponseProperty",value:function(t){return console.error("The {result: ....} response object type is deprecated since version 1.3.0."),console.error("Please change to using the new response object: https://deepchat.dev/docs/connect#Response"),t.result}},{key:"processHistory",value:function(t){var e=t.initialMessages;if(e)return console.error("The initialMessages property is deprecated since version 2.0.0."),console.error("Please change to using the history property instead: https://deepchat.dev/docs/messages/#history"),e}},{key:"processHistoryFile",value:function(t){var e=t.file;e&&(console.error("The file property in MessageContent is deprecated since version 1.3.17."),console.error("Please change to using the files array property: https://deepchat.dev/docs/messages/#MessageContent"),t.files=[e])}},{key:"processValidateInput",value:function(t){var e=t.validateMessageBeforeSending;if(e)return console.error("The validateMessageBeforeSending property is deprecated since version 1.3.24."),console.error("Please change to using validateInput: https://deepchat.dev/docs/interceptors#validateInput"),e}},{key:"processSubmitUserMessage",value:function(t){return console.error("The submitUserMessage(text: string) argument string type is deprecated since version 1.4.4."),console.error("Please change to using the new argument type: https://deepchat.dev/docs/methods#submitUserMessage"),{text:t}}},{key:"flagHTMLUpdateClass",value:function(t){var e;(e=t.children[0])!=null&&e.classList.contains("deep-chat-update-message")&&(console.error('The "deep-chat-update-message" html class is deprecated since version 1.4.4.'),console.error("Please change to using {..., overwrite: true} object: https://deepchat.dev/docs/connect#Response"))}},{key:"processConnect",value:function(t){var e=t;e.request&&(e.connect?Object.assign(e.connect,e.request):e.connect=e.request,console.error("The request property is deprecated since version 2.0.0."),console.error("Please see the connect object: https://deepchat.dev/docs/connect#connect-1"))}},{key:"checkForStream",value:function(t){var e=t.stream;if(e)return console.error("The stream property has been moved to the connect object in version 2.0.0."),console.error("Please see the connect object: https://deepchat.dev/docs/connect#connect-1"),e}},{key:"fireOnNewMessage",value:function(t,e){var n,a=t;a.onNewMessage&&(console.error("The onNewMessage event has been deprecated since version 2.0.0."),console.error("Please see the onMessage event: https://deepchat.dev/docs/events#onMessage"),(n=a.onNewMessage)==null||n.call(a,e)),t.dispatchEvent(new CustomEvent("new-message",{detail:e}))}},{key:"processFileConfigConnect",value:function(t){var e=t;e.request&&(console.error("The request property in file configuration is deprecated since version 2.0.0."),console.error("Please use the connect property instead: https://deepchat.dev/docs/files"),e.connect||(e.connect=e.request))}},{key:"processMessageStyles",value:function(t){if(t){var e=JSON.parse(JSON.stringify(t)),n=e.loading;return n&&(n.outerContainer||n.innerContainer||n.bubble||n.media)&&(console.error("The loading message styles are defined using LoadingMessageStyles interface since version 2.1.0."),console.error("Check it out here: https://deepchat.dev/docs/messages/styles#LoadingMessageStyles"),e.loading={message:{styles:n}}),e}}},{key:"processDemo",value:function(t){return typeof t=="boolean"||t.displayLoadingBubble&&(console.error("The demo displayLoadingBubble property is deprecated since version 2.1.0."),console.error("Please use displayLoading instead: https://deepchat.dev/docs/modes#demo"),t.displayLoading={message:!0}),t}}])}(),Pn=function(){function r(){b(this,r)}return k(r,null,[{key:"mouseUp",value:function(t,e){Q.unsetAllCSSMouseStates(t,e),Object.assign(t.style,e.default),Object.assign(t.style,e.hover)}},{key:"mouseDown",value:function(t,e){Object.assign(t.style,e.click)}},{key:"mouseLeave",value:function(t,e){Q.unsetAllCSSMouseStates(t,e),Object.assign(t.style,e.default)}},{key:"mouseEnter",value:function(t,e){Object.assign(t.style,e.hover)}},{key:"add",value:function(t,e){t.addEventListener("mouseenter",r.mouseEnter.bind(this,t,e)),t.addEventListener("mouseleave",r.mouseLeave.bind(this,t,e)),t.addEventListener("mousedown",r.mouseDown.bind(this,t,e)),t.addEventListener("mouseup",r.mouseUp.bind(this,t,e))}}])}(),ui="deep-chat-temporary-message",ci="deep-chat-suggestion-button",hn={"deep-chat-button":{styles:{default:{backgroundColor:"white",padding:"5px",paddingLeft:"7px",paddingRight:"7px",border:"1px solid #c2c2c2",borderRadius:"6px",cursor:"pointer"},hover:{backgroundColor:"#fafafa"},click:{backgroundColor:"#f1f1f1"}}}},Qn=Object.keys(hn),He=function(){function r(){b(this,r)}return k(r,null,[{key:"applySuggestionEvent",value:function(t,e){setTimeout(function(){e.addEventListener("click",function(){var n,a;(a=t.submitUserMessage)==null||a.call(t,{text:((n=e.textContent)==null?void 0:n.trim())||""})})})}},{key:"isElementTemporary",value:function(t){var e;return t?(e=t.bubbleElement.children[0])==null?void 0:e.classList.contains(ui):!1}},{key:"doesElementContainDeepChatClass",value:function(t){return Qn.find(function(e){return t.classList.contains(e)})}},{key:"applyEvents",value:function(t,e){var n=hn[e].events;Object.keys(n||[]).forEach(function(a){t.addEventListener(a,n==null?void 0:n[a])})}},{key:"getProcessedStyles",value:function(t,e,n){var a=Array.from(e.classList).reduce(function(u,c){var d,p=(d=t[c])==null?void 0:d.styles;return p&&t[c].styles&&u.push(p),u},[]),s=hn[n].styles;if(s){var o=JSON.parse(JSON.stringify(s));o.default&&Q.overwriteDefaultWithAlreadyApplied(o,e),a.unshift(o)}var l=Q.mergeStatefulStyles(a);return Q.processStateful(l)}},{key:"applyDeepChatUtilities",value:function(t,e,n){Qn.forEach(function(s){var o=n.getElementsByClassName(s);Array.from(o||[]).forEach(function(l){var u=r.getProcessedStyles(e,l,s);ge.applyStylesToElement(l,u),r.applyEvents(l,s)})});var a=n.getElementsByClassName(ci);Array.from(a).forEach(function(s){return r.applySuggestionEvent(t,s)})}}])}(),ge=function(){function r(){b(this,r)}return k(r,null,[{key:"applyStylesToElement",value:function(t,e){var n=Q.processStateful(e);Pn.add(t,n),Object.assign(t.style,n.default)}},{key:"applyEventsToElement",value:function(t,e){Object.keys(e).forEach(function(n){var a=e[n];a&&t.addEventListener(n,a)})}},{key:"applyClassUtilitiesToElement",value:function(t,e){var n=e.events,a=e.styles;n&&r.applyEventsToElement(t,n),a&&!He.doesElementContainDeepChatClass(t)&&r.applyStylesToElement(t,a)}},{key:"applyCustomClassUtilities",value:function(t,e){Object.keys(t).forEach(function(n){var a=e.getElementsByClassName(n);Array.from(a).forEach(function(s){t[n]&&r.applyClassUtilitiesToElement(s,t[n])})})}},{key:"apply",value:function(t,e){He.applyDeepChatUtilities(t,t.htmlClassUtilities,e),r.applyCustomClassUtilities(t.htmlClassUtilities,e)}},{key:"traverseNodes",value:function(t,e){t.nodeType===Node.ELEMENT_NODE&&e.push(t.outerHTML),t.childNodes.forEach(function(n){r.traverseNodes(n,e)})}},{key:"splitHTML",value:function(t){var e=new DOMParser().parseFromString(t,"text/html"),n=[];return e.body.childNodes.forEach(function(a){r.traverseNodes(a,n)}),n}},{key:"isTemporaryBasedOnHTML",value:function(t){var e=document.createElement("div");return e.innerHTML=t,He.isElementTemporary({outerContainer:e,bubbleElement:e,innerContainer:e})}},{key:"replaceElementWithNewClone",value:function(t,e){var n,a=(e||t).cloneNode(!0);return(n=t.parentNode)==null||n.replaceChild(a,t),a}}])}(),ra=function(){function r(){b(this,r)}return k(r,null,[{key:"addElement",value:function(t,e){t.appendOuterContainerElemet(e),t.focusMode||(t.elementRef.scrollTop=t.elementRef.scrollHeight)}},{key:"createElements",value:function(t,e,n,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,o=t.createMessageElementsOnOrientation("",n,a,s);return o.bubbleElement.classList.add(r.HTML_BUBBLE_CLASS),o.bubbleElement.innerHTML=e,o}},{key:"overwriteElements",value:function(t,e,n){n.bubbleElement.innerHTML=e,ge.apply(t,n.outerContainer),oe.flagHTMLUpdateClass(n.bubbleElement)}},{key:"overwrite",value:function(t,e,n,a){var s=t.messageToElements,o=O.overwriteMessage(s,a,e,n,"html",r.HTML_BUBBLE_CLASS);return o&&r.overwriteElements(t,e,o),o}},{key:"create",value:function(t,e,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s,o=r.createElements(t,e,n,a);return O.fillEmptyMessageElement(o.bubbleElement,e),ge.apply(t,o.outerContainer),oe.flagHTMLUpdateClass(o.bubbleElement),t.applyCustomStyles(o,n,!1,(s=t.messageStyles)==null?void 0:s.html),o}},{key:"add",value:function(t,e,n,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(a!=null&&a.status){var o=this.overwrite(t,e,n,t.messageElementRefs);if(o)return o;a.status=!1}if(!(s&&t.messageElementRefs.length>0&&ge.isTemporaryBasedOnHTML(e))){var l=r.create(t,e,n,s);return s||r.addElement(t,l.outerContainer),l}}}])}();ra.HTML_BUBBLE_CLASS="html-message";var _e=ra,Ct;function aa(r){return Ct=Ct||document.createElement("textarea"),Ct.innerHTML="&"+r+";",Ct.value}var di=Object.prototype.hasOwnProperty;function hi(r,i){return r?di.call(r,i):!1}function ia(r){var i=[].slice.call(arguments,1);return i.forEach(function(t){if(t){if(x(t)!="object")throw new TypeError(t+"must be object");Object.keys(t).forEach(function(e){r[e]=t[e]})}}),r}var pi=/\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;function bt(r){return r.indexOf("\\")<0?r:r.replace(pi,"$1")}function sa(r){return!(r>=55296&&r<=57343||r>=64976&&r<=65007||(r&65535)===65535||(r&65535)===65534||r>=0&&r<=8||r===11||r>=14&&r<=31||r>=127&&r<=159||r>1114111)}function pn(r){if(r>65535){r-=65536;var i=55296+(r>>10),t=56320+(r&1023);return String.fromCharCode(i,t)}return String.fromCharCode(r)}var fi=/&([a-z#][a-z0-9]{1,31});/gi,mi=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;function vi(r,i){var t=0,e=aa(i);return i!==e?e:i.charCodeAt(0)===35&&mi.test(i)&&(t=i[1].toLowerCase()==="x"?parseInt(i.slice(2),16):parseInt(i.slice(1),10),sa(t))?pn(t):r}function Re(r){return r.indexOf("&")<0?r:r.replace(fi,vi)}var gi=/[&<>"]/,yi=/[&<>"]/g,bi={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function ki(r){return bi[r]}function se(r){return gi.test(r)?r.replace(yi,ki):r}var L={};L.blockquote_open=function(){return`<blockquote>
`};L.blockquote_close=function(r,i){return"</blockquote>"+Oe(r,i)};L.code=function(r,i){return r[i].block?"<pre><code>"+se(r[i].content)+"</code></pre>"+Oe(r,i):"<code>"+se(r[i].content)+"</code>"};L.fence=function(r,i,t,e,n){var a=r[i],s="",o=t.langPrefix,l="",u,c,d;if(a.params){if(u=a.params.split(/\s+/g),c=u.join(" "),hi(n.rules.fence_custom,u[0]))return n.rules.fence_custom[u[0]](r,i,t,e,n);l=se(Re(bt(c))),s=' class="'+o+l+'"'}return t.highlight?d=t.highlight.apply(t.highlight,[a.content].concat(u))||se(a.content):d=se(a.content),"<pre><code"+s+">"+d+"</code></pre>"+Oe(r,i)};L.fence_custom={};L.heading_open=function(r,i){return"<h"+r[i].hLevel+">"};L.heading_close=function(r,i){return"</h"+r[i].hLevel+`>
`};L.hr=function(r,i,t){return(t.xhtmlOut?"<hr />":"<hr>")+Oe(r,i)};L.bullet_list_open=function(){return`<ul>
`};L.bullet_list_close=function(r,i){return"</ul>"+Oe(r,i)};L.list_item_open=function(){return"<li>"};L.list_item_close=function(){return`</li>
`};L.ordered_list_open=function(r,i){var t=r[i],e=t.order>1?' start="'+t.order+'"':"";return"<ol"+e+`>
`};L.ordered_list_close=function(r,i){return"</ol>"+Oe(r,i)};L.paragraph_open=function(r,i){return r[i].tight?"":"<p>"};L.paragraph_close=function(r,i){var t=!(r[i].tight&&i&&r[i-1].type==="inline"&&!r[i-1].content);return(r[i].tight?"":"</p>")+(t?Oe(r,i):"")};L.link_open=function(r,i,t){var e=r[i].title?' title="'+se(Re(r[i].title))+'"':"",n=t.linkTarget?' target="'+t.linkTarget+'"':"";return'<a href="'+se(r[i].href)+'"'+e+n+">"};L.link_close=function(){return"</a>"};L.image=function(r,i,t){var e=' src="'+se(r[i].src)+'"',n=r[i].title?' title="'+se(Re(r[i].title))+'"':"",a=' alt="'+(r[i].alt?se(Re(bt(r[i].alt))):"")+'"',s=t.xhtmlOut?" /":"";return"<img"+e+a+n+s+">"};L.table_open=function(){return`<table>
`};L.table_close=function(){return`</table>
`};L.thead_open=function(){return`<thead>
`};L.thead_close=function(){return`</thead>
`};L.tbody_open=function(){return`<tbody>
`};L.tbody_close=function(){return`</tbody>
`};L.tr_open=function(){return"<tr>"};L.tr_close=function(){return`</tr>
`};L.th_open=function(r,i){var t=r[i];return"<th"+(t.align?' style="text-align:'+t.align+'"':"")+">"};L.th_close=function(){return"</th>"};L.td_open=function(r,i){var t=r[i];return"<td"+(t.align?' style="text-align:'+t.align+'"':"")+">"};L.td_close=function(){return"</td>"};L.strong_open=function(){return"<strong>"};L.strong_close=function(){return"</strong>"};L.em_open=function(){return"<em>"};L.em_close=function(){return"</em>"};L.del_open=function(){return"<del>"};L.del_close=function(){return"</del>"};L.ins_open=function(){return"<ins>"};L.ins_close=function(){return"</ins>"};L.mark_open=function(){return"<mark>"};L.mark_close=function(){return"</mark>"};L.sub=function(r,i){return"<sub>"+se(r[i].content)+"</sub>"};L.sup=function(r,i){return"<sup>"+se(r[i].content)+"</sup>"};L.hardbreak=function(r,i,t){return t.xhtmlOut?`<br />
`:`<br>
`};L.softbreak=function(r,i,t){return t.breaks?t.xhtmlOut?`<br />
`:`<br>
`:`
`};L.text=function(r,i){return se(r[i].content)};L.htmlblock=function(r,i){return r[i].content};L.htmltag=function(r,i){return r[i].content};L.abbr_open=function(r,i){return'<abbr title="'+se(Re(r[i].title))+'">'};L.abbr_close=function(){return"</abbr>"};L.footnote_ref=function(r,i){var t=Number(r[i].id+1).toString(),e="fnref"+t;return r[i].subId>0&&(e+=":"+r[i].subId),'<sup class="footnote-ref"><a href="#fn'+t+'" id="'+e+'">['+t+"]</a></sup>"};L.footnote_block_open=function(r,i,t){var e=t.xhtmlOut?`<hr class="footnotes-sep" />
`:`<hr class="footnotes-sep">
`;return e+`<section class="footnotes">
<ol class="footnotes-list">
`};L.footnote_block_close=function(){return`</ol>
</section>
`};L.footnote_open=function(r,i){var t=Number(r[i].id+1).toString();return'<li id="fn'+t+'" class="footnote-item">'};L.footnote_close=function(){return`</li>
`};L.footnote_anchor=function(r,i){var t=Number(r[i].id+1).toString(),e="fnref"+t;return r[i].subId>0&&(e+=":"+r[i].subId),' <a href="#'+e+'" class="footnote-backref">↩</a>'};L.dl_open=function(){return`<dl>
`};L.dt_open=function(){return"<dt>"};L.dd_open=function(){return"<dd>"};L.dl_close=function(){return`</dl>
`};L.dt_close=function(){return`</dt>
`};L.dd_close=function(){return`</dd>
`};function oa(r,i){return++i>=r.length-2?i:r[i].type==="paragraph_open"&&r[i].tight&&r[i+1].type==="inline"&&r[i+1].content.length===0&&r[i+2].type==="paragraph_close"&&r[i+2].tight?oa(r,i+2):i}var Oe=L.getBreak=function(r,i){return i=oa(r,i),i<r.length&&r[i].type==="list_item_close"?"":`
`};function Nn(){this.rules=ia({},L),this.getBreak=L.getBreak}Nn.prototype.renderInline=function(r,i,t){for(var e=this.rules,n=r.length,a=0,s="";n--;)s+=e[r[a].type](r,a++,i,t,this);return s};Nn.prototype.render=function(r,i,t){for(var e=this.rules,n=r.length,a=-1,s="";++a<n;)r[a].type==="inline"?s+=this.renderInline(r[a].children,i,t):s+=e[r[a].type](r,a,i,t,this);return s};function le(){this.__rules__=[],this.__cache__=null}le.prototype.__find__=function(r){for(var i=this.__rules__.length,t=-1;i--;)if(this.__rules__[++t].name===r)return t;return-1};le.prototype.__compile__=function(){var r=this,i=[""];r.__rules__.forEach(function(t){t.enabled&&t.alt.forEach(function(e){i.indexOf(e)<0&&i.push(e)})}),r.__cache__={},i.forEach(function(t){r.__cache__[t]=[],r.__rules__.forEach(function(e){e.enabled&&(t&&e.alt.indexOf(t)<0||r.__cache__[t].push(e.fn))})})};le.prototype.at=function(r,i,t){var e=this.__find__(r),n=t||{};if(e===-1)throw new Error("Parser rule not found: "+r);this.__rules__[e].fn=i,this.__rules__[e].alt=n.alt||[],this.__cache__=null};le.prototype.before=function(r,i,t,e){var n=this.__find__(r),a=e||{};if(n===-1)throw new Error("Parser rule not found: "+r);this.__rules__.splice(n,0,{name:i,enabled:!0,fn:t,alt:a.alt||[]}),this.__cache__=null};le.prototype.after=function(r,i,t,e){var n=this.__find__(r),a=e||{};if(n===-1)throw new Error("Parser rule not found: "+r);this.__rules__.splice(n+1,0,{name:i,enabled:!0,fn:t,alt:a.alt||[]}),this.__cache__=null};le.prototype.push=function(r,i,t){var e=t||{};this.__rules__.push({name:r,enabled:!0,fn:i,alt:e.alt||[]}),this.__cache__=null};le.prototype.enable=function(r,i){r=Array.isArray(r)?r:[r],i&&this.__rules__.forEach(function(t){t.enabled=!1}),r.forEach(function(t){var e=this.__find__(t);if(e<0)throw new Error("Rules manager: invalid rule name "+t);this.__rules__[e].enabled=!0},this),this.__cache__=null};le.prototype.disable=function(r){r=Array.isArray(r)?r:[r],r.forEach(function(i){var t=this.__find__(i);if(t<0)throw new Error("Rules manager: invalid rule name "+i);this.__rules__[t].enabled=!1},this),this.__cache__=null};le.prototype.getRules=function(r){return this.__cache__===null&&this.__compile__(),this.__cache__[r]||[]};function Si(r){r.inlineMode?r.tokens.push({type:"inline",content:r.src.replace(/\n/g," ").trim(),level:0,lines:[0,1],children:[]}):r.block.parse(r.src,r.options,r.env,r.tokens)}function Pe(r,i,t,e,n){this.src=r,this.env=e,this.options=t,this.parser=i,this.tokens=n,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent="",this.labelUnmatchedScopes=0}Pe.prototype.pushPending=function(){this.tokens.push({type:"text",content:this.pending,level:this.pendingLevel}),this.pending=""};Pe.prototype.push=function(r){this.pending&&this.pushPending(),this.tokens.push(r),this.pendingLevel=this.level};Pe.prototype.cacheSet=function(r,i){for(var t=this.cache.length;t<=r;t++)this.cache.push(0);this.cache[r]=i};Pe.prototype.cacheGet=function(r){return r<this.cache.length?this.cache[r]:0};function kt(r,i){var t,e,n,a=-1,s=r.posMax,o=r.pos,l=r.isInLabel;if(r.isInLabel)return-1;if(r.labelUnmatchedScopes)return r.labelUnmatchedScopes--,-1;for(r.pos=i+1,r.isInLabel=!0,t=1;r.pos<s;){if(n=r.src.charCodeAt(r.pos),n===91)t++;else if(n===93&&(t--,t===0)){e=!0;break}r.parser.skipToken(r)}return e?(a=r.pos,r.labelUnmatchedScopes=0):r.labelUnmatchedScopes=t-1,r.pos=o,r.isInLabel=l,a}function _i(r,i,t,e){var n,a,s,o,l,u;if(r.charCodeAt(0)!==42||r.charCodeAt(1)!==91||r.indexOf("]:")===-1||(n=new Pe(r,i,t,e,[]),a=kt(n,1),a<0||r.charCodeAt(a+1)!==58))return-1;for(o=n.posMax,s=a+2;s<o&&n.src.charCodeAt(s)!==10;s++);return l=r.slice(2,a),u=r.slice(a+2,s).trim(),u.length===0?-1:(e.abbreviations||(e.abbreviations={}),x(e.abbreviations[":"+l])>"u"&&(e.abbreviations[":"+l]=u),s)}function Ei(r){var i=r.tokens,t,e,n,a;if(!r.inlineMode){for(t=1,e=i.length-1;t<e;t++)if(i[t-1].type==="paragraph_open"&&i[t].type==="inline"&&i[t+1].type==="paragraph_close"){for(n=i[t].content;n.length&&(a=_i(n,r.inline,r.options,r.env),!(a<0));)n=n.slice(a).trim();i[t].content=n,n.length||(i[t-1].tight=!0,i[t+1].tight=!0)}}}function fn(r){var i=Re(r);try{i=decodeURI(i)}catch(t){}return encodeURI(i)}function la(r,i){var t,e,n,a=i,s=r.posMax;if(r.src.charCodeAt(i)===60){for(i++;i<s;){if(t=r.src.charCodeAt(i),t===10)return!1;if(t===62)return n=fn(bt(r.src.slice(a+1,i))),r.parser.validateLink(n)?(r.pos=i+1,r.linkContent=n,!0):!1;if(t===92&&i+1<s){i+=2;continue}i++}return!1}for(e=0;i<s&&(t=r.src.charCodeAt(i),!(t===32||t<32||t===127));){if(t===92&&i+1<s){i+=2;continue}if(t===40&&(e++,e>1)||t===41&&(e--,e<0))break;i++}return a===i||(n=bt(r.src.slice(a,i)),!r.parser.validateLink(n))?!1:(r.linkContent=n,r.pos=i,!0)}function ua(r,i){var t,e=i,n=r.posMax,a=r.src.charCodeAt(i);if(a!==34&&a!==39&&a!==40)return!1;for(i++,a===40&&(a=41);i<n;){if(t=r.src.charCodeAt(i),t===a)return r.pos=i+1,r.linkContent=bt(r.src.slice(e+1,i)),!0;if(t===92&&i+1<n){i+=2;continue}i++}return!1}function ca(r){return r.trim().replace(/\s+/g," ").toUpperCase()}function wi(r,i,t,e){var n,a,s,o,l,u,c,d,p;if(r.charCodeAt(0)!==91||r.indexOf("]:")===-1||(n=new Pe(r,i,t,e,[]),a=kt(n,0),a<0||r.charCodeAt(a+1)!==58))return-1;for(o=n.posMax,s=a+2;s<o&&(l=n.src.charCodeAt(s),!(l!==32&&l!==10));s++);if(!la(n,s))return-1;for(c=n.linkContent,s=n.pos,u=s,s=s+1;s<o&&(l=n.src.charCodeAt(s),!(l!==32&&l!==10));s++);for(s<o&&u!==s&&ua(n,s)?(d=n.linkContent,s=n.pos):(d="",s=u);s<o&&n.src.charCodeAt(s)===32;)s++;return s<o&&n.src.charCodeAt(s)!==10?-1:(p=ca(r.slice(1,a)),x(e.references[p])>"u"&&(e.references[p]={title:d,href:c}),s)}function Ci(r){var i=r.tokens,t,e,n,a;if(r.env.references=r.env.references||{},!r.inlineMode){for(t=1,e=i.length-1;t<e;t++)if(i[t].type==="inline"&&i[t-1].type==="paragraph_open"&&i[t+1].type==="paragraph_close"){for(n=i[t].content;n.length&&(a=wi(n,r.inline,r.options,r.env),!(a<0));)n=n.slice(a).trim();i[t].content=n,n.length||(i[t-1].tight=!0,i[t+1].tight=!0)}}}function Ti(r){var i=r.tokens,t,e,n;for(e=0,n=i.length;e<n;e++)t=i[e],t.type==="inline"&&r.inline.parse(t.content,r.options,r.env,t.children)}function Ai(r){var i,t,e,n,a,s,o,l,u,c=0,d=!1,p={};if(r.env.footnotes&&(r.tokens=r.tokens.filter(function(h){return h.type==="footnote_reference_open"?(d=!0,l=[],u=h.label,!1):h.type==="footnote_reference_close"?(d=!1,p[":"+u]=l,!1):(d&&l.push(h),!d)}),!!r.env.footnotes.list)){for(s=r.env.footnotes.list,r.tokens.push({type:"footnote_block_open",level:c++}),i=0,t=s.length;i<t;i++){for(r.tokens.push({type:"footnote_open",id:i,level:c++}),s[i].tokens?(o=[],o.push({type:"paragraph_open",tight:!1,level:c++}),o.push({type:"inline",content:"",level:c,children:s[i].tokens}),o.push({type:"paragraph_close",tight:!1,level:--c})):s[i].label&&(o=p[":"+s[i].label]),r.tokens=r.tokens.concat(o),r.tokens[r.tokens.length-1].type==="paragraph_close"?a=r.tokens.pop():a=null,n=s[i].count>0?s[i].count:1,e=0;e<n;e++)r.tokens.push({type:"footnote_anchor",id:i,subId:e,level:c});a&&r.tokens.push(a),r.tokens.push({type:"footnote_close",level:--c})}r.tokens.push({type:"footnote_block_close",level:--c})}}var er=`
()[]'".,!?-`;function tn(r){return r.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1")}function Mi(r){var i,t,e,n,a,s,o,l,u,c,d,p,h=r.tokens;if(r.env.abbreviations){for(r.env.abbrRegExp||(p="(^|["+er.split("").map(tn).join("")+"])("+Object.keys(r.env.abbreviations).map(function(v){return v.substr(1)}).sort(function(v,m){return m.length-v.length}).map(tn).join("|")+")($|["+er.split("").map(tn).join("")+"])",r.env.abbrRegExp=new RegExp(p,"g")),c=r.env.abbrRegExp,t=0,e=h.length;t<e;t++)if(h[t].type==="inline"){for(n=h[t].children,i=n.length-1;i>=0;i--)if(a=n[i],a.type==="text"){for(l=0,s=a.content,c.lastIndex=0,u=a.level,o=[];d=c.exec(s);)c.lastIndex>l&&o.push({type:"text",content:s.slice(l,d.index+d[1].length),level:u}),o.push({type:"abbr_open",title:r.env.abbreviations[":"+d[2]],level:u++}),o.push({type:"text",content:d[2],level:u}),o.push({type:"abbr_close",level:--u}),l=c.lastIndex-d[3].length;o.length&&(l<s.length&&o.push({type:"text",content:s.slice(l),level:u}),h[t].children=n=[].concat(n.slice(0,i),o,n.slice(i+1)))}}}}var Ii=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,xi=/\((c|tm|r|p)\)/ig,Ri={c:"©",r:"®",p:"§",tm:"™"};function Li(r){return r.indexOf("(")<0?r:r.replace(xi,function(i,t){return Ri[t.toLowerCase()]})}function Oi(r){var i,t,e,n,a;if(r.options.typographer){for(a=r.tokens.length-1;a>=0;a--)if(r.tokens[a].type==="inline")for(n=r.tokens[a].children,i=n.length-1;i>=0;i--)t=n[i],t.type==="text"&&(e=t.content,e=Li(e),Ii.test(e)&&(e=e.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---([^-]|$)/mg,"$1—$2").replace(/(^|\s)--(\s|$)/mg,"$1$2").replace(/(^|[^-\s])--([^-\s]|$)/mg,"$1$2")),t.content=e)}}var Pi=/['"]/,tr=/['"]/g,Ni=/[-\s()\[\]]/,nr="";function rr(r,i){return i<0||i>=r.length?!1:!Ni.test(r[i])}function Fe(r,i,t){return r.substr(0,i)+t+r.substr(i+1)}function Bi(r){var i,t,e,n,a,s,o,l,u,c,d,p,h,v,m,g,y;if(r.options.typographer){for(y=[],m=r.tokens.length-1;m>=0;m--)if(r.tokens[m].type==="inline"){for(g=r.tokens[m].children,y.length=0,i=0;i<g.length;i++)if(t=g[i],!(t.type!=="text"||Pi.test(t.text))){for(o=g[i].level,h=y.length-1;h>=0&&!(y[h].level<=o);h--);y.length=h+1,e=t.content,a=0,s=e.length;e:for(;a<s&&(tr.lastIndex=a,n=tr.exec(e),!!n);){if(l=!rr(e,n.index-1),a=n.index+1,v=n[0]==="'",u=!rr(e,a),!u&&!l){v&&(t.content=Fe(t.content,n.index,nr));continue}if(d=!u,p=!l,p){for(h=y.length-1;h>=0&&(c=y[h],!(y[h].level<o));h--)if(c.single===v&&y[h].level===o){c=y[h],v?(g[c.token].content=Fe(g[c.token].content,c.pos,r.options.quotes[2]),t.content=Fe(t.content,n.index,r.options.quotes[3])):(g[c.token].content=Fe(g[c.token].content,c.pos,r.options.quotes[0]),t.content=Fe(t.content,n.index,r.options.quotes[1])),y.length=h;continue e}}d?y.push({token:i,pos:n.index,single:v,level:o}):p&&v&&(t.content=Fe(t.content,n.index,nr))}}}}}var nn=[["block",Si],["abbr",Ei],["references",Ci],["inline",Ti],["footnote_tail",Ai],["abbr2",Mi],["replacements",Oi],["smartquotes",Bi]];function da(){this.options={},this.ruler=new le;for(var r=0;r<nn.length;r++)this.ruler.push(nn[r][0],nn[r][1])}da.prototype.process=function(r){var i,t,e;for(e=this.ruler.getRules(""),i=0,t=e.length;i<t;i++)e[i](r)};function Ne(r,i,t,e,n){var a,s,o,l,u,c,d;for(this.src=r,this.parser=i,this.options=t,this.env=e,this.tokens=n,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType="root",this.ddIndent=-1,this.level=0,this.result="",s=this.src,c=0,d=!1,o=l=c=0,u=s.length;l<u;l++){if(a=s.charCodeAt(l),!d)if(a===32){c++;continue}else d=!0;(a===10||l===u-1)&&(a!==10&&l++,this.bMarks.push(o),this.eMarks.push(l),this.tShift.push(c),d=!1,c=0,o=l+1)}this.bMarks.push(s.length),this.eMarks.push(s.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}Ne.prototype.isEmpty=function(r){return this.bMarks[r]+this.tShift[r]>=this.eMarks[r]};Ne.prototype.skipEmptyLines=function(r){for(var i=this.lineMax;r<i&&!(this.bMarks[r]+this.tShift[r]<this.eMarks[r]);r++);return r};Ne.prototype.skipSpaces=function(r){for(var i=this.src.length;r<i&&this.src.charCodeAt(r)===32;r++);return r};Ne.prototype.skipChars=function(r,i){for(var t=this.src.length;r<t&&this.src.charCodeAt(r)===i;r++);return r};Ne.prototype.skipCharsBack=function(r,i,t){if(r<=t)return r;for(;r>t;)if(i!==this.src.charCodeAt(--r))return r+1;return r};Ne.prototype.getLines=function(r,i,t,e){var n,a,s,o,l,u=r;if(r>=i)return"";if(u+1===i)return a=this.bMarks[u]+Math.min(this.tShift[u],t),s=e?this.eMarks[u]+1:this.eMarks[u],this.src.slice(a,s);for(o=new Array(i-r),n=0;u<i;u++,n++)l=this.tShift[u],l>t&&(l=t),l<0&&(l=0),a=this.bMarks[u]+l,u+1<i||e?s=this.eMarks[u]+1:s=this.eMarks[u],o[n]=this.src.slice(a,s);return o.join("")};function Di(r,i,t){var e,n;if(r.tShift[i]-r.blkIndent<4)return!1;for(n=e=i+1;e<t;){if(r.isEmpty(e)){e++;continue}if(r.tShift[e]-r.blkIndent>=4){e++,n=e;continue}break}return r.line=e,r.tokens.push({type:"code",content:r.getLines(i,n,4+r.blkIndent,!0),block:!0,lines:[i,r.line],level:r.level}),!0}function Fi(r,i,t,e){var n,a,s,o,l,u=!1,c=r.bMarks[i]+r.tShift[i],d=r.eMarks[i];if(c+3>d||(n=r.src.charCodeAt(c),n!==126&&n!==96)||(l=c,c=r.skipChars(c,n),a=c-l,a<3)||(s=r.src.slice(c,d).trim(),s.indexOf("`")>=0))return!1;if(e)return!0;for(o=i;o++,!(o>=t||(c=l=r.bMarks[o]+r.tShift[o],d=r.eMarks[o],c<d&&r.tShift[o]<r.blkIndent));)if(r.src.charCodeAt(c)===n&&!(r.tShift[o]-r.blkIndent>=4)&&(c=r.skipChars(c,n),!(c-l<a)&&(c=r.skipSpaces(c),!(c<d)))){u=!0;break}return a=r.tShift[i],r.line=o+(u?1:0),r.tokens.push({type:"fence",params:s,content:r.getLines(i+1,o,a,!0),lines:[i,r.line],level:r.level}),!0}function Ui(r,i,t,e){var n,a,s,o,l,u,c,d,p,h,v,m=r.bMarks[i]+r.tShift[i],g=r.eMarks[i];if(m>g||r.src.charCodeAt(m++)!==62||r.level>=r.options.maxNesting)return!1;if(e)return!0;for(r.src.charCodeAt(m)===32&&m++,l=r.blkIndent,r.blkIndent=0,o=[r.bMarks[i]],r.bMarks[i]=m,m=m<g?r.skipSpaces(m):m,a=m>=g,s=[r.tShift[i]],r.tShift[i]=m-r.bMarks[i],d=r.parser.ruler.getRules("blockquote"),n=i+1;n<t&&(m=r.bMarks[n]+r.tShift[n],g=r.eMarks[n],!(m>=g));n++){if(r.src.charCodeAt(m++)===62){r.src.charCodeAt(m)===32&&m++,o.push(r.bMarks[n]),r.bMarks[n]=m,m=m<g?r.skipSpaces(m):m,a=m>=g,s.push(r.tShift[n]),r.tShift[n]=m-r.bMarks[n];continue}if(a)break;for(v=!1,p=0,h=d.length;p<h;p++)if(d[p](r,n,t,!0)){v=!0;break}if(v)break;o.push(r.bMarks[n]),s.push(r.tShift[n]),r.tShift[n]=-1337}for(u=r.parentType,r.parentType="blockquote",r.tokens.push({type:"blockquote_open",lines:c=[i,0],level:r.level++}),r.parser.tokenize(r,i,n),r.tokens.push({type:"blockquote_close",level:--r.level}),r.parentType=u,c[1]=r.line,p=0;p<s.length;p++)r.bMarks[p+i]=o[p],r.tShift[p+i]=s[p];return r.blkIndent=l,!0}function ji(r,i,t,e){var n,a,s,o=r.bMarks[i],l=r.eMarks[i];if(o+=r.tShift[i],o>l||(n=r.src.charCodeAt(o++),n!==42&&n!==45&&n!==95))return!1;for(a=1;o<l;){if(s=r.src.charCodeAt(o++),s!==n&&s!==32)return!1;s===n&&a++}return a<3?!1:(e||(r.line=i+1,r.tokens.push({type:"hr",lines:[i,r.line],level:r.level})),!0)}function ar(r,i){var t,e,n;return e=r.bMarks[i]+r.tShift[i],n=r.eMarks[i],e>=n||(t=r.src.charCodeAt(e++),t!==42&&t!==45&&t!==43)||e<n&&r.src.charCodeAt(e)!==32?-1:e}function ir(r,i){var t,e=r.bMarks[i]+r.tShift[i],n=r.eMarks[i];if(e+1>=n||(t=r.src.charCodeAt(e++),t<48||t>57))return-1;for(;;){if(e>=n)return-1;if(t=r.src.charCodeAt(e++),!(t>=48&&t<=57)){if(t===41||t===46)break;return-1}}return e<n&&r.src.charCodeAt(e)!==32?-1:e}function Hi(r,i){var t,e,n=r.level+2;for(t=i+2,e=r.tokens.length-2;t<e;t++)r.tokens[t].level===n&&r.tokens[t].type==="paragraph_open"&&(r.tokens[t+2].tight=!0,r.tokens[t].tight=!0,t+=2)}function qi(r,i,t,e){var n,a,s,o,l,u,c,d,p,h,v,m,g,y,S,A,R,C,T=!0,U,P,K,I;if((d=ir(r,i))>=0)g=!0;else if((d=ar(r,i))>=0)g=!1;else return!1;if(r.level>=r.options.maxNesting)return!1;if(m=r.src.charCodeAt(d-1),e)return!0;for(S=r.tokens.length,g?(c=r.bMarks[i]+r.tShift[i],v=Number(r.src.substr(c,d-c-1)),r.tokens.push({type:"ordered_list_open",order:v,lines:R=[i,0],level:r.level++})):r.tokens.push({type:"bullet_list_open",lines:R=[i,0],level:r.level++}),n=i,A=!1,U=r.parser.ruler.getRules("list");n<t&&(y=r.skipSpaces(d),p=r.eMarks[n],y>=p?h=1:h=y-d,h>4&&(h=1),h<1&&(h=1),a=d-r.bMarks[n]+h,r.tokens.push({type:"list_item_open",lines:C=[i,0],level:r.level++}),o=r.blkIndent,l=r.tight,s=r.tShift[i],u=r.parentType,r.tShift[i]=y-r.bMarks[i],r.blkIndent=a,r.tight=!0,r.parentType="list",r.parser.tokenize(r,i,t,!0),(!r.tight||A)&&(T=!1),A=r.line-i>1&&r.isEmpty(r.line-1),r.blkIndent=o,r.tShift[i]=s,r.tight=l,r.parentType=u,r.tokens.push({type:"list_item_close",level:--r.level}),n=i=r.line,C[1]=n,y=r.bMarks[i],!(n>=t||r.isEmpty(n)||r.tShift[n]<r.blkIndent));){for(I=!1,P=0,K=U.length;P<K;P++)if(U[P](r,n,t,!0)){I=!0;break}if(I)break;if(g){if(d=ir(r,n),d<0)break}else if(d=ar(r,n),d<0)break;if(m!==r.src.charCodeAt(d-1))break}return r.tokens.push({type:g?"ordered_list_close":"bullet_list_close",level:--r.level}),R[1]=n,r.line=n,T&&Hi(r,S),!0}function Vi(r,i,t,e){var n,a,s,o,l,u=r.bMarks[i]+r.tShift[i],c=r.eMarks[i];if(u+4>c||r.src.charCodeAt(u)!==91||r.src.charCodeAt(u+1)!==94||r.level>=r.options.maxNesting)return!1;for(o=u+2;o<c;o++){if(r.src.charCodeAt(o)===32)return!1;if(r.src.charCodeAt(o)===93)break}return o===u+2||o+1>=c||r.src.charCodeAt(++o)!==58?!1:(e||(o++,r.env.footnotes||(r.env.footnotes={}),r.env.footnotes.refs||(r.env.footnotes.refs={}),l=r.src.slice(u+2,o-2),r.env.footnotes.refs[":"+l]=-1,r.tokens.push({type:"footnote_reference_open",label:l,level:r.level++}),n=r.bMarks[i],a=r.tShift[i],s=r.parentType,r.tShift[i]=r.skipSpaces(o)-o,r.bMarks[i]=o,r.blkIndent+=4,r.parentType="footnote",r.tShift[i]<r.blkIndent&&(r.tShift[i]+=r.blkIndent,r.bMarks[i]-=r.blkIndent),r.parser.tokenize(r,i,t,!0),r.parentType=s,r.blkIndent-=4,r.tShift[i]=a,r.bMarks[i]=n,r.tokens.push({type:"footnote_reference_close",level:--r.level})),!0)}function zi(r,i,t,e){var n,a,s,o=r.bMarks[i]+r.tShift[i],l=r.eMarks[i];if(o>=l||(n=r.src.charCodeAt(o),n!==35||o>=l))return!1;for(a=1,n=r.src.charCodeAt(++o);n===35&&o<l&&a<=6;)a++,n=r.src.charCodeAt(++o);return a>6||o<l&&n!==32?!1:(e||(l=r.skipCharsBack(l,32,o),s=r.skipCharsBack(l,35,o),s>o&&r.src.charCodeAt(s-1)===32&&(l=s),r.line=i+1,r.tokens.push({type:"heading_open",hLevel:a,lines:[i,r.line],level:r.level}),o<l&&r.tokens.push({type:"inline",content:r.src.slice(o,l).trim(),level:r.level+1,lines:[i,r.line],children:[]}),r.tokens.push({type:"heading_close",hLevel:a,level:r.level})),!0)}function Gi(r,i,t){var e,n,a,s=i+1;return s>=t||r.tShift[s]<r.blkIndent||r.tShift[s]-r.blkIndent>3||(n=r.bMarks[s]+r.tShift[s],a=r.eMarks[s],n>=a)||(e=r.src.charCodeAt(n),e!==45&&e!==61)||(n=r.skipChars(n,e),n=r.skipSpaces(n),n<a)?!1:(n=r.bMarks[i]+r.tShift[i],r.line=s+1,r.tokens.push({type:"heading_open",hLevel:e===61?1:2,lines:[i,r.line],level:r.level}),r.tokens.push({type:"inline",content:r.src.slice(n,r.eMarks[i]).trim(),level:r.level+1,lines:[i,r.line-1],children:[]}),r.tokens.push({type:"heading_close",hLevel:e===61?1:2,level:r.level}),!0)}var ha={};["article","aside","button","blockquote","body","canvas","caption","col","colgroup","dd","div","dl","dt","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","iframe","li","map","object","ol","output","p","pre","progress","script","section","style","table","tbody","td","textarea","tfoot","th","tr","thead","ul","video"].forEach(function(r){ha[r]=!0});var $i=/^<([a-zA-Z]{1,15})[\s\/>]/,Ki=/^<\/([a-zA-Z]{1,15})[\s>]/;function Wi(r){var i=r|32;return i>=97&&i<=122}function Ji(r,i,t,e){var n,a,s,o=r.bMarks[i],l=r.eMarks[i],u=r.tShift[i];if(o+=u,!r.options.html||u>3||o+2>=l||r.src.charCodeAt(o)!==60)return!1;if(n=r.src.charCodeAt(o+1),n===33||n===63){if(e)return!0}else if(n===47||Wi(n)){if(n===47){if(a=r.src.slice(o,l).match(Ki),!a)return!1}else if(a=r.src.slice(o,l).match($i),!a)return!1;if(ha[a[1].toLowerCase()]!==!0)return!1;if(e)return!0}else return!1;for(s=i+1;s<r.lineMax&&!r.isEmpty(s);)s++;return r.line=s,r.tokens.push({type:"htmlblock",level:r.level,lines:[i,r.line],content:r.getLines(i,s,0,!0)}),!0}function rn(r,i){var t=r.bMarks[i]+r.blkIndent,e=r.eMarks[i];return r.src.substr(t,e-t)}function Xi(r,i,t,e){var n,a,s,o,l,u,c,d,p,h,v;if(i+2>t||(l=i+1,r.tShift[l]<r.blkIndent)||(s=r.bMarks[l]+r.tShift[l],s>=r.eMarks[l])||(n=r.src.charCodeAt(s),n!==124&&n!==45&&n!==58)||(a=rn(r,i+1),!/^[-:| ]+$/.test(a))||(u=a.split("|"),u<=2))return!1;for(d=[],o=0;o<u.length;o++){if(p=u[o].trim(),!p){if(o===0||o===u.length-1)continue;return!1}if(!/^:?-+:?$/.test(p))return!1;p.charCodeAt(p.length-1)===58?d.push(p.charCodeAt(0)===58?"center":"right"):p.charCodeAt(0)===58?d.push("left"):d.push("")}if(a=rn(r,i).trim(),a.indexOf("|")===-1||(u=a.replace(/^\||\|$/g,"").split("|"),d.length!==u.length))return!1;if(e)return!0;for(r.tokens.push({type:"table_open",lines:h=[i,0],level:r.level++}),r.tokens.push({type:"thead_open",lines:[i,i+1],level:r.level++}),r.tokens.push({type:"tr_open",lines:[i,i+1],level:r.level++}),o=0;o<u.length;o++)r.tokens.push({type:"th_open",align:d[o],lines:[i,i+1],level:r.level++}),r.tokens.push({type:"inline",content:u[o].trim(),lines:[i,i+1],level:r.level,children:[]}),r.tokens.push({type:"th_close",level:--r.level});for(r.tokens.push({type:"tr_close",level:--r.level}),r.tokens.push({type:"thead_close",level:--r.level}),r.tokens.push({type:"tbody_open",lines:v=[i+2,0],level:r.level++}),l=i+2;l<t&&!(r.tShift[l]<r.blkIndent||(a=rn(r,l).trim(),a.indexOf("|")===-1));l++){for(u=a.replace(/^\||\|$/g,"").split("|"),r.tokens.push({type:"tr_open",level:r.level++}),o=0;o<u.length;o++)r.tokens.push({type:"td_open",align:d[o],level:r.level++}),c=u[o].substring(u[o].charCodeAt(0)===124?1:0,u[o].charCodeAt(u[o].length-1)===124?u[o].length-1:u[o].length).trim(),r.tokens.push({type:"inline",content:c,level:r.level,children:[]}),r.tokens.push({type:"td_close",level:--r.level});r.tokens.push({type:"tr_close",level:--r.level})}return r.tokens.push({type:"tbody_close",level:--r.level}),r.tokens.push({type:"table_close",level:--r.level}),h[1]=v[1]=l,r.line=l,!0}function Tt(r,i){var t,e,n=r.bMarks[i]+r.tShift[i],a=r.eMarks[i];return n>=a||(e=r.src.charCodeAt(n++),e!==126&&e!==58)||(t=r.skipSpaces(n),n===t)||t>=a?-1:t}function Yi(r,i){var t,e,n=r.level+2;for(t=i+2,e=r.tokens.length-2;t<e;t++)r.tokens[t].level===n&&r.tokens[t].type==="paragraph_open"&&(r.tokens[t+2].tight=!0,r.tokens[t].tight=!0,t+=2)}function Zi(r,i,t,e){var n,a,s,o,l,u,c,d,p,h,v,m,g,y;if(e)return r.ddIndent<0?!1:Tt(r,i)>=0;if(c=i+1,r.isEmpty(c)&&++c>t||r.tShift[c]<r.blkIndent||(n=Tt(r,c),n<0)||r.level>=r.options.maxNesting)return!1;u=r.tokens.length,r.tokens.push({type:"dl_open",lines:l=[i,0],level:r.level++}),s=i,a=c;e:for(;;){for(y=!0,g=!1,r.tokens.push({type:"dt_open",lines:[s,s],level:r.level++}),r.tokens.push({type:"inline",content:r.getLines(s,s+1,r.blkIndent,!1).trim(),level:r.level+1,lines:[s,s],children:[]}),r.tokens.push({type:"dt_close",level:--r.level});;){if(r.tokens.push({type:"dd_open",lines:o=[c,0],level:r.level++}),m=r.tight,p=r.ddIndent,d=r.blkIndent,v=r.tShift[a],h=r.parentType,r.blkIndent=r.ddIndent=r.tShift[a]+2,r.tShift[a]=n-r.bMarks[a],r.tight=!0,r.parentType="deflist",r.parser.tokenize(r,a,t,!0),(!r.tight||g)&&(y=!1),g=r.line-a>1&&r.isEmpty(r.line-1),r.tShift[a]=v,r.tight=m,r.parentType=h,r.blkIndent=d,r.ddIndent=p,r.tokens.push({type:"dd_close",level:--r.level}),o[1]=c=r.line,c>=t||r.tShift[c]<r.blkIndent)break e;if(n=Tt(r,c),n<0)break;a=c}if(c>=t||(s=c,r.isEmpty(s))||r.tShift[s]<r.blkIndent||(a=s+1,a>=t)||(r.isEmpty(a)&&a++,a>=t)||r.tShift[a]<r.blkIndent||(n=Tt(r,a),n<0))break}return r.tokens.push({type:"dl_close",level:--r.level}),l[1]=c,r.line=c,y&&Yi(r,u),!0}function Qi(r,i){var t,e,n,a,s,o=i+1,l;if(t=r.lineMax,o<t&&!r.isEmpty(o)){for(l=r.parser.ruler.getRules("paragraph");o<t&&!r.isEmpty(o);o++)if(!(r.tShift[o]-r.blkIndent>3)){for(n=!1,a=0,s=l.length;a<s;a++)if(l[a](r,o,t,!0)){n=!0;break}if(n)break}}return e=r.getLines(i,o,r.blkIndent,!1).trim(),r.line=o,e.length&&(r.tokens.push({type:"paragraph_open",tight:!1,lines:[i,r.line],level:r.level}),r.tokens.push({type:"inline",content:e,level:r.level+1,lines:[i,r.line],children:[]}),r.tokens.push({type:"paragraph_close",tight:!1,level:r.level})),!0}var At=[["code",Di],["fences",Fi,["paragraph","blockquote","list"]],["blockquote",Ui,["paragraph","blockquote","list"]],["hr",ji,["paragraph","blockquote","list"]],["list",qi,["paragraph","blockquote"]],["footnote",Vi,["paragraph"]],["heading",zi,["paragraph","blockquote"]],["lheading",Gi],["htmlblock",Ji,["paragraph","blockquote"]],["table",Xi,["paragraph"]],["deflist",Zi,["paragraph"]],["paragraph",Qi]];function Bn(){this.ruler=new le;for(var r=0;r<At.length;r++)this.ruler.push(At[r][0],At[r][1],{alt:(At[r][2]||[]).slice()})}Bn.prototype.tokenize=function(r,i,t){for(var e=this.ruler.getRules(""),n=e.length,a=i,s=!1,o,l;a<t&&(r.line=a=r.skipEmptyLines(a),!(a>=t||r.tShift[a]<r.blkIndent));){for(l=0;l<n&&(o=e[l](r,a,t,!1),!o);l++);if(r.tight=!s,r.isEmpty(r.line-1)&&(s=!0),a=r.line,a<t&&r.isEmpty(a)){if(s=!0,a++,a<t&&r.parentType==="list"&&r.isEmpty(a))break;r.line=a}}};var es=/[\n\t]/g,ts=/\r[\n\u0085]|[\u2424\u2028\u0085]/g,ns=/\u00a0/g;Bn.prototype.parse=function(r,i,t,e){var n,a=0,s=0;if(!r)return[];r=r.replace(ns," "),r=r.replace(ts,`
`),r.indexOf(" ")>=0&&(r=r.replace(es,function(o,l){var u;return r.charCodeAt(l)===10?(a=l+1,s=0,o):(u=" ".slice((l-a-s)%4),s=l-a+1,u)})),n=new Ne(r,this,i,t,e),this.tokenize(n,n.line,n.lineMax)};function rs(r){switch(r){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}function as(r,i){for(var t=r.pos;t<r.posMax&&!rs(r.src.charCodeAt(t));)t++;return t===r.pos?!1:(i||(r.pending+=r.src.slice(r.pos,t)),r.pos=t,!0)}function is(r,i){var t,e,n=r.pos;if(r.src.charCodeAt(n)!==10)return!1;if(t=r.pending.length-1,e=r.posMax,!i)if(t>=0&&r.pending.charCodeAt(t)===32)if(t>=1&&r.pending.charCodeAt(t-1)===32){for(var a=t-2;a>=0;a--)if(r.pending.charCodeAt(a)!==32){r.pending=r.pending.substring(0,a+1);break}r.push({type:"hardbreak",level:r.level})}else r.pending=r.pending.slice(0,-1),r.push({type:"softbreak",level:r.level});else r.push({type:"softbreak",level:r.level});for(n++;n<e&&r.src.charCodeAt(n)===32;)n++;return r.pos=n,!0}var Dn=[];for(var sr=0;sr<256;sr++)Dn.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(r){Dn[r.charCodeAt(0)]=1});function ss(r,i){var t,e=r.pos,n=r.posMax;if(r.src.charCodeAt(e)!==92)return!1;if(e++,e<n){if(t=r.src.charCodeAt(e),t<256&&Dn[t]!==0)return i||(r.pending+=r.src[e]),r.pos+=2,!0;if(t===10){for(i||r.push({type:"hardbreak",level:r.level}),e++;e<n&&r.src.charCodeAt(e)===32;)e++;return r.pos=e,!0}}return i||(r.pending+="\\"),r.pos++,!0}function os(r,i){var t,e,n,a,s,o=r.pos,l=r.src.charCodeAt(o);if(l!==96)return!1;for(t=o,o++,e=r.posMax;o<e&&r.src.charCodeAt(o)===96;)o++;for(n=r.src.slice(t,o),a=s=o;(a=r.src.indexOf("`",s))!==-1;){for(s=a+1;s<e&&r.src.charCodeAt(s)===96;)s++;if(s-a===n.length)return i||r.push({type:"code",content:r.src.slice(o,a).replace(/[ \n]+/g," ").trim(),block:!1,level:r.level}),r.pos=s,!0}return i||(r.pending+=n),r.pos+=n.length,!0}function ls(r,i){var t,e,n,a=r.posMax,s=r.pos,o,l;if(r.src.charCodeAt(s)!==126||i||s+4>=a||r.src.charCodeAt(s+1)!==126||r.level>=r.options.maxNesting||(o=s>0?r.src.charCodeAt(s-1):-1,l=r.src.charCodeAt(s+2),o===126)||l===126||l===32||l===10)return!1;for(e=s+2;e<a&&r.src.charCodeAt(e)===126;)e++;if(e>s+3)return r.pos+=e-s,i||(r.pending+=r.src.slice(s,e)),!0;for(r.pos=s+2,n=1;r.pos+1<a;){if(r.src.charCodeAt(r.pos)===126&&r.src.charCodeAt(r.pos+1)===126&&(o=r.src.charCodeAt(r.pos-1),l=r.pos+2<a?r.src.charCodeAt(r.pos+2):-1,l!==126&&o!==126&&(o!==32&&o!==10?n--:l!==32&&l!==10&&n++,n<=0))){t=!0;break}r.parser.skipToken(r)}return t?(r.posMax=r.pos,r.pos=s+2,i||(r.push({type:"del_open",level:r.level++}),r.parser.tokenize(r),r.push({type:"del_close",level:--r.level})),r.pos=r.posMax+2,r.posMax=a,!0):(r.pos=s,!1)}function us(r,i){var t,e,n,a=r.posMax,s=r.pos,o,l;if(r.src.charCodeAt(s)!==43||i||s+4>=a||r.src.charCodeAt(s+1)!==43||r.level>=r.options.maxNesting||(o=s>0?r.src.charCodeAt(s-1):-1,l=r.src.charCodeAt(s+2),o===43)||l===43||l===32||l===10)return!1;for(e=s+2;e<a&&r.src.charCodeAt(e)===43;)e++;if(e!==s+2)return r.pos+=e-s,i||(r.pending+=r.src.slice(s,e)),!0;for(r.pos=s+2,n=1;r.pos+1<a;){if(r.src.charCodeAt(r.pos)===43&&r.src.charCodeAt(r.pos+1)===43&&(o=r.src.charCodeAt(r.pos-1),l=r.pos+2<a?r.src.charCodeAt(r.pos+2):-1,l!==43&&o!==43&&(o!==32&&o!==10?n--:l!==32&&l!==10&&n++,n<=0))){t=!0;break}r.parser.skipToken(r)}return t?(r.posMax=r.pos,r.pos=s+2,i||(r.push({type:"ins_open",level:r.level++}),r.parser.tokenize(r),r.push({type:"ins_close",level:--r.level})),r.pos=r.posMax+2,r.posMax=a,!0):(r.pos=s,!1)}function cs(r,i){var t,e,n,a=r.posMax,s=r.pos,o,l;if(r.src.charCodeAt(s)!==61||i||s+4>=a||r.src.charCodeAt(s+1)!==61||r.level>=r.options.maxNesting||(o=s>0?r.src.charCodeAt(s-1):-1,l=r.src.charCodeAt(s+2),o===61)||l===61||l===32||l===10)return!1;for(e=s+2;e<a&&r.src.charCodeAt(e)===61;)e++;if(e!==s+2)return r.pos+=e-s,i||(r.pending+=r.src.slice(s,e)),!0;for(r.pos=s+2,n=1;r.pos+1<a;){if(r.src.charCodeAt(r.pos)===61&&r.src.charCodeAt(r.pos+1)===61&&(o=r.src.charCodeAt(r.pos-1),l=r.pos+2<a?r.src.charCodeAt(r.pos+2):-1,l!==61&&o!==61&&(o!==32&&o!==10?n--:l!==32&&l!==10&&n++,n<=0))){t=!0;break}r.parser.skipToken(r)}return t?(r.posMax=r.pos,r.pos=s+2,i||(r.push({type:"mark_open",level:r.level++}),r.parser.tokenize(r),r.push({type:"mark_close",level:--r.level})),r.pos=r.posMax+2,r.posMax=a,!0):(r.pos=s,!1)}function or(r){return r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122}function lr(r,i){var t=i,e,n,a,s=!0,o=!0,l=r.posMax,u=r.src.charCodeAt(i);for(e=i>0?r.src.charCodeAt(i-1):-1;t<l&&r.src.charCodeAt(t)===u;)t++;return t>=l&&(s=!1),a=t-i,a>=4?s=o=!1:(n=t<l?r.src.charCodeAt(t):-1,(n===32||n===10)&&(s=!1),(e===32||e===10)&&(o=!1),u===95&&(or(e)&&(s=!1),or(n)&&(o=!1))),{can_open:s,can_close:o,delims:a}}function ds(r,i){var t,e,n,a,s,o,l,u=r.posMax,c=r.pos,d=r.src.charCodeAt(c);if(d!==95&&d!==42||i)return!1;if(l=lr(r,c),t=l.delims,!l.can_open)return r.pos+=t,i||(r.pending+=r.src.slice(c,r.pos)),!0;if(r.level>=r.options.maxNesting)return!1;for(r.pos=c+t,o=[t];r.pos<u;){if(r.src.charCodeAt(r.pos)===d){if(l=lr(r,r.pos),e=l.delims,l.can_close){for(a=o.pop(),s=e;a!==s;){if(s<a){o.push(a-s);break}if(s-=a,o.length===0)break;r.pos+=a,a=o.pop()}if(o.length===0){t=a,n=!0;break}r.pos+=e;continue}l.can_open&&o.push(e),r.pos+=e;continue}r.parser.skipToken(r)}return n?(r.posMax=r.pos,r.pos=c+t,i||((t===2||t===3)&&r.push({type:"strong_open",level:r.level++}),(t===1||t===3)&&r.push({type:"em_open",level:r.level++}),r.parser.tokenize(r),(t===1||t===3)&&r.push({type:"em_close",level:--r.level}),(t===2||t===3)&&r.push({type:"strong_close",level:--r.level})),r.pos=r.posMax+t,r.posMax=u,!0):(r.pos=c,!1)}var hs=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;function ps(r,i){var t,e,n=r.posMax,a=r.pos;if(r.src.charCodeAt(a)!==126||i||a+2>=n||r.level>=r.options.maxNesting)return!1;for(r.pos=a+1;r.pos<n;){if(r.src.charCodeAt(r.pos)===126){t=!0;break}r.parser.skipToken(r)}return!t||a+1===r.pos||(e=r.src.slice(a+1,r.pos),e.match(/(^|[^\\])(\\\\)*\s/))?(r.pos=a,!1):(r.posMax=r.pos,r.pos=a+1,i||r.push({type:"sub",level:r.level,content:e.replace(hs,"$1")}),r.pos=r.posMax+1,r.posMax=n,!0)}var fs=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;function ms(r,i){var t,e,n=r.posMax,a=r.pos;if(r.src.charCodeAt(a)!==94||i||a+2>=n||r.level>=r.options.maxNesting)return!1;for(r.pos=a+1;r.pos<n;){if(r.src.charCodeAt(r.pos)===94){t=!0;break}r.parser.skipToken(r)}return!t||a+1===r.pos||(e=r.src.slice(a+1,r.pos),e.match(/(^|[^\\])(\\\\)*\s/))?(r.pos=a,!1):(r.posMax=r.pos,r.pos=a+1,i||r.push({type:"sup",level:r.level,content:e.replace(fs,"$1")}),r.pos=r.posMax+1,r.posMax=n,!0)}function vs(r,i){var t,e,n,a,s,o,l,u,c=!1,d=r.pos,p=r.posMax,h=r.pos,v=r.src.charCodeAt(h);if(v===33&&(c=!0,v=r.src.charCodeAt(++h)),v!==91||r.level>=r.options.maxNesting||(t=h+1,e=kt(r,h),e<0))return!1;if(o=e+1,o<p&&r.src.charCodeAt(o)===40){for(o++;o<p&&(u=r.src.charCodeAt(o),!(u!==32&&u!==10));o++);if(o>=p)return!1;for(h=o,la(r,o)?(a=r.linkContent,o=r.pos):a="",h=o;o<p&&(u=r.src.charCodeAt(o),!(u!==32&&u!==10));o++);if(o<p&&h!==o&&ua(r,o))for(s=r.linkContent,o=r.pos;o<p&&(u=r.src.charCodeAt(o),!(u!==32&&u!==10));o++);else s="";if(o>=p||r.src.charCodeAt(o)!==41)return r.pos=d,!1;o++}else{if(r.linkLevel>0)return!1;for(;o<p&&(u=r.src.charCodeAt(o),!(u!==32&&u!==10));o++);if(o<p&&r.src.charCodeAt(o)===91&&(h=o+1,o=kt(r,o),o>=0?n=r.src.slice(h,o++):o=h-1),n||(x(n)>"u"&&(o=e+1),n=r.src.slice(t,e)),l=r.env.references[ca(n)],!l)return r.pos=d,!1;a=l.href,s=l.title}return i||(r.pos=t,r.posMax=e,c?r.push({type:"image",src:a,title:s,alt:r.src.substr(t,e-t),level:r.level}):(r.push({type:"link_open",href:a,title:s,level:r.level++}),r.linkLevel++,r.parser.tokenize(r),r.linkLevel--,r.push({type:"link_close",level:--r.level}))),r.pos=o,r.posMax=p,!0}function gs(r,i){var t,e,n,a,s=r.posMax,o=r.pos;return o+2>=s||r.src.charCodeAt(o)!==94||r.src.charCodeAt(o+1)!==91||r.level>=r.options.maxNesting||(t=o+2,e=kt(r,o+1),e<0)?!1:(i||(r.env.footnotes||(r.env.footnotes={}),r.env.footnotes.list||(r.env.footnotes.list=[]),n=r.env.footnotes.list.length,r.pos=t,r.posMax=e,r.push({type:"footnote_ref",id:n,level:r.level}),r.linkLevel++,a=r.tokens.length,r.parser.tokenize(r),r.env.footnotes.list[n]={tokens:r.tokens.splice(a)},r.linkLevel--),r.pos=e+1,r.posMax=s,!0)}function ys(r,i){var t,e,n,a,s=r.posMax,o=r.pos;if(o+3>s||!r.env.footnotes||!r.env.footnotes.refs||r.src.charCodeAt(o)!==91||r.src.charCodeAt(o+1)!==94||r.level>=r.options.maxNesting)return!1;for(e=o+2;e<s;e++){if(r.src.charCodeAt(e)===32||r.src.charCodeAt(e)===10)return!1;if(r.src.charCodeAt(e)===93)break}return e===o+2||e>=s||(e++,t=r.src.slice(o+2,e-1),x(r.env.footnotes.refs[":"+t])>"u")?!1:(i||(r.env.footnotes.list||(r.env.footnotes.list=[]),r.env.footnotes.refs[":"+t]<0?(n=r.env.footnotes.list.length,r.env.footnotes.list[n]={label:t,count:0},r.env.footnotes.refs[":"+t]=n):n=r.env.footnotes.refs[":"+t],a=r.env.footnotes.list[n].count,r.env.footnotes.list[n].count++,r.push({type:"footnote_ref",id:n,subId:a,level:r.level})),r.pos=e,r.posMax=s,!0)}var bs=["coap","doi","javascript","aaa","aaas","about","acap","cap","cid","crid","data","dav","dict","dns","file","ftp","geo","go","gopher","h323","http","https","iax","icap","im","imap","info","ipp","iris","iris.beep","iris.xpc","iris.xpcs","iris.lwz","ldap","mailto","mid","msrp","msrps","mtqp","mupdate","news","nfs","ni","nih","nntp","opaquelocktoken","pop","pres","rtsp","service","session","shttp","sieve","sip","sips","sms","snmp","soap.beep","soap.beeps","tag","tel","telnet","tftp","thismessage","tn3270","tip","tv","urn","vemmi","ws","wss","xcon","xcon-userid","xmlrpc.beep","xmlrpc.beeps","xmpp","z39.50r","z39.50s","adiumxtra","afp","afs","aim","apt","attachment","aw","beshare","bitcoin","bolo","callto","chrome","chrome-extension","com-eventbrite-attendee","content","cvs","dlna-playsingle","dlna-playcontainer","dtn","dvb","ed2k","facetime","feed","finger","fish","gg","git","gizmoproject","gtalk","hcp","icon","ipn","irc","irc6","ircs","itms","jar","jms","keyparc","lastfm","ldaps","magnet","maps","market","message","mms","ms-help","msnim","mumble","mvn","notes","oid","palm","paparazzi","platform","proxy","psyc","query","res","resource","rmi","rsync","rtmp","secondlife","sftp","sgn","skype","smb","soldat","spotify","ssh","steam","svn","teamspeak","things","udp","unreal","ut2004","ventrilo","view-source","webcal","wtai","wyciwyg","xfire","xri","ymsgr"],ks=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,Ss=/^<([a-zA-Z.\-]{1,25}):([^<>\x00-\x20]*)>/;function _s(r,i){var t,e,n,a,s,o=r.pos;return r.src.charCodeAt(o)!==60||(t=r.src.slice(o),t.indexOf(">")<0)?!1:(e=t.match(Ss),e?bs.indexOf(e[1].toLowerCase())<0||(a=e[0].slice(1,-1),s=fn(a),!r.parser.validateLink(a))?!1:(i||(r.push({type:"link_open",href:s,level:r.level}),r.push({type:"text",content:a,level:r.level+1}),r.push({type:"link_close",level:r.level})),r.pos+=e[0].length,!0):(n=t.match(ks),n?(a=n[0].slice(1,-1),s=fn("mailto:"+a),r.parser.validateLink(s)?(i||(r.push({type:"link_open",href:s,level:r.level}),r.push({type:"text",content:a,level:r.level+1}),r.push({type:"link_close",level:r.level})),r.pos+=n[0].length,!0):!1):!1))}function $t(r,i){return r=r.source,i=i||"",function t(e,n){return e?(n=n.source||n,r=r.replace(e,n),t):new RegExp(r,i)}}var Es=/[a-zA-Z_:][a-zA-Z0-9:._-]*/,ws=/[^"'=<>`\x00-\x20]+/,Cs=/'[^']*'/,Ts=/"[^"]*"/,As=$t(/(?:unquoted|single_quoted|double_quoted)/)("unquoted",ws)("single_quoted",Cs)("double_quoted",Ts)(),Ms=$t(/(?:\s+attr_name(?:\s*=\s*attr_value)?)/)("attr_name",Es)("attr_value",As)(),Is=$t(/<[A-Za-z][A-Za-z0-9]*attribute*\s*\/?>/)("attribute",Ms)(),xs=/<\/[A-Za-z][A-Za-z0-9]*\s*>/,Rs=/<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/,Ls=/<[?].*?[?]>/,Os=/<![A-Z]+\s+[^>]*>/,Ps=/<!\[CDATA\[[\s\S]*?\]\]>/,Ns=$t(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)("open_tag",Is)("close_tag",xs)("comment",Rs)("processing",Ls)("declaration",Os)("cdata",Ps)();function Bs(r){var i=r|32;return i>=97&&i<=122}function Ds(r,i){var t,e,n,a=r.pos;return!r.options.html||(n=r.posMax,r.src.charCodeAt(a)!==60||a+2>=n)||(t=r.src.charCodeAt(a+1),t!==33&&t!==63&&t!==47&&!Bs(t))||(e=r.src.slice(a).match(Ns),!e)?!1:(i||r.push({type:"htmltag",content:r.src.slice(a,a+e[0].length),level:r.level}),r.pos+=e[0].length,!0)}var Fs=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,Us=/^&([a-z][a-z0-9]{1,31});/i;function js(r,i){var t,e,n,a=r.pos,s=r.posMax;if(r.src.charCodeAt(a)!==38)return!1;if(a+1<s){if(t=r.src.charCodeAt(a+1),t===35){if(n=r.src.slice(a).match(Fs),n)return i||(e=n[1][0].toLowerCase()==="x"?parseInt(n[1].slice(1),16):parseInt(n[1],10),r.pending+=sa(e)?pn(e):pn(65533)),r.pos+=n[0].length,!0}else if(n=r.src.slice(a).match(Us),n){var o=aa(n[1]);if(n[1]!==o)return i||(r.pending+=o),r.pos+=n[0].length,!0}}return i||(r.pending+="&"),r.pos++,!0}var an=[["text",as],["newline",is],["escape",ss],["backticks",os],["del",ls],["ins",us],["mark",cs],["emphasis",ds],["sub",ps],["sup",ms],["links",vs],["footnote_inline",gs],["footnote_ref",ys],["autolink",_s],["htmltag",Ds],["entity",js]];function Kt(){this.ruler=new le;for(var r=0;r<an.length;r++)this.ruler.push(an[r][0],an[r][1]);this.validateLink=Hs}Kt.prototype.skipToken=function(r){var i=this.ruler.getRules(""),t=i.length,e=r.pos,n,a;if((a=r.cacheGet(e))>0){r.pos=a;return}for(n=0;n<t;n++)if(i[n](r,!0)){r.cacheSet(e,r.pos);return}r.pos++,r.cacheSet(e,r.pos)};Kt.prototype.tokenize=function(r){for(var i=this.ruler.getRules(""),t=i.length,e=r.posMax,n,a;r.pos<e;){for(a=0;a<t&&(n=i[a](r,!1),!n);a++);if(n){if(r.pos>=e)break;continue}r.pending+=r.src[r.pos++]}r.pending&&r.pushPending()};Kt.prototype.parse=function(r,i,t,e){var n=new Pe(r,this,i,t,e);this.tokenize(n)};function Hs(r){var i=["vbscript","javascript","file","data"],t=r.trim().toLowerCase();return t=Re(t),!(t.indexOf(":")!==-1&&i.indexOf(t.split(":")[0])!==-1)}var qs={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","replacements","smartquotes","references","abbr2","footnote_tail"]},block:{rules:["blockquote","code","fences","footnote","heading","hr","htmlblock","lheading","list","paragraph","table"]},inline:{rules:["autolink","backticks","del","emphasis","entity","escape","footnote_ref","htmltag","links","newline","text"]}}},Vs={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},zs={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","abbr2"]},block:{rules:["blockquote","code","fences","heading","hr","htmlblock","lheading","list","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","htmltag","links","newline","text"]}}},Gs={default:qs,full:Vs,commonmark:zs};function pa(r,i,t){this.src=i,this.env=t,this.options=r.options,this.tokens=[],this.inlineMode=!1,this.inline=r.inline,this.block=r.block,this.renderer=r.renderer,this.typographer=r.typographer}function fe(r,i){typeof r!="string"&&(i=r,r="default"),i&&i.linkify!=null&&console.warn(`linkify option is removed. Use linkify plugin instead:
import Remarkable from 'remarkable';
import linkify from 'remarkable/linkify';
new Remarkable().use(linkify)
`),this.inline=new Kt,this.block=new Bn,this.core=new da,this.renderer=new Nn,this.ruler=new le,this.options={},this.configure(Gs[r]),this.set(i||{})}fe.prototype.set=function(r){ia(this.options,r)};fe.prototype.configure=function(r){var i=this;if(!r)throw new Error("Wrong `remarkable` preset, check name/content");r.options&&i.set(r.options),r.components&&Object.keys(r.components).forEach(function(t){r.components[t].rules&&i[t].ruler.enable(r.components[t].rules,!0)})};fe.prototype.use=function(r,i){return r(this,i),this};fe.prototype.parse=function(r,i){var t=new pa(this,r,i);return this.core.process(t),t.tokens};fe.prototype.render=function(r,i){return i=i||{},this.renderer.render(this.parse(r,i),this.options,i)};fe.prototype.parseInline=function(r,i){var t=new pa(this,r,i);return t.inlineMode=!0,this.core.process(t),t.tokens};fe.prototype.renderInline=function(r,i){return i=i||{},this.renderer.render(this.parseInline(r,i),this.options,i)};var fa=function(){function r(){b(this,r)}return k(r,null,[{key:"instantiate",value:function(t){if(t)return new fe(V(V({},r.DEFAULT_PROPERTIES),t));if(window.hljs){var e=window.hljs;return new fe({highlight:function(a,s){if(s&&e.getLanguage(s))try{return e.highlight(a,{language:s}).value}catch(o){console.error("failed to setup the highlight dependency")}try{return e.highlightAuto(a).value}catch(o){console.error("failed to automatically highlight messages")}return""},html:!1,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkTarget:"_blank",typographer:!0})}else return new fe(r.DEFAULT_PROPERTIES)}},{key:"createNew",value:function(t){var e=r.instantiate(t);return e.inline.validateLink=function(){return!0},e}}])}();fa.DEFAULT_PROPERTIES={breaks:!0,linkTarget:"_blank"};var mn=fa,$s=function(){function r(i){b(this,r),this.storageKey="deep-chat-storage",this.maxMessages=1e3,x(i)=="object"&&(i.key&&(this.storageKey=i.key),i.maxMessages&&(this.maxMessages=i.maxMessages),i.clear=this.clear.bind(this))}return k(r,[{key:"get",value:function(){var t=localStorage.getItem(this.storageKey);return t?JSON.parse(t):[]}},{key:"addMessages",value:function(t){var e=t.length-this.maxMessages;e<0&&(e=0);var n=t.slice(e,t.length);localStorage.setItem(this.storageKey,JSON.stringify(n))}},{key:"clear",value:function(){localStorage.removeItem(this.storageKey)}}])}(),Lt=function(){function r(){b(this,r)}return k(r,null,[{key:"applyCustomStylesToElements",value:function(t,e,n){if(n&&(Object.assign(t.outerContainer.style,n.outerContainer),Object.assign(t.innerContainer.style,n.innerContainer),Object.assign(t.bubbleElement.style,n.bubble),e)){var a=t.bubbleElement.children[0],s=a.tagName.toLocaleLowerCase()!=="a"?a:a.children[0];Object.assign(s.style,n.media)}}},{key:"applySideStyles",value:function(t,e,n,a){a&&(r.applyCustomStylesToElements(t,n,a.shared),e===O.USER_ROLE?r.applyCustomStylesToElements(t,n,a.user):(r.applyCustomStylesToElements(t,n,a.ai),r.applyCustomStylesToElements(t,n,a[e])))}},{key:"isElementsStyles",value:function(t){return!!(t.outerContainer||t.innerContainer||t.bubble||t.media)}},{key:"applyCustomStyles",value:function(t,e,n,a,s){var o;s&&t.default!==s?r.isElementsStyles(s)?(r.applyCustomStylesToElements(e,a,(o=t.default)==null?void 0:o.shared),r.applyCustomStylesToElements(e,a,s)):(r.applySideStyles(e,n,a,t.default),r.applySideStyles(e,n,a,s)):r.applySideStyles(e,n,a,t.default)}},{key:"extractParticularSharedStyles",value:function(t,e){if(e!=null&&e.shared){var n=e.shared,a={outerContainer:{},innerContainer:{},bubble:{},media:{}};return t.forEach(function(s){var o,l,u,c;a.outerContainer[s]=((o=n.outerContainer)==null?void 0:o[s])||"",a.innerContainer[s]=((l=n.innerContainer)==null?void 0:l[s])||"",a.bubble[s]=((u=n.bubble)==null?void 0:u[s])||"",a.media[s]=((c=n.media)==null?void 0:c[s])||""}),a}}}])}(),St=function(){function r(){b(this,r)}return k(r,null,[{key:"onMessage",value:function(t,e,n){var a,s=JSON.parse(JSON.stringify({message:e,isHistory:n,isInitial:n}));re.reAddFileRefToObject(e,s.message),(a=t.onMessage)==null||a.call(t,s),t.dispatchEvent(new CustomEvent("message",{detail:s})),oe.fireOnNewMessage(t,s)}},{key:"onClearMessages",value:function(t){var e;(e=t.onClearMessages)==null||e.call(t),t.dispatchEvent(new CustomEvent("clear-messages"))}},{key:"onRender",value:function(t){var e;(e=t.onComponentRender)==null||e.call(t,t),t.dispatchEvent(new CustomEvent("render",{detail:t}))}},{key:"onInput",value:function(t,e,n){var a,s,o=JSON.parse(JSON.stringify({content:e,isUser:n}));e.files&&re.reAddFileRefToObject({files:(a=e.files)==null?void 0:a.map(function(l){return{ref:l}})},o.content),(s=t.onInput)==null||s.call(t,o),t.dispatchEvent(new CustomEvent("input",{detail:o}))}},{key:"onError",value:function(t,e){var n;(n=t.onError)==null||n.call(t,e),t.dispatchEvent(new CustomEvent("error",{detail:e}))}}])}(),Ot=function(){function r(){b(this,r)}return k(r,null,[{key:"generateLoadingRingElement",value:function(){var t=document.createElement("div");return t.classList.add("loading-history"),t.appendChild(document.createElement("div")),t.appendChild(document.createElement("div")),t.appendChild(document.createElement("div")),t.appendChild(document.createElement("div")),t}},{key:"apply",value:function(t,e,n){Ae.setRing(e.bubbleElement,n==null?void 0:n.bubble),n!=null&&n.bubble&&(n=JSON.parse(JSON.stringify(n)),delete n.bubble),t.applyCustomStyles(e,"history",!1,n)}},{key:"addLoadHistoryMessage",value:function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a,s,o,l,u,c,d,p;t.bubbleElement.classList.add(r.CLASS);var h=n?r.FULL_VIEW_CLASS:r.SMALL_CLASS;t.outerContainer.classList.add(h);var v=n?(l=(o=(s=(a=e.messageStyles)==null?void 0:a.loading)==null?void 0:s.history)==null?void 0:o.full)==null?void 0:l.styles:(p=(d=(c=(u=e.messageStyles)==null?void 0:u.loading)==null?void 0:c.history)==null?void 0:d.small)==null?void 0:p.styles;r.apply(e,t,v),e.elementRef.prepend(t.outerContainer)}},{key:"createDefaultElements",value:function(t){var e=t.createMessageElements("",O.AI_ROLE),n=e.bubbleElement,a=r.generateLoadingRingElement();return n.appendChild(a),e}},{key:"addMessage",value:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n,a,s,o,l=(o=(s=(a=(n=t.messageStyles)==null?void 0:n.loading)==null?void 0:a.history)==null?void 0:s.full)==null?void 0:o.html,u=l?_e.createElements(t,l,O.AI_ROLE,!0,!0):r.createDefaultElements(t);return r.addLoadHistoryMessage(u,t,e),O.softRemRoleElements(u.innerContainer,t.avatar,t.name),u}},{key:"tryChangeViewToSmall",value:function(t,e){var n,a,s,o,l,u,c,d;if(e!=null&&e.outerContainer.classList.contains(r.FULL_VIEW_CLASS)){e.outerContainer.classList.replace(r.FULL_VIEW_CLASS,r.SMALL_CLASS);var p=(o=(s=(a=(n=t.messageStyles)==null?void 0:n.loading)==null?void 0:a.history)==null?void 0:s.small)==null?void 0:o.styles;p&&r.apply(t,e,p);var h=(d=(c=(u=(l=t.messageStyles)==null?void 0:l.loading)==null?void 0:u.history)==null?void 0:c.small)==null?void 0:d.html;return h&&(e.bubbleElement.innerHTML=h),!0}return!1}},{key:"changeFullViewToSmall",value:function(t){var e=t.messageElementRefs[t.messageElementRefs.length-1];r.tryChangeViewToSmall(t,e)||r.tryChangeViewToSmall(t,t.messageElementRefs[0])}}])}();Ot.CLASS="loading-history-message",Ot.FULL_VIEW_CLASS="loading-history-message-full-view",Ot.SMALL_CLASS="loading-history-message-small";var Ie=Ot,ma=function(){function r(){b(this,r)}return k(r,null,[{key:"setFade",value:function(t,e){t.style.transitionDuration=typeof e=="number"?"".concat(e,"ms"):"".concat(r.DEFAULT_FADE_MS,"ms")}},{key:"fadeAnimation",value:function(){var i=_(f().mark(function e(n,a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return n.style.opacity="0",s=typeof a=="number"?a:r.DEFAULT_FADE_MS,l.next=4,new Promise(function(u){setTimeout(function(){return u()},s)});case 4:n.style.opacity="1";case 5:case"end":return l.stop()}},e)}));function t(e,n){return i.apply(this,arguments)}return t}()}])}();ma.DEFAULT_FADE_MS=500;var va=ma,ur="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3csvg%20fill='%23000000'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2032%2032'%20xml:space='preserve'%3e%3cpath%20d='M23,30.36H9c-2.404,0-4.36-1.956-4.36-4.36V15c0-2.404,1.956-4.36,4.36-4.36h3.659%20c0.167-1.566,1.415-2.813,2.981-2.981V5.333c-1.131-0.174-2-1.154-2-2.333c0-1.301,1.059-2.36,2.36-2.36%20c1.302,0,2.36,1.059,2.36,2.36c0,1.179-0.869,2.159-2,2.333V7.66c1.566,0.167,2.814,1.415,2.981,2.981H23%20c2.404,0,4.36,1.956,4.36,4.36v11C27.36,28.404,25.404,30.36,23,30.36z%20M9,11.36c-2.007,0-3.64,1.633-3.64,3.64v11%20c0,2.007,1.633,3.64,3.64,3.64h14c2.007,0,3.64-1.633,3.64-3.64V15c0-2.007-1.633-3.64-3.64-3.64H9z%20M13.384,10.64h5.231%20C18.439,9.354,17.334,8.36,16,8.36C14.667,8.36,13.561,9.354,13.384,10.64z%20M16,1.36c-0.904,0-1.64,0.736-1.64,1.64%20S15.096,4.64,16,4.64c0.904,0,1.64-0.736,1.64-1.64S16.904,1.36,16,1.36z%20M20,27.36h-8c-1.301,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36h8c1.302,0,2.36,1.059,2.36,2.36S21.302,27.36,20,27.36z%20M12,23.36c-0.904,0-1.64,0.735-1.64,1.64%20s0.736,1.64,1.64,1.64h8c0.904,0,1.64-0.735,1.64-1.64s-0.735-1.64-1.64-1.64H12z%20M31,23.86h-2c-0.199,0-0.36-0.161-0.36-0.36V15%20c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5C31.36,23.699,31.199,23.86,31,23.86z%20M29.36,23.14h1.279v-7.78%20H29.36V23.14z%20M3,23.86H1c-0.199,0-0.36-0.161-0.36-0.36V15c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5%20C3.36,23.699,3.199,23.86,3,23.86z%20M1.36,23.14h1.28v-7.78H1.36V23.14z%20M20,20.36c-1.302,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36s2.36,1.059,2.36,2.36C22.36,19.302,21.302,20.36,20,20.36z%20M20,16.36c-0.904,0-1.64,0.736-1.64,1.64%20s0.735,1.64,1.64,1.64s1.64-0.735,1.64-1.64S20.904,16.36,20,16.36z%20M12,20.36c-1.301,0-2.36-1.059-2.36-2.36s1.059-2.36,2.36-2.36%20s2.36,1.059,2.36,2.36C14.36,19.302,13.301,20.36,12,20.36z%20M12,16.36c-0.904,0-1.64,0.736-1.64,1.64s0.736,1.64,1.64,1.64%20s1.64-0.735,1.64-1.64S12.904,16.36,12,16.36z'/%3e%3crect%20style='fill:none;'%20width='32'%20height='32'/%3e%3c/svg%3e",vn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAMAAAC/MqoPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADNQTFRF////9vX18vLy/Pz86enp4+Li2tnZ1tbWzczM+fn57Ozs4N/f09LS0M/P5uXl7+/v3dzcwtncCAAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAZNSURBVHja7d3bdtsqEABQYABZSLH9/3+ZpnUsIcF5iOM6PfElNoMHMfPQdq3GmL0GkLhEUqLaUExnOtOZznSmM53pTGc605nOdKYznelMZzrTmV4LXSqllKyJDkob26xWq8Zae/iH0QoWTm9d1xur4WuypQJtTd+5dqn0VjcxzNO5/57mEBvdLo8Oron6aseWOjYOFkVvjQs3DmgyONMuht52EfztP+4hdu0i6LCO808/M8c1lE/fuPGej41uUzgdtoO/75N+2ELJ9I3b3//hPXbiMenm3pR/Jt4USgcLBIp4Bh10gqKVhvLo0klCxeSky96nKcj3siw6pJIL4XsoiQ7apyvMY/V3HHrSRioLopvEhSpTCn2TPEuwKYMOIX0tAxRBf/Hpa+lfSqBv9gi1FPsNfTrMAiVmIE/vJhz61FGnQxRIEYE4vfNYdN8Rp6MlHaHotHTn8ejekaZPAjEmyvQWdZFTtYTpXqCGJ0zvcek9Yfoel76nS0ffv1NMp1ca+pkgyfRCGind4L7OWWc605l+cxjsyhqy9AGbPpClc1/nvl5VX0c/3Alk6RU3+Am7shNZ+h6bvidLr7jBB+zKBrL0irOOudmIUDzTmf5gIP+iEuXtRuTVaEmY/oZLfyNMrzjryPc0gerMTdpVg0tvjJUU6bLPcGOoUv46SLL6Wi8yhLf06C7TUyekI0efRaaYqdFltkeNpPumRPSMDxgBYvSM035FrKAmH72hRW99PrpvSdEHkTEGUvSsK3yKVDkuJ92RohcZaehzzirPpOg+J92Tolfc4Cumx5xVXpGiZ34+ICX6W84qv5GiR5NPbiIpOv6BCoSvSkTX+eiaGP092zINvBOj4x8mSf9FqejvNo/cvpOji19ZbmviL0GPLsYMFzgzCor0+Bv/ePDvSJKOb9dJ5UlnbnEHiHgzv6cdTpJOWuc/u3FEucLDOL75xGtBiefrcwgoC9NDSH/jkH6pAuXmBqPQ9HSUPVdZBH1GGOrMXAQdYxcKZfxAoK+KKBKFLosoEoX+u4giUehz8jlcnAuhp78I46yDYNAd+QLR6K+pr+yvxdBTHyVDubQh0UfSxaHSd0lbvNkVRE87JGOtc+PQd2QLQ6fHhJkKsSh6yg13tO08JPprsgrrXWH0dJd2vH1MLPprot4eXoujpzrdhngiD40ek2y92lggPcnWa8qN1Yz0BFuvZhRl0uOfR0v4Ewuli/Bg4Qr3lArqGdndQ3UPO1EunXYwnelMZzrTmc50pjOd6UxnOtOZznSmM53pTGf6kuj6oedFKV0s3fX6sX1S3bsi6a4PD7+/YAqYeBw6pIB/4qEgOqxdSPbGiim4NRRCbzs3Jj0L4UfXtQXQVRfn5IdA/Bw7RZzurEV6EtdsLeGXkIPuA+K1UoVeA0l62zmN/LqfSSft9KkepmoRuvi3nd5uKNFB9zbbXEANqdr941XO0NJx2v2jdJenpf+/3bvn0ts16ph+sd6hX7dPo2+2cZzE02Ia43bzDHqr+2Evnhz74ZHU30ffbKOeng1/NPV30Ns1gYQnSP2P6e65Pfxc6h02XZqXQCjhJ6kPL6bFo4NrGvAU4UII4SE2P1vQuZkuOxckVfehisF1MjUddN/MZBN+kvq5uf0O/xa66gyNS9ktMWlz44rO1Z8C19i5FPdHzPamXn+F3hryPfxMr78+4F+kq22kO6Rf6fUQt+puuustyWv4rbG3l/duztFB96GYoe1cTBdXMr+nw9qVM6ZfxOvzezff0nXi/ZOndvrR6Zvpm0c3h6nhdb+5iS7tsIim/qXZD9+97/Jf+rpZ5BET1ayv0GUzLhEuhBBjIy/RdVPgndutIRt9nt7p5cKFEEJ3Z+jQFDZL+XnMDXxHB73gxn5s9Kc3d3/pFciFkN/QTSXHJpX5l66gDrkQoP6hL3xsPw39la4qOiV8tH78XeSbue6N9mvWa6J/ybpc1CT1Wnh5Qq9meP8IOKH3ddH7E/ri1iYux/SXDrXR4UiPdck/wUpU+FtPf6/orja6O9KL3l56LOvVxe5Ib2qjN0d6Vbex4ghWlU3bPqI90If66MNng680FNpbJijH6kCvaF3uMzQ3+IrpFerV4Y9dffQdN3im10ivbuImhD3Qq5u4HdZkua8znelMZ/pS4z9CPVKkxowNxgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNy0wMy0yN1QxNTo0NToxNSswMDowMN1xSg4AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTctMDMtMjdUMTU6NDU6MTUrMDA6MDCsLPKyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==",ga=function(){function r(i){b(this,r),this.className=i}return k(r,[{key:"tryHide",value:function(t){var e;(e=t.getElementsByClassName(this.className)[0].style).visibility||(e.visibility="hidden")}},{key:"tryReveal",value:function(t){t.getElementsByClassName(this.className)[0].style.visibility=""}},{key:"trySoftRem",value:function(t){t.getElementsByClassName(this.className)[0].classList.add("role-hidden")}}])}(),Ks=function(r){function i(t){var e;return b(this,i),e=N(this,i,["avatar-container"]),e._avatars=t,e}return B(i,r),k(i,[{key:"addBesideMsg",value:function(e,n){var a=typeof this._avatars=="boolean"?void 0:this._avatars,s=this.createAvatar(n,a),o=this.getPosition(n,a);s.classList.add(o==="left"?"left-item-position":"right-item-position"),e.insertAdjacentElement(o==="left"?"beforebegin":"afterend",s)}},{key:"createAvatar",value:function(e,n){var a,s,o,l,u,c=document.createElement("img");e===O.USER_ROLE?(c.src=((a=n==null?void 0:n.user)==null?void 0:a.src)||((s=n==null?void 0:n.default)==null?void 0:s.src)||vn,c.onerror=i.errorFallback.bind(this,vn)):(c.src=((o=n==null?void 0:n[e])==null?void 0:o.src)||((l=n==null?void 0:n.ai)==null?void 0:l.src)||((u=n==null?void 0:n.default)==null?void 0:u.src)||ur,c.onerror=i.errorFallback.bind(this,ur)),c.classList.add("avatar"),c.alt="".concat(e," avatar");var d=document.createElement("div");return d.classList.add(this.className),d.appendChild(c),n&&i.applyCustomStyles(d,c,n,e),d}},{key:"getPosition",value:function(e,n){var a,s,o,l,u,c,d=(s=(a=n==null?void 0:n[e])==null?void 0:a.styles)==null?void 0:s.position;return e!==O.USER_ROLE&&(d!=null||(d=(l=(o=n==null?void 0:n.ai)==null?void 0:o.styles)==null?void 0:l.position)),d!=null||(d=(c=(u=n==null?void 0:n.default)==null?void 0:u.styles)==null?void 0:c.position),d!=null||(d=e===O.USER_ROLE?"right":"left"),d}}],[{key:"errorFallback",value:function(e,n){var a=n.target;a.onerror=null,a.src=e}},{key:"applyCustomStylesToElements",value:function(e,n,a){Object.assign(e.style,a.container),Object.assign(n.style,a.avatar)}},{key:"applyCustomStyles",value:function(e,n,a,s){var o,l,u,c;if((o=a.default)!=null&&o.styles&&i.applyCustomStylesToElements(e,n,a.default.styles),s===O.USER_ROLE)(l=a.user)!=null&&l.styles&&i.applyCustomStylesToElements(e,n,a.user.styles);else{(u=a.ai)!=null&&u.styles&&i.applyCustomStylesToElements(e,n,a.ai.styles);var d=(c=a[s])==null?void 0:c.styles;d&&i.applyCustomStylesToElements(e,n,d)}}}])}(ga),Ws=function(r){function i(t){var e;return b(this,i),e=N(this,i,["name"]),e._names=t,e}return B(i,r),k(i,[{key:"addBesideMsg",value:function(e,n){var a=typeof this._names=="boolean"?{}:this._names,s=this.createName(n,a),o=i.getPosition(n,a);s.classList.add(o==="left"?"left-item-position":"right-item-position"),e.insertAdjacentElement(o==="left"?"beforebegin":"afterend",s)}},{key:"createName",value:function(e,n){var a=document.createElement("div");return a.classList.add(this.className),a.textContent=i.getNameText(e,n),i.applyStyle(a,e,n),a}}],[{key:"getPosition",value:function(e,n){var a,s,o,l=(a=n==null?void 0:n[e])==null?void 0:a.position;return e!==O.USER_ROLE&&(l!=null||(l=(s=n==null?void 0:n.ai)==null?void 0:s.position)),l!=null||(l=(o=n==null?void 0:n.default)==null?void 0:o.position),l!=null||(l=e===O.USER_ROLE?"right":"left"),l}},{key:"applyStyle",value:function(e,n,a){var s,o,l,u;Object.assign(e.style,(s=a.default)==null?void 0:s.style),n===O.USER_ROLE?Object.assign(e.style,(o=a.user)==null?void 0:o.style):(Object.assign(e.style,(l=a.ai)==null?void 0:l.style),Object.assign(e.style,(u=a[n])==null?void 0:u.style))}},{key:"getNameText",value:function(e,n){var a,s,o,l,u,c;return e===O.USER_ROLE?((a=n.user)==null?void 0:a.text)||((s=n.default)==null?void 0:s.text)||"User":e===O.AI_ROLE?((o=n.ai)==null?void 0:o.text)||((l=n.default)==null?void 0:l.text)||"AI":((u=n[e])==null?void 0:u.text)||((c=n.default)==null?void 0:c.text)||e}}])}(ga),Pt=function(){function r(i){var t=this;b(this,r);var e;this.messageElementRefs=[],this.htmlClassUtilities={},this.messageToElements=[],this.elementRef=r.createContainerElement(),this.messageStyles=oe.processMessageStyles(i.messageStyles),this._remarkable=mn.createNew(i.remarkable),i.avatars&&(this.avatar=new Ks(i.avatars)),i.names&&(this.name=new Ws(i.names)),i.browserStorage&&(this.browserStorage=new $s(i.browserStorage)),this._onMessage=St.onMessage.bind(this,i),i.htmlClassUtilities&&(this.htmlClassUtilities=i.htmlClassUtilities),this.focusMode=i.focusMode,this.focusMode||(this._lastGroupMessagesElement=document.createElement("div")),typeof this.focusMode!="boolean"&&(e=this.focusMode)!=null&&e.fade&&va.setFade(this.elementRef,this.focusMode.fade),setTimeout(function(){t.submitUserMessage=i.submitUserMessage})}return k(r,[{key:"addNewTextMessage",value:function(t,e,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(n!=null&&n.status){var s=this.overwriteText(e,t,this.messageElementRefs);if(s)return s;n.status=!1}var o=a?this.createAndPrependNewMessageElement(t,e,a):this.createAndAppendNewMessageElement(t,e);return o.bubbleElement.classList.add(r.TEXT_BUBBLE_CLASS),this.applyCustomStyles(o,e,!1),O.fillEmptyMessageElement(o.bubbleElement,t),o}},{key:"overwriteText",value:function(t,e,n){var a=O.overwriteMessage(this.messageToElements,n,e,t,"text",r.TEXT_BUBBLE_CLASS);return a&&this.renderText(a.bubbleElement,e),a}},{key:"createAndAppendNewMessageElement",value:function(t,e){return this.focusMode?this.appendNewMessageElementFocusMode(t,e):this.createAndAppendNewMessageElementDefault(t,e)}},{key:"appendNewMessageElementFocusMode",value:function(t,e){var n,a=this.createNewMessageElement(t,e);if(this.appendOuterContainerElemet(a.outerContainer,e),e==="user"){var s=typeof this.focusMode!="boolean"&&((n=this.focusMode)==null?void 0:n.scroll);ie.scrollToBottom(this.elementRef,s)}return a}},{key:"createNewGroupElementFocusMode",value:function(){var t;(t=this._lastGroupMessagesElement)==null||t.classList.remove(r.LAST_GROUP_MESSAGES_ACTIVE);var e=document.createElement("div");this._lastGroupMessagesElement&&e.classList.add(r.LAST_GROUP_MESSAGES_ACTIVE),this._lastGroupMessagesElement=e}},{key:"createAndAppendNewMessageElementDefault",value:function(t,e){var n=this,a=this.createNewMessageElement(t,e);return this.appendOuterContainerElemet(a.outerContainer),setTimeout(function(){return ie.scrollToBottom(n.elementRef)}),a}},{key:"appendOuterContainerElemet",value:function(t,e){var n;this.focusMode&&(e==="user"||!this._lastGroupMessagesElement)&&this.createNewGroupElementFocusMode(),(n=this._lastGroupMessagesElement)==null||n.appendChild(t),this.elementRef.appendChild(this._lastGroupMessagesElement)}},{key:"createAndPrependNewMessageElement",value:function(t,e,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s,o=this.createNewMessageElement(t,e,n,a);if(n&&(s=this.elementRef.firstChild)!=null&&s.classList.contains(r.INTRO_CLASS)){this.elementRef.firstChild.insertAdjacentElement("afterend",o.outerContainer);var l=this.messageElementRefs[0];this.messageElementRefs[0]=this.messageElementRefs[1],this.messageElementRefs[1]=l}else this.elementRef.insertBefore(o.outerContainer,this.elementRef.firstChild);return o}},{key:"createMessageElementsOnOrientation",value:function(t,e,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return n?this.createAndPrependNewMessageElement(t,e,!0,a):this.createNewMessageElement(t,e,a)}},{key:"createNewMessageElement",value:function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s;a||(s=this._introPanel)==null||s.hide();var o=this.messageElementRefs[this.messageElementRefs.length-1];return Ie.changeFullViewToSmall(this),!n&&r.isTemporaryElement(o)&&(this.revealRoleElementsIfTempRemoved(o,e),this.removeLastMessage()),this.createMessageElements(t,e,n)}},{key:"revealRoleElementsIfTempRemoved",value:function(t,e){if((this.avatar||this.name)&&He.isElementTemporary(t)){var n=this.messageElementRefs[this.messageElementRefs.length-2];n&&this.messageToElements.length>0&&!t.bubbleElement.classList.contains(O.getRoleClass(e))&&O.revealRoleElements(n.innerContainer,this.avatar,this.name)}}},{key:"createElements",value:function(t,e){var n=r.createBaseElements(e),a=n.outerContainer,s=n.innerContainer,o=n.bubbleElement;return a.appendChild(s),this.addInnerContainerElements(o,t,e),n}},{key:"createMessageElements",value:function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=this.createElements(t,e);return O.updateRefArr(this.messageElementRefs,a,n),O.classifyRoleMessages(this.messageElementRefs,e),a}},{key:"addInnerContainerElements",value:function(t,e,n){var a=this.messageElementRefs[this.messageElementRefs.length-1];return O.areOuterContainerClassRolesSame(n,a)&&!this.isLastMessageError()&&O.hideRoleElements(a.innerContainer,this.avatar,this.name),t.classList.add("message-bubble",O.getRoleClass(n),n===O.USER_ROLE?"user-message-text":"ai-message-text"),this.renderText(t,e),O.addRoleElements(t,n,this.avatar,this.name),{bubbleElement:t}}},{key:"applyCustomStyles",value:function(t,e,n,a){t&&this.messageStyles&&Lt.applyCustomStyles(this.messageStyles,t,e,n,a)}},{key:"removeMessage",value:function(t){t.outerContainer.remove();var e=this.messageElementRefs.findIndex(function(n){return n===t});this.messageElementRefs.splice(e,1)}},{key:"removeLastMessage",value:function(){this.messageElementRefs[this.messageElementRefs.length-1].outerContainer.remove(),this.messageElementRefs.pop()}},{key:"isLastMessageError",value:function(){var t;return(t=O.getLastMessageBubbleElement(this.elementRef))==null?void 0:t.classList.contains(O.ERROR_MESSAGE_TEXT_CLASS)}},{key:"sendClientUpdate",value:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;(n=this._onMessage)==null||n.call(this,t,e)}},{key:"renderText",value:function(t,e){t.innerHTML=this._remarkable.render(e),t.innerText.trim().length===0&&(t.innerText=e)}},{key:"refreshTextMessages",value:function(t){var e=this;this._remarkable=mn.createNew(t),this.messageToElements.forEach(function(n){n[1].text&&n[0].text&&e.renderText(n[1].text.bubbleElement,n[0].text)})}}],[{key:"createContainerElement",value:function(){var t=document.createElement("div");return t.id="messages",t}},{key:"isTemporaryElement",value:function(t){return r.isLoadingMessage(t)||He.isElementTemporary(t)}},{key:"createBaseElements",value:function(t){var e=document.createElement("div"),n=document.createElement("div");n.classList.add("inner-message-container"),e.appendChild(n),e.classList.add("outer-message-container"),e.classList.add(O.buildRoleOuterContainerClass(t));var a=document.createElement("div");return a.classList.add("message-bubble"),n.appendChild(a),{outerContainer:e,innerContainer:n,bubbleElement:a}}},{key:"createMessageContent",value:function(t){var e=t.text,n=t.files,a=t.html,s=t.custom,o=t._sessionId,l=t.role,u={role:l||O.AI_ROLE};return e&&(u.text=e),n&&(u.files=n),a&&(u.html=a),!e&&!n&&!a&&(u.text=""),s&&(u.custom=s),o&&(u._sessionId=o),u}},{key:"isLoadingMessage",value:function(t){return t==null?void 0:t.bubbleElement.classList.contains(Ae.BUBBLE_CLASS)}}])}();Pt.TEXT_BUBBLE_CLASS="text-message",Pt.INTRO_CLASS="deep-chat-intro",Pt.LAST_GROUP_MESSAGES_ACTIVE="deep-chat-last-group-messages-active";var he=Pt,me=function(){function r(){b(this,r)}return k(r,null,[{key:"getLastElementsByClass",value:function(t,e,n){for(var a=function(){var u=t[o];if(u.bubbleElement.classList.contains(e[0])&&!e.slice(1).find(function(c){return!u.bubbleElement.classList.contains(c)}))if(n){if(!n.find(function(c){return u.bubbleElement.classList.contains(c)}))return{v:u}}else return{v:u}},s,o=t.length-1;o>=0;o-=1)if(s=a(),s)return s.v}},{key:"getLastMessage",value:function(t,e,n){for(var a=t.length-1;a>=0;a-=1)if(t[a][0].role===e)if(n){if(t[a][0][n])return t[a][0]}else return t[a][0]}},{key:"getLastTextToElement",value:function(t,e){for(var n=t.length-1;n>=0;n-=1)if(t[n][0]===e)return t[n]}},{key:"overwriteMessage",value:function(t,e,n,a,s,o){var l=r.getLastElementsByClass(e,[r.getRoleClass(a),o],[Ae.BUBBLE_CLASS]),u=r.getLastMessage(t,a,s);return u&&(u[s]=n),l}},{key:"getRoleClass",value:function(t){return"".concat(t,"-message")}},{key:"fillEmptyMessageElement",value:function(t,e){e.trim().length===0&&(t.classList.add(r.EMPTY_MESSAGE_CLASS),t.innerHTML='<div style="color:#00000000">.</div>')}},{key:"unfillEmptyMessageElement",value:function(t,e){t.classList.contains(r.EMPTY_MESSAGE_CLASS)&&e.trim().length>0&&t.replaceChildren()}},{key:"getLastMessageBubbleElement",value:function(t){var e,n,a,s;return(s=Array.from(((a=(n=(e=r.getLastMessageElement(t))==null?void 0:e.children)==null?void 0:n[0])==null?void 0:a.children)||[]).map(function(o){return Array.from((o==null?void 0:o.children)||[]).find(function(l){return l.classList.contains("message-bubble")})}))==null?void 0:s[0]}},{key:"getLastMessageElement",value:function(t){return t.children[t.children.length-1]}},{key:"addRoleElements",value:function(t,e,n,a){n==null||n.addBesideMsg(t,e),a==null||a.addBesideMsg(t,e)}},{key:"hideRoleElements",value:function(t,e,n){e==null||e.tryHide(t),n==null||n.tryHide(t)}},{key:"revealRoleElements",value:function(t,e,n){e==null||e.tryReveal(t),n==null||n.tryReveal(t)}},{key:"softRemRoleElements",value:function(t,e,n){e==null||e.trySoftRem(t),n==null||n.trySoftRem(t)}},{key:"updateRefArr",value:function(t,e,n){n?t.unshift(e):t.push(e)}},{key:"buildRoleOuterContainerClass",value:function(t){return"".concat(r.OUTER_CONTAINER_CLASS_ROLE_PREFIX).concat(t)}},{key:"addNewPositionClasses",value:function(t,e){var n;t.outerContainer.classList.remove(r.POSITION_TOP_MESSAGE_CLASS,r.POSITION_MIDDLE_MESSAGE_CLASS,r.POSITION_BOTTOM_MESSAGE_CLASS),(n=t.outerContainer.classList).add.apply(n,Et(e))}},{key:"getNumberOfElements",value:function(t){var e=0;return t.text!==void 0&&(e+=1),t.html!==void 0&&(e+=1),t.files&&(e+=t.files.length),e}},{key:"filterdMessageElements",value:function(t,e){return t.filter(function(n){return n.bubbleElement.classList.contains(e)})}},{key:"findMessageElements",value:function(t,e){return t.find(function(n){return n.bubbleElement.classList.contains(e)})}},{key:"generateMessageBodyElements",value:function(t,e){var n={};return t.text&&(n.text=r.findMessageElements(e,he.TEXT_BUBBLE_CLASS)),t.html&&(n.html=r.findMessageElements(e,_e.HTML_BUBBLE_CLASS)),t.files&&(n.files=r.filterdMessageElements(e,re.FILE_BUBBLE_CLASS)),n}},{key:"generateMessageBody",value:function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=r.getNumberOfElements(t),s=n?e.slice(0,a):e.slice(e.length-a);return r.generateMessageBodyElements(t,s)}},{key:"classifyRoleMessages",value:function(t,e){for(var n=e?r.buildRoleOuterContainerClass(e):void 0,a=t.length-1;a>=0;a-=1)if(e||(n=Array.from(t[a].outerContainer.classList).find(function(p){return p.startsWith(r.OUTER_CONTAINER_CLASS_ROLE_PREFIX)})),!!n){var s=t[a],o=s.outerContainer.classList.contains(n),l=t[a-1],u=t[a+1],c=l==null?void 0:l.outerContainer.classList.contains(n),d=u==null?void 0:u.outerContainer.classList.contains(n);if(o)!c&&d?r.addNewPositionClasses(s,[r.POSITION_TOP_MESSAGE_CLASS]):c&&d?r.addNewPositionClasses(s,[r.POSITION_MIDDLE_MESSAGE_CLASS]):c&&!d?r.addNewPositionClasses(s,[r.POSITION_BOTTOM_MESSAGE_CLASS]):!c&&!d&&r.addNewPositionClasses(s,[r.POSITION_TOP_MESSAGE_CLASS,r.POSITION_BOTTOM_MESSAGE_CLASS]);else if(e)break}}},{key:"areOuterContainerClassRolesSame",value:function(t,e){return e?Array.from(e.outerContainer.classList).find(function(n){return n.startsWith(r.OUTER_CONTAINER_CLASS_ROLE_PREFIX)})===r.buildRoleOuterContainerClass(t):!1}},{key:"resetAllRoleElements",value:function(t,e,n){if(!(!e&&!n)){var a="";t.forEach(function(s,o){s.bubbleElement.classList.contains(r.ERROR_MESSAGE_TEXT_CLASS)||r.revealRoleElements(s.innerContainer,e,n);var l=Array.from(s.outerContainer.classList).find(function(u){return u.startsWith(r.OUTER_CONTAINER_CLASS_ROLE_PREFIX)});a===l&&r.hideRoleElements(t[o-1].innerContainer,e,n),a=l})}}},{key:"deepCloneMessagesWithReferences",value:function(t){return t.map(function(e){return r.processMessageContent(e)})}},{key:"processMessageContent",value:function(t){if(t==null||x(t)!="object")return t;if(Array.isArray(t))return t.map(function(n){return r.processMessageContent(n)});var e={};return Object.entries(t).forEach(function(n){var a=xe(n,2),s=a[0],o=a[1];s==="ref"&&o instanceof File||s==="custom"?e[s]=o:o!==null&&x(o)=="object"?e[s]=r.processMessageContent(o):e[s]=o}),e}}])}();me.AI_ROLE="ai",me.USER_ROLE="user",me.ERROR_MESSAGE_TEXT_CLASS="error-message-text",me.OUTER_CONTAINER_CLASS_ROLE_PREFIX="deep-chat-outer-container-role-",me.EMPTY_MESSAGE_CLASS="empty-message",me.POSITION_TOP_MESSAGE_CLASS="deep-chat-top-message",me.POSITION_MIDDLE_MESSAGE_CLASS="deep-chat-middle-message",me.POSITION_BOTTOM_MESSAGE_CLASS="deep-chat-bottom-message";var O=me,Nt=function(){function r(i,t){b(this,r),this._fileAdded=!1,this._streamType="",this._hasStreamEnded=!1,this._partialText="",this._messages=i,x(t)=="object"&&(this._partialRender=t.partialRender,this._customWrappers=t.htmlWrappers)}return k(r,[{key:"upsertStreamedMessage",value:function(t){if(!this._hasStreamEnded){if((t==null?void 0:t.text)===void 0&&(t==null?void 0:t.html)===void 0)return console.error($.INVALID_STREAM_EVENT);t!=null&&t.custom&&this._message&&(this._message.custom=t.custom);var e=(t==null?void 0:t.text)||(t==null?void 0:t.html)||"",n=ie.isScrollbarAtBottomOfElement(this._messages.elementRef),a=(t==null?void 0:t.text)!==void 0?"text":"html";if(!this._elements&&!this._message)this.setInitialState(a,e,t==null?void 0:t.role);else{if(this._streamType!==a)return console.error($.INVALID_STREAM_EVENT_MIX);this.updateBasedOnType(e,a,t==null?void 0:t.overwrite)}n&&ie.scrollToBottom(this._messages.elementRef)}}},{key:"setInitialState",value:function(t,e,n){var a,s,o;this._streamType=t,n!=null||(n=O.AI_ROLE);var l=((a=this._customWrappers)==null?void 0:a[n])||((s=this._customWrappers)==null?void 0:s.default),u=l?"":e;this._elements=t==="text"?this._messages.addNewTextMessage(u,n):_e.add(this._messages,u,n),this._elements&&(this._elements.bubbleElement.classList.add(r.MESSAGE_CLASS),this._activeMessageRole=n,this._message=Vt({role:this._activeMessageRole},t,u),this._messages.messageToElements.push([this._message,Vt({},t,this._elements)]),(o=this._messages.browserStorage)==null||o.addMessages(this._messages.messageToElements.map(function(c){var d=xe(c,1),p=d[0];return p})),l&&this.setTargetWrapperIfNeeded(this._elements,e,this._streamType,l))}},{key:"setTargetWrapperIfNeeded",value:function(t,e,n,a){t.bubbleElement.innerHTML=a,this._targetWrapper=t.bubbleElement.getElementsByClassName(r.TARGET_WRAPPER_CLASS)[0],this._elements&&ge.apply(this._messages,this._elements.bubbleElement),this.updateBasedOnType(e,n)}},{key:"updateBasedOnType",value:function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a,s=this._targetWrapper||((a=this._elements)==null?void 0:a.bubbleElement);this._partialRender||O.unfillEmptyMessageElement(s,t),(e==="text"?this.updateText:this.updateHTML).bind(this)(t,s,n)}},{key:"updateText",value:function(t,e,n){this._message&&(this._message.text=n?t:this._message.text+t,this._partialRender&&this.isNewPartialRenderParagraph(e,n)&&this.partialRenderNewParagraph(e),this._partialBubble?this.partialRenderBubbleUpdate(t):this._messages.renderText(e,this._message.text))}},{key:"isNewPartialRenderParagraph",value:function(t,e){var n,a;return e?(t.innerHTML="",!0):this._partialBubble?this._partialText&&((a=this._partialText)==null?void 0:a.indexOf(r.PARTIAL_RENDER_TEXT_MARK))>-1:((n=this._message)==null?void 0:n.text)&&this._message.text.indexOf(r.PARTIAL_RENDER_TEXT_MARK)>-1}},{key:"partialRenderNewParagraph",value:function(t){this._partialText="",this._partialBubble=document.createElement("div"),this._partialBubble.classList.add("partial-render-message"),t.appendChild(this._partialBubble)}},{key:"partialRenderBubbleUpdate",value:function(t){this._partialText+=t,this._messages.renderText(this._partialBubble,this._partialText)}},{key:"updateHTML",value:function(t,e,n){if(this._message)if(n)this._message.html=t,e.innerHTML=t;else{var a=document.createElement("span");a.innerHTML=t,e.appendChild(a),this._message.html=(e==null?void 0:e.innerHTML)||""}}},{key:"finaliseStreamedMessage",value:function(){var t;if(!(this._endStreamAfterOperation||!this._message)&&!(this._fileAdded&&!this._elements)){if(!this._elements)throw Error($.NO_VALID_STREAM_EVENTS_SENT);(t=this._elements.bubbleElement)!=null&&t.classList.contains(r.MESSAGE_CLASS)&&(this._streamType==="text"?this._messages.textToSpeech&&Rt.speak(this._message.text||"",this._messages.textToSpeech):this._streamType==="html"&&this._elements&&ge.apply(this._messages,this._elements.outerContainer),this._elements.bubbleElement.classList.remove(r.MESSAGE_CLASS),this._message&&(this._targetWrapper&&(this._message.html=this._elements.bubbleElement.children[0].outerHTML,this._streamType==="text"&&delete this._message.text),this._messages.sendClientUpdate(he.createMessageContent(this._message),!1)),this._hasStreamEnded=!0)}}},{key:"markFileAdded",value:function(){this._fileAdded=!0}},{key:"newMessage",value:function(){this.finaliseStreamedMessage(),this._elements=void 0,delete this._message,this._fileAdded=!1,this._hasStreamEnded=!1,this._activeMessageRole=void 0}},{key:"endStreamAfterFileDownloaded",value:function(){var i=_(f().mark(function e(n,a){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return this._endStreamAfterOperation=!0,c.next=3,a();case 3:s=c.sent,o=s.text,l=s.files,o&&this.updateBasedOnType(o,"text",!0),this._endStreamAfterOperation=!1,this.finaliseStreamedMessage(),l&&n.addNewMessage({files:l});case 7:case"end":return c.stop()}},e,this)}));function t(e,n){return i.apply(this,arguments)}return t}()}])}();Nt.MESSAGE_CLASS="streamed-message",Nt.PARTIAL_RENDER_TEXT_MARK=`
`,Nt.TARGET_WRAPPER_CLASS="stream-wrapper";var Ee=Nt,ya=function(){function r(){b(this,r)}return k(r,null,[{key:"tempRemoveContentHeader",value:function(){var i=_(f().mark(function e(n,a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(n!=null&&n.headers){c.next=2;break}throw new Error("Request settings have not been set up");case 2:return o=n.headers[r.CONTENT_TYPE],delete n.headers[r.CONTENT_TYPE],c.prev=4,c.next=7,a(s);case 7:l=c.sent,c.next=13;break;case 10:throw c.prev=10,c.t0=c.catch(4),n.headers[r.CONTENT_TYPE]=o,c.t0;case 13:return c.abrupt("return",(n.headers[r.CONTENT_TYPE]=o,l));case 14:case"end":return c.stop()}},e,null,[[4,10]])}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"displayError",value:function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"Service error, please try again.";if(console.error(e),x(e)=="object")return e instanceof Error?t.addNewErrorMessage("service",e.message):Array.isArray(e)||typeof e.error=="string"?t.addNewErrorMessage("service",e):Object.keys(e).length===0?t.addNewErrorMessage("service",n):t.addNewErrorMessage("service",JSON.stringify(e));t.addNewErrorMessage("service",e)}},{key:"fetch",value:function(i){function t(e,n,a,s){return i.apply(this,arguments)}return t.toString=function(){return i.toString()},t}(function(i,t,e,n){var a,s,o={method:((a=i.connectSettings)==null?void 0:a.method)||"POST",headers:t};return o.method!=="GET"&&(o.body=e?JSON.stringify(n):n),i.connectSettings.credentials&&(o.credentials=i.connectSettings.credentials),fetch(((s=i.connectSettings)==null?void 0:s.url)||i.url||"",o)})},{key:"processResponseByType",value:function(t){var e=t.headers.get("content-type");return e!=null&&e.includes("application/json")?t.json():e!=null&&e.includes("text/plain")||!e?t:t.blob()}},{key:"processRequestInterceptor",value:function(){var i=_(f().mark(function e(n,a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.next=2,(s=n.requestInterceptor)==null?void 0:s.call(n,a);case 2:if(d.t0=d.sent,d.t0){d.next=5;break}d.t0=a;case 5:return o=d.t0,l=o,u=o,d.abrupt("return",{body:l.body,headers:l.headers,error:u.error});case 9:case"end":return d.stop()}},e)}));function t(e,n){return i.apply(this,arguments)}return t}()},{key:"validateResponseFormat",value:function(t,e){if(!t)return!1;var n=Array.isArray(t)?t:[t];return e&&n.length>1?(console.error($.INVALID_STREAM_ARRAY_RESPONSE),!1):!n.find(function(a){return x(a)!="object"||!(typeof a.error=="string"||typeof a.text=="string"||typeof a.html=="string"||Array.isArray(a.files))})}},{key:"onInterceptorError",value:function(t,e,n){t.addNewErrorMessage("service",e),n==null||n()}},{key:"basicResponseProcessing",value:function(){var i=_(f().mark(function e(n,a){var s,o,l,u,c,d,p,h,v,m,g=arguments;return f().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:if(s=g.length>2&&g[2]!==void 0?g[2]:{},o=s.io,l=s.displayError,u=l===void 0?!0:l,c=s.useRI,d=c===void 0?!0:c,o!=null&&o.extractResultData){S.next=4;break}return S.abrupt("return",a);case 4:return p=d?o.deepChat.responseInterceptor:void 0,S.next=7,p==null?void 0:p(a);case 7:if(S.t0=S.sent,S.t0){S.next=10;break}S.t0=a;case 10:return h=S.t0,S.next=13,o.extractResultData(h);case 13:if(v=S.sent,!(!v||x(v)!="object"&&!Array.isArray(v))){S.next=17;break}return u&&(m=$.INVALID_RESPONSE(a,"response",!!p,h),r.displayError(n,m)),S.abrupt("return");case 17:return S.abrupt("return",v);case 18:case"end":return S.stop()}},e)}));function t(e,n){return i.apply(this,arguments)}return t}()}])}();ya.CONTENT_TYPE="Content-Type";var F=ya;function Js(r,i){return gn.apply(this,arguments)}function gn(){return gn=_(f().mark(function r(i,t){var e,n;return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:e=i.getReader();case 1:return s.next=3,e.read();case 3:if((n=s.sent).done){s.next=7;break}t(n.value);case 5:s.next=1;break;case 7:case"end":return s.stop()}},r)})),gn.apply(this,arguments)}function Xs(r){var i,t,e,n=!1;return function(a){i===void 0?(i=a,t=0,e=-1):i=Zs(i,a);for(var s=i.length,o=0;t<s;){n&&(i[t]===10&&(o=++t),n=!1);for(var l=-1;t<s&&l===-1;++t)switch(i[t]){case 58:e===-1&&(e=t-o);break;case 13:n=!0;case 10:l=t;break}if(l===-1)break;r(i.subarray(o,l),e),o=t,e=-1}o===s?i=void 0:o!==0&&(i=i.subarray(o),t-=o)}}function Ys(r,i,t){var e=cr(),n=new TextDecoder;return function(a,s){if(a.length===0)t==null||t(e),e=cr();else if(s>0){var o=n.decode(a.subarray(0,s)),l=s+(a[s+1]===32?2:1),u=n.decode(a.subarray(l));switch(o){case"data":e.data=e.data?e.data+`
`+u:u;break;case"event":e.event=u;break;case"id":r(e.id=u);break;case"retry":var c=parseInt(u,10);isNaN(c)||i(e.retry=c);break}}}}function Zs(r,i){var t=new Uint8Array(r.length+i.length);return t.set(r),t.set(i,r.length),t}function cr(){return{data:"",event:"",id:"",retry:void 0}}var Qs=function(i,t){var e={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&t.indexOf(n)<0&&(e[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(i);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(i,n[a])&&(e[n[a]]=i[n[a]]);return e},yn="text/event-stream",eo=1e3,dr="last-event-id";function to(r,i){var t=i.signal,e=i.headers,n=i.onopen,a=i.onmessage,s=i.onclose,o=i.onerror,l=i.openWhenHidden,u=i.fetch,c=Qs(i,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(function(d,p){var h=Object.assign({},e);h.accept||(h.accept=yn);var v;function m(){v.abort(),document.hidden||C()}l||document.addEventListener("visibilitychange",m);var g=eo,y=0;function S(){document.removeEventListener("visibilitychange",m),window.clearTimeout(y),v.abort()}t==null||t.addEventListener("abort",function(){S(),d()});var A=u!=null?u:window.fetch,R=n!=null?n:no;function C(){return T.apply(this,arguments)}function T(){return T=_(f().mark(function U(){var P,K,I;return f().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return v=new AbortController,E.prev=1,E.next=4,A(r,Object.assign(Object.assign({},c),{headers:h,signal:v.signal}));case 4:return K=E.sent,E.next=7,R(K);case 7:return E.next=9,Js(K.body,Xs(Ys(function(D){D?h[dr]=D:delete h[dr]},function(D){g=D},a)));case 9:s==null||s(),S(),d(),E.next=17;break;case 14:if(E.prev=14,E.t0=E.catch(1),!v.signal.aborted)try{I=(P=o==null?void 0:o(E.t0))!==null&&P!==void 0?P:g,window.clearTimeout(y),y=window.setTimeout(C,I)}catch(D){S(),p(D)}case 17:case"end":return E.stop()}},U,null,[[1,14]])})),T.apply(this,arguments)}C()})}function no(r){var i=r.headers.get("content-type");if(!(i!=null&&i.startsWith(yn)))throw new Error("Expected content-type to be ".concat(yn,", Actual: ").concat(i))}var Y=function(){function r(){b(this,r)}return k(r,null,[{key:"request",value:function(){var i=_(f().mark(function e(n,a,s){var o,l,u,c,d,p,h,v,m,g,y,S,A,R,C,T=arguments;return f().wrap(function(P){for(;;)switch(P.prev=P.next){case 0:return o=T.length>3&&T[3]!==void 0?T[3]:!0,l=T.length>4&&T[4]!==void 0?T[4]:!1,v={body:a,headers:(u=n.connectSettings)==null?void 0:u.headers},P.next=5,F.processRequestInterceptor(n.deepChat,v);case 5:if(m=P.sent,g=m.body,y=m.headers,S=m.error,!S){P.next=11;break}return P.abrupt("return",F.onInterceptorError(s,S,n.streamHandlers.onClose));case 11:if(!((c=n.connectSettings)!=null&&c.handler)){P.next=13;break}return P.abrupt("return",Fn.stream(n,g,s));case 13:if(((d=n.connectSettings)==null?void 0:d.url)!==ke.URL){P.next=15;break}return P.abrupt("return",ke.requestStream(s,n));case 15:return A=new Ee(s,n.stream),R=F.fetch.bind(this,n,y,o),C={method:((p=n.connectSettings)==null?void 0:p.method)||"POST",headers:y,credentials:(h=n.connectSettings)==null?void 0:h.credentials,body:o?JSON.stringify(g):g},P.abrupt("return",(x(n.stream)=="object"&&n.stream.readable?r.handleReadableStream(n,s,A,C,l,R,g):r.handleEventStream(n,s,A,C,l,R,g),A));case 17:case"end":return P.stop()}},e,this)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"handleReadableStream",value:function(t,e,n,a,s,o,l){var u,c=t.streamHandlers,d=c.onOpen,p=c.onClose,h=c.abortStream,v=!1;fetch(((u=t.connectSettings)==null?void 0:u.url)||t.url||"",a).then(function(){var m=_(f().mark(function g(y){var S,A,R,C,T,U,P,K,I,w,E;return f().wrap(function(M){for(;;)switch(M.prev=M.next){case 0:if(y.body){M.next=2;break}throw new Error($.READABLE_STREAM_CONNECTION_ERROR);case 2:R=y.body.getReader(),C=new TextDecoder,d(),T=!1;case 5:if(!(!T&&!v)){M.next=26;break}return M.next=8,R.read();case 8:if(U=M.sent,P=U.value,K=U.done,T=K,!T){M.next=15;break}r.handleClose(t,n,p,s),M.next=24;break;case 15:return I=C.decode(P,{stream:!0}),M.next=18,(A=(S=t.deepChat).responseInterceptor)==null?void 0:A.call(S,I);case 18:if(M.t0=M.sent,M.t0){M.next=21;break}M.t0=I;case 21:w=M.t0,E=x(w)=="object"?w:{text:I},r.handleMessage(t,e,n,p,E,o,l);case 24:M.next=5;break;case 26:case"end":return M.stop()}},g)}));return function(g){return m.apply(this,arguments)}}()).catch(function(m){r.handleError(t,e,m)}),h.abort=function(){v=!0}}},{key:"handleEventStream",value:function(t,e,n,a,s,o,l){var u,c=t.streamHandlers,d=c.onOpen,p=c.onClose,h=c.abortStream;to(((u=t.connectSettings)==null?void 0:u.url)||t.url||"",V(V({},a),{},{openWhenHidden:!0,onopen:function(m){return _(f().mark(function g(){return f().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:if(!m.ok){S.next=2;break}return S.abrupt("return",d());case 2:return S.next=4,F.processResponseByType(m);case 4:throw S.sent;case 5:case"end":return S.stop()}},g)}))()},onmessage:function(m){return _(f().mark(function g(){var y,S,A,R;return f().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(JSON.stringify(m.data)===JSON.stringify("[DONE]")){T.next=9;break}try{A=JSON.parse(m.data)}catch(U){A={}}return T.next=4,(S=(y=t.deepChat).responseInterceptor)==null?void 0:S.call(y,A);case 4:if(T.t0=T.sent,T.t0){T.next=7;break}T.t0=A;case 7:R=T.t0,r.handleMessage(t,e,n,p,R,o,l);case 9:case"end":return T.stop()}},g)}))()},onerror:function(m){throw p(),m},onclose:function(){r.handleClose(t,n,p,s)},signal:h.signal})).catch(function(v){r.handleError(t,e,v)})}},{key:"handleMessage",value:function(t,e,n,a,s,o,l){var u;(u=t.extractResultData)==null||u.call(t,s,o,l).then(function(c){t.asyncCallInProgress&&c&&c.text!==""?(r.simulate(e,t.streamHandlers,c),a(),t.asyncCallInProgress=!1):r.upsertWFiles(e,n.upsertStreamedMessage.bind(n),n,c)}).catch(function(c){return F.displayError(e,c)})}},{key:"handleError",value:function(t,e,n){var a;e.isLastMessageError()||(a=t.extractResultData)==null||a.call(t,n).then(function(){F.displayError(e,n)}).catch(function(s){F.displayError(e,s)})}},{key:"handleClose",value:function(t,e,n,a){if(!t.asyncCallInProgress)try{e.finaliseStreamedMessage(),n()}catch(s){if(!a)throw s}}},{key:"simulate",value:function(){var i=_(f().mark(function e(n,a,s,o){var l,u,c,d,p,h;return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:return l=a,m.next=3,F.basicResponseProcessing(n,s,{io:o,useRI:!1});case 3:if(m.sent){m.next=5;break}return m.abrupt("return",a.onClose());case 5:if(Array.isArray(s)&&(s=s[0]),!s.files){m.next=10;break}return m.next=8,F.basicResponseProcessing(n,{files:s.files},{io:o});case 8:u=m.sent,n.addNewMessage(V({sendUpdate:!1,ignoreText:!0},u),!1);case 10:s.text&&(a.onOpen(),c=s.text.split(""),d=new Ee(n,o==null?void 0:o.stream),r.populateMessages(n,c,d,l,"text",0,o)),s.html&&(a.onOpen(),p=ge.splitHTML(s.html),p.length===0&&(p=s.html.split("")),h=new Ee(n,o==null?void 0:o.stream),r.populateMessages(n,p,h,l,"html",0,o)),s.error&&(F.displayError(n,s.error),a.onClose());case 13:case"end":return m.stop()}},e)}));function t(e,n,a,s){return i.apply(this,arguments)}return t}()},{key:"populateMessages",value:function(){var i=_(f().mark(function e(n,a,s,o,l,u,c){var d,p,h;return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:if(d=a[u],!d){m.next=10;break}return m.next=4,F.basicResponseProcessing(n,Vt({},l,d),{io:c});case 4:p=m.sent,r.upsertWFiles(n,s.upsertStreamedMessage.bind(s),s,p),h=setTimeout(function(){r.populateMessages(n,a,s,o,l,u+1,c)},o.simulationInterim||6),o.abortStream.abort=function(){r.abort(h,s,o.onClose)},m.next=11;break;case 10:s.finaliseStreamedMessage(),o.onClose();case 11:case"end":return m.stop()}},e)}));function t(e,n,a,s,o,l,u){return i.apply(this,arguments)}return t}()},{key:"isSimulation",value:function(t){return x(t)=="object"&&!!t.simulation}},{key:"isSimulatable",value:function(t,e){return r.isSimulation(t)&&e&&(e.text||e.html)}},{key:"abort",value:function(t,e,n){clearTimeout(t),e.finaliseStreamedMessage(),n()}},{key:"upsertWFiles",value:function(t,e,n,a){if(a&&Array.isArray(a)&&(a=a[0]),a!=null&&a.text||a!=null&&a.html){var s=e(a);n!=null||(n=s||void 0)}a!=null&&a.files&&(t.addNewMessage({files:a.files}),n==null||n.markFileAdded())}}])}(),ba=function(){function r(){b(this,r)}return k(r,null,[{key:"generateResponse",value:function(t){var e=t[t.length-1][0];if(e.files&&e.files.length>0){if(e.files.length>1)return"These are interesting files!";var n=e.files[0];return n.src&&n.src.startsWith("data:image/gif")?"That is a nice gif!":n.type==="image"?"That is a nice image!":n.type==="audio"?"I like the sound of that!":"That is an interesting file!"}if(e.text){if(e.text.charAt(e.text.length-1)==="?")return"I'm sorry but I can't answer that question...";if(e.text.includes("updog"))return"What's updog?"}return"Hi there! This is a demo response!"}},{key:"getCustomResponse",value:function(t,e){return typeof t=="function"?t(e):t}},{key:"getResponse",value:function(t){var e=t.customDemoResponse,n=t.messageToElements;return e?r.getCustomResponse(e,n[n.length-1][0]):{text:r.generateResponse(n)}}},{key:"request",value:function(t,e){var n=r.getResponse(e);setTimeout(_(f().mark(function a(){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return c.next=2,F.basicResponseProcessing(e,n,{io:t});case 2:if(s=c.sent,s){c.next=5;break}return c.abrupt("return",t.completionsHandlers.onFinish());case 5:o=Array.isArray(s)?s:[s],l=o.find(function(d){return typeof d.error=="string"}),l?(e.addNewErrorMessage("service",l.error),t.completionsHandlers.onFinish()):Y.isSimulatable(t.stream,s)?Y.simulate(e,t.streamHandlers,s):(o.forEach(function(d){return e.addNewMessage(d)}),t.completionsHandlers.onFinish());case 7:case"end":return c.stop()}},a)})),400)}},{key:"requestStream",value:function(t,e){setTimeout(function(){var n=r.getResponse(t);Y.simulate(t,e.streamHandlers,n,e)},400)}}])}();ba.URL="deep-chat-demo";var ke=ba,_t=function(){function r(){b(this,r)}return k(r,null,[{key:"setup",value:function(t){t.permittedErrorPrefixes=["Connection error","Error in server message"],t.websocket="pending"}},{key:"isElementPresentInDOM",value:function(t){return t.getRootNode({composed:!0})instanceof Document}},{key:"createConnection",value:function(t,e){if(r.isElementPresentInDOM(t.deepChat)){var n=t.connectSettings.websocket;if(n){if(t.connectSettings.handler)return Fn.websocket(t,e);try{var a=typeof n!="boolean"?n:void 0,s=new WebSocket(t.connectSettings.url||"",a);t.websocket=s,t.websocket.onopen=function(){var o,l;e.removeError(),t.websocket&&x(t.websocket)=="object"&&r.assignListeners(t,s,e),(l=(o=t.deepChat)._validationHandler)==null||l.call(o)},t.websocket.onerror=function(o){console.error(o),r.retryConnection(t,e)}}catch(o){console.error(o),r.retryConnection(t,e)}}}}},{key:"retryConnection",value:function(t,e){var n,a;(a=(n=t.deepChat)._validationHandler)==null||a.call(n),r.isElementPresentInDOM(t.deepChat)&&(t.websocket="pending",e.isLastMessageError()||e.addNewErrorMessage("service","Connection error"),setTimeout(function(){r.createConnection(t,e)},5e3))}},{key:"assignListeners",value:function(t,e,n){var a=this,s={};e.onmessage=function(){var o=_(f().mark(function l(u){var c,d,p,h,v,m;return f().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:if(!t.extractResultData){y.next=22;break}return y.prev=1,c=JSON.parse(u.data),y.next=5,F.basicResponseProcessing(n,c,{io:t,displayError:!1});case 5:if(d=y.sent,d){y.next=8;break}throw Error($.INVALID_RESPONSE(c,"server",!!t.deepChat.responseInterceptor,d));case 8:if(!Y.isSimulation(t.stream)){y.next=13;break}p=r.stream.bind(a,t,n,s),h=s[c.role||O.AI_ROLE],Y.upsertWFiles(n,p,h,d),y.next=17;break;case 13:if(v=Array.isArray(d)?d:[d],m=v.find(function(S){return typeof S.error=="string"}),!m){y.next=16;break}throw m.error;case 16:v.forEach(function(S){return n.addNewMessage(S)});case 17:y.next=22;break;case 19:y.prev=19,y.t0=y.catch(1),F.displayError(n,y.t0,"Error in server message");case 22:case"end":return y.stop()}},l,null,[[1,19]])}));return function(l){return o.apply(this,arguments)}}(),e.onclose=function(){console.error("Connection closed"),n.isLastMessageError()||n.addNewErrorMessage("service","Connection error"),t.stream&&t.streamHandlers.abortStream.abort(),r.createConnection(t,n)}}},{key:"sendWebsocket",value:function(){var i=_(f().mark(function e(n,a,s){var o,l,u,c,d,p,h,v,m,g=arguments;return f().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:if(o=g.length>3&&g[3]!==void 0?g[3]:!0,((l=n.connectSettings)==null?void 0:l.url)!==ke.URL){S.next=3;break}return S.abrupt("return",ke.request(n,s));case 3:if(c=n.websocket,!(!c||c==="pending")){S.next=6;break}return S.abrupt("return");case 6:return d={body:a,headers:(u=n.connectSettings)==null?void 0:u.headers},S.next=9,F.processRequestInterceptor(n.deepChat,d);case 9:if(p=S.sent,h=p.body,v=p.error,!v){S.next=14;break}return S.abrupt("return",s.addNewErrorMessage("service",v));case 14:if(r.isWebSocket(c)){S.next=16;break}return S.abrupt("return",c.newUserMessage.listener(h));case 16:m=o?JSON.stringify(h):h,c.readyState===void 0||c.readyState!==c.OPEN?(console.error("Connection is not open"),s.isLastMessageError()||s.addNewErrorMessage("service","Connection error")):(c.send(JSON.stringify(m)),n.completionsHandlers.onFinish());case 18:case"end":return S.stop()}},e)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"canSendMessage",value:function(t){return t?t==="pending"?!1:r.isWebSocket(t)?t.readyState!==void 0&&t.readyState===t.OPEN:t.isOpen:!0}},{key:"isWebSocket",value:function(t){return t.send!==void 0}},{key:"stream",value:function(t,e,n,a){if(a){var s=t.stream.simulation;if(typeof s=="string"){var o,l=a.role||O.AI_ROLE,u=n[l];a.text===s||a.html===s?(u==null||u.finaliseStreamedMessage(),delete n[l]):((o=n[l])!==null&&o!==void 0||(n[l]=new Ee(e,t.stream)),n[l].upsertStreamedMessage(a))}else Y.simulate(e,t.streamHandlers,a)}}}])}(),Fn=function(){function r(){b(this,r)}return k(r,null,[{key:"request",value:function(){var i=_(f().mark(function e(n,a,s){var o,l,u,c,d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:u=!0,c=function(){var v=_(f().mark(function m(g){var y,S,A;return f().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if(u){C.next=2;break}return C.abrupt("return");case 2:return u=!1,C.next=5,F.basicResponseProcessing(s,g,{io:n,displayError:!1});case 5:y=C.sent,y?(S=Array.isArray(y)?y:[y],A=S.find(function(T){return typeof T.error=="string"}),A?(console.error(A.error),s.addNewErrorMessage("service",A.error),n.completionsHandlers.onFinish()):Y.isSimulatable(n.stream,y)?Y.simulate(s,n.streamHandlers,y):(S.forEach(function(T){return s.addNewMessage(T)}),n.completionsHandlers.onFinish())):(console.error($.INVALID_RESPONSE(g,"server",!!n.deepChat.responseInterceptor,y)),s.addNewErrorMessage("service","Error in server message"),n.completionsHandlers.onFinish());case 7:case"end":return C.stop()}},m)}));return function(g){return v.apply(this,arguments)}}(),d=r.generateOptionalSignals(),(l=(o=n.connectSettings).handler)==null||l.call(o,a,V(V({},d),{},{onResponse:c}));case 3:case"end":return h.stop()}},e)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"attemptToFinaliseStream",value:function(t,e){try{var n=e.messageElementRefs[e.messageElementRefs.length-1];he.isLoadingMessage(n)?e.removeLastMessage():t.finaliseStreamedMessage()}catch(a){console.error(a),e.addNewErrorMessage("service",a)}}},{key:"stream",value:function(t,e,n){var a,s,o=!0,l=!1,u=new Ee(n,t.stream),c=function(){l||!o||(t.streamHandlers.onOpen(),l=!0)},d=function(){o&&(r.attemptToFinaliseStream(u,n),t.streamHandlers.onClose(),o=!1)},p=function(){var v=_(f().mark(function m(g){var y,S;return f().wrap(function(R){for(;;)switch(R.prev=R.next){case 0:if(o){R.next=2;break}return R.abrupt("return");case 2:return R.next=4,F.basicResponseProcessing(n,g,{io:t,displayError:!1});case 4:y=R.sent,y?y.error?(r.streamError(y.error,u,t,n),o=!1):Y.upsertWFiles(n,u.upsertStreamedMessage.bind(u),u,y):(S=$.INVALID_RESPONSE(g,"server",!!t.deepChat.responseInterceptor,y),r.streamError(S,u,t,n),o=!1);case 6:case"end":return R.stop()}},m)}));return function(g){return v.apply(this,arguments)}}();t.streamHandlers.abortStream.abort=function(){r.attemptToFinaliseStream(u,n),t.streamHandlers.onClose(),o=!1};var h=r.generateOptionalSignals();(s=(a=t.connectSettings).handler)==null||s.call(a,e,V(V({},h),{},{onOpen:c,onResponse:p,onClose:d,stopClicked:t.streamHandlers.stopClicked}))}},{key:"streamError",value:function(t,e,n,a){console.error(t),e.finaliseStreamedMessage(),a.addNewErrorMessage("service",t),n.streamHandlers.onClose()}},{key:"websocket",value:function(t,e){var n=this,a,s,o={isOpen:!1,newUserMessage:{listener:function(){}},roleToStream:{}};t.websocket=o;var l=function(){e.removeError(),o.isOpen=!0},u=function(){o.isOpen=!1},c=function(){var p=_(f().mark(function h(v){var m,g,y,S,A,R;return f().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(o.isOpen){T.next=2;break}return T.abrupt("return");case 2:return T.next=4,F.basicResponseProcessing(e,v,{io:t,displayError:!1});case 4:m=T.sent,m?(g=Array.isArray(m)?m:[m],y=g.find(function(U){return typeof U.error=="string"}),y?(console.error(y.error),e.isLastMessageError()||e.addNewErrorMessage("service",y.error)):Y.isSimulation(t.stream)?(S=m,A=_t.stream.bind(n,t,e,o.roleToStream),R=o.roleToStream[S.role||O.AI_ROLE],Y.upsertWFiles(e,A,R,S)):g.forEach(function(U){return e.addNewMessage(U)})):(console.error($.INVALID_RESPONSE(v,"server",!!t.deepChat.responseInterceptor,m)),e.addNewErrorMessage("service","Error in server message"));case 6:case"end":return T.stop()}},h)}));return function(v){return p.apply(this,arguments)}}(),d=r.generateOptionalSignals();(s=(a=t.connectSettings).handler)==null||s.call(a,void 0,V(V({},d),{},{onOpen:l,onResponse:c,onClose:u,newUserMessage:o.newUserMessage}))}},{key:"generateOptionalSignals",value:function(){return{onClose:function(){},onOpen:function(){},stopClicked:{listener:function(){}},newUserMessage:{listener:function(){}}}}}])}(),W=function(){function r(){b(this,r)}return k(r,null,[{key:"request",value:function(){var i=_(f().mark(function e(n,a,s){var o,l,u,c,d,p,h,v,m,g,y,S,A=arguments;return f().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:return o=A.length>3&&A[3]!==void 0?A[3]:!0,d={body:a,headers:(l=n.connectSettings)==null?void 0:l.headers},C.next=4,F.processRequestInterceptor(n.deepChat,d);case 4:if(p=C.sent,h=p.body,v=p.headers,m=p.error,g=n.completionsHandlers.onFinish,!m){C.next=11;break}return C.abrupt("return",F.onInterceptorError(s,m,g));case 11:if(!((u=n.connectSettings)!=null&&u.handler)){C.next=13;break}return C.abrupt("return",Fn.request(n,h,s));case 13:if(((c=n.connectSettings)==null?void 0:c.url)!==ke.URL){C.next=15;break}return C.abrupt("return",ke.request(n,s));case 15:y=!0,S=F.fetch.bind(this,n,v,o),S(h).then(function(T){return y=!!T.ok,T}).then(function(T){return F.processResponseByType(T)}).then(function(){var T=_(f().mark(function U(P){var K,I,w,E;return f().wrap(function(M){for(;;)switch(M.prev=M.next){case 0:if(n.extractResultData){M.next=2;break}return M.abrupt("return");case 2:return M.next=4,(I=(K=n.deepChat).responseInterceptor)==null?void 0:I.call(K,P);case 4:if(M.t0=M.sent,M.t0){M.next=7;break}M.t0=P;case 7:return w=M.t0,M.next=10,n.extractResultData(w,S,h);case 10:if(E=M.sent,y){M.next=13;break}throw P;case 13:if(!(!E||x(E)!="object"&&!Array.isArray(E))){M.next=15;break}throw Error($.INVALID_RESPONSE(P,"response",!!n.deepChat.responseInterceptor,w));case 15:E.makingAnotherRequest||(Y.isSimulatable(n.stream,E)?Y.simulate(s,n.streamHandlers,E):((Array.isArray(E)?E:[E]).forEach(function(z){return s.addNewMessage(z)}),g()));case 16:case"end":return M.stop()}},U)}));return function(U){return T.apply(this,arguments)}}()).catch(function(T){F.displayError(s,T),g()});case 18:case"end":return C.stop()}},e,this)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"executePollRequest",value:function(t,e,n,a){var s=t.completionsHandlers.onFinish;fetch(e,n).then(function(o){return o.json()}).then(function(){var o=_(f().mark(function l(u){var c,d,p;return f().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(t.extractPollResultData){v.next=2;break}return v.abrupt("return");case 2:return v.t0=t,v.next=5,(d=(c=t.deepChat).responseInterceptor)==null?void 0:d.call(c,u);case 5:if(v.t1=v.sent,v.t1){v.next=8;break}v.t1=u;case 8:return v.t2=v.t1,v.next=11,v.t0.extractPollResultData.call(v.t0,v.t2);case 11:p=v.sent,p.timeoutMS?setTimeout(function(){r.executePollRequest(t,e,n,a)},p.timeoutMS):Y.isSimulatable(t.stream,p)?Y.simulate(a,t.streamHandlers,p):(a.addNewMessage(p),s());case 13:case"end":return v.stop()}},l)}));return function(l){return o.apply(this,arguments)}}()).catch(function(o){F.displayError(a,o),s()})}},{key:"poll",value:function(){var i=_(f().mark(function e(n,a,s){var o,l,u,c,d,p,h,v,m,g,y,S,A,R=arguments;return f().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:return o=R.length>3&&R[3]!==void 0?R[3]:!0,d={body:a,headers:(l=n.connectSettings)==null?void 0:l.headers},T.next=4,F.processRequestInterceptor(n.deepChat,d);case 4:if(p=T.sent,h=p.body,v=p.headers,m=p.error,!m){T.next=10;break}return T.abrupt("return",F.onInterceptorError(s,m));case 10:g=((u=n.connectSettings)==null?void 0:u.url)||n.url||"",y=((c=n.connectSettings)==null?void 0:c.method)||"POST",S=o?JSON.stringify(h):h,A={method:y,body:S,headers:v},n.connectSettings.credentials&&(A.credentials=n.connectSettings.credentials),r.executePollRequest(n,g,A,s);case 12:case"end":return T.stop()}},e)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"verifyKey",value:function(t,e,n,a,s,o,l,u,c){if(t==="")return o($.INVALID_KEY);l(),fetch(e,{method:a,headers:n,body:c||null}).then(function(d){return F.processResponseByType(d)}).then(function(d){u(d,t,s,o)}).catch(function(d){o($.CONNECTION_FAILED),console.error(d)})}}])}(),ka=function(){function r(i,t,e){b(this,r),this._isLoading=!1,this._isPaginationComplete=!1,this._index=0,this._messages=t,e.fetchHistory&&this.fetchHistory(e.fetchHistory),i.loadHistory&&this.setupLoadHistoryOnScroll(i.loadHistory),this.setupInitialHistory(i)}return k(r,[{key:"fetchHistory",value:function(){var i=_(f().mark(function e(n){var a=this,s,o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return s=Ie.addMessage(this._messages),u.next=3,n();case 3:o=u.sent,this._messages.removeMessage(s),r.displayIntroMessages(this._messages.messageElementRefs),o.forEach(function(c){return a._messages.addAnyMessage(c,!0)}),setTimeout(function(){return ie.scrollToBottom(a._messages.elementRef)},0);case 5:case"end":return u.stop()}},e,this)}));function t(e){return i.apply(this,arguments)}return t}()},{key:"processLoadedHistory",value:function(t){var e=this,n,a=this._messages,s=a.messageElementRefs,o=a.messageToElements,l=a.elementRef,u=(n=s.find(function(d){return!d.outerContainer.classList.contains(he.INTRO_CLASS)}))==null?void 0:n.outerContainer,c=l.scrollTop;t==null||t.reverse().map(function(d){var p=e._messages.addAnyMessage(V(V({},d),{},{sendUpdate:!0}),!0,!0);if(p){var h=O.generateMessageBody(p,s,!0);o.unshift([p,h])}return p}).filter(function(d){return!!d}).reverse().forEach(function(d){return e._messages.sendClientUpdate(d,!0)}),u&&(l.scrollTop=c+u.offsetTop-40)}},{key:"populateMessages",value:function(t,e){this._messages.removeMessage(t),this._isPaginationComplete=e.findIndex(function(u){return!u})<0;var n=e.filter(function(u){return!!u});this.processLoadedHistory(n);var a=this._messages,s=a.messageElementRefs,o=a.avatar,l=a.name;O.resetAllRoleElements(s,o,l)}},{key:"setupLoadHistoryOnScroll",value:function(){var i=_(f().mark(function e(n){var a=this;return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:this._messages.elementRef.onscroll=_(f().mark(function l(){var u,c;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(!(!a._isLoading&&!a._isPaginationComplete&&a._messages.elementRef.scrollTop===0)){p.next=13;break}return a._isLoading=!0,u=Ie.addMessage(a._messages,!1),p.prev=3,p.next=6,n(a._index++);case 6:c=p.sent,a.populateMessages(u,c),a._isLoading=!1,p.next=13;break;case 10:p.prev=10,p.t0=p.catch(3),a._messages.removeMessage(u),a._isPaginationComplete=!0,a._messages.addNewErrorMessage("service",r.FAILED_ERROR_MESSAGE,!0),console.error(p.t0);case 13:case"end":return p.stop()}},l,null,[[3,10]])}));case 1:case"end":return o.stop()}},e,this)}));function t(e){return i.apply(this,arguments)}return t}()},{key:"populateInitialHistory",value:function(t){var e=this;t.forEach(function(n){oe.processHistoryFile(n),e._messages.addAnyMessage(n,!0)})}},{key:"loadInitialHistory",value:function(){var i=_(f().mark(function e(n){var a=this,s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return this._isLoading=!0,s=Ie.addMessage(this._messages),c.prev=2,c.next=5,n(this._index++);case 5:o=c.sent,l=this._messages.elementRef.scrollTop,this.populateMessages(s,o),l===0&&setTimeout(function(){return ie.scrollToBottom(a._messages.elementRef)},0),c.next=13;break;case 10:c.prev=10,c.t0=c.catch(2),this._messages.removeMessage(s),this._isPaginationComplete=!0,this._messages.addNewErrorMessage("service",r.FAILED_ERROR_MESSAGE,!0),console.error(c.t0);case 13:r.displayIntroMessages(this._messages.messageElementRefs),this._isLoading=!1;case 14:case"end":return c.stop()}},e,this,[[2,10]])}));function t(e){return i.apply(this,arguments)}return t}()},{key:"setupInitialHistory",value:function(){var i=_(f().mark(function e(n){var a,s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:n.loadHistory&&this.loadInitialHistory(n.loadHistory),s=n.history||oe.processHistory(n)||((a=this._messages.browserStorage)==null?void 0:a.get()),s&&(this.populateInitialHistory(s),this._index+=1);case 3:case"end":return l.stop()}},e,this)}));function t(e){return i.apply(this,arguments)}return t}()}],[{key:"addErrorPrefix",value:function(t){var e;(e=t.permittedErrorPrefixes)!==null&&e!==void 0||(t.permittedErrorPrefixes=[]),t.permittedErrorPrefixes.push(r.FAILED_ERROR_MESSAGE)}},{key:"displayIntroMessages",value:function(t){for(var e=0;e<t.length;e+=1){var n=t[0];if(n.outerContainer.classList.contains(he.INTRO_CLASS))n.outerContainer.style.display="";else break}}}])}();ka.FAILED_ERROR_MESSAGE="Failed to load history";var Un=ka,Wt=function(){function r(){b(this,r)}return k(r,null,[{key:"getCharacterLimitMessages",value:function(t,e){var n;if(e===-1)return t;var a=0,s=t.length-1;for(s;s>=0;s-=1){var o=(n=t[s])==null?void 0:n.text;if(o!==void 0&&(a+=o.length,a>e)){t[s].text=o.substring(0,o.length-(a-e));break}}return t.slice(Math.max(s,0))}},{key:"getMaxMessages",value:function(t,e){return t.slice(Math.max(t.length-e,0))}},{key:"processMessages",value:function(t,e,n){return e!==void 0?e>0&&(t=r.getMaxMessages(t,e)):t=[t[t.length-1]],t=JSON.parse(JSON.stringify(t)),n===void 0?t:r.getCharacterLimitMessages(t,n)}}])}(),ro=function(){function r(){b(this,r)}return k(r,null,[{key:"parseConfig",value:function(t,e,n,a){var s,o={files:e};if(x(a)=="object"){oe.processFileConfigConnect(a);var l=a.files,u=a.connect,c=a.button;l&&(l.infoModal&&(o.files.infoModal=l.infoModal,(s=l.infoModal)!=null&&s.textMarkDown&&(o.infoModalTextMarkUp=n.render(l.infoModal.textMarkDown))),l.acceptedFormats&&(o.files.acceptedFormats=l.acceptedFormats),l.maxNumberOfFiles&&(o.files.maxNumberOfFiles=l.maxNumberOfFiles)),o.button=c,u&&(u.headers||u.method||u.url||u.credentials||t.headers||t.method||t.url||t.credentials)&&(o.connect={url:(u==null?void 0:u.url)||t.url,method:(u==null?void 0:u.method)||t.method,headers:(u==null?void 0:u.headers)||t.headers,credentials:(u==null?void 0:u.credentials)||t.credentials})}return o}},{key:"processMixedFiles",value:function(t,e,n){if(n){var a={acceptedFormats:""};t.fileTypes.mixedFiles=r.parseConfig(t.connectSettings,a,e,n)}}},{key:"processMicrophone",value:function(t,e,n,a){var s,o,l,u,c,d,p,h,v=V({acceptedFormats:"audio/*"},((l=t.fileTypes.audio)==null?void 0:l.files)||{});n&&(navigator.mediaDevices.getUserMedia!==void 0?(t.recordAudio=r.parseConfig(t.connectSettings,v,e,n),x(n)=="object"&&n.files&&((s=(u=t.recordAudio).files)!==null&&s!==void 0||(u.files={}),t.recordAudio.files.format=(c=n.files)==null?void 0:c.format,t.recordAudio.files.maxDurationSeconds=(d=n.files)==null?void 0:d.maxDurationSeconds,(p=t.fileTypes.audio)!=null&&p.files&&((o=(h=t.fileTypes.audio.files).maxNumberOfFiles)!==null&&o!==void 0||(h.maxNumberOfFiles=n.files.maxNumberOfFiles)))):a||(t.fileTypes.audio=r.parseConfig(t.connectSettings,v,e,n)))}},{key:"processAudioConfig",value:function(t,e,n,a){if(!(!n&&!a)){var s=V({acceptedFormats:"audio/*"},(a==null?void 0:a.files)||{});t.fileTypes.audio=r.parseConfig(t.connectSettings,s,e,n)}}},{key:"processGifConfig",value:function(t,e,n,a){if(!(!n&&!a)){var s=V({acceptedFormats:"image/gif"},(a==null?void 0:a.files)||{});t.fileTypes.gifs=r.parseConfig(t.connectSettings,s,e,n)}}},{key:"processCamera",value:function(t,e,n,a){var s,o,l,u,c,d=V({acceptedFormats:"image/*"},((o=t.fileTypes.images)==null?void 0:o.files)||{});n&&(navigator.mediaDevices.getUserMedia!==void 0?(t.camera=r.parseConfig(t.connectSettings,d,e,n),x(n)=="object"&&(t.camera.modalContainerStyle=n.modalContainerStyle,n.files&&((s=(l=t.camera).files)!==null&&s!==void 0||(l.files={}),t.camera.files.format=(u=n.files)==null?void 0:u.format,t.camera.files.dimensions=(c=n.files)==null?void 0:c.dimensions))):a||(t.fileTypes.images=r.parseConfig(t.connectSettings,d,e,n)))}},{key:"processImagesConfig",value:function(t,e,n,a){if(!(!n&&!a)){var s=V({acceptedFormats:"image/*"},(a==null?void 0:a.files)||{});t.fileTypes.images=r.parseConfig(t.connectSettings,s,e,n)}}},{key:"populateDefaultFileIO",value:function(t,e){var n,a,s,o,l;t&&((n=t.files)!==null&&n!==void 0||(t.files={}),(a=(o=t.files).acceptedFormats)!==null&&a!==void 0||(o.acceptedFormats=e),(s=(l=t.files).maxNumberOfFiles)!==null&&s!==void 0||(l.maxNumberOfFiles=1))}},{key:"set",value:function(t,e,n){r.populateDefaultFileIO(n==null?void 0:n.audio,".4a,.mp3,.webm,.mp4,.mpga,.wav,.mpeg,.m4a"),r.populateDefaultFileIO(n==null?void 0:n.images,".png,.jpg");var a=mn.createNew(t.remarkable);r.processImagesConfig(e,a,t.images,n==null?void 0:n.images),r.processCamera(e,a,t.camera,t.images),r.processGifConfig(e,a,t.gifs,n==null?void 0:n.gifs),r.processAudioConfig(e,a,t.audio,n==null?void 0:n.audio),r.processMicrophone(e,a,t.microphone,t.audio),r.processMixedFiles(e,a,t.mixedFiles)}}])}(),zt=function(){function r(i,t,e){var n;b(this,r);var a,s,o,l,u;this.rawBody={},this.validateKeyProperty=!1,this.canSendMessage=r.canSendMessage,this.connectSettings={},this.fileTypes={},this.completionsHandlers={},this.streamHandlers={},this.deepChat=i,this.demo=e,Object.assign(this.rawBody,(a=i.connect)==null?void 0:a.additionalBodyProps),this.totalMessagesMaxCharLength=(s=i==null?void 0:i.requestBodyLimits)==null?void 0:s.totalMessagesMaxCharLength,this.maxMessages=(o=i==null?void 0:i.requestBodyLimits)==null?void 0:o.maxMessages,ro.set(i,this,t),i.connect&&(this.connectSettings=i.connect),this.demo&&((n=(l=this.connectSettings).url)!==null&&n!==void 0||(l.url=ke.URL)),this.connectSettings.websocket&&_t.setup(this),this.stream=((u=this.deepChat.connect)==null?void 0:u.stream)||oe.checkForStream(this.deepChat),i.loadHistory&&Un.addErrorPrefix(this)}return k(r,[{key:"verifyKey",value:function(t,e){}},{key:"getServiceIOByType",value:function(t){if(t.type.startsWith("audio")&&this.fileTypes.audio)return this.fileTypes.audio;if(t.type.startsWith("image")){if(this.fileTypes.gifs&&t.type.endsWith("/gif"))return this.fileTypes.gifs;if(this.fileTypes.images)return this.fileTypes.images;if(this.camera)return this.camera}return this.fileTypes.mixedFiles}},{key:"request",value:function(){var i=_(f().mark(function e(n,a){var s,o=arguments;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return s=o.length>2&&o[2]!==void 0?o[2]:!0,u.abrupt("return",this.stream&&!Y.isSimulation(this.stream)?Y.request(this,n,a,s):W.request(this,n,a,s));case 2:case"end":return u.stop()}},e,this)}));function t(e,n){return i.apply(this,arguments)}return t}()},{key:"callAPIWithText",value:function(){var i=_(f().mark(function e(n,a){var s,o,l,u,c,d,p,h;return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:return p=V({messages:a},this.rawBody),h=!1,(l=this.connectSettings.headers)!=null&&l["Content-Type"]||((s=(u=this.connectSettings).headers)!==null&&s!==void 0||(u.headers={}),(o=(c=this.connectSettings.headers)["Content-Type"])!==null&&o!==void 0||(c["Content-Type"]="application/json"),h=!0),m.next=5,this.request(p,n);case 5:h&&((d=this.connectSettings.headers)==null||delete d["Content-Type"]);case 6:case"end":return m.stop()}},e,this)}));function t(e,n){return i.apply(this,arguments)}return t}()},{key:"callApiWithFiles",value:function(){var i=_(f().mark(function e(n,a,s){var o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return o=r.createCustomFormDataBody(this.rawBody,a,s),l=this.connectSettings,u=this.getServiceIOByType(s[0]),this.connectSettings=(u==null?void 0:u.connect)||this.connectSettings,d.next=4,this.request(o,n,!1);case 4:this.connectSettings=l;case 5:case"end":return d.stop()}},e,this)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"callServiceAPI",value:function(){var i=_(f().mark(function e(n,a,s){return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:s?this.callApiWithFiles(n,a,s):this.callAPIWithText(n,a);case 1:case"end":return l.stop()}},e,this)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"callAPI",value:function(){var i=_(f().mark(function e(n,a){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.connectSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:o=Wt.processMessages(a.messageToElements.map(function(d){var p=xe(d,1),h=p[0];return h}),this.maxMessages,this.totalMessagesMaxCharLength),this.connectSettings.websocket&&(!this.connectSettings.handler||this.connectSettings.url!==ke.URL)?(l=V({messages:o},this.rawBody),n.files&&(s=this.getServiceIOByType(n.files[0]))!=null&&s.connect?this.callApiWithFiles(a,o,n.files):_t.sendWebsocket(this,l,a,!1)):this.callServiceAPI(a,o,n.files);case 4:case"end":return c.stop()}},e,this)}));function t(e,n){return i.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var i=_(f().mark(function e(n){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!n.result){s.next=2;break}return s.abrupt("return",oe.handleResponseProperty(n));case 2:if(!F.validateResponseFormat(n,!!this.stream)){s.next=4;break}return s.abrupt("return",n);case 4:case"end":return s.stop()}},e,this)}));function t(e){return i.apply(this,arguments)}return t}()},{key:"isDirectConnection",value:function(){return!1}},{key:"isWebModel",value:function(){return!1}},{key:"isCustomView",value:function(){return!1}}],[{key:"canSendMessage",value:function(t,e,n){return n?!0:!!(t&&t.trim()!=="")||!!(e&&e.length>0)}},{key:"createCustomFormDataBody",value:function(t,e,n){var a=new FormData;n.forEach(function(l){return a.append("files",l)}),Object.keys(t).forEach(function(l){return a.append(l,String(t[l]))});var s=0;e.slice(0,e.length-1).forEach(function(l){a.append("message".concat(s+=1),JSON.stringify(l))});var o=e[e.length-1];return o.text&&(delete o.files,a.append("message".concat(s+=1),JSON.stringify(o))),a}}])}(),te=function(r){function i(t,e,n,a,s){var o;b(this,i);var l;return o=N(this,i,[t,s]),o.insertKeyPlaceholderText="API Key",o.keyHelpUrl="",Object.assign(o.rawBody,(l=t.connect)==null?void 0:l.additionalBodyProps),o._keyVerificationDetails=e,o._buildHeadersFunc=n,a&&o.setApiKeyProperties(a),o.connectSettings=o.buildConnectSettings(o.key||"",t.connect),o}return B(i,r),k(i,[{key:"setApiKeyProperties",value:function(e){this.key=e.key,e.validateKeyProperty&&(this.validateKeyProperty=e.validateKeyProperty)}},{key:"buildConnectSettings",value:function(e,n){var a,s=n!=null?n:{};return(a=s.headers)!==null&&a!==void 0||(s.headers={}),Object.assign(s.headers,this._buildHeadersFunc(e)),s}},{key:"keyAuthenticated",value:function(e,n){this.connectSettings=this.buildConnectSettings(n,this.connectSettings),this.key=n,e()}},{key:"verifyKey",value:function(e,n){var a=this._keyVerificationDetails,s=a.url,o=a.method,l=a.handleVerificationResult,u=a.createHeaders,c=a.body,d=(u==null?void 0:u(e))||this._buildHeadersFunc(e);W.verifyKey(e,s,d,o,this.keyAuthenticated.bind(this,n.onSuccess),n.onFail,n.onLoad,l,c)}},{key:"isDirectConnection",value:function(){return!0}}])}(zt),ao=function(){function r(){b(this,r)}return k(r,null,[{key:"waitForPropertiesToBeUpdatedBeforeRender",value:function(t){t._propUpdated_=!1,setTimeout(function(){t._propUpdated_?r.waitForPropertiesToBeUpdatedBeforeRender(t):(t._waitingToRender_=!1,t.onRender())})}},{key:"attemptRender",value:function(t){t._propUpdated_=!0,t._waitingToRender_||(t._waitingToRender_=!0,r.waitForPropertiesToBeUpdatedBeforeRender(t))}}])}(),bn=function(r){function i(){var t;return b(this,i),t=N(this,i),t._waitingToRender_=!1,t._propUpdated_=!1,Object.keys(i._attributeToProperty_).forEach(function(e){var n=i._attributeToProperty_[e];t.constructPropertyAccessors(n),t.hasOwnProperty(e)||t.constructPropertyAccessors(n,e)}),t}return B(i,r),k(i,[{key:"constructPropertyAccessors",value:function(e,n){var a;Object.defineProperty(this,n||e,{get:function(){return a},set:function(o){a=o,n?this[e]=o:ao.attemptRender(this)}})}},{key:"attributeChangedCallback",value:function(e,n,a){if(n!==a){var s=i._attributes_[e](a),o=i._attributeToProperty_[e];this[o]=s}}},{key:"onRender",value:function(){}}],[{key:"observedAttributes",get:function(){return Object.keys(i._attributes_)||[]}}])}(on(HTMLElement));bn._attributes_={},bn._attributeToProperty_={};var io=bn,so=`<?xml version="1.0" standalone="no"?>
<svg version="1.1"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0.9em" height="0.9em"
viewBox="0 0 1200 1200" enable-background="new 0 0 1200 1200">
<path d="
M669.727,273.516c-22.891-2.476-46.15-3.895-69.727-4.248c-103.025,0.457-209.823,25.517-310.913,73.536
c-75.058,37.122-148.173,89.529-211.67,154.174C46.232,529.978,6.431,577.76,0,628.74c0.76,44.162,48.153,98.67,77.417,131.764
c59.543,62.106,130.754,113.013,211.67,154.174c2.75,1.335,5.51,2.654,8.276,3.955l-75.072,131.102l102.005,60.286l551.416-960.033
l-98.186-60.008L669.727,273.516z M902.563,338.995l-74.927,129.857c34.47,44.782,54.932,100.006,54.932,159.888
c0,149.257-126.522,270.264-282.642,270.264c-6.749,0-13.29-0.728-19.922-1.172l-49.585,85.84c22.868,2.449,45.99,4.233,69.58,4.541
c103.123-0.463,209.861-25.812,310.84-73.535c75.058-37.122,148.246-89.529,211.743-154.174
c31.186-32.999,70.985-80.782,77.417-131.764c-0.76-44.161-48.153-98.669-77.417-131.763
c-59.543-62.106-130.827-113.013-211.743-154.175C908.108,341.478,905.312,340.287,902.563,338.995L902.563,338.995z
M599.927,358.478c6.846,0,13.638,0.274,20.361,0.732l-58.081,100.561c-81.514,16.526-142.676,85.88-142.676,168.897
c0,20.854,3.841,40.819,10.913,59.325c0.008,0.021-0.008,0.053,0,0.074l-58.228,100.854
c-34.551-44.823-54.932-100.229-54.932-160.182C317.285,479.484,443.808,358.477,599.927,358.478L599.927,358.478z M768.896,570.513
L638.013,797.271c81.076-16.837,141.797-85.875,141.797-168.603C779.81,608.194,775.724,588.729,768.896,570.513L768.896,570.513z"
/>
</svg>
`,oo=`<?xml version="1.0" standalone="no"?>
<svg version="1.1"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0.9em" height="0.9em"
viewBox="0 0 1200 1200" enable-background="new 0 0 1200 1200">
<path id="path6686" inkscape:connector-curvature="0" d="M779.843,599.925c0,95.331-80.664,172.612-180.169,172.612
c-99.504,0-180.168-77.281-180.168-172.612c0-95.332,80.664-172.612,180.168-172.612
C699.179,427.312,779.843,504.594,779.843,599.925z M600,240.521c-103.025,0.457-209.814,25.538-310.904,73.557
c-75.058,37.122-148.206,89.496-211.702,154.141C46.208,501.218,6.431,549,0,599.981c0.76,44.161,48.13,98.669,77.394,131.763
c59.543,62.106,130.786,113.018,211.702,154.179c94.271,45.751,198.616,72.092,310.904,73.557
c103.123-0.464,209.888-25.834,310.866-73.557c75.058-37.122,148.243-89.534,211.74-154.179
c31.185-32.999,70.962-80.782,77.394-131.763c-0.76-44.161-48.13-98.671-77.394-131.764
c-59.543-62.106-130.824-112.979-211.74-154.141C816.644,268.36,712.042,242.2,600,240.521z M599.924,329.769
c156.119,0,282.675,120.994,282.675,270.251c0,149.256-126.556,270.25-282.675,270.25S317.249,749.275,317.249,600.02
C317.249,450.763,443.805,329.769,599.924,329.769L599.924,329.769z"/>
</svg>
`,ye=function(){function r(){b(this,r)}return k(r,null,[{key:"createSVGElement",value:function(t){return new DOMParser().parseFromString(t,"image/svg+xml").documentElement}}])}(),Sa=function(){function r(){b(this,r)}return k(r,null,[{key:"changeVisibility",value:function(t,e,n,a){a.target.id===r.VISIBLE_ICON_ID?(e.style.display="none",n.style.display="block",t.type="password"):(e.style.display="block",n.style.display="none",t.type="text")}},{key:"createIconElement",value:function(t,e){var n=ye.createSVGElement(t);return n.id=e,n.classList.add("visibility-icon"),n}},{key:"create",value:function(t){var e=document.createElement("div");e.id="visibility-icon-container";var n=r.createIconElement(oo,r.VISIBLE_ICON_ID);n.style.display="none",e.appendChild(n);var a=r.createIconElement(so,"not-visible-icon");return e.appendChild(a),e.onclick=r.changeVisibility.bind(this,t,n,a),e}}])}();Sa.VISIBLE_ICON_ID="visible-icon";var lo=Sa,uo=function(){function r(){b(this,r)}return k(r,null,[{key:"createCautionText",value:function(){var t=document.createElement("a");return t.classList.add("insert-key-input-help-text"),t.innerText="Please exercise CAUTION when inserting your API key outside of deepchat.dev or localhost!!",t}},{key:"createHelpLink",value:function(t){var e=document.createElement("a");return e.classList.add("insert-key-input-help-text"),e.href=t,e.innerText="Find more info here",e.target="_blank",e}},{key:"createFailText",value:function(){var t=document.createElement("div");return t.id="insert-key-input-invalid-text",t.style.display="none",t}},{key:"createHelpTextContainer",value:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=document.createElement("div");n.id="insert-key-help-text-container";var a=document.createElement("div");a.id="insert-key-help-text-contents";var s=r.createFailText();if(a.appendChild(s),t){var o=r.createHelpLink(t);a.appendChild(o)}if(e===!0){var l=r.createCautionText();a.appendChild(l)}return n.appendChild(a),{helpTextContainerElement:n,failTextElement:s}}},{key:"onFail",value:function(t,e,n,a){t.classList.replace("insert-key-input-valid","insert-key-input-invalid"),n.innerText=a,n.style.display="block",e.innerText="Start",t.classList.remove("loading")}},{key:"onLoad",value:function(t,e){t.classList.add("loading"),e.innerHTML='<div id="loading-key"></div>'}},{key:"verifyKey",value:function(t,e,n){var a=t.value.trim();n.verifyKey(a,e)}},{key:"addVerificationEvents",value:function(t,e,n,a,s){var o={onSuccess:a,onFail:r.onFail.bind(this,t,e,n),onLoad:r.onLoad.bind(this,t,e)},l=r.verifyKey.bind(this,t,o,s);e.onclick=l,t.onkeydown=function(u){!t.classList.contains("loading")&&u.key===ee.ENTER&&l()}}},{key:"createStartButton",value:function(){var t=document.createElement("div");return t.id="start-button",t.innerText="Start",t}},{key:"onInputFocus",value:function(t){t.target.classList.replace("insert-key-input-invalid","insert-key-input-valid")}},{key:"createInput",value:function(t){var e=document.createElement("div");e.id="insert-key-input-container";var n=document.createElement("input");return n.id="insert-key-input",n.placeholder=t||"API Key",n.type="password",n.classList.add("insert-key-input-valid"),n.onfocus=r.onInputFocus,e.appendChild(n),e}},{key:"createContents",value:function(t,e){var n,a=document.createElement("div");a.id="insert-key-contents";var s=r.createInput(e.insertKeyPlaceholderText),o=s.children[0],l=lo.create(o);s.appendChild(l),a.appendChild(s);var u=r.createStartButton(),c=r.createHelpTextContainer(e.keyHelpUrl,(n=e.deepChat._insertKeyViewStyles)==null?void 0:n.displayCautionText),d=c.helpTextContainerElement,p=c.failTextElement;return a.appendChild(u),a.appendChild(d),r.addVerificationEvents(o,u,p,t,e),a}},{key:"createElements",value:function(t,e){var n=document.createElement("div");n.id="insert-key-view";var a=r.createContents(t,e);return n.appendChild(a),n}},{key:"render",value:function(t,e,n){var a=r.createElements(e,n);t.replaceChildren(a)}}])}(),dt=function(){function r(){b(this,r)}return k(r,null,[{key:"enableButtons",value:function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;window.webLLM?(t&&(t.disabled=!1),e&&(e.disabled=!1)):n<jn.MODULE_SEARCH_LIMIT_S*4&&setTimeout(function(){return r.enableButtons(t,e,n+1)},250)}},{key:"setUpInitial",value:function(t,e,n,a){var s=(e==null?void 0:e.downloadClass)||r.DOWNLOAD_BUTTON_CLASS,o=(e==null?void 0:e.uploadClass)||r.UPLOAD_BUTTON_CLASS,l=(e==null?void 0:e.fileInputClass)||r.FILE_INPUT_CLASS;return setTimeout(function(){var u=n==null?void 0:n.getElementsByClassName(s)[0],c=n==null?void 0:n.getElementsByClassName(l)[0],d=n==null?void 0:n.getElementsByClassName(o)[0];u&&(u.onclick=function(){return t()}),c&&(c.onchange=function(){c.files&&c.files.length>0&&t(c.files)}),d&&(d.onclick=function(){return c.click()}),(u||d)&&r.enableButtons(u,d)}),(e==null?void 0:e.initialHtml)||`<div>
Download or upload a web model that will run entirely on your browser: <br/>
<button disabled class="`.concat(s,` deep-chat-button deep-chat-web-model-button">Download</button>
`).concat(a?"":'<input type="file" class="'.concat(l,`" hidden multiple />
<button disabled class="`).concat(o,' deep-chat-button deep-chat-web-model-button">Upload</button>'),`
</div>`)}},{key:"exportFile",value:function(t){for(var e=document.createElement("a"),n=4,a=function(l){setTimeout(function(){for(var u=l*n,c=u;c<Math.min(u+n,t.length);c+=1){var d=URL.createObjectURL(t[c]);e.href=d,e.download=t[c].name,document.body.appendChild(e),e.click(),URL.revokeObjectURL(d)}},500*l)},s=0;s<t.length/n;s+=1)a(s)}},{key:"setUpAfterLoad",value:function(t,e,n,a){var s=(e==null?void 0:e.exportFilesClass)||r.EXPORT_BUTTON_CLASS;return setTimeout(function(){var o=n==null?void 0:n.getElementsByClassName(s)[0];o&&(o.onclick=function(){return r.exportFile(t)})}),(e==null?void 0:e.afterLoadHtml)||`<div>
Model loaded successfully and has been cached for future requests.
`.concat(a?"":'<br/> <button style="margin-top: 5px" class="'.concat(s,' deep-chat-button">Export</button>'),`
</div>`)}}])}();dt.DOWNLOAD_BUTTON_CLASS="deep-chat-download-button",dt.UPLOAD_BUTTON_CLASS="deep-chat-upload-button",dt.FILE_INPUT_CLASS="deep-chat-file-input",dt.EXPORT_BUTTON_CLASS="deep-chat-export-button";var hr=dt,pr={model_list:[{model_url:"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f32_1-MLC/resolve/main/",local_id:"Llama-2-7b-chat-hf-q4f32_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f32_1-ctx4k_cs1k-webgpu.wasm",vram_required_MB:9109.03,low_resource_required:!1},{model_url:"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/",local_id:"Llama-2-7b-chat-hf-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm",vram_required_MB:6749.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/",local_id:"Llama-2-7b-chat-hf-q4f16_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx1k-webgpu.wasm",vram_required_MB:4618.52,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/Llama-2-13b-chat-hf-q4f16_1-MLC/resolve/main/",local_id:"Llama-2-13b-chat-hf-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-13b-chat-hf/Llama-2-13b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm",vram_required_MB:11814.09,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/Llama-2-70b-chat-hf-q4f16_1-MLC/resolve/main/",local_id:"Llama-2-70b-chat-hf-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-70b-chat-hf/Llama-2-70b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm",vram_required_MB:43729.05,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/",local_id:"RedPajama-INCITE-Chat-3B-v1-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx2k-webgpu.wasm",vram_required_MB:2972.09,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/",local_id:"RedPajama-INCITE-Chat-3B-v1-q4f32_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx2k-webgpu.wasm",vram_required_MB:3928.09,low_resource_required:!1},{model_url:"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/",local_id:"RedPajama-INCITE-Chat-3B-v1-q4f16_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx1k-webgpu.wasm",vram_required_MB:2041.09,low_resource_required:!0,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/",local_id:"RedPajama-INCITE-Chat-3B-v1-q4f32_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx1k-webgpu.wasm",vram_required_MB:2558.09,low_resource_required:!0},{model_url:"https://huggingface.co/mlc-ai/WizardMath-7B-V1.1-q4f16_1-MLC/resolve/main/",local_id:"WizardMath-7B-V1.1-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm",vram_required_MB:6079.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.2-q4f16_1-MLC/resolve/main/",local_id:"Mistral-7B-Instruct-v0.2-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm",vram_required_MB:6079.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/OpenHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/",local_id:"OpenHermes-2.5-Mistral-7B-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm",vram_required_MB:6079.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/NeuralHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/",local_id:"NeuralHermes-2.5-Mistral-7B-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm",vram_required_MB:6079.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f16-MLC/resolve/main/",local_id:"TinyLlama-1.1B-Chat-v0.4-q0f16",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f16-ctx2k-webgpu.wasm",vram_required_MB:5063.52,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f32-MLC/resolve/main/",local_id:"TinyLlama-1.1B-Chat-v0.4-q0f32",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f32-ctx2k-webgpu.wasm",vram_required_MB:5394.53,low_resource_required:!1},{model_url:"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f16_1-MLC/resolve/main/",local_id:"TinyLlama-1.1B-Chat-v0.4-q4f16_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f16_1-ctx1k-webgpu.wasm",vram_required_MB:899.11,low_resource_required:!0,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f32_1-MLC/resolve/main/",local_id:"TinyLlama-1.1B-Chat-v0.4-q4f32_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f32_1-ctx1k-webgpu.wasm",vram_required_MB:992.11,low_resource_required:!0}],use_web_worker:!0},Ue=function(r){function i(t){var e;b(this,i);var n,a;return e=N(this,i,[t]),e._isModelLoaded=!1,e._isModelLoading=!1,e._loadOnFirstMessage=!1,e._webModel={},e.permittedErrorPrefixes=[i.MULTIPLE_MODELS_ERROR,i.WEB_LLM_NOT_FOUND_ERROR,i.GENERIC_ERROR],e._conversationHistory=[],x(t.webModel)=="object"&&(e._webModel=t.webModel),(n=e._webModel.load)!=null&&n.clearCache&&i.clearAllCache(),e.findModelInWindow(t),e.canSendMessage=e.canSubmit.bind(qe(e)),e._chatEl=(a=t.shadowRoot)==null?void 0:a.children[0],t.history&&i.setUpHistory(e._conversationHistory,t.history),e}return B(i,r),k(i,[{key:"setUpMessages",value:function(e){var n=this;this._messages=e,this._removeIntro=function(){e.removeIntroductoryMessage(),n._removeIntro=void 0}}},{key:"findModelInWindow",value:function(e){var n=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s;window.webLLM?this.configureInit(this.shouldAddIntroMessage(e.introMessage)):a>i.MODULE_SEARCH_LIMIT_S?((s=this._messages)==null||s.addNewErrorMessage("service",i.WEB_LLM_NOT_FOUND_ERROR),console.error("The deep-chat-web-llm module has not been attached to the window object. Please see the following guide:"),console.error("https://deepchat.dev/examples/externalModules")):setTimeout(function(){return n.findModelInWindow(e,a+1)},1e3)}},{key:"shouldAddIntroMessage",value:function(e){var n;return!e&&this._webModel&&((n=this._webModel.introMessage)==null?void 0:n.displayed)!==!1}},{key:"scrollToTop",value:function(e){var n=this,a;((a=this._webModel.introMessage)==null?void 0:a.autoScroll)!==!1&&setTimeout(function(){var s,o;(s=n._messages)!=null&&s.elementRef&&ie.scrollToTop((o=n._messages)==null?void 0:o.elementRef)},e)}},{key:"getIntroMessage",value:function(e){if(!(!this.shouldAddIntroMessage(e)||!this._chatEl)){var n=hr.setUpInitial(this.init.bind(this),this._webModel.introMessage,this._chatEl,!!this._webModel.worker);return this.scrollToTop(1),{role:O.AI_ROLE,html:n,sendUpdate:!1}}}},{key:"configureInit",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(s=this._webModel.load,!s){l.next=8;break}if(!s.onInit){l.next=5;break}return this.init(),l.abrupt("return");case 5:if(!s.onMessage){l.next=8;break}return this._loadOnFirstMessage=!0,l.abrupt("return");case 8:a||this.init();case 9:case"end":return l.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"init",value:function(){var t=_(f().mark(function n(a){var s,o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if((s=this._messages)==null||s.removeError(),o=this.attemptToCreateChat(),u.t0=o,!u.t0){u.next=6;break}return u.next=6,this.loadModel(o,a);case 6:case"end":return u.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"attemptToCreateChat",value:function(){var e;if(i.chat){(e=this._messages)==null||e.addNewErrorMessage("service",i.MULTIPLE_MODELS_ERROR),console.error(i.MULTIPLE_MODELS_ERROR);return}if(!(this._isModelLoaded||this._isModelLoading)){var n=this._webModel.worker;return pr.use_web_worker&&n?new window.webLLM.ChatWorkerClient(n):new window.webLLM.ChatModule}}},{key:"getConfig",value:function(){var e,n=i.DEFAULT_MODEL;this._webModel.model&&(n=this._webModel.model);var a=JSON.parse(JSON.stringify(pr));if(this._webModel.urls){var s=a.model_list.find(function(o){return o.local_id=n});s&&(this._webModel.urls.model&&(s.model_url=this._webModel.urls.model),this._webModel.urls.wasm&&(s.model_lib_url=this._webModel.urls.wasm))}return(e=this._webModel.load)!=null&&e.skipCache&&(a.use_cache=!1),{model:n,appConfig:a}}},{key:"loadModel",value:function(){var t=_(f().mark(function n(a,s){var o=this,l,u,c,d,p,h,v,m,g,y,S,A,R,C,T;return f().wrap(function(P){for(;;)switch(P.prev=P.next){case 0:return this.scrollToTop(),i.chat=a,this._isModelLoading=!0,m=((l=this._webModel.introMessage)==null?void 0:l.displayed)===!1,g=function(I){var w;(w=o._messages)==null||w.addNewMessage({html:"<div>".concat(I.text,"</div>"),overwrite:!0,sendUpdate:!1}),m&&(setTimeout(function(){var E;return ie.scrollToBottom((E=o._messages)==null?void 0:E.elementRef)}),m=!1)},i.chat.setInitProgressCallback(g),P.prev=4,S=this.getConfig(),A=S.model,R=S.appConfig,C={},this._webModel.instruction&&(C.conv_config={system:this._webModel.instruction}),this._conversationHistory.length>0&&(C.conversation_history=this._conversationHistory),P.next=10,i.chat.reload(A,C,R,s);case 10:y=P.sent,P.next=16;break;case 13:return P.prev=13,P.t0=P.catch(4),P.abrupt("return",this.unloadChat(P.t0));case 16:(c=(u=this.deepChat)._validationHandler)==null||c.call(u),(d=this._webModel.introMessage)!=null&&d.removeAfterLoad?this._webModel.introMessage.displayed===!1?(h=this._messages)==null||h.removeLastMessage():(v=this._removeIntro)==null||v.call(this):(T=hr.setUpAfterLoad(y,this._webModel.introMessage,this._chatEl,!!this._webModel.worker),(p=this._messages)==null||p.addNewMessage({html:T,overwrite:!0,sendUpdate:!1})),this._isModelLoaded=!0,this._isModelLoading=!1;case 18:case"end":return P.stop()}},n,this,[[4,13]])}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"unloadChat",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if((s=this._messages)==null||s.addNewErrorMessage("service",i.GENERIC_ERROR),console.error(a),this._isModelLoaded=!1,this._isModelLoading=!1,l.t0=i.chat,!l.t0){l.next=9;break}return l.next=8,i.chat.unload();case 8:i.chat=void 0;case 9:case"end":return l.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"immediateResp",value:function(){var t=_(f().mark(function n(a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.next=2,o.generate(s,void 0,0);case 2:return d.t0=d.sent,l={text:d.t0},d.next=6,i.processResponse(this.deepChat,a,l);case 6:u=d.sent,u&&u.forEach(function(p){return a.addNewMessage(p)}),this.completionsHandlers.onFinish();case 8:case"end":return d.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"streamResp",value:function(){var t=_(f().mark(function n(a,s,o){var l=this,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return this.streamHandlers.abortStream.abort=function(){o.interruptGenerate()},this.streamHandlers.onOpen(),u=new Ee(a),d.next=4,o.generate(s,function(){var p=_(f().mark(function h(v,m){var g;return f().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:return S.next=2,i.processResponse(l.deepChat,a,{text:m});case 2:g=S.sent,g&&u.upsertStreamedMessage({text:g[0].text,overwrite:!0});case 4:case"end":return S.stop()}},h)}));return function(h,v){return p.apply(this,arguments)}}());case 4:u.finaliseStreamedMessage(),this.streamHandlers.onClose();case 6:case"end":return d.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"generateRespByType",value:function(){var t=_(f().mark(function n(a,s,o,l){var u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(d.prev=0,!o){d.next=6;break}return d.next=4,this.streamResp(a,s,l);case 4:d.next=8;break;case 6:return d.next=8,this.immediateResp(a,s,l);case 8:d.next=13;break;case 10:d.prev=10,d.t0=d.catch(0),(u=this._messages)==null||u.addNewErrorMessage("service"),console.log(d.t0);case 13:case"end":return d.stop()}},n,this,[[0,10]])}));function e(n,a,s,o){return t.apply(this,arguments)}return e}()},{key:"generateResp",value:function(){var t=_(f().mark(function n(a,s,o){var l,u,c,d,p,h,v;return f().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:return l=s[s.length-1].text,g.next=3,F.processRequestInterceptor(this.deepChat,{body:{text:l}});case 3:u=g.sent,c=u.body,d=u.error,p=!!this.stream;try{d?(F.displayError(a,new Error(d)),(p?this.streamHandlers.onClose:this.completionsHandlers.onFinish)()):!c||!c.text?(h=$.INVALID_MODEL_REQUEST({body:c},!1),console.error(h),v=p?this.streamHandlers.onClose:this.completionsHandlers.onFinish,F.onInterceptorError(a,h,v)):this.generateRespByType(a,c.text,!!this.stream,o)}catch(y){this.unloadChat(y)}case 8:case"end":return g.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this._isModelLoaded){c.next=7;break}if(!this._loadOnFirstMessage){c.next=6;break}return c.next=4,this.init();case 4:c.next=7;break;case 6:return c.abrupt("return");case 7:!i.chat||this._isModelLoading||((o=this._webModel.introMessage)!=null&&o.removeAfterMessage&&((l=this._removeIntro)==null||l.call(this)),a.addLoadingMessage(),this.generateResp(a,s,i.chat));case 8:case"end":return c.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"canSubmit",value:function(e){return!(e!=null&&e.trim())||this._isModelLoading?!1:this._loadOnFirstMessage?!0:!!this._isModelLoaded}},{key:"isWebModel",value:function(){return!0}}],[{key:"setUpHistory",value:function(e,n){n.forEach(function(a,s){if(a.role===O.USER_ROLE&&a.text){var o=n[s+1];o!=null&&o.text&&o.role!==O.USER_ROLE&&e.push([a.text,o.text])}})}},{key:"processResponse",value:function(){var t=_(f().mark(function n(a,s,o){var l,u,c,d,p,h;return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:return m.next=2,(l=a.responseInterceptor)==null?void 0:l.call(a,o);case 2:if(m.t0=m.sent,m.t0){m.next=5;break}m.t0=o;case 5:if(c=m.t0,!((u=a.connect)!=null&&u.stream&&Array.isArray(c)&&c.length>1)){m.next=9;break}return console.error($.INVALID_STREAM_ARRAY_RESPONSE),m.abrupt("return");case 9:if(d=Array.isArray(c)?c:[c],p=d.find(function(g){return typeof g.error=="string"}),!p){m.next=15;break}return F.displayError(s,new Error(p.error)),m.abrupt("return");case 15:if(!d.find(function(g){return!g||!g.text})){m.next=19;break}return h=$.INVALID_MODEL_RESPONSE(o,!!a.responseInterceptor,c),F.displayError(s,new Error(h)),m.abrupt("return");case 19:return m.abrupt("return",d);case 20:case"end":return m.stop()}},n)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"clearAllCache",value:function(){i.clearCache("webllm/model"),i.clearCache("webllm/wasm")}},{key:"clearCache",value:function(e){caches.open(e).then(function(n){n.keys().then(function(a){a.forEach(function(s){n.delete(s)})})})}}])}(zt);Ue.GENERIC_ERROR="Error, please check the [troubleshooting](https://deepchat.dev/docs/webModel#troubleshooting) section of documentation for help.",Ue.MULTIPLE_MODELS_ERROR="Cannot run multiple web models",Ue.WEB_LLM_NOT_FOUND_ERROR="WebLLM module not found",Ue.DEFAULT_MODEL="Llama-2-7b-chat-hf-q4f32_1",Ue.MODULE_SEARCH_LIMIT_S=5;var jn=Ue,fr=function(){function r(){b(this,r)}return k(r,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(t,e,n,a){var s=t;Array.isArray(s.error)&&s.error[0]==="Error in `parameters`: field required"?n(e):a($.INVALID_KEY)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api-inference.huggingface.co/models/gpt2",method:"POST",handleVerificationResult:r.handleVerificationResult}}}])}(),_a=function(r){function i(t,e,n,a,s,o){var l;return b(this,i),l=N(this,i,[t,fr.buildKeyVerificationDetails(),fr.buildHeaders,s,o]),l.insertKeyPlaceholderText="Hugging Face Token",l.keyHelpUrl="https://huggingface.co/settings/tokens",l.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>Hugging Face</b></div>
<p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>`,l.permittedErrorPrefixes=["Authorization header"],l.url="".concat(i.URL_PREFIX).concat(n),l.textInputPlaceholderText=e,x(a)=="object"&&(a.model&&(l.url="".concat(i.URL_PREFIX).concat(a.model)),a.options&&(l.rawBody.options=a.options),a.parameters&&(l.rawBody.parameters=a.parameters)),l}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n,a){var s,o=JSON.parse(JSON.stringify(e)),l=n[n.length-1].text;if(l)return(s=o.options)!==null&&s!==void 0||(o.options={}),o.options.wait_for_model=!0,V({inputs:l},o)}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.connectSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:l=this.preprocessBody(this.rawBody,s,o),W.request(this,l,a);case 4:case"end":return c.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()}])}(te);_a.URL_PREFIX="https://api-inference.huggingface.co/models/";var Be=_a,Hn=function(r){function i(t,e,n,a,s,o){var l;return b(this,i),l=N(this,i,[t,e,n,a,s,o]),l.isTextInputDisabled=!0,l.canSendMessage=i.canSendFile,l}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n,a){return a[0]}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o!=null&&o[0]){u.next=4;break}throw new Error("No file was added");case 4:W.poll(this,o[0],a,!1);case 5:case"end":return u.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()}],[{key:"canSendFile",value:function(e,n){return!!(n!=null&&n[0])}}])}(Be),co=function(r){function i(t){b(this,i);var e,n,a,s=(n=(e=t.directConnection)==null?void 0:e.huggingFace)==null?void 0:n.audioClassification,o=(a=t.directConnection)==null?void 0:a.huggingFace;return N(this,i,[t,"Attach an audio file","ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition",s,o,{audio:{}}])}return B(i,r),k(i,[{key:"extractPollResultData",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.estimated_time){l.next=2;break}return l.abrupt("return",{timeoutMS:(a.estimated_time+1)*1e3});case 2:if(!a.error){l.next=4;break}throw a.error;case 4:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.label)||""});case 5:case"end":return l.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Hn),ho=function(r){function i(t){b(this,i);var e,n,a,s=(n=(e=t.directConnection)==null?void 0:e.huggingFace)==null?void 0:n.imageClassification,o=(a=t.directConnection)==null?void 0:a.huggingFace;return N(this,i,[t,"Attach an image file","google/vit-base-patch16-224",s,o,{images:{}}])}return B(i,r),k(i,[{key:"extractPollResultData",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.estimated_time){l.next=2;break}return l.abrupt("return",{timeoutMS:(a.estimated_time+1)*1e3});case 2:if(!a.error){l.next=4;break}throw a.error;case 4:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.label)||""});case 5:case"end":return l.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Hn),wt="data:image/png;base64,",Ce=function(){function r(){b(this,r)}return k(r,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(t,e,n,a){t.message?a($.INVALID_KEY):n(e)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.stability.ai/v1/engines/list",method:"GET",handleVerificationResult:r.handleVerificationResult}}}])}(),Jt=function(r){function i(t,e,n,a,s){var o;return b(this,i),o=N(this,i,[t,e,n,a,s]),o.insertKeyPlaceholderText="Stability AI API Key",o.keyHelpUrl="https://platform.stability.ai/docs/getting-started/authentication",o.permittedErrorPrefixes=["Incorrect","invalid_"],o}return B(i,r),k(i)}(te),po=function(r){function i(t){var e;b(this,i);var n,a=JSON.parse(JSON.stringify(t.directConnection)),s=a==null?void 0:a.stabilityAI,o={images:{files:{acceptedFormats:".png",maxNumberOfFiles:1}}};e=N(this,i,[t,Ce.buildKeyVerificationDetails(),Ce.buildHeaders,s,o]),e.url="https://api.stability.ai/v1/generation/esrgan-v1-x2plus/image-to-image/upscale",e.textInputPlaceholderText="Describe image changes",e.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>Stability AI</b></div>
<div style="width: 100%; text-align: center; margin-left: -10px; margin-top: 5px"><b>Image to Image Upscale</b></div>
<p>Upload an image to generate a new one with higher resolution.</p>
<p>Click <a href="https://platform.stability.ai/">here</a> for more info.</p>`;var l=(n=a==null?void 0:a.stabilityAI)==null?void 0:n.imageToImageUpscale;return x(l)=="object"&&(l.engine_id&&(e.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/image-to-image/upscale")),i.cleanConfig(l),Object.assign(e.rawBody,l)),e.canSendMessage=i.canSendFileMessage,e}return B(i,r),k(i,[{key:"createFormDataBody",value:function(e,n){var a=new FormData;return a.append("image",n),Object.keys(e).forEach(function(s){a.append(s,String(e[s]))}),a}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.connectSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o){c.next=4;break}throw new Error("Image was not found");case 4:l=this.createFormDataBody(this.rawBody,o[0]),F.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,l,a),!1);case 6:case"end":return c.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(wt).concat(l.base64),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"cleanConfig",value:function(e){delete e.engine_id}},{key:"canSendFileMessage",value:function(e,n){return!!(n!=null&&n[0])}}])}(Jt),fo=function(r){function i(t){var e;b(this,i);var n,a=JSON.parse(JSON.stringify(t.directConnection)),s=a==null?void 0:a.stabilityAI,o={images:{files:{acceptedFormats:".png",maxNumberOfFiles:2}}};e=N(this,i,[t,Ce.buildKeyVerificationDetails(),Ce.buildHeaders,s,o]),e.url="https://api.stability.ai/v1/generation/stable-diffusion-xl-1024-v1-0/image-to-image/masking",e._maskSource="MASK_IMAGE_WHITE",e.textInputPlaceholderText="Describe image changes",e.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>Stability AI</b></div>
<div style="width: 100%; text-align: center; margin-left: -10px; margin-top: 5px"><b>Image to Image Masking</b></div>
<p>Upload an image, its mask image to create a new one based on the changes you have described for the mask area.</p>
<p>Click <a href="https://platform.stability.ai/">here</a> for more info.</p>`;var l=(n=a==null?void 0:a.stabilityAI)==null?void 0:n.imageToImageMasking;return x(l)=="object"&&(l.engine_id&&(e.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/image-to-image/masking")),l.weight!==void 0&&l.weight!==null&&(e._imageWeight=l.weight),l.mask_source!==void 0&&l.mask_source!==null&&(e._maskSource=l.mask_source),i.cleanConfig(l),Object.assign(e.rawBody,l)),e.canSendMessage=i.canSendFileTextMessage,e}return B(i,r),k(i,[{key:"createFormDataBody",value:function(e,n,a,s){var o=new FormData;return o.append("init_image",n),o.append("mask_source",String(this._maskSource)),o.append("mask_image",a),s&&s!==""&&o.append("text_prompts[0][text]",s),this._imageWeight!==void 0&&this._imageWeight!==null&&o.append("text_prompts[0][weight]",String(this._imageWeight)),Object.keys(e).forEach(function(l){o.append(l,String(e[l]))}),o.get("weight")===void 0&&o.append("weight",String(1)),o}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l,u,c,d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(this.connectSettings){h.next=2;break}throw new Error("Request settings have not been set up");case 2:if(!(!o||!o[0]||!o[1])){h.next=4;break}throw new Error("Image was not found");case 4:c=(u=(l=s[s.length-1])==null?void 0:l.text)==null?void 0:u.trim(),d=this.createFormDataBody(this.rawBody,o[0],o[1],c),F.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,d,a),!1);case 6:case"end":return h.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(wt).concat(l.base64),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"cleanConfig",value:function(e){delete e.engine_id,delete e.weight}},{key:"canSendFileTextMessage",value:function(e,n){return!!(n!=null&&n[0])&&!!(e&&e.trim()!=="")}}])}(Jt),mo=function(r){function i(t){b(this,i);var e,n,a,s=(n=(e=t.directConnection)==null?void 0:e.huggingFace)==null?void 0:n.audioSpeechRecognition,o=(a=t.directConnection)==null?void 0:a.huggingFace;return N(this,i,[t,"Attach an audio file","facebook/wav2vec2-large-960h-lv60-self",s,o,{audio:{}}])}return B(i,r),k(i,[{key:"extractPollResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.estimated_time){o.next=2;break}return o.abrupt("return",{timeoutMS:(a.estimated_time+1)*1e3});case 2:if(!a.error){o.next=4;break}throw a.error;case 4:return o.abrupt("return",{text:a.text||""});case 5:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Hn),vo=function(r){function i(t){b(this,i);var e,n,a,s=(n=(e=t.directConnection)==null?void 0:e.huggingFace)==null?void 0:n.textGeneration,o=(a=t.directConnection)==null?void 0:a.huggingFace;return N(this,i,[t,"Once upon a time","gpt2",s,o])}return B(i,r),k(i,[{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.error){l.next=2;break}throw a.error;case 2:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.generated_text)||""});case 3:case"end":return l.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Be),go=function(r){function i(t){var e;b(this,i);var n,a,s,o=(a=(n=t.directConnection)==null?void 0:n.huggingFace)==null?void 0:a.questionAnswer,l=(s=t.directConnection)==null?void 0:s.huggingFace;return e=N(this,i,[t,"Ask a question","bert-large-uncased-whole-word-masking-finetuned-squad",o,l]),e.permittedErrorPrefixes=["Authorization header","Error in"],e._context=o.context,e}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a=n[n.length-1].text;if(a)return{inputs:{question:a,context:this._context,options:{wait_for_model:!0}}}}},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error;case 2:return o.abrupt("return",{text:a.answer||""});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Be),yo=function(r){function i(t){b(this,i);var e,n,a,s=(n=(e=t.directConnection)==null?void 0:e.huggingFace)==null?void 0:n.summarization,o=(a=t.directConnection)==null?void 0:a.huggingFace;return N(this,i,[t,"Insert text to summarize","facebook/bart-large-cnn",s,o])}return B(i,r),k(i,[{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.error){l.next=2;break}throw a.error;case 2:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.summary_text)||""});case 3:case"end":return l.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Be),bo=function(r){function i(t){var e,n;b(this,i);var a,s,o,l=(s=(a=t.directConnection)==null?void 0:a.huggingFace)==null?void 0:s.conversation,u=(o=t.directConnection)==null?void 0:o.huggingFace;return n=N(this,i,[t,"Ask me anything!","facebook/blenderbot-400M-distill",l,u]),(e=n.maxMessages)!==null&&e!==void 0||(n.maxMessages=-1),n}return B(i,r),k(i,[{key:"processMessages",value:function(e){var n=e.filter(function(u){return u.text}),a=n[n.length-1].text,s=n.slice(0,n.length-1);if(a){var o=s.filter(function(u){return u.role==="user"}).map(function(u){return u.text}),l=s.filter(function(u){return u.role==="ai"}).map(function(u){return u.text});return{past_user_inputs:o,generated_responses:l,mostRecentMessageText:a}}}},{key:"preprocessBody",value:function(e,n){var a,s=JSON.parse(JSON.stringify(e)),o=this.processMessages(n);if(o)return(a=s.options)!==null&&a!==void 0||(s.options={}),s.options.wait_for_model=!0,V({inputs:{past_user_inputs:o.past_user_inputs,generated_responses:o.generated_responses,text:o.mostRecentMessageText}},s)}},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error;case 2:return o.abrupt("return",{text:a.generated_text||""});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Be),ko=function(r){function i(t){var e;b(this,i);var n,a=JSON.parse(JSON.stringify(t.directConnection)),s=a.stabilityAI,o={images:{files:{acceptedFormats:".png",maxNumberOfFiles:1}}};e=N(this,i,[t,Ce.buildKeyVerificationDetails(),Ce.buildHeaders,s,o]),e.url="https://api.stability.ai/v1/generation/stable-diffusion-v1-6/image-to-image",e.textInputPlaceholderText="Describe image changes",e.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>Stability AI: Image to Image</b></div>
<p>Upload an image to create a new one with the changes you have described.</p>
<p>Click <a href="https://platform.stability.ai/">here</a> for more info.</p>`;var l=(n=a.stabilityAI)==null?void 0:n.imageToImage;return x(l)=="object"&&(l.engine_id&&(e.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/text-to-image")),l.weight!==void 0&&l.weight!==null&&(e._imageWeight=l.weight),i.cleanConfig(l),Object.assign(e.rawBody,l)),e.canSendMessage=i.canSendFileTextMessage,e}return B(i,r),k(i,[{key:"createFormDataBody",value:function(e,n,a){var s=new FormData;return s.append("init_image",n),a&&a!==""&&s.append("text_prompts[0][text]",a),this._imageWeight!==void 0&&this._imageWeight!==null&&s.append("text_prompts[0][weight]",String(this._imageWeight)),Object.keys(e).forEach(function(o){s.append(o,String(e[o]))}),s.get("weight")===void 0&&s.append("weight",String(1)),s}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l,u,c,d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(this.connectSettings){h.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o){h.next=4;break}throw new Error("Image was not found");case 4:c=(u=(l=s[s.length-1])==null?void 0:l.text)==null?void 0:u.trim(),d=this.createFormDataBody(this.rawBody,o[0],c),F.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,d,a),!1);case 6:case"end":return h.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(wt).concat(l.base64),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"cleanConfig",value:function(e){delete e.engine_id,delete e.weight}},{key:"canSendFileTextMessage",value:function(e,n){return!!(n!=null&&n[0])&&!!(e&&e.trim()!=="")}}])}(Jt),So=function(r){function i(t){b(this,i);var e,n,a,s=(n=(e=t.directConnection)==null?void 0:e.huggingFace)==null?void 0:n.translation,o=(a=t.directConnection)==null?void 0:a.huggingFace;return N(this,i,[t,"Insert text to translate","Helsinki-NLP/opus-tatoeba-en-ja",s,o])}return B(i,r),k(i,[{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.error){l.next=2;break}throw a.error;case 2:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.translation_text)||""});case 3:case"end":return l.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Be),_o=function(r){function i(t){var e;b(this,i);var n,a=JSON.parse(JSON.stringify(t.directConnection)),s=a.stabilityAI;e=N(this,i,[t,Ce.buildKeyVerificationDetails(),Ce.buildHeaders,s]),e.url="https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image",e.textInputPlaceholderText="Describe an image",e.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>Stability AI: Text to Image</b></div>
<p>Insert text to generate an image.</p>
<p>Click <a href="https://platform.stability.ai/">here</a> for more info.</p>`;var o=(n=a.stabilityAI)==null?void 0:n.textToImage;return x(o)=="object"&&(o.engine_id&&(e.url="https://api.stability.ai/v1/generation/".concat(o.engine_id,"/text-to-image")),o.weight!==void 0&&o.weight!==null&&(e._imageWeight=o.weight),i.cleanConfig(o),Object.assign(e.rawBody,o)),e.canSendMessage=i.canSendTextMessage,e}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a=JSON.parse(JSON.stringify(e)),s={text:n};return this._imageWeight&&(s.weight=this._imageWeight),a.text_prompts=[s],a}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s[s.length-1].text),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(wt).concat(l.base64),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"cleanConfig",value:function(e){delete e.engine_id,delete e.weight}},{key:"canSendTextMessage",value:function(e){return!!(e&&e.trim()!=="")}}])}(Jt),Eo=function(r){function i(t){var e;b(this,i);var n,a,s,o=(a=(n=t.directConnection)==null?void 0:n.huggingFace)==null?void 0:a.fillMask,l=(s=t.directConnection)==null?void 0:s.huggingFace;return e=N(this,i,[t,"The goal of life is [MASK].","bert-base-uncased",o,l]),e.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>Hugging Face</b></div>
<p>Insert a sentence with the word [MASK] and the model will try to fill it for you. E.g. I want [MASK].</p>
<p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>`,e.permittedErrorPrefixes=["Authorization header","No mask_token"],e}return B(i,r),k(i,[{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.error){l.next=2;break}throw a.error;case 2:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.sequence)||""});case 3:case"end":return l.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Be),kn=function(){function r(){b(this,r)}return k(r,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(t,e,n,a){var s=t;s.error?s.error.code==="invalid_api_key"?a($.INVALID_KEY):a($.CONNECTION_FAILED):n(e)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.openai.com/v1/models",method:"GET",handleVerificationResult:r.handleVerificationResult}}},{key:"directFetch",value:function(){var i=_(f().mark(function e(n,a,s){var o,l,u=arguments;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return o=u.length>3&&u[3]!==void 0?u[3]:!0,n.connectSettings.method=s,d.next=4,F.fetch(n,n.connectSettings.headers,o,a).then(function(p){return F.processResponseByType(p)});case 4:if(l=d.sent,!l.error){d.next=7;break}throw l.error.message;case 7:return d.abrupt("return",l);case 8:case"end":return d.stop()}},e)}));function t(e,n,a){return i.apply(this,arguments)}return t}()}])}();kn.FUNCTION_TOOL_RESP_ERROR="Response object must either be {response: string}[] for each individual function or {text: string} for a direct response, see https://deepchat.dev/docs/directConnection/OpenAI#FunctionHandler.",kn.FUNCTION_TOOL_RESP_ARR_ERROR="Arrays are not accepted in handler responses";var J=kn,Sn=function(){function r(){b(this,r)}return k(r,null,[{key:"storeFiles",value:function(){var i=_(f().mark(function e(n,a,s,o){var l,u,c,d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(l=n.connectSettings.headers,l){h.next=3;break}return h.abrupt("return");case 3:return n.url=o,u=l[F.CONTENT_TYPE],delete l[F.CONTENT_TYPE],c=s.map(function(){var v=_(f().mark(function m(g){var y;return f().wrap(function(A){for(;;)switch(A.prev=A.next){case 0:return y=new FormData,A.abrupt("return",(y.append("purpose","assistants"),y.append("file",g),new Promise(function(R){R(J.directFetch(n,y,"POST",!1))})));case 2:case"end":return A.stop()}},m)}));return function(m){return v.apply(this,arguments)}}()),h.prev=7,h.next=10,Promise.all(c);case 10:return d=h.sent.map(function(v){return{id:v.id,name:v.filename}}),h.abrupt("return",(l[F.CONTENT_TYPE]=u,d));case 14:throw h.prev=14,h.t0=h.catch(7),l[F.CONTENT_TYPE]=u,F.displayError(a,h.t0),n.completionsHandlers.onFinish(),h.t0;case 17:case"end":return h.stop()}},e,null,[[7,14]])}));function t(e,n,a,s){return i.apply(this,arguments)}return t}()},{key:"getType",value:function(t,e){var n=t[e].path;return!n||n.endsWith("png")?"image":"any"}},{key:"getFiles",value:function(){var i=_(f().mark(function e(n,a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return l=a.map(function(p){var h=p.fileId;return n.url="".concat(s).concat(h).concat(o),new Promise(function(v){v(J.directFetch(n,void 0,"GET",!1))})}),d.next=3,Promise.all(l);case 3:return u=d.sent.map(function(p,h){return new Promise(function(v){var m=new FileReader;m.readAsDataURL(p),m.onload=function(g){v({src:g.target.result,name:a[h].name,type:r.getType(a,h)})}})}),d.next=6,Promise.all(u);case 6:return d.abrupt("return",d.sent);case 7:case"end":return d.stop()}},e)}));function t(e,n,a,s){return i.apply(this,arguments)}return t}()},{key:"getFileName",value:function(t){var e=t.split("/");return e[e.length-1]}},{key:"getFilesAndNewText",value:function(){var i=_(f().mark(function e(n,a,s,o,l){var u,c,d,p,h;return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:if(p=s.getFilesPrefix,h=s.getFilesPostfix,m.t0=a.length>0,!m.t0){m.next=7;break}return m.next=5,r.getFiles(n,a,p,h);case 5:d=m.sent,(u=l==null?void 0:l.text)!=null&&u.value&&d.forEach(function(g,y){var S;if(g.src){var A=a[y].path;(S=l==null?void 0:l.text)!=null&&S.value&&A&&(l.text.value=l.text.value.replace(A,g.src))}});case 7:return m.abrupt("return",(c=l==null?void 0:l.text)!=null&&c.value?{text:l.text.value,role:o}:{files:d,role:o});case 8:case"end":return m.stop()}},e)}));function t(e,n,a,s,o){return i.apply(this,arguments)}return t}()},{key:"getFileDetails",value:function(t,e){var n,a=[];return(n=e==null?void 0:e.text)!=null&&n.value&&t.content.forEach(function(s){var o,l;(l=(o=s.text)==null?void 0:o.annotations)==null||l.forEach(function(u){var c;u.text&&u.text.startsWith("sandbox:")&&(c=u.file_path)!=null&&c.file_id&&a.push({path:u.text,fileId:u.file_path.file_id,name:r.getFileName(u.text)})})}),e!=null&&e.image_file&&a.push({fileId:e.image_file.file_id}),a}},{key:"getFilesAndText",value:function(){var i=_(f().mark(function e(n,a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return l=r.getFileDetails(a,o),c.next=3,r.getFilesAndNewText(n,l,s,a.role,o);case 3:return c.abrupt("return",c.sent);case 4:case"end":return c.stop()}},e)}));function t(e,n,a,s){return i.apply(this,arguments)}return t}()},{key:"parseResult",value:function(t,e){var n=[];if(e)n=t.data;else for(var a=0;a<t.data.length;a+=1){var s=t.data[a];if(s.role==="assistant")n.push(s);else break}return n.reverse()}},{key:"parseMessages",value:function(t,e,n){var a=[];return e.forEach(function(){var s=_(f().mark(function o(l){return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:l.content.filter(function(d){return!!d.text||!!d.image_file}).sort(function(d){return d.text?-1:d.image_file?1:0}).forEach(function(){var d=_(f().mark(function p(h){return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:a.push(r.getFilesAndText(t,l,n,h));case 1:case"end":return m.stop()}},p)}));return function(p){return d.apply(this,arguments)}}());case 1:case"end":return c.stop()}},o)}));return function(o){return s.apply(this,arguments)}}()),Promise.all(a)}},{key:"processStreamMessages",value:function(){var i=_(f().mark(function e(n,a,s){return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.abrupt("return",r.parseMessages(n,[{content:a,role:"assistant"}],s));case 1:case"end":return l.stop()}},e)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"processAPIMessages",value:function(){var i=_(f().mark(function e(n,a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return l=r.parseResult(a,s),c.abrupt("return",r.parseMessages(n,l,o));case 2:case"end":return c.stop()}},e)}));function t(e,n,a,s){return i.apply(this,arguments)}return t}()}])}();Sn.FILES_WITH_TEXT_ERROR="content with type `text` must have `text` values",Sn.FUNCTION_TOOL_RESP_ERROR="Response must contain an array of strings for each individual function/tool_call, see https://deepchat.dev/docs/directConnection/OpenAI/#assistant-functions.";var Te=Sn,Ea=function(r){function i(t,e,n,a,s,o){var l;if(b(this,i),l=N(this,i,[t,a,s,o]),l.insertKeyPlaceholderText="OpenAI API Key",l.keyHelpUrl="https://platform.openai.com/account/api-keys",l.url="",l.permittedErrorPrefixes=["Incorrect","Please send text",Un.FAILED_ERROR_MESSAGE],l.shouldFetchHistory=!1,l._searchedForThreadId=!1,l._config={},l._newAssistantDetails={model:"gpt-4"},l._waitingForStreamResponse=!1,l._isSSEStream=!1,l.urlSegments=n,x(e)=="object"){l._config=e;var u=l._config,c=u.new_assistant,d=u.thread_id,p=u.load_thread_history;Object.assign(l._newAssistantDetails,c),d&&(l.sessionId=d),p&&(l.shouldFetchHistory=!0)}return l.maxMessages=1,l._isSSEStream=!!(l.stream&&(x(l.stream)!="object"||!l.stream.simulation)),l}return B(i,r),k(i,[{key:"fetchHistoryFunc",value:function(){var t=_(f().mark(function n(){var a=this,s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return setTimeout(function(){return a.deepChat.disableSubmitButton()},2),l.prev=1,l.next=4,this.getThreadMessages(this.sessionId,!0);case 4:return s=l.sent,l.abrupt("return",(this.deepChat.disableSubmitButton(!1),s));case 8:return l.prev=8,l.t0=l.catch(1),l.abrupt("return",[{error:"Failed to fetch history"}]);case 11:case"end":return l.stop()}},n,this,[[1,8]])}));function e(){return t.apply(this,arguments)}return e}()},{key:"processMessage",value:function(e,n){var a=this.totalMessagesMaxCharLength||-1,s=Wt.getCharacterLimitMessages(e,a)[0];if(n&&n.length>0){var o=this.filesToolType;if(typeof this.filesToolType=="function"){var l=this.filesToolType(n.map(function(c){var d=c.name;return d}));l==="code_interpreter"||l==="file_search"||l==="images"?o=l:(console.error('Tool type "'.concat(l,'" is not valid')),console.error('Expected "code_interpreter" or "file_search" or "images". Going to default to "images"'))}if(o==="file_search")return i.processAttachmentsMessage(s,n,"file_search");if(o==="code_interpreter")return i.processAttachmentsMessage(s,n,"code_interpreter");if(n.find(function(c){var d=c.name;return!re.isImageFileExtension(d)}))console.error("The uploaded files contained a non-image file"),console.error('Make sure only images can be uploaded or define a "code_interpreter" or "file_search" value in the "files_tool_type" property'),console.warn('Make sure your existing assistant supports these "tools" or specify them in the "new_assistant" property');else{var u=i.processImageMessage(s,n);if(u)return u}}return{content:s.text||"",role:"user"}}},{key:"createNewThreadMessages",value:function(e,n,a){var s=JSON.parse(JSON.stringify(e)),o=this.processMessage(n,a);return s.thread={messages:[o]},s}},{key:"callService",value:function(e,n,a){if(this._messages=e,this.sessionId){this.url="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId,"/messages").concat(this.urlSegments.createMessagePostfix);var s=this.processMessage(n,a);W.request(this,s,e)}else{this.url="".concat(this.urlSegments.threadsPrefix,"/runs").concat(this.urlSegments.threadsPosfix);var o=this.createNewThreadMessages(this.rawBody,n,a);this._isSSEStream?this.createStreamRun(o):W.request(this,o,e)}}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l,u,c;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(this._waitingForStreamResponse=!1,!!this.connectSettings){p.next=2;break}throw new Error("Request settings have not been set up");case 2:if(!((l=(u=this.rawBody).assistant_id)!==null&&l!==void 0)){p.next=6;break}p.next=12;break;case 6:if(p.t0=this._config.assistant_id,p.t0){p.next=11;break}return p.next=10,this.createNewAssistant();case 10:p.t0=p.sent;case 11:u.assistant_id=p.t0;case 12:if(this._searchedForThreadId||this.searchPreviousMessagesForThreadId(a.messageToElements),!o){p.next=19;break}return p.next=16,Te.storeFiles(this,a,o,this.urlSegments.storeFiles);case 16:p.t1=p.sent,p.next=20;break;case 19:p.t1=void 0;case 20:c=p.t1,this.connectSettings.method="POST",this.callService(a,s,c);case 22:case"end":return p.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"createNewAssistant",value:function(){var t=_(f().mark(function n(){var a;return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,this.url=this.urlSegments.newAssistantUrl,o.next=4,J.directFetch(this,JSON.parse(JSON.stringify(this._newAssistantDetails)),"POST");case 4:return a=o.sent,o.abrupt("return",(this._config.assistant_id=a.id,this._config.assistant_id));case 8:o.prev=8,o.t0=o.catch(0),console.error(o.t0),console.error("Failed to create a new assistant");case 11:case"end":return o.stop()}},n,this,[[0,8]])}));function e(){return t.apply(this,arguments)}return e}()},{key:"searchPreviousMessagesForThreadId",value:function(e){var n=e.find(function(a){var s=xe(a,1),o=s[0];return o._sessionId});n&&(this.sessionId=n[0]._sessionId),this._searchedForThreadId=!0}},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!(this._waitingForStreamResponse||this._isSSEStream&&this.sessionId)){c.next=4;break}return c.next=3,this.handleStream(a);case 3:return c.abrupt("return",c.sent);case 4:if(!a.error){c.next=6;break}throw a.error.message.startsWith(Te.FILES_WITH_TEXT_ERROR)?Error("Please send text with your file(s)"):a.error.message;case 6:return c.next=8,this.assignThreadAndRun(a);case 8:return o="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId,"/runs/").concat(this.run_id).concat(this.urlSegments.threadsPosfix),l={method:"GET",headers:(s=this.connectSettings)==null?void 0:s.headers},c.abrupt("return",(W.executePollRequest(this,o,l,this._messages),{makingAnotherRequest:!0}));case 10:case"end":return c.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"assignThreadAndRun",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!this.sessionId){l.next=8;break}return this.url="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId,"/runs").concat(this.urlSegments.threadsPosfix),l.next=4,J.directFetch(this,JSON.parse(JSON.stringify(this.rawBody)),"POST");case 4:s=l.sent,this.run_id=s.id,l.next=9;break;case 8:this.sessionId=a.thread_id,this.run_id=a.id,this._messages&&this._messages.messageToElements.length>0&&(this._messages.messageToElements[this._messages.messageToElements.length-1][0]._sessionId=this.sessionId);case 9:case"end":return l.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"getThreadMessages",value:function(){var t=_(f().mark(function n(a){var s,o,l,u,c=arguments;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:return s=c.length>1&&c[1]!==void 0?c[1]:!1,this.url="".concat(this.urlSegments.threadsPrefix,"/").concat(a,"/messages?").concat(this.urlSegments.listMessagesPostfix),p.next=4,J.directFetch(this,{},"GET");case 4:if(u=p.sent,p.t0=!s&&this.deepChat.responseInterceptor,!p.t0){p.next=10;break}return p.next=9,(l=(o=this.deepChat).responseInterceptor)==null?void 0:l.call(o,u);case 9:u=p.sent;case 10:return p.abrupt("return",Te.processAPIMessages(this,u,s,this.urlSegments));case 11:case"end":return p.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"extractPollResultData",value:function(){var t=_(f().mark(function n(a){var s=this,o,l,u,c,d,p,h,v;return f().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:if(l=a.status,u=a.required_action,!(l==="queued"||l==="in_progress")){g.next=3;break}return g.abrupt("return",{timeoutMS:i.POLLING_TIMEOUT_MS});case 3:if(!(l==="completed"&&this._messages)){g.next=11;break}return g.next=6,this.getThreadMessages(a.thread_id);case 6:return c=g.sent,d=c.shift(),p=d.text,h=d.files,g.abrupt("return",(setTimeout(function(){c.forEach(function(y){return s.deepChat.addMessage(y)})}),{text:p,_sessionId:this.sessionId,files:h}));case 11:if(v=(o=u==null?void 0:u.submit_tool_outputs)==null?void 0:o.tool_calls,!(l==="requires_action"&&v)){g.next=16;break}return g.next=15,this.handleTools(v);case 15:return g.abrupt("return",g.sent);case 16:throw Error("Thread run status: ".concat(l));case 17:case"end":return g.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"handleTools",value:function(){var t=_(f().mark(function n(a){var s,o,l,u,c,d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(this.functionHandler){h.next=2;break}throw Error("Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Assistant) object.");case 2:return s=a.map(function(v){return{name:v.function.name,arguments:v.function.arguments}}),h.next=5,this.functionHandler(s);case 5:if(o=h.sent,!(!Array.isArray(o)||a.length!==o.length)){h.next=8;break}throw Error(Te.FUNCTION_TOOL_RESP_ERROR);case 8:return h.next=10,Promise.all(o);case 10:if(l=h.sent,!l.find(function(v){return typeof v!="string"})){h.next=13;break}throw Error(Te.FUNCTION_TOOL_RESP_ERROR);case 13:if(u=l.map(function(v,m){return{tool_call_id:a[m].id,output:v}}),c="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId),d="/runs/".concat(this.run_id,"/submit_tool_outputs").concat(this.urlSegments.threadsPosfix),this.url="".concat(c).concat(d),!this._isSSEStream){h.next=20;break}return h.next=18,this.createStreamRun({tool_outputs:u});case 18:h.next=22;break;case 20:return h.next=22,J.directFetch(this,{tool_outputs:u},"POST");case 22:return h.abrupt("return",{timeoutMS:i.POLLING_TIMEOUT_MS});case 23:case"end":return h.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"handleStream",value:function(){var t=_(f().mark(function n(a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(l=(o=(s=a.required_action)==null?void 0:s.submit_tool_outputs)==null?void 0:o.tool_calls,!(a.status==="requires_action"&&l)){d.next=6;break}return this.run_id=a.id,d.next=5,this.handleTools(l);case 5:return d.abrupt("return",d.sent);case 6:if(!this._waitingForStreamResponse){d.next=8;break}return d.abrupt("return",this.parseStreamResult(a));case 8:return this._isSSEStream&&this.sessionId&&(this.url="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId,"/runs").concat(this.urlSegments.threadsPosfix),u=JSON.parse(JSON.stringify(this.rawBody)),this.createStreamRun(u)),d.abrupt("return",{makingAnotherRequest:!0});case 10:case"end":return d.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"parseStreamResult",value:function(){var t=_(f().mark(function n(a){var s,o,l,u,c,d,p,h,v,m;return f().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:if(!(a.content&&a.content.length>0&&this._messages)){y.next=5;break}if(d=a.content.find(function(S){return S.text}),!((s=d==null?void 0:d.text)!=null&&s.annotations&&d.text.annotations.length>0)){y.next=5;break}return p=a.content.find(function(S){return!!S.text})||a.content[0],h=Te.getFilesAndText.bind(this,this,{role:"assistant",content:a.content},this.urlSegments,p),y.abrupt("return",((o=this._messageStream)==null||o.endStreamAfterFileDownloaded(this._messages,h),{text:""}));case 5:if(!((l=a.delta)!=null&&l.content)){y.next=14;break}if(!(a.delta.content.length>1)){y.next=13;break}if(v=a.delta.content.find(function(S){return S.text}),!((u=v==null?void 0:v.text)!=null&&u.annotations&&v.text.annotations.length===0)){y.next=13;break}return y.next=11,Te.processStreamMessages(this,a.delta.content,this.urlSegments);case 11:return m=y.sent,y.abrupt("return",{text:m[0].text,files:m[1].files});case 13:return y.abrupt("return",{text:(c=a.delta.content[0].text)==null?void 0:c.value});case 14:return y.abrupt("return",(!this.sessionId&&a.thread_id&&(this.sessionId=a.thread_id),{makingAnotherRequest:!0}));case 15:case"end":return y.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"createStreamRun",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return a.stream=!0,this._waitingForStreamResponse=!0,o.next=4,Y.request(this,a,this._messages,!0,!0);case 4:this._messageStream=o.sent;case 5:case"end":return o.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"processImageMessage",value:function(e,n){var a=n==null?void 0:n.filter(function(s){return re.isImageFileExtension(s.name)}).map(function(s){return{type:"image_file",image_file:{file_id:s.id}}});if(a&&a.length>0)return e.text&&e.text.length>0&&a.push({type:"text",text:e.text}),{content:a,role:"user"}}},{key:"processAttachmentsMessage",value:function(e,n,a){return{attachments:n.map(function(s){return{tools:[{type:a}],file_id:s.id}}),content:[{type:"text",text:e.text}],role:"user"}}}])}(te);Ea.POLLING_TIMEOUT_MS=500;var wa=Ea,wo=function(r){function i(t){var e,n,a;b(this,i);var s,o,l,u,c,d=JSON.parse(JSON.stringify(t.directConnection)),p=d.openAI,h=(s=d.openAI)==null?void 0:s.assistant,v=i.buildUrlSegments(h);if(a=N(this,i,[t,h,v,J.buildKeyVerificationDetails(),J.buildHeaders,p]),(e=(o=a.connectSettings).headers)!==null&&e!==void 0||(o.headers={}),(n=(l=a.connectSettings.headers)["OpenAI-Beta"])!==null&&n!==void 0||(l["OpenAI-Beta"]="assistants=v2"),a.shouldFetchHistory&&a.sessionId&&(a.fetchHistory=a.fetchHistoryFunc.bind(qe(a))),x(h)=="object"){var m=(c=(u=t.directConnection)==null?void 0:u.openAI)==null?void 0:c.assistant,g=m.function_handler,y=m.files_tool_type;g&&(a.functionHandler=g),y&&(a.filesToolType=y)}return a}return B(i,r),k(i,null,[{key:"buildUrlSegments",value:function(e){var n=x(e)=="object"&&e.custom_base_url||"https://api.openai.com/v1";return{threadsPrefix:"".concat(n,"/threads"),threadsPosfix:"",newAssistantUrl:"".concat(n,"/assistants"),createMessagePostfix:"",listMessagesPostfix:"order=desc",storeFiles:"".concat(n,"/files"),getFilesPrefix:"".concat(n,"/files/"),getFilesPostfix:"/content"}}}])}(wa),mr=function(){function r(){b(this,r)}return k(r,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json",accept:"application/json"}}},{key:"handleVerificationResult",value:function(t,e,n,a){var s;(s=t.message)!=null&&s.includes("invalid request: prompt must be at least 1 token long")?n(e):a($.INVALID_KEY)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.cohere.ai/v1/generate",method:"POST",handleVerificationResult:r.handleVerificationResult,body:JSON.stringify({prompt:""})}}}])}(),qn=function(r){function i(t,e,n,a,s){var o;return b(this,i),o=N(this,i,[t,mr.buildKeyVerificationDetails(),mr.buildHeaders,s]),o.insertKeyPlaceholderText="Cohere API Key",o.keyHelpUrl="https://dashboard.cohere.ai/api-keys",o.permittedErrorPrefixes=["invalid"],o.url=e,o.textInputPlaceholderText=n,a&&x(a)=="object"&&Object.assign(o.rawBody,a),o}return B(i,r),k(i)}(te),Co=function(r){function i(t){b(this,i);var e,n,a,s=(n=(e=t.directConnection)==null?void 0:e.cohere)==null?void 0:n.textGeneration,o=(a=t.directConnection)==null?void 0:a.cohere;return N(this,i,[t,"https://api.cohere.ai/v1/generate","Once upon a time",s,o])}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a=JSON.parse(JSON.stringify(e)),s=n[n.length-1].text;if(s)return V({prompt:s},a)}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.message){l.next=2;break}throw a.message;case 2:return l.abrupt("return",{text:((s=a.generations)==null?void 0:s[0].text)||""});case 3:case"end":return l.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(qn),Ca=function(){function r(){b(this,r)}return k(r,null,[{key:"buildHeaders",value:function(t){return{"api-key":t,"Content-Type":"application/json"}}},{key:"buildKeyVerificationDetails",value:function(t){return{url:"".concat(t.endpoint,"/openai/models?api-version=").concat(t.version),method:"GET",handleVerificationResult:J.handleVerificationResult}}},{key:"validateURLDetails",value:function(t){var e=t.endpoint,n=t.version,a=t.deploymentId;return e&&n&&a}}])}();Ca.URL_DETAILS_ERROR_MESSAGE="Please define the Azure URL Details. [More Information](https://deepchat.dev/docs/directConnection/Azure)";var pe=Ca,_n=function(r){function i(t){var e,n;b(this,i);var a,s,o,l,u,c,d,p,h=JSON.parse(JSON.stringify(t.directConnection)),v=h.azure,m=(a=h.azure)==null?void 0:a.openAI,g=(m==null?void 0:m.urlDetails)||{},y="".concat((s=m==null?void 0:m.urlDetails)==null?void 0:s.endpoint,"/openai/"),S="?api-version=".concat((o=m==null?void 0:m.urlDetails)==null?void 0:o.version),A={threadsPrefix:"".concat(y).concat(i.THREAD_RESOURCE),threadsPosfix:S,newAssistantUrl:"".concat(y).concat(i.NEW_ASSISTANT_RESOURCE).concat(S),createMessagePostfix:S,listMessagesPostfix:"order=desc&api-version=".concat((l=m==null?void 0:m.urlDetails)==null?void 0:l.version),storeFiles:"".concat(y,"files").concat(S),getFilesPrefix:"".concat(y,"files/"),getFilesPostfix:"/content".concat(S)};if(n=N(this,i,[t,m==null?void 0:m.assistant,A,pe.buildKeyVerificationDetails(g),pe.buildHeaders,v]),n.permittedErrorPrefixes=[pe.URL_DETAILS_ERROR_MESSAGE],n.insertKeyPlaceholderText="Azure OpenAI API Key",n.keyHelpUrl="https://learn.microsoft.com/en-us/answers/questions/1193991/how-to-get-the-value-of-openai-api-key",n.isTextInputDisabled=!1,x(m==null?void 0:m.assistant)=="object"){var R=(d=(c=(u=t.directConnection)==null?void 0:u.azure)==null?void 0:c.openAI)==null?void 0:d.assistant,C=R.function_handler,T=R.files_tool_type;C&&(n.functionHandler=C),T&&(n.filesToolType=T)}return pe.validateURLDetails(g)?(e=(p=n.connectSettings).headers)!==null&&e!==void 0||(p.headers={}):(n.isTextInputDisabled=!0,n.canSendMessage=function(){return!1},setTimeout(function(){t.addMessage({error:pe.URL_DETAILS_ERROR_MESSAGE})})),n}return B(i,r),k(i)}(wa);_n.THREAD_RESOURCE="threads",_n.NEW_ASSISTANT_RESOURCE="assistants";var To=_n,Ao=function(r){function i(t){b(this,i);var e,n,a,s=(n=(e=t.directConnection)==null?void 0:e.cohere)==null?void 0:n.summarization,o=(a=t.directConnection)==null?void 0:a.cohere;return N(this,i,[t,"https://api.cohere.ai/v1/summarize","Insert text to summarize",s,o])}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a=JSON.parse(JSON.stringify(e)),s=n[n.length-1].text;if(s)return V({text:s},a)}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{text:a.summary||""});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(qn),Z=function(){function r(){b(this,r)}return k(r,null,[{key:"addAttributes",value:function(t){t.role="button",t.setAttribute("tabindex","0")}},{key:"addAriaBusy",value:function(t){t.setAttribute("aria-busy","true")}},{key:"removeAriaBusy",value:function(t){t.removeAttribute("aria-busy")}},{key:"addAriaDisabled",value:function(t){t.setAttribute("aria-disabled","true")}},{key:"removeAriaDisabled",value:function(t){t.removeAttribute("aria-disabled")}},{key:"removeAriaAttributes",value:function(t){r.removeAriaBusy(t),r.removeAriaDisabled(t)}}])}(),Ta=`<?xml version="1.0" encoding="iso-8859-1"?>
<svg height="1.4em" width="1.4em" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 490.9 490.9" xml:space="preserve">
<g>
<g>
<path d="M245.5,322.9c53,0,96.2-43.2,96.2-96.2V96.2c0-53-43.2-96.2-96.2-96.2s-96.2,43.2-96.2,96.2v130.5
C149.3,279.8,192.5,322.9,245.5,322.9z M173.8,96.2c0-39.5,32.2-71.7,71.7-71.7s71.7,32.2,71.7,71.7v130.5
c0,39.5-32.2,71.7-71.7,71.7s-71.7-32.2-71.7-71.7V96.2z"/>
<path d="M94.4,214.5c-6.8,0-12.3,5.5-12.3,12.3c0,85.9,66.7,156.6,151.1,162.8v76.7h-63.9c-6.8,0-12.3,5.5-12.3,12.3
s5.5,12.3,12.3,12.3h152.3c6.8,0,12.3-5.5,12.3-12.3s-5.5-12.3-12.3-12.3h-63.9v-76.7c84.4-6.3,151.1-76.9,151.1-162.8
c0-6.8-5.5-12.3-12.3-12.3s-12.3,5.5-12.3,12.3c0,76.6-62.3,138.9-138.9,138.9s-138.9-62.3-138.9-138.9
C106.6,220,101.2,214.5,94.4,214.5z"/>
</g>
</g>
</svg>
`,Bt=function(){function r(){b(this,r)}return k(r,null,[{key:"createTextElement",value:function(t){var e=document.createElement("div");return e.classList.add(r.INPUT_BUTTON_INNER_TEXT_CLASS),e.innerText=t,e}},{key:"tryAddSVGElement",value:function(t,e,n,a){n?t.push(ye.createSVGElement(n)):n!==""&&a&&t.push(e)}},{key:"createCustomElements",value:function(t,e,n){var a,s,o=n==null?void 0:n[t],l=(a=o==null?void 0:o.text)==null?void 0:a.content,u=(s=o==null?void 0:o.svg)==null?void 0:s.content,c=[];return r.tryAddSVGElement(c,e,u,l),l&&c.push(r.createTextElement(l)),c.length>0?c:void 0}},{key:"reassignClassBasedOnChildren",value:function(t,e){t.classList.remove(r.INPUT_BUTTON_SVG_CLASS,r.INPUT_BUTTON_SVG_TEXT_CLASS),e.find(function(n){return n.classList.contains(r.INPUT_BUTTON_INNER_TEXT_CLASS)})?e.length>1&&t.classList.add(r.INPUT_BUTTON_SVG_TEXT_CLASS):t.classList.add(r.INPUT_BUTTON_SVG_CLASS)}}])}();Bt.INPUT_BUTTON_SVG_TEXT_CLASS="input-button-svg-text",Bt.INPUT_BUTTON_INNER_TEXT_CLASS="text-button",Bt.INPUT_BUTTON_SVG_CLASS="input-button-svg";var we=Bt,mt=function(){function r(){b(this,r)}return k(r,null,[{key:"parseSVGTextElements",value:function(t){return{svg:t.find(function(e){return e.tagName.toLowerCase()==="svg"}),text:t.find(function(e){return e.tagName.toLowerCase()==="div"})}}}])}(),ae=function(){function r(){b(this,r)}return k(r,null,[{key:"unsetAllCSS",value:function(t,e){var n,a;e.container&&Q.unsetAllCSSMouseStates(t,e.container);var s=mt.parseSVGTextElements(Array.from(t.children)),o=s.svg,l=s.text;(n=e.svg)!=null&&n.styles&&o&&Q.unsetAllCSSMouseStates(o,e.svg.styles),(a=e.text)!=null&&a.styles&&l&&Q.unsetAllCSSMouseStates(l,e.text.styles)}},{key:"unsetActionCSS",value:function(t,e){var n,a;e.container&&Q.unsetActivityCSSMouseStates(t,e.container);var s=mt.parseSVGTextElements(Array.from(t.children)),o=s.svg,l=s.text;(n=e.svg)!=null&&n.styles&&o&&Q.unsetActivityCSSMouseStates(o,e.svg.styles),(a=e.text)!=null&&a.styles&&l&&Q.unsetActivityCSSMouseStates(l,e.text.styles)}},{key:"setElementsCSS",value:function(t,e,n){var a,s,o,l,u;Object.assign(t.style,(a=e.container)==null?void 0:a[n]);var c=mt.parseSVGTextElements(Array.from(t.children)),d=c.svg,p=c.text;d&&Object.assign(d.style,(o=(s=e.svg)==null?void 0:s.styles)==null?void 0:o[n]),p&&Object.assign(p.style,(u=(l=e.text)==null?void 0:l.styles)==null?void 0:u[n])}},{key:"setElementCssUpToState",value:function(t,e,n){r.setElementsCSS(t,e,"default"),n!=="default"&&(r.setElementsCSS(t,e,"hover"),n!=="hover"&&r.setElementsCSS(t,e,"click"))}}])}(),De=function(){function r(i,t,e,n,a,s){b(this,r),this._mouseState={state:"default"},this.isCustom=!1,Z.addAttributes(i),this.elementRef=i,this.svg=ye.createSVGElement(t),this.customStyles=a,this.position=e,this._tooltipSettings=n,this.dropupText=s}return k(r,[{key:"buttonMouseLeave",value:function(t){var e;this._mouseState.state="default",((e=this._activeTooltip)==null?void 0:e.element.style.visibility)==="visible"&&this._tooltipSettings&&be.hide(this._activeTooltip,this._tooltipSettings),t&&(ae.unsetAllCSS(this.elementRef,t),ae.setElementsCSS(this.elementRef,t,"default"))}},{key:"buttonMouseEnter",value:function(t){var e;this._mouseState.state="hover",this._tooltipSettings&&(this._activeTooltip=be.display(this.elementRef,this._tooltipSettings,(e=this._activeTooltip)==null?void 0:e.element)),t&&ae.setElementsCSS(this.elementRef,t,"hover")}},{key:"buttonMouseUp",value:function(t){t&&ae.unsetActionCSS(this.elementRef,t),this.buttonMouseEnter(t)}},{key:"buttonMouseDown",value:function(t){this._mouseState.state="click",t&&ae.setElementsCSS(this.elementRef,t,"click")}},{key:"setEvents",value:function(t){this.elementRef.onmousedown=this.buttonMouseDown.bind(this,t),this.elementRef.onmouseup=this.buttonMouseUp.bind(this,t),this.elementRef.onmouseenter=this.buttonMouseEnter.bind(this,t),this.elementRef.onmouseleave=this.buttonMouseLeave.bind(this,t)}},{key:"unsetCustomStateStyles",value:function(t){if(this.customStyles)for(var e=0;e<t.length;e+=1){var n=t[e],a=n&&this.customStyles[n];a&&ae.unsetActionCSS(this.elementRef,a)}}},{key:"reapplyStateStyle",value:function(t,e){if(this.customStyles){e&&this.unsetCustomStateStyles(e);var n=this.customStyles[t];n&&ae.setElementCssUpToState(this.elementRef,n,this._mouseState.state),this.setEvents(n)}}},{key:"changeElementsByState",value:function(t){var e;(e=this.elementRef).replaceChildren.apply(e,Et(t)),we.reassignClassBasedOnChildren(this.elementRef,t)}},{key:"buildDefaultIconElement",value:function(t){var e=this.svg.cloneNode(!0);return e.id=t,[e]}},{key:"createInnerElements",value:function(t,e,n){var a=we.createCustomElements(e,this.svg,n);if(a&&a.length>0){if(this.position==="dropup-menu"){var s=this.svg.cloneNode(!0);s.id=a[0]===this.svg?t:"dropup-menu-item-icon-element-custom",a[0]=s}return a}return this.buildDefaultIconElement(t)}}])}(),Aa=function(r){function i(t){var e;b(this,i);var n,a,s=((a=(n=t==null?void 0:t.default)==null?void 0:n.svg)==null?void 0:a.content)||i.EMPTY_SVG;return e=N(this,i,[document.createElement("div"),s,void 0,void 0,t]),e.isActive=!1,e._innerElements=e.createInnerElementsForStates(e.customStyles),e.changeToDefault(),e}return B(i,r),k(i,[{key:"createInnerElementsForStates",value:function(e){return{default:this.createInnerButtonElements("default",e),active:this.createInnerButtonElements("active",e),unavailable:this.createInnerButtonElements("unavailable",e)}}},{key:"createInnerButtonElements",value:function(e,n){return we.createCustomElements(e,this.svg,n)||[this.svg]}},{key:"changeState",value:function(e){this.changeElementsByState(e),this.elementRef.classList.replace(we.INPUT_BUTTON_SVG_CLASS,"deep-chat-openai-realtime-button")}},{key:"changeToActive",value:function(){this.changeState(this._innerElements.active),this.reapplyStateStyle("active",["unavailable","default"]),this.isActive=!0}},{key:"changeToDefault",value:function(){var e,n,a,s;this.changeState(this._innerElements.default),(e=this.customStyles)!=null&&e.active&&ae.unsetAllCSS(this.elementRef,(n=this.customStyles)==null?void 0:n.active),(a=this.customStyles)!=null&&a.unavailable&&ae.unsetAllCSS(this.elementRef,(s=this.customStyles)==null?void 0:s.unavailable),this.reapplyStateStyle("default",["active","unavailable"]),this.isActive=!1}},{key:"changeToUnavailable",value:function(){var e,n,a,s;this.changeState(this._innerElements.unavailable),(e=this.customStyles)!=null&&e.active&&ae.unsetAllCSS(this.elementRef,(n=this.customStyles)==null?void 0:n.active),(a=this.customStyles)!=null&&a.default&&ae.unsetAllCSS(this.elementRef,(s=this.customStyles)==null?void 0:s.default),this.reapplyStateStyle("unavailable",["default","active"]),this.isActive=!1}}])}(De);Aa.EMPTY_SVG='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"></svg>';var vr=Aa,ve=function(){function r(){b(this,r)}return k(r,null,[{key:"setPropertyValueIfDoesNotExist",value:function(t,e,n){var a,s,o=e[0];e.length===1?(a=t[o])!==null&&a!==void 0||(t[o]=n):((s=t[o])!==null&&s!==void 0||(t[o]={}),e.shift(),r.setPropertyValueIfDoesNotExist(t[o],e,n))}},{key:"setPropertyValue",value:function(t,e,n){var a,s=e[0];e.length===1?t[s]=n:((a=t[s])!==null&&a!==void 0||(t[s]={}),e.shift(),r.setPropertyValue(t[s],e,n))}},{key:"getObjectValue",value:function(t,e){var n=e[0],a=t[n];return a===void 0||e.length===1?a:r.getObjectValue(a,e.slice(1))}},{key:"overwritePropertyObjectFromAnother",value:function(t,e,n){var a=r.getObjectValue(e,n);if(a){var s=V(V({},a),r.getObjectValue(t,n)||{});r.setPropertyValue(t,n,s)}}},{key:"isJson",value:function(t){try{return JSON.stringify(t),!0}catch(e){return!1}}},{key:"assignPropertyFromOneToAnother",value:function(t,e,n){var a;(a=e[t])!==null&&a!==void 0||(e[t]={}),Object.assign(e[t],n==null?void 0:n[t])}}])}(),En=k(function r(){b(this,r)});En.SESSION_STARTED="sts-session-started",En.SESSION_STOPPED="sts-session-stopped";var gr=En,Ma=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M5.92 24.096q0 1.088 0.928 1.728 0.512 0.288 1.088 0.288 0.448 0 0.896-0.224l16.16-8.064q0.48-0.256 0.8-0.736t0.288-1.088-0.288-1.056-0.8-0.736l-16.16-8.064q-0.448-0.224-0.896-0.224-0.544 0-1.088 0.288-0.928 0.608-0.928 1.728v16.16z"></path>
</svg>`,wn=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M5.92 24.096q0 0.832 0.576 1.408t1.44 0.608h16.128q0.832 0 1.44-0.608t0.576-1.408v-16.16q0-0.832-0.576-1.44t-1.44-0.576h-16.128q-0.832 0-1.44 0.576t-0.576 1.44v16.16z"></path>
</svg>`,ht=function(r){function i(t){var e,n;b(this,i);var a,s,o,l,u=JSON.parse(JSON.stringify(t.directConnection)),c=i.getKey(t);n=N(this,i,[t,J.buildKeyVerificationDetails(),J.buildHeaders,{key:c}]),n.insertKeyPlaceholderText="OpenAI API Key",n.keyHelpUrl="https://platform.openai.com/account/api-keys",n._microphoneButton=null,n._toggleButton=null,n._errorElement=null,n._loadingElement=null,n._pc=null,n._mediaStream=null,n._isMuted=!1;var d=(a=u.openAI)==null?void 0:a.realtime;if(x(d)=="object"){n._avatarConfig=d.avatar,n._ephemeralKey=d.ephemeralKey,n._errorConfig=d.error,n._loadingConfig=d.loading,Object.assign(n.rawBody,d.config);var p=(o=(s=t.directConnection)==null?void 0:s.openAI)==null?void 0:o.realtime,h=p.config||{},v=h.function_handler;v&&(n._functionHandler=v),n._events=d.events,p.methods=n.generateMethods()}return(e=(l=n.rawBody).model)!==null&&e!==void 0||(l.model="gpt-4o-realtime-preview-2024-12-17"),n._avatarConfig=i.buildAvatarConfig(d),n._buttonsConfig=i.buildButtonsConfig(d),n._avatarEl=i.createAvatar(n._avatarConfig),n._containerEl=n.createContainer(),n._deepChat=t,n}return B(i,r),k(i,[{key:"setUpView",value:function(e,n){e.style.display="none",n.appendChild(this._containerEl),this.setup()}},{key:"setup",value:function(){var t=_(f().mark(function n(){var a,s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(s=(a=this._deepChat.directConnection)==null?void 0:a.openAI,s){c.next=3;break}return c.abrupt("return");case 3:if(o=s==null?void 0:s.realtime,!(x(o)!="object"||!o.autoStart&&!o.autoFetchEphemeralKey)){c.next=6;break}return c.abrupt("return");case 6:l=this.key||s.key,(o.fetchEphemeralKey||l)&&o.autoStart&&(this.changeToUnavailable(),this.displayLoading()),this.fetchEphemeralKey(o.autoStart);case 8:case"end":return c.stop()}},n,this)}));function e(){return t.apply(this,arguments)}return e}()},{key:"fetchEphemeralKey",value:function(){var t=_(f().mark(function n(a){var s,o,l,u,c,d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(o=(s=this._deepChat.directConnection)==null?void 0:s.openAI,l=x(o==null?void 0:o.realtime)=="object"?o==null?void 0:o.realtime.fetchEphemeralKey:void 0,u=o==null?void 0:o.realtime,c=this.key||o.key,x(u)!="object"){h.next=26;break}if(this._ephemeralKey){h.next=23;break}if(h.prev=3,!l){h.next=12;break}return d=l(),d.then&&(this._retrievingEphemeralKey=d),h.next=9,d;case 9:this._ephemeralKey=h.sent,h.next=18;break;case 12:if(h.t0=c,!h.t0){h.next=18;break}return this._retrievingEphemeralKey=this.getEphemeralKey(c),h.next=17,this._retrievingEphemeralKey;case 17:this._ephemeralKey=h.sent;case 18:h.next=23;break;case 20:h.prev=20,h.t1=h.catch(3),this.displayFailedToRetrieveEphemeralKey(h.t1);case 23:this._ephemeralKey&&(a?this.init(this._ephemeralKey):this.changeToAvailable()),h.next=38;break;case 26:if(!c){h.next=38;break}return h.prev=27,this._retrievingEphemeralKey=this.getEphemeralKey(c),h.next=31,this._retrievingEphemeralKey;case 31:this._ephemeralKey=h.sent,a&&this.init(this._ephemeralKey),h.next=38;break;case 35:h.prev=35,h.t2=h.catch(27),this.displayFailedToRetrieveEphemeralKey(h.t2);case 38:case"end":return h.stop()}},n,this,[[3,20],[27,35]])}));function e(n){return t.apply(this,arguments)}return e}()},{key:"getEphemeralKey",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,fetch("https://api.openai.com/v1/realtime/sessions",{method:"POST",body:JSON.stringify(this.rawBody),headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(a)}});case 2:return o.next=4,o.sent.json();case 4:return o.abrupt("return",o.sent.client_secret.value);case 5:case"end":return o.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"generateMethods",value:function(){var e=this;return{updateConfig:function(a){var s;(s=e._dc)==null||s.send(JSON.stringify({type:"session.update",session:a}))},sendMessage:function(a,s){var o=s||"system",l={role:o,type:"message",content:[{type:o==="system"||o==="user"?"input_text":"text",text:a}]};e.sendMessage(l)}}}},{key:"createContainer",value:function(){var e=document.createElement("div");return e.id="deep-chat-openai-realtime-container",e.appendChild(this.createAvatarContainer()),e.appendChild(this.createButtonsContainer()),e.appendChild(this.createError()),e}},{key:"createAvatarContainer",value:function(){var e,n,a=document.createElement("div");return a.id="deep-chat-openai-realtime-avatar-container",Object.assign(a.style,(n=(e=this._avatarConfig)==null?void 0:e.styles)==null?void 0:n.container),a.appendChild(this._avatarEl),a}},{key:"createButtonsContainer",value:function(){var e,n=document.createElement("div");n.id="deep-chat-openai-realtime-buttons-container",Object.assign(n.style,(e=this._buttonsConfig)==null?void 0:e.container),this._microphoneButton=this.createMicophoneButton();var a=i.createButtonContainer(this._microphoneButton.elementRef);this._toggleButton=this.createToggleButton();var s=i.createButtonContainer(this._toggleButton.elementRef);return n.appendChild(a),n.appendChild(s),n.appendChild(this.createLoading()),n}},{key:"createMicophoneButton",value:function(){var e=this,n,a=new vr((n=this._buttonsConfig)==null?void 0:n.microphone);return a.elementRef.classList.add(i.BUTTON_DEFAULT,"deep-chat-openai-realtime-microphone"),a.elementRef.onclick=function(){a.isActive?(e.toggleMicorphone(!0),a.elementRef.classList.replace(i.MICROPHONE_ACTIVE,i.BUTTON_DEFAULT),a.changeToDefault(),e._isMuted=!1):(e.toggleMicorphone(!1),a.elementRef.classList.replace(i.BUTTON_DEFAULT,i.MICROPHONE_ACTIVE),Z.removeAriaAttributes(a.elementRef),a.changeToActive(),e._isMuted=!0)},a}},{key:"toggleMicorphone",value:function(e){var n;(n=this._mediaStream)==null||n.getAudioTracks().forEach(function(a){return a.enabled=e})}},{key:"createToggleButton",value:function(){var e=this,n,a=new vr((n=this._buttonsConfig)==null?void 0:n.toggle);return a.elementRef.classList.add(i.BUTTON_DEFAULT,"deep-chat-openai-realtime-toggle"),a.elementRef.onclick=_(f().mark(function s(){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!a.isActive){c.next=4;break}a.changeToDefault(),e.stop(),c.next=30;break;case 4:if(c.prev=4,!e._ephemeralKey){c.next=11;break}return e.displayLoading(),c.next=9,e.init(e._ephemeralKey);case 9:c.next=25;break;case 11:if(!e._retrievingEphemeralKey){c.next=22;break}return e.displayLoading(),c.next=15,e._retrievingEphemeralKey;case 15:if(l=c.sent,c.t0=(o=e._toggleButton)!=null&&o.isActive,!c.t0){c.next=20;break}return c.next=20,e.init(l);case 20:c.next=25;break;case 22:return e.displayLoading(),c.next=25,e.fetchEphemeralKey(!0);case 25:c.next=30;break;case 27:c.prev=27,c.t1=c.catch(4),console.error("Failed to start conversation:",c.t1),e.displayError(),e.hideLoading();case 30:case"end":return c.stop()}},s,null,[[4,27]])})),a}},{key:"init",value:function(){var t=_(f().mark(function n(a){var s=this,o,l,u,c,d,p,h,v;return f().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:return o=new RTCPeerConnection,this._pc=o,l=document.createElement("audio"),l.autoplay=!0,u=new AudioContext,c=u.createAnalyser(),c.fftSize=256,d=new Uint8Array(c.frequencyBinCount),this._pc.ontrack=function(){var y=_(f().mark(function S(A){var R;return f().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(!A.streams[0]){T.next=11;break}if(l.srcObject=A.streams[0],R=u.createMediaStreamSource(A.streams[0]),T.t0=u.state==="suspended",!T.t0){T.next=7;break}return T.next=7,u.resume();case 7:R.connect(c),s.monitorFrequencies(c,d),T.next=12;break;case 11:console.error("No streams found in the ontrack event."),s.displayError();case 12:case"end":return T.stop()}},S)}));return function(S){return y.apply(this,arguments)}}(),g.next=10,navigator.mediaDevices.getUserMedia({audio:!0}).then(function(y){var S;o===s._pc&&(s._mediaStream=y,(S=s._pc)==null||S.addTrack(s._mediaStream.getTracks()[0]),s._isMuted&&s.toggleMicorphone(!1))}).catch(function(y){console.error("Error accessing microphone:",y),s.displayError()});case 10:return this._dc=this._pc.createDataChannel("oai-events"),this._dc.addEventListener("message",function(){var y=_(f().mark(function S(A){var R,C,T,U,P,K,I;return f().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(U=JSON.parse(A.data),U.type!=="session.created"){E.next=5;break}s.removeUnavailable(),s._toggleButton&&(Z.removeAriaAttributes(s._toggleButton.elementRef),s._toggleButton.changeToActive()),(C=(R=s._events)==null?void 0:R.started)==null||C.call(R),s._deepChat.dispatchEvent(new CustomEvent(gr.SESSION_STARTED)),s.hideLoading(),E.next=20;break;case 5:if(U.type!=="response.done"){E.next=19;break}if(P=(T=JSON.parse(A.data).response.output)==null?void 0:T[0],(P==null?void 0:P.type)!=="function_call"){E.next=17;break}return K=P.name,I=P.call_id,E.prev=9,E.next=12,s.handleTool(K,P.arguments,I);case 12:E.next=17;break;case 14:E.prev=14,E.t0=E.catch(9),s.stopOnError(E.t0);case 17:E.next=20;break;case 19:U.type==="error"?s.stopOnError(U.error.message):U.type==="invalid_request_error"?s.stopOnError(U.message):U.type;case 20:case"end":return E.stop()}},S,null,[[9,14]])}));return function(S){return y.apply(this,arguments)}}()),g.prev=12,g.next=15,this._pc.createOffer();case 15:if(p=g.sent,g.t0=o!==this._pc,g.t0){g.next=21;break}return g.next=20,this._pc.setLocalDescription(p);case 20:g.t0=o!==this._pc;case 21:if(!g.t0){g.next=23;break}return g.abrupt("return");case 23:return g.next=25,fetch("https://api.openai.com/v1/realtime",{method:"POST",body:p.sdp,headers:{Authorization:"Bearer ".concat(a),"Content-Type":"application/sdp"}});case 25:if(h=g.sent,o===this._pc){g.next=28;break}return g.abrupt("return");case 28:return g.next=30,h.text();case 30:if(g.t1=g.sent,v={type:"answer",sdp:g.t1},g.t2=o!==this._pc,g.t2){g.next=37;break}return g.next=36,this._pc.setRemoteDescription(v);case 36:g.t2=o!==this._pc;case 37:if(!g.t2){g.next=39;break}return g.abrupt("return");case 39:g.next=44;break;case 41:g.prev=41,g.t3=g.catch(12),console.error(g.t3),this.displayError();case 44:case"end":return g.stop()}},n,this,[[12,41]])}));function e(n){return t.apply(this,arguments)}return e}()},{key:"monitorFrequencies",value:function(e,n){var a=this,s=function(o){function l(){return o.apply(this,arguments)}return l.toString=function(){return o.toString()},l}(function(){var o;e.getByteFrequencyData(n);var l=n.reduce(function(h,v){return h+v},0),u=n.length*255,c=l/u*100,d=1,p=d+c/100*(((o=a._avatarConfig)==null?void 0:o.maxScale)-d);a._avatarEl.style.transform="scale(".concat(p,")"),requestAnimationFrame(s)});s()}},{key:"stopOnError",value:function(e){this.stop(),console.error(e),this.displayError()}},{key:"stop",value:function(){var e,n,a;(e=this._mediaStream)==null||e.getTracks().forEach(function(s){return s.stop()}),this._mediaStream=null,this._pc&&(this._pc.close(),this._pc=null,(a=(n=this._events)==null?void 0:n.stopped)==null||a.call(n),this._deepChat.dispatchEvent(new CustomEvent(gr.SESSION_STOPPED)),this._dc=void 0)}},{key:"changeToUnavailable",value:function(){this._microphoneButton&&i.changeButtonToUnavailable(this._microphoneButton),this._toggleButton&&i.changeButtonToUnavailable(this._toggleButton)}},{key:"changeToAvailable",value:function(){this._microphoneButton&&i.changeButtonToAvailable(this._microphoneButton),this._toggleButton&&i.changeButtonToAvailable(this._toggleButton)}},{key:"removeUnavailable",value:function(){this._microphoneButton&&i.removeButtonUnavailable(this._microphoneButton),this._toggleButton&&i.removeButtonUnavailable(this._toggleButton)}},{key:"createError",value:function(){var e,n=document.createElement("div");return n.id="deep-chat-openai-realtime-error",Object.assign(n.style,(e=this._errorConfig)==null?void 0:e.style),this._errorElement=n,n}},{key:"displayFailedToRetrieveEphemeralKey",value:function(e){console.error("Failed to retrieve ephemeral key"),console.error(e),this.displayError()}},{key:"displayError",value:function(){var e;this._errorElement&&(this._errorElement.style.display="block",this._errorElement.textContent=((e=this._errorConfig)==null?void 0:e.text)||"Error",this.changeToUnavailable()),this.hideLoading()}},{key:"createLoading",value:function(){var e,n,a=document.createElement("div");return a.id="deep-chat-openai-realtime-loading",this._loadingElement=a,(e=this._loadingConfig)!=null&&e.html&&(this._loadingElement.innerHTML=this._loadingConfig.html),Object.assign(a.style,(n=this._loadingConfig)==null?void 0:n.style),a.style.display="none",a}},{key:"displayLoading",value:function(){var e,n,a;this._toggleButton&&(this._toggleButton.changeToActive(),this._toggleButton.elementRef.classList.add(i.BUTTON_LOADING),Z.removeAriaDisabled(this._toggleButton.elementRef),Z.addAriaBusy(this._toggleButton.elementRef)),(typeof((e=this._loadingConfig)==null?void 0:e.display)!="boolean"||this._loadingConfig.display)&&this._loadingElement&&(this._loadingElement.style.display="block",(n=this._loadingConfig)!=null&&n.html||(this._loadingElement.textContent=((a=this._loadingConfig)==null?void 0:a.text)||"Loading"))}},{key:"hideLoading",value:function(){this._toggleButton&&(this._toggleButton.elementRef.classList.remove(i.BUTTON_LOADING),Z.removeAriaBusy(this._toggleButton.elementRef)),this._loadingElement&&(this._loadingElement.style.display="none")}},{key:"handleTool",value:function(){var t=_(f().mark(function n(a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(this._functionHandler){d.next=2;break}throw Error("Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/OpenAI/OpenAIRealtime#OpenAIRealtimeFunction) object.");case 2:return d.next=4,this._functionHandler({name:a,arguments:s});case 4:if(l=d.sent,!(x(l)!="object"||!ve.isJson(l))){d.next=7;break}throw Error('The `function_handler` response must be a JSON object, e.g. {response: "My response"}');case 7:u={type:"function_call_output",call_id:o,output:JSON.stringify(l)},this.sendMessage(u);case 9:case"end":return d.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"sendMessage",value:function(e){if(this._dc){var n=JSON.stringify({type:"conversation.item.create",item:e});this._dc.send(n);var a={type:"response.create"};this._dc.send(JSON.stringify(a))}}},{key:"isCustomView",value:function(){return!0}}],[{key:"getKey",value:function(e){var n=e.directConnection.openAI;if(n!=null&&n.key)return n.key;var a=n==null?void 0:n.realtime;if(x(a)=="object"&&(a.ephemeralKey||a.fetchEphemeralKey))return"placeholder"}},{key:"buildAvatarConfig",value:function(e){var n=x(e)=="object"&&e.avatar?JSON.parse(JSON.stringify(e.avatar)):{};return n.maxScale=n.maxScale&&n.maxScale>=1?n.maxScale:2.5,n}},{key:"buildButtonsConfig",value:function(e){var n,a,s,o,l,u,c,d,p,h,v,m,g,y,S,A,R,C,T,U,P,K,I,w,E,D,M=x(e)=="object"&&e.buttons?JSON.parse(JSON.stringify(e.buttons)):{};return(y=(g=(m=M.microphone)==null?void 0:m.default)==null?void 0:g.text)!=null&&y.content||((n=M.microphone)!==null&&n!==void 0||(M.microphone={}),(a=(S=M.microphone).default)!==null&&a!==void 0||(S.default={}),(s=(A=M.microphone.default).svg)!==null&&s!==void 0||(A.svg={}),(o=(R=M.microphone.default.svg).content)!==null&&o!==void 0||(R.content=Ta)),(U=(T=(C=M.toggle)==null?void 0:C.default)==null?void 0:T.text)!=null&&U.content||((l=M.toggle)!==null&&l!==void 0||(M.toggle={}),(u=(P=M.toggle).default)!==null&&u!==void 0||(P.default={}),(c=(K=M.toggle.default).svg)!==null&&c!==void 0||(K.svg={}),(d=(I=M.toggle.default.svg).content)!==null&&d!==void 0||(I.content=Ma),(p=(w=M.toggle).active)!==null&&p!==void 0||(w.active={}),(h=(E=M.toggle.active).svg)!==null&&h!==void 0||(E.svg={}),(v=(D=M.toggle.active.svg).content)!==null&&v!==void 0||(D.content=wn)),M}},{key:"createAvatar",value:function(e){var n,a=document.createElement("img");return a.id="deep-chat-openai-realtime-avatar",Object.assign(a.style,(n=e==null?void 0:e.styles)==null?void 0:n.image),a.src=(e==null?void 0:e.src)||vn,a}},{key:"createButtonContainer",value:function(e){var n=document.createElement("div");return n.classList.add("deep-chat-openai-realtime-button-container"),n.appendChild(e),n}},{key:"changeButtonToUnavailable",value:function(e){e.elementRef.classList.add(i.UNAVAILABLE),Z.removeAriaBusy(e.elementRef),Z.addAriaDisabled(e.elementRef),e.changeToUnavailable()}},{key:"changeButtonToAvailable",value:function(e){i.removeButtonUnavailable(e),e.changeToDefault()}},{key:"removeButtonUnavailable",value:function(e){Z.removeAriaDisabled(e.elementRef),e.elementRef.classList.remove(i.UNAVAILABLE)}}])}(te);ht.BUTTON_DEFAULT="deep-chat-openai-realtime-button-default",ht.BUTTON_LOADING="deep-chat-openai-realtime-button-loading",ht.MICROPHONE_ACTIVE="deep-chat-openai-realtime-microphone-active",ht.UNAVAILABLE="deep-chat-openai-realtime-button-unavailable";var Mo=ht,Cn=function(r){function i(t){var e,n,a;b(this,i);var s,o,l,u=JSON.parse(JSON.stringify(t.directConnection)),c=u==null?void 0:u.openAI;a=N(this,i,[t,J.buildKeyVerificationDetails(),J.buildHeaders,c]),a.insertKeyPlaceholderText="OpenAI API Key",a.keyHelpUrl="https://platform.openai.com/account/api-keys",a.url="https://api.openai.com/v1/audio/speech",a.permittedErrorPrefixes=["Invalid"],a.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>OpenAI : Text To Speech</b></div>
<p>Generate an audio file based on your text input.</p>
<p>Click <a href="https://platform.openai.com/docs/guides/text-to-speech">here</a> for more information.</p>`;var d=(s=u==null?void 0:u.openAI)==null?void 0:s.textToSpeech;return x(d)=="object"&&Object.assign(a.rawBody,d),(e=(o=a.rawBody).model)!==null&&e!==void 0||(o.model=i.DEFAULT_MODEL),(n=(l=a.rawBody).voice)!==null&&n!==void 0||(l.voice=i.DEFAULT_VOIDE),a.textInputPlaceholderText="Insert text to generate audio",a.rawBody.response_format="mp3",a}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a,s,o=JSON.parse(JSON.stringify(e)),l=(s=(a=n[n.length-1])==null?void 0:a.text)==null?void 0:s.trim();return l&&l!==""&&(o.input=l),o}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if((o=this.connectSettings)!=null&&o.headers){c.next=2;break}throw new Error("Request settings have not been set up");case 2:this.url=this.connectSettings.url||this.url,l=this.preprocessBody(this.rawBody,s),W.request(this,l,a);case 5:case"end":return c.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!(a instanceof Blob)){o.next=2;break}return o.abrupt("return",new Promise(function(l){var u=new FileReader;u.readAsDataURL(a),u.onload=function(c){l({files:[{src:c.target.result,type:"audio"}]})}}));case 2:if(!a.error){o.next=4;break}throw a.error.message;case 4:return o.abrupt("return",{error:"error"});case 5:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(te);Cn.DEFAULT_MODEL="tts-1",Cn.DEFAULT_VOIDE="alloy";var Io=Cn,Dt=function(r){function i(t){var e,n;b(this,i);var a,s,o=JSON.parse(JSON.stringify(t.directConnection)),l=o==null?void 0:o.openAI;n=N(this,i,[t,J.buildKeyVerificationDetails(),J.buildHeaders,l,{audio:{}}]),n.insertKeyPlaceholderText="OpenAI API Key",n.keyHelpUrl="https://platform.openai.com/account/api-keys",n.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>OpenAI : Speech To Text</b></div>
<p><b>Upload an audio file</b> to transcribe it into text. You can optionally provide text to guide the audio
processing.
<p>Click <a href="https://platform.openai.com/docs/guides/speech-to-text">here</a> for more info.</p>`,n.url="",n.permittedErrorPrefixes=["Invalid"],n.textInputPlaceholderText="Upload an audio file",n._service_url=i.AUDIO_TRANSCRIPTIONS_URL;var u=(a=o==null?void 0:o.openAI)==null?void 0:a.audio;return x(u)=="object"&&(n.processConfig(u),i.cleanConfig(u),Object.assign(n.rawBody,u)),(e=(s=n.rawBody).model)!==null&&e!==void 0||(s.model=i.DEFAULT_MODEL),n.rawBody.response_format="json",n.canSendMessage=i.canSendFileMessage,n}return B(i,r),k(i,[{key:"processConfig",value:function(e){e!=null&&e.type&&e.type==="translation"&&(this._service_url=i.AUDIO_TRANSLATIONS_URL,delete e.language)}},{key:"preprocessBody",value:function(e,n){var a,s,o=JSON.parse(JSON.stringify(e)),l=(s=(a=n[n.length-1])==null?void 0:a.text)==null?void 0:s.trim();return l&&l!==""&&(o.prompt=l),o}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l,u,c;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if((l=this.connectSettings)!=null&&l.headers){p.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o!=null&&o[0]){p.next=4;break}throw new Error("No file was added");case 4:this.url=this.connectSettings.url||this._service_url,u=this.preprocessBody(this.rawBody,s),c=i.createFormDataBody(u,o[0]),F.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,c,a),!1);case 7:case"end":return p.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error.message;case 2:return o.abrupt("return",{text:a.text});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"canSendFileMessage",value:function(e,n){return!!(n!=null&&n[0])}},{key:"cleanConfig",value:function(e){delete e.type}},{key:"createFormDataBody",value:function(e,n){var a=new FormData;return a.append("file",n),Object.keys(e).forEach(function(s){a.append(s,String(e[s]))}),a}}])}(te);Dt.AUDIO_TRANSCRIPTIONS_URL="https://api.openai.com/v1/audio/transcriptions",Dt.AUDIO_TRANSLATIONS_URL="https://api.openai.com/v1/audio/translations",Dt.DEFAULT_MODEL="whisper-1";var xo=Dt,Le=function(){function r(){b(this,r)}return k(r,null,[{key:"buildTextToSpeechHeaders",value:function(t,e){return{"Ocp-Apim-Subscription-Key":e,"Content-Type":"application/ssml+xml","X-Microsoft-OutputFormat":t}}},{key:"buildSpeechToTextHeaders",value:function(t){return{"Ocp-Apim-Subscription-Key":t,Accept:"application/json"}}},{key:"handleSpeechVerificationResult",value:function(t,e,n,a){t.error?a($.INVALID_KEY):n(e)}},{key:"buildSpeechKeyVerificationDetails",value:function(t){return{url:"https://".concat(t,".api.cognitive.microsoft.com/sts/v1.0/issuetoken"),method:"POST",createHeaders:function(n){return{"Ocp-Apim-Subscription-Key":"".concat(n)}},handleVerificationResult:r.handleSpeechVerificationResult}}},{key:"buildSummarizationHeader",value:function(t){return{"Ocp-Apim-Subscription-Key":t,"Content-Type":"application/json"}}},{key:"handleLanguageVerificationResult",value:function(t,e,n,a){var s;((s=t.error)==null?void 0:s.code)==="401"?a($.INVALID_KEY):n(e)}},{key:"buildLanguageKeyVerificationDetails",value:function(t){return{url:"".concat(t,"/language/analyze-text/jobs?api-version=2022-10-01-preview"),method:"POST",createHeaders:function(n){return{"Ocp-Apim-Subscription-Key":"".concat(n)}},handleVerificationResult:r.handleLanguageVerificationResult}}},{key:"handleTranslationVerificationResult",value:function(t,e,n,a){t.json().then(function(s){!Array.isArray(s)&&s.error.code===401e3?a($.INVALID_KEY):n(e)})}},{key:"buildTranslationKeyVerificationDetails",value:function(t){return{url:"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es",method:"POST",createHeaders:function(n){return r.buildTranslationHeaders(t,n)},handleVerificationResult:r.handleTranslationVerificationResult}}},{key:"buildTranslationHeaders",value:function(t,e){var n={"Ocp-Apim-Subscription-Key":e,"Content-Type":"application/json"};return t&&(n["Ocp-Apim-Subscription-Region"]=t),n}}])}(),Ro=function(r){function i(t,e,n,a,s){var o;return b(this,i),o=N(this,i,[t,Le.buildLanguageKeyVerificationDetails(n),e,a,s]),o.insertKeyPlaceholderText="Azure Language Subscription Key",o.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",o.permittedErrorPrefixes=["Access"],o}return B(i,r),k(i)}(te),Ia=function(r){function i(t){var e,n;b(this,i);var a,s,o,l,u=(s=(a=t.directConnection)==null?void 0:a.azure)==null?void 0:s.summarization,c=(o=t.directConnection)==null?void 0:o.azure;return n=N(this,i,[t,Le.buildSummarizationHeader,u.endpoint,c]),n.permittedErrorPrefixes=[i.ENDPOINT_ERROR_MESSAGE],n.url="",n.textInputPlaceholderText="Insert text to summarize",n.isTextInputDisabled=!1,u.endpoint?((e=(l=n.rawBody).language)!==null&&e!==void 0||(l.language="en"),Object.assign(n.rawBody,u),n.url="".concat(u.endpoint,"/language/analyze-text/jobs?api-version=2022-10-01-preview")):(n.isTextInputDisabled=!0,n.canSendMessage=function(){return!1},setTimeout(function(){t.addMessage({error:i.ENDPOINT_ERROR_MESSAGE})})),n}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a=n[n.length-1].text;if(a)return{analysisInput:{documents:[{id:"1",language:e.language,text:a}]},tasks:[{kind:"ExtractiveSummarization"}]}}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a),this.messages=a;case 4:case"end":return u.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!a.error){c.next=2;break}throw a.error.message;case 2:return this.messages&&this.completionsHandlers&&(o=a.headers.get("operation-location"),l={method:"GET",headers:(s=this.connectSettings)==null?void 0:s.headers},W.executePollRequest(this,o,l,this.messages)),c.abrupt("return",{makingAnotherRequest:!0});case 4:case"end":return c.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"extractPollResultData",value:function(){var t=_(f().mark(function n(a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(!a.error){d.next=2;break}throw a.error;case 2:if(a.status!=="running"){d.next=4;break}return d.abrupt("return",{timeoutMS:2e3});case 4:if(!(a.errors.length>0)){d.next=6;break}throw a.errors[0];case 6:if(!(a.tasks.items[0].results.errors.length>0)){d.next=8;break}throw a.tasks.items[0].results.errors[0];case 8:s="",o=za(a.tasks.items[0].results.documents[0].sentences);try{for(o.s();!(l=o.n()).done;)u=l.value,s+=u.text}catch(p){o.e(p)}finally{o.f()}return d.abrupt("return",{text:s||""});case 12:case"end":return d.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(Ro);Ia.ENDPOINT_ERROR_MESSAGE="Please define the azure endpoint. [More Information](https://deepchat.dev/docs/directConnection/Azure#Summarization)";var Lo=Ia,sn=function(){function r(){b(this,r)}return k(r,null,[{key:"poll",value:function(){var i=_(f().mark(function e(n,a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return s={authorization:n,"content-type":"application/json"},d.t0="https://api.assemblyai.com/v2/transcript/",d.next=4,fetch("https://api.assemblyai.com/v2/transcript",{method:"POST",body:JSON.stringify({audio_url:a}),headers:s});case 4:return d.next=6,d.sent.json();case 6:d.t1=d.sent.id,o=d.t0.concat.call(d.t0,d.t1);case 8:if(l){d.next=24;break}return d.next=11,fetch(o,{headers:s});case 11:return d.next=13,d.sent.json();case 13:if(u=d.sent,u.status!=="completed"){d.next=18;break}l=u,d.next=22;break;case 18:if(u.status!=="error"){d.next=20;break}throw new Error("Transcription failed: ".concat(u.error));case 20:return d.next=22,new Promise(function(p){return setTimeout(p,3e3)});case 22:d.next=8;break;case 24:return d.abrupt("return",l);case 25:case"end":return d.stop()}},e)}));function t(e,n){return i.apply(this,arguments)}return t}()},{key:"buildHeaders",value:function(t){return{Authorization:t,"Content-Type":"application/octet-stream"}}},{key:"handleVerificationResult",value:function(t,e,n,a){var s=t;s.error?s.error.code==="invalid_api_key"?a($.INVALID_KEY):a($.CONNECTION_FAILED):n(e)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.assemblyai.com/v2/upload",method:"POST",handleVerificationResult:r.handleVerificationResult}}}])}(),Oo=function(r){function i(t){var e;b(this,i);var n,a=(n=t.directConnection)==null?void 0:n.assemblyAI;return e=N(this,i,[t,sn.buildKeyVerificationDetails(),sn.buildHeaders,a,{audio:{}}]),e.insertKeyPlaceholderText="AssemblyAI API Key",e.keyHelpUrl="https://www.assemblyai.com/app/account",e.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>AssemblyAI Audio</b></div>
<p><b>Upload an audio file</b> to transcribe it into text.
<p>
Click <a href="https://www.assemblyai.com/docs/Guides/transcribing_an_audio_file#get-started">here</a> for more info.
</p>`,e.url="https://api.assemblyai.com/v2/upload",e.isTextInputDisabled=!0,e.textInputPlaceholderText="Upload an audio file",e.permittedErrorPrefixes=["Authentication","Invalid"],e.canSendMessage=i.canFileSendMessage,e}return B(i,r),k(i,[{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if((l=this.connectSettings)!=null&&l.headers){c.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o!=null&&o[0]){c.next=4;break}throw new Error("No file was added");case 4:W.request(this,o[0],a,!1);case 5:case"end":return c.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!a.error){c.next=2;break}throw a.error;case 2:return l=(o=(s=this.connectSettings)==null?void 0:s.headers)==null?void 0:o.Authorization,c.next=5,sn.poll(l,a.upload_url);case 5:return c.t0=c.sent.text,c.abrupt("return",{text:c.t0});case 7:case"end":return c.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"canFileSendMessage",value:function(e,n){return!!(n!=null&&n[0])}}])}(te),xa=function(r){function i(t,e,n,a,s){var o;return b(this,i),o=N(this,i,[t,Le.buildSpeechKeyVerificationDetails(n),e,a,s]),o.insertKeyPlaceholderText="Azure Speech Subscription Key",o.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",o}return B(i,r),k(i)}(te),Tn=function(r){function i(t){var e,n,a,s;b(this,i);var o,l,u,c,d,p,h=(l=(o=t.directConnection)==null?void 0:o.azure)==null?void 0:l.textToSpeech,v=(u=t.directConnection)==null?void 0:u.azure;return s=N(this,i,[t,Le.buildTextToSpeechHeaders.bind({},(h==null?void 0:h.outputFormat)||"audio-16khz-128kbitrate-mono-mp3"),h.region,v]),s.permittedErrorPrefixes=[i.REGION_ERROR_MESSAGE],s.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>Azure Text To Speech</b></div>
<p>Insert text to synthesize it to audio.
<p>
Click <a href="`.concat(i.HELP_LINK,`">here</a> for more info.
</p>`),s.isTextInputDisabled=!1,s.url="",h.region?(Object.assign(s.rawBody,h),(e=(c=s.rawBody).lang)!==null&&e!==void 0||(c.lang="en-US"),(n=(d=s.rawBody).name)!==null&&n!==void 0||(d.name="en-US-JennyNeural"),(a=(p=s.rawBody).gender)!==null&&a!==void 0||(p.gender="Female"),s.url="https://".concat(h.region,".tts.speech.microsoft.com/cognitiveservices/v1")):(s.isTextInputDisabled=!0,s.canSendMessage=function(){return!1},setTimeout(function(){t.addMessage({error:i.REGION_ERROR_MESSAGE})})),s}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a=n[n.length-1].text;if(a)return"<speak version='1.0' xml:lang='".concat(e.lang,`'>
<voice xml:lang='`).concat(e.lang,"' xml:gender='").concat(e.gender,"' name='").concat(e.name,`'>
`).concat(a,`
</voice>
</speak>`)}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a,!1);case 4:case"end":return u.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",new Promise(function(l){var u=new FileReader;u.readAsDataURL(a),u.onload=function(c){l({files:[{src:c.target.result,type:"audio"}]})}}));case 1:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(xa);Tn.HELP_LINK="https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest",Tn.REGION_ERROR_MESSAGE="Please define a region config property. [More Information](https://deepchat.dev/docs/directConnection/Azure#TextToSpeech)";var Po=Tn,An=function(r){function i(t){var e;b(this,i);var n,a,s,o=(a=(n=t.directConnection)==null?void 0:n.azure)==null?void 0:a.speechToText,l=(s=t.directConnection)==null?void 0:s.azure,u={audio:{files:{acceptedFormats:".wav,.ogg"}}};if(e=N(this,i,[t,Le.buildSpeechToTextHeaders,o.region,l,u]),e.permittedErrorPrefixes=[i.REGION_ERROR_MESSAGE],e.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>Azure Speech To Text</b></div>
<p><b>Upload a .wav or .ogg audio file</b> to transcribe it into text.
<p>
Click <a href="`.concat(i.HELP_LINK,`">here</a> for more info.
</p>`),e.url="",e.isTextInputDisabled=!0,e.textInputPlaceholderText="Upload an audio file",!o.region)e.isTextInputDisabled=!0,e.canSendMessage=function(){return!1},setTimeout(function(){t.addMessage({error:i.REGION_ERROR_MESSAGE})});else{e.canSendMessage=i.canFileSendMessage;var c=o.lang||"en-US";e.url="https://".concat(o.region,".stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=").concat(c,"&format=detailed"),e.recordAudio=void 0}return e}return B(i,r),k(i,[{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if((l=this.connectSettings)!=null&&l.headers){d.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o!=null&&o[0]){d.next=4;break}throw new Error("No file was added");case 4:(u=this.connectSettings)!=null&&u.headers&&(this.connectSettings.headers["Content-Type"]=o[0].name.toLocaleLowerCase().endsWith(".wav")?"audio/wav; codecs=audio/pcm; samplerate=16000":"audio/ogg; codecs=opus"),W.request(this,o[0],a,!1);case 5:case"end":return d.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error;case 2:return o.abrupt("return",{text:a.DisplayText||""});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"canFileSendMessage",value:function(e,n){return!!(n!=null&&n[0])}}])}(xa);An.HELP_LINK="https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest",An.REGION_ERROR_MESSAGE="Please define a region config property. [More Information](https://deepchat.dev/docs/directConnection/Azure#SpeechToText)";var No=An,Bo=function(r){function i(t){var e;b(this,i);var n,a,s,o=(a=(n=t.directConnection)==null?void 0:n.azure)==null?void 0:a.translation,l=(s=t.directConnection)==null?void 0:s.azure;return e=N(this,i,[t,Le.buildTranslationKeyVerificationDetails(o.region),Le.buildTranslationHeaders.bind({},o==null?void 0:o.region),l]),e.insertKeyPlaceholderText="Azure Translate Subscription Key",e.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",e.url="",e.url="https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=".concat(o.language||"es"),e}return B(i,r),k(i,[{key:"preprocessBody",value:function(e){var n=e[e.length-1].text;if(n)return[{Text:n}]}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!Array.isArray(a)){l.next=2;break}return l.abrupt("return",{text:((s=a[0].translations)==null?void 0:s[0].text)||""});case 2:throw a.error;case 3:case"end":return l.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(te),Ra=function(r){function i(t,e,n,a,s){var o,l,u;b(this,i);var c,d,p,h,v,m=JSON.parse(JSON.stringify(t.directConnection)),g=e||J.buildKeyVerificationDetails(),y=n||J.buildHeaders,S=a||m.openAI;u=N(this,i,[t,g,y,S]),u.insertKeyPlaceholderText="OpenAI API Key",u.keyHelpUrl="https://platform.openai.com/account/api-keys",u.url="https://api.openai.com/v1/chat/completions",u.permittedErrorPrefixes=["Incorrect"],u.asyncCallInProgress=!1,u._systemMessage=i.generateSystemMessage("You are a helpful assistant.");var A=s||((c=m.openAI)==null?void 0:c.chat);if(x(A)=="object"){A.system_prompt&&(u._systemMessage=i.generateSystemMessage(A.system_prompt));var R=(h=(p=(d=t.directConnection)==null?void 0:d.openAI)==null?void 0:p.chat)==null?void 0:h.function_handler;R&&(u._functionHandler=R),u.cleanConfig(A),Object.assign(u.rawBody,A)}return(o=u.maxMessages)!==null&&o!==void 0||(u.maxMessages=-1),(l=(v=u.rawBody).model)!==null&&l!==void 0||(v.model="gpt-4o"),u}return B(i,r),k(i,[{key:"cleanConfig",value:function(e){delete e.system_prompt,delete e.function_handler}},{key:"preprocessBody",value:function(e,n){var a,s=JSON.parse(JSON.stringify(e)),o=Wt.getCharacterLimitMessages(n,this.totalMessagesMaxCharLength?this.totalMessagesMaxCharLength-this._systemMessage.content.length:-1).map(function(l){return{content:i.getContent(l),role:l.role===O.USER_ROLE?"user":"assistant"}});return n.find(function(l){return l.files&&l.files.length>0})&&((a=s.max_tokens)!==null&&a!==void 0||(s.max_tokens=300)),s.messages=[this._systemMessage].concat(Et(o)),s}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.connectSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),l=this.stream,l&&(x(l)!="object"||!l.simulation)||o.stream?(o.stream=!0,Y.request(this,o,a)):W.request(this,o,a);case 4:case"end":return c.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a,s,o){var l,u,c,d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(!a.error){h.next=2;break}throw a.error.message;case 2:return h.abrupt("return",(u=(l=a.choices)==null?void 0:l[0])!=null&&u.delta?this.extractStreamResult(a.choices[0],s,o):(d=(c=a.choices)==null?void 0:c[0])!=null&&d.message?a.choices[0].message.tool_calls?this.handleTools(a.choices[0].message,s,o):{text:a.choices[0].message.content}:{text:""});case 3:case"end":return h.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"extractStreamResult",value:function(){var t=_(f().mark(function n(a,s,o){var l=this,u,c,d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(u=a.delta,c=a.finish_reason,c!=="tool_calls"){h.next=7;break}return this.asyncCallInProgress=!0,d={tool_calls:this._streamToolCalls},h.abrupt("return",(this._streamToolCalls=void 0,this.handleTools(d,s,o)));case 7:u!=null&&u.tool_calls&&(this._streamToolCalls?u.tool_calls.forEach(function(v,m){l._streamToolCalls&&(l._streamToolCalls[m].function.arguments+=v.function.arguments)}):this._streamToolCalls=u.tool_calls);case 8:return h.abrupt("return",{text:(u==null?void 0:u.content)||""});case 9:case"end":return h.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"handleTools",value:function(){var t=_(f().mark(function n(a,s,o){var l,u,c,d,p,h,v,m,g,y,S,A;return f().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if(!(!a.tool_calls||!s||!o||!this._functionHandler)){C.next=2;break}throw Error("Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Chat) object.");case 2:return h=JSON.parse(JSON.stringify(o)),v=a.tool_calls.map(function(T){return{name:T.function.name,arguments:T.function.arguments}}),C.next=6,(l=this._functionHandler)==null?void 0:l.call(this,v);case 6:if(m=C.sent,Array.isArray(m)){C.next=20;break}if(!m.text){C.next=19;break}return g={text:m.text},C.next=12,(c=(u=this.deepChat).responseInterceptor)==null?void 0:c.call(u,g);case 12:if(C.t0=C.sent,C.t0){C.next=15;break}C.t0=g;case 15:if(y=C.t0,!Array.isArray(y)){C.next=18;break}throw Error(J.FUNCTION_TOOL_RESP_ARR_ERROR);case 18:return C.abrupt("return",y);case 19:throw Error(J.FUNCTION_TOOL_RESP_ERROR);case 20:return C.next=22,Promise.all(m);case 22:if(S=C.sent,h.messages.push({tool_calls:a.tool_calls,role:"assistant",content:null}),!(!S.find(function(T){var U=T.response;return typeof U!="string"})&&v.length===S.length)){C.next=43;break}return S.forEach(function(T,U){var P,K=(P=a.tool_calls)==null?void 0:P[U];h==null||h.messages.push({role:"tool",tool_call_id:K==null?void 0:K.id,name:K==null?void 0:K.function.name,content:T.response})}),delete h.tools,delete h.tool_choice,delete h.stream,C.prev=25,C.next=28,s==null?void 0:s(h).then(function(T){return F.processResponseByType(T)});case 28:return A=C.sent,C.next=31,(p=(d=this.deepChat).responseInterceptor)==null?void 0:p.call(d,A);case 31:if(C.t1=C.sent,C.t1){C.next=34;break}C.t1=A;case 34:if(A=C.t1,!A.error){C.next=37;break}throw A.error.message;case 37:return C.abrupt("return",{text:A.choices[0].message.content||""});case 40:throw C.prev=40,C.t2=C.catch(25),this.asyncCallInProgress=!1,C.t2;case 43:throw Error(J.FUNCTION_TOOL_RESP_ERROR);case 44:case"end":return C.stop()}},n,this,[[25,40]])}));function e(n,a,s){return t.apply(this,arguments)}return e}()}],[{key:"generateSystemMessage",value:function(e){return{role:"system",content:e}}},{key:"getContent",value:function(e){if(e.files&&e.files.length>0){var n=e.files.map(function(a){return{type:"image_url",image_url:{url:a.src}}});return e.text&&e.text.trim().length>0&&n.unshift({type:"text",text:e.text}),n}return e.text}}])}(te),Do=function(r){function i(t){var e;b(this,i);var n,a,s,o,l,u,c,d=JSON.parse(JSON.stringify(t.directConnection)),p=d.azure,h=((a=(n=d.azure)==null?void 0:n.openAI)==null?void 0:a.urlDetails)||{},v=(o=(s=d.azure)==null?void 0:s.openAI)==null?void 0:o.chat;if(e=N(this,i,[t,pe.buildKeyVerificationDetails(h),pe.buildHeaders,p,v]),e.permittedErrorPrefixes=[pe.URL_DETAILS_ERROR_MESSAGE],e.isTextInputDisabled=!1,x(v)=="object"){var m=(c=(u=(l=t.directConnection)==null?void 0:l.azure)==null?void 0:u.openAI)==null?void 0:c.chat,g=m.function_handler;g&&(e._functionHandler=g)}return pe.validateURLDetails(h)?e.url=i.buildURL(h):(e.isTextInputDisabled=!0,e.canSendMessage=function(){return!1},setTimeout(function(){t.addMessage({error:pe.URL_DETAILS_ERROR_MESSAGE})})),e}return B(i,r),k(i,null,[{key:"buildURL",value:function(e){var n=e.endpoint,a=e.deploymentId,s=e.version;return"".concat(n,"/openai/deployments/").concat(a,"/chat/completions?api-version=").concat(s)}}])}(Ra),Ft=function(r){function i(t){var e;b(this,i);var n,a=t.directConnection,s=a==null?void 0:a.openAI,o={images:{files:{acceptedFormats:".png",maxNumberOfFiles:2}}};e=N(this,i,[t,J.buildKeyVerificationDetails(),J.buildHeaders,s,o]),e.insertKeyPlaceholderText="OpenAI API Key",e.keyHelpUrl="https://platform.openai.com/account/api-keys",e.introPanelMarkUp=`
<div style="width: 100%; text-align: center; margin-left: -10px"><b>OpenAI DALL·E</b></div>
<p><b>Insert text</b> to generate an image.</p>
<p><b>Upload 1</b> PNG image to generate its variation and optionally insert text to specify the change.</p>
<p><b>Upload 2</b> PNG images where the second is a copy of the first with a transparent area where the edit should
take place and text to specify the edit.</p>
<p>Click <a href="https://platform.openai.com/docs/guides/images/introduction">here</a> for more info.</p>`,e.url="",e.permittedErrorPrefixes=["Incorrect","Invalid input image"];var l=(n=a==null?void 0:a.openAI)==null?void 0:n.images;if(e.camera){var u=x(l)=="object"&&l.size?Number.parseInt(l.size):1024;e.camera.files={dimensions:{width:u,height:u}}}return x(l)=="object"&&Object.assign(e.rawBody,l),e.canSendMessage=i.canFileSendMessage,e}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a=JSON.parse(JSON.stringify(e));return n&&n!==""&&(a.prompt=n),a}},{key:"callApiWithImage",value:function(e,n,a){var s,o,l,u=(o=(s=n[n.length-1])==null?void 0:s.text)==null?void 0:o.trim();if(a[1]||u&&u!==""){this.url=i.IMAGE_EDIT_URL;var c=this.preprocessBody(this.rawBody,u);l=i.createFormDataBody(c,a[0],a[1])}else this.url=i.IMAGE_VARIATIONS_URL,l=i.createFormDataBody(this.rawBody,a[0]);F.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,l,e),!1)}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if((l=this.connectSettings)!=null&&l.headers){d.next=2;break}throw new Error("Request settings have not been set up");case 2:if(!(o!=null&&o[0])){d.next=6;break}this.callApiWithImage(a,s,o),d.next=11;break;case 6:if(this.connectSettings){d.next=8;break}throw new Error("Request settings have not been set up");case 8:this.url=i.IMAGE_GENERATION_URL,u=this.preprocessBody(this.rawBody,s[s.length-1].text),W.request(this,u,a);case 11:case"end":return d.stop()}},n,this)}));function e(n,a,s){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error.message;case 2:return o.abrupt("return",{files:a.data.map(function(l){return l.url?{src:l.url,type:"image"}:{src:"".concat(wt).concat(l.b64_json),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"canFileSendMessage",value:function(e,n){return!!(n!=null&&n[0])||!!(e&&e.trim()!=="")}},{key:"createFormDataBody",value:function(e,n,a){var s=new FormData;return s.append("image",n),a&&s.append("mask",a),Object.keys(e).forEach(function(o){s.append(o,String(e[o]))}),s}}])}(te);Ft.IMAGE_GENERATION_URL="https://api.openai.com/v1/images/generations",Ft.IMAGE_VARIATIONS_URL="https://api.openai.com/v1/images/variations",Ft.IMAGE_EDIT_URL="https://api.openai.com/v1/images/edits";var Fo=Ft,Uo=function(r){function i(t){var e,n;b(this,i);var a,s=JSON.parse(JSON.stringify(t.directConnection)),o=(a=s.cohere)==null?void 0:a.chat,l=s.cohere;return n=N(this,i,[t,"https://api.cohere.ai/v1/chat","Ask me anything!",o,l]),x(o)=="object"&&Object.assign(n.rawBody,o),(e=n.maxMessages)!==null&&e!==void 0||(n.maxMessages=-1),n}return B(i,r),k(i,[{key:"preprocessBody",value:function(e,n){var a=JSON.parse(JSON.stringify(e)),s=n.filter(function(o){return o.text});return a.query=s[s.length-1].text,a.chat_history=s.slice(0,s.length-1).map(function(o){return{text:o.text,user_name:o.role==="ai"?"CHATBOT":"USER"}}),a}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{text:a.text});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(qn),yr=function(){function r(){b(this,r)}return k(r,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json",accept:"application/json"}}},{key:"handleVerificationResult",value:function(t,e,n,a){var s;(s=t.message)!=null&&s.includes("invalid request: prompt must be at least 1 token long")?n(e):a($.INVALID_KEY)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.mistral.ai/v1/models",method:"GET",handleVerificationResult:r.handleVerificationResult}}}])}(),jo=function(r){function i(t){var e,n,a;b(this,i);var s,o=JSON.parse(JSON.stringify(t.directConnection)).mistral;return a=N(this,i,[t,yr.buildKeyVerificationDetails(),yr.buildHeaders,o]),a.insertKeyPlaceholderText="Mistral API Key",a.keyHelpUrl="https://console.mistral.ai/api-keys/",a.url="https://api.mistral.ai/v1/chat/completions",a.permittedErrorPrefixes=["invalid"],o&&(a.cleanConfig(o),Object.assign(a.rawBody,o)),(e=a.maxMessages)!==null&&e!==void 0||(a.maxMessages=-1),(n=(s=a.rawBody).model)!==null&&n!==void 0||(s.model="open-mistral-7b"),a}return B(i,r),k(i,[{key:"cleanConfig",value:function(e){delete e.key}},{key:"preprocessBody",value:function(e,n){var a=JSON.parse(JSON.stringify(e)),s=n.filter(function(o){return o.text});return a.messages=s.slice(0,s.length-1).map(function(o){return{text:o.text,user_name:o.role==="ai"?"system":"user"}}),a}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{text:a.text});case 3:case"end":return o.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}])}(te),br=function(){function r(){b(this,r)}return k(r,null,[{key:"buildHeaders",value:function(){return{"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(t,e,n,a){var s,o=t;o.error?o.error.code===403||(s=o.error.message)!=null&&s.includes("API key")?a($.INVALID_KEY):a($.CONNECTION_FAILED):n(e)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://generativelanguage.googleapis.com/v1beta/models?key=",method:"GET",handleVerificationResult:r.handleVerificationResult}}},{key:"directFetch",value:function(){var i=_(f().mark(function e(n,a,s){var o,l,u=arguments;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return o=u.length>3&&u[3]!==void 0?u[3]:!0,n.connectSettings.method=s,d.next=4,F.fetch(n,n.connectSettings.headers,o,a).then(function(p){return F.processResponseByType(p)});case 4:if(l=d.sent,!l.error){d.next=7;break}throw l.error.message;case 7:return d.abrupt("return",l);case 8:case"end":return d.stop()}},e)}));function t(e,n,a){return i.apply(this,arguments)}return t}()}])}(),Ho=function(r){function i(t){var e,n;b(this,i);var a,s=JSON.parse(JSON.stringify(t.directConnection)),o=s.gemini,l=(a=s.gemini)==null?void 0:a.chat,u;n=N(this,i,[t,br.buildKeyVerificationDetails(),br.buildHeaders,o]),n.insertKeyPlaceholderText="Gemini API Key",n.keyHelpUrl="https://aistudio.google.com/app/apikey",n.url="https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent",n.permittedErrorPrefixes=["API_KEY_INVALID"],x(l)=="object"&&(l.systemInstruction&&(u=l.systemInstruction),l.model&&(n.url="https://generativelanguage.googleapis.com/v1beta/models/".concat(l.model,":generateContent")));var c="".concat(n.url,"?key=").concat(o==null?void 0:o.key);return n.url=c,Object.defineProperty(n,"_systemInstruction",{value:u,writable:!1}),x(l)=="object"&&(n.cleanConfig(l),Object.assign(n.rawBody,l)),(e=n.maxMessages)!==null&&e!==void 0||(n.maxMessages=-1),n}return B(i,r),k(i,[{key:"cleanConfig",value:function(e){delete e.systemInstruction,delete e.model}},{key:"preprocessBody",value:function(e,n){var a,s=JSON.parse(JSON.stringify(e)),o=Wt.getCharacterLimitMessages(n,this.totalMessagesMaxCharLength?this.totalMessagesMaxCharLength-(((a=this._systemInstruction)==null?void 0:a.length)||0):-1).map(function(l){return i.getContent(l)});return s.contents=o,this._systemInstruction&&(s.systemInstruction={parts:[{text:this._systemInstruction}]}),s}},{key:"callServiceAPI",value:function(){var t=_(f().mark(function n(a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.connectSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),l=this.stream,l&&(x(l)!="object"||!l.simulation)||o.stream?(o.stream=!0,Y.request(this,o,a)):W.request(this,o,a);case 4:case"end":return c.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var t=_(f().mark(function n(a){var s,o,l,u,c;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(!a.error){p.next=2;break}throw a.error.message||"Gemini API Error";case 2:return p.abrupt("return",(c=(u=(l=(o=(s=a.candidates)==null?void 0:s[0])==null?void 0:o.content)==null?void 0:l.parts)==null?void 0:u[0])!=null&&c.text?{text:a.candidates[0].content.parts[0].text}:{text:""});case 3:case"end":return p.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()}],[{key:"getContent",value:function(e){var n=[];return e.text&&e.text.trim().length>0&&n.push({text:e.text}),e.files&&e.files.length>0&&e.files.forEach(function(a){if(a.src&&a.src.includes("data:")){var s=a.src.split(","),o=xe(s,2),l=o[0],u=o[1];n.push({inlineData:{mimeType:l.replace("data:","").replace(";base64",""),data:u}})}}),{parts:n,role:e.role===O.USER_ROLE?"user":"model"}}}])}(te),qo=function(){function r(){b(this,r)}return k(r,null,[{key:"create",value:function(t){var e=t.directConnection,n=t.connect,a=t.demo,s=t.webModel;if(s)return new jn(t);if(e){if(e.openAI)return e.openAI.images?new Fo(t):e.openAI.speechToText?new xo(t):e.openAI.textToSpeech?new Io(t):e.openAI.assistant?new wo(t):e.openAI.realtime?new Mo(t):new Ra(t);if(e.assemblyAI)return new Oo(t);if(e.cohere)return e.cohere.textGeneration?new Co(t):e.cohere.summarization?new Ao(t):new Uo(t);if(e.huggingFace)return e.huggingFace.textGeneration?new vo(t):e.huggingFace.summarization?new yo(t):e.huggingFace.translation?new So(t):e.huggingFace.fillMask?new Eo(t):e.huggingFace.questionAnswer?new go(t):e.huggingFace.audioSpeechRecognition?new mo(t):e.huggingFace.audioClassification?new co(t):e.huggingFace.imageClassification?new ho(t):new bo(t);if(e.azure){if(e.azure.openAI){if(e.azure.openAI.chat)return new Do(t);if(e.azure.openAI.assistant)return new To(t)}if(e.azure.speechToText)return new No(t);if(e.azure.textToSpeech)return new Po(t);if(e.azure.summarization)return new Lo(t);if(e.azure.translation)return new Bo(t)}if(e.stabilityAI)return e.stabilityAI.imageToImage?new ko(t):e.stabilityAI.imageToImageUpscale?new po(t):e.stabilityAI.imageToImageMasking?new fo(t):new _o(t);if(e.mistral)return new jo(t);if(e.gemini)return new Ho(t)}return n&&Object.keys(n).length>0&&!a?new zt(t):new zt(t,void 0,a||!0)}}])}(),La=k(function r(){b(this,r)});La.attibutes={string:function(i){return i},number:function(i){return parseFloat(i)},boolean:function(i){return i==="true"},object:function(i){return JSON.parse(i)},array:function(i){return JSON.parse(i)},function:function(i){return new Function("return ".concat(i))()}};var Vo=La;function H(r){return function(i,t){Object.defineProperty(i,t,{});var e=i.constructor,n=t.toLocaleLowerCase();e._attributes_[n]=Vo.attibutes[r],e._attributeToProperty_[n]=t}}var zo=function(){function r(i,t,e){b(this,r),this._isDisplayed=!1,i?(this._elementRef=this.createIntroPanelWithChild(i,e),this._isDisplayed=!0):t&&(this._elementRef=this.createInternalIntroPanel(t,e),this._isDisplayed=!0)}return k(r,[{key:"createIntroPanelWithChild",value:function(t,e){var n=r.createIntroPanel(e);return t.style.display==="none"&&(t.style.display="block"),n.appendChild(t),n}},{key:"createInternalIntroPanel",value:function(t,e){var n=r.createIntroPanel(e);return n.id="internal-intro-panel",n.innerHTML=t,n}},{key:"hide",value:function(){this._isDisplayed&&this._elementRef&&(this._elementRef.style.display="none",this._isDisplayed=!1)}},{key:"display",value:function(){!this._isDisplayed&&this._elementRef&&(this._elementRef.style.display="",this._isDisplayed=!0)}}],[{key:"createIntroPanel",value:function(t){var e=document.createElement("div");return e.classList.add("intro-panel"),Object.assign(e.style,t),e}}])}(),Go=`<?xml version="1.0" encoding="iso-8859-1"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="50 30 420 450" xml:space="preserve">
<g filter="brightness(0) saturate(100%) invert(16%) sepia(0%) saturate(1942%) hue-rotate(215deg) brightness(99%) contrast(93%)">
<g>
<path d="M447.933,103.629c-0.034-3.076-1.224-6.09-3.485-8.352L352.683,3.511c-0.004-0.004-0.007-0.005-0.011-0.008
C350.505,1.338,347.511,0,344.206,0H89.278C75.361,0,64.04,11.32,64.04,25.237v461.525c0,13.916,11.32,25.237,25.237,25.237
h333.444c13.916,0,25.237-11.32,25.237-25.237V103.753C447.96,103.709,447.937,103.672,447.933,103.629z M356.194,40.931
l50.834,50.834h-49.572c-0.695,0-1.262-0.567-1.262-1.262V40.931z M423.983,486.763c0,0.695-0.566,1.261-1.261,1.261H89.278
c-0.695,0-1.261-0.566-1.261-1.261V25.237c0-0.695,0.566-1.261,1.261-1.261h242.94v66.527c0,13.916,11.322,25.239,25.239,25.239
h66.527V486.763z"/>
</g>
</g>
<g>
<g>
<path d="M362.088,164.014H149.912c-6.62,0-11.988,5.367-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175
c6.62,0,11.988-5.368,11.988-11.988C374.076,169.381,368.707,164.014,362.088,164.014z"/>
</g>
</g>
<g>
<g>
<path d="M362.088,236.353H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175
c6.62,0,11.988-5.368,11.988-11.988C374.076,241.721,368.707,236.353,362.088,236.353z"/>
</g>
</g>
<g>
<g>
<path d="M362.088,308.691H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988h212.175
c6.62,0,11.988-5.367,11.988-11.988C374.076,314.06,368.707,308.691,362.088,308.691z"/>
</g>
</g>
<g>
<g>
<path d="M256,381.031H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988H256
c6.62,0,11.988-5.367,11.988-11.988C267.988,386.398,262.62,381.031,256,381.031z"/>
</g>
</g>
</svg>`,Ut=function(){function r(){b(this,r)}return k(r,null,[{key:"createImage",value:function(t,e,n){var a=new Image;return a.src=t.src,n&&re.scrollDownOnImageLoad(a.src,e),re.processContent("image",a,a.src,t.name)}},{key:"createImageMessage",value:function(t,e,n,a){var s=r.createImage(e,t.elementRef,!a&&!t.focusMode),o=t.createNewMessageElement("",n);return o.bubbleElement.appendChild(s),o.bubbleElement.classList.add(r.IMAGE_BUBBLE_CLASS),{type:"image",elements:o}}},{key:"createAudioElement",value:function(t,e){var n=document.createElement("audio");return n.src=t.src,n.classList.add("audio-player"),n.controls=!0,Me.IS_SAFARI&&(n.classList.add("audio-player-safari"),n.classList.add(e===O.USER_ROLE?"audio-player-safari-right":"audio-player-safari-left")),n}},{key:"createNewAudioMessage",value:function(t,e,n,a){var s=r.createAudioElement(e,n),o=t.createMessageElementsOnOrientation("",n,a);return o.bubbleElement.appendChild(s),o.bubbleElement.classList.add(r.AUDIO_BUBBLE_CLASS),{type:"audio",elements:o}}},{key:"createAnyFile",value:function(t){var e=document.createElement("div");e.classList.add("any-file-message-contents");var n=document.createElement("div");n.classList.add("any-file-message-icon-container");var a=ye.createSVGElement(Go);a.classList.add("any-file-message-icon"),n.appendChild(a);var s=document.createElement("div");return s.classList.add("any-file-message-text"),s.textContent=t.name||re.DEFAULT_FILE_NAME,e.appendChild(n),e.appendChild(s),re.processContent("any",e,t.src,s.textContent)}},{key:"createNewAnyFileMessage",value:function(t,e,n,a){var s=t.createMessageElementsOnOrientation("",n,a),o=r.createAnyFile(e);return s.bubbleElement.classList.add(r.ANY_FILE_BUBBLE_CLASS),s.bubbleElement.appendChild(o),{type:"file",elements:s}}},{key:"createMessages",value:function(t,e,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return e.map(function(s){return s.ref&&(s=re.removeFileRef(s)),re.isAudioFile(s)?r.createNewAudioMessage(t,s,n,a):re.isImageFile(s)?r.createImageMessage(t,s,n,a):r.createNewAnyFileMessage(t,s,n,a)})}},{key:"addMessages",value:function(t,e,n,a){r.createMessages(t,e,n,a).forEach(function(s){var o=s.type,l=s.elements;re.addMessage(t,l,o,n,a)})}}])}();Ut.IMAGE_BUBBLE_CLASS="image-message",Ut.AUDIO_BUBBLE_CLASS="audio-message",Ut.ANY_FILE_BUBBLE_CLASS="any-file-message";var Oa=Ut,$o=function(){function r(){b(this,r)}return k(r,null,[{key:"removeElements",value:function(t,e){if(e){var n=t.findIndex(function(a){return a===e});t.splice(n,1),e==null||e.outerContainer.remove()}}},{key:"removeFilesMessages",value:function(t,e){var n;(n=e[1].files)==null||n.forEach(function(a){r.removeElements(t.messageElementRefs,a)}),delete e[0].files,delete e[1].files}},{key:"removeTextHTMLMessage",value:function(t,e,n){var a=e[1][n];r.removeElements(t.messageElementRefs,a),delete e[0][n],delete e[1][n]}},{key:"updateHTMLMessage",value:function(t,e,n){var a,s,o;if(e[1].html)_e.overwriteElements(t,n,e[1].html);else{var l=_e.create(t,n,e[0].role),u=((s=e[1].files)==null?void 0:s[((a=e[1].files)==null?void 0:a.length)-1])||e[1].text,c=u.outerContainer.nextSibling;(o=c==null?void 0:c.parentElement)==null||o.insertBefore(l.outerContainer,c),t.messageElementRefs.splice(t.messageElementRefs.length-1,1);var d=t.messageElementRefs.findIndex(function(p){return p===u});t.messageElementRefs.splice(d+1,0,l),e[1].html=l}e[0].html=n}},{key:"updateFileMessages",value:function(t,e,n){var a,s,o=e[0].role,l=Oa.createMessages(t,n,o),u=e[1].html,c=((s=e[1].files)==null?void 0:s[((a=e[1].files)==null?void 0:a.length)-1])||e[1].text,d=u||c,p=t.messageElementRefs.findIndex(function(v){return v===d});c&&(p+=1);var h=(u==null?void 0:u.outerContainer)||(c==null?void 0:c.outerContainer.nextSibling);l.forEach(function(v,m){var g=v.type,y=v.elements,S;re.setElementProps(t,y,g,o),(S=h.parentElement)==null||S.insertBefore(y.outerContainer,h),t.messageElementRefs.splice(t.messageElementRefs.length-1,1),t.messageElementRefs.splice(p+m,0,y)}),r.removeFilesMessages(t,e),e[1].files=l.map(function(v){var m=v.elements;return m}),e[0].files=n}},{key:"updateTextMessage",value:function(t,e,n){var a,s;if(e[1].text)t.renderText(e[1].text.bubbleElement,n);else{var o=t.createElements(n,e[0].role),l=((a=e[1].files)==null?void 0:a[0])||e[1].html;(s=l.outerContainer.parentElement)==null||s.insertBefore(o.outerContainer,l.outerContainer);var u=t.messageElementRefs.findIndex(function(c){return c===l});t.messageElementRefs.splice(u,0,o),e[1].text=o}e[0].text=n}},{key:"isElementActive",value:function(t){var e,n;return Mn.isActiveElement((e=t.text)==null?void 0:e.bubbleElement.classList)||Mn.isActiveElement((n=t.html)==null?void 0:n.bubbleElement.classList)}},{key:"update",value:function(t,e,n){var a=t.messageToElements[n];if(a){if(r.isElementActive(a[1]))return console.error("Cannot update a message that is being streamed");e.text&&r.updateTextMessage(t,a,e.text),e.files?r.updateFileMessages(t,a,e.files):r.removeFilesMessages(t,a),e.html&&r.updateHTMLMessage(t,a,e.html),!e.text&&a[1].text&&r.removeTextHTMLMessage(t,a,"text"),!e.html&&a[1].html&&r.removeTextHTMLMessage(t,a,"html");var s=t.messageElementRefs,o=t.avatar,l=t.name;O.classifyRoleMessages(s),O.resetAllRoleElements(s,o,l)}else console.error("Message index not found. Please use the `getMessages` method to find the correct index")}}])}(),Ko=function(){function r(){b(this,r)}return k(r,null,[{key:"getText",value:function(t,e){var n;if(!t.directConnection&&!t.connect&&!t.webModel&&!t.demo)return`Connect to any API using the [connect](https://deepchat.dev/docs/connect#connect-1) property or a popular service via [directConnection](https://deepchat.dev/docs/directConnection/#directConnection).
Host AI entirely on your browser via a [webModel](https://deepchat.dev/docs/webModel).
To get started checkout the [Start](https://deepchat.dev/start) page and live code [examples](https://deepchat.dev/examples/frameworks).
To remove this message set the [demo](https://deepchat.dev/docs/modes#demo) property to true.`;if(t.directConnection){if(!e.isDirectConnection())return`Please define a valid service inside
the [directConnection](https://deepchat.dev/docs/directConnection/#directConnection) object.`;var a=(n=t.directConnection.openAI)==null?void 0:n.chat;if(x(a)=="object"&&a.tools&&!a.function_handler)return"Please define the `function_handler` property inside the openAI [chat](https://deepchat.dev/docs/directConnection/openAI#Chat) object."}else if(t.connect&&!t.connect.url&&!t.connect.handler)return"Please define a `url` or a `handler` property inside the [connect](https://deepchat.dev/docs/connect#connect-1) object.";return null}}])}(),Mn=function(r){function i(t,e,n){var a;b(this,i);var s,o;a=N(this,i,[t]);var l=e.permittedErrorPrefixes,u=e.introPanelMarkUp,c=e.demo;return a._errorMessageOverrides=(s=t.errorMessages)==null?void 0:s.overrides,a._onClearMessages=St.onClearMessages.bind(a,t),a._onError=St.onError.bind(a,t),a._isLoadingMessageAllowed=i.getDefaultDisplayLoadingMessage(t,e),x(t.displayLoadingBubble)=="object"&&t.displayLoadingBubble.toggle&&(t.displayLoadingBubble.toggle=a.setLoadingToggle.bind(a)),a._permittedErrorPrefixes=l,a.addSetupMessageIfNeeded(t,e)||a.populateIntroPanel(n,u,t.introPanelStyle),c&&a.prepareDemo(oe.processDemo(c),t.loadHistory),a.addIntroductoryMessages(t,e),new Un(t,a,e),a._displayServiceErrorMessages=(o=t.errorMessages)==null?void 0:o.displayServiceErrorMessages,t.getMessages=function(){return O.deepCloneMessagesWithReferences(a.messageToElements.map(function(d){var p=xe(d,1),h=p[0];return h}))},t.clearMessages=a.clearMessages.bind(a,e),t.refreshMessages=a.refreshTextMessages.bind(a,t.remarkable),t.scrollToBottom=ie.scrollToBottom.bind(a,a.elementRef),t.addMessage=function(d,p){a.addAnyMessage(V(V({},d),{},{sendUpdate:!!p}),!p)},t.updateMessage=function(d,p){return $o.update(a,d,p)},e.isWebModel()&&e.setUpMessages(a),t.textToSpeech&&Rt.processConfig(t.textToSpeech,function(d){a.textToSpeech=d}),a}return B(i,r),k(i,[{key:"setLoadingToggle",value:function(){var e=this.messageElementRefs[this.messageElementRefs.length-1];he.isLoadingMessage(e)?this.removeLastMessage():this.addLoadingMessage(!0)}},{key:"prepareDemo",value:function(e,n){var a;if(x(e)=="object"){if(!n&&e.displayLoading){var s=e.displayLoading.history;s!=null&&s.small&&Ie.addMessage(this,!1),s!=null&&s.full&&Ie.addMessage(this)}e.displayErrors&&(e.displayErrors.default&&this.addNewErrorMessage("",""),e.displayErrors.service&&this.addNewErrorMessage("service",""),e.displayErrors.speechToText&&this.addNewErrorMessage("speechToText","")),(a=e.displayLoading)!=null&&a.message&&this.addLoadingMessage(),e.response&&(this.customDemoResponse=e.response)}}},{key:"addSetupMessageIfNeeded",value:function(e,n){var a=Ko.getText(e,n);if(a){var s=this.createAndAppendNewMessageElement(a,O.AI_ROLE);this.applyCustomStyles(s,O.AI_ROLE,!1)}return!!a}},{key:"addIntroductoryMessages",value:function(e,n){var a=this;e!=null&&e.shadowRoot&&(this._introMessage=e.introMessage);var s=this._introMessage;n!=null&&n.isWebModel()&&(s!=null||(s=n.getIntroMessage(s)));var o=!(e!=null&&e.history)&&!!(e!=null&&e.loadHistory||n!=null&&n.fetchHistory);s&&(Array.isArray(s)?s.forEach(function(l,u){if(u!==0){var c=a.messageElementRefs[a.messageElementRefs.length-1].innerContainer;O.hideRoleElements(c,a.avatar,a.name)}a.addIntroductoryMessage(l,o)}):this.addIntroductoryMessage(s,o))}},{key:"addIntroductoryMessage",value:function(e,n){var a,s;return e!=null&&e.text?s=this.createAndAppendNewMessageElement(e.text,O.AI_ROLE):e!=null&&e.html&&(s=_e.add(this,e.html,O.AI_ROLE)),s&&(this.applyCustomStyles(s,O.AI_ROLE,!1,(a=this.messageStyles)==null?void 0:a.intro),s.outerContainer.classList.add(he.INTRO_CLASS),n&&(s.outerContainer.style.display="none")),s}},{key:"removeIntroductoryMessage",value:function(){var e=this.messageElementRefs[0];e.outerContainer.classList.contains(he.INTRO_CLASS)&&(e.outerContainer.remove(),this.messageElementRefs.shift())}},{key:"addAnyMessage",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return e.error?this.addNewErrorMessage("service",e.error,a):this.addNewMessage(e,n,a)}},{key:"tryAddTextMessage",value:function(e,n,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;!a.ignoreText&&e.text!==void 0&&a.text!==null&&(this.addNewTextMessage(e.text,e.role,n,o),!s&&this.textToSpeech&&e.role!==O.USER_ROLE&&Rt.speak(e.text,this.textToSpeech))}},{key:"tryAddFileMessages",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;e.files&&Array.isArray(e.files)&&Oa.addMessages(this,e.files,e.role,n)}},{key:"tryAddHTMLMessage",value:function(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(e.html!==void 0&&e.html!==null){var s=_e.add(this,e.html,e.role,n,a);!a&&He.isElementTemporary(s)&&delete e.html}}},{key:"addNewMessage",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s,o;e.role!==O.USER_ROLE&&((s=this._hiddenAttachments)==null||s.removeHiddenFiles());var l=i.createMessageContent(e),u={status:e.overwrite};return a?(this.tryAddHTMLMessage(l,u,a),this.tryAddFileMessages(l,a),this.tryAddTextMessage(l,u,e,n,a)):(this.tryAddTextMessage(l,u,e,n,a),this.tryAddFileMessages(l,a),this.tryAddHTMLMessage(l,u,a)),this.isValidMessageContent(l)&&!a&&(this.updateStateOnMessage(l,e.overwrite,e.sendUpdate,n),n||(o=this.browserStorage)==null||o.addMessages(this.messageToElements.map(function(c){var d=xe(c,1),p=d[0];return p}))),l}},{key:"isValidMessageContent",value:function(e){return e.text||e.html||e.files&&e.files.length>0}},{key:"updateStateOnMessage",value:function(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!n){var o=O.generateMessageBody(e,this.messageElementRefs);this.messageToElements.push([e,o])}a&&this.sendClientUpdate(e,s)}},{key:"removeMessageOnError",value:function(){var e=this.messageElementRefs[this.messageElementRefs.length-1],n=e==null?void 0:e.bubbleElement;(n!=null&&n.classList.contains(Ee.MESSAGE_CLASS)&&n.textContent===""||i.isTemporaryElement(e))&&this.removeLastMessage()}},{key:"addNewErrorMessage",value:function(e,n){var a=this,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o,l,u,c,d,p;(o=this._hiddenAttachments)==null||o.readdHiddenFiles(),this.removeMessageOnError();var h=this.getPermittedMessage(n)||((l=this._errorMessageOverrides)==null?void 0:l[e])||((u=this._errorMessageOverrides)==null?void 0:u.default)||"Error, please try again.",v=this.createMessageElementsOnOrientation(h,"error",s);O.hideRoleElements(v.innerContainer,this.avatar,this.name);var m=v.bubbleElement,g=v.outerContainer;m.classList.add(O.ERROR_MESSAGE_TEXT_CLASS),this.renderText(m,h);var y=Lt.extractParticularSharedStyles(["fontSize","fontFamily"],(c=this.messageStyles)==null?void 0:c.default);Lt.applyCustomStylesToElements(v,!1,y),Lt.applyCustomStylesToElements(v,!1,(d=this.messageStyles)==null?void 0:d.error),s||this.appendOuterContainerElemet(g),this.textToSpeech&&Rt.speak(h,this.textToSpeech),(p=this._onError)==null||p.call(this,h),setTimeout(function(){return ie.scrollToBottom(a.elementRef)})}},{key:"getPermittedMessage",value:function(e){if(e)for(var n=i.extractErrorMessages(e),a=0;a<n.length;a+=1){var s=n[a];if(typeof s=="string"){if(this._displayServiceErrorMessages)return s;if(this._permittedErrorPrefixes){var o=i.checkPermittedErrorPrefixes(this._permittedErrorPrefixes,s);if(o)return o}}}}},{key:"removeError",value:function(){this.isLastMessageError()&&O.getLastMessageElement(this.elementRef).remove()}},{key:"addDefaultLoadingMessage",value:function(){var e=this.createMessageElements("",O.AI_ROLE),n=e.bubbleElement;e.bubbleElement.classList.add(Ae.DOTS_CONTAINER_CLASS);var a=document.createElement("div");return a.classList.add("loading-message-dots"),n.appendChild(a),Ae.setDots(n,this.messageStyles),e}},{key:"addLoadingMessage",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,n,a,s,o,l,u,c=this.messageElementRefs[this.messageElementRefs.length-1];if(!(he.isLoadingMessage(c)||!e&&!this._isLoadingMessageAllowed)){var d=(s=(a=(n=this.messageStyles)==null?void 0:n.loading)==null?void 0:a.message)==null?void 0:s.html,p=d?_e.createElements(this,d,O.AI_ROLE,!1):this.addDefaultLoadingMessage();this.appendOuterContainerElemet(p.outerContainer),p.bubbleElement.classList.add(Ae.BUBBLE_CLASS),this.applyCustomStyles(p,O.AI_ROLE,!1,(u=(l=(o=this.messageStyles)==null?void 0:o.loading)==null?void 0:l.message)==null?void 0:u.styles),this.focusMode||ie.scrollToBottom(this.elementRef)}}},{key:"populateIntroPanel",value:function(e,n,a){(e||n)&&(this._introPanel=new zo(e,n,a),this._introPanel._elementRef&&(ge.apply(this,this._introPanel._elementRef),this.elementRef.appendChild(this._introPanel._elementRef)))}},{key:"addMultipleFiles",value:function(){var t=_(f().mark(function n(a,s){return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.abrupt("return",(this._hiddenAttachments=s,Promise.all((a||[]).map(function(u){return new Promise(function(c){if(!u.type||u.type==="any"){var d=u.file.name||re.DEFAULT_FILE_NAME;c({name:d,type:"any",ref:u.file})}else{var p=new FileReader;p.readAsDataURL(u.file),p.onload=function(){c({src:p.result,type:u.type,ref:u.file})}}})}))));case 1:case"end":return l.stop()}},n,this)}));function e(n,a){return t.apply(this,arguments)}return e}()},{key:"clearMessages",value:function(e,n){var a,s,o,l,u=[];this.messageElementRefs.forEach(function(d){i.isActiveElement(d.bubbleElement.classList)?u.push(d):d.outerContainer.remove()}),Array.from(this.elementRef.children).forEach(function(d){var p,h=(p=d.children[0])==null?void 0:p.children[0];h!=null&&h.classList.contains(O.ERROR_MESSAGE_TEXT_CLASS)&&d.remove()}),this.messageElementRefs=u;var c=this.messageToElements.filter(function(d){return d[1].text&&i.isActiveElement(d[1].text.bubbleElement.classList)||d[1].html&&i.isActiveElement(d[1].html.bubbleElement.classList)});(a=this.messageToElements).splice.apply(a,[0,this.messageToElements.length].concat(Et(c))),n!==!1&&((s=this._introPanel)!=null&&s._elementRef&&this._introPanel.display(),this.addIntroductoryMessages()),(o=this.browserStorage)==null||o.clear(),(l=this._onClearMessages)==null||l.call(this),delete e.sessionId}}],[{key:"getDefaultDisplayLoadingMessage",value:function(e,n){var a;return n.websocket?!!e.displayLoadingBubble:(a=x(e.displayLoadingBubble)=="object"||e.displayLoadingBubble)!==null&&a!==void 0?a:!0}},{key:"checkPermittedErrorPrefixes",value:function(e,n){for(var a=0;a<e.length;a+=1)if(n.startsWith(e[a]))return n}},{key:"extractErrorMessages",value:function(e){return Array.isArray(e)?e:e instanceof Error?[e.message]:typeof e=="string"?[e]:x(e)=="object"&&e.error?[e.error]:[]}},{key:"isActiveElement",value:function(e){return e?e.contains(Ae.BUBBLE_CLASS)||e.contains(Ie.CLASS)||e.contains(Ee.MESSAGE_CLASS):!1}}])}(he),pt=function(){function r(){b(this,r)}return k(r,null,[{key:"adjustInputPadding",value:function(t,e){e["inside-left"].length>0&&t.classList.add("text-input-inner-left-adjustment"),e["inside-right"].length>0&&t.classList.add("text-input-inner-right-adjustment")}},{key:"adjustForOutsideButton",value:function(t,e,n){n["outside-right"].length===0&&n["outside-left"].length>0?(t[0].classList.add(r.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS),e.classList.add(r.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS)):n["outside-left"].length===0&&n["outside-right"].length>0&&(t[3].classList.add(r.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS),e.classList.add(r.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS))}},{key:"adjustOutsideSubmit",value:function(t,e,n){if(!(n["inside-left"].length>0||n["inside-right"].length>0)){if(n["outside-right"].length===0&&n["outside-left"].length>0)return t[0].classList.add(r.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS),e.classList.add(r.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS),n["outside-left"].map(function(a){return a.button.elementRef.classList.add("submit-button-enlarged")});if(n["outside-left"].length===0&&n["outside-right"].length>0)return t[3].classList.add(r.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS),e.classList.add(r.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS),n["outside-right"].map(function(a){return a.button.elementRef.classList.add("submit-button-enlarged")})}}},{key:"set",value:function(t,e,n,a){r.adjustOutsideSubmit(e,n,a)||r.adjustForOutsideButton(e,n,a),r.adjustInputPadding(t,a)}}])}();pt.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS="text-input-container-left-adjustment",pt.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS="text-input-container-right-adjustment",pt.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS="text-input-container-left-small-adjustment",pt.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS="text-input-container-right-small-adjustment";var Wo=pt,Gt=function(){function r(){b(this,r)}return k(r,null,[{key:"create",value:function(){return Array.from({length:4}).map(function(t,e){var n=document.createElement("div");return n.classList.add("input-button-container"),(e===0||e===3)&&n.classList.add("outer-button-container"),(e===1||e===2)&&n.classList.add("inner-button-container"),n})}},{key:"add",value:function(t,e){t.insertBefore(e[1],t.firstChild),t.insertBefore(e[0],t.firstChild),t.appendChild(e[2]),t.appendChild(e[3])}},{key:"getContainerIndex",value:function(t){return t==="outside-left"?0:t==="inside-left"?1:t==="inside-right"?2:3}},{key:"addButton",value:function(t,e,n){e.classList.add(n);var a=r.getContainerIndex(n);t[a].appendChild(e),a===3&&e.classList.add("outside-right")}}])}(),kr=["camera","gifs","images","audio","mixedFiles","submit","microphone"],Jo=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" fill="none">
<rect x="2.5" y="2.5" width="17" height="17" rx="2" stroke="#000000" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
`,jt=function(){function r(){b(this,r)}return k(r,null,[{key:"addItemEvents",value:function(t,e,n,a){Pn.add(e,a),e.addEventListener("click",function(){n.click()}),e.addEventListener("mouseenter",function(s){t.highlightedItem=s.target}),e.addEventListener("mouseleave",function(){t.highlightedItem=void 0})}},{key:"createItemText",value:function(t,e){var n=document.createElement("div");return Object.assign(n.style,e),n.classList.add(r.TEXT_CLASS),n.textContent=t||"File",n}},{key:"createItemIcon",value:function(t,e){var n=document.createElement("div");return Object.assign(n.style,e),n.classList.add(r.ICON_CLASS),n.appendChild(t),n}},{key:"populateItem",value:function(t,e,n){var a=t.elementRef,s=t.dropupText,o=t.svg,l=t.customStyles,u=a.children[0],c=l&&Object.values(l).find(function(d){var p;return((p=d.svg)==null?void 0:p.content)===""});u.classList.contains(we.INPUT_BUTTON_INNER_TEXT_CLASS)?(c||e.appendChild(r.createItemIcon(o,n==null?void 0:n.iconContainer)),e.appendChild(r.createItemText(u.textContent,n==null?void 0:n.text))):(c||e.appendChild(r.createItemIcon(a.children[0],n==null?void 0:n.iconContainer)),e.appendChild(r.createItemText(s,n==null?void 0:n.text)))}},{key:"createItem",value:function(t,e,n){var a,s=document.createElement("div");Object.assign(s.style,(a=n==null?void 0:n.item)==null?void 0:a.default),r.populateItem(e,s,n),s.classList.add(r.MENU_ITEM_CLASS);var o=e.elementRef;if(e.isCustom)e.setDropupItem(s);else{var l=Q.processStateful((n==null?void 0:n.item)||{});r.addItemEvents(t,s,o,l)}return s}}])}();jt.MENU_ITEM_CLASS="dropup-menu-item",jt.TEXT_CLASS="dropup-menu-item-text",jt.ICON_CLASS="dropup-menu-item-icon";var Se=jt,je=function(r){function i(t,e,n,a){var s;b(this,i);var o,l,u,c,d,p,h=((c=(u=(l=(o=t==null?void 0:t.styles)==null?void 0:o.button)==null?void 0:l.default)==null?void 0:u.text)==null?void 0:c.content)||"Custom ".concat(e),v=Jo,m=be.tryCreateConfig("Custom ".concat(e),t==null?void 0:t.tooltip);return s=N(this,i,[i.createButtonElement(),v,t==null?void 0:t.position,m,((d=t==null?void 0:t.styles)==null?void 0:d.button)||m&&{},h]),s._state="default",s.isCustom=!0,s._innerElements=s.createInnerElementsForStates(s.customStyles),s._menuStyles=a,s._onClick=t.onClick,s._dropupStyles=(p=t.styles)==null?void 0:p.dropup,s.setSetState(t),s.addClickListener(n),s.changeState(t.initialState,!0),s}return B(i,r),k(i,[{key:"createInnerElementsForStates",value:function(e){var n="custom-icon",a=this.createInnerElements(n,"default",e);return{default:a,active:this.genStateInnerElements(n,"active",a,e),disabled:this.genStateInnerElements(n,"disabled",a,e)}}},{key:"setSetState",value:function(e){var n=this;e.setState=function(a){a==="default"&&n.changeToDefault(),a==="active"&&n.changeToActive(),a==="disabled"&&n.changeToDisabled()}}},{key:"addClickListener",value:function(e){var n=this;this.elementRef.addEventListener("click",function(){var a,s=(a=n._onClick)==null?void 0:a.call(n,n._state);e==null||e(),(s==="default"||s==="active"||s==="disabled")&&n.changeState(s)})}},{key:"changeState",value:function(e,n){e==="disabled"?this.changeToDisabled(n):e==="active"?this.changeToActive(n):this.changeToDefault(n)}},{key:"applyDropupContentStyles",value:function(e){var n=Array.from(this.elementRef.children);if(e!=null&&e.text){var a=n.find(function(o){return o.classList.contains(Se.TEXT_CLASS)});a&&Object.assign(a.style,e.text)}if(e!=null&&e.iconContainer){var s=n.find(function(o){return o.classList.contains(Se.ICON_CLASS)});s&&Object.assign(s.style,e.iconContainer)}}},{key:"resetDropupItem",value:function(e){var n,a,s;this.elementRef=ge.replaceElementWithNewClone(this.elementRef,this._originalElementRef),this.elementRef.innerHTML="",((n=e==null?void 0:e.svg)==null?void 0:n.content)===""||this.elementRef.appendChild(Se.createItemIcon(this.svg,(a=this._menuStyles)==null?void 0:a.iconContainer)),this.elementRef.appendChild(Se.createItemText(this.dropupText,(s=this._menuStyles)==null?void 0:s.text))}},{key:"assignDropupItemStyle",value:function(e,n){var a;this.elementRef.parentElement&&this._originalElementRef&&this.resetDropupItem(n),this.applyDropupContentStyles(e),Object.assign(this.elementRef.style,(a=e==null?void 0:e.item)==null?void 0:a.default);var s=Q.processStateful((e==null?void 0:e.item)||{});Pn.add(this.elementRef,s),this.addClickListener()}},{key:"changeToDefault",value:function(e){var n,a,s,o,l,u;!e&&this._state==="default"||(this.elementRef.classList.contains(Se.MENU_ITEM_CLASS)?this.assignDropupItemStyle((n=this._dropupStyles)==null?void 0:n.default,(a=this.customStyles)==null?void 0:a.default):(this.changeElementsByState(this._innerElements.default),(s=this.customStyles)!=null&&s.active&&ae.unsetAllCSS(this.elementRef,(o=this.customStyles)==null?void 0:o.active),(l=this.customStyles)!=null&&l.disabled&&ae.unsetAllCSS(this.elementRef,(u=this.customStyles)==null?void 0:u.disabled),this.reapplyStateStyle("default",["active","disabled"])),this.elementRef.classList.remove(i.DISABLED_CONTAINER_CLASS,i.ACTIVE_CONTAINER_CLASS),this.elementRef.classList.add(i.DEFAULT_CONTAINER_CLASS),Z.removeAriaDisabled(this.elementRef),this._state="default")}},{key:"changeToActive",value:function(e){var n,a;!e&&this._state==="active"||(this.elementRef.classList.contains(Se.MENU_ITEM_CLASS)?this.assignDropupItemStyle((n=this._dropupStyles)==null?void 0:n.active,(a=this.customStyles)==null?void 0:a.active):(this.changeElementsByState(this._innerElements.active),this.reapplyStateStyle("active",["disabled","default"])),this.elementRef.classList.remove(i.DISABLED_CONTAINER_CLASS,i.DEFAULT_CONTAINER_CLASS),this.elementRef.classList.add(i.ACTIVE_CONTAINER_CLASS),Z.removeAriaDisabled(this.elementRef),this._state="active")}},{key:"changeToDisabled",value:function(e){var n,a,s,o,l,u;!e&&this._state==="disabled"||(this.elementRef.classList.contains(Se.MENU_ITEM_CLASS)?this.assignDropupItemStyle((n=this._dropupStyles)==null?void 0:n.disabled,(a=this.customStyles)==null?void 0:a.disabled):(this.changeElementsByState(this._innerElements.disabled),(s=this.customStyles)!=null&&s.active&&ae.unsetAllCSS(this.elementRef,(o=this.customStyles)==null?void 0:o.active),(l=this.customStyles)!=null&&l.default&&ae.unsetAllCSS(this.elementRef,(u=this.customStyles)==null?void 0:u.default),this.reapplyStateStyle("disabled",["default","active"])),this.elementRef.classList.remove(i.ACTIVE_CONTAINER_CLASS,i.DEFAULT_CONTAINER_CLASS),this.elementRef.classList.add(i.DISABLED_CONTAINER_CLASS),Z.addAriaDisabled(this.elementRef),this._state="disabled")}},{key:"setDropupItem",value:function(e){this.elementRef=e,this._originalElementRef=e.cloneNode(!0),this.changeState(this._state,!0)}},{key:"genStateInnerElements",value:function(e,n,a,s){var o,l,u,c,d=this.createInnerElements(e,n,s),p=(l=(o=s==null?void 0:s[n])==null?void 0:o.svg)==null?void 0:l.content,h=(c=(u=s==null?void 0:s[n])==null?void 0:u.text)==null?void 0:c.content;if(p===void 0||h===void 0){var v=mt.parseSVGTextElements(a),m=v.svg,g=v.text,y=mt.parseSVGTextElements(d),S=y.svg,A=y.text,R=[];i.addToInnerElements(R,p,m,S),i.addToInnerElements(R,h,g,A),d=R}return d}}],[{key:"createButtonElement",value:function(){var e=document.createElement("div");return e.classList.add("input-button",i.BUTTON_CLASS),e}},{key:"addToInnerElements",value:function(e,n,a,s){n===void 0&&a?e.push(a.cloneNode(!0)):s&&e.push(s)}},{key:"add",value:function(e,n){var a=e.customButtons,s=e.focusInput,o=e.dropupStyles;a==null||a.forEach(function(l,u){var c={button:new i(l,u+1,s,o==null?void 0:o.menu)};n["".concat(i.INDICATOR_PREFIX).concat(u+1)]=c})}}])}(De);je.INDICATOR_PREFIX="custom",je.BUTTON_CLASS="custom-button",je.DISABLED_CONTAINER_CLASS="custom-button-container-disabled",je.DEFAULT_CONTAINER_CLASS="custom-button-container-default",je.ACTIVE_CONTAINER_CLASS="custom-button-container-active";var vt=je,Xo=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M16 0c-8.836 0-16 7.163-16 16s7.163 16 16 16c8.837 0 16-7.163 16-16s-7.163-16-16-16zM16 30.032c-7.72 0-14-6.312-14-14.032s6.28-14 14-14 14 6.28 14 14-6.28 14.032-14 14.032zM23 15h-6v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1v6h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h6v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6h6c0.552 0 1-0.448 1-1s-0.448-1-1-1z"></path>
</svg>`,Sr=function(){function r(){b(this,r)}return k(r,null,[{key:"focusItemWhenOnEdge",value:function(t,e){var n=e?t.children[0]:t.children[t.children.length-1];r.focusSiblingItem(n,t,e,!0)}},{key:"focusSiblingItem",value:function(t,e,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=a?t:t[n?"nextSibling":"previousSibling"];s?(t.dispatchEvent(new MouseEvent("mouseleave")),s.dispatchEvent(new MouseEvent("mouseenter"))):(t.dispatchEvent(new MouseEvent("mouseleave")),r.focusItemWhenOnEdge(e,n))}}])}(),Yo=function(){function r(i,t){var e=this;b(this,r);var n;this._isOpen=!0,this._styles=t,this.elementRef=r.createElement((n=this._styles)==null?void 0:n.container),this.close(),setTimeout(function(){return e.addWindowEvents(i)})}return k(r,[{key:"open",value:function(){this.elementRef.style.display="block",this._isOpen=!0}},{key:"close",value:function(){this._isOpen&&(this.elementRef.style.display="none",this._isOpen=!1)}},{key:"toggle",value:function(){this._isOpen?this.close():this.open()}},{key:"addItem",value:function(t){var e=Se.createItem(this,t,this._styles);this.elementRef.appendChild(e)}},{key:"addWindowEvents",value:function(t){this.clickEvent=this.windowClick.bind(this,t),window.addEventListener("click",this.clickEvent),this.keyDownEvent=this.windowKeyDown.bind(this,t),window.addEventListener("keydown",this.keyDownEvent)}},{key:"windowClick",value:function(t,e){var n;!t.isConnected&&this.clickEvent?window.removeEventListener("click",this.clickEvent):t.parentElement!==((n=e.target.shadowRoot)==null?void 0:n.children[0])&&this.close()}},{key:"windowKeyDown",value:function(t,e){var n,a,s;!t.isConnected&&this.keyDownEvent?window.removeEventListener("keydown",this.keyDownEvent):this._isOpen&&(e.key===ee.ESCAPE?(this.close(),(n=this.highlightedItem)==null||n.dispatchEvent(new MouseEvent("mouseleave"))):e.key===ee.ENTER?((a=this.highlightedItem)==null||a.click(),(s=this.highlightedItem)==null||s.dispatchEvent(new MouseEvent("mouseleave"))):e.key===ee.ARROW_DOWN?Sr.focusSiblingItem(this.highlightedItem||this.elementRef.children[this.elementRef.children.length-1],this.elementRef,!0):e.key===ee.ARROW_UP&&Sr.focusSiblingItem(this.highlightedItem||this.elementRef.children[0],this.elementRef,!1))}}],[{key:"createElement",value:function(t){var e=document.createElement("div");return e.id="dropup-menu",Object.assign(e.style,t),e}}])}(),Pa=function(r){function i(t,e){var n;b(this,i);var a,s,o=be.tryCreateConfig("Options",(a=e==null?void 0:e.button)==null?void 0:a.tooltip);n=N(this,i,[i.createButtonElement(),Xo,void 0,o,{styles:(s=e==null?void 0:e.button)==null?void 0:s.styles}]);var l=n.createInnerElementsForStates(n.customStyles);return n._menu=new Yo(t,e==null?void 0:e.menu),n.addClickEvent(),n.buttonContainer=i.createButtonContainer(),n.changeElementsByState(l.styles),n.buttonContainer.appendChild(n.elementRef),n.elementRef.classList.add(i.BUTTON_ICON_CLASS),n.buttonContainer.appendChild(n._menu.elementRef),n.reapplyStateStyle("styles"),n.addContainerEvents(t),n}return B(i,r),k(i,[{key:"createInnerElementsForStates",value:function(e){return{styles:this.createInnerElements("dropup-icon","styles",e)}}},{key:"addClickEvent",value:function(){this.elementRef.onclick=this._menu.toggle.bind(this._menu)}},{key:"addItem",value:function(e){this._menu.addItem(e)}},{key:"addContainerEvents",value:function(e){var n=this;e.addEventListener("click",function(a){var s=a.target.classList;!s.contains(i.BUTTON_ICON_CLASS)&&!s.contains(vt.DISABLED_CONTAINER_CLASS)&&n._menu.close()})}}],[{key:"createButtonElement",value:function(){var e=document.createElement("div");return e.classList.add("input-button"),e}},{key:"createButtonContainer",value:function(){var e=document.createElement("div");return e.id="dropup-container",e}},{key:"getPosition",value:function(e,n){var a,s;return(a=n==null?void 0:n.button)!=null&&a.position?(s=n==null?void 0:n.button)==null?void 0:s.position:e["outside-left"].length>0&&e["outside-right"].length===0?"outside-right":"outside-left"}}])}(De);Pa.BUTTON_ICON_CLASS="dropup-button";var _r=Pa,Zo=function(){function r(){b(this,r)}return k(r,null,[{key:"addToDropup",value:function(t,e,n,a){var s=new _r(n,a);kr.forEach(function(l){var u=e["dropup-menu"].findIndex(function(d){return d.buttonType===l}),c=e["dropup-menu"][u];c&&(s.addItem(c.button),e["dropup-menu"].splice(u,1))}),e["dropup-menu"].forEach(function(l){var u=l.button;return s.addItem(u)});var o=_r.getPosition(e,a);Gt.addButton(t,s.buttonContainer,o),e[o].push({})}},{key:"addToSideContainer",value:function(t,e){["inside-left","inside-right","outside-left","outside-right"].forEach(function(n){var a=n;e[a].forEach(function(s){Gt.addButton(t,s.button.elementRef,a)})})}},{key:"setPosition",value:function(t,e,n){var a=V(V({},t[e]),{},{buttonType:e});n.push(a),delete t[e]}},{key:"createPositionsToButtonsObj",value:function(){return{"dropup-menu":[],"outside-left":[],"inside-left":[],"inside-right":[],"outside-right":[]}}},{key:"generatePositionToButtons",value:function(t){var e=r.createPositionsToButtonsObj();Object.keys(t).forEach(function(a){var s,o=(s=t[a])==null?void 0:s.button.position;o&&r.setPosition(t,a,e[o])}),e["inside-right"].length===0&&t.submit&&r.setPosition(t,"submit",e["inside-right"]),e["outside-right"].length===0&&(t.submit?r.setPosition(t,"submit",e["outside-right"]):t.microphone?r.setPosition(t,"microphone",e["outside-right"]):t.camera?r.setPosition(t,"camera",e["outside-right"]):t["".concat(vt.INDICATOR_PREFIX,"1")]&&r.setPosition(t,"".concat(vt.INDICATOR_PREFIX,"1"),e["outside-right"])),t.submit&&r.setPosition(t,"submit",e["outside-left"].length===0?e["outside-left"]:e["inside-right"]),t.microphone&&r.setPosition(t,"microphone",e["outside-left"].length===0?e["outside-left"]:e["inside-right"]);var n=Object.keys(t);return n.length>1||e["dropup-menu"].length>0?(kr.forEach(function(a){t[a]&&e["dropup-menu"].push(V(V({},t[a]),{},{buttonType:a}))}),n.forEach(function(a){var s=a;s.startsWith(vt.INDICATOR_PREFIX)&&t[s]&&e["dropup-menu"].push(V(V({},t[s]),{},{customType:s}))})):n.length===1&&r.setPosition(t,n[0],e["outside-right"].length===0?e["outside-right"]:e["outside-left"]),e}},{key:"addButtons",value:function(t,e,n,a){var s=r.generatePositionToButtons(e);return r.addToSideContainer(t,s),s["dropup-menu"].length>0&&r.addToDropup(t,s,n,a),s}}])}(),Qo=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20 10.9696L11.9628 18.5497C10.9782 19.4783 9.64274 20 8.25028 20C6.85782 20 5.52239 19.4783 4.53777 18.5497C3.55315 17.6211 3 16.3616 3 15.0483C3 13.7351 3.55315 12.4756 4.53777 11.547L12.575 3.96687C13.2314 3.34779 14.1217 3 15.05 3C15.9783 3 16.8686 3.34779 17.525 3.96687C18.1814 4.58595 18.5502 5.4256 18.5502 6.30111C18.5502 7.17662 18.1814 8.01628 17.525 8.63535L9.47904 16.2154C9.15083 16.525 8.70569 16.6989 8.24154 16.6989C7.77738 16.6989 7.33224 16.525 7.00403 16.2154C6.67583 15.9059 6.49144 15.4861 6.49144 15.0483C6.49144 14.6106 6.67583 14.1907 7.00403 13.8812L14.429 6.88674" stroke="#000000" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>`,el=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M20,15.2928932 L20,5.5 C20,4.67157288 19.3284271,4 18.5,4 L5.5,4 C4.67157288,4 4,4.67157288 4,5.5 L4,12.2928932 L7.14644661,9.14644661 C7.34170876,8.95118446 7.65829124,8.95118446 7.85355339,9.14644661 L13.5,14.7928932 L16.1464466,12.1464466 C16.3417088,11.9511845 16.6582912,11.9511845 16.8535534,12.1464466 L20,15.2928932 Z M20,16.7071068 L16.5,13.2071068 L13.8535534,15.8535534 C13.6582912,16.0488155 13.3417088,16.0488155 13.1464466,15.8535534 L7.5,10.2071068 L4,13.7071068 L4,18.5 C4,19.3284271 4.67157288,20 5.5,20 L18.5,20 C19.3284271,20 20,19.3284271 20,18.5 L20,16.7071068 Z M3,5.5 C3,4.11928813 4.11928813,3 5.5,3 L18.5,3 C19.8807119,3 21,4.11928813 21,5.5 L21,18.5 C21,19.8807119 19.8807119,21 18.5,21 L5.5,21 C4.11928813,21 3,19.8807119 3,18.5 L3,5.5 Z M15,6 L17,6 C17.5522847,6 18,6.44771525 18,7 L18,9 C18,9.55228475 17.5522847,10 17,10 L15,10 C14.4477153,10 14,9.55228475 14,9 L14,7 C14,6.44771525 14.4477153,6 15,6 Z M15,7 L15,9 L17,9 L17,7 L15,7 Z"/>
</svg>
`,tl=`<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-49.49 -49.49 593.87 593.87" stroke-width="3.95908" transform="rotate(0)">
<g stroke-width="0"></g>
<g stroke-linecap="round" stroke-linejoin="round" stroke-width="0.98977"></g>
<g>
<g>
<g>
<path d="M163.205,76.413v293.301c-3.434-3.058-7.241-5.867-11.486-8.339c-21.38-12.452-49.663-15.298-77.567-7.846 c-49.038,13.096-80.904,54.519-71.038,92.337c4.019,15.404,14.188,28.221,29.404,37.087c13.553,7.894,29.87,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.447-4.087c42.74-11.406,72.411-44.344,72.807-77.654h0.011v-0.162c0.002-0.166,0-0.331,0-0.496V187.072 l290.971-67.3v178.082c-3.433-3.055-7.238-5.863-11.481-8.334c-21.385-12.452-49.654-15.308-77.567-7.846 c-49.038,13.087-80.904,54.519-71.038,92.356c4.019,15.385,14.183,28.212,29.404,37.067c13.548,7.894,29.875,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.452-4.087c42.74-11.413,72.411-44.346,72.804-77.654h0.004v-0.065c0.003-0.236,0.001-0.469,0-0.704V0 L163.205,76.413z M104.999,471.779c-22.543,6.038-45.942,3.846-62.572-5.846c-10.587-6.163-17.591-14.817-20.255-25.038 c-7.144-27.375,18.452-58.029,57.062-68.346c8.409-2.25,16.938-3.346,25.188-3.346c13.87,0,26.962,3.115,37.389,9.192 c10.587,6.163,17.591,14.817,20.255,25.029c0.809,3.102,1.142,6.248,1.139,9.4v0.321h0.014 C162.99,437.714,139.082,462.678,104.999,471.779z M182.898,166.853V92.067l290.971-67.298v74.784L182.898,166.853z M415.677,399.923c-22.558,6.038-45.942,3.837-62.587-5.846c-10.587-6.163-17.587-14.817-20.25-25.019 c-7.144-27.385,18.452-58.058,57.058-68.365c8.414-2.25,16.942-3.346,25.192-3.346c13.875,0,26.962,3.115,37.385,9.192 c10.596,6.163,17.596,14.817,20.26,25.029v0.01c0.796,3.05,1.124,6.144,1.135,9.244v0.468h0.02 C473.668,365.851,449.763,390.814,415.677,399.923z">
</path>
</g>
</g>
</g>
</svg>`,nl=`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 5.9266752 5.6408391" height="21.31971" width="22.4">
<g>
<path d="m 5.2564627,1.548212 c -3.1136005,-0.4796804 -1.5568006,-0.2398402 0,0 z M 2.0001198,2.0922063 c 0.1556781,0 0.2657489,0.020893 0.3917849,0.080366 0.081154,0.038347 0.1153492,0.134065 0.076377,0.2138602 -0.038973,0.07979 -0.1363527,0.1134129 -0.2175069,0.075091 -0.078199,-0.036919 -0.1407455,-0.048792 -0.250655,-0.048792 -0.2260486,0 -0.3921482,0.2042182 -0.3921482,0.4801409 0,0.2761822 0.1663188,0.4810688 0.3921482,0.4810688 0.1117901,0 0.2064255,-0.046133 0.255659,-0.1284198 l 0.00162,-0.00389 V 3.0534032 l -0.098011,1.75e-4 c -0.081844,0 -0.1495979,-0.059305 -0.1612403,-0.1365887 l -0.00175,-0.023683 c 0,-0.08047 0.060311,-0.1470874 0.1389194,-0.1585331 l 0.024085,-0.00195 h 0.2612303 c 0.081842,0 0.149598,0.059305 0.1612404,0.1365891 l 0.00175,0.023683 -3.398e-4,0.3968809 v 0 l -0.00168,0.014211 v 0 l -0.00553,0.023034 v 0 l -0.00532,0.014145 c -0.098178,0.22826 -0.3236506,0.3528713 -0.5706303,0.3528713 -0.4240855,0 -0.7181621,-0.3622714 -0.7181621,-0.8016063 0,-0.4391857 0.2940275,-0.8006848 0.7181621,-0.8006848 z m 1.2034759,0.031275 c 0.081843,0 0.1495977,0.059305 0.1612403,0.1365891 l 0.00175,0.023683 v 1.2211775 c 0,0.088516 -0.07298,0.1602721 -0.1630073,0.1602721 -0.081841,0 -0.1495972,-0.059305 -0.1612397,-0.1365892 L 3.040589,3.5049308 V 2.2837527 c 0,-0.088516 0.07298,-0.1602721 0.1630067,-0.1602714 z m 0.7813442,0 0.5209469,0.00195 c 0.090025,3.048e-4 0.1627543,0.072306 0.1624458,0.1608234 -2.809e-4,0.08047 -0.06083,0.1468798 -0.1394772,0.158066 l -0.024092,0.00195 -0.3575326,-0.0013 v 0.4497782 l 0.2928918,2.27e-4 c 0.081842,0 0.1495979,0.059305 0.1612403,0.136589 l 0.00175,0.023683 c 0,0.080469 -0.06031,0.1470871 -0.1389193,0.1585393 l -0.024092,0.00195 -0.2928919,-2.336e-4 1.563e-4,0.2860316 c 0,0.080471 -0.06031,0.1470873 -0.1389193,0.1585395 l -0.024085,0.00195 c -0.081843,0 -0.1495979,-0.059305 -0.1612403,-0.1365826 l -0.00175,-0.023691 V 2.2841354 c 2.798e-4,-0.08047 0.060829,-0.1468797 0.1394758,-0.1580594 z"/>
<path d="m 5.0894191,1.0943261 c 0,-0.21918999 -0.177687,-0.39686999 -0.396876,-0.39686999 h -3.43959 c -0.2191879,0 -0.391262,0.1777519 -0.3968759,0.39686999 l -0.027082,3.4379266 c 0.040152,0.2939927 0.4235456,0.409415 0.4235456,0.409415 l 3.4785583,-0.00851 c 0,0 0.3008506,-0.1402998 0.3236271,-0.4201576 0.042911,-0.5272495 0.034693,-1.6106146 0.034693,-3.4186761 z m -4.49792494,0 c 0,-0.36530999 0.29614504,-0.66145999 0.66145894,-0.66145999 h 3.43959 c 0.365314,0 0.66146,0.29615 0.66146,0.66145999 v 3.43959 c 0,0.36532 -0.296146,0.66146 -0.66146,0.66146 h -3.43959 c -0.3653139,0 -0.66145894,-0.29614 -0.66145894,-0.66146 z"/>
</g>
</svg>
`,rl={images:{id:"upload-images-icon",svgString:el,dropupText:"Image"},gifs:{id:"upload-gifs-icon",svgString:nl,dropupText:"GIF"},audio:{id:"upload-audio-icon",svgString:tl,dropupText:"Audio"},mixedFiles:{id:"upload-mixed-files-icon",svgString:Qo,dropupText:"File"}},Na=function(r){function i(t){var e;b(this,i),(t==null?void 0:t.position)==="dropup-menu"&&(t.position="outside-right");var n=be.tryCreateConfig("Microphone",t==null?void 0:t.tooltip);return e=N(this,i,[i.createMicrophoneElement(),Ta,t==null?void 0:t.position,n,t]),e.isActive=!1,e._innerElements=e.createInnerElementsForStates(e.customStyles),e.changeToDefault(),e}return B(i,r),k(i,[{key:"createInnerElementsForStates",value:function(e){var n="microphone-icon";return{default:this.createInnerElements(n,"default",e),active:this.createInnerElements(n,"active",e),unsupported:this.createInnerElements(n,"unsupported",e),commandMode:this.createInnerElements(n,"commandMode",e)}}},{key:"changeToActive",value:function(){this.changeElementsByState(this._innerElements.active),this.toggleIconFilter("active"),this.reapplyStateStyle("active",["default","commandMode"]),this.isActive=!0}},{key:"changeToDefault",value:function(){this.changeElementsByState(this._innerElements.default),this.toggleIconFilter("default"),this.reapplyStateStyle("default",["active","commandMode"]),this.isActive=!1}},{key:"changeToCommandMode",value:function(){this.changeElementsByState(this._innerElements.commandMode),this.toggleIconFilter("command"),this.reapplyStateStyle("commandMode",["active"])}},{key:"changeToUnsupported",value:function(){this.changeElementsByState(this._innerElements.unsupported),this.elementRef.classList.add("unsupported-microphone"),this.reapplyStateStyle("unsupported",["active"])}},{key:"toggleIconFilter",value:function(e){var n=this.elementRef.children[0];if(n.tagName.toLocaleLowerCase()==="svg")switch(e){case"default":n.classList.remove("active-microphone-icon","command-microphone-icon"),n.classList.add("default-microphone-icon");break;case"active":n.classList.remove("default-microphone-icon","command-microphone-icon"),n.classList.add("active-microphone-icon");break;case"command":n.classList.remove("active-microphone-icon","default-microphone-icon"),n.classList.add("command-microphone-icon");break}}}],[{key:"createMicrophoneElement",value:function(){var e=document.createElement("div");return e.id="microphone-button",e.classList.add("input-button"),e}}])}(De);function al(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Mt={},ze={},Ge={},$e={},Ke={},Er;function Xt(){if(Er)return Ke;Er=1,Object.defineProperty(Ke,"__esModule",{value:!0}),Ke.Text=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"capitalize",value:function(e){return e.replace(i.FIRST_CHAR_REGEX,function(n){return n.toUpperCase()})}},{key:"lineBreak",value:function(e){return e.replace(i.DOUBLE_LINE,"<p></p>").replace(i.ONE_LINE,"<br>")}},{key:"isCharDefined",value:function(e){return e!==void 0&&e!==" "&&e!==" "&&e!==`
`&&e!==""}},{key:"breakupIntoWordsArr",value:function(e){return e.split(/(\W+)/)}}])}();return Ke.Text=r,r.FIRST_CHAR_REGEX=/\S/,r.DOUBLE_LINE=/\n\n/g,r.ONE_LINE=/\n/g,Ke}var wr;function Ba(){if(wr)return $e;wr=1,Object.defineProperty($e,"__esModule",{value:!0}),$e.Translate=void 0;var r=Xt(),i=function(){function t(){b(this,t)}return k(t,null,[{key:"translate",value:function(n,a){for(var s=r.Text.breakupIntoWordsArr(n),o=0;o<s.length;o+=1)a[s[o]]&&(s[o]=a[s[o]]);return s.join("")}}])}();return $e.Translate=i,$e}var Cr;function il(){if(Cr)return Ge;Cr=1,Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.WebSpeechTranscript=void 0;var r=Ba(),i=function(){function t(){b(this,t)}return k(t,null,[{key:"extract",value:function(n,a,s){for(var o="",l=n.resultIndex;l<n.results.length;++l){var u=n.results[l][0].transcript;s&&(u=r.Translate.translate(u,s)),n.results[l].isFinal?a+=u:o+=u}return{interimTranscript:o,finalTranscript:a,newText:o||a}}},{key:"extractSafari",value:function(n,a,s){for(var o="",l="",u=n.resultIndex;u<n.results.length;++u){var c=n.results[u][0].transcript;s&&(c=r.Translate.translate(c,s)),o+=c}return{interimTranscript:l,finalTranscript:o,newText:l||o}}}])}();return Ge.WebSpeechTranscript=i,Ge}var We={},Tr;function Vn(){if(Tr)return We;Tr=1,Object.defineProperty(We,"__esModule",{value:!0}),We.Browser=void 0;var r=k(function i(){b(this,i)});return We.Browser=r,r.IS_SAFARI=function(){return r._IS_SAFARI===void 0&&(r._IS_SAFARI=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),r._IS_SAFARI},We}var Je={},Xe={},Ar;function sl(){if(Ar)return Xe;Ar=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.EventListeners=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"getElementIfFocusedOnAvailable",value:function(e,n){return Array.isArray(e)?e.find(function(a){return n===a}):n===e?e:void 0}},{key:"keyDownWindow",value:function(e){var n=this;e.element&&i.getElementIfFocusedOnAvailable(e.element,document.activeElement)&&(i.KEY_DOWN_TIMEOUT!==null&&clearTimeout(i.KEY_DOWN_TIMEOUT),i.KEY_DOWN_TIMEOUT=setTimeout(function(){i.KEY_DOWN_TIMEOUT=null,n.resetRecording(e)},500))}},{key:"mouseDownWindow",value:function(e,n){this.mouseDownElement=i.getElementIfFocusedOnAvailable(e,n.target)}},{key:"mouseUpWindow",value:function(e){this.mouseDownElement&&this.resetRecording(e),this.mouseDownElement=void 0}},{key:"add",value:function(e,n){var a=(n==null?void 0:n.insertInCursorLocation)===void 0||(n==null?void 0:n.insertInCursorLocation);n!=null&&n.element&&a&&(e.mouseDownEvent=i.mouseDownWindow.bind(e,n.element),document.addEventListener("mousedown",e.mouseDownEvent),e.mouseUpEvent=i.mouseUpWindow.bind(e,n),document.addEventListener("mouseup",e.mouseUpEvent),e.keyDownEvent=i.keyDownWindow.bind(e,n),document.addEventListener("keydown",e.keyDownEvent))}},{key:"remove",value:function(e){document.removeEventListener("mousedown",e.mouseDownEvent),document.removeEventListener("mouseup",e.mouseUpEvent),document.removeEventListener("keydown",e.keyDownEvent)}}])}();return Xe.EventListeners=r,r.KEY_DOWN_TIMEOUT=null,Xe}var Ye={},Mr;function ol(){if(Mr)return Ye;Mr=1,Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.PreResultUtils=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"process",value:function(e,n,a,s,o){var l=s==null?void 0:s(n,a);return l?(setTimeout(function(){l.restart?e.resetRecording(o):l.stop&&e.stop()}),(l.stop||l.restart)&&l.removeNewText):!1}}])}();return Ye.PreResultUtils=r,Ye}var Ze={},Qe={},Ir;function Da(){if(Ir)return Qe;Ir=1,Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.AutoScroll=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"changeStateIfNeeded",value:function(e,n){n&&!e.isCursorAtEnd&&(e.endPadding="",e.scrollingSpan.innerHTML="&nbsp;")}},{key:"scrollGeneric",value:function(e,n){e.isCursorAtEnd?n.scrollTop=n.scrollHeight:e.scrollingSpan.scrollIntoView({block:"nearest"})}},{key:"scrollSafariPrimitiveToEnd",value:function(e){e.scrollLeft=e.scrollWidth,e.scrollTop=e.scrollHeight}},{key:"isElementOverflown",value:function(e){return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth}},{key:"isRequired",value:function(e,n){return e&&i.isElementOverflown(n)}}])}();return Qe.AutoScroll=r,Qe}var et={},xr;function Yt(){if(xr)return et;xr=1,Object.defineProperty(et,"__esModule",{value:!0}),et.Elements=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"isPrimitiveElement",value:function(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"}},{key:"createInterimSpan",value:function(){var e=document.createElement("span");return e.style.color="grey",e.style.pointerEvents="none",e}},{key:"createGenericSpan",value:function(){var e=document.createElement("span");return e.style.pointerEvents="none",e}},{key:"appendSpans",value:function(e,n){if(e.spansPopulated=!0,e.insertInCursorLocation&&document.activeElement===n){var a=window.getSelection();if(a!=null&&a.focusNode){var s=a.getRangeAt(0);s.insertNode(e.scrollingSpan),s.insertNode(e.interimSpan),s.insertNode(e.finalSpan),s.collapse(!1),a.removeAllRanges(),a.addRange(s);return}}n.appendChild(e.finalSpan),n.appendChild(e.interimSpan),n.appendChild(e.scrollingSpan)}},{key:"applyCustomColors",value:function(e,n){n.interim&&(e.interimSpan.style.color=n.interim),n.final&&(e.finalSpan.style.color=n.final)}},{key:"isInsideShadowDOM",value:function(e){return e.getRootNode()instanceof ShadowRoot}}])}();return et.Elements=r,et}var tt={},Rr;function Zt(){if(Rr)return tt;Rr=1,Object.defineProperty(tt,"__esModule",{value:!0}),tt.Cursor=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"setOffsetForGeneric",value:function(e,n){for(var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=0,o=0;o<e.childNodes.length;o+=1){var l=e.childNodes[o];if(l.childNodes.length>0){var u=i.setOffsetForGeneric(l,n,a);if(u===-1)return-1;a+=u}else if(l.textContent!==null){if(a+l.textContent.length>n){var c=document.createRange();c.setStart(l,n-a),c.collapse(!0);var d=window.getSelection();return d==null||d.removeAllRanges(),d==null||d.addRange(c),e.focus(),-1}a+=l.textContent.length,s+=l.textContent.length}}return s}},{key:"focusEndOfGeneric",value:function(e){var n=document.createRange();n.selectNodeContents(e),n.collapse(!1);var a=window.getSelection();a&&(a.removeAllRanges(),a.addRange(n))}},{key:"setOffsetForSafariGeneric",value:function(e,n){var a=window.getSelection();if(a){var s=i.getGenericElementCursorOffset(e,a,!0);i.setOffsetForGeneric(e,s+n)}}},{key:"setOffsetForPrimitive",value:function(e,n,a){a&&e.blur(),e.setSelectionRange(n,n),e.focus()}},{key:"getGenericElementCursorOffset",value:function(e,n,a){var s=0;if(n.rangeCount>0){var o=n.getRangeAt(0),l=o.cloneRange();l.selectNodeContents(e),a?l.setEnd(o.startContainer,o.startOffset):l.setEnd(o.endContainer,o.endOffset),s=l.toString().length}return s}}])}();return tt.Cursor=r,tt}var Lr;function Fa(){if(Lr)return Ze;Lr=1,Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.CommandUtils=void 0;var r=Da(),i=Yt(),t=Vn(),e=Zt(),n=Xt(),a=function(){function s(){b(this,s)}return k(s,null,[{key:"processCommand",value:function(l,u){return(!u||!u.caseSensitive)&&(l=l.toLowerCase()),(u==null?void 0:u.substrings)===!1?n.Text.breakupIntoWordsArr(l):l}},{key:"process",value:function(l){var u;return((u=l.settings)===null||u===void 0?void 0:u.caseSensitive)===!0?l:Object.keys(l).reduce(function(c,d){var p=l[d];return c[d]=typeof p=="string"?s.processCommand(p,l.settings):p,c},{})}},{key:"toggleCommandModeOn",value:function(l){var u;l.isWaitingForCommand=!0,(u=l.onCommandModeTrigger)===null||u===void 0||u.call(l,!0)}},{key:"toggleCommandModeOff",value:function(l){var u;l.isWaitingForCommand&&((u=l.onCommandModeTrigger)===null||u===void 0||u.call(l,!1),l.isWaitingForCommand=!1)}},{key:"setText",value:function(l,u,c,d){s.toggleCommandModeOff(l),i.Elements.isPrimitiveElement(d)?(d.value=c,l.isTargetInShadow||e.Cursor.setOffsetForPrimitive(d,c.length,!0),t.Browser.IS_SAFARI()&&l.autoScroll&&r.AutoScroll.scrollSafariPrimitiveToEnd(d)):(d.textContent=c,l.isTargetInShadow||e.Cursor.focusEndOfGeneric(d),setTimeout(function(){return r.AutoScroll.scrollGeneric(l,d)})),l.resetRecording(u)}},{key:"checkIfMatchesSubstring",value:function(l,u){return u.includes(l)}},{key:"checkIfMatchesWord",value:function(l,u,c){for(var d=l,p=c.length-1;p>=0;p-=1){for(var h=p,v=d.length-1;c[h]===d[v]&&v>=0;)h-=1,v-=1;if(v<0)return!0}return!1}},{key:"execCommand",value:function(l,u,c,d,p){var h,v,m,g=l.commands;if(!(!g||!d||!c)){var y=((h=g.settings)===null||h===void 0?void 0:h.caseSensitive)===!0?u:u.toLowerCase(),S=n.Text.breakupIntoWordsArr(y),A=((v=g.settings)===null||v===void 0?void 0:v.substrings)===!1?s.checkIfMatchesWord:s.checkIfMatchesSubstring;if(g.commandMode&&A(g.commandMode,y,S))return l.setInterimColorToFinal(),setTimeout(function(){return s.toggleCommandModeOn(l)}),{doNotProcessTranscription:!1};if(!(g.commandMode&&!l.isWaitingForCommand)){if(g.stop&&A(g.stop,y,S))return s.toggleCommandModeOff(l),setTimeout(function(){return l.stop()}),{doNotProcessTranscription:!1};if(g.pause&&A(g.pause,y,S))return s.toggleCommandModeOff(l),l.setInterimColorToFinal(),setTimeout(function(){var R;l.isPaused=!0,(R=l.onPauseTrigger)===null||R===void 0||R.call(l,!0)}),{doNotProcessTranscription:!1};if(g.resume&&A(g.resume,y,S))return l.isPaused=!1,(m=l.onPauseTrigger)===null||m===void 0||m.call(l,!1),s.toggleCommandModeOff(l),l.resetRecording(c),{doNotProcessTranscription:!0};if(g.reset&&A(g.reset,y,S))return p!==void 0&&s.setText(l,c,p,d),{doNotProcessTranscription:!0};if(g.removeAllText&&A(g.removeAllText,y,S))return s.setText(l,c,"",d),{doNotProcessTranscription:!0}}}}}])}();return Ze.CommandUtils=a,Ze}var nt={},Or;function ll(){if(Or)return nt;Or=1,Object.defineProperty(nt,"__esModule",{value:!0}),nt.Highlight=void 0;var r=Yt(),i=Zt(),t=function(){function e(){b(this,e)}return k(e,null,[{key:"setStateForPrimitive",value:function(a,s){var o,l;s.selectionStart!==null&&(o=s.selectionStart),s.selectionEnd!==null&&(l=s.selectionEnd),a.isHighlighted=o!==l}},{key:"setStateForGeneric",value:function(a,s){var o=window.getSelection();if(o!=null&&o.focusNode){var l=i.Cursor.getGenericElementCursorOffset(s,o,!0),u=i.Cursor.getGenericElementCursorOffset(s,o,!1);a.isHighlighted=l!==u}}},{key:"setState",value:function(a,s){document.activeElement===s&&(r.Elements.isPrimitiveElement(s)?e.setStateForPrimitive(a,s):e.setStateForGeneric(a,s))}},{key:"removeForGeneric",value:function(a,s){var o=window.getSelection();if(o){var l=i.Cursor.getGenericElementCursorOffset(s,o,!0);o.deleteFromDocument(),i.Cursor.setOffsetForGeneric(s,l),a.isHighlighted=!1}}},{key:"removeForPrimitive",value:function(a,s){var o=s.selectionStart,l=s.selectionEnd,u=s.value;if(o&&l){var c=u.substring(0,o)+u.substring(l);s.value=c,i.Cursor.setOffsetForPrimitive(s,o,a.autoScroll)}a.isHighlighted=!1}}])}();return nt.Highlight=t,nt}var rt={},Pr;function ul(){if(Pr)return rt;Pr=1,Object.defineProperty(rt,"__esModule",{value:!0}),rt.Padding=void 0;var r=Yt(),i=Zt(),t=Xt(),e=function(){function n(){b(this,n)}return k(n,null,[{key:"setStateForPrimitiveElement",value:function(s,o){if(document.activeElement===o&&o.selectionStart!==null){var l=o.selectionStart,u=o.value[l-1],c=o.selectionEnd===null?l:o.selectionEnd,d=o.value[c];t.Text.isCharDefined(u)&&(s.startPadding=" ",s.numberOfSpacesBeforeNewText=1),t.Text.isCharDefined(d)&&(s.endPadding=" ",s.numberOfSpacesAfterNewText=1),s.isCursorAtEnd=o.value.length===c;return}var p=o.value[o.value.length-1];t.Text.isCharDefined(p)&&(s.startPadding=" ",s.numberOfSpacesBeforeNewText=1),s.isCursorAtEnd=!0}},{key:"setStateForGenericElement",value:function(s,o){var l,u,c;if(document.activeElement===o){var d=window.getSelection();if(d!=null&&d.focusNode){var p=i.Cursor.getGenericElementCursorOffset(o,d,!0),h=(l=o.textContent)===null||l===void 0?void 0:l[p-1],v=i.Cursor.getGenericElementCursorOffset(o,d,!1),m=(u=o.textContent)===null||u===void 0?void 0:u[v];t.Text.isCharDefined(h)&&(s.startPadding=" "),t.Text.isCharDefined(m)&&(s.endPadding=" "),s.isCursorAtEnd=((c=o.textContent)===null||c===void 0?void 0:c.length)===v;return}}var g=o.innerText.charAt(o.innerText.length-1);t.Text.isCharDefined(g)&&(s.startPadding=" "),s.isCursorAtEnd=!0}},{key:"setState",value:function(s,o){r.Elements.isPrimitiveElement(o)?n.setStateForPrimitiveElement(s,o):n.setStateForGenericElement(s,o)}},{key:"adjustStateAfterRecodingPrimitiveElement",value:function(s,o){if(s.primitiveTextRecorded=!0,s.insertInCursorLocation&&document.activeElement===o&&(o.selectionEnd!==null&&(s.endPadding=s.endPadding+o.value.slice(o.selectionEnd)),o.selectionStart!==null)){s.startPadding=o.value.slice(0,o.selectionStart)+s.startPadding;return}s.startPadding=o.value+s.startPadding}},{key:"adjustSateForNoTextPrimitiveElement",value:function(s){s.numberOfSpacesBeforeNewText===1&&(s.startPadding=s.startPadding.substring(0,s.startPadding.length-1),s.numberOfSpacesBeforeNewText=0),s.numberOfSpacesAfterNewText===1&&(s.endPadding=s.endPadding.substring(1),s.numberOfSpacesAfterNewText=0)}}])}();return rt.Padding=e,rt}var Nr;function Ua(){if(Nr)return Je;Nr=1,Object.defineProperty(Je,"__esModule",{value:!0}),Je.Speech=void 0;var r=sl(),i=ol(),t=Fa(),e=Da(),n=ll(),a=Yt(),s=ul(),o=Vn(),l=Zt(),u=Xt(),c=function(){function d(){b(this,d),this.finalTranscript="",this.interimSpan=a.Elements.createInterimSpan(),this.finalSpan=a.Elements.createGenericSpan(),this.scrollingSpan=a.Elements.createGenericSpan(),this.isCursorAtEnd=!1,this.spansPopulated=!1,this.startPadding="",this.endPadding="",this.numberOfSpacesBeforeNewText=0,this.numberOfSpacesAfterNewText=0,this.isHighlighted=!1,this.primitiveTextRecorded=!1,this.recognizing=!1,this._displayInterimResults=!0,this.insertInCursorLocation=!0,this.autoScroll=!0,this.isRestarting=!1,this.isPaused=!1,this.isWaitingForCommand=!1,this.isTargetInShadow=!1,this.cannotBeStopped=!1,this.resetState()}return k(d,[{key:"prepareBeforeStart",value:function(h){var v,m;if(h!=null&&h.element)if(r.EventListeners.add(this,h),Array.isArray(h.element)){var g=h.element.find(function(y){return y===document.activeElement})||h.element[0];if(!g)return;this.prepare(g)}else this.prepare(h.element);(h==null?void 0:h.displayInterimResults)!==void 0&&(this._displayInterimResults=h.displayInterimResults),h!=null&&h.textColor&&(this._finalTextColor=(v=h==null?void 0:h.textColor)===null||v===void 0?void 0:v.final,a.Elements.applyCustomColors(this,h.textColor)),(h==null?void 0:h.insertInCursorLocation)!==void 0&&(this.insertInCursorLocation=h.insertInCursorLocation),(h==null?void 0:h.autoScroll)!==void 0&&(this.autoScroll=h.autoScroll),this._onResult=h==null?void 0:h.onResult,this._onPreResult=h==null?void 0:h.onPreResult,this._onStart=h==null?void 0:h.onStart,this._onStop=h==null?void 0:h.onStop,this._onError=h==null?void 0:h.onError,this.onCommandModeTrigger=h==null?void 0:h.onCommandModeTrigger,this.onPauseTrigger=h==null?void 0:h.onPauseTrigger,this._options=h,!((m=this._options)===null||m===void 0)&&m.commands&&(this.commands=t.CommandUtils.process(this._options.commands))}},{key:"prepare",value:function(h){s.Padding.setState(this,h),n.Highlight.setState(this,h),this.isTargetInShadow=a.Elements.isInsideShadowDOM(h),a.Elements.isPrimitiveElement(h)?(this._primitiveElement=h,this._originalText=this._primitiveElement.value):(this._genericElement=h,this._originalText=this._genericElement.textContent)}},{key:"resetRecording",value:function(h){this.isRestarting=!0,this.stop(!0),this.resetState(!0),this.start(h,!0)}},{key:"updateElements",value:function(h,v,m){var g,y=u.Text.capitalize(v);if(!(this.finalTranscript===y&&h==="")){i.PreResultUtils.process(this,m,h==="",this._onPreResult,this._options)&&(h="",m="");var S=this.commands&&t.CommandUtils.execCommand(this,m,this._options,this._primitiveElement||this._genericElement,this._originalText);if(S){if(S.doNotProcessTranscription)return;h="",m=""}if(!(this.isPaused||this.isWaitingForCommand)){(g=this._onResult)===null||g===void 0||g.call(this,m,h===""),this.finalTranscript=y,this._displayInterimResults||(h="");var A=this.finalTranscript===""&&h==="";this._primitiveElement?this.updatePrimitiveElement(this._primitiveElement,h,A):this._genericElement&&this.updateGenericElement(this._genericElement,h,A)}}}},{key:"updatePrimitiveElement",value:function(h,v,m){this.isHighlighted&&n.Highlight.removeForPrimitive(this,h),this.primitiveTextRecorded||s.Padding.adjustStateAfterRecodingPrimitiveElement(this,h),m&&s.Padding.adjustSateForNoTextPrimitiveElement(this);var g=this.startPadding+this.finalTranscript+v;if(h.value=g+this.endPadding,!this.isTargetInShadow){var y=g.length+this.numberOfSpacesAfterNewText;l.Cursor.setOffsetForPrimitive(h,y,this.autoScroll)}this.autoScroll&&o.Browser.IS_SAFARI()&&this.isCursorAtEnd&&e.AutoScroll.scrollSafariPrimitiveToEnd(h)}},{key:"updateGenericElement",value:function(h,v,m){this.isHighlighted&&n.Highlight.removeForGeneric(this,h),this.spansPopulated||a.Elements.appendSpans(this,h);var g=(m?"":this.startPadding)+u.Text.lineBreak(this.finalTranscript);this.finalSpan.innerHTML=g;var y=e.AutoScroll.isRequired(this.autoScroll,h);e.AutoScroll.changeStateIfNeeded(this,y);var S=u.Text.lineBreak(v)+(m?"":this.endPadding);this.interimSpan.innerHTML=S,o.Browser.IS_SAFARI()&&this.insertInCursorLocation&&l.Cursor.setOffsetForSafariGeneric(h,g.length+S.length),y&&e.AutoScroll.scrollGeneric(this,h),m&&(this.scrollingSpan.innerHTML="")}},{key:"finalise",value:function(h){this._genericElement&&(h?(this.finalSpan=a.Elements.createGenericSpan(),this.setInterimColorToFinal(),this.interimSpan=a.Elements.createInterimSpan(),this.scrollingSpan=a.Elements.createGenericSpan()):this._genericElement.textContent=this._genericElement.textContent,this.spansPopulated=!1),r.EventListeners.remove(this)}},{key:"setInterimColorToFinal",value:function(){this.interimSpan.style.color=this._finalTextColor||"black"}},{key:"resetState",value:function(h){this._primitiveElement=void 0,this._genericElement=void 0,this.finalTranscript="",this.finalSpan.innerHTML="",this.interimSpan.innerHTML="",this.scrollingSpan.innerHTML="",this.startPadding="",this.endPadding="",this.isHighlighted=!1,this.primitiveTextRecorded=!1,this.numberOfSpacesBeforeNewText=0,this.numberOfSpacesAfterNewText=0,h||(this.stopTimeout=void 0)}},{key:"setStateOnStart",value:function(){var h;this.recognizing=!0,this.isRestarting?this.isRestarting=!1:(h=this._onStart)===null||h===void 0||h.call(this)}},{key:"setStateOnStop",value:function(){var h;this.recognizing=!1,this.isRestarting||(h=this._onStop)===null||h===void 0||h.call(this)}},{key:"setStateOnError",value:function(h){var v;(v=this._onError)===null||v===void 0||v.call(this,h),this.recognizing=!1}}])}();return Je.Speech=c,Je}var Br;function cl(){if(Br)return ze;Br=1,Object.defineProperty(ze,"__esModule",{value:!0}),ze.WebSpeech=void 0;var r=il(),i=Vn(),t=Ua(),e=function(n){function a(){return b(this,a),N(this,a)}return B(a,n),k(a,[{key:"start",value:function(o){var l;this._extractText===void 0&&(this._extractText=i.Browser.IS_SAFARI()?r.WebSpeechTranscript.extractSafari:r.WebSpeechTranscript.extract),this.validate()&&(this.prepareBeforeStart(o),this.instantiateService(o),(l=this._service)===null||l===void 0||l.start(),this._translations=o==null?void 0:o.translations)}},{key:"validate",value:function(){return a.getAPI()?!0:(this.error("Speech Recognition is unsupported"),!1)}},{key:"instantiateService",value:function(o){var l,u,c=a.getAPI();this._service=new c,this._service.continuous=!0,this._service.interimResults=(l=o==null?void 0:o.displayInterimResults)!==null&&l!==void 0?l:!0,this._service.lang=((u=o==null?void 0:o.language)===null||u===void 0?void 0:u.trim())||"en-US",this.setEvents()}},{key:"setEvents",value:function(){var o=this;this._service&&(this._service.onstart=function(){o.setStateOnStart()},this._service.onerror=function(l){i.Browser.IS_SAFARI()&&l.message==="Another request is started"||l.error==="aborted"&&o.isRestarting||l.error!=="no-speech"&&o.error(l.message||l.error)},this._service.onaudioend=function(){o.setStateOnStop()},this._service.onend=function(){o._stopping=!1},this._service.onresult=function(l){if(x(l.results)>"u"&&o._service)o._service.onend=null,o._service.stop();else if(o._extractText&&!o._stopping){var u=o._extractText(l,o.finalTranscript,o._translations),c=u.interimTranscript,d=u.finalTranscript,p=u.newText;o.updateElements(c,d,p)}})}},{key:"stop",value:function(o){var l;this._stopping=!0,(l=this._service)===null||l===void 0||l.stop(),this.finalise(o)}},{key:"error",value:function(o){console.error(o),this.setStateOnError(o),this.stop()}}],[{key:"getAPI",value:function(){return window.webkitSpeechRecognition||window.SpeechRecognition}}])}(t.Speech);return ze.WebSpeech=e,ze}var at={},Dr;function dl(){if(Dr)return at;Dr=1,Object.defineProperty(at,"__esModule",{value:!0}),at.GlobalState=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"doubleClickDetector",value:function(){return i.doubleClickPending?!0:(i.doubleClickPending=!0,setTimeout(function(){i.doubleClickPending=!1},300),!1)}}])}();return at.GlobalState=r,r.doubleClickPending=!1,at}var it={},st={},Fr;function hl(){if(Fr)return st;Fr=1,Object.defineProperty(st,"__esModule",{value:!0}),st.PreventConnectionStop=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"applyPrevention",value:function(e){clearTimeout(e._manualConnectionStopPrevention),e.cannotBeStopped=!0,e._manualConnectionStopPrevention=setTimeout(function(){e.cannotBeStopped=!1},800)}},{key:"clearPrevention",value:function(e){clearTimeout(e._manualConnectionStopPrevention),e.cannotBeStopped=!1}}])}();return st.PreventConnectionStop=r,st}var ot={},It={},Ur;function pl(){return Ur||(Ur=1,Object.defineProperty(It,"__esModule",{value:!0}),It.README_URL=void 0,It.README_URL="https://github.com/OvidijusParsiunas/speech-to-element"),It}var jr;function fl(){if(jr)return ot;jr=1,Object.defineProperty(ot,"__esModule",{value:!0}),ot.AzureSpeechConfig=void 0;var r=pl(),i=function(){function t(){b(this,t)}return k(t,null,[{key:"validateOptions",value:function(n,a){return a?!a.subscriptionKey&&!a.token&&!a.retrieveToken?(n("Please define a 'subscriptionKey', 'token' or 'retrieveToken' property - more info: ".concat(r.README_URL)),!1):a.region?!0:(n("Please define a 'region' property - more info: ".concat(r.README_URL)),!1):(n("Please provide subscription details - more info: ".concat(r.README_URL)),!1)}},{key:"getNewSpeechConfig",value:function(){var e=_(f().mark(function a(s,o){return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(!o.region){u.next=2;break}return u.abrupt("return",o.subscriptionKey?s.fromSubscription(o.subscriptionKey.trim(),o.region.trim()):o.token?s.fromAuthorizationToken(o.token.trim(),o.region.trim()):o.retrieveToken?o.retrieveToken().then(function(c){return o.region?s.fromAuthorizationToken((c==null?void 0:c.trim())||"",o.region.trim()):null}).catch(function(c){return console.error(c),null}):null);case 2:case"end":return u.stop()}},a)}));function n(a,s){return e.apply(this,arguments)}return n}()},{key:"process",value:function(n,a){a.endpointId&&(n.endpointId=a.endpointId.trim()),a.language&&(n.speechRecognitionLanguage=a.language.trim())}},{key:"get",value:function(){var e=_(f().mark(function a(s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return c.next=2,t.getNewSpeechConfig(s,o);case 2:return l=c.sent,c.abrupt("return",(l&&t.process(l,o),l));case 4:case"end":return c.stop()}},a)}));function n(a,s){return e.apply(this,arguments)}return n}()}])}();return ot.AzureSpeechConfig=i,ot}var lt={},Hr;function ml(){if(Hr)return lt;Hr=1,Object.defineProperty(lt,"__esModule",{value:!0}),lt.StopTimeout=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"set",value:function(e){e.stopTimeout=setTimeout(function(){return e.stop()},e.stopTimeoutMS)}},{key:"reset",value:function(e,n){e.stopTimeoutMS=n||i.DEFAULT_MS,i.stop(e),i.set(e)}},{key:"stop",value:function(e){e.stopTimeout&&clearTimeout(e.stopTimeout)}}])}();return lt.StopTimeout=r,r.DEFAULT_MS=2e4,lt}var ut={},qr;function vl(){if(qr)return ut;qr=1,Object.defineProperty(ut,"__esModule",{value:!0}),ut.AzureAudioConfig=void 0;var r=function(){function i(){b(this,i)}return k(i,null,[{key:"get",value:function(e,n){return n?e.fromMicrophoneInput(n):e.fromDefaultMicrophoneInput()}}])}();return ut.AzureAudioConfig=r,ut}var ct={},Vr;function gl(){if(Vr)return ct;Vr=1,Object.defineProperty(ct,"__esModule",{value:!0}),ct.AzureTranscript=void 0;var r=Ba(),i=function(){function t(){b(this,t)}return k(t,null,[{key:"extract",value:function(n,a,s,o){return o&&(n=r.Translate.translate(n,o)),s?{interimTranscript:"",finalTranscript:a+n,newText:n}:{interimTranscript:n,finalTranscript:a,newText:n}}}])}();return ct.AzureTranscript=i,ct}var zr;function yl(){if(zr)return it;zr=1,Object.defineProperty(it,"__esModule",{value:!0}),it.Azure=void 0;var r=hl(),i=fl(),t=ml(),e=vl(),n=gl(),a=Ua(),s=function(o){function l(){var u;return b(this,l),u=N(this,l,arguments),u._newTextPadding="",u}return B(l,o),k(l,[{key:"start",value:function(c,d){this._newTextPadding="",this.stopTimeout===void 0&&t.StopTimeout.reset(this,c==null?void 0:c.stopAfterSilenceMs),this.prepareBeforeStart(c),this.startAsync(c),d||r.PreventConnectionStop.applyPrevention(this)}},{key:"startAsync",value:function(){var u=_(f().mark(function d(p){var h;return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:if(m.t0=this.validate(p),!m.t0){m.next=6;break}return m.next=4,this.instantiateService(p);case 4:this._translations=p==null?void 0:p.translations,(h=this._service)===null||h===void 0||h.startContinuousRecognitionAsync(function(){},this.error);case 6:case"end":return m.stop()}},d,this)}));function c(d){return u.apply(this,arguments)}return c}()},{key:"validate",value:function(c){return l.getAPI()?i.AzureSpeechConfig.validateOptions(this.error.bind(this),c):(this.moduleNotFound(),!1)}},{key:"instantiateService",value:function(){var u=_(f().mark(function d(p){var h,v,m,g,y,S,A,R,C;return f().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return h=l.getAPI(),v=e.AzureAudioConfig.get(h.AudioConfig,p.deviceId),U.next=4,i.AzureSpeechConfig.get(h.SpeechConfig,p);case 4:m=U.sent,m?(p.autoLanguage&&p.autoLanguage.languages.length>0?(y=p.autoLanguage,S=y.type,A=y.languages,R=A.slice(0,S==="Continuous"?10:4),C=h.AutoDetectSourceLanguageConfig.fromLanguages(R),S==="Continuous"&&(C.mode=1),g=h.SpeechRecognizer.FromConfig(m,C,v)):g=new h.SpeechRecognizer(m,v),this.setEvents(g),this._service=g,p.retrieveToken&&this.retrieveTokenInterval(p.retrieveToken)):this.error("Unable to contact Azure server");case 6:case"end":return U.stop()}},d,this)}));function c(d){return u.apply(this,arguments)}return c}()},{key:"setEvents",value:function(c){c.recognizing=this.onRecognizing.bind(this),c.recognized=this.onRecognized.bind(this),c.sessionStarted=this.onSessionStarted.bind(this),c.canceled=this.onCanceled.bind(this),c.sessionStopped=this.onSessionStopped.bind(this)}},{key:"onRecognizing",value:function(c,d){if(!this._stopping){var p=n.AzureTranscript.extract(this._newTextPadding+d.result.text,this.finalTranscript,!1,this._translations),h=p.interimTranscript,v=p.finalTranscript,m=p.newText;t.StopTimeout.reset(this,this.stopTimeoutMS),this.updateElements(h,v,m)}}},{key:"onRecognized",value:function(c,d){var p=d.result;switch(p.reason){case window.SpeechSDK.ResultReason.Canceled:break;case window.SpeechSDK.ResultReason.RecognizedSpeech:if(p.text&&!this._stopping){var h=n.AzureTranscript.extract(this._newTextPadding+p.text,this.finalTranscript,!0,this._translations),v=h.interimTranscript,m=h.finalTranscript,g=h.newText;t.StopTimeout.reset(this,this.stopTimeoutMS),this.updateElements(v,m,g),m!==""&&(this._newTextPadding=" ")}break}}},{key:"onCanceled",value:function(c,d){d.reason===window.SpeechSDK.CancellationReason.Error&&this.error(d.errorDetails)}},{key:"onSessionStarted",value:function(){r.PreventConnectionStop.clearPrevention(this),this.setStateOnStart()}},{key:"onSessionStopped",value:function(){this._retrieveTokenInterval||clearInterval(this._retrieveTokenInterval),this._stopping=!1,this.setStateOnStop()}},{key:"retrieveTokenInterval",value:function(c){var d=this;this._retrieveTokenInterval=setInterval(function(){c==null||c().then(function(p){d._service&&(d._service.authorizationToken=(p==null?void 0:p.trim())||"")}).catch(function(p){d.error(p)})},1e4)}},{key:"stop",value:function(c){var d;!c&&this._retrieveTokenInterval&&clearInterval(this._retrieveTokenInterval),this._stopping=!0,(d=this._service)===null||d===void 0||d.stopContinuousRecognitionAsync(),t.StopTimeout.stop(this),this.finalise(c)}},{key:"moduleNotFound",value:function(){console.error("speech recognition module not found:"),console.error(`please install the 'microsoft-cognitiveservices-speech-sdk' npm package or add a script tag: <script src="https://aka.ms/csspeech/jsbrowserpackageraw"><\/script>`),this.setStateOnError("speech recognition module not found")}},{key:"error",value:function(c){this._retrieveTokenInterval&&clearInterval(this._retrieveTokenInterval),console.error(c),this.setStateOnError(c),this.stop()}}],[{key:"getAPI",value:function(){return window.SpeechSDK}}])}(a.Speech);return it.Azure=s,it}var Gr;function bl(){if(Gr)return Mt;Gr=1,Object.defineProperty(Mt,"__esModule",{value:!0});var r=cl(),i=Fa(),t=dl(),e=yl(),n=function(){function a(){b(this,a)}return k(a,null,[{key:"toggle",value:function(o,l){var u,c,d=o.toLocaleLowerCase().trim();!((u=t.GlobalState.service)===null||u===void 0)&&u.recognizing?this.stop():d==="webspeech"?a.startWebSpeech(l):d==="azure"?a.startAzure(l):(console.error("service not found - must be either 'webspeech' or 'azure'"),(c=l==null?void 0:l.onError)===null||c===void 0||c.call(l,"service not found - must be either 'webspeech' or 'azure'"))}},{key:"startWebSpeech",value:function(o){a.stop()||(t.GlobalState.service=new r.WebSpeech,t.GlobalState.service.start(o))}},{key:"isWebSpeechSupported",value:function(){return!!r.WebSpeech.getAPI()}},{key:"startAzure",value:function(o){var l;a.stop()||!((l=t.GlobalState.service)===null||l===void 0)&&l.cannotBeStopped||(t.GlobalState.service=new e.Azure,t.GlobalState.service.start(o))}},{key:"stop",value:function(){var o;return t.GlobalState.doubleClickDetector()?!0:(!((o=t.GlobalState.service)===null||o===void 0)&&o.recognizing&&t.GlobalState.service.stop(),!1)}},{key:"endCommandMode",value:function(){t.GlobalState.service&&i.CommandUtils.toggleCommandModeOff(t.GlobalState.service)}}])}();return Mt.default=n,Mt}var kl=bl(),Ht=al(kl),Sl=function(){function r(i,t){b(this,r),this._silenceMS=2e3,this._stop=!0,typeof t=="boolean"&&t===!1&&(this._stop=!1),typeof i=="number"&&(this._silenceMS=i)}return k(r,[{key:"setSilenceTimeout",value:function(t,e){var n=this;this._silenceTimeout=setTimeout(function(){var a;(a=t.submit)==null||a.call(t),Ht.stop(),n._stop||setTimeout(e,zn.MICROPHONE_RESET_TIMEOUT_MS)},this._silenceMS)}},{key:"clearSilenceTimeout",value:function(){this._silenceTimeout&&clearTimeout(this._silenceTimeout)}},{key:"resetSilenceTimeout",value:function(t,e){this.clearSilenceTimeout(),this.setSilenceTimeout(t,e)}},{key:"onPause",value:function(t,e,n){t?this.resetSilenceTimeout(e,n):this.clearSilenceTimeout()}}])}(),ja=function(r){function i(t,e,n){var a;b(this,i);var s=x(t.speechToText)=="object"?t.speechToText:{};a=N(this,i,[s==null?void 0:s.button]);var o=a.processConfiguration(e,t.speechToText),l=o.serviceName,u=o.processedConfig;if(a._addErrorMessage=n,l==="webspeech"&&!Ht.isWebSpeechSupported())a.changeToUnsupported();else{var c=!t.textInput||!t.textInput.disabled;a.elementRef.onclick=a.buttonClick.bind(a,e,c,l,u)}return setTimeout(function(){a._validationHandler=t._validationHandler}),a}return B(i,r),k(i,[{key:"processConfiguration",value:function(e,n){var a,s,o,l,u,c,d=x(n)=="object"?n:{},p=x(d.webSpeech)=="object"?d.webSpeech:{},h=d.azure||{},v=V(V({displayInterimResults:(a=d.displayInterimResults)!==null&&a!==void 0?a:void 0,textColor:(s=d.textColor)!==null&&s!==void 0?s:void 0,translations:(o=d.translations)!==null&&o!==void 0?o:void 0,commands:(l=d.commands)!==null&&l!==void 0?l:void 0,events:(u=d.events)!==null&&u!==void 0?u:void 0},p),h),m=(c=d.commands)==null?void 0:c.submit;return m&&(v.onPreResult=function(g){return g.toLowerCase().includes(m)?(setTimeout(function(){var y;return(y=e.submit)==null?void 0:y.call(e)}),Ht.endCommandMode(),{restart:!0,removeNewText:!0}):null}),d.submitAfterSilence&&(this._silenceSubmit=new Sl(d.submitAfterSilence,d.stopAfterSubmit)),{serviceName:i.getServiceName(d),processedConfig:v}}},{key:"buttonClick",value:function(e,n,a,s){var o=this,l=s==null?void 0:s.events;e.removePlaceholderStyle(),Ht.toggle(a,V({insertInCursorLocation:!1,element:n?e.inputElementRef:void 0,onError:function(){var c;o.onError(),(c=o._silenceSubmit)==null||c.clearSilenceTimeout()},onStart:function(){var c;o.changeToActive(),(c=l==null?void 0:l.onStart)==null||c.call(l)},onStop:function(){var c,d,p;(c=o._validationHandler)==null||c.call(o),(d=o._silenceSubmit)==null||d.clearSilenceTimeout(),o.changeToDefault(),(p=l==null?void 0:l.onStop)==null||p.call(l)},onPauseTrigger:function(c){var d,p;(d=o._silenceSubmit)==null||d.onPause(c,e,o.elementRef.onclick),(p=l==null?void 0:l.onPauseTrigger)==null||p.call(l,c)},onPreResult:function(c,d){var p;(p=l==null?void 0:l.onPreResult)==null||p.call(l,c,d)},onResult:function(c,d){var p,h,v;d&&((p=o._validationHandler)==null||p.call(o)),(h=o._silenceSubmit)==null||h.resetSilenceTimeout(e,o.elementRef.onclick),(v=l==null?void 0:l.onResult)==null||v.call(l,c,d)},onCommandModeTrigger:function(c){var d;o.onCommandModeTrigger(c),(d=l==null?void 0:l.onCommandModeTrigger)==null||d.call(l,c)}},s))}},{key:"onCommandModeTrigger",value:function(e){e?this.changeToCommandMode():this.changeToActive()}},{key:"onError",value:function(){this._addErrorMessage("speechToText","speech input error")}}],[{key:"getServiceName",value:function(e){return e.azure?"azure":"webspeech"}},{key:"toggleSpeechAfterSubmit",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;e.click(),n||setTimeout(function(){return e.click()},i.MICROPHONE_RESET_TIMEOUT_MS)}}])}(Na);ja.MICROPHONE_RESET_TIMEOUT_MS=300;var zn=ja,Gn=function(){function r(i,t,e,n,a){var s=this;b(this,r),this._attachments=[],this._fileCountLimit=99,this._acceptedFormat="",this._hiddenAttachments=new Set,e.maxNumberOfFiles&&(this._fileCountLimit=e.maxNumberOfFiles),this._toggleContainerDisplay=n,this._fileAttachmentsContainerRef=a,e.acceptedFormats&&(this._acceptedFormat=e.acceptedFormats),setTimeout(function(){s._validationHandler=i._validationHandler,s._onInput=t.onInput})}return k(r,[{key:"attemptAddFile",value:function(t,e){var n;return r.isFileTypeValid(t,this._acceptedFormat)?(this.addAttachmentBasedOnType(t,e,!0),(n=this._onInput)==null||n.call(this,!0),!0):!1}},{key:"addAttachmentBasedOnType",value:function(t,e,n){var a=r.getTypeFromBlob(t);if(a==="image"){var s=r.createImageAttachment(e);this.addFileAttachment(t,"image",s,n)}else if(a==="audio"){var o=In.createAudioAttachment(e);this.addFileAttachment(t,"audio",o,n)}else{var l=r.createAnyFileAttachment(t.name);this.addFileAttachment(t,"any",l,n)}}},{key:"addFileAttachment",value:function(t,e,n,a){var s,o=r.createContainer(n);if(this._attachments.length>=this._fileCountLimit){var l=this._attachments[this._attachments.length-1].removeButton;l==null||l.click();var u=this._fileAttachmentsContainerRef.children;this._fileAttachmentsContainerRef.insertBefore(o,u[0])}else this._fileAttachmentsContainerRef.appendChild(o);var c={file:t,attachmentContainerElement:o,fileType:e};return a&&(c.removeButton=this.createRemoveAttachmentButton(c),o.appendChild(c.removeButton)),this._toggleContainerDisplay(!0),this._attachments.push(c),this._fileAttachmentsContainerRef.scrollTop=this._fileAttachmentsContainerRef.scrollHeight,(s=this._validationHandler)==null||s.call(this),c}},{key:"createRemoveAttachmentButton",value:function(t){var e=document.createElement("div");e.classList.add("remove-file-attachment-button"),e.onclick=this.removeAttachment.bind(this,t);var n=document.createElement("div");return n.classList.add("x-icon"),n.innerText="×",e.appendChild(n),e}},{key:"removeAttachment",value:function(t,e){var n,a;(n=this._onInput)==null||n.call(this,!!(e!=null&&e.isTrusted));var s=this._attachments.findIndex(function(l){return l===t}),o=this._attachments[s].attachmentContainerElement;this._attachments.splice(s,1),In.stopAttachmentPlayback(o),o.remove(),this._toggleContainerDisplay(!1),(a=this._validationHandler)==null||a.call(this)}},{key:"getFiles",value:function(){return Array.from(this._attachments).map(function(t){return{file:t.file,type:t.fileType}})}},{key:"hideAttachments",value:function(){var t=this;this._hiddenAttachments.clear(),this._attachments.forEach(function(e){setTimeout(function(){var n;return(n=e.removeButton)==null?void 0:n.click()}),t._hiddenAttachments.add(e)})}},{key:"removeAttachments",value:function(){this._attachments.forEach(function(t){setTimeout(function(){var e;return(e=t.removeButton)==null?void 0:e.click()})}),this._hiddenAttachments.clear()}},{key:"readdAttachments",value:function(){var t=this,e;Array.from(this._hiddenAttachments).forEach(function(n){t._fileAttachmentsContainerRef.appendChild(n.attachmentContainerElement),t._attachments.push(n)}),(e=this._onInput)==null||e.call(this,!1),this._hiddenAttachments.clear()}}],[{key:"isFileTypeValid",value:function(t,e){if(e==="")return!0;for(var n=e.split(","),a=0;a<n.length;a++){var s=n[a].trim();if(t.type===s)return!0;if(s.startsWith(".")){var o=s.slice(1);if(t.name.endsWith(o))return!0}else if(t.name.endsWith(s)||s.endsWith("/*")&&t.type.startsWith(s.slice(0,-2)))return!0}return!1}},{key:"getTypeFromBlob",value:function(t){var e=t.type;return e.startsWith("image")?"image":e.startsWith("audio")?"audio":"any"}},{key:"createImageAttachment",value:function(t){var e=new Image;return e.src=t,e.classList.add("image-attachment"),e}},{key:"createAnyFileAttachment",value:function(t){var e=document.createElement("div");e.classList.add("border-bound-attachment"),Me.IS_SAFARI&&e.classList.add("border-bound-attachment-safari");var n=document.createElement("div");n.classList.add("any-file-attachment-text");var a=document.createElement("div");return a.classList.add("file-attachment-text-container"),a.appendChild(n),n.textContent=t,e.appendChild(a),e}},{key:"createContainer",value:function(t){var e=document.createElement("div");return e.classList.add("file-attachment"),e.appendChild(t),e}}])}(),Ha=function(r){function i(t,e,n,a,s){return b(this,i),N(this,i,[t,e,n,a,s])}return B(i,r),k(i,[{key:"createTimer",value:function(e,n){var a=this,s=0,o=n!==void 0&&n<i.TIMER_LIMIT_S?n:i.TIMER_LIMIT_S;return setInterval(function(){var l;s+=1,s===o&&((l=a.stopPlaceholderCallback)==null||l.call(a),a.clearTimer()),s===600&&e.classList.add("audio-placeholder-text-4-digits");var u=Math.floor(s/60),c=(s%60).toString().padStart(2,"0");e.textContent="".concat(u,":").concat(c)},1e3)}},{key:"createPlaceholderAudioAttachment",value:function(e){var n=i.createAudioContainer(),a=document.createElement("div");a.classList.add("audio-placeholder-text-3-digits");var s=document.createElement("div");s.classList.add("file-attachment-text-container","audio-placeholder-text-3-digits-container"),s.appendChild(a);var o=ye.createSVGElement(wn);return o.classList.add("attachment-icon","stop-icon","not-removable-attachment-icon"),a.textContent="0:00",this._activePlaceholderTimer=this.createTimer(a,e),n.appendChild(s),this.addPlaceholderAudioAttachmentEvents(n,o,s),n}},{key:"addPlaceholderAudioAttachmentEvents",value:function(e,n,a){var s=this,o=function(){return e.replaceChildren(n)};e.addEventListener("mouseenter",o);var l=function(){return e.replaceChildren(a)};e.addEventListener("mouseleave",l);var u=function(){var d;return(d=s.stopPlaceholderCallback)==null?void 0:d.call(s)};e.addEventListener("click",u)}},{key:"addPlaceholderAttachment",value:function(e,n){var a=this.createPlaceholderAudioAttachment(n);this._activePlaceholderAttachment=this.addFileAttachment(new File([],""),"audio",a,!1),this.stopPlaceholderCallback=e}},{key:"completePlaceholderAttachment",value:function(e,n){var a=this._activePlaceholderAttachment;a&&(a.file=e,i.addAudioElements(a.attachmentContainerElement.children[0],n),a.removeButton=this.createRemoveAttachmentButton(a),a.attachmentContainerElement.appendChild(a.removeButton),this._activePlaceholderAttachment=void 0,this.clearTimer())}},{key:"removePlaceholderAttachment",value:function(){this._activePlaceholderAttachment&&(this.removeAttachment(this._activePlaceholderAttachment),this._activePlaceholderAttachment=void 0,this.clearTimer())}},{key:"clearTimer",value:function(){this._activePlaceholderTimer!==void 0&&(clearInterval(this._activePlaceholderTimer),this._activePlaceholderTimer=void 0,this.stopPlaceholderCallback=void 0)}}],[{key:"createAudioContainer",value:function(){var e=document.createElement("div");return e.classList.add("border-bound-attachment","audio-attachment-icon-container"),Me.IS_SAFARI&&e.classList.add("border-bound-attachment-safari"),e}},{key:"addAudioElements",value:function(e,n){var a=e.parentElement?ie.cloneElement(e):e,s=document.createElement("audio");s.src=n;var o=ye.createSVGElement(Ma);o.classList.add("attachment-icon","play-icon");var l=ye.createSVGElement(wn);l.classList.add("attachment-icon","stop-icon"),a.replaceChildren(o),s.onplay=function(){a.replaceChildren(l)},s.onpause=function(){a.replaceChildren(o),s.currentTime=0},s.onended=function(){a.replaceChildren(o)},a.onclick=function(){s.paused?s.play():s.pause()}}},{key:"createAudioAttachment",value:function(e){var n=i.createAudioContainer();return i.addAudioElements(n,e),n}},{key:"stopAttachmentPlayback",value:function(e){var n,a,s;(s=(a=(n=e.children[0])==null?void 0:n.children)==null?void 0:a[0])!=null&&s.classList.contains("stop-icon")&&e.children[0].click()}}])}(Gn);Ha.TIMER_LIMIT_S=5999;var In=Ha,_l=function(){function r(){b(this,r)}return k(r,null,[{key:"create",value:function(t,e,n,a,s,o){return o==="audio"?new In(t,e,n,a,s):new Gn(t,e,n,a,s)}}])}(),$n=function(){function r(i,t,e){b(this,r),this._fileAttachmentsTypes=[],this.elementRef=this.createAttachmentContainer();var n=x(e)=="object"&&!!e.displayFileAttachmentContainer;this.toggleContainerDisplay(n),i.appendChild(this.elementRef),t&&Object.assign(this.elementRef.style,t)}return k(r,[{key:"addType",value:function(t,e,n,a){var s=_l.create(t,e,n,this.toggleContainerDisplay.bind(this),this.elementRef,a);return this._fileAttachmentsTypes.push(s),s}},{key:"createAttachmentContainer",value:function(){var t=document.createElement("div");return t.id="file-attachment-container",t}},{key:"toggleContainerDisplay",value:function(t){t?this.elementRef.style.display="block":this.elementRef.children.length===0&&(this.elementRef.style.display="none")}},{key:"getAllFileData",value:function(){var t=this._fileAttachmentsTypes.map(function(e){return e.getFiles()}).flat();return t.length>0?t:void 0}},{key:"completePlaceholders",value:function(){var i=_(f().mark(function e(){return f().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Promise.all(this._fileAttachmentsTypes.map(function(){var s=_(f().mark(function o(l){var u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.abrupt("return",(u=l.stopPlaceholderCallback)==null?void 0:u.call(l));case 1:case"end":return d.stop()}},o)}));return function(o){return s.apply(this,arguments)}}()));case 2:case"end":return a.stop()}},e,this)}));function t(){return i.apply(this,arguments)}return t}()},{key:"addFilesToAnyType",value:function(t){r.addFilesToType(t,this._fileAttachmentsTypes)}},{key:"hideFiles",value:function(){this._fileAttachmentsTypes.forEach(function(t){return t.hideAttachments()}),this.elementRef.replaceChildren(),this.toggleContainerDisplay(!1)}},{key:"removeHiddenFiles",value:function(){this._fileAttachmentsTypes.forEach(function(t){return t.removeAttachments()})}},{key:"readdHiddenFiles",value:function(){this._fileAttachmentsTypes.forEach(function(t){return t.readdAttachments()}),this.toggleContainerDisplay(!0)}},{key:"getNumberOfTypes",value:function(){return this._fileAttachmentsTypes.length}}],[{key:"addFilesToType",value:function(t,e){t.forEach(function(n){var a=new FileReader;a.readAsDataURL(n),a.onload=function(s){for(var o=0;o<e.length&&!e[o].attemptAddFile(n,s.target.result);o+=1);}})}}])}(),qa=function(){function r(i,t,e){b(this,r),this._isOpen=!1,this._contentRef=r.createModalContent(t,e==null?void 0:e.backgroundColor),this._buttonPanel=r.createButtonPanel(e==null?void 0:e.backgroundColor),this._elementRef=r.createContainer(this._contentRef,e),this._elementRef.appendChild(this._buttonPanel),i.appendChild(this._elementRef),this._backgroundPanelRef=r.createDarkBackgroundPanel(),i.appendChild(this._backgroundPanelRef),this.addWindowEvents(i)}return k(r,[{key:"isOpen",value:function(){return this._isOpen}},{key:"addButtons",value:function(){for(var t=this,e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];n.forEach(function(s){Z.addAttributes(s),t._buttonPanel.appendChild(s)})}},{key:"close",value:function(){var t=this;this._elementRef.classList.remove("show-modal"),this._elementRef.classList.add("hide-modal"),this._backgroundPanelRef.classList.remove("show-modal-background"),this._backgroundPanelRef.classList.add("hide-modal-background"),this._isOpen=!1,setTimeout(function(){t._elementRef.style.display="none",t._backgroundPanelRef.style.display="none"},r.MODAL_CLOSE_TIMEOUT_MS)}},{key:"displayModalElements",value:function(){this._elementRef.style.display="flex",this._elementRef.classList.remove("hide-modal"),this._elementRef.classList.add("show-modal"),this._backgroundPanelRef.style.display="block",this._backgroundPanelRef.classList.remove("hide-modal-background"),this._backgroundPanelRef.classList.add("show-modal-background"),this._isOpen=!0}},{key:"openTextModal",value:function(t){this._contentRef.innerHTML=t,this.displayModalElements()}},{key:"addCloseButton",value:function(t,e,n){var a=this,s=e?r.createSVGButton(t):r.createTextButton(t);return this.addButtons(s),s.onclick=function(){a.close(),setTimeout(function(){n==null||n()},140)},s}},{key:"addWindowEvents",value:function(t){this.keyDownEvent=this.windowKeyDown.bind(this,t),window.addEventListener("keydown",this.keyDownEvent)}},{key:"windowKeyDown",value:function(t,e){var n,a;!t.isConnected&&this.keyDownEvent?window.removeEventListener("keydown",this.keyDownEvent):this._isOpen&&(e.key===ee.ESCAPE?(this.close(),(n=this.extensionCloseCallback)==null||n.call(this)):e.key===ee.ENTER&&(this.close(),(a=this.extensionCloseCallback)==null||a.call(this)))}}],[{key:"createContainer",value:function(t,e){var n=document.createElement("div");return n.classList.add("modal"),n.appendChild(t),e&&delete e.backgroundColor,Object.assign(n.style,e),n}},{key:"createModalContent",value:function(t,e){var n,a=document.createElement("div");return(n=a.classList).add.apply(n,Et(t)),e&&(a.style.backgroundColor=e),document.createElement("div").appendChild(a),a}},{key:"createButtonPanel",value:function(t){var e=document.createElement("div");return e.classList.add("modal-button-panel"),t&&(e.style.backgroundColor=t),e}},{key:"createDarkBackgroundPanel",value:function(){var t=document.createElement("div");return t.id="modal-background-panel",t}},{key:"createTextButton",value:function(t){var e=document.createElement("div");return e.classList.add("modal-button"),e.textContent=t,e}},{key:"createSVGButton",value:function(t){var e=document.createElement("div");e.classList.add("modal-button","modal-svg-button");var n=ye.createSVGElement(t);return n.classList.add("modal-svg-button-icon"),e.appendChild(n),e}},{key:"createTextModalFunc",value:function(t,e,n){var a;if(x(e)=="object"&&(a=e.files)!=null&&a.infoModal){var s=new r(t,["modal-content"],e.files.infoModal.containerStyle);return s.addCloseButton("OK",!1,n),s.openTextModal.bind(s,e.infoModalTextMarkUp||"")}}}])}();qa.MODAL_CLOSE_TIMEOUT_MS=190;var ft=qa,El=function(r){function i(t,e,n,a,s,o){var l;b(this,i);var u,c,d,p,h,v,m,g,y,S,A=(u=n==null?void 0:n.button)==null?void 0:u.position,R=((p=(d=(c=n==null?void 0:n.button)==null?void 0:c.styles)==null?void 0:d.text)==null?void 0:p.content)||o,C=be.tryCreateConfig("Upload File",(h=n==null?void 0:n.button)==null?void 0:h.tooltip);l=N(this,i,[i.createButtonElement(),s,A,C,n.button,R]);var T=l.createInnerElementsForStates(a,l.customStyles);return l._inputElement=i.createInputElement((v=n==null?void 0:n.files)==null?void 0:v.acceptedFormats),l.addClickEvent(t,n),l.changeElementsByState(T.styles),l.reapplyStateStyle("styles"),l._fileAttachmentsType=e,l._openModalOnce=((g=(m=n.files)==null?void 0:m.infoModal)==null?void 0:g.openModalOnce)===!1||(S=(y=n.files)==null?void 0:y.infoModal)==null?void 0:S.openModalOnce,l}return B(i,r),k(i,[{key:"createInnerElementsForStates",value:function(e,n){return{styles:this.createInnerElements(e,"styles",n)}}},{key:"triggerImportPrompt",value:function(e){e.onchange=this.import.bind(this,e),e.click()}},{key:"import",value:function(e){$n.addFilesToType(Array.from(e.files||[]),[this._fileAttachmentsType]),e.value=""}},{key:"addClickEvent",value:function(e,n){var a=this.triggerImportPrompt.bind(this,this._inputElement),s=ft.createTextModalFunc(e,n,a);this.elementRef.onclick=this.click.bind(this,s)}},{key:"click",value:function(e){e&&(this._openModalOnce===void 0||this._openModalOnce===!0)?(e(),this._openModalOnce===!0&&(this._openModalOnce=!1)):this.triggerImportPrompt(this._inputElement)}}],[{key:"createInputElement",value:function(e){var n=document.createElement("input");return n.type="file",n.accept=e||"",n.hidden=!0,n.multiple=!0,n}},{key:"createButtonElement",value:function(){var e=document.createElement("div");return e.classList.add("input-button"),e}}])}(De),$r=function(){function r(){b(this,r)}return k(r,null,[{key:"create",value:function(t,e,n){var a=r.createElement(n);r.addEvents(a,t,e),t.appendChild(a)}},{key:"createElement",value:function(t){var e=document.createElement("div");return e.id="drag-and-drop",x(t)=="object"&&Object.assign(e.style,t),e}},{key:"addEvents",value:function(t,e,n){e.ondragenter=function(a){a.preventDefault(),r.display(t)},t.ondragleave=function(a){a.preventDefault(),r.hide(t)},t.ondragover=function(a){a.preventDefault()},t.ondrop=function(a){a.preventDefault(),r.uploadFile(n,a),r.hide(t)}}},{key:"uploadFile",value:function(t,e){var n,a=(n=e.dataTransfer)==null?void 0:n.files;a&&t.addFilesToAnyType(Array.from(a))}},{key:"display",value:function(t){t.style.display="block"}},{key:"hide",value:function(t){t.style.display="none"}},{key:"isEnabled",value:function(t,e){return e!==void 0&&e===!1?!1:!!e||t.getNumberOfTypes()>0}}])}(),wl=function(){function r(){b(this,r)}return k(r,null,[{key:"validate",value:function(t,e,n,a,s){var o=t(n,a,s);return o?e.changeToSubmitIcon():e.changeToDisabledIcon(),o}},{key:"useValidationFunc",value:function(){var i=_(f().mark(function e(n,a,s,o){var l,u,c;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:return l=a.isTextInputEmpty()?"":a.inputElementRef.textContent,p.next=3,s.completePlaceholders();case 3:return u=s.getAllFileData(),c=u==null?void 0:u.map(function(h){return h.file}),p.abrupt("return",r.validate(n,o,l,c));case 5:case"end":return p.stop()}},e)}));function t(e,n,a,s){return i.apply(this,arguments)}return t}()},{key:"useValidationFuncProgrammatic",value:function(){var i=_(f().mark(function e(n,a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return l=(o=a.files)==null?void 0:o.map(function(d){return d.file}),c.abrupt("return",r.validate(n,s,a.text,l,!0));case 2:case"end":return c.stop()}},e)}));function t(e,n,a){return i.apply(this,arguments)}return t}()},{key:"validateWebsocket",value:function(t,e){var n=t.websocket,a=t.connectSettings;return n&&a.url!==ke.URL&&!_t.canSendMessage(n)?(e.changeToDisabledIcon(),!1):!0}},{key:"attach",value:function(t,e,n,a,s){var o=t.validateInput||oe.processValidateInput(t);t._validationHandler=function(){var l=_(f().mark(function u(c){var d;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(!(s.status.loadingActive||s.status.requestInProgress||e.isSubmitProgrammaticallyDisabled===!0||!r.validateWebsocket(e,s))){h.next=2;break}return h.abrupt("return",!1);case 2:return d=o||e.canSendMessage,h.abrupt("return",d?c?r.useValidationFuncProgrammatic(d,c,s):r.useValidationFunc(d,n,a,s):null);case 4:case"end":return h.stop()}},u)}));return function(u){return l.apply(this,arguments)}}()}}])}(),Va=function(){function r(){b(this,r)}return k(r,null,[{key:"getFileName",value:function(t,e){var n=new Date,a=String(n.getHours()).padStart(2,"0"),s=String(n.getMinutes()).padStart(2,"0"),o=String(n.getSeconds()).padStart(2,"0");return"".concat(t,"-").concat(a,"-").concat(s,"-").concat(o,".").concat(e)}}])}(),Cl=function(r){function i(t,e){var n;b(this,i);var a,s;return n=N(this,i,[e.button]),n._waitingForBrowserApproval=!1,n._audioType=t,n._extension=((a=e.files)==null?void 0:a.format)||"mp3",n._maxDurationSeconds=(s=e.files)==null?void 0:s.maxDurationSeconds,n.elementRef.onclick=n.buttonClick.bind(qe(n)),n}return B(i,r),k(i,[{key:"buttonClick",value:function(){this._waitingForBrowserApproval||(this.isActive?this.stop():(this._waitingForBrowserApproval=!0,this.record()))}},{key:"stop",value:function(){var e=this;return new Promise(function(n){var a,s;e.changeToDefault(),(a=e._mediaRecorder)==null||a.stop(),(s=e._mediaStream)==null||s.getTracks().forEach(function(o){return o.stop()}),setTimeout(function(){n()},10)})}},{key:"record",value:function(){var e=this;navigator.mediaDevices.getUserMedia({audio:!0}).then(function(n){e.changeToActive(),e._mediaRecorder=new MediaRecorder(n),e._audioType.addPlaceholderAttachment(e.stop.bind(e),e._maxDurationSeconds),e._mediaStream=n,e._mediaRecorder.addEventListener("dataavailable",function(a){e.createFile(a)}),e._mediaRecorder.start()}).catch(function(n){console.error(n),e.stop()}).finally(function(){e._waitingForBrowserApproval=!1})}},{key:"createFile",value:function(e){var n=this,a=new Blob([e.data],{type:"audio/".concat(this._extension)}),s=Va.getFileName(this._newFilePrefix||"audio",this._extension),o=new File([a],s,{type:a.type}),l=new FileReader;l.readAsDataURL(o),l.onload=function(u){n._audioType.completePlaceholderAttachment(o,u.target.result)}}}])}(Na),Tl=`<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg" stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round">
<line x1="22" y1="2" x2="11" y2="14"></line>
<polygon points="22 2 15 22 11 14 2 10 22 2"></polygon>
</svg>
`,Kr=function(){function r(){b(this,r)}return k(r,null,[{key:"resetSubmit",value:function(t,e){e?t.unsetCustomStateStyles(["loading","submit"]):t.unsetCustomStateStyles(["stop","loading","submit"]),t.reapplyStateStyle("submit")}},{key:"overwriteDefaultStyleWithSubmit",value:function(t,e){if(t.submit){var n=JSON.parse(JSON.stringify(t[e]||{}));ve.overwritePropertyObjectFromAnother(n,t.submit,["container","default"]),ve.overwritePropertyObjectFromAnother(n,t.submit,["text","styles","default"]),ve.overwritePropertyObjectFromAnother(n,t.submit,["svg","styles","default"]),t[e]=n}}},{key:"setUpDisabledButton",value:function(t){ve.setPropertyValueIfDoesNotExist(t,["submit","container","default","backgroundColor"],""),ve.setPropertyValueIfDoesNotExist(t,["disabled","container","default","backgroundColor"],"unset"),ve.setPropertyValueIfDoesNotExist(t.submit,["svg","styles","default","filter"],""),ve.setPropertyValueIfDoesNotExist(t.disabled,["svg","styles","default","filter"],"brightness(0) saturate(100%) invert(70%) sepia(0%) saturate(5564%) hue-rotate(207deg) brightness(100%) contrast(97%)"),ve.setPropertyValueIfDoesNotExist(t.disabled,["text","styles","default","color"],"grey"),r.overwriteDefaultStyleWithSubmit(t,"disabled")}},{key:"process",value:function(t){var e=JSON.parse(JSON.stringify(t||{}));return r.overwriteDefaultStyleWithSubmit(e,"loading"),r.overwriteDefaultStyleWithSubmit(e,"stop"),t!=null&&t.alwaysEnabled||r.setUpDisabledButton(e),e}}])}(),qt=function(r){function i(t,e,n,a,s,o){var l;b(this,i);var u=Kr.process(t.submitButtonStyles),c=Tl,d=be.tryCreateConfig("Submit",u==null?void 0:u.tooltip);return l=N(this,i,[i.createButtonContainerElement(),c,u==null?void 0:u.position,d,u]),l._isSVGLoadingIconOverriden=!1,l.status={requestInProgress:!1,loadingActive:!1},l._messages=n,l._textInput=e,l._fileAttachments=s,l._innerElements=l.createInnerElementsForStates(),l._abortStream=new AbortController,l._stopClicked={listener:function(){}},l._serviceIO=a,l._alwaysEnabled=!!(u!=null&&u.alwaysEnabled),t.disableSubmitButton=l.disableSubmitButton.bind(qe(l),a),l.attemptOverwriteLoadingStyle(t),o.microphone&&l.setUpSpeechToText(o.microphone.button,t.speechToText),setTimeout(function(){var p;l._validationHandler=t._validationHandler,l.assignHandlers(l._validationHandler),(p=l._validationHandler)==null||p.call(qe(l))}),l}return B(i,r),k(i,[{key:"createInnerElementsForStates",value:function(){var e=this.createCustomElements(),n=e.submit,a=e.loading,s=e.stop;return{submit:n,loading:a||[i.createLoadingIconElement()],stop:s||[i.createStopIconElement()],disabled:this.createDisabledIconElement(n)}}},{key:"createCustomElements",value:function(){var e=this,n=we.createCustomElements("submit",this.svg,this.customStyles),a={loading:void 0,stop:void 0};return Object.keys(a).forEach(function(s){var o=s,l=we.createCustomElements(o,e.svg,e.customStyles);l&&(a[o]=l)}),a.submit=n||this.buildDefaultIconElement("submit-icon"),a}},{key:"createDisabledIconElement",value:function(e){return we.createCustomElements("disabled",this.svg,this.customStyles)||[e[0].cloneNode(!0)]}},{key:"attemptOverwriteLoadingStyle",value:function(e){var n,a,s,o,l,u,c,d,p;if(!((a=(n=this.customStyles)==null?void 0:n.submit)!=null&&a.svg||(l=(o=(s=this.customStyles)==null?void 0:s.loading)==null?void 0:o.svg)!=null&&l.content||(d=(c=(u=this.customStyles)==null?void 0:u.loading)==null?void 0:c.text)!=null&&d.content)&&(e.displayLoadingBubble===void 0||e.displayLoadingBubble===!0)){var h=document.createElement("style");h.textContent=`
.loading-button > * {
filter: brightness(0) saturate(100%) invert(72%) sepia(0%) saturate(3044%) hue-rotate(322deg) brightness(100%)
contrast(96%) !important;
}`,(p=e.shadowRoot)==null||p.appendChild(h),this._isSVGLoadingIconOverriden=!0}}},{key:"assignHandlers",value:function(e){this._serviceIO.completionsHandlers={onFinish:this.resetSubmit.bind(this,e)},this._serviceIO.streamHandlers={onOpen:this.changeToStopIcon.bind(this),onClose:this.resetSubmit.bind(this,e),abortStream:this._abortStream,stopClicked:this._stopClicked};var n=this._serviceIO.stream;x(n)=="object"&&typeof n.simulation=="number"&&(this._serviceIO.streamHandlers.simulationInterim=n.simulation)}},{key:"setUpSpeechToText",value:function(e,n){this._microphoneButton=e,this._stopSTTAfterSubmit=x(n)=="object"?n.stopAfterSubmit:!1}},{key:"resetSubmit",value:function(e){this.status.requestInProgress=!1,this.status.loadingActive=!1,e()}},{key:"submitFromInput",value:function(){var t=_(f().mark(function n(){var a,s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.next=2,this._fileAttachments.completePlaceholders();case 2:a=this._fileAttachments.getAllFileData(),this._textInput.isTextInputEmpty()?this.attemptSubmit({text:"",files:a}):(s=this._textInput.inputElementRef.innerText.trim(),this.attemptSubmit({text:s,files:a}));case 4:case"end":return l.stop()}},n,this)}));function e(){return t.apply(this,arguments)}return e}()},{key:"programmaticSubmit",value:function(){var t=_(f().mark(function n(a){var s=this,o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:typeof a=="string"&&(a=oe.processSubmitUserMessage(a)),o={text:a.text},a.files&&(o.files=Array.from(a.files).map(function(c){return{file:c,type:Gn.getTypeFromBlob(c)}})),a.custom&&(o.custom=a.custom),setTimeout(function(){return s.attemptSubmit(o,!0)});case 3:case"end":return u.stop()}},n)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"attemptSubmit",value:function(){var t=_(f().mark(function n(a){var s,o,l,u,c,d,p,h=arguments;return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:return s=h.length>1&&h[1]!==void 0?h[1]:!1,m.next=3,(o=this._validationHandler)==null?void 0:o.call(this,s?a:void 0);case 3:if(m.t0=m.sent,m.t1=!1,m.t0!==m.t1){m.next=7;break}return m.abrupt("return");case 7:if(this.changeToLoadingIcon(),this._textInput.clear(),m.t2=typeof this._messages.focusMode!="boolean"&&(l=this._messages.focusMode)!=null&&l.fade,!m.t2){m.next=13;break}return m.next=13,va.fadeAnimation(this._messages.elementRef,this._messages.focusMode.fade);case 13:return m.next=15,this.addNewMessage(a);case 15:return this._serviceIO.isWebModel()||this._messages.addLoadingMessage(),d=(u=a.files)==null?void 0:u.map(function(g){return g.file}),p={text:a.text===""?void 0:a.text,files:d},m.next=19,this._serviceIO.callAPI(p,this._messages);case 19:(c=this._fileAttachments)==null||c.hideFiles();case 20:case"end":return m.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"addNewMessage",value:function(){var t=_(f().mark(function n(a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(s=a.text,o=a.files,l=a.custom,u={role:O.USER_ROLE,custom:l},s&&(u.text=s),d.t0=o,!d.t0){d.next=8;break}return d.next=7,this._messages.addMultipleFiles(o,this._fileAttachments);case 7:u.files=d.sent;case 8:this._serviceIO.sessionId&&(u._sessionId=this._serviceIO.sessionId),Object.keys(u).length>0&&this._messages.addNewMessage(u);case 10:case"end":return d.stop()}},n,this)}));function e(n){return t.apply(this,arguments)}return e}()},{key:"stopStream",value:function(){var e;this._abortStream.abort(),(e=this._stopClicked)==null||e.listener(),this._validationHandler&&this.resetSubmit(this._validationHandler)}},{key:"changeToStopIcon",value:function(){this._serviceIO.websocket||(this.elementRef.classList.remove(i.LOADING_CLASS,i.DISABLED_CLASS,i.SUBMIT_CLASS),Z.removeAriaAttributes(this.elementRef),this.changeElementsByState(this._innerElements.stop),this.reapplyStateStyle("stop",["loading","submit"]),this.elementRef.onclick=this.stopStream.bind(this),this.status.loadingActive=!1)}},{key:"changeToLoadingIcon",value:function(){this._serviceIO.websocket||(this._isSVGLoadingIconOverriden||this.changeElementsByState(this._innerElements.loading),this.elementRef.classList.remove(i.SUBMIT_CLASS,i.DISABLED_CLASS),Z.removeAriaDisabled(this.elementRef),this.elementRef.classList.add(i.LOADING_CLASS),Z.addAriaBusy(this.elementRef),this.reapplyStateStyle("loading",["submit"]),this.elementRef.onclick=function(){},this.status.requestInProgress=!0,this.status.loadingActive=!0)}},{key:"changeToSubmitIcon",value:function(){var e=this;this.elementRef.classList.contains(i.SUBMIT_CLASS)||(this.elementRef.classList.remove(i.LOADING_CLASS,i.DISABLED_CLASS),Z.removeAriaAttributes(this.elementRef),this.elementRef.classList.add(i.SUBMIT_CLASS),this.changeElementsByState(this._innerElements.submit),Kr.resetSubmit(this,this.status.loadingActive),this.elementRef.onclick=function(){var n;e.submitFromInput(),(n=e._microphoneButton)!=null&&n.isActive&&zn.toggleSpeechAfterSubmit(e._microphoneButton.elementRef,!!e._stopSTTAfterSubmit)})}},{key:"changeToDisabledIcon",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this._alwaysEnabled&&!e?this.changeToSubmitIcon():this.elementRef.classList.contains(i.DISABLED_CLASS)||(this.elementRef.classList.remove(i.LOADING_CLASS,i.SUBMIT_CLASS),Z.removeAriaBusy(this.elementRef),this.elementRef.classList.add(i.DISABLED_CLASS),Z.addAriaDisabled(this.elementRef),this.changeElementsByState(this._innerElements.disabled),this.reapplyStateStyle("disabled",["submit"]),this.elementRef.onclick=function(){})}},{key:"disableSubmitButton",value:function(e,n){var a;e.isSubmitProgrammaticallyDisabled=n!==!1,!(this.status.requestInProgress||this.status.loadingActive)&&(n===!1?(a=this._validationHandler)==null||a.call(this):this.changeToDisabledIcon(!0))}}],[{key:"createButtonContainerElement",value:function(){var e=document.createElement("div");return e.classList.add("input-button"),e}},{key:"createLoadingIconElement",value:function(){var e=document.createElement("div");return e.classList.add("loading-submit-button"),e}},{key:"createStopIconElement",value:function(){var e=document.createElement("div");return e.id="stop-icon",e}}])}(De);qt.SUBMIT_CLASS="submit-button",qt.LOADING_CLASS="loading-button",qt.DISABLED_CLASS="disabled-button";var Al=qt,Ml=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="M27.1 14.313V5.396L24.158 8.34c-2.33-2.325-5.033-3.503-8.11-3.503C9.902 4.837 4.901 9.847 4.899 16c.001 6.152 5.003 11.158 11.15 11.16 4.276 0 9.369-2.227 10.836-8.478l.028-.122h-3.23l-.022.068c-1.078 3.242-4.138 5.421-7.613 5.421a8 8 0 0 1-5.691-2.359A7.993 7.993 0 0 1 8 16.001c0-4.438 3.611-8.049 8.05-8.049 2.069 0 3.638.58 5.924 2.573l-3.792 3.789H27.1z"/>
</svg>
`,Il=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M0 16q0 3.264 1.28 6.208t3.392 5.12 5.12 3.424 6.208 1.248 6.208-1.248 5.12-3.424 3.392-5.12 1.28-6.208-1.28-6.208-3.392-5.12-5.088-3.392-6.24-1.28q-3.264 0-6.208 1.28t-5.12 3.392-3.392 5.12-1.28 6.208zM4 16q0-3.264 1.6-6.016t4.384-4.352 6.016-1.632 6.016 1.632 4.384 4.352 1.6 6.016-1.6 6.048-4.384 4.352-6.016 1.6-6.016-1.6-4.384-4.352-1.6-6.048z"></path>
</svg>
`,xl=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"/>
</svg>`,Rl=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.89163 13.2687L9.16582 17.5427L18.7085 8" stroke="#000000" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>`,Ll=function(r){function i(t,e,n,a){var s;b(this,i),s=N(this,i,[t,["modal-content","modal-camera-content"],n]),s._stopped=!1,s._format="image/png",s._canvas=document.createElement("canvas"),s._canvas.classList.add("camera-modal-canvas");var o=s.addButtonsAndTheirEvents(e),l=o.captureButton,u=o.submitButton;return s._captureButton=l,s._submitButton=u,s._captureIcon=s._captureButton.children[0],s._refreshIcon=ye.createSVGElement(Ml),s._refreshIcon.classList.add("modal-svg-button-icon","modal-svg-refresh-icon"),(a==null?void 0:a.format)==="jpeg"&&(s._format="image/jpeg"),a!=null&&a.dimensions&&(s._dimensions=a.dimensions),s._contentRef.appendChild(s._canvas),s.extensionCloseCallback=s.stop,s}return B(i,r),k(i,[{key:"addButtonsAndTheirEvents",value:function(e){var n=ft.createSVGButton(Il);n.classList.add("modal-svg-camera-button"),n.children[0].classList.add("modal-svg-camera-icon");var a=this.addCloseButton(xl,!0);a.classList.add("modal-svg-close-button"),a.children[0].classList.add("modal-svg-close-icon");var s=ft.createSVGButton(Rl);return s.classList.add("modal-svg-submit-button"),this.addButtons(n,s),this.addButtonEvents(n,a,s,e),{captureButton:n,submitButton:s}}},{key:"addButtonEvents",value:function(e,n,a,s){var o=this;e.onclick=function(){o.capture()},n.addEventListener("click",this.stop.bind(this)),a.onclick=function(){var l=o.getFile();l&&$n.addFilesToType([l],[s]),o.stop(),o.close()}}},{key:"stop",value:function(){var e=this;this._mediaStream&&this._mediaStream.getTracks().forEach(function(n){return n.stop()}),this._stopped=!0,setTimeout(function(){e._captureButton.replaceChildren(e._captureIcon),e._captureButton.classList.replace("modal-svg-refresh-button","modal-svg-camera-button");var n=e._canvas.getContext("2d");n==null||n.clearRect(0,0,e._canvas.width,e._canvas.height)},ft.MODAL_CLOSE_TIMEOUT_MS)}},{key:"start",value:function(){var e=this;this._dataURL=void 0,this._submitButton.classList.add("modal-svg-submit-disabled"),this._stopped=!1,navigator.mediaDevices.getUserMedia({video:this._dimensions||!0}).then(function(n){if(e._mediaStream=n,!e.isOpen())return e.stop();var a=document.createElement("video");a.srcObject=n,a.play(),requestAnimationFrame(e.updateCanvas.bind(e,a,e._canvas))}).catch(function(n){console.error(n),e.stop(),e.close()})}},{key:"capture",value:function(){this._dataURL?(this._captureButton.replaceChildren(this._captureIcon),this._captureButton.classList.replace("modal-svg-refresh-button","modal-svg-camera-button"),this._submitButton.classList.add("modal-svg-submit-disabled"),this._dataURL=void 0):(this._captureButton.replaceChildren(this._refreshIcon),this._captureButton.classList.replace("modal-svg-camera-button","modal-svg-refresh-button"),this._submitButton.classList.remove("modal-svg-submit-disabled"),this._dataURL=this._canvas.toDataURL())}},{key:"getFile",value:function(){if(this._dataURL){for(var e=atob(this._dataURL.split(",")[1]),n=new Array(e.length),a=0;a<e.length;a++)n[a]=e.charCodeAt(a);var s=new Uint8Array(n),o=new Blob([s],{type:this._format}),l=this._format==="image/jpeg"?"jpeg":"png",u=Va.getFileName(this._newFilePrefix||"photo",l);return new File([o],u,{type:o.type})}}},{key:"updateCanvas",value:function(e,n){if(!this._stopped){if(!this._dataURL){n.width=e.videoWidth,n.height=e.videoHeight;var a=n.getContext("2d");a==null||a.drawImage(e,0,0,n.width,n.height)}requestAnimationFrame(this.updateCanvas.bind(this,e,n))}}},{key:"openCameraModal",value:function(e){this.displayModalElements(),e.start()}}],[{key:"createCameraModalFunc",value:function(e,n,a,s){var o=new i(e,n,a,s);return o.openCameraModal.bind(o,o)}}])}(ft),Ol=`<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M29 7h-4.599l-2.401-4h-12l-2.4 4h-4.6c-1 0-3 1-3 2.969v16.031c0 1.657 1.5 3 2.792 3h26.271c1.313 0 2.938-1.406 2.938-2.968v-16.032c0-1-1-3-3-3zM30 26.032c0 0.395-0.639 0.947-0.937 0.969h-26.265c-0.232-0.019-0.797-0.47-0.797-1v-16.031c0-0.634 0.851-0.953 1-0.969h5.732l2.4-4h9.802l1.785 3.030 0.55 0.97h5.731c0.705 0 0.99 0.921 1 1v16.032zM16 10c-3.866 0-7 3.134-7 7s3.134 7 7 7 7-3.134 7-7-3.134-7-7-7zM16 22c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z"></path>
</svg>`,Pl=function(r){function i(t,e,n){var a;b(this,i);var s,o,l,u,c,d,p=(s=n==null?void 0:n.button)==null?void 0:s.position,h=((u=(l=(o=n==null?void 0:n.button)==null?void 0:o.styles)==null?void 0:l.text)==null?void 0:u.content)||"Photo",v=be.tryCreateConfig("Camera",(c=n==null?void 0:n.button)==null?void 0:c.tooltip),m=((d=n==null?void 0:n.button)==null?void 0:d.styles)||{};a=N(this,i,[i.createButtonElement(),Ol,p,v,m,h]);var g=a.createInnerElementsForStates(a.customStyles);return n&&a.addClickEvent(t,e,n.modalContainerStyle,n.files),a.changeElementsByState(g.styles),a.reapplyStateStyle("styles"),a}return B(i,r),k(i,[{key:"createInnerElementsForStates",value:function(e){return{styles:this.createInnerElements("camera-icon","styles",e)}}},{key:"addClickEvent",value:function(e,n,a,s){var o=Ll.createCameraModalFunc(e,n,a,s);this.elementRef.onclick=o}}],[{key:"createButtonElement",value:function(){var e=document.createElement("div");return e.classList.add("input-button"),e}}])}(De),Nl=function(){function r(i,t,e,n){b(this,r),this.elementRef=r.createPanelElement(i.inputAreaStyle);var a={},s=this.createFileUploadComponents(i,e,n,a),o=new ea(i,e,s);i.speechToText&&!a.microphone&&(a.microphone={button:new zn(i,o,t.addNewErrorMessage.bind(t))});var l=new Al(i,o,t,e,s,a);o.submit=l.submitFromInput.bind(l),wl.attach(i,e,o,s,l),i.submitUserMessage=l.programmaticSubmit.bind(l),a.submit={button:l},i.customButtons&&vt.add(i,a),r.addElements(this.elementRef,o,a,n,s,i.dropupStyles),r.assignOnInput(i,e,s,o)}return k(r,[{key:"createFileUploadComponents",value:function(t,e,n,a){var s,o,l,u,c=new $n(this.elementRef,t.attachmentContainerStyle,e.demo);if(r.createUploadButtons(t,e,e.fileTypes||{},c,n,a),(s=e.camera)!=null&&s.files){var d=((o=a.images)==null?void 0:o.fileType)||c.addType(t,e,e.camera.files,"images");a.camera={button:new Pl(n,d,e.camera)}}if((l=e.recordAudio)!=null&&l.files){var p=((u=a.audio)==null?void 0:u.fileType)||c.addType(t,e,e.recordAudio.files,"audio");a.microphone={button:new Cl(p,e.recordAudio)}}return $r.isEnabled(c,t.dragAndDrop)&&$r.create(n,c,t.dragAndDrop),c}}],[{key:"createPanelElement",value:function(t){var e=document.createElement("div");return e.id="input",Object.assign(e.style,t),e}},{key:"createUploadButtons",value:function(t,e,n,a,s,o){Object.keys(n).forEach(function(l){var u=l,c=n[u];if(c.files){var d=a.addType(t,e,c.files,u),p=rl[u],h=p.id,v=p.svgString,m=p.dropupText,g=new El(s,d,c,h,v,m);o[u]={button:g,fileType:d}}})}},{key:"addElements",value:function(t,e,n,a,s,o){ie.addElements(t,e.elementRef);var l=Gt.create(),u=Zo.addButtons(l,n,a,o);Wo.set(e.inputElementRef,l,s.elementRef,u),Gt.add(t,l)}},{key:"assignOnInput",value:function(t,e,n,a){e.onInput=function(s){setTimeout(function(){var o=n.getAllFileData(),l={text:a.inputElementRef.innerText.trim()};o&&(l.files=o.map(function(u){return u.file})),St.onInput(t,l,s)})}}}])}(),Bl=function(){function r(){b(this,r)}return k(r,null,[{key:"createElements",value:function(t,e,n){var a=document.createElement("div");a.id="chat-view";var s=new Mn(t,e,n);e.websocket&&_t.createConnection(e,s);var o=new Nl(t,s,e,a);return ie.addElements(a,s.elementRef,o.elementRef),a}},{key:"render",value:function(t,e,n,a){var s=r.createElements(t,n,a);e.replaceChildren(s),n.isCustomView()&&n.setUpView(s,e)}}])}(),Dl=`#validate-property-key-view{height:100%;position:relative;display:flex;justify-content:center;align-items:center;padding:8px}#loading-validate-key-property{display:inline-block;width:50px;height:50px}#loading-validate-key-property:after{content:" ";display:block;width:38px;height:38px;margin:1px;border-radius:50%;border:5px solid #5fb2ff;border-color:#5fb2ff transparent #5fb2ff transparent;animation:loading-spinner 1.4s linear infinite}#deep-chat-openai-realtime-container{height:100%;width:100%}#deep-chat-openai-realtime-avatar-container{height:60%;width:100%;display:flex;justify-content:center;align-items:center}#deep-chat-openai-realtime-avatar{border-radius:50%;height:110px;border:1px solid rgb(215,215,215);padding:8px;-webkit-user-select:none;user-select:none;margin-top:20px}#deep-chat-openai-realtime-buttons-container{height:40%;display:flex;position:relative}.deep-chat-openai-realtime-button-container{height:100%;width:50%;display:flex;justify-content:center;align-items:center}.deep-chat-openai-realtime-button{width:70px;height:70px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer}.deep-chat-openai-realtime-button-default{background-color:#e3e3e3}.deep-chat-openai-realtime-button-default:hover{background-color:#d4d4d4}.deep-chat-openai-realtime-button-default:active{background-color:#c5c5c5}.deep-chat-openai-realtime-button-loading{opacity:.7;pointer-events:none}.deep-chat-openai-realtime-microphone-active{background-color:#ffe7e7}.deep-chat-openai-realtime-microphone-active:hover{background-color:#ffdede}.deep-chat-openai-realtime-microphone-active:active{background-color:#ffd2d2}.deep-chat-openai-realtime-microphone>*{height:30px;width:30px}.deep-chat-openai-realtime-microphone-active>*{filter:brightness(0) saturate(100%) invert(35%) sepia(60%) saturate(1360%) hue-rotate(325deg) brightness(95%) contrast(92%)}.deep-chat-openai-realtime-toggle>*{height:32px;width:32px;padding-left:3px;filter:brightness(0) saturate(100%) invert(22%) sepia(0%) saturate(4537%) hue-rotate(208deg) brightness(105%) contrast(91%)}.deep-chat-openai-realtime-button-unavailable{opacity:.45;pointer-events:none}#deep-chat-openai-realtime-error{color:red;position:absolute;top:calc(50% + 40px);left:50%;transform:translate(-50%,-50%);font-size:17px}#deep-chat-openai-realtime-loading{position:absolute;font-size:15px;top:50%;left:50%;transform:translate(-50%,-50%)}#insert-key-view{height:100%;position:relative}#insert-key-contents{text-align:center;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:82%;display:flex;max-width:700px}#insert-key-title{margin-bottom:15px}#insert-key-input-container{margin-right:2.7em;width:calc(100% - 80px)}#insert-key-input{padding:.3em 1.7em .3em .3em;border-width:1px;border-style:solid;border-radius:3px;width:100%;font-size:inherit}.insert-key-input-valid{border-color:gray}.insert-key-input-invalid{border-color:red}#visibility-icon-container{position:relative;float:right;cursor:pointer;-webkit-user-select:none;user-select:none}.visibility-icon{filter:brightness(0) saturate(100%) invert(63%) sepia(1%) saturate(9%) hue-rotate(43deg) brightness(98%) contrast(92%);position:absolute;right:-1.7em;top:-1.43em}#visible-icon{top:-1.4em}.visibility-icon:hover{filter:unset}.visibility-icon>*{pointer-events:none}#start-button{border:1px solid grey;color:#454545;border-radius:4px;width:3em;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:.28em .3em;-webkit-user-select:none;user-select:none;background-color:#fff}#start-button:hover{background-color:#f2f2f2}#start-button:active{background-color:#d2d2d2}#insert-key-help-text-container{width:100%;position:absolute;margin-top:32px;margin-bottom:20px}#insert-key-help-text-contents{width:100%;position:absolute}#insert-key-input-invalid-text{display:block;margin-top:1em;margin-bottom:.5em;color:red}.insert-key-input-help-text{display:block;margin-top:16px}#loading-key{display:inline-block;width:16px;height:16px}#loading-key:after{content:" ";display:block;width:11px;height:11px;margin:1px;border-radius:50%;border:2px solid #0084ff;border-color:#0084ff transparent #0084ff transparent;animation:loading-spinner 1.2s linear infinite}#error-view{color:red;font-size:1.2em;line-height:1.3em;margin-top:-5px;text-align:center;height:100%;display:flex;justify-content:center;align-items:center;padding-left:8px;padding-right:8px}@keyframes loading-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.intro-panel{position:absolute;display:flex;justify-content:center;right:0;bottom:0;left:0;margin:auto;height:fit-content;top:-2.5em}#internal-intro-panel{width:250px;height:min-content;display:block;border-radius:5px;overflow:auto;border:1px solid rgb(203,203,203);padding:10px;max-height:calc(100% - 6.8em)}#internal-intro-panel>p{margin-block-start:.8em;margin-block-end:.8em}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
Theme: a11y-dark
Author: @ericwbailey
Maintainer: @ericwbailey
Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css
*/.hljs{background:#2b2b2b;color:#f8f8f2}.hljs-comment,.hljs-quote{color:#d4d0ab}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ffa07a}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#f5ab35}.hljs-attribute{color:gold}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#abe338}.hljs-section,.hljs-title{color:#00e0e0}.hljs-keyword,.hljs-selector-tag{color:#dcc6e0}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}}#messages{overflow:auto}.outer-message-container:last-child{margin-bottom:5px}.inner-message-container{display:flex;margin-left:auto;margin-right:auto;width:calc(97.5% - 24px);max-width:100%}.message-bubble{margin-top:10px;word-wrap:break-word;width:fit-content;max-width:60%;border-radius:10px;padding:.42em .55em;height:fit-content;line-height:1.26em}.user-message-text{color:#fff;background-color:#0084ff;margin-right:0;margin-left:auto}.ai-message-text{color:#000;background-color:#e4e6eb;margin-left:0;margin-right:auto}.deep-chat-last-group-messages-active{height:100%}.loading-history-message-full-view{position:absolute;height:70%;width:100%;display:flex;align-items:center}.loading-history-message-small{height:20px;margin-bottom:30px}.loading-history-message-small>div>div{scale:.6}.loading-history-message{margin-top:0;width:100%;max-width:100%;display:flex;justify-content:center;background-color:unset}.loading-history{width:70px}.loading-history div{position:absolute;width:var(--loading-history-width);height:var(--loading-history-height);margin:var(--loading-history-margin);border:var(--loading-history-border);border-radius:50%;animation:loading-spinner 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--loading-history-color) transparent transparent transparent}.loading-history div:nth-child(1){animation-delay:-.45s}.loading-history div:nth-child(2){animation-delay:-.3s}.loading-history div:nth-child(3){animation-delay:-.15s}.html-message{max-width:unset}.error-message-text{margin:14px auto 10px;background-color:#f4c0c0;color:#474747;text-align:center;max-width:95%}.deep-chat-loading-message-dots-container{width:1em;padding:.6em .75em .6em 1.3em}.loading-message-dots{position:relative;width:.45em;height:.45em;border-radius:5px;background-color:var(--loading-message-color);color:var(--loading-message-color);animation:loading-message-dots 1s infinite linear alternate;animation-delay:.5s}.loading-message-dots:before,.loading-message-dots:after{content:"";display:inline-block;position:absolute;top:0}.loading-message-dots:before{left:-.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--loading-message-color);color:var(--loading-message-color);animation:loading-message-dots 1s infinite alternate;animation-delay:0s}.loading-message-dots:after{left:.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--loading-message-color);color:var(--loading-message-color);animation:loading-message-dots 1s infinite alternate;animation-delay:1s}@keyframes loading-message-dots{0%{background-color:var(--loading-message-color)}50%,to{background-color:var(--loading-message-color-fade)}}.message-bubble>p:first-child,.message-bubble>.partial-render-message>p:first-child,.stream-wrapper>p:first-child{margin-top:0}.message-bubble>p:last-child,.message-bubble>.partial-render-message:last-child>p,.stream-wrapper>p:last-child{margin-bottom:0}pre{overflow:auto;display:block;word-break:break-all;word-wrap:break-word;border-radius:7px;background:#2b2b2b;color:#f8f8f2;margin-top:.8em;margin-bottom:.8em;padding:.6em;font-size:.9em;line-height:1.5em}.image-message{padding:0;display:flex;background-color:#ddd}.image-message>*,.image-message>*>*{width:100%;border-radius:8px;display:flex}.audio-message{width:60%;max-width:300px;height:2.2em;max-height:54px;padding:0;background-color:unset}.audio-player{width:100%;height:100%}.audio-player-safari{height:fit-content;width:40px}.audio-player-safari-left{float:left}.audio-player-safari-right{float:right}.any-file-message{padding:1px}.any-file-message-contents{display:flex}.any-file-message-icon-container{width:1.3em;min-width:1.3em;position:relative;border-radius:4px;margin-left:6px;margin-right:2px}.any-file-message-icon{background-color:#fff;border-radius:4px;position:absolute;width:1em;height:1.25em;padding:1px;margin-top:auto;margin-bottom:auto;top:0;bottom:0}.any-file-message-text{padding-top:5px;overflow-wrap:anywhere;padding-bottom:5px;padding-right:7px}.message-bubble>a{color:inherit}.left-item-position{margin-right:10px}.right-item-position{margin-left:10px}.role-hidden{display:none}.avatar{padding-top:5px;width:1.5em;height:1.5em;border-radius:1px}.avatar-container{margin-top:9px}.name{margin-top:16px;font-size:15px}#drag-and-drop{position:absolute;display:none;z-index:10;height:calc(100% - 10px);width:calc(100% - 10px);background-color:#70c6ff4d;border:5px dashed #6dafff}#file-attachment-container{position:absolute;height:3.6em;width:calc(80% - 4px);top:-2.5em;border-radius:5px;overflow:auto;text-align:left;background-color:#d7d7d73b;padding-left:4px}.file-attachment{width:2.85em;height:2.85em;display:inline-flex;margin-right:.6em;margin-bottom:.44em;margin-top:4px;position:relative;background-color:#fff;border-radius:5px}.image-attachment{width:100%;height:100%;object-fit:cover;border-radius:5px}.border-bound-attachment{width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid #c3c3c3;border-radius:5px;overflow:hidden}.border-bound-attachment-safari{width:calc(100% - 1px);height:calc(100% - 1px)}.audio-attachment-icon-container{cursor:pointer}.audio-attachment-icon-container:hover{background-color:#f8f8f8}.attachment-icon{left:0;right:0;bottom:0;top:2px;margin:auto;position:absolute;width:25px;-webkit-user-select:none;user-select:none}.not-removable-attachment-icon{top:0;right:0;bottom:0;left:0}.play-icon{filter:brightness(0) saturate(100%) invert(17%) sepia(0%) saturate(1392%) hue-rotate(67deg) brightness(98%) contrast(97%)}.stop-icon{filter:brightness(0) saturate(100%) invert(29%) sepia(90%) saturate(1228%) hue-rotate(198deg) brightness(93%) contrast(98%)}.audio-placeholder-text-3-digits{padding-left:.26rem}.audio-placeholder-text-4-digits{padding-left:.1rem}.any-file-attachment{padding:2px 0}.file-attachment-text-container{position:absolute;width:inherit;display:flex;align-items:center;height:100%;top:-1px}.audio-placeholder-text-3-digits-container{padding-top:1px;cursor:default}.any-file-attachment-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-left:.13em;margin-left:auto;margin-right:auto}.remove-file-attachment-button{height:1.25em;width:1.25em;border:1px solid #cfcfcf;border-radius:25px;background-color:#fff;top:-4px;right:-5px;position:absolute;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.remove-file-attachment-button:hover{background-color:#e4e4e4}.remove-file-attachment-button:active{background-color:#d7d7d7}.x-icon{color:#4e4e4e;top:-.075em;position:relative;font-size:1.05em}.modal{display:none;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:80%;max-width:420px;max-height:80%;margin:auto;top:0;right:0;bottom:0;left:0;z-index:3}.modal-content{border-top:1px solid rgb(217,217,217);border-left:1px solid rgb(217,217,217);border-right:1px solid rgb(217,217,217);border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:#fff;overflow-y:auto;height:fit-content;max-height:calc(100% - 3.3em);width:100%}.modal-content>p{margin-left:1em;margin-right:1em}.modal-content>ul{margin-right:1em}.modal-button-panel{height:3.3em;border:1px solid;border-color:rgb(223,223,223) rgb(217,217,217) rgb(217,217,217);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;background-color:#fff;text-align:center;justify-content:center;display:flex;width:100%}.modal-button{min-width:2.5em;text-align:center;color:#fff;border-radius:5px;padding:.4em .4em .3em;height:1.25em;background-color:#3279b2;top:0;bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none;margin:auto .31em}.modal-button:hover{background-color:#276da7}.modal-button:active{background-color:#1b5687}.modal-svg-button{padding:0 0 2px;width:2em;height:1.8em}.modal-svg-button-icon{width:100%;height:100%;filter:brightness(0) saturate(100%) invert(100%) sepia(15%) saturate(4%) hue-rotate(346deg) brightness(101%) contrast(102%)}#modal-background-panel{position:absolute;width:100%;height:100%;background-color:#00000042;z-index:2;display:none}.show-modal-background{animation:fadeInBackground .3s ease-in-out}@keyframes fadeInBackground{0%{opacity:0}to{opacity:1}}.show-modal{animation:fadeInModal .3s ease-in-out}@keyframes fadeInModal{0%{opacity:0;scale:.95}to{opacity:1;scale:1}}.hide-modal-background{animation:fadeOutBackground .2s ease-in-out}@keyframes fadeOutBackground{0%{opacity:1}to{opacity:0}}.hide-modal{animation:fadeOutModal .2s ease-in-out}@keyframes fadeOutModal{0%{opacity:1;scale:1}to{opacity:0;scale:.95}}.modal-camera-content{overflow:hidden;text-align:center;border:unset;height:100%;background-color:#2a2a2a;display:flex;justify-content:center}.camera-modal-canvas{max-width:100%;max-height:100%;margin-top:auto;margin-bottom:auto}.modal-svg-submit-button{background-color:green}.modal-svg-submit-button:hover{background-color:#007500}.modal-svg-submit-button:active{background-color:#006500}.modal-svg-submit-disabled{pointer-events:none;background-color:#747474}.modal-svg-close-button{height:1.56em;padding-top:.37em;padding-bottom:0;background-color:#c13e3e}.modal-svg-close-button:hover{background-color:#b43434}.modal-svg-close-button:active{background-color:#972929}.modal-svg-close-icon{width:80%;height:80%}.modal-svg-camera-button{height:1.6em;padding-top:.38em;padding-bottom:0}.modal-svg-camera-icon{height:76%}.modal-svg-refresh-icon{height:105%}.modal-svg-refresh-button{height:1.66em;padding-top:.11em;padding-bottom:.21em}.input-button-container{position:relative;z-index:1}.inside-right{position:absolute;right:calc(10% + .35em);bottom:.85em}.inside-left{position:absolute;left:calc(10% + .35em);bottom:.85em}.outside-left{position:absolute;right:calc(11px - .55em);bottom:.88em}.outside-right{position:absolute;left:calc(11px - .55em);bottom:.88em}#upload-images-icon{position:absolute;pointer-events:none;width:1.45em;height:1.45em;left:.11em;bottom:.08em;filter:brightness(0) saturate(100%) invert(43%) sepia(0%) saturate(740%) hue-rotate(77deg) brightness(99%) contrast(92%)}#upload-gifs-icon{position:absolute;pointer-events:none;width:1.5em;height:1.48em;left:.07em;bottom:.08em;filter:brightness(0) saturate(100%) invert(49%) sepia(0%) saturate(2586%) hue-rotate(12deg) brightness(93%) contrast(90%)}#upload-audio-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.17em;bottom:.2em;filter:brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(337%) hue-rotate(125deg) brightness(91%) contrast(94%);transform:scaleX(.95)}#camera-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.23em;bottom:.2em;filter:brightness(0) saturate(100%) invert(52%) sepia(0%) saturate(161%) hue-rotate(164deg) brightness(91%) contrast(92%);transform:scaleX(.95)}#upload-mixed-files-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.2em;filter:brightness(0) saturate(100%) invert(53%) sepia(0%) saturate(36%) hue-rotate(74deg) brightness(98%) contrast(93%);transform:scaleX(.95)}#interim-text{color:gray}#microphone-button{padding-top:.5px}.outer-button-container>#microphone-button{padding-bottom:1px}#microphone-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.25em}.default-microphone-icon{filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%)}.active-microphone-icon{filter:brightness(0) saturate(100%) invert(10%) sepia(97%) saturate(7495%) hue-rotate(0deg) brightness(101%) contrast(107%);border-radius:10px}.command-microphone-icon{filter:brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(1067%) hue-rotate(77deg) brightness(99%) contrast(102%)}.unsupported-microphone{display:none}#submit-icon{height:100%;filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%);width:1.21em}#stop-icon{background-color:#acacac;position:absolute;width:.95em;height:.95em;left:.35em;bottom:.35em;border-radius:2px}.submit-button-enlarged{scale:1.1;margin-right:.3em;margin-left:.3em}.loading-submit-button{position:relative;left:calc(-9990px + .275em);width:.22em;height:.22em;border-radius:5px;background-color:#848484;color:#848484;box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484;animation:loading-submit-button 1.5s infinite linear;bottom:-.75em}@keyframes loading-submit-button{0%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}16.667%{box-shadow:9990px -6px #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}33.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}50%{box-shadow:9990px 0 #848484,calc(9990px + .44em) -6px 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}66.667%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}83.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) -6px 0 0 #848484}to{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}}.tooltip{position:absolute;visibility:hidden;z-index:1;pointer-events:none;padding:5px 7px;background-color:#333;border-radius:5px;width:max-content}.tooltip-text{color:#fff;font-size:13px}.input-button{border-radius:4px;cursor:pointer;margin-bottom:.2em;-webkit-user-select:none;user-select:none}.input-button-svg{width:1.65em;height:1.65em}.input-button-svg-text{padding:1px;height:1.65em;display:flex}.input-button-svg-text>svg{padding:.22rem}.input-button-svg-text>div{margin-left:2px}.input-button:hover,.input-button:focus-visible{background-color:#9c9c9c2e}.input-button:active{background-color:#9c9c9c5e}.input-button:active:not(:hover){background-color:transparent}.loading-button{cursor:auto}.loading-button:hover{background-color:unset}.text-button{filter:unset!important;display:flex;justify-content:center;align-items:center;margin-left:4px;margin-right:4px;height:1.6em;width:max-content}#custom-icon{height:100%;width:1.2em}.custom-button-container-default{color:#505050}.custom-button-container-default>.dropup-menu-item-icon{color:unset}.custom-button-container-default>svg{filter:brightness(0) saturate(100%) invert(39%) sepia(1%) saturate(0%) hue-rotate(83deg) brightness(93%) contrast(90%)}.custom-button-container-default>.dropup-menu-item-icon>svg{position:absolute;left:.2em}.custom-button-container-active{background-color:#edf7ff;color:#0285ff}.custom-button-container-active:hover,.custom-button-container-active:focus-visible{background-color:#def0ff}.custom-button-container-active:active{background-color:#d2eaff}.custom-button-container-active>svg{filter:brightness(0) saturate(100%) invert(32%) sepia(34%) saturate(4196%) hue-rotate(196deg) brightness(107%) contrast(104%)}.custom-button-container-disabled{color:#aeaeae;cursor:auto}.custom-button-container-disabled>div{pointer-events:none}.custom-button-container-disabled:hover,.custom-button-container-disabled:focus-visible{background-color:transparent}.custom-button-container-disabled:active{background-color:transparent}.custom-button-container-disabled>svg{filter:brightness(0) saturate(100%) invert(67%) sepia(0%) saturate(818%) hue-rotate(28deg) brightness(102%) contrast(100%)}#text-input-container{background-color:#fff;width:80%;display:flex;border:1px solid #0000001a;border-radius:5px;margin-top:.8em;margin-bottom:.8em;box-shadow:#959da533 0 1px 12px;overflow-y:auto;max-height:200px;position:relative}.text-input-container-left-adjustment{margin-left:1.5em}.text-input-container-right-adjustment{margin-right:1.5em}.text-input-container-left-small-adjustment{margin-left:1.1em}.text-input-container-left-small-adjustment>.outside-left{right:calc(14px - .55em)}.text-input-container-right-small-adjustment{margin-right:1.1em}.text-input-container-right-small-adjustment>.outside-right{left:calc(14px - .55em)}#text-input{text-align:left;outline:none;word-wrap:break-word;line-break:auto}.text-input-styling{padding:.4em .5em;overflow:overlay;width:100%}.text-input-inner-left-adjustment{padding-left:2.2em}.text-input-inner-right-adjustment{padding-right:2em}.text-input-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}[contenteditable]:empty:before{content:attr(deep-chat-placeholder-text);pointer-events:none}[contenteditable][textcolor]:empty:before{color:gray}.outside-right>#dropup-menu,.inside-right>#dropup-menu{right:0}#dropup-icon{position:absolute;pointer-events:none;width:1.16em;height:1.2em;left:.265em;bottom:.43em;filter:brightness(0) saturate(100%) invert(54%) sepia(0%) saturate(724%) hue-rotate(6deg) brightness(92%) contrast(90%)}.dropup-button>*{pointer-events:none}#dropup-menu{background-color:#fff;position:absolute;transform:translateY(-100%);border-radius:5px;z-index:1;top:-.49em;box-shadow:#0003 -1px 2px 10px,#0000001a 0 2px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.dropup-menu-item{height:1.4em;padding:.28em .84em .28em .35em;display:flex;position:relative}.dropup-menu-item:hover,.dropup-menu-item:focus-visible{background-color:#f3f3f3}.dropup-menu-item:active{background-color:#ebebeb}.dropup-menu-item:active:not(:hover){background-color:transparent}.dropup-menu-item:first-child{padding-top:.49em;border-top-left-radius:inherit;border-top-right-radius:inherit}.dropup-menu-item:last-child{padding-bottom:.45em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.dropup-menu-item-icon{width:1.39em;position:relative}.dropup-menu-item-icon>svg{bottom:0!important;top:0!important;margin-bottom:auto;margin-top:auto}#dropup-menu-item-icon-element-custom{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.28em;filter:brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(337%) hue-rotate(125deg) brightness(91%) contrast(94%)}.dropup-menu-item-text{margin-left:.56em;margin-top:.08em;width:max-content}#input{width:100%;display:inline-flex;text-align:center;margin-left:auto;margin-right:auto;margin-top:auto;position:relative;justify-content:center}#chat-view{height:100%;display:grid;grid-template-columns:100%}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background-color:#d0d0d0;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.deep-chat-web-model-button{margin-top:10px;margin-bottom:5px;margin-left:1px}:host{all:initial;display:table-cell}#container{height:inherit;width:inherit;overflow:hidden}`,Fl=Object.defineProperty,q=function(i,t,e,n){for(var a=void 0,s=i.length-1,o;s>=0;s--)(o=i[s])&&(a=o(t,e,a)||a);return a&&Fl(t,e,a),a},j=function(r){function i(){var t;b(this,i);var e;return t=N(this,i),t.getMessages=function(){return[]},t.submitUserMessage=function(){return console.warn("submitUserMessage failed - please wait for chat view to render before calling this property.")},t.addMessage=function(){return console.warn("addMessage failed - please wait for chat view to render before calling this property.")},t.updateMessage=function(){},t.clearMessages=function(){},t.focusInput=function(){return Ln.focusFromParentElement(t._elementRef)},t.refreshMessages=function(){},t.scrollToBottom=function(){},t.disableSubmitButton=function(){},t.setPlaceholderText=function(){},t._hasBeenRendered=!1,t._auxiliaryStyleApplied=!1,t._elementRef=document.createElement("div"),t._elementRef.id="container",t.attachShadow({mode:"open"}).appendChild(t._elementRef),(e=t.shadowRoot)==null||e.appendChild(be.buildElement()),en.apply(Dl,t.shadowRoot),setTimeout(function(){t._hasBeenRendered||t.onRender()},20),t}return B(i,r),k(i,[{key:"changeToChatView",value:function(){this._activeService&&(this._activeService.validateKeyProperty=!1),this.onRender()}},{key:"onRender",value:function(){var e;Jr.attemptAppendStyleSheetToHead(this.style),oe.processConnect(this),(!this._activeService||this._activeService.demo)&&(this._activeService=qo.create(this)),this.auxiliaryStyle&&!this._auxiliaryStyleApplied&&(en.apply(this.auxiliaryStyle,this.shadowRoot),this._auxiliaryStyleApplied=!0),en.applyDefaultStyleToComponent(this.style,this.chatStyle),oe.checkForContainerStyles(this,this._elementRef),this._activeService.key&&this._activeService.validateKeyProperty?ni.render(this._elementRef,this.changeToChatView.bind(this),this._activeService):!(this._activeService instanceof te)||this._activeService.key?((e=this._childElement)!==null&&e!==void 0||(this._childElement=this.children[0]),Bl.render(this,this._elementRef,this._activeService,this._childElement)):this._activeService instanceof te&&uo.render(this._elementRef,this.changeToChatView.bind(this),this._activeService),this._hasBeenRendered||St.onRender(this),this._hasBeenRendered=!0}},{key:"disconnectedCallback",value:function(){jn.chat=void 0}}])}(io);q([H("object")],j.prototype,"connect");q([H("object")],j.prototype,"directConnection");q([H("object")],j.prototype,"webModel");q([H("object")],j.prototype,"requestBodyLimits");q([H("function")],j.prototype,"requestInterceptor");q([H("function")],j.prototype,"responseInterceptor");q([H("function")],j.prototype,"validateInput");q([H("function")],j.prototype,"loadHistory");q([H("object")],j.prototype,"chatStyle");q([H("object")],j.prototype,"attachmentContainerStyle");q([H("object")],j.prototype,"dropupStyles");q([H("object")],j.prototype,"inputAreaStyle");q([H("object")],j.prototype,"textInput");q([H("object")],j.prototype,"submitButtonStyles");q([H("object")],j.prototype,"customButtons");q([H("string")],j.prototype,"auxiliaryStyle");q([H("array")],j.prototype,"history");q([H("object")],j.prototype,"browserStorage");q([H("object")],j.prototype,"introMessage");q([H("object")],j.prototype,"avatars");q([H("object")],j.prototype,"names");q([H("object")],j.prototype,"displayLoadingBubble");q([H("object")],j.prototype,"errorMessages");q([H("object")],j.prototype,"messageStyles");q([H("object")],j.prototype,"textToSpeech");q([H("object")],j.prototype,"speechToText");q([H("object")],j.prototype,"images");q([H("object")],j.prototype,"gifs");q([H("object")],j.prototype,"camera");q([H("object")],j.prototype,"audio");q([H("object")],j.prototype,"microphone");q([H("object")],j.prototype,"mixedFiles");q([H("object")],j.prototype,"dragAndDrop");q([H("object")],j.prototype,"introPanelStyle");q([H("object")],j.prototype,"htmlClassUtilities");q([H("object")],j.prototype,"remarkable");q([H("object")],j.prototype,"focusMode");q([H("function")],j.prototype,"onMessage");q([H("function")],j.prototype,"onClearMessages");q([H("function")],j.prototype,"onComponentRender");q([H("function")],j.prototype,"onInput");q([H("function")],j.prototype,"onError");q([H("object")],j.prototype,"demo");q([H("object")],j.prototype,"_insertKeyViewStyles");customElements.define("deep-chat",j);