UNPKG

node-red-contrib-chatbot

Version:

REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required

26 lines 103 kB
(self.webpackChunknode_red_contrib_chatbot=self.webpackChunknode_red_contrib_chatbot||[]).push([[242],{2242:(e,t,n)=>{"use strict";n.r(t);var l=n(67294),r=n(18985),a=n(15450),i=n(89061),o=n(77188),s=n(18499),c=n(95990),u=n(14469),p=n(96486),m=n.n(p),d=n(78932);const g=c.default` query { contents(namespace: "plugins") { id, title, body, payload, fields { name, value } } } `,h=()=>{const e=(0,s.xJ)(),{data:t}=(0,d.Z)({namespace:"market-place"}),[n,r]=(0,l.useState)(null),{put:a}=(0,u.default)("https://api.jsonbin.io",{headers:{"Content-Type":"application/json","secret-key":null!=t?t.jsonbin_key:null,versioning:"false"}}),c=null!=t&&!m().isEmpty(t.jsonbin_key);return l.createElement(i.Z,{disabled:null!=n||!c,appearance:"primary",onClick:async()=>{r("Loading...");const n=(await e.query({query:g,fetchPolicy:"network-only"})).data.contents.map((e=>{const t=e.fields.reduce(((e,t)=>({...e,[t.name]:t.value})),{});let n=null;return m().isEmpty(t.content_title)&&m().isEmpty(t.content_slug)&&m().isEmpty(t.content_body)||(n={title:t.content_title,slug:t.content_slug,body:t.content_body,namespace:t.content_namespace}),{id:t.id,name:e.title,description:e.body,url:t.url,flow:t.flow,version:t.version,github:t.github,keywords:t.tags,author:{name:t.author,url:t.author_url},content:n,initialConfiguration:null==e.payload||m().isEmpty(e.payload.initial_configuration)?null:e.payload.initial_configuration}}));r("Publishing..."),await a(`/b/${t.jsonbin_id}`,n),r(null),o.Z.success({title:"Published",description:"Plugin list published succesfully "})}},null!=n?n:"Publish plugins")};var y=n(46111),b=n(80091),f=n(71777),E=n(63792),v=n(85951),k=n(77560),w=n(66352);(0,r.plug)("sidebar",null,{id:"market-place",label:"Market Place",url:"/market-place",icon:"shopping-basket"}),(0,r.plug)("sidebar",null,{id:"configuration",label:"Configuration",permission:"configure",icon:"cog",options:[{id:"configuration-market-place",label:"Market Place",url:"/configuration-market-place"}]}),(0,r.plug)("pages",(0,a.ln)("market-place",(({value:e,onSubmit:t=(()=>{}),disabled:n=!1})=>{const[r,a]=(0,l.useState)(e),[o,s]=(0,l.useState)(null),c=(0,l.useRef)(null);return l.createElement("div",null,l.createElement(y.Z,{formValue:r,formError:o,ref:c,checkTrigger:"none",layout:"vertical",fluid:!0,onChange:e=>{a(e),s(null)},onCheck:e=>{s(e)}},l.createElement(b.Z,null,l.createElement(f.Z,null,"JSONbin.io id"),l.createElement(E.Z,{name:"jsonbin_id",accepter:v.Z,disabled:n}),l.createElement(k.Z,null,"The ",l.createElement("em",null,"id")," of the ",l.createElement("strong",null,"jsonbin.io")," snippet of the plugins meta info")),l.createElement(b.Z,null,l.createElement(f.Z,null,"JSONbin.io key"),l.createElement(E.Z,{name:"jsonbin_key",accepter:v.Z,disabled:n}),l.createElement(k.Z,null,"The ",l.createElement("em",null,"secret key")," to write on ",l.createElement("strong",null,"jsonbin.io"))),l.createElement(b.Z,{style:{marginTop:"40px"}},l.createElement(w.Z,null,l.createElement(i.Z,{disabled:n,appearance:"primary",onClick:()=>{c.current.check()&&t(r)}},"Save configuration"),l.createElement(i.Z,{disabled:n,appearance:"default",onClick:()=>{confirm("Reset configuration?")&&a(e)}},"Reset")))))}),{Legend:()=>l.createElement("div",null,"Configure the id and the key to access ",l.createElement("strong",null,"jsonbing.io")," for the plugins met information.",l.createElement("br",null),"Docs about the API ",l.createElement("a",{href:"https://jsonbin.io/api-reference/bins/read",target:"blank"},"here"),"."),title:"Market Place"}),{permission:"configure",url:"/configuration-market-place",title:"Market Place",id:"configuration"}),(0,r.plug)("pages",a.VY.Contents,{url:"/market-place",title:"Market Place",id:"market-place",namespace:"plugins",breadcrumbs:["Market Place","Plugins"],labels:{saveContent:"Save plugin",createContent:"Create plugin",emptyContent:"No plugins"},custom:()=>l.createElement(h,null),customFieldsSchema:[{key:"url",type:"string",description:"URL of the compiled plugin",color:"cyan"},{key:"flow",type:"string",description:"URL of the Node-RED flow for this plugin",color:"cyan"},{key:"id",type:"string",description:"Unique id of the plugin",color:"red"},{key:"version",type:"string",description:"The version of the current (latest) plugin",color:"red"},{key:"github",type:"string",description:"The URL of the github page of the plugin",color:"red"},{key:"author",type:"string",description:"The username of the author of the plugin",color:"orange"},{key:"author_url",type:"string",description:"The home page of the username, if any",color:"orange"},{key:"tags",type:"tags",description:"List of keywords, comma separated",color:"red"},{key:"content_title",type:"string",description:"Create a content with this title",color:"violet"},{key:"content_slug",type:"string",description:"Create a content with this slug",color:"violet"},{key:"content_body",type:"string",description:"Create a content with this body",color:"violet"},{key:"content_namespace",type:"string",description:"Create a content with this namespace",color:"violet"}]}),(0,r.plug)("content-tabs",(({formValue:e={},onChange:t=(()=>{})})=>{const{initial_configuration:n}=e||{};return l.createElement("div",{style:{paddingBottom:"15px"}},l.createElement(a.Ad,{value:m().isEmpty(n)?"":n,height:"55vh",onChange:n=>{t({...e,initial_configuration:m().isEmpty(n)?null:n})}}))}),{id:"content-configuration",label:"Configuration",namespace:["plugins"]});var Z=n(91624),C=n(50721);n(83751);const x=e=>"location"===e?"#5E8263":e?"#D36135":e?"#595D88":"#000000";n(54641);const S=()=>l.createElement(Z.Z,{className:"map-marker",icon:"map-marker",size:"2x",style:{color:"red"}});var P=n(73727),I=n(87596),N=n(82122),T=n(69873),M=n(40660),L=n(45697),R=n.n(L),j=n(94184),D=n.n(j);function q(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class z extends l.Component{render(){const{thumb:e,height:t,width:n,maxWidth:r,maxHeight:a}=this.props,i=t/n;let o=Math.floor(i*r);o>a&&(o=a);const s={backgroundImage:`url(${e})`,backgroundPosition:"center",width:`${r}px`,height:`${o}px`};return l.createElement("div",{style:s})}}q(z,"propTypes",{thumb:R().string,height:R().number,width:R().number,maxWidth:R().number,maxHeight:R().number,onClick:R().func}),q(z,"defaultProps",{thumb:null,height:null,width:null,maxWidth:200,maxHeight:400,onClick:()=>{}});const O=z;function F(){return F=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},F.apply(this,arguments)}const H=({topic:e,ts:t,content:n,onDelete:r,onZoom:a,thumb:i,image:o,width:s,height:c,maxHeight:u,...p})=>{let d;return m().isEmpty(i)||(d=l.createElement(O,{thumb:i,topic:e,width:s,height:c,maxHeight:u,onClick:()=>{console.log("clicked"),a({})}})),l.createElement(T.Z,F({title:e},p,{onMouseLeave:()=>{}}),l.createElement("div",{className:"popover-map-marker"},"vario"))};function U(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}H.propTypes={topic:R().string,thumb:R().string,image:R().string,content:R().string,ts:R().instanceOf(Date),onDelete:R().func,width:R().number,height:R().number},H.defaultProps={topic:null,thumb:null,image:null,content:null,ts:null,onDelete:()=>{},width:null,height:null};class $ extends l.Component{constructor(e){super(e),this.handleLoaded=this.handleLoaded.bind(this),this.handleClick=this.handleClick.bind(this);const{thumb:t}=e;this.state={needPreload:!m().isEmpty(t),preload:!1,width:null,height:null}}componentDidMount(){const{type:e,color:t}=this.props;null!=this.tooltip&&"tooltip"===e&&(this.tooltip.querySelector(".rs-tooltip-inner").style.backgroundColor=t,this.tooltip.querySelector(".rs-tooltip-arrow").style.backgroundColor=t)}handleLoaded(e){this.setState({preload:!1,width:e.target.width,height:e.target.height},(()=>this.trigger.show()))}handleClick(e){e.preventDefault(),e.stopPropagation();const{thumb:t}=this.props;m().isEmpty(t)?this.trigger.show():this.setState({preload:!0})}render(){const{children:e,point:t,text:n,type:r,popover:a,showPopover:i,thumb:o,image:s,inkColor:c,maxHeight:u,onDeletePoint:p,onShowImage:d}=this.props;let{icon:g,color:h,size:y}=this.props;const{height:b,width:f,preload:E,needPreload:v}=this.state;let k;switch(m().isEmpty(g)&&(g="map-marker"),m().isEmpty(y)&&(y="lg"),m().isEmpty(h)&&(h="#FF3300"),m().isEmpty(c)&&(h="#000000"),new Date(parseInt(t.ts,10)),r){case"icon":k=l.createElement("a",{href:"#",className:D()("wrapper-map-marker",{preload:E}),onClick:this.handleClick},E&&l.createElement("img",{src:o,style:{display:"none"},onLoad:this.handleLoaded,alt:""}),l.createElement(Z.Z,{className:D()("map-marker",{pointer:i}),icon:g,size:y,style:{color:h}}));break;case"tooltip":k=l.createElement("div",{ref:e=>this.tooltip=e,style:{height:20,backgroundColor:"#ff0000"}},l.createElement(N.Z,{visible:!0},l.createElement("span",{style:{color:c}},n)));break;default:k=null}if(i){if(v&&E)return k;const t=l.createElement(T.Z,{onMouseLeave:()=>{}},l.createElement("div",{className:"popover-map-marker"},e));return l.createElement(M.Z,{trigger:"click",placement:"top",speaker:t,triggerRef:e=>this.trigger=e},k)}return k}}U($,"propTypes",{point:R().shape({topic:R().string,text:R().string,ts:R().string}).isRequired,icon:R().string,size:R().string,color:R().string,text:R().string,popover:R().string,thumb:R().string,image:R().string,showPopover:R().bool,type:R().oneOf(["icon","tooltip"]),inkColor:R().string,maxHeight:R().number}),U($,"defaultProps",{icon:"map-marker",color:"#FF3300",text:null,size:"2x",popover:null,thumb:null,image:null,type:"icon",showPopover:!1,inkColor:"#ffffff",maxHeight:480});const V=$,W=c.default` query($where: JSON) { records(limit: 50, order: "geohash", where: $where) { id, status, title, latitude, longitude, geohash, payload } }`,{NodeRedNode:A,SlugHelp:J,TypeCommand:K}=a.AK;(0,r.plug)("sidebar",null,{id:"wiggle",label:"Panopticon",icon:"logo-survey",permission:"wiggle.view",options:[{id:"wiggle-secrets",label:"Secrets",url:"/secrets"},{id:"wiggle-secrets-map",label:"Secrets Map",url:"/secrets-map"}]}),(0,r.plug)("pages",(()=>{const[e,t]=(0,l.useState)(null),[n,r]=(0,l.useState)(!1),i=(0,s.xJ)();let o=(e||[]).filter((e=>null!=e.latitude&&null!=e.longitude)).map((e=>l.createElement(V,{key:e.id,lat:e.latitude,lng:e.longitude,point:{},popover:e.title,showPopover:!0},l.createElement("div",{style:{minHeight:"120px"}},l.createElement("strong",null,e.title),null!=e.payload.secret_url&&l.createElement("div",{style:{backgroundImage:`url(${e.payload.secret_url})`,backgroundPosition:"center",minWidth:"120px",backgroundRepeat:"no-repeat",backgroundSize:"contain",height:"120px"}}),null!=e.payload.secret&&l.createElement("div",null,e.payload.secret),l.createElement(P.rU,{to:`/record/${e.id}`},"view")))));return l.createElement(a._z,{className:"my-page"},l.createElement(a.Oo,{pages:["Secret locations"]}),l.createElement("div",{style:{width:"100%",height:"450px",position:"relative"}},n&&l.createElement("div",{style:{position:"absolute",top:"20px",left:"20px",zIndex:1e7}},l.createElement(I.Z,{size:"md"})),l.createElement(a.oe,{defaultCenter:{lat:45.4854739,lng:9.2022176},defaultZoom:11,height:450,onChange:async({bounds:e})=>{const{se:n,nw:l}=e;r(!0);const{data:{records:a}}=await i.query({query:W,variables:{where:{latitude:{gte:n.lat,lte:l.lat},longitude:{gte:l.lng,lte:n.lng}}},fetchPolicy:"network-only"});t(a),r(!1)}},o)))}),{url:"/secrets-map",title:"Secrets Map",id:"secrets-maps",permission:"wiggle.view",breadcrumbs:["Secrets Map"]}),(0,r.plug)("pages",a.Op,{url:"/secrets",title:"Secrets",id:"secrets",type:"secret",permission:"wiggle.view",breadcrumbs:["Secrets"],labels:{title:"Name",record:"secret"},columns:[{id:"secret-type",label:"Type",width:120,cell:({payload:e})=>l.createElement(a.vx,{color:x(e.secret_type)},e.secret_type)}]}),(0,r.plug)("permissions",null,{permission:"wiggle.view",name:"View Panopticon secret",description:"View secrets stored in Panopticon Bot",group:"Panopticon"}),(0,r.plug)("user-record-types",null,{type:"secret",name:"Secret",list:"Secrets",description:"List of Panopticon secrets",form:({record:e})=>{const{payload:t}=e,n=new Date(t.secret_duration),r=new Date,i=n.getTime()-r.getTime();return l.createElement("div",{className:"secret-viewer"},l.createElement(C.Z,{justify:"space-between",style:{marginTop:"30px"}},l.createElement(C.Z.Item,{colspan:7},l.createElement("div",null,l.createElement("b",null,"Secret is")," ",l.createElement(a.vx,{color:x(t.secret_type)},t.secret_type)),("time"===t.secret_type||"location+time"===t.secret_type)&&l.createElement("div",null,l.createElement("b",null,"Revealed when"),l.createElement("br",null),l.createElement("em",null,n.toLocaleDateString(),", ",n.toLocaleTimeString()),i>0&&l.createElement("div",{className:"secret-reveal-at"},Math.round(i/1e3/60)," minutes"),i<0&&l.createElement("div",null,"Secret date is due")),null!=t.secret_bounty&&l.createElement(l.Fragment,null,l.createElement("b",null,"ICE price:")," ",t.secret_bounty," EUR",l.createElement("br",null)),null!=t.secret_payment&&l.createElement(l.Fragment,null,l.createElement("br",null),l.createElement("b",null,"User paid to reveal the secret"),l.createElement("br",null),l.createElement("b",null,"Email: ")," ",t.secret_payment.order_info.email,l.createElement("br",null),l.createElement("b",null,"Currency: ")," ",t.secret_payment.currency,l.createElement("br",null),l.createElement("b",null,"Amount: ")," ",(t.secret_payment.total_amount/100).toFixed(2),l.createElement("br",null),l.createElement("b",null,"Payment ID: ")," ",t.secret_payment.provider_payment_charge_id,l.createElement("br",null))),l.createElement(C.Z.Item,{colspan:7},null!=t.secret_url&&l.createElement("div",null,l.createElement("b",null,"Secret image"),l.createElement("img",{src:t.secret_url,width:"100%"})),null!=t.secret&&l.createElement("div",null,l.createElement("b",null,"Secret text"),l.createElement("div",{className:"display-secret"},t.secret))),l.createElement(C.Z.Item,{colspan:7},null!=e.latitude&&l.createElement("div",{className:"ui-devices-map",style:{height:"300px"}},l.createElement(a.oe,{defaultCenter:{lat:e.latitude,lng:e.longitude},defaultZoom:11},l.createElement(S,null))),null==e.latitude&&l.createElement("div",null,l.createElement("em",null,"No location for this secret")))))},status:[{value:"private",label:"Private"},{value:"public",label:"Public"},{value:"crazy",label:"Crazy"},{value:"keyholder-free",label:"Keyholder free"},{value:"keyholder-taken",label:"Keyholder taken"}]}),(0,r.plug)("sidebar",null,{id:"configuration",label:"Configuration",permission:"configure",icon:"cog",options:[{id:"panopticon",label:"Panopticon",url:"/configuration-panopticon"}]}),(0,r.plug)("pages",(0,a.ln)("panopticon",(({value:e,onSubmit:t=(()=>{}),disabled:n=!1})=>{const[r,o]=(0,l.useState)(e),[s,c]=(0,l.useState)(null),u=(0,l.useRef)(null);return l.createElement("div",null,l.createElement(y.Z,{disabled:!0,formValue:r,formError:s,ref:u,checkTrigger:"none",layout:"vertical",fluid:!0,onChange:e=>{o(e),c(null)},onCheck:e=>{c(e)}},l.createElement(l.Fragment,null,l.createElement(b.Z,null,l.createElement(f.Z,null,"Content"),l.createElement(E.Z,{useSlug:!0,readOnly:n,name:"content",accepter:a.MN}),l.createElement(k.Z,null,"Select a ",l.createElement("em",null,"slug")," for a multi-language content to show additional information when a user requests information about opening hours")),l.createElement(b.Z,null,l.createElement(f.Z,null,"Sensitivity"),l.createElement(E.Z,{disabled:n,name:"threshold",accepter:a.nH}),l.createElement(k.Z,null,"The minimum score of an intent to be considered relevant. Lower this value if the NLP doesn't catch any intent of the user input, raise this value if the NLP of this block is interfering with the NLP of other blocks."))),l.createElement(b.Z,{style:{marginTop:"40px"}},l.createElement(w.Z,null,l.createElement(i.Z,{disabled:n,appearance:"primary",onClick:()=>{u.current.check()&&t(r)}},"Save configuration"),l.createElement(i.Z,{disabled:n,appearance:"default",onClick:()=>{confirm("Reset configuration?")&&o(e)}},"Reset")))))}),{Legend:()=>l.createElement("div",null,l.createElement("p",null,"Configure some ",l.createElement("i",null,"Panopticon")," parameters")),title:"Panopticon"}),{permission:"configure",url:"/configuration-panopticon",title:"Configure Panopticon",id:"configuration-panopticon"});var B=n(24259),Y=n(88182),G=n(90585);const Q=e=>m().isEmpty(e.first_name)&&m().isEmpty(e.last_name)?m().isEmpty(username)?"Anonymous (id: {id})":e.username:[e.first_name,e.last_name].filter((e=>!m().isEmpty(e))).join(" "),X=({value:e,validation:t,onChange:n=(()=>{}),onSubmit:r=(()=>{})})=>{const{activeChatbots:i}=(0,G.Z)();return l.createElement("div",null,l.createElement(y.Z,{fluid:!0,formValue:e,onChange:n,formError:t},l.createElement(C.Z,{justify:"space-between"},l.createElement(C.Z.Item,{colspan:15},l.createElement(b.Z,null,l.createElement(f.Z,null,"Recipient"),l.createElement(E.Z,{name:"recipient",accepter:a.P2,cleanable:!0,onChange:t=>{if(null!=t&&_.isArray(t.chatIds)&&!_.isEmpty(t.chatIds)){const l=t.chatIds.find((e=>((e,t)=>e.some((e=>e.transport===t)))(i,e.transport)));null!=l&&n({...e,chatId:l.chatId,userId:t.userId,recipient:t,botNode:i.find((e=>e.transport===l.transport)).nodeId})}}}))),l.createElement(C.Z.Item,{colspan:8},l.createElement(b.Z,null,l.createElement(f.Z,null,"Transport",l.createElement(k.Z,{tooltip:!0},"Shows only platforms for which the selected users has a valid ",l.createElement("em",null,"chatId"))),l.createElement(E.Z,{name:"botNode",accepter:a.Tl,transports:null!=e.recipient?e.recipient.chatIds.map((e=>e.transport)):null,disabled:null==e.recipient,onChange:t=>{const l=i.find((e=>e.nodeId===t));if(null!=l&&null!=e.recipient){const r=e.recipient.chatIds.find((e=>e.transport===l.transport));null!=r&&n({...e,chatId:r.chatId,botNode:t})}},block:!0})))),l.createElement(b.Z,{style:{marginTop:"15px"}},l.createElement(f.Z,null,"Message to send"),l.createElement(E.Z,{name:"message",componentClass:"textarea",style:{height:"100%"},onKeyUp:e=>{e.shiftKey&&13===e.keyCode&&r()}}))))},{useModal:ee}=a.u_,te=e=>null!=e.recipient&&null!=e.chatId&&null!=e.botNode&&!m().isEmpty(e.message),{StringType:ne,ObjectType:le}=Y.Z.Types,re=(Y.Z.Model({recipient:le().isRequired("Select recipient"),botNode:ne().isRequired("Select chatbot platoform"),message:ne().isRequired("Enter message for the user")}),({user:e,appearance:t="ghost",transport:n})=>{const{sendToInput:r}=(0,B.ZP)(),{activeChatbots:a}=(0,G.Z)(),{open:s,close:c,validate:u,error:p,disable:d,openWithModel:g,openWith:h}=ee({view:X,title:"Send message",labelSubmit:"Send message",size:"sm"});let y,b;if(!m().isEmpty(n)&&e.chatIds.some((e=>e.transport===n))){const t=a.find((e=>e.transport===n));console.log("chatBot",t,a,n),null!=t&&(y=t.nodeId,b=e.chatIds.find((e=>e.transport===n)).chatId)}return l.createElement(i.Z,{appearance:t,onClick:async()=>{let t={recipient:e,botNode:y,chatId:b,message:""};t=await h(t,te),t&&(r("message.send",t),o.Z.success({title:"Message sent",description:`Message sent successfully to "${Q(t.recipient)}"`}))}},"Contact User")});n(88748);const{WidgetForm:ae,Content:ie,Footer:oe}=a.DD;(0,r.plug)("widgets",(({stats:e})=>{const[t,n]=(0,l.useState)({message:""}),r=!_.isEmpty(t.chatId)&&!_.isEmpty(t.botNode),{sendToInput:o}=(0,B.ZP)();return l.createElement(a.s_,{title:"Send Message",className:"widget-send-message"},l.createElement(ae,{fluid:!0,formValue:t,onChange:e=>n(e)},l.createElement(ie,null,l.createElement(X,{value:t,onChange:e=>n(e),onSubmit:()=>{o("message.send",t),n({...t,message:""})}})),l.createElement(oe,null,l.createElement(b.Z,null,l.createElement(w.Z,null,l.createElement(i.Z,{appearance:"primary",disabled:!r,onClick:()=>{o("message.send",t),n({...t,message:""})}},"Send Message"),l.createElement("div",{className:"key-hint"},"Shift + Enter to Send"),l.createElement(i.Z,{style:{float:"right"},appearance:"default",onClick:()=>n({botNode:null,recipient:null,chatId:null,message:""})},"Cancel"))))))}),{x:0,y:0,w:2,h:6,isResizable:!0,id:1}),(0,r.plug)("user-button",re),(0,r.plug)("user-record-buttons",(({record:e})=>l.createElement(re,{transport:e.transport,appearance:"primary",user:e.user})),{type:"survey"})},4021:(e,t,n)=>{(t=n(23645)(!1)).push([e.id,".secret-viewer .display-secret{padding:4px 10px;font-family:monospace;background-color:#eeeeee;border:1px solid #bbbbbb}.secret-viewer .secret-reveal-at{font-size:40px;font-weight:bolder}\n",""]),e.exports=t},47155:(e,t,n)=>{(t=n(23645)(!1)).push([e.id,".widget-send-message .rs-form-group{flex:1 0;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-content:stretch;align-items:stretch}.widget-send-message .rs-form-group .rs-form-control-wrapper{flex:1 0}.widget-send-message .key-hint{color:#999999;display:inline-block}\n",""]),e.exports=t},54641:(e,t,n)=>{var l=n(93379),r=n(4021);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.id,r,""]]);l(r,{insert:"head",singleton:!1}),e.exports=r.locals||{}},88748:(e,t,n)=>{var l=n(93379),r=n(47155);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.id,r,""]]);l(r,{insert:"head",singleton:!1}),e.exports=r.locals||{}}}]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,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TSxFQUFRLE9BQ0Y1UixFQUFVLEVBQVEsTUFJQyxpQkFGdkJBLEVBQVVBLEVBQVE2UixXQUFhN1IsRUFBUThSLFFBQVU5UixLQUcvQ0EsRUFBVSxDQUFDLENBQUMyUixFQUFPblIsR0FBSVIsRUFBUyxNQVFqQzRSLEVBQUk1UixFQUxILENBRWQyQixPQUFpQixPQUNqQkEsV0FBb0IsSUFNcEJnUSxFQUFPSCxRQUFVeFIsRUFBUStSLFFBQVUsSSxnQkNsQm5DLElBQUlILEVBQU0sRUFBUSxPQUNGNVIsRUFBVSxFQUFRLE9BSUMsaUJBRnZCQSxFQUFVQSxFQUFRNlIsV0FBYTdSLEVBQVE4UixRQUFVOVIsS0FHL0NBLEVBQVUsQ0FBQyxDQUFDMlIsRUFBT25SLEdBQUlSLEVBQVMsTUFRakM0UixFQUFJNVIsRUFMSCxDQUVkMkIsT0FBaUIsT0FDakJBLFdBQW9CLElBTXBCZ1EsRUFBT0gsUUFBVXhSLEVBQVErUixRQUFVIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9tYXJrZXQtcGxhY2Uvdmlld3MvcHVibGlzaC1wbHVnaW5zLmpzIiwid2VicGFjazovL25vZGUtcmVkLWNvbnRyaWItY2hhdGJvdC8uL3BsdWdpbnMvbWFya2V0LXBsYWNlL2luZGV4LmpzIiwid2VicGFjazovL25vZGUtcmVkLWNvbnRyaWItY2hhdGJvdC8uL3BsdWdpbnMvbWFya2V0LXBsYWNlL3ZpZXdzL2NvbmZpZ3VyZS1tYXJrZXQtcGxhY2UuanMiLCJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9tYXJrZXQtcGxhY2Uvdmlld3MvZGVmYXVsdC1jb25maWd1cmF0aW9uLmpzIiwid2VicGFjazovL25vZGUtcmVkLWNvbnRyaWItY2hhdGJvdC8uL3BsdWdpbnMvcGFub3B0aWNvbi9oZWxwZXJzL3NlY3JldC1jb2xvci5qcyIsIndlYnBhY2s6Ly9ub2RlLXJlZC1jb250cmliLWNoYXRib3QvLi9wbHVnaW5zL3Bhbm9wdGljb24vdmlld3Mvc2VjcmV0LXZpZXdlci5qcyIsIndlYnBhY2s6Ly9ub2RlLXJlZC1jb250cmliLWNoYXRib3QvLi9wbHVnaW5zL3Bhbm9wdGljb24vdmlld3MvaW1hZ2UuanMiLCJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9wYW5vcHRpY29uL3ZpZXdzL2JhbGxvb24uanMiLCJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9wYW5vcHRpY29uL3ZpZXdzL3Bpbi1wb2ludC5qcyIsIndlYnBhY2s6Ly9ub2RlLXJlZC1jb250cmliLWNoYXRib3QvLi9wbHVnaW5zL3Bhbm9wdGljb24vcGFnZXMvc2VjcmV0LW1hcC5qcyIsIndlYnBhY2s6Ly9ub2RlLXJlZC1jb250cmliLWNoYXRib3QvLi9wbHVnaW5zL3Bhbm9wdGljb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9wYW5vcHRpY29uL3ZpZXdzL2NvbmZpZ3VyYXRpb24uanMiLCJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vc3JjL2hlbHBlcnMvdXNlci9yZWFkYWJsZS1uYW1lLmpzIiwid2VicGFjazovL25vZGUtcmVkLWNvbnRyaWItY2hhdGJvdC8uL3BsdWdpbnMvc2VuZC1tZXNzYWdlL3ZpZXdzL3NlbmQtZm9ybS5qcyIsIndlYnBhY2s6Ly9ub2RlLXJlZC1jb250cmliLWNoYXRib3QvLi9wbHVnaW5zL3NlbmQtbWVzc2FnZS92aWV3cy9zZW5kLW1lc3NhZ2UtYnV0dG9uLmpzIiwid2VicGFjazovL25vZGUtcmVkLWNvbnRyaWItY2hhdGJvdC8uL3BsdWdpbnMvc2VuZC1tZXNzYWdlL2luZGV4LmpzIiwid2VicGFjazovL25vZGUtcmVkLWNvbnRyaWItY2hhdGJvdC8uL3BsdWdpbnMvcGFub3B0aWNvbi9zdHlsZXMvc2VjcmV0LXZpZXdlci5zY3NzIiwid2VicGFjazovL25vZGUtcmVkLWNvbnRyaWItY2hhdGJvdC8uL3BsdWdpbnMvc2VuZC1tZXNzYWdlL3dpZGdldC1zZW5kLnNjc3MiLCJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9wYW5vcHRpY29uL3N0eWxlcy9zZWNyZXQtdmlld2VyLnNjc3M/YTI0OCIsIndlYnBhY2s6Ly9ub2RlLXJlZC1jb250cmliLWNoYXRib3QvLi9wbHVnaW5zL3NlbmQtbWVzc2FnZS93aWRnZXQtc2VuZC5zY3NzPzA2MzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBOb3RpZmljYXRpb24gfSBmcm9tICdyc3VpdGUnO1xuaW1wb3J0IHsgdXNlQXBvbGxvQ2xpZW50IH0gZnJvbSAncmVhY3QtYXBvbGxvJztcbmltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xuaW1wb3J0IHVzZUZldGNoIGZyb20gJ3VzZS1odHRwJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB1c2VDb25maWd1cmF0aW9uIGZyb20gJy4uLy4uLy4uL3NyYy9ob29rcy9jb25maWd1cmF0aW9uJztcblxuY29uc3QgQ09OVEVOVF9QTFVHSU5TID0gZ3FsYFxucXVlcnkge1xuICBjb250ZW50cyhuYW1lc3BhY2U6IFwicGx1Z2luc1wiKSB7XG4gICAgaWQsXG4gICAgdGl0bGUsXG4gICAgYm9keSxcbiAgICBwYXlsb2FkLFxuICAgIGZpZWxkcyB7XG4gICAgICBuYW1lLFxuICAgICAgdmFsdWVcbiAgICB9XG4gIH1cbn1cbmA7XG5cbi8vIEFQSSBmb3IganNvbmJpbi5pbzogaHR0cHM6Ly9qc29uYmluLmlvL2FwaS1yZWZlcmVuY2UvYmlucy9yZWFkXG5cbmNvbnN0IFB1Ymxpc2hQbHVnaW5zID0gKCkgPT4ge1xuICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgY29uc3QgeyBkYXRhIH0gPSB1c2VDb25maWd1cmF0aW9uKHsgbmFtZXNwYWNlOiAnbWFya2V0LXBsYWNlJyB9KTtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV0gPSB1c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgeyBwdXQgfSA9IHVzZUZldGNoKCdodHRwczovL2FwaS5qc29uYmluLmlvJywge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAnc2VjcmV0LWtleSc6IGRhdGEgIT0gbnVsbCA/IGRhdGEuanNvbmJpbl9rZXkgOiBudWxsLFxuICAgICAgJ3ZlcnNpb25pbmcnOiAnZmFsc2UnXG4gICAgfVxuICB9KTtcbiAgY29uc3QgaGFzU2VjcmV0S2V5ID0gZGF0YSAhPSBudWxsICYmICFfLmlzRW1wdHkoZGF0YS5qc29uYmluX2tleSk7XG5cbiAgcmV0dXJuIChcbiAgICA8QnV0dG9uXG4gICAgICBkaXNhYmxlZD17c3RhdGUgIT0gbnVsbCB8fCAhaGFzU2VjcmV0S2V5fVxuICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgb25DbGljaz17YXN5bmMgKCkgPT4ge1xuICAgICAgICBzZXRTdGF0ZSgnTG9hZGluZy4uLicpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5xdWVyeSh7IHF1ZXJ5OiBDT05URU5UX1BMVUdJTlMsIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyB9KTtcbiAgICAgICAgY29uc3QgcGx1Z2lucyA9IHJlc3BvbnNlLmRhdGEuY29udGVudHMubWFwKHBsdWdpbiA9PiB7XG4gICAgICAgICAgY29uc3QgZmllbGRzID0gcGx1Z2luLmZpZWxkcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gKHsgLi4uYWNjLCBbaXRlbS5uYW1lXTogaXRlbS52YWx1ZSB9KSwge30pO1xuXG4gICAgICAgICAgbGV0IGNvbnRlbnQgPSBudWxsO1xuICAgICAgICAgIGlmICghXy5pc0VtcHR5KGZpZWxkcy5jb250ZW50X3RpdGxlKSB8fCAhXy5pc0VtcHR5KGZpZWxkcy5jb250ZW50X3NsdWcpIHx8ICFfLmlzRW1wdHkoZmllbGRzLmNvbnRlbnRfYm9keSkpIHtcbiAgICAgICAgICAgIGNvbnRlbnQgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiBmaWVsZHMuY29udGVudF90aXRsZSxcbiAgICAgICAgICAgICAgc2x1ZzogZmllbGRzLmNvbnRlbnRfc2x1ZyxcbiAgICAgICAgICAgICAgYm9keTogZmllbGRzLmNvbnRlbnRfYm9keSxcbiAgICAgICAgICAgICAgbmFtZXNwYWNlOiBmaWVsZHMuY29udGVudF9uYW1lc3BhY2VcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBmaWVsZHMuaWQsXG4gICAgICAgICAgICBuYW1lOiBwbHVnaW4udGl0bGUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogcGx1Z2luLmJvZHksXG4gICAgICAgICAgICB1cmw6IGZpZWxkcy51cmwsXG4gICAgICAgICAgICBmbG93OiBmaWVsZHMuZmxvdyxcbiAgICAgICAgICAgIHZlcnNpb246IGZpZWxkcy52ZXJzaW9uLFxuICAgICAgICAgICAgZ2l0aHViOiBmaWVsZHMuZ2l0aHViLFxuICAgICAgICAgICAga2V5d29yZHM6IGZpZWxkcy50YWdzLFxuICAgICAgICAgICAgYXV0aG9yOiB7XG4gICAgICAgICAgICAgIG5hbWU6IGZpZWxkcy5hdXRob3IsXG4gICAgICAgICAgICAgIHVybDogZmllbGRzLmF1dGhvcl91cmxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgaW5pdGlhbENvbmZpZ3VyYXRpb246IHBsdWdpbi5wYXlsb2FkICE9IG51bGwgJiYgIV8uaXNFbXB0eShwbHVnaW4ucGF5bG9hZC5pbml0aWFsX2NvbmZpZ3VyYXRpb24pID9cbiAgICAgICAgICAgICAgcGx1Z2luLnBheWxvYWQuaW5pdGlhbF9jb25maWd1cmF0aW9uIDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICAgIHNldFN0YXRlKCdQdWJsaXNoaW5nLi4uJyk7XG4gICAgICAgIGF3YWl0IHB1dChgL2IvJHtkYXRhLmpzb25iaW5faWR9YCwgcGx1Z2lucyk7XG5cbiAgICAgICAgc2V0U3RhdGUobnVsbCk7XG4gICAgICAgIE5vdGlmaWNhdGlvbi5zdWNjZXNzKHsgdGl0bGU6ICdQdWJsaXNoZWQnLCBkZXNjcmlwdGlvbjogJ1BsdWdpbiBsaXN0IHB1Ymxpc2hlZCBzdWNjZXNmdWxseSAnfSk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIHtzdGF0ZSAhPSBudWxsID8gc3RhdGUgOiAnUHVibGlzaCBwbHVnaW5zJ31cbiAgICA8L0J1dHRvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFB1Ymxpc2hQbHVnaW5zOyIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBwbHVnIH0gZnJvbSAnY29kZS1wbHVnJztcblxuaW1wb3J0IHsgd2l0aENvbmZpZ3VyYXRpb25QYWdlLCBDb250ZW50IH0gZnJvbSAnLi4vLi4vc3JjL2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgUHVibGlzaFBsdWdpbnMgZnJvbSAnLi92aWV3cy9wdWJsaXNoLXBsdWdpbnMnO1xuaW1wb3J0IENvbmZpZ3VyZU1hcmtldFBsYWNlIGZyb20gJy4vdmlld3MvY29uZmlndXJlLW1hcmtldC1wbGFjZSc7XG5pbXBvcnQgRGVmYXVsdENvbmZpZ3VyYXRpb24gZnJvbSAnLi92aWV3cy9kZWZhdWx0LWNvbmZpZ3VyYXRpb24nO1xuXG5jb25zdCBMZWdlbmQgPSAoKSA9PiAoXG4gIDxkaXY+XG4gICAgQ29uZmlndXJlIHRoZS