Files
im_webapp/umd/index.prod.js
T

1 line
244 KiB
JavaScript

!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Webapp=e()}}(function(){var e=!("undefined"==typeof window||!window.document||!window.document.createElement),t={canUseDOM:e,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:e&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:e&&!!window.screen,isInWorker:!e},n=function(e){return function(e){var t=(e?e.ownerDocument||e:document).defaultView||window;return!(!e||!("function"==typeof t.Node?e instanceof t.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}(e)&&3==e.nodeType},a=function e(t,a){return!(!t||!a)&&(t===a||!n(t)&&(n(a)?e(t,a.parentNode):"contains"in t?t.contains(a):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(a))))},s={};function i(e){return function(){return e}}var r=function(){};r.thatReturns=i,r.thatReturnsFalse=i(!1),r.thatReturnsTrue=i(!0),r.thatReturnsNull=i(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},s=r;var o={},l=function(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}},c=function(e,t,n,a,s,i,r,o){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,a,s,i,r,o],u=0;(l=new Error(t.replace(/%s/g,function(){return c[u++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}},u=Object.prototype.hasOwnProperty;function d(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}var h=function(e,t){if(d(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(var s=0;s<n.length;s++)if(!u.call(t,n[s])||!d(e[n[s]],t[n[s]]))return!1;return!0},p=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,g=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(e){a[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),i=1;i<arguments.length;i++){for(var r in n=Object(arguments[i]))f.call(n,r)&&(s[r]=n[r]);if(p){a=p(n);for(var o=0;o<a.length;o++)m.call(n,a[o])&&(s[a[o]]=n[a[o]])}}return s},v="function"==typeof Symbol&&Symbol.for,b=v?Symbol.for("react.element"):60103,w=v?Symbol.for("react.portal"):60106,y=v?Symbol.for("react.fragment"):60107,E=v?Symbol.for("react.strict_mode"):60108,S=v?Symbol.for("react.profiler"):60114,C=v?Symbol.for("react.provider"):60109,T=v?Symbol.for("react.context"):60110,R=v?Symbol.for("react.async_mode"):60111,k=v?Symbol.for("react.forward_ref"):60112;v&&Symbol.for("react.timeout");var x="function"==typeof Symbol&&Symbol.iterator;function _(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=0;a<t;a++)n+="&args[]="+encodeURIComponent(arguments[a+1]);c(!1,"Minified React error #"+e+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",n)}var M={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function N(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||M}function P(){}function U(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||M}N.prototype.isReactComponent={},N.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&_("85"),this.updater.enqueueSetState(this,e,t,"setState")},N.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},P.prototype=N.prototype;var D=U.prototype=new P;D.constructor=U,g(D,N.prototype),D.isPureReactComponent=!0;var A={current:null},I=Object.prototype.hasOwnProperty,O={key:!0,ref:!0,__self:!0,__source:!0};function L(e,t,n){var a=void 0,s={},i=null,r=null;if(null!=t)for(a in void 0!==t.ref&&(r=t.ref),void 0!==t.key&&(i=""+t.key),t)I.call(t,a)&&!O.hasOwnProperty(a)&&(s[a]=t[a]);var o=arguments.length-2;if(1===o)s.children=n;else if(1<o){for(var l=Array(o),c=0;c<o;c++)l[c]=arguments[c+2];s.children=l}if(e&&e.defaultProps)for(a in o=e.defaultProps)void 0===s[a]&&(s[a]=o[a]);return{$$typeof:b,type:e,key:i,ref:r,props:s,_owner:A.current}}function F(e){return"object"==typeof e&&null!==e&&e.$$typeof===b}var q=/\/+/g,j=[];function z(e,t,n,a){if(j.length){var s=j.pop();return s.result=e,s.keyPrefix=t,s.func=n,s.context=a,s.count=0,s}return{result:e,keyPrefix:t,func:n,context:a,count:0}}function W(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>j.length&&j.push(e)}function V(e,t,n,a){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var i=!1;if(null===e)i=!0;else switch(s){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case b:case w:i=!0}}if(i)return n(a,e,""===t?"."+H(e,0):t),1;if(i=0,t=""===t?".":t+":",Array.isArray(e))for(var r=0;r<e.length;r++){var o=t+H(s=e[r],r);i+=V(s,o,n,a)}else if("function"==typeof(o=null==e?null:"function"==typeof(o=x&&e[x]||e["@@iterator"])?o:null))for(e=o.call(e),r=0;!(s=e.next()).done;)i+=V(s=s.value,o=t+H(s,r++),n,a);else"object"===s&&_("31","[object Object]"==(n=""+e)?"object with keys {"+Object.keys(e).join(", ")+"}":n,"");return i}function H(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function B(e,t){e.func.call(e.context,t,e.count++)}function G(e,t,n){var a=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?K(e,a,n,s.thatReturnsArgument):null!=e&&(F(e)&&(t=i+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(q,"$&/")+"/")+n,e={$$typeof:b,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}),a.push(e))}function K(e,t,n,a,s){var i="";null!=n&&(i=(""+n).replace(q,"$&/")+"/"),t=z(t,i,a,s),null==e||V(e,"",G,t),W(t)}var Q={Children:{map:function(e,t,n){if(null==e)return e;var a=[];return K(e,a,null,t,n),a},forEach:function(e,t,n){if(null==e)return e;t=z(null,null,t,n),null==e||V(e,"",B,t),W(t)},count:function(e){return null==e?0:V(e,"",s.thatReturnsNull,null)},toArray:function(e){var t=[];return K(e,t,null,s.thatReturnsArgument),t},only:function(e){return F(e)||_("143"),e}},createRef:function(){return{current:null}},Component:N,PureComponent:U,createContext:function(e,t){return void 0===t&&(t=null),(e={$$typeof:T,_calculateChangedBits:t,_defaultValue:e,_currentValue:e,_currentValue2:e,_changedBits:0,_changedBits2:0,Provider:null,Consumer:null}).Provider={$$typeof:C,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:k,render:e}},Fragment:y,StrictMode:E,unstable_AsyncMode:R,unstable_Profiler:S,createElement:L,cloneElement:function(e,t,n){null==e&&_("267",e);var a=void 0,s=g({},e.props),i=e.key,r=e.ref,o=e._owner;if(null!=t){void 0!==t.ref&&(r=t.ref,o=A.current),void 0!==t.key&&(i=""+t.key);var l=void 0;for(a in e.type&&e.type.defaultProps&&(l=e.type.defaultProps),t)I.call(t,a)&&!O.hasOwnProperty(a)&&(s[a]=void 0===t[a]&&void 0!==l?l[a]:t[a])}if(1==(a=arguments.length-2))s.children=n;else if(1<a){l=Array(a);for(var c=0;c<a;c++)l[c]=arguments[c+2];s.children=l}return{$$typeof:b,type:e.type,key:i,ref:r,props:s,_owner:o}},createFactory:function(e){var t=L.bind(null,e);return t.type=e,t},isValidElement:F,version:"16.4.2",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:A,assign:g}},$={default:Q},J=$&&Q||$,Y=J.default?J.default:J;function X(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=0;a<t;a++)n+="&args[]="+encodeURIComponent(arguments[a+1]);c(!1,"Minified React error #"+e+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",n)}Y||X("227");var Z={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,invokeGuardedCallback:function(e,t,n,a,s,i,r,o,l){(function(e,t,n,a,s,i,r,o,l){this._hasCaughtError=!1,this._caughtError=null;var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this._caughtError=e,this._hasCaughtError=!0}}).apply(Z,arguments)},invokeGuardedCallbackAndCatchFirstError:function(e,t,n,a,s,i,r,o,l){if(Z.invokeGuardedCallback.apply(this,arguments),Z.hasCaughtError()){var c=Z.clearCaughtError();Z._hasRethrowError||(Z._hasRethrowError=!0,Z._rethrowError=c)}},rethrowCaughtError:function(){return function(){if(Z._hasRethrowError){var e=Z._rethrowError;throw Z._rethrowError=null,Z._hasRethrowError=!1,e}}.apply(Z,arguments)},hasCaughtError:function(){return Z._hasCaughtError},clearCaughtError:function(){if(Z._hasCaughtError){var e=Z._caughtError;return Z._caughtError=null,Z._hasCaughtError=!1,e}X("198")}},ee=null,te={};function ne(){if(ee)for(var e in te){var t=te[e],n=ee.indexOf(e);if(-1<n||X("96",e),!se[n])for(var a in t.extractEvents||X("97",e),se[n]=t,n=t.eventTypes){var s=void 0,i=n[a],r=t,o=a;ie.hasOwnProperty(o)&&X("99",o),ie[o]=i;var l=i.phasedRegistrationNames;if(l){for(s in l)l.hasOwnProperty(s)&&ae(l[s],r,o);s=!0}else i.registrationName?(ae(i.registrationName,r,o),s=!0):s=!1;s||X("98",a,e)}}}function ae(e,t,n){re[e]&&X("100",e),re[e]=t,oe[e]=t.eventTypes[n].dependencies}var se=[],ie={},re={},oe={};function le(e){ee&&X("101"),ee=Array.prototype.slice.call(e),ne()}function ce(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var a=e[t];te.hasOwnProperty(t)&&te[t]===a||(te[t]&&X("102",t),te[t]=a,n=!0)}n&&ne()}var ue={plugins:se,eventNameDispatchConfigs:ie,registrationNameModules:re,registrationNameDependencies:oe,possibleRegistrationNames:null,injectEventPluginOrder:le,injectEventPluginsByName:ce},de=null,he=null,pe=null;function fe(e,t,n,a){t=e.type||"unknown-event",e.currentTarget=pe(a),Z.invokeGuardedCallbackAndCatchFirstError(t,n,void 0,e),e.currentTarget=null}function me(e,t){return null==t&&X("30"),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function ge(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var ve=null;function be(e,t){if(e){var n=e._dispatchListeners,a=e._dispatchInstances;if(Array.isArray(n))for(var s=0;s<n.length&&!e.isPropagationStopped();s++)fe(e,t,n[s],a[s]);else n&&fe(e,t,n,a);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function we(e){return be(e,!0)}function ye(e){return be(e,!1)}var Ee={injectEventPluginOrder:le,injectEventPluginsByName:ce};function Se(e,t){var n=e.stateNode;if(!n)return null;var a=de(n);if(!a)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(a=!a.disabled)||(a=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!a;break e;default:e=!1}return e?null:(n&&"function"!=typeof n&&X("231",t,typeof n),n)}function Ce(e,t){null!==e&&(ve=me(ve,e)),e=ve,ve=null,e&&(ge(e,t?we:ye),ve&&X("95"),Z.rethrowCaughtError())}function Te(e,t,n,a){for(var s=null,i=0;i<se.length;i++){var r=se[i];r&&(r=r.extractEvents(e,t,n,a))&&(s=me(s,r))}Ce(s,!1)}var Re={injection:Ee,getListener:Se,runEventsInBatch:Ce,runExtractedEventsInBatch:Te},ke=Math.random().toString(36).slice(2),xe="__reactInternalInstance$"+ke,_e="__reactEventHandlers$"+ke;function Me(e){if(e[xe])return e[xe];for(;!e[xe];){if(!e.parentNode)return null;e=e.parentNode}return 5===(e=e[xe]).tag||6===e.tag?e:null}function Ne(e){if(5===e.tag||6===e.tag)return e.stateNode;X("33")}function Pe(e){return e[_e]||null}var Ue={precacheFiberNode:function(e,t){t[xe]=e},getClosestInstanceFromNode:Me,getInstanceFromNode:function(e){return!(e=e[xe])||5!==e.tag&&6!==e.tag?null:e},getNodeFromInstance:Ne,getFiberCurrentPropsFromNode:Pe,updateFiberProps:function(e,t){e[_e]=t}};function De(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Ae(e,t,n){for(var a=[];e;)a.push(e),e=De(e);for(e=a.length;0<e--;)t(a[e],"captured",n);for(e=0;e<a.length;e++)t(a[e],"bubbled",n)}function Ie(e,t,n){(t=Se(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=me(n._dispatchListeners,t),n._dispatchInstances=me(n._dispatchInstances,e))}function Oe(e){e&&e.dispatchConfig.phasedRegistrationNames&&Ae(e._targetInst,Ie,e)}function Le(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst;Ae(t=t?De(t):null,Ie,e)}}function Fe(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=Se(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=me(n._dispatchListeners,t),n._dispatchInstances=me(n._dispatchInstances,e))}function qe(e){e&&e.dispatchConfig.registrationName&&Fe(e._targetInst,null,e)}function je(e){ge(e,Oe)}function ze(e,t,n,a){if(n&&a)e:{for(var s=n,i=a,r=0,o=s;o;o=De(o))r++;o=0;for(var l=i;l;l=De(l))o++;for(;0<r-o;)s=De(s),r--;for(;0<o-r;)i=De(i),o--;for(;r--;){if(s===i||s===i.alternate)break e;s=De(s),i=De(i)}s=null}else s=null;for(i=s,s=[];n&&n!==i&&(null===(r=n.alternate)||r!==i);)s.push(n),n=De(n);for(n=[];a&&a!==i&&(null===(r=a.alternate)||r!==i);)n.push(a),a=De(a);for(a=0;a<s.length;a++)Fe(s[a],"bubbled",e);for(e=n.length;0<e--;)Fe(n[e],"captured",t)}var We={accumulateTwoPhaseDispatches:je,accumulateTwoPhaseDispatchesSkipTarget:function(e){ge(e,Le)},accumulateEnterLeaveDispatches:ze,accumulateDirectDispatches:function(e){ge(e,qe)}};function Ve(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}var He={animationend:Ve("Animation","AnimationEnd"),animationiteration:Ve("Animation","AnimationIteration"),animationstart:Ve("Animation","AnimationStart"),transitionend:Ve("Transition","TransitionEnd")},Be={},Ge={};function Ke(e){if(Be[e])return Be[e];if(!He[e])return e;var t,n=He[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ge)return Be[e]=n[t];return e}t.canUseDOM&&(Ge=document.createElement("div").style,"AnimationEvent"in window||(delete He.animationend.animation,delete He.animationiteration.animation,delete He.animationstart.animation),"TransitionEvent"in window||delete He.transitionend.transition);var Qe=Ke("animationend"),$e=Ke("animationiteration"),Je=Ke("animationstart"),Ye=Ke("transitionend"),Xe="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ze=null;function et(){return!Ze&&t.canUseDOM&&(Ze="textContent"in document.documentElement?"textContent":"innerText"),Ze}var tt={_root:null,_startText:null,_fallbackText:null};function nt(){if(tt._fallbackText)return tt._fallbackText;var e,t,n=tt._startText,a=n.length,s=at(),i=s.length;for(e=0;e<a&&n[e]===s[e];e++);var r=a-e;for(t=1;t<=r&&n[a-t]===s[i-t];t++);return tt._fallbackText=s.slice(e,1<t?1-t:void 0),tt._fallbackText}function at(){return"value"in tt._root?tt._root.value:tt._root[et()]}var st="dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances".split(" "),it={type:null,target:null,currentTarget:s.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};function rt(e,t,n,a){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):"target"===i?this.target=a:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?s.thatReturnsTrue:s.thatReturnsFalse,this.isPropagationStopped=s.thatReturnsFalse,this}function ot(e,t,n,a){if(this.eventPool.length){var s=this.eventPool.pop();return this.call(s,e,t,n,a),s}return new this(e,t,n,a)}function lt(e){e instanceof this||X("223"),e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function ct(e){e.eventPool=[],e.getPooled=ot,e.release=lt}g(rt.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=s.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=s.thatReturnsTrue)},persist:function(){this.isPersistent=s.thatReturnsTrue},isPersistent:s.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t<st.length;t++)this[st[t]]=null}}),rt.Interface=it,rt.extend=function(e){function t(){}function n(){return a.apply(this,arguments)}var a=this;t.prototype=a.prototype;var s=new t;return g(s,n.prototype),n.prototype=s,n.prototype.constructor=n,n.Interface=g({},a.Interface,e),n.extend=a.extend,ct(n),n},ct(rt);var ut=rt.extend({data:null}),dt=rt.extend({data:null}),ht=[9,13,27,32],pt=t.canUseDOM&&"CompositionEvent"in window,ft=null;t.canUseDOM&&"documentMode"in document&&(ft=document.documentMode);var mt=t.canUseDOM&&"TextEvent"in window&&!ft,gt=t.canUseDOM&&(!pt||ft&&8<ft&&11>=ft),vt=String.fromCharCode(32),bt={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},wt=!1;function yt(e,t){switch(e){case"keyup":return-1!==ht.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Et(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var St=!1,Ct={eventTypes:bt,extractEvents:function(e,t,n,a){var s=void 0,i=void 0;if(pt)e:{switch(e){case"compositionstart":s=bt.compositionStart;break e;case"compositionend":s=bt.compositionEnd;break e;case"compositionupdate":s=bt.compositionUpdate;break e}s=void 0}else St?yt(e,n)&&(s=bt.compositionEnd):"keydown"===e&&229===n.keyCode&&(s=bt.compositionStart);return s?(gt&&(St||s!==bt.compositionStart?s===bt.compositionEnd&&St&&(i=nt()):(tt._root=a,tt._startText=at(),St=!0)),s=ut.getPooled(s,t,n,a),i?s.data=i:null!==(i=Et(n))&&(s.data=i),je(s),i=s):i=null,(e=mt?function(e,t){switch(e){case"compositionend":return Et(t);case"keypress":return 32!==t.which?null:(wt=!0,vt);case"textInput":return(e=t.data)===vt&&wt?null:e;default:return null}}(e,n):function(e,t){if(St)return"compositionend"===e||!pt&&yt(e,t)?(e=nt(),tt._root=null,tt._startText=null,tt._fallbackText=null,St=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return gt?null:t.data;default:return null}}(e,n))?((t=dt.getPooled(bt.beforeInput,t,n,a)).data=e,je(t)):t=null,null===i?t:null===t?i:[i,t]}},Tt=null,Rt={injectFiberControlledHostComponent:function(e){Tt=e}},kt=null,xt=null;function _t(e){if(e=he(e)){Tt&&"function"==typeof Tt.restoreControlledState||X("194");var t=de(e.stateNode);Tt.restoreControlledState(e.stateNode,e.type,t)}}function Mt(e){kt?xt?xt.push(e):xt=[e]:kt=e}function Nt(){return null!==kt||null!==xt}function Pt(){if(kt){var e=kt,t=xt;if(xt=kt=null,_t(e),t)for(e=0;e<t.length;e++)_t(t[e])}}var Ut={injection:Rt,enqueueStateRestore:Mt,needsStateRestore:Nt,restoreStateIfNeeded:Pt};function Dt(e,t){return e(t)}function At(e,t,n){return e(t,n)}function It(){}var Ot=!1;function Lt(e,t){if(Ot)return e(t);Ot=!0;try{return Dt(e,t)}finally{Ot=!1,Nt()&&(It(),Pt())}}var Ft={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function qt(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Ft[e.type]:"textarea"===t}function jt(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function zt(e,n){return!(!t.canUseDOM||n&&!("addEventListener"in document))&&((n=(e="on"+e)in document)||((n=document.createElement("div")).setAttribute(e,"return;"),n="function"==typeof n[e]),n)}function Wt(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Vt(e){e._valueTracker||(e._valueTracker=function(e){var t=Wt(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var s=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(e){a=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Ht(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Wt(e)?e.checked?"true":"false":e.value),(e=a)!==n&&(t.setValue(e),!0)}var Bt=Y.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Gt="function"==typeof Symbol&&Symbol.for,Kt=Gt?Symbol.for("react.element"):60103,Qt=Gt?Symbol.for("react.portal"):60106,$t=Gt?Symbol.for("react.fragment"):60107,Jt=Gt?Symbol.for("react.strict_mode"):60108,Yt=Gt?Symbol.for("react.profiler"):60114,Xt=Gt?Symbol.for("react.provider"):60109,Zt=Gt?Symbol.for("react.context"):60110,en=Gt?Symbol.for("react.async_mode"):60111,tn=Gt?Symbol.for("react.forward_ref"):60112,nn=Gt?Symbol.for("react.timeout"):60113,an="function"==typeof Symbol&&Symbol.iterator;function sn(e){return null==e?null:"function"==typeof(e=an&&e[an]||e["@@iterator"])?e:null}function rn(e){var t=e.type;if("function"==typeof t)return t.displayName||t.name;if("string"==typeof t)return t;switch(t){case en:return"AsyncMode";case Zt:return"Context.Consumer";case $t:return"ReactFragment";case Qt:return"ReactPortal";case Yt:return"Profiler("+e.pendingProps.id+")";case Xt:return"Context.Provider";case Jt:return"StrictMode";case nn:return"Timeout"}if("object"==typeof t&&null!==t)switch(t.$$typeof){case tn:return""!==(e=t.render.displayName||t.render.name||"")?"ForwardRef("+e+")":"ForwardRef"}return null}function on(e){var t="";do{e:switch(e.tag){case 0:case 1:case 2:case 5:var n=e._debugOwner,a=e._debugSource,s=rn(e),i=null;n&&(i=rn(n)),s="\n in "+(s||"Unknown")+((n=a)?" (at "+n.fileName.replace(/^.*[\\\/]/,"")+":"+n.lineNumber+")":i?" (created by "+i+")":"");break e;default:s=""}t+=s,e=e.return}while(e);return t}var ln=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,cn=Object.prototype.hasOwnProperty,un={},dn={};function hn(e,t,n,a,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=a,this.attributeNamespace=s,this.mustUseProperty=n,this.propertyName=e,this.type=t}var pn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){pn[e]=new hn(e,0,!1,e,null)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];pn[t]=new hn(t,1,!1,e[1],null)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){pn[e]=new hn(e,2,!1,e.toLowerCase(),null)}),["autoReverse","externalResourcesRequired","preserveAlpha"].forEach(function(e){pn[e]=new hn(e,2,!1,e,null)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){pn[e]=new hn(e,3,!1,e.toLowerCase(),null)}),["checked","multiple","muted","selected"].forEach(function(e){pn[e]=new hn(e,3,!0,e.toLowerCase(),null)}),["capture","download"].forEach(function(e){pn[e]=new hn(e,4,!1,e.toLowerCase(),null)}),["cols","rows","size","span"].forEach(function(e){pn[e]=new hn(e,6,!1,e.toLowerCase(),null)}),["rowSpan","start"].forEach(function(e){pn[e]=new hn(e,5,!1,e.toLowerCase(),null)});var fn=/[\-:]([a-z])/g;function mn(e){return e[1].toUpperCase()}function gn(e,t,n,a){var s=pn.hasOwnProperty(t)?pn[t]:null;(null!==s?0===s.type:!a&&2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1]))||(function(e,t,n,a){if(null==t||function(e,t,n,a){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!a&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,a))return!0;if(a)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,s,a)&&(n=null),a||null===s?function(e){return!!cn.call(dn,e)||!cn.call(un,e)&&(ln.test(e)?dn[e]=!0:(un[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):s.mustUseProperty?e[s.propertyName]=null===n?3!==s.type&&"":n:(t=s.attributeName,a=s.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(s=s.type)||4===s&&!0===n?"":""+n,a?e.setAttributeNS(a,t,n):e.setAttribute(t,n))))}function vn(e,t){var n=t.checked;return g({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function bn(e,t){var n=null==t.defaultValue?"":t.defaultValue,a=null!=t.checked?t.checked:t.defaultChecked;n=Cn(null!=t.value?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function wn(e,t){null!=(t=t.checked)&&gn(e,"checked",t,!1)}function yn(e,t){wn(e,t);var n=Cn(t.value);null!=n&&("number"===t.type?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n)),t.hasOwnProperty("value")?Sn(e,t.type,n):t.hasOwnProperty("defaultValue")&&Sn(e,t.type,Cn(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function En(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){t=""+e._wrapperState.initialValue;var a=e.value;n||t===a||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==n&&(e.name=n)}function Sn(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function Cn(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(fn,mn);pn[t]=new hn(t,1,!1,e,null)}),"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(fn,mn);pn[t]=new hn(t,1,!1,e,"http://www.w3.org/1999/xlink")}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(fn,mn);pn[t]=new hn(t,1,!1,e,"http://www.w3.org/XML/1998/namespace")}),pn.tabIndex=new hn("tabIndex",1,!1,"tabindex",null);var Tn={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function Rn(e,t,n){return(e=rt.getPooled(Tn.change,e,t,n)).type="change",Mt(n),je(e),e}var kn=null,xn=null;function _n(e){Ce(e,!1)}function Mn(e){if(Ht(Ne(e)))return e}function Nn(e,t){if("change"===e)return t}var Pn=!1;function Un(){kn&&(kn.detachEvent("onpropertychange",Dn),xn=kn=null)}function Dn(e){"value"===e.propertyName&&Mn(xn)&&Lt(_n,e=Rn(xn,e,jt(e)))}function An(e,t,n){"focus"===e?(Un(),xn=n,(kn=t).attachEvent("onpropertychange",Dn)):"blur"===e&&Un()}function In(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Mn(xn)}function On(e,t){if("click"===e)return Mn(t)}function Ln(e,t){if("input"===e||"change"===e)return Mn(t)}t.canUseDOM&&(Pn=zt("input")&&(!document.documentMode||9<document.documentMode));var Fn={eventTypes:Tn,_isInputEventSupported:Pn,extractEvents:function(e,t,n,a){var s=t?Ne(t):window,i=void 0,r=void 0,o=s.nodeName&&s.nodeName.toLowerCase();if("select"===o||"input"===o&&"file"===s.type?i=Nn:qt(s)?Pn?i=Ln:(i=In,r=An):(o=s.nodeName)&&"input"===o.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(i=On),i&&(i=i(e,t)))return Rn(i,n,a);r&&r(e,s,t),"blur"===e&&(e=s._wrapperState)&&e.controlled&&"number"===s.type&&Sn(s,"number",s.value)}},qn=rt.extend({view:null,detail:null}),jn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function zn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=jn[e])&&!!t[e]}function Wn(){return zn}var Vn=qn.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Wn,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)}}),Hn=Vn.extend({pointerId:null,width:null,height:null,pressure:null,tiltX:null,tiltY:null,pointerType:null,isPrimary:null}),Bn={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Gn={eventTypes:Bn,extractEvents:function(e,t,n,a){var s="mouseover"===e||"pointerover"===e,i="mouseout"===e||"pointerout"===e;if(s&&(n.relatedTarget||n.fromElement)||!i&&!s)return null;if(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,i?(i=t,t=(t=n.relatedTarget||n.toElement)?Me(t):null):i=null,i===t)return null;var r=void 0,o=void 0,l=void 0,c=void 0;return"mouseout"===e||"mouseover"===e?(r=Vn,o=Bn.mouseLeave,l=Bn.mouseEnter,c="mouse"):"pointerout"!==e&&"pointerover"!==e||(r=Hn,o=Bn.pointerLeave,l=Bn.pointerEnter,c="pointer"),e=null==i?s:Ne(i),s=null==t?s:Ne(t),(o=r.getPooled(o,i,n,a)).type=c+"leave",o.target=e,o.relatedTarget=s,(n=r.getPooled(l,t,n,a)).type=c+"enter",n.target=s,n.relatedTarget=e,ze(o,n,i,t),[o,n]}};function Kn(e){var t=e;if(e.alternate)for(;t.return;)t=t.return;else{if(0!=(2&t.effectTag))return 1;for(;t.return;)if(0!=(2&(t=t.return).effectTag))return 1}return 3===t.tag?2:3}function Qn(e){2!==Kn(e)&&X("188")}function $n(e){if(!(e=function(e){var t=e.alternate;if(!t)return 3===(t=Kn(e))&&X("188"),1===t?null:e;for(var n=e,a=t;;){var s=n.return,i=s?s.alternate:null;if(!s||!i)break;if(s.child===i.child){for(var r=s.child;r;){if(r===n)return Qn(s),e;if(r===a)return Qn(s),t;r=r.sibling}X("188")}if(n.return!==a.return)n=s,a=i;else{r=!1;for(var o=s.child;o;){if(o===n){r=!0,n=s,a=i;break}if(o===a){r=!0,a=s,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=s;break}if(o===a){r=!0,a=i,n=s;break}o=o.sibling}r||X("189")}}n.alternate!==a&&X("190")}return 3!==n.tag&&X("188"),n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var Jn=rt.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Yn=rt.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Xn=qn.extend({relatedTarget:null});function Zn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var ea={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ta={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},na=qn.extend({key:function(e){if(e.key){var t=ea[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Zn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?ta[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Wn,charCode:function(e){return"keypress"===e.type?Zn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Zn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),aa=Vn.extend({dataTransfer:null}),sa=qn.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Wn}),ia=rt.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),ra=Vn.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),oa=[["abort","abort"],[Qe,"animationEnd"],[$e,"animationIteration"],[Je,"animationStart"],["canplay","canPlay"],["canplaythrough","canPlayThrough"],["drag","drag"],["dragenter","dragEnter"],["dragexit","dragExit"],["dragleave","dragLeave"],["dragover","dragOver"],["durationchange","durationChange"],["emptied","emptied"],["encrypted","encrypted"],["ended","ended"],["error","error"],["gotpointercapture","gotPointerCapture"],["load","load"],["loadeddata","loadedData"],["loadedmetadata","loadedMetadata"],["loadstart","loadStart"],["lostpointercapture","lostPointerCapture"],["mousemove","mouseMove"],["mouseout","mouseOut"],["mouseover","mouseOver"],["playing","playing"],["pointermove","pointerMove"],["pointerout","pointerOut"],["pointerover","pointerOver"],["progress","progress"],["scroll","scroll"],["seeking","seeking"],["stalled","stalled"],["suspend","suspend"],["timeupdate","timeUpdate"],["toggle","toggle"],["touchmove","touchMove"],[Ye,"transitionEnd"],["waiting","waiting"],["wheel","wheel"]],la={},ca={};function ua(e,t){var n=e[0],a="on"+((e=e[1])[0].toUpperCase()+e.slice(1));t={phasedRegistrationNames:{bubbled:a,captured:a+"Capture"},dependencies:[n],isInteractive:t},la[e]=t,ca[n]=t}[["blur","blur"],["cancel","cancel"],["click","click"],["close","close"],["contextmenu","contextMenu"],["copy","copy"],["cut","cut"],["dblclick","doubleClick"],["dragend","dragEnd"],["dragstart","dragStart"],["drop","drop"],["focus","focus"],["input","input"],["invalid","invalid"],["keydown","keyDown"],["keypress","keyPress"],["keyup","keyUp"],["mousedown","mouseDown"],["mouseup","mouseUp"],["paste","paste"],["pause","pause"],["play","play"],["pointercancel","pointerCancel"],["pointerdown","pointerDown"],["pointerup","pointerUp"],["ratechange","rateChange"],["reset","reset"],["seeked","seeked"],["submit","submit"],["touchcancel","touchCancel"],["touchend","touchEnd"],["touchstart","touchStart"],["volumechange","volumeChange"]].forEach(function(e){ua(e,!0)}),oa.forEach(function(e){ua(e,!1)});var da={eventTypes:la,isInteractiveTopLevelEventType:function(e){return void 0!==(e=ca[e])&&!0===e.isInteractive},extractEvents:function(e,t,n,a){var s=ca[e];if(!s)return null;switch(e){case"keypress":if(0===Zn(n))return null;case"keydown":case"keyup":e=na;break;case"blur":case"focus":e=Xn;break;case"click":if(2===n.button)return null;case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=Vn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=aa;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=sa;break;case Qe:case $e:case Je:e=Jn;break;case Ye:e=ia;break;case"scroll":e=qn;break;case"wheel":e=ra;break;case"copy":case"cut":case"paste":e=Yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=Hn;break;default:e=rt}return je(t=e.getPooled(s,t,n,a)),t}},ha=da.isInteractiveTopLevelEventType,pa=[];function fa(e){var t=e.targetInst;do{if(!t){e.ancestors.push(t);break}var n;for(n=t;n.return;)n=n.return;if(!(n=3!==n.tag?null:n.stateNode.containerInfo))break;e.ancestors.push(t),t=Me(n)}while(t);for(n=0;n<e.ancestors.length;n++)t=e.ancestors[n],Te(e.topLevelType,t,e.nativeEvent,jt(e.nativeEvent))}var ma=!0;function ga(e){ma=!!e}function va(e,t){if(!t)return null;var n=(ha(e)?wa:ya).bind(null,e);t.addEventListener(e,n,!1)}function ba(e,t){if(!t)return null;var n=(ha(e)?wa:ya).bind(null,e);t.addEventListener(e,n,!0)}function wa(e,t){At(ya,e,t)}function ya(e,t){if(ma){var n=jt(t);if(null===(n=Me(n))||"number"!=typeof n.tag||2===Kn(n)||(n=null),pa.length){var a=pa.pop();a.topLevelType=e,a.nativeEvent=t,a.targetInst=n,e=a}else e={topLevelType:e,nativeEvent:t,targetInst:n,ancestors:[]};try{Lt(fa,e)}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>pa.length&&pa.push(e)}}}var Ea={get _enabled(){return ma},setEnabled:ga,isEnabled:function(){return ma},trapBubbledEvent:va,trapCapturedEvent:ba,dispatchEvent:ya},Sa={},Ca=0,Ta="_reactListenersID"+(""+Math.random()).slice(2);function Ra(e){return Object.prototype.hasOwnProperty.call(e,Ta)||(e[Ta]=Ca++,Sa[e[Ta]]={}),Sa[e[Ta]]}function ka(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function xa(e,t){var n,a=ka(e);for(e=0;a;){if(3===a.nodeType){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=ka(a)}}function _a(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var Ma=t.canUseDOM&&"documentMode"in document&&11>=document.documentMode,Na={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Pa=null,Ua=null,Da=null,Aa=!1;function Ia(e,t){if(Aa||null==Pa||Pa!==l())return null;var n=Pa;return n="selectionStart"in n&&_a(n)?{start:n.selectionStart,end:n.selectionEnd}:window.getSelection?{anchorNode:(n=window.getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}:void 0,Da&&h(Da,n)?null:(Da=n,(e=rt.getPooled(Na.select,Ua,e,t)).type="select",e.target=Pa,je(e),e)}var Oa={eventTypes:Na,extractEvents:function(e,t,n,a){var s,i=a.window===a?a.document:9===a.nodeType?a:a.ownerDocument;if(!(s=!i)){e:{i=Ra(i),s=oe.onSelect;for(var r=0;r<s.length;r++){var o=s[r];if(!i.hasOwnProperty(o)||!i[o]){i=!1;break e}}i=!0}s=!i}if(s)return null;switch(i=t?Ne(t):window,e){case"focus":(qt(i)||"true"===i.contentEditable)&&(Pa=i,Ua=t,Da=null);break;case"blur":Da=Ua=Pa=null;break;case"mousedown":Aa=!0;break;case"contextmenu":case"mouseup":return Aa=!1,Ia(n,a);case"selectionchange":if(Ma)break;case"keydown":case"keyup":return Ia(n,a)}return null}};Ee.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),de=Ue.getFiberCurrentPropsFromNode,he=Ue.getInstanceFromNode,pe=Ue.getNodeFromInstance,Ee.injectEventPluginsByName({SimpleEventPlugin:da,EnterLeaveEventPlugin:Gn,ChangeEventPlugin:Fn,SelectEventPlugin:Oa,BeforeInputEventPlugin:Ct});var La="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,Fa=Date,qa=setTimeout,ja=clearTimeout,za=void 0;if("object"==typeof performance&&"function"==typeof performance.now){var Wa=performance;za=function(){return Wa.now()}}else za=function(){return Fa.now()};var Va=void 0,Ha=void 0;if(t.canUseDOM){var Ba="function"==typeof La?La:function(){X("276")},Ga=null,Ka=null,Qa=-1,$a=!1,Ja=!1,Ya=0,Xa=33,Za=33,es={didTimeout:!1,timeRemaining:function(){var e=Ya-za();return 0<e?e:0}},ts=function(e,t){var n=e.scheduledCallback,a=!1;try{n(t),a=!0}finally{Ha(e),a||($a=!0,window.postMessage(ns,"*"))}},ns="__reactIdleCallback$"+Math.random().toString(36).slice(2);window.addEventListener("message",function(e){if(e.source===window&&e.data===ns&&($a=!1,null!==Ga)){if(null!==Ga){var t=za();if(!(-1===Qa||Qa>t)){e=-1;for(var n=[],a=Ga;null!==a;){var s=a.timeoutTime;-1!==s&&s<=t?n.push(a):-1!==s&&(-1===e||s<e)&&(e=s),a=a.next}if(0<n.length)for(es.didTimeout=!0,t=0,a=n.length;t<a;t++)ts(n[t],es);Qa=e}}for(e=za();0<Ya-e&&null!==Ga;)e=Ga,es.didTimeout=!1,ts(e,es),e=za();null===Ga||Ja||(Ja=!0,Ba(as))}},!1);var as=function(e){Ja=!1;var t=e-Ya+Za;t<Za&&Xa<Za?(8>t&&(t=8),Za=t<Xa?Xa:t):Xa=t,Ya=e+Za,$a||($a=!0,window.postMessage(ns,"*"))};Va=function(e,t){var n=-1;return null!=t&&"number"==typeof t.timeout&&(n=za()+t.timeout),(-1===Qa||-1!==n&&n<Qa)&&(Qa=n),e={scheduledCallback:e,timeoutTime:n,prev:null,next:null},null===Ga?Ga=e:null!==(t=e.prev=Ka)&&(t.next=e),Ka=e,Ja||(Ja=!0,Ba(as)),e},Ha=function(e){if(null!==e.prev||Ga===e){var t=e.next,n=e.prev;e.next=null,e.prev=null,null!==t?null!==n?(n.next=t,t.prev=n):(t.prev=null,Ga=t):null!==n?(n.next=null,Ka=n):Ka=Ga=null}}}else{var ss=new Map;Va=function(e){var t={scheduledCallback:e,timeoutTime:0,next:null,prev:null},n=qa(function(){e({timeRemaining:function(){return 1/0},didTimeout:!1})});return ss.set(e,n),t},Ha=function(e){var t=ss.get(e.scheduledCallback);ss.delete(e),ja(t)}}function is(e,t){return e=g({children:void 0},t),(t=function(e){var t="";return Y.Children.forEach(e,function(e){null==e||"string"!=typeof e&&"number"!=typeof e||(t+=e)}),t}(t.children))&&(e.children=t),e}function rs(e,t,n,a){if(e=e.options,t){t={};for(var s=0;s<n.length;s++)t["$"+n[s]]=!0;for(n=0;n<e.length;n++)s=t.hasOwnProperty("$"+e[n].value),e[n].selected!==s&&(e[n].selected=s),s&&a&&(e[n].defaultSelected=!0)}else{for(n=""+n,t=null,s=0;s<e.length;s++){if(e[s].value===n)return e[s].selected=!0,void(a&&(e[s].defaultSelected=!0));null!==t||e[s].disabled||(t=e[s])}null!==t&&(t.selected=!0)}}function os(e,t){var n=t.value;e._wrapperState={initialValue:null!=n?n:t.defaultValue,wasMultiple:!!t.multiple}}function ls(e,t){return null!=t.dangerouslySetInnerHTML&&X("91"),g({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function cs(e,t){var n=t.value;null==n&&(n=t.defaultValue,null!=(t=t.children)&&(null!=n&&X("92"),Array.isArray(t)&&(1>=t.length||X("93"),t=t[0]),n=""+t),null==n&&(n="")),e._wrapperState={initialValue:""+n}}function us(e,t){var n=t.value;null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function ds(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}var hs={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function ps(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function fs(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ps(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ms,gs=void 0,vs=(ms=function(e,t){if(e.namespaceURI!==hs.svg||"innerHTML"in e)e.innerHTML=t;else{for((gs=gs||document.createElement("div")).innerHTML="<svg>"+t+"</svg>",t=gs.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,a){MSApp.execUnsafeLocalFunction(function(){return ms(e,t)})}:ms);function bs(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ws={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ys=["Webkit","ms","Moz","O"];function Es(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var a=0===n.indexOf("--"),s=n,i=t[n];s=null==i||"boolean"==typeof i||""===i?"":a||"number"!=typeof i||0===i||ws.hasOwnProperty(s)&&ws[s]?(""+i).trim():i+"px","float"===n&&(n="cssFloat"),a?e.setProperty(n,s):e[n]=s}}Object.keys(ws).forEach(function(e){ys.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ws[t]=ws[e]})});var Ss=g({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Cs(e,t,n){t&&(Ss[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&X("137",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&X("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||X("61")),null!=t.style&&"object"!=typeof t.style&&X("62",n()))}function Ts(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Rs=s.thatReturns("");function ks(e,t){var n=Ra(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=oe[t];for(var a=0;a<t.length;a++){var s=t[a];if(!n.hasOwnProperty(s)||!n[s]){switch(s){case"scroll":ba("scroll",e);break;case"focus":case"blur":ba("focus",e),ba("blur",e),n.blur=!0,n.focus=!0;break;case"cancel":case"close":zt(s,!0)&&ba(s,e);break;case"invalid":case"submit":case"reset":break;default:-1===Xe.indexOf(s)&&va(s,e)}n[s]=!0}}}function xs(e,t,n,a){return n=9===n.nodeType?n:n.ownerDocument,a===hs.html&&(a=ps(e)),a===hs.html?"script"===e?((e=n.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):e="string"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(a,e),e}function _s(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function Ms(e,t,n,a){var i=Ts(t,n);switch(t){case"iframe":case"object":va("load",e);var r=n;break;case"video":case"audio":for(r=0;r<Xe.length;r++)va(Xe[r],e);r=n;break;case"source":va("error",e),r=n;break;case"img":case"image":case"link":va("error",e),va("load",e),r=n;break;case"form":va("reset",e),va("submit",e),r=n;break;case"details":va("toggle",e),r=n;break;case"input":bn(e,n),r=vn(e,n),va("invalid",e),ks(a,"onChange");break;case"option":r=is(e,n);break;case"select":os(e,n),r=g({},n,{value:void 0}),va("invalid",e),ks(a,"onChange");break;case"textarea":cs(e,n),r=ls(e,n),va("invalid",e),ks(a,"onChange");break;default:r=n}Cs(t,r,Rs);var o,l=r;for(o in l)if(l.hasOwnProperty(o)){var c=l[o];"style"===o?Es(e,c):"dangerouslySetInnerHTML"===o?null!=(c=c?c.__html:void 0)&&vs(e,c):"children"===o?"string"==typeof c?("textarea"!==t||""!==c)&&bs(e,c):"number"==typeof c&&bs(e,""+c):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(re.hasOwnProperty(o)?null!=c&&ks(a,o):null!=c&&gn(e,o,c,i))}switch(t){case"input":Vt(e),En(e,n,!1);break;case"textarea":Vt(e),ds(e);break;case"option":null!=n.value&&e.setAttribute("value",n.value);break;case"select":e.multiple=!!n.multiple,null!=(t=n.value)?rs(e,!!n.multiple,t,!1):null!=n.defaultValue&&rs(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof r.onClick&&(e.onclick=s)}}function Ns(e,t,n,a,i){var r=null;switch(t){case"input":n=vn(e,n),a=vn(e,a),r=[];break;case"option":n=is(e,n),a=is(e,a),r=[];break;case"select":n=g({},n,{value:void 0}),a=g({},a,{value:void 0}),r=[];break;case"textarea":n=ls(e,n),a=ls(e,a),r=[];break;default:"function"!=typeof n.onClick&&"function"==typeof a.onClick&&(e.onclick=s)}Cs(t,a,Rs),t=e=void 0;var o=null;for(e in n)if(!a.hasOwnProperty(e)&&n.hasOwnProperty(e)&&null!=n[e])if("style"===e){var l=n[e];for(t in l)l.hasOwnProperty(t)&&(o||(o={}),o[t]="")}else"dangerouslySetInnerHTML"!==e&&"children"!==e&&"suppressContentEditableWarning"!==e&&"suppressHydrationWarning"!==e&&"autoFocus"!==e&&(re.hasOwnProperty(e)?r||(r=[]):(r=r||[]).push(e,null));for(e in a){var c=a[e];if(l=null!=n?n[e]:void 0,a.hasOwnProperty(e)&&c!==l&&(null!=c||null!=l))if("style"===e)if(l){for(t in l)!l.hasOwnProperty(t)||c&&c.hasOwnProperty(t)||(o||(o={}),o[t]="");for(t in c)c.hasOwnProperty(t)&&l[t]!==c[t]&&(o||(o={}),o[t]=c[t])}else o||(r||(r=[]),r.push(e,o)),o=c;else"dangerouslySetInnerHTML"===e?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(r=r||[]).push(e,""+c)):"children"===e?l===c||"string"!=typeof c&&"number"!=typeof c||(r=r||[]).push(e,""+c):"suppressContentEditableWarning"!==e&&"suppressHydrationWarning"!==e&&(re.hasOwnProperty(e)?(null!=c&&ks(i,e),r||l===c||(r=[])):(r=r||[]).push(e,c))}return o&&(r=r||[]).push("style",o),r}function Ps(e,t,n,a,s){"input"===n&&"radio"===s.type&&null!=s.name&&wn(e,s),Ts(n,a),a=Ts(n,s);for(var i=0;i<t.length;i+=2){var r=t[i],o=t[i+1];"style"===r?Es(e,o):"dangerouslySetInnerHTML"===r?vs(e,o):"children"===r?bs(e,o):gn(e,r,o,a)}switch(n){case"input":yn(e,s);break;case"textarea":us(e,s);break;case"select":e._wrapperState.initialValue=void 0,t=e._wrapperState.wasMultiple,e._wrapperState.wasMultiple=!!s.multiple,null!=(n=s.value)?rs(e,!!s.multiple,n,!1):t!==!!s.multiple&&(null!=s.defaultValue?rs(e,!!s.multiple,s.defaultValue,!0):rs(e,!!s.multiple,s.multiple?[]:"",!1))}}function Us(e,t,n,a,i){switch(t){case"iframe":case"object":va("load",e);break;case"video":case"audio":for(a=0;a<Xe.length;a++)va(Xe[a],e);break;case"source":va("error",e);break;case"img":case"image":case"link":va("error",e),va("load",e);break;case"form":va("reset",e),va("submit",e);break;case"details":va("toggle",e);break;case"input":bn(e,n),va("invalid",e),ks(i,"onChange");break;case"select":os(e,n),va("invalid",e),ks(i,"onChange");break;case"textarea":cs(e,n),va("invalid",e),ks(i,"onChange")}for(var r in Cs(t,n,Rs),a=null,n)if(n.hasOwnProperty(r)){var o=n[r];"children"===r?"string"==typeof o?e.textContent!==o&&(a=["children",o]):"number"==typeof o&&e.textContent!==""+o&&(a=["children",""+o]):re.hasOwnProperty(r)&&null!=o&&ks(i,r)}switch(t){case"input":Vt(e),En(e,n,!0);break;case"textarea":Vt(e),ds(e);break;case"select":case"option":break;default:"function"==typeof n.onClick&&(e.onclick=s)}return a}function Ds(e,t){return e.nodeValue!==t}var As={createElement:xs,createTextNode:_s,setInitialProperties:Ms,diffProperties:Ns,updateProperties:Ps,diffHydratedProperties:Us,diffHydratedText:Ds,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(e,t,n){switch(t){case"input":if(yn(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var s=Pe(a);s||X("90"),Ht(a),yn(a,s)}}}break;case"textarea":us(e,n);break;case"select":null!=(t=n.value)&&rs(e,!!n.multiple,t,!1)}}},Is=null,Os=null;function Ls(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Fs(e,t){return"textarea"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&"string"==typeof t.dangerouslySetInnerHTML.__html}var qs=za,js=Va,zs=Ha;function Ws(e){for(e=e.nextSibling;e&&1!==e.nodeType&&3!==e.nodeType;)e=e.nextSibling;return e}function Vs(e){for(e=e.firstChild;e&&1!==e.nodeType&&3!==e.nodeType;)e=e.nextSibling;return e}new Set;var Hs=[],Bs=-1;function Gs(e){return{current:e}}function Ks(e){0>Bs||(e.current=Hs[Bs],Hs[Bs]=null,Bs--)}function Qs(e,t){Hs[++Bs]=e.current,e.current=t}var $s=Gs(o),Js=Gs(!1),Ys=o;function Xs(e){return ei(e)?Ys:$s.current}function Zs(e,t){var n=e.type.contextTypes;if(!n)return o;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var s,i={};for(s in n)i[s]=t[s];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function ei(e){return 2===e.tag&&null!=e.type.childContextTypes}function ti(e){ei(e)&&(Ks(Js),Ks($s))}function ni(e){Ks(Js),Ks($s)}function ai(e,t,n){$s.current!==o&&X("168"),Qs($s,t),Qs(Js,n)}function si(e,t){var n=e.stateNode,a=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var s in n=n.getChildContext())s in a||X("108",rn(e)||"Unknown",s);return g({},t,n)}function ii(e){if(!ei(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||o,Ys=$s.current,Qs($s,t),Qs(Js,Js.current),!0}function ri(e,t){var n=e.stateNode;if(n||X("169"),t){var a=si(e,Ys);n.__reactInternalMemoizedMergedChildContext=a,Ks(Js),Ks($s),Qs($s,a)}else Ks(Js);Qs(Js,t)}function oi(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=null,this.index=0,this.ref=null,this.pendingProps=t,this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function li(e,t,n){var a=e.alternate;return null===a?((a=new oi(e.tag,t,e.key,e.mode)).type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.effectTag=0,a.nextEffect=null,a.firstEffect=null,a.lastEffect=null),a.expirationTime=n,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function ci(e,t,n){var a=e.type,s=e.key;if(e=e.props,"function"==typeof a)var i=a.prototype&&a.prototype.isReactComponent?2:0;else if("string"==typeof a)i=5;else switch(a){case $t:return ui(e.children,t,n,s);case en:i=11,t|=3;break;case Jt:i=11,t|=2;break;case Yt:return(a=new oi(15,e,s,4|t)).type=Yt,a.expirationTime=n,a;case nn:i=16,t|=2;break;default:e:{switch("object"==typeof a&&null!==a?a.$$typeof:null){case Xt:i=13;break e;case Zt:i=12;break e;case tn:i=14;break e;default:X("130",null==a?a:typeof a,"")}i=void 0}}return(t=new oi(i,e,s,t)).type=a,t.expirationTime=n,t}function ui(e,t,n,a){return(e=new oi(10,e,a,t)).expirationTime=n,e}function di(e,t,n){return(e=new oi(6,e,null,t)).expirationTime=n,e}function hi(e,t,n){return(t=new oi(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var pi=null,fi=null;function mi(e){return function(t){try{return e(t)}catch(e){}}}var gi=!1;function vi(e){return{expirationTime:0,baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function bi(e){return{expirationTime:e.expirationTime,baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function wi(e){return{expirationTime:e,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function yi(e,t,n){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t),(0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n)}function Ei(e,t,n){var a=e.alternate;if(null===a){var s=e.updateQueue,i=null;null===s&&(s=e.updateQueue=vi(e.memoizedState))}else s=e.updateQueue,i=a.updateQueue,null===s?null===i?(s=e.updateQueue=vi(e.memoizedState),i=a.updateQueue=vi(a.memoizedState)):s=e.updateQueue=bi(i):null===i&&(i=a.updateQueue=bi(s));null===i||s===i?yi(s,t,n):null===s.lastUpdate||null===i.lastUpdate?(yi(s,t,n),yi(i,t,n)):(yi(s,t,n),i.lastUpdate=t)}function Si(e,t,n){var a=e.updateQueue;null===(a=null===a?e.updateQueue=vi(e.memoizedState):Ci(e,a)).lastCapturedUpdate?a.firstCapturedUpdate=a.lastCapturedUpdate=t:(a.lastCapturedUpdate.next=t,a.lastCapturedUpdate=t),(0===a.expirationTime||a.expirationTime>n)&&(a.expirationTime=n)}function Ci(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=bi(t)),t}function Ti(e,t,n,a,s,i){switch(n.tag){case 1:return"function"==typeof(e=n.payload)?e.call(i,a,s):e;case 3:e.effectTag=-1025&e.effectTag|64;case 0:if(null==(s="function"==typeof(e=n.payload)?e.call(i,a,s):e))break;return g({},a,s);case 2:gi=!0}return a}function Ri(e,t,n,a,s){if(gi=!1,!(0===t.expirationTime||t.expirationTime>s)){for(var i=(t=Ci(e,t)).baseState,r=null,o=0,l=t.firstUpdate,c=i;null!==l;){var u=l.expirationTime;u>s?(null===r&&(r=l,i=c),(0===o||o>u)&&(o=u)):(c=Ti(e,0,l,c,n,a),null!==l.callback&&(e.effectTag|=32,l.nextEffect=null,null===t.lastEffect?t.firstEffect=t.lastEffect=l:(t.lastEffect.nextEffect=l,t.lastEffect=l))),l=l.next}for(u=null,l=t.firstCapturedUpdate;null!==l;){var d=l.expirationTime;d>s?(null===u&&(u=l,null===r&&(i=c)),(0===o||o>d)&&(o=d)):(c=Ti(e,0,l,c,n,a),null!==l.callback&&(e.effectTag|=32,l.nextEffect=null,null===t.lastCapturedEffect?t.firstCapturedEffect=t.lastCapturedEffect=l:(t.lastCapturedEffect.nextEffect=l,t.lastCapturedEffect=l))),l=l.next}null===r&&(t.lastUpdate=null),null===u?t.lastCapturedUpdate=null:e.effectTag|=32,null===r&&null===u&&(i=c),t.baseState=i,t.firstUpdate=r,t.firstCapturedUpdate=u,t.expirationTime=o,e.memoizedState=c}}function ki(e,t){"function"!=typeof e&&X("191",e),e.call(t)}function xi(e,t,n){for(null!==t.firstCapturedUpdate&&(null!==t.lastUpdate&&(t.lastUpdate.next=t.firstCapturedUpdate,t.lastUpdate=t.lastCapturedUpdate),t.firstCapturedUpdate=t.lastCapturedUpdate=null),e=t.firstEffect,t.firstEffect=t.lastEffect=null;null!==e;){var a=e.callback;null!==a&&(e.callback=null,ki(a,n)),e=e.nextEffect}for(e=t.firstCapturedEffect,t.firstCapturedEffect=t.lastCapturedEffect=null;null!==e;)null!==(t=e.callback)&&(e.callback=null,ki(t,n)),e=e.nextEffect}function _i(e,t){return{value:e,source:t,stack:on(t)}}var Mi=Gs(null),Ni=Gs(null),Pi=Gs(0);function Ui(e){var t=e.type._context;Qs(Pi,t._changedBits),Qs(Ni,t._currentValue),Qs(Mi,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode}function Di(e){var t=Pi.current,n=Ni.current;Ks(Mi),Ks(Ni),Ks(Pi),(e=e.type._context)._currentValue=n,e._changedBits=t}var Ai={},Ii=Gs(Ai),Oi=Gs(Ai),Li=Gs(Ai);function Fi(e){return e===Ai&&X("174"),e}function qi(e,t){Qs(Li,t),Qs(Oi,e),Qs(Ii,Ai);var n=t.nodeType;switch(n){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fs(null,"");break;default:t=fs(t=(n=8===n?t.parentNode:t).namespaceURI||null,n=n.tagName)}Ks(Ii),Qs(Ii,t)}function ji(e){Ks(Ii),Ks(Oi),Ks(Li)}function zi(e){Oi.current===e&&(Ks(Ii),Ks(Oi))}function Wi(e,t,n){var a=e.memoizedState;a=null==(t=t(n,a))?a:g({},a,t),e.memoizedState=a,null!==(e=e.updateQueue)&&0===e.expirationTime&&(e.baseState=a)}var Vi={isMounted:function(e){return!!(e=e._reactInternalFiber)&&2===Kn(e)},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var a=Zr(),s=wi(a=Yr(a,e));s.payload=t,null!=n&&(s.callback=n),Ei(e,s,a),Xr(e,a)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var a=Zr(),s=wi(a=Yr(a,e));s.tag=1,s.payload=t,null!=n&&(s.callback=n),Ei(e,s,a),Xr(e,a)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=Zr(),a=wi(n=Yr(n,e));a.tag=2,null!=t&&(a.callback=t),Ei(e,a,n),Xr(e,n)}};function Hi(e,t,n,a,s,i){var r=e.stateNode;return e=e.type,"function"==typeof r.shouldComponentUpdate?r.shouldComponentUpdate(n,s,i):!(e.prototype&&e.prototype.isPureReactComponent&&h(t,n)&&h(a,s))}function Bi(e,t,n,a){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,a),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Vi.enqueueReplaceState(t,t.state,null)}function Gi(e,t){var n=e.type,a=e.stateNode,s=e.pendingProps,i=Xs(e);a.props=s,a.state=e.memoizedState,a.refs=o,a.context=Zs(e,i),null!==(i=e.updateQueue)&&(Ri(e,i,s,a,t),a.state=e.memoizedState),"function"==typeof(i=e.type.getDerivedStateFromProps)&&(Wi(e,i,s),a.state=e.memoizedState),"function"==typeof n.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(n=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),n!==a.state&&Vi.enqueueReplaceState(a,a.state,null),null!==(i=e.updateQueue)&&(Ri(e,i,s,a,t),a.state=e.memoizedState)),"function"==typeof a.componentDidMount&&(e.effectTag|=4)}var Ki=Array.isArray;function Qi(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){n=n._owner;var a=void 0;n&&(2!==n.tag&&X("110"),a=n.stateNode),a||X("147",e);var s=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===s?t.ref:((t=function(e){var t=a.refs===o?a.refs={}:a.refs;null===e?delete t[s]:t[s]=e})._stringRef=s,t)}"string"!=typeof e&&X("148"),n._owner||X("254",e)}return e}function $i(e,t){"textarea"!==e.type&&X("31","[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,"")}function Ji(e){function t(t,n){if(e){var a=t.lastEffect;null!==a?(a.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,a){if(!e)return null;for(;null!==a;)t(n,a),a=a.sibling;return null}function a(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function s(e,t,n){return(e=li(e,t,n)).index=0,e.sibling=null,e}function i(t,n,a){return t.index=a,e?null!==(a=t.alternate)?(a=a.index)<n?(t.effectTag=2,n):a:(t.effectTag=2,n):n}function r(t){return e&&null===t.alternate&&(t.effectTag=2),t}function o(e,t,n,a){return null===t||6!==t.tag?((t=di(n,e.mode,a)).return=e,t):((t=s(t,n,a)).return=e,t)}function l(e,t,n,a){return null!==t&&t.type===n.type?((a=s(t,n.props,a)).ref=Qi(e,t,n),a.return=e,a):((a=ci(n,e.mode,a)).ref=Qi(e,t,n),a.return=e,a)}function c(e,t,n,a){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=hi(n,e.mode,a)).return=e,t):((t=s(t,n.children||[],a)).return=e,t)}function u(e,t,n,a,i){return null===t||10!==t.tag?((t=ui(n,e.mode,a,i)).return=e,t):((t=s(t,n,a)).return=e,t)}function d(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=di(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case Kt:return(n=ci(t,e.mode,n)).ref=Qi(e,null,t),n.return=e,n;case Qt:return(t=hi(t,e.mode,n)).return=e,t}if(Ki(t)||sn(t))return(t=ui(t,e.mode,n,null)).return=e,t;$i(e,t)}return null}function h(e,t,n,a){var s=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==s?null:o(e,t,""+n,a);if("object"==typeof n&&null!==n){switch(n.$$typeof){case Kt:return n.key===s?n.type===$t?u(e,t,n.props.children,a,s):l(e,t,n,a):null;case Qt:return n.key===s?c(e,t,n,a):null}if(Ki(n)||sn(n))return null!==s?null:u(e,t,n,a,null);$i(e,n)}return null}function p(e,t,n,a,s){if("string"==typeof a||"number"==typeof a)return o(t,e=e.get(n)||null,""+a,s);if("object"==typeof a&&null!==a){switch(a.$$typeof){case Kt:return e=e.get(null===a.key?n:a.key)||null,a.type===$t?u(t,e,a.props.children,s,a.key):l(t,e,a,s);case Qt:return c(t,e=e.get(null===a.key?n:a.key)||null,a,s)}if(Ki(a)||sn(a))return u(t,e=e.get(n)||null,a,s,null);$i(t,a)}return null}function f(s,r,o,l){for(var c=null,u=null,f=r,m=r=0,g=null;null!==f&&m<o.length;m++){f.index>m?(g=f,f=null):g=f.sibling;var v=h(s,f,o[m],l);if(null===v){null===f&&(f=g);break}e&&f&&null===v.alternate&&t(s,f),r=i(v,r,m),null===u?c=v:u.sibling=v,u=v,f=g}if(m===o.length)return n(s,f),c;if(null===f){for(;m<o.length;m++)(f=d(s,o[m],l))&&(r=i(f,r,m),null===u?c=f:u.sibling=f,u=f);return c}for(f=a(s,f);m<o.length;m++)(g=p(f,s,m,o[m],l))&&(e&&null!==g.alternate&&f.delete(null===g.key?m:g.key),r=i(g,r,m),null===u?c=g:u.sibling=g,u=g);return e&&f.forEach(function(e){return t(s,e)}),c}function m(s,r,o,l){var c=sn(o);"function"!=typeof c&&X("150"),null==(o=c.call(o))&&X("151");for(var u=c=null,f=r,m=r=0,g=null,v=o.next();null!==f&&!v.done;m++,v=o.next()){f.index>m?(g=f,f=null):g=f.sibling;var b=h(s,f,v.value,l);if(null===b){f||(f=g);break}e&&f&&null===b.alternate&&t(s,f),r=i(b,r,m),null===u?c=b:u.sibling=b,u=b,f=g}if(v.done)return n(s,f),c;if(null===f){for(;!v.done;m++,v=o.next())null!==(v=d(s,v.value,l))&&(r=i(v,r,m),null===u?c=v:u.sibling=v,u=v);return c}for(f=a(s,f);!v.done;m++,v=o.next())null!==(v=p(f,s,m,v.value,l))&&(e&&null!==v.alternate&&f.delete(null===v.key?m:v.key),r=i(v,r,m),null===u?c=v:u.sibling=v,u=v);return e&&f.forEach(function(e){return t(s,e)}),c}return function(e,a,i,o){var l="object"==typeof i&&null!==i&&i.type===$t&&null===i.key;l&&(i=i.props.children);var c="object"==typeof i&&null!==i;if(c)switch(i.$$typeof){case Kt:e:{for(c=i.key,l=a;null!==l;){if(l.key===c){if(10===l.tag?i.type===$t:l.type===i.type){n(e,l.sibling),(a=s(l,i.type===$t?i.props.children:i.props,o)).ref=Qi(e,l,i),a.return=e,e=a;break e}n(e,l);break}t(e,l),l=l.sibling}i.type===$t?((a=ui(i.props.children,e.mode,o,i.key)).return=e,e=a):((o=ci(i,e.mode,o)).ref=Qi(e,a,i),o.return=e,e=o)}return r(e);case Qt:e:{for(l=i.key;null!==a;){if(a.key===l){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(e,a.sibling),(a=s(a,i.children||[],o)).return=e,e=a;break e}n(e,a);break}t(e,a),a=a.sibling}(a=hi(i,e.mode,o)).return=e,e=a}return r(e)}if("string"==typeof i||"number"==typeof i)return i=""+i,null!==a&&6===a.tag?(n(e,a.sibling),(a=s(a,i,o)).return=e,e=a):(n(e,a),(a=di(i,e.mode,o)).return=e,e=a),r(e);if(Ki(i))return f(e,a,i,o);if(sn(i))return m(e,a,i,o);if(c&&$i(e,i),void 0===i&&!l)switch(e.tag){case 2:case 1:X("152",(o=e.type).displayName||o.name||"Component")}return n(e,a)}}var Yi=Ji(!0),Xi=Ji(!1),Zi=null,er=null,tr=!1;function nr(e,t){var n=new oi(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function ar(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function sr(e){if(tr){var t=er;if(t){var n=t;if(!ar(e,t)){if(!(t=Ws(n))||!ar(e,t))return e.effectTag|=2,tr=!1,void(Zi=e);nr(Zi,n)}Zi=e,er=Vs(t)}else e.effectTag|=2,tr=!1,Zi=e}}function ir(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;Zi=e}function rr(e){if(e!==Zi)return!1;if(!tr)return ir(e),tr=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Fs(t,e.memoizedProps))for(t=er;t;)nr(e,t),t=Ws(t);return ir(e),er=Zi?Ws(e.stateNode):null,!0}function or(){er=Zi=null,tr=!1}function lr(e,t,n){cr(e,t,n,t.expirationTime)}function cr(e,t,n,a){t.child=null===e?Xi(t,null,n,a):Yi(t,e.child,n,a)}function ur(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function dr(e,t,n,a,s){ur(e,t);var i=0!=(64&t.effectTag);if(!n&&!i)return a&&ri(t,!1),fr(e,t);n=t.stateNode,Bt.current=t;var r=i?null:n.render();return t.effectTag|=1,i&&(cr(e,t,null,s),t.child=null),cr(e,t,r,s),t.memoizedState=n.state,t.memoizedProps=n.props,a&&ri(t,!0),t.child}function hr(e){var t=e.stateNode;t.pendingContext?ai(0,t.pendingContext,t.pendingContext!==t.context):t.context&&ai(0,t.context,!1),qi(e,t.containerInfo)}function pr(e,t,n,a){var s=e.child;for(null!==s&&(s.return=e);null!==s;){switch(s.tag){case 12:var i=0|s.stateNode;if(s.type===t&&0!=(i&n)){for(i=s;null!==i;){var r=i.alternate;if(0===i.expirationTime||i.expirationTime>a)i.expirationTime=a,null!==r&&(0===r.expirationTime||r.expirationTime>a)&&(r.expirationTime=a);else{if(null===r||!(0===r.expirationTime||r.expirationTime>a))break;r.expirationTime=a}i=i.return}i=null}else i=s.child;break;case 13:i=s.type===e.type?null:s.child;break;default:i=s.child}if(null!==i)i.return=s;else for(i=s;null!==i;){if(i===e){i=null;break}if(null!==(s=i.sibling)){s.return=i.return,i=s;break}i=i.return}s=i}}function fr(e,t){if(null!==e&&t.child!==e.child&&X("153"),null!==t.child){var n=li(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=li(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function mr(e){e.effectTag|=4}var gr=void 0,vr=void 0,br=void 0;function wr(e,t){var n=t.pendingProps;switch(t.tag){case 1:return null;case 2:return ti(t),null;case 3:ji(),ni();var a=t.stateNode;return a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==e&&null!==e.child||(rr(t),t.effectTag&=-3),gr(t),null;case 5:zi(t),a=Fi(Li.current);var s=t.type;if(null!==e&&null!=t.stateNode){var i=e.memoizedProps,r=t.stateNode,o=Fi(Ii.current);r=Ns(r,s,i,n,a),vr(e,t,r,s,i,n,a,o),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!n)return null===t.stateNode&&X("166"),null;if(e=Fi(Ii.current),rr(t))n=t.stateNode,s=t.type,i=t.memoizedProps,n[xe]=t,n[_e]=i,a=Us(n,s,i,e,a),t.updateQueue=a,null!==a&&mr(t);else{(e=xs(s,n,a,e))[xe]=t,e[_e]=n;e:for(i=t.child;null!==i;){if(5===i.tag||6===i.tag)e.appendChild(i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}Ms(e,s,n,a),Ls(s,n)&&mr(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)br(e,t,e.memoizedProps,n);else{if("string"!=typeof n)return null===t.stateNode&&X("166"),null;a=Fi(Li.current),Fi(Ii.current),rr(t)?(a=t.stateNode,n=t.memoizedProps,a[xe]=t,Ds(a,n)&&mr(t)):((a=_s(n,a))[xe]=t,t.stateNode=a)}return null;case 14:case 16:case 10:case 11:case 15:return null;case 4:return ji(),gr(t),null;case 13:return Di(t),null;case 12:return null;case 0:X("167");default:X("156")}}function yr(e,t){var n=t.source;null===t.stack&&null!==n&&on(n),null!==n&&rn(n),t=t.value,null!==e&&2===e.tag&&rn(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}function Er(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Jr(e,t)}else t.current=null}function Sr(e){switch(function(e){"function"==typeof fi&&fi(e)}(e),e.tag){case 2:Er(e);var t=e.stateNode;if("function"==typeof t.componentWillUnmount)try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){Jr(e,t)}break;case 5:Er(e);break;case 4:Rr(e)}}function Cr(e){return 5===e.tag||3===e.tag||4===e.tag}function Tr(e){e:{for(var t=e.return;null!==t;){if(Cr(t)){var n=t;break e}t=t.return}X("160"),n=void 0}var a=t=void 0;switch(n.tag){case 5:t=n.stateNode,a=!1;break;case 3:case 4:t=n.stateNode.containerInfo,a=!0;break;default:X("161")}16&n.effectTag&&(bs(t,""),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||Cr(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var s=e;;){if(5===s.tag||6===s.tag)if(n)if(a){var i=t,r=s.stateNode,o=n;8===i.nodeType?i.parentNode.insertBefore(r,o):i.insertBefore(r,o)}else t.insertBefore(s.stateNode,n);else a?(i=t,r=s.stateNode,8===i.nodeType?i.parentNode.insertBefore(r,i):i.appendChild(r)):t.appendChild(s.stateNode);else if(4!==s.tag&&null!==s.child){s.child.return=s,s=s.child;continue}if(s===e)break;for(;null===s.sibling;){if(null===s.return||s.return===e)return;s=s.return}s.sibling.return=s.return,s=s.sibling}}function Rr(e){for(var t=e,n=!1,a=void 0,s=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&X("160"),n.tag){case 5:a=n.stateNode,s=!1;break e;case 3:case 4:a=n.stateNode.containerInfo,s=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag){e:for(var i=t,r=i;;)if(Sr(r),null!==r.child&&4!==r.tag)r.child.return=r,r=r.child;else{if(r===i)break;for(;null===r.sibling;){if(null===r.return||r.return===i)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}s?(i=a,r=t.stateNode,8===i.nodeType?i.parentNode.removeChild(r):i.removeChild(r)):a.removeChild(t.stateNode)}else if(4===t.tag?a=t.stateNode.containerInfo:Sr(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}function kr(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var a=t.memoizedProps;e=null!==e?e.memoizedProps:a;var s=t.type,i=t.updateQueue;t.updateQueue=null,null!==i&&(n[_e]=a,Ps(n,i,s,e,a))}break;case 6:null===t.stateNode&&X("162"),t.stateNode.nodeValue=t.memoizedProps;break;case 3:case 15:case 16:break;default:X("163")}}function xr(e,t,n){(n=wi(n)).tag=3,n.payload={element:null};var a=t.value;return n.callback=function(){Po(a),yr(e,t)},n}function _r(e,t,n){(n=wi(n)).tag=3;var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){null===Br?Br=new Set([this]):Br.add(this);var n=t.value,a=t.stack;yr(e,t),this.componentDidCatch(n,{componentStack:null!==a?a:""})}),n}function Mr(e,t,n,a,s,i){n.effectTag|=512,n.firstEffect=n.lastEffect=null,a=_i(a,n),e=t;do{switch(e.tag){case 3:return e.effectTag|=1024,void Si(e,a=xr(e,a,i),i);case 2:if(t=a,n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&(null===Br||!Br.has(n)))return e.effectTag|=1024,void Si(e,a=_r(e,t,i),i)}e=e.return}while(null!==e)}function Nr(e){switch(e.tag){case 2:ti(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return ji(),ni(),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return zi(e),null;case 16:return 1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 4:return ji(),null;case 13:return Di(e),null;default:return null}}gr=function(){},vr=function(e,t,n){(t.updateQueue=n)&&mr(t)},br=function(e,t,n,a){n!==a&&mr(t)};var Pr=qs(),Ur=2,Dr=Pr,Ar=0,Ir=0,Or=!1,Lr=null,Fr=null,qr=0,jr=-1,zr=!1,Wr=null,Vr=!1,Hr=!1,Br=null;function Gr(){if(null!==Lr)for(var e=Lr.return;null!==e;){var t=e;switch(t.tag){case 2:ti(t);break;case 3:ji(),ni();break;case 5:zi(t);break;case 4:ji();break;case 13:Di(t)}e=e.return}Fr=null,qr=0,jr=-1,zr=!1,Lr=null,Hr=!1}function Kr(e){for(;;){var t=e.alternate,n=e.return,a=e.sibling;if(0==(512&e.effectTag)){t=wr(t,e);var s=e;if(1073741823===qr||1073741823!==s.expirationTime){var i=0;switch(s.tag){case 3:case 2:var r=s.updateQueue;null!==r&&(i=r.expirationTime)}for(r=s.child;null!==r;)0!==r.expirationTime&&(0===i||i>r.expirationTime)&&(i=r.expirationTime),r=r.sibling;s.expirationTime=i}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1<e.effectTag&&(null!==n.lastEffect?n.lastEffect.nextEffect=e:n.firstEffect=e,n.lastEffect=e)),null!==a)return a;if(null===n){Hr=!0;break}e=n}else{if(null!==(e=Nr(e)))return e.effectTag&=511,e;if(null!==n&&(n.firstEffect=n.lastEffect=null,n.effectTag|=512),null!==a)return a;if(null===n)break;e=n}}return null}function Qr(e){var t=function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:hr(t);break;case 2:ii(t);break;case 4:qi(t,t.stateNode.containerInfo);break;case 13:Ui(t)}return null}switch(t.tag){case 0:null!==e&&X("155");var a=t.type,s=t.pendingProps,i=Xs(t);return a=a(s,i=Zs(t,i)),t.effectTag|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(i=t.type,t.tag=2,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,"function"==typeof(i=i.getDerivedStateFromProps)&&Wi(t,i,s),s=ii(t),a.updater=Vi,t.stateNode=a,a._reactInternalFiber=t,Gi(t,n),e=dr(e,t,!0,s,n)):(t.tag=1,lr(e,t,a),t.memoizedProps=s,e=t.child),e;case 1:return s=t.type,n=t.pendingProps,Js.current||t.memoizedProps!==n?(s=s(n,a=Zs(t,a=Xs(t))),t.effectTag|=1,lr(e,t,s),t.memoizedProps=n,e=t.child):e=fr(e,t),e;case 2:if(s=ii(t),null===e)if(null===t.stateNode){var r=t.pendingProps,l=t.type;a=Xs(t);var c=2===t.tag&&null!=t.type.contextTypes;r=new l(r,i=c?Zs(t,a):o),t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,r.updater=Vi,t.stateNode=r,r._reactInternalFiber=t,c&&((c=t.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,c.__reactInternalMemoizedMaskedChildContext=i),Gi(t,n),a=!0}else{l=t.type,a=t.stateNode,c=t.memoizedProps,i=t.pendingProps,a.props=c;var u=a.context;r=Zs(t,r=Xs(t));var d=l.getDerivedStateFromProps;(l="function"==typeof d||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(c!==i||u!==r)&&Bi(t,a,i,r),gi=!1;var h=t.memoizedState;u=a.state=h;var p=t.updateQueue;null!==p&&(Ri(t,p,i,a,n),u=t.memoizedState),c!==i||h!==u||Js.current||gi?("function"==typeof d&&(Wi(t,d,i),u=t.memoizedState),(c=gi||Hi(t,c,i,h,u,r))?(l||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.effectTag|=4)):("function"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=i,t.memoizedState=u),a.props=i,a.state=u,a.context=r,a=c):("function"==typeof a.componentDidMount&&(t.effectTag|=4),a=!1)}else l=t.type,a=t.stateNode,i=t.memoizedProps,c=t.pendingProps,a.props=i,u=a.context,r=Zs(t,r=Xs(t)),(l="function"==typeof(d=l.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(i!==c||u!==r)&&Bi(t,a,c,r),gi=!1,u=t.memoizedState,h=a.state=u,null!==(p=t.updateQueue)&&(Ri(t,p,c,a,n),h=t.memoizedState),i!==c||u!==h||Js.current||gi?("function"==typeof d&&(Wi(t,d,c),h=t.memoizedState),(d=gi||Hi(t,i,c,u,h,r))?(l||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(c,h,r),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(c,h,r)),"function"==typeof a.componentDidUpdate&&(t.effectTag|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof a.componentDidUpdate||i===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||i===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),t.memoizedProps=c,t.memoizedState=h),a.props=c,a.state=h,a.context=r,a=d):("function"!=typeof a.componentDidUpdate||i===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||i===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),a=!1);return dr(e,t,a,s,n);case 3:return hr(t),null!==(s=t.updateQueue)?(a=null!==(a=t.memoizedState)?a.element:null,Ri(t,s,t.pendingProps,null,n),(s=t.memoizedState.element)===a?(or(),e=fr(e,t)):(a=t.stateNode,(a=(null===e||null===e.child)&&a.hydrate)&&(er=Vs(t.stateNode.containerInfo),Zi=t,a=tr=!0),a?(t.effectTag|=2,t.child=Xi(t,null,s,n)):(or(),lr(e,t,s)),e=t.child)):(or(),e=fr(e,t)),e;case 5:return Fi(Li.current),(s=Fi(Ii.current))!==(a=fs(s,t.type))&&(Qs(Oi,t),Qs(Ii,a)),null===e&&sr(t),s=t.type,c=t.memoizedProps,a=t.pendingProps,i=null!==e?e.memoizedProps:null,Js.current||c!==a||((c=1&t.mode&&!!a.hidden)&&(t.expirationTime=1073741823),c&&1073741823===n)?(c=a.children,Fs(s,a)?c=null:i&&Fs(s,i)&&(t.effectTag|=16),ur(e,t),1073741823!==n&&1&t.mode&&a.hidden?(t.expirationTime=1073741823,t.memoizedProps=a,e=null):(lr(e,t,c),t.memoizedProps=a,e=t.child)):e=fr(e,t),e;case 6:return null===e&&sr(t),t.memoizedProps=t.pendingProps,null;case 16:return null;case 4:return qi(t,t.stateNode.containerInfo),s=t.pendingProps,Js.current||t.memoizedProps!==s?(null===e?t.child=Yi(t,null,s,n):lr(e,t,s),t.memoizedProps=s,e=t.child):e=fr(e,t),e;case 14:return s=t.type.render,n=t.pendingProps,a=t.ref,Js.current||t.memoizedProps!==n||a!==(null!==e?e.ref:null)?(lr(e,t,s=s(n,a)),t.memoizedProps=n,e=t.child):e=fr(e,t),e;case 10:return n=t.pendingProps,Js.current||t.memoizedProps!==n?(lr(e,t,n),t.memoizedProps=n,e=t.child):e=fr(e,t),e;case 11:return n=t.pendingProps.children,Js.current||null!==n&&t.memoizedProps!==n?(lr(e,t,n),t.memoizedProps=n,e=t.child):e=fr(e,t),e;case 15:return n=t.pendingProps,t.memoizedProps===n?e=fr(e,t):(lr(e,t,n.children),t.memoizedProps=n,e=t.child),e;case 13:return function(e,t,n){var a=t.type._context,s=t.pendingProps,i=t.memoizedProps,r=!0;if(Js.current)r=!1;else if(i===s)return t.stateNode=0,Ui(t),fr(e,t);var o=s.value;if(t.memoizedProps=s,null===i)o=1073741823;else if(i.value===s.value){if(i.children===s.children&&r)return t.stateNode=0,Ui(t),fr(e,t);o=0}else{var l=i.value;if(l===o&&(0!==l||1/l==1/o)||l!=l&&o!=o){if(i.children===s.children&&r)return t.stateNode=0,Ui(t),fr(e,t);o=0}else if(o="function"==typeof a._calculateChangedBits?a._calculateChangedBits(l,o):1073741823,0==(o|=0)){if(i.children===s.children&&r)return t.stateNode=0,Ui(t),fr(e,t)}else pr(t,a,o,n)}return t.stateNode=o,Ui(t),lr(e,t,s.children),t.child}(e,t,n);case 12:e:if(a=t.type,i=t.pendingProps,c=t.memoizedProps,s=a._currentValue,r=a._changedBits,Js.current||0!==r||c!==i){if(t.memoizedProps=i,null==(l=i.unstable_observedBits)&&(l=1073741823),t.stateNode=l,0!=(r&l))pr(t,a,r,n);else if(c===i){e=fr(e,t);break e}n=(n=i.children)(s),t.effectTag|=1,lr(e,t,n),e=t.child}else e=fr(e,t);return e;default:X("156")}}(e.alternate,e,qr);return null===t&&(t=Kr(e)),Bt.current=null,t}function $r(e,t,n){Or&&X("243"),Or=!0,t===qr&&e===Fr&&null!==Lr||(Gr(),qr=t,jr=-1,Lr=li((Fr=e).current,null,qr),e.pendingCommitExpirationTime=0);var a=!1;for(zr=!n||qr<=Ur;;){try{if(n)for(;null!==Lr&&!No();)Lr=Qr(Lr);else for(;null!==Lr;)Lr=Qr(Lr)}catch(t){if(null===Lr)a=!0,Po(t);else{null===Lr&&X("271");var s=(n=Lr).return;if(null===s){a=!0,Po(t);break}Mr(e,s,n,t,0,qr),Lr=Kr(n)}}break}if(Or=!1,a)return null;if(null===Lr){if(Hr)return e.pendingCommitExpirationTime=t,e.current.alternate;zr&&X("262"),0<=jr&&setTimeout(function(){var t=e.current.expirationTime;0!==t&&(0===e.remainingExpirationTime||e.remainingExpirationTime<t)&&So(e,t)},jr),function(e){null===ro&&X("246"),ro.remainingExpirationTime=e}(e.current.expirationTime)}return null}function Jr(e,t){var n;e:{for(Or&&!Vr&&X("263"),n=e.return;null!==n;){switch(n.tag){case 2:var a=n.stateNode;if("function"==typeof n.type.getDerivedStateFromCatch||"function"==typeof a.componentDidCatch&&(null===Br||!Br.has(a))){Ei(n,e=_r(n,e=_i(t,e),1),1),Xr(n,1),n=void 0;break e}break;case 3:Ei(n,e=xr(n,e=_i(t,e),1),1),Xr(n,1),n=void 0;break e}n=n.return}3===e.tag&&(Ei(e,n=xr(e,n=_i(t,e),1),1),Xr(e,1)),n=void 0}return n}function Yr(e,t){return e=0!==Ir?Ir:Or?Vr?1:qr:1&t.mode?go?2+10*(1+((e-2+15)/10|0)):2+25*(1+((e-2+500)/25|0)):1,go&&(0===lo||e>lo)&&(lo=e),e}function Xr(e,t){for(;null!==e;){if((0===e.expirationTime||e.expirationTime>t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!Or&&0!==qr&&t<qr&&Gr();var a=n.current.expirationTime;Or&&!Vr&&Fr===n||So(n,a),wo>bo&&X("185")}e=e.return}}function Zr(){return Dr=qs()-Pr,Ur=2+(Dr/10|0)}function eo(e,t,n,a,s){var i=Ir;Ir=1;try{return e(t,n,a,s)}finally{Ir=i}}var to=null,no=null,ao=0,so=void 0,io=!1,ro=null,oo=0,lo=0,co=!1,uo=!1,ho=null,po=null,fo=!1,mo=!1,go=!1,vo=null,bo=1e3,wo=0,yo=1;function Eo(e){if(0!==ao){if(e>ao)return;null!==so&&zs(so)}var t=qs()-Pr;ao=e,so=js(To,{timeout:10*(e-2)-t})}function So(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===no?(to=no=e,e.nextScheduledRoot=e):(no=no.nextScheduledRoot=e).nextScheduledRoot=to;else{var n=e.remainingExpirationTime;(0===n||t<n)&&(e.remainingExpirationTime=t)}io||(fo?mo&&(ro=e,oo=1,_o(e,1,!1)):1===t?Ro():Eo(t))}function Co(){var e=0,t=null;if(null!==no)for(var n=no,a=to;null!==a;){var s=a.remainingExpirationTime;if(0===s){if((null===n||null===no)&&X("244"),a===a.nextScheduledRoot){to=no=a.nextScheduledRoot=null;break}if(a===to)to=s=a.nextScheduledRoot,no.nextScheduledRoot=s,a.nextScheduledRoot=null;else{if(a===no){(no=n).nextScheduledRoot=to,a.nextScheduledRoot=null;break}n.nextScheduledRoot=a.nextScheduledRoot,a.nextScheduledRoot=null}a=n.nextScheduledRoot}else{if((0===e||s<e)&&(e=s,t=a),a===no)break;n=a,a=a.nextScheduledRoot}}null!==(n=ro)&&n===t&&1===e?wo++:wo=0,ro=t,oo=e}function To(e){ko(0,!0,e)}function Ro(){ko(1,!1,null)}function ko(e,t,n){if(po=n,Co(),t)for(;null!==ro&&0!==oo&&(0===e||e>=oo)&&(!co||Zr()>=oo);)Zr(),_o(ro,oo,!co),Co();else for(;null!==ro&&0!==oo&&(0===e||e>=oo);)_o(ro,oo,!1),Co();null!==po&&(ao=0,so=null),0!==oo&&Eo(oo),po=null,co=!1,xo()}function xo(){if(wo=0,null!==vo){var e=vo;vo=null;for(var t=0;t<e.length;t++){var n=e[t];try{n._onComplete()}catch(e){uo||(uo=!0,ho=e)}}}if(uo)throw e=ho,ho=null,uo=!1,e}function _o(e,t,n){io&&X("245"),io=!0,n?null!==(n=e.finishedWork)?Mo(e,n,t):null!==(n=$r(e,t,!0))&&(No()?e.finishedWork=n:Mo(e,n,t)):null!==(n=e.finishedWork)?Mo(e,n,t):null!==(n=$r(e,t,!1))&&Mo(e,n,t),io=!1}function Mo(e,t,n){var s=e.firstBatch;if(null!==s&&s._expirationTime<=n&&(null===vo?vo=[s]:vo.push(s),s._defer))return e.finishedWork=t,void(e.remainingExpirationTime=0);if(e.finishedWork=null,Vr=Or=!0,(n=t.stateNode).current===t&&X("177"),0===(s=n.pendingCommitExpirationTime)&&X("261"),n.pendingCommitExpirationTime=0,Zr(),Bt.current=null,1<t.effectTag)if(null!==t.lastEffect){t.lastEffect.nextEffect=t;var i=t.firstEffect}else i=t;else i=t.firstEffect;Is=ma;var r=l();if(_a(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{var c=window.getSelection&&window.getSelection();if(c&&0!==c.rangeCount){o=c.anchorNode;var u=c.anchorOffset,d=c.focusNode;c=c.focusOffset;try{o.nodeType,d.nodeType}catch(e){o=null;break e}var h=0,p=-1,f=-1,m=0,g=0,v=r,b=null;t:for(;;){for(var w;v!==o||0!==u&&3!==v.nodeType||(p=h+u),v!==d||0!==c&&3!==v.nodeType||(f=h+c),3===v.nodeType&&(h+=v.nodeValue.length),null!==(w=v.firstChild);)b=v,v=w;for(;;){if(v===r)break t;if(b===o&&++m===u&&(p=h),b===d&&++g===c&&(f=h),null!==(w=v.nextSibling))break;b=(v=b).parentNode}v=w}o=-1===p||-1===f?null:{start:p,end:f}}else o=null}o=o||{start:0,end:0}}else o=null;for(Os={focusedElem:r,selectionRange:o},ga(!1),Wr=i;null!==Wr;){r=!1,o=void 0;try{for(;null!==Wr;){if(256&Wr.effectTag){var y=Wr.alternate;switch((u=Wr).tag){case 2:if(256&u.effectTag&&null!==y){var E=y.memoizedProps,S=y.memoizedState,C=u.stateNode;C.props=u.memoizedProps,C.state=u.memoizedState;var T=C.getSnapshotBeforeUpdate(E,S);C.__reactInternalSnapshotBeforeUpdate=T}break;case 3:case 5:case 6:case 4:break;default:X("163")}}Wr=Wr.nextEffect}}catch(e){r=!0,o=e}r&&(null===Wr&&X("178"),Jr(Wr,o),null!==Wr&&(Wr=Wr.nextEffect))}for(Wr=i;null!==Wr;){y=!1,E=void 0;try{for(;null!==Wr;){var R=Wr.effectTag;if(16&R&&bs(Wr.stateNode,""),128&R){var k=Wr.alternate;if(null!==k){var x=k.ref;null!==x&&("function"==typeof x?x(null):x.current=null)}}switch(14&R){case 2:Tr(Wr),Wr.effectTag&=-3;break;case 6:Tr(Wr),Wr.effectTag&=-3,kr(Wr.alternate,Wr);break;case 4:kr(Wr.alternate,Wr);break;case 8:Rr(S=Wr),S.return=null,S.child=null,S.alternate&&(S.alternate.child=null,S.alternate.return=null)}Wr=Wr.nextEffect}}catch(e){y=!0,E=e}y&&(null===Wr&&X("178"),Jr(Wr,E),null!==Wr&&(Wr=Wr.nextEffect))}if(x=Os,k=l(),R=x.focusedElem,y=x.selectionRange,k!==R&&a(document.documentElement,R)){null!==y&&_a(R)&&(k=y.start,void 0===(x=y.end)&&(x=k),"selectionStart"in R?(R.selectionStart=k,R.selectionEnd=Math.min(x,R.value.length)):window.getSelection&&(k=window.getSelection(),E=R[et()].length,x=Math.min(y.start,E),y=void 0===y.end?x:Math.min(y.end,E),!k.extend&&x>y&&(E=y,y=x,x=E),E=xa(R,x),S=xa(R,y),E&&S&&(1!==k.rangeCount||k.anchorNode!==E.node||k.anchorOffset!==E.offset||k.focusNode!==S.node||k.focusOffset!==S.offset)&&((C=document.createRange()).setStart(E.node,E.offset),k.removeAllRanges(),x>y?(k.addRange(C),k.extend(S.node,S.offset)):(C.setEnd(S.node,S.offset),k.addRange(C))))),k=[];for(x=R;x=x.parentNode;)1===x.nodeType&&k.push({element:x,left:x.scrollLeft,top:x.scrollTop});for("function"==typeof R.focus&&R.focus(),R=0;R<k.length;R++)(x=k[R]).element.scrollLeft=x.left,x.element.scrollTop=x.top}for(Os=null,ga(Is),Is=null,n.current=t,Wr=i;null!==Wr;){i=!1,R=void 0;try{for(k=s;null!==Wr;){var _=Wr.effectTag;if(36&_){var M=Wr.alternate;switch(y=k,(x=Wr).tag){case 2:var N=x.stateNode;if(4&x.effectTag)if(null===M)N.props=x.memoizedProps,N.state=x.memoizedState,N.componentDidMount();else{var P=M.memoizedProps,U=M.memoizedState;N.props=x.memoizedProps,N.state=x.memoizedState,N.componentDidUpdate(P,U,N.__reactInternalSnapshotBeforeUpdate)}var D=x.updateQueue;null!==D&&(N.props=x.memoizedProps,N.state=x.memoizedState,xi(x,D,N));break;case 3:var A=x.updateQueue;if(null!==A){if(E=null,null!==x.child)switch(x.child.tag){case 5:E=x.child.stateNode;break;case 2:E=x.child.stateNode}xi(x,A,E)}break;case 5:var I=x.stateNode;null===M&&4&x.effectTag&&Ls(x.type,x.memoizedProps)&&I.focus();break;case 6:case 4:case 15:case 16:break;default:X("163")}}if(128&_){x=void 0;var O=Wr.ref;if(null!==O){var L=Wr.stateNode;switch(Wr.tag){case 5:x=L;break;default:x=L}"function"==typeof O?O(x):O.current=x}}var F=Wr.nextEffect;Wr.nextEffect=null,Wr=F}}catch(e){i=!0,R=e}i&&(null===Wr&&X("178"),Jr(Wr,R),null!==Wr&&(Wr=Wr.nextEffect))}Or=Vr=!1,function(e){"function"==typeof pi&&pi(e)}(t.stateNode),0===(t=n.current.expirationTime)&&(Br=null),e.remainingExpirationTime=t}function No(){return!(null===po||po.timeRemaining()>yo)&&(co=!0)}function Po(e){null===ro&&X("246"),ro.remainingExpirationTime=0,uo||(uo=!0,ho=e)}function Uo(e,t){var n=fo;fo=!0;try{return e(t)}finally{(fo=n)||io||Ro()}}function Do(e,t){if(fo&&!mo){mo=!0;try{return e(t)}finally{mo=!1}}return e(t)}function Ao(e,t,n){if(go)return e(t,n);fo||io||0===lo||(ko(lo,!1,null),lo=0);var a=go,s=fo;fo=go=!0;try{return e(t,n)}finally{go=a,(fo=s)||io||Ro()}}function Io(e,t,n,a,s){var i=t.current;if(n){var r;e:{for(2===Kn(n=n._reactInternalFiber)&&2===n.tag||X("170"),r=n;3!==r.tag;){if(ei(r)){r=r.stateNode.__reactInternalMemoizedMergedChildContext;break e}(r=r.return)||X("171")}r=r.stateNode.context}n=ei(n)?si(n,r):r}else n=o;return null===t.context?t.context=n:t.pendingContext=n,t=s,(s=wi(a)).payload={element:e},null!==(t=void 0===t?null:t)&&(s.callback=t),Ei(i,s,a),Xr(i,a),a}function Oo(e,t,n,a){var s=t.current;return Io(e,t,n,s=Yr(Zr(),s),a)}function Lo(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}var Fo=Uo,qo=Ao;function jo(e){this._expirationTime=function(){var e=2+25*(1+((Zr()-2+500)/25|0));return e<=Ar&&(e=Ar+1),Ar=e}(),this._root=e,this._callbacks=this._next=null,this._hasChildren=this._didComplete=!1,this._children=null,this._defer=!0}function zo(){this._callbacks=null,this._didCommit=!1,this._onCommit=this._onCommit.bind(this)}function Wo(e,t,n){this._internalRoot=function(e,t,n){return e={current:t=new oi(3,null,null,t?3:0),containerInfo:e,pendingChildren:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,pendingCommitExpirationTime:0,finishedWork:null,context:null,pendingContext:null,hydrate:n,remainingExpirationTime:0,firstBatch:null,nextScheduledRoot:null},t.stateNode=e}(e,t,n)}function Vo(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Ho(e,t,n,a,s){Vo(n)||X("200");var i=n._reactRootContainer;if(i){if("function"==typeof s){var r=s;s=function(){var e=Lo(i._internalRoot);r.call(e)}}null!=e?i.legacy_renderSubtreeIntoContainer(e,t,s):i.render(t,s)}else{if(i=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new Wo(e,!1,t)}(n,a),"function"==typeof s){var o=s;s=function(){var e=Lo(i._internalRoot);o.call(e)}}Do(function(){null!=e?i.legacy_renderSubtreeIntoContainer(e,t,s):i.render(t,s)})}return Lo(i._internalRoot)}function Bo(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;return Vo(t)||X("200"),function(e,t,n){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Qt,key:null==a?null:""+a,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}Rt.injectFiberControlledHostComponent(As),jo.prototype.render=function(e){this._defer||X("250"),this._hasChildren=!0,this._children=e;var t=this._root._internalRoot,n=this._expirationTime,a=new zo;return Io(e,t,null,n,a._onCommit),a},jo.prototype.then=function(e){if(this._didComplete)e();else{var t=this._callbacks;null===t&&(t=this._callbacks=[]),t.push(e)}},jo.prototype.commit=function(){var e=this._root._internalRoot,t=e.firstBatch;if(this._defer&&null!==t||X("251"),this._hasChildren){var n=this._expirationTime;if(t!==this){this._hasChildren&&(n=this._expirationTime=t._expirationTime,this.render(this._children));for(var a=null,s=t;s!==this;)a=s,s=s._next;null===a&&X("251"),a._next=s._next,this._next=t,e.firstBatch=this}this._defer=!1,function(e,t){io&&X("253"),ro=e,oo=t,_o(e,t,!1),Ro(),xo()}(e,n),t=this._next,this._next=null,null!==(t=e.firstBatch=t)&&t._hasChildren&&t.render(t._children)}else this._next=null,this._defer=!1},jo.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var e=this._callbacks;if(null!==e)for(var t=0;t<e.length;t++)(0,e[t])()}},zo.prototype.then=function(e){if(this._didCommit)e();else{var t=this._callbacks;null===t&&(t=this._callbacks=[]),t.push(e)}},zo.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var e=this._callbacks;if(null!==e)for(var t=0;t<e.length;t++){var n=e[t];"function"!=typeof n&&X("191",n),n()}}},Wo.prototype.render=function(e,t){var n=this._internalRoot,a=new zo;return null!==(t=void 0===t?null:t)&&a.then(t),Oo(e,n,null,a._onCommit),a},Wo.prototype.unmount=function(e){var t=this._internalRoot,n=new zo;return null!==(e=void 0===e?null:e)&&n.then(e),Oo(null,t,null,n._onCommit),n},Wo.prototype.legacy_renderSubtreeIntoContainer=function(e,t,n){var a=this._internalRoot,s=new zo;return null!==(n=void 0===n?null:n)&&s.then(n),Oo(t,a,e,s._onCommit),s},Wo.prototype.createBatch=function(){var e=new jo(this),t=e._expirationTime,n=this._internalRoot,a=n.firstBatch;if(null===a)n.firstBatch=e,e._next=null;else{for(n=null;null!==a&&a._expirationTime<=t;)n=a,a=a._next;e._next=a,null!==n&&(n._next=e)}return e},Dt=Fo,At=qo,It=function(){io||0===lo||(ko(lo,!1,null),lo=0)};var Go={createPortal:Bo,findDOMNode:function(e){return null==e?null:1===e.nodeType?e:function(e){var t=e._reactInternalFiber;return void 0===t&&("function"==typeof e.render?X("188"):X("268",Object.keys(e))),null===(e=$n(t))?null:e.stateNode}(e)},hydrate:function(e,t,n){return Ho(null,e,t,!0,n)},render:function(e,t,n){return Ho(null,e,t,!1,n)},unstable_renderSubtreeIntoContainer:function(e,t,n,a){return(null==e||void 0===e._reactInternalFiber)&&X("38"),Ho(e,t,n,!1,a)},unmountComponentAtNode:function(e){return Vo(e)||X("40"),!!e._reactRootContainer&&(Do(function(){Ho(null,null,e,!1,function(){e._reactRootContainer=null})}),!0)},unstable_createPortal:function(){return Bo.apply(void 0,arguments)},unstable_batchedUpdates:Uo,unstable_deferredUpdates:function(e){var t=Ir;Ir=2+25*(1+((Zr()-2+500)/25|0));try{return e()}finally{Ir=t}},unstable_interactiveUpdates:Ao,flushSync:function(e,t){io&&X("187");var n=fo;fo=!0;try{return eo(e,t)}finally{fo=n,Ro()}},unstable_flushControlled:function(e){var t=fo;fo=!0;try{eo(e)}finally{(fo=t)||io||ko(1,!1,null)}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:Re,EventPluginRegistry:ue,EventPropagators:We,ReactControlledComponent:Ut,ReactDOMComponentTree:Ue,ReactDOMEventListener:Ea},unstable_createRoot:function(e,t){return new Wo(e,!0,null!=t&&!0===t.hydrate)}};!function(e){var t=e.findFiberByHostInstance;(function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);pi=mi(function(e){return t.onCommitFiberRoot(n,e)}),fi=mi(function(e){return t.onCommitFiberUnmount(n,e)})}catch(e){}})(g({},e,{findHostInstanceByFiber:function(e){return null===(e=$n(e))?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null}}))}({findFiberByHostInstance:Me,bundleType:0,version:"16.4.2",rendererPackageName:"react-dom"});var Ko={default:Go},Qo=Ko&&Go||Ko,$o=Qo.default?Qo.default:Qo,Jo={};!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),Jo=$o;var Yo={exports:{}};(function(e){!function(t){"object"==typeof Yo.exports?Yo.exports=t():("undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:this).Tinode=t()}(function(){const e=[{name:"ST",start:/(?:^|\W)(\*)[^\s*]/,end:/[^\s*](\*)(?=$|\W)/},{name:"EM",start:/(?:^|[\W_])(_)[^\s_]/,end:/[^\s_](_)(?=$|[\W_])/},{name:"DL",start:/(?:^|\W)(~)[^\s~]/,end:/[^\s~](~)(?=$|\W)/},{name:"CO",start:/(?:^|\W)(`)[^`]/,end:/[^`](`)(?=$|\W)/}],t=[{name:"LN",dataName:"url",pack:function(e){return/^[a-z]+:\/\//i.test(e)||(e="http://"+e),{url:e}},re:/(https?:\/\/)?(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b(?:[-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)/g},{name:"MN",dataName:"val",pack:function(e){return{val:e.slice(1)}},re:/\B@(\w\w+)/g},{name:"HT",dataName:"val",pack:function(e){return{val:e.slice(1)}},re:/\B#(\w\w+)/g}],n={ST:{name:"b",isVoid:!1},EM:{name:"i",isVoid:!1},DL:{name:"del",isVoid:!1},CO:{name:"tt",isVoid:!1},BR:{name:"br",isVoid:!0},LN:{name:"a",isVoid:!1},MN:{name:"a",isVoid:!1},HT:{name:"a",isVoid:!1},IM:{name:"img",isVoid:!0}};function a(e,t){var n;try{n=atob(e)}catch(e){console.log("Drafty: failed to decode base64-encoded object",e.message),n=atob("")}for(var a=n.length,s=new ArrayBuffer(a),i=new Uint8Array(s),r=0;r<a;r++)i[r]=n.charCodeAt(r);return URL.createObjectURL(new Blob([s],{type:t}))}var s={ST:{open:function(){return"<b>"},close:function(){return"</b>"}},EM:{open:function(){return"<i>"},close:function(){return"</i>"}},DL:{open:function(){return"<del>"},close:function(){return"</del>"}},CO:{open:function(){return"<tt>"},close:function(){return"</tt>"}},BR:{open:function(){return""},close:function(){return"<br/>"}},LN:{open:function(e){return'<a href="'+e.url+'">'},close:function(e){return"</a>"},props:function(e){return{href:e.url,target:"_blank"}}},MN:{open:function(e){return'<a href="#'+e.val+'">'},close:function(e){return"</a>"},props:function(e){return{name:e.val}}},HT:{open:function(e){return'<a href="#'+e.val+'">'},close:function(e){return"</a>"},props:function(e){return{name:e.val}}},IM:{open:function(e){var t=a(e.val,e.mime),n=e.ref?e.ref:t,s=(e.name?'<a href="'+n+'" download="'+e.name+'">':"")+'<img src="'+t+'"'+(e.width?' width="'+e.width+'"':"")+(e.height?' height="'+e.height+'"':"")+' border="0" />';return console.log("open: "+s),s},close:function(e){return e.name?"</a>":""},props:function(e){return{src:a(e.val,e.mime),title:e.name,"data-width":e.width,"data-height":e.height,"data-name":e.name,"data-size":.75*e.val.length|0,"data-mime":e.mime}}}},i={parse:function(n){if("string"!=typeof n)return null;var a=n.split(/\r?\n/),s=[],i={},r=[];a.map(function(n){var a,o,l=[];if(e.map(function(e){l=l.concat(function(e,t,n,a){for(var s=[],i=0,r=e.slice(0);r.length>0;){var o=t.exec(r);if(null==o)break;var l=o.index+o[0].lastIndexOf(o[1]);r=r.slice(l+1),i=(l+=i)+1;var c=n?n.exec(r):null;if(null==c)break;var u=c.index+c[0].indexOf(c[1]);r=r.slice(u+1),i=(u+=i)+1,s.push({text:e.slice(l+1,u),children:[],start:l,end:u,type:a})}return s}(n,e.start,e.end,e.name))}),0==l.length)o={txt:n};else{l.sort(function(e,t){return e.start-t.start}),l=function e(t){if(0==t.length)return[];for(var n=[t[0]],a=t[0],s=1;s<t.length;s++)t[s].start>a.end?(n.push(t[s]),a=t[s]):t[s].end<a.end&&a.children.push(t[s]);for(var s in n)n[s].children=e(n[s].children);return n}(l);var c=function e(t,n){var a="",s=[];for(var i in t){var r=t[i];if(!r.text){var o=e(r.children,a.length+n);r.text=o.txt,s=s.concat(o.fmt)}r.type&&s.push({at:a.length+n,len:r.text.length,tp:r.type}),a+=r.text}return{txt:a,fmt:s}}(function e(t,n,a,s){var i=[];if(0==s.length)return[];for(var r in s){var o=s[r];o.start>n&&i.push({text:t.slice(n,o.start)});var l={type:o.type},c=e(t,o.start+1,o.end-1,o.children);c.length>0?l.children=c:l.text=o.text,i.push(l),n=o.end+1}return n<a&&i.push({text:t.slice(n,a)}),i}(n,0,n.length,l),0);o={txt:c.txt,fmt:c.fmt}}if((a=function(e){var n,a=[];if(t.map(function(t){for(;null!==(n=t.re.exec(e));)a.push({offset:n.index,len:n[0].length,unique:n[0],data:t.pack(n[0]),type:t.name})}),0==a.length)return a;a.sort(function(e,t){return e.offset-t.offset});var s=-1;return a=a.filter(function(e){var t=e.offset>s;return s=e.offset+e.len,t})}(o.txt)).length>0){var u=[];for(var d in a){var h=a[d],p=i[h.unique];p||(p=s.length,i[h.unique]=p,s.push({tp:h.type,data:h.data})),u.push({at:h.offset,len:h.len,key:p})}o.ent=u}r.push(o)});var o={txt:""};if(r.length>0){o.txt=r[0].txt,o.fmt=(r[0].fmt||[]).concat(r[0].ent||[]);for(var l=1;l<r.length;l++){var c=r[l],u=o.txt.length+1;o.fmt.push({tp:"BR",len:1,at:u-1}),o.txt+=" "+c.txt,c.fmt&&(o.fmt=o.fmt.concat(c.fmt.map(function(e){return e.at+=u,e}))),c.ent&&(o.fmt=o.fmt.concat(c.ent.map(function(e){return e.at+=u,e})))}0==o.fmt.length&&delete o.fmt,s.length>0&&(o.ent=s)}return o},insertImage:function(e,t,n,a,s,i,r,o,l){return(e=e||{txt:" "}).ent=e.ent||[],e.fmt=e.fmt||[],e.fmt.push({at:t,len:1,key:e.ent.length}),e.ent.push({tp:"IM",data:{mime:n,val:a,width:s,height:i,name:r,ref:l,size:0|o}}),e},attachFile:function(e,t,n,a,s,i){(e=e||{txt:""}).ent=e.ent||[],e.fmt=e.fmt||[],e.fmt.push({at:-1,len:0,key:e.ent.length});let r={tp:"EX",data:{mime:t,val:n,name:a,ref:i,size:0|s}};return i instanceof Promise&&i.then(e=>{r.data.ref=e},e=>{}),e.ent.push(r),e},UNSAFE_toHTML:function(e){var t,n,a,{txt:i,fmt:r,ent:o}=e,l=[];if(r)for(var c in r){var u,d=r[c],h=d.tp;if(!h){var p=o[d.key];p&&(h=p.tp,u=p.data)}s[h]&&(l.push({idx:d.at+d.len,what:s[h].close(u)}),l.push({idx:d.at,what:s[h].open(u)}))}for(var c in l.sort(function(e,t){return t.idx-e.idx}),l)l[c].what&&(t=i,n=l[c].idx,a=l[c].what,i=t.slice(0,n)+a+t.slice(n));return i},format:function(e,t,a){var{txt:s,fmt:i,ent:r}=e;if(s=s||"",!i)return[s];var o=[].concat(i);return o.map(function(e){e.at=e.at||0,e.len=e.len||0}),o.sort(function(e,t){return e.at-t.at==0?t.len-e.len:e.at-t.at}),o=o.map(function(e){var t,n=e.tp;return n||(e.key=e.key||0,t=r[e.key].data,n=r[e.key].tp),{tp:n,data:t,at:e.at,len:e.len}}),function e(t,a,s,i,r,o){for(var l=[],c=0;c<i.length;c++){var u=i[c];a<u.at&&(l.push(r.call(o,null,void 0,t.slice(a,u.at))),a=u.at);for(var d=[],h=c+1;h<i.length&&i[h].at<u.at+u.len;h++)d.push(i[h]),c=h;var p=n[u.tp]||{};l.push(r.call(o,u.tp,u.data,p.isVoid?null:e(t,a,u.at+u.len,d,r,o))),a=u.at+u.len}return a<s&&l.push(r.call(o,null,void 0,t.slice(a,s))),l}(s,0,s.length,o,t,a)},toPlainText:function(e){return e.txt},isPlainText:function(e){return!(e.fmt||e.ent)},hasAttachments:function(e){if(e.ent&&e.ent.length>0)for(var t in e.ent)if("EX"==e.ent[t].tp)return!0;return!1},attachments:function(e,t,n){if(e.ent&&e.ent.length>0)for(var a in e.ent)"EX"==e.ent[a].tp&&t.call(n,e.ent[a].data,a)},getDownloadUrl:function(e){let t=null;return e.val?t=a(e.val,e.mime):"string"==typeof e.ref&&(t=e.ref),t},isUploading:function(e){return e.ref instanceof Promise},getPreviewUrl:function(e){return e.val?a(e.val,e.mime):null},getEntitySize:function(e){return e.size?e.size:e.val?.75*e.val.length|0:0},getEntityMimeType:function(e){return e.mime||"text/plain"},tagName:function(e){return n[e]?n[e].name:void 0},attrValue:function(e,t){if(t&&s[e])return s[e].props(t)},getContentType:function(){return"text/x-drafty"}},r={};const o="0",l="0.15",c="tinodejs/"+l,u="new",d="me",h="fnd",p=268435455;function f(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}))}function m(e,t,n){if(null==t)return e;if("object"!=typeof t)return t||e;if(t instanceof Date)return t;if(t instanceof T)return new T(t);if(t instanceof Array)return t.length>0?t:e;for(var a in e||(e=t.constructor()),t)!t.hasOwnProperty(a)||!t[a]&&!1!==t[a]||n&&n[a]||"_generated"==a||(e[a]=m(e[a],t[a]));return e}function g(e,t,n,a){return e[t]=m(e[t],n,a),e[t]}function v(){var e=null;if("withCredentials"in new XMLHttpRequest)e=new XMLHttpRequest;else{if("undefined"==typeof XDomainRequest)throw new Error("browser not supported");e=new XDomainRequest}return e}function b(e,t){if("ts"===e&&"string"==typeof t&&t.length>=20&&t.length<=24){var n=new Date(t);if(n)return n}else if("acs"===e&&"object"==typeof t)return new T(t);return t}function w(e,t){return"string"==typeof t&&t.length>128?"<"+t.length+", bytes: "+t.substring(0,12)+"..."+t.substring(t.length-12)+">":function(e,t){if(t instanceof Date)t=function(e){if(e&&0!=e.getTime()){var t=e.getUTCMilliseconds();return e.getUTCFullYear()+"-"+n(e.getUTCMonth()+1)+"-"+n(e.getUTCDate())+"T"+n(e.getUTCHours())+":"+n(e.getUTCMinutes())+":"+n(e.getUTCSeconds())+(t?"."+n(t,3):"")+"Z"}function n(e,t){return"0".repeat((t=t||2)-(""+e).length)+e}}(t);else if(null==t||!1===t||Array.isArray(t)&&0==t.length||"object"==typeof t&&0===Object.keys(t).length)return;return t}(0,t)}function y(e,t,n){var a=null;return"http"!==t&&"https"!==t&&"ws"!==t&&"wss"!==t||(a=t+"://","/"!==(a+=e).charAt(a.length-1)&&(a+="/"),a+="v"+o+"/channels","http"!==t&&"https"!==t||(a+="/lp"),a+="?apikey="+n),a}var E=function(e,t){var n,a,s,i,r=t;const o=2e3,l=10,c=.3;var u=null,d=0,h=!1;function p(e){n.logger&&n.logger(e)}function f(){var e=null;return{connect:function(t){return e&&1===e.readyState?Promise.resolve():(t&&(a=t),new Promise(function(t,f){var m=y(a,s?"wss":"ws",i);p("Connecting to: "+m);var g=new WebSocket(m);g.onopen=function(e){h=!1,n.onOpen&&n.onOpen(),t(),r&&(window.clearTimeout(u),u=null,d=0)},g.onclose=function(t){e=null,n.onDisconnect&&n.onDisconnect(null),!h&&r&&function(){window.clearTimeout(u);var e=o*(Math.pow(2,d)*(1+c*Math.random()));d=d>=l?d:d+1,u=setTimeout(function(){console.log("Reconnecting, iter="+d+", timeout="+e),h||n.connect().catch(function(){})},e)}()},g.onerror=function(e){f(e)},g.onmessage=function(e){n.onMessage&&n.onMessage(e.data)},e=g}))},disconnect:function(){e&&(h=!0,e.close()),e=null},sendText:function(t){if(!e||e.readyState!=e.OPEN)throw new Error("Websocket is not connected");e.send(t)},isConnected:function(){return e&&1===e.readyState}}}function m(){var e=null,t=null,r=null;return{connect:function(r){return r&&(a=r),new Promise(function(r,o){var l=y(a,s?"https":"http",i);p("Connecting to: "+l),(t=function t(a,s,i){var r=v();return r.onreadystatechange=function(o){if(4==r.readyState)if(201==r.status){var l=JSON.parse(r.responseText,b);r.responseText,e=a+"&sid="+l.ctrl.params.sid,(r=t(e)).send(null),n.onOpen&&n.onOpen(),s&&s()}else 200==r.status?(n.onMessage&&n.onMessage(r.responseText),(r=t(e)).send(null)):(i&&i(r.responseText),n.onMessage&&n.onMessage(r.responseText),n.onDisconnect&&n.onDisconnect(new Error(r.status+" "+r.responseText)))},r.open("GET",a,!0),r}(l,r,o)).send(null)}).catch(function(){})},disconnect:function(){r&&(r.abort(),r=null),t&&(t.abort(),t=null),n.onDisconnect&&n.onDisconnect(null),e=null},sendText:function(t){var n,a;if(n=e,(a=v()).onreadystatechange=function(e){if(4==a.readyState&&a.status>=400)throw new Error("LP sender failed, "+a.status)},a.open("POST",n,!0),!(r=a)||1!=r.readyState)throw new Error("Long poller failed to connect");r.send(t)},isConnected:function(){return t&&!0}}}return(n="lp"===e?m():"ws"===e?f():window.WebSocket?f():m()).setup=function(e,t,n){a=e,s=t,i=n},n.onMessage=void 0,n.onDisconnect=void 0,n.onOpen=void 0,n.logger=void 0,n},S=function(){var e;return{getInstance:function(){return e||(e=function(){var t="Undefined",n="undefined",a="";"undefined"!=typeof navigator&&(a=function(e){var t,n=(e=(e||"").replace(" (KHTML, like Gecko)","")).match(/(AppleWebKit\/[.\d]+)/i);if(n){for(var a=["chrome","safari","mobile","version"],s=e.substr(n.index+n[0].length).split(" "),i=[],r=0;r<s.length;r++){var o=/([\w.]+)[\/]([\.\d]+)/.exec(s[r]);o&&i.push([o[1],o[2],a.findIndex(function(e){return e==o[1].toLowerCase()})])}i.sort(function(e,t){var n=e[2]-t[2];return 0!=n?n:t[0].length-e[0].length}),t=i.length>0?i[0][0]+"/"+i[0][1]:n[1]}else t=/trident/i.test(e)?(n=/(?:\brv[ :]+([.\d]+))|(?:\bMSIE ([.\d]+))/g.exec(e))?"MSIE/"+(n[1]||n[2]):"MSIE/?":/firefox/i.test(e)?(n=/Firefox\/([.\d]+)/g.exec(e))?"Firefox/"+n[1]:"Firefox/?":/presto/i.test(e)?(n=/Opera\/([.\d]+)/g.exec(e))?"Opera/"+n[1]:"Opera/?":(n=/([\w.]+)\/([.\d]+)/.exec(e))?n[1]+"/"+n[2]:(n=e.split(" "))[0];if((n=t.split("/")).length>1){var l=n[1].split(".");t=n[0]+"/"+l[0]+(l[1]?"."+l[1]:"")}return t}(navigator.userAgent),n=navigator.platform);var s=!1,i=!1,r=null,o=null,g=null,v=!1,y=null,S=null,C=0,T=null,M={},N={};function P(e){if(s){var t=new Date,n=("0"+t.getUTCHours()).slice(-2)+":"+("0"+t.getUTCMinutes()).slice(-2)+":"+("0"+t.getUTCSeconds()).slice(-2)+":"+("0"+t.getUTCMilliseconds()).slice(-3);console.log("["+n+"] "+e)}}function U(e,t,n){M[e+":"+t]=n}function D(e,t){return M[e+":"+t]}function A(e,t){delete M[e+":"+t]}function I(e){e._cacheGetUser=function(e){var t=D("user",e);if(t)return{user:e,public:m({},t)}},e._cachePutUser=function(e,t){return U("user",e,m({},t.public))},e._cacheDelUser=function(e){return A("user",e)},e._cachePutSelf=function(){return U("topic",e.name,e)},e._cacheDelSelf=function(){return A("topic",e.name)}}var O=function(e){var t=null;return e&&(t=new Promise(function(t,n){N[e]={resolve:t,reject:n}})),t};function L(){return 0!=C?""+C++:void 0}function F(e,s){switch(e){case"hi":return{hi:{id:L(),ver:l,ua:t+" ("+(a?a+"; ":"")+n+"); "+c}};case"acc":return{acc:{id:L(),user:null,scheme:null,secret:null,login:!1,tags:null,desc:{},cred:{}}};case"login":return{login:{id:L(),scheme:null,secret:null}};case"sub":return{sub:{id:L(),topic:s,set:{},get:{}}};case"leave":return{leave:{id:L(),topic:s,unsub:!1}};case"pub":return{pub:{id:L(),topic:s,noecho:!1,head:null,content:{}}};case"get":return{get:{id:L(),topic:s,what:null,desc:{},sub:{},data:{}}};case"set":return{set:{id:L(),topic:s,desc:{},sub:{},tags:[]}};case"del":return{del:{id:L(),topic:s,what:null,delseq:null,user:null,hard:!1}};case"note":return{note:{topic:s,what:null,seq:void 0}};default:throw new Error("Unknown packet type requested: "+e)}}function q(e,t){let n;t&&(n=O(t)),e=function e(t){return Object.keys(t).forEach(function(n){"_"==n[0]?delete t[n]:t[n]?Array.isArray(t[n])&&0==t[n].length?delete t[n]:t[n]?"object"!=typeof t[n]||t[n]instanceof Date||(e(t[n]),0==Object.getOwnPropertyNames(t[n]).length&&delete t[n]):delete t[n]:delete t[n]}),t}(e);var a=JSON.stringify(e);return P("out: "+(i?JSON.stringify(e,w):a)),r.sendText(a),n}function j(t){if(t){e.onRawMessage&&e.onRawMessage(t);var n,a,s,r,o,l=JSON.parse(t,b);if(l)if(P("in: "+(i?JSON.stringify(l,w):t)),e.onMessage&&e.onMessage(l),l.ctrl)e.onCtrlMessage&&e.onCtrlMessage(l.ctrl),l.ctrl.id&&(n=l.ctrl.id,a=l.ctrl.code,s=l.ctrl,r=l.ctrl.text,(o=N[n])&&(delete N[n],a>=200&&a<400?o.resolve&&o.resolve(s):o.reject&&o.reject(new Error("Error: "+r+" ("+a+")"))));else if(l.meta)(c=D("topic",l.meta.topic))&&c._routeMeta(l.meta),e.onMetaMessage&&e.onMetaMessage(l.meta);else if(l.data)(c=D("topic",l.data.topic))&&c._routeData(l.data),e.onDataMessage&&e.onDataMessage(l.data);else if(l.pres)(c=D("topic",l.pres.topic))&&c._routePres(l.pres),e.onPresMessage&&e.onPresMessage(l.pres);else if(l.info){var c;(c=D("topic",l.info.topic))&&c._routeInfo(l.info),e.onInfoMessage&&e.onInfoMessage(l.info)}else P("ERROR: Unknown packet received.");else P("in: "+t),P("ERROR: failed to parse data")}}function z(){e.hello()}function W(t){T=null,v=!1,function(e,t){for(var n in M)if(a=M[n],void(0===n.lastIndexOf("topic:",0)&&a._resetSub()))break;var a}(),e.onDisconnect&&e.onDisconnect(t)}function V(t){g=t.params.user,v=t&&t.code>=200&&t.code<300,S=t.params&&t.params.token&&t.params.expires?{token:t.params.token,expires:new Date(t.params.expires)}:null,e.onLogin&&e.onLogin(t.code,t.text)}return{setup:function(e,n,a,s){C=Math.floor(65535*Math.random()+65535),t=e||"Undefined",o=a,g=null,v=!1,y=null,S=null,T=null,M={},N={},r&&r.disconnect(),(r=E(s,!0)).logger=P,r.onMessage=j,r.onDisconnect=W,r.onOpen=z,r.setup(n,"https:"==location.protocol,a)},connect:function(e){return r.connect(e)},disconnect:function(){r&&r.disconnect()},isConnected:function(){return r&&r.isConnected()},isAuthenticated:function(){return v},account:function(e,t,n,a,s){var i=F("acc");return i.acc.user=e,i.acc.scheme=t,i.acc.secret=n,i.acc.login=a,s&&(i.acc.desc.defacs=s.defacs,i.acc.desc.public=s.public,i.acc.desc.private=s.private,i.acc.tags=s.tags,i.acc.cred=s.cred),q(i,i.acc.id)},createAccount:function(t,n,a,s){var i=e.account("new",t,n,a,s);return a&&(i=i.then(function(e){return V(e),e})),i},createAccountBasic:function(t,n,a){return t=t||"",n=n||"",e.createAccount("basic",f(t+":"+n),!0,a)},updateAccountBasic:function(t,n,a){return n=n||"",a=a||"",e.account(t,"basic",f(n+":"+a),!1,null)},addCredential:function(e,t,n,a,s){return"object"==typeof t&&({val:n,params:a,resp:s,meth:t}=t),t&&(n||s)&&(e||(e={}),e.cred||(e.cred=[]),e.cred.push({meth:t,val:n,resp:s,params:a})),e},hello:function(){var t=F("hi");return q(t,t.hi.id).then(function(t){return t.params&&(T=t.params),e.onConnect&&e.onConnect(),t}).catch(function(t){e.onDisconnect&&e.onDisconnect(t)})},login:function(e,t,n){var a=F("login");return a.login.scheme=e,a.login.secret=t,a.login.cred=n,q(a,a.login.id).then(function(e){return V(e),e})},loginBasic:function(t,n,a){return e.login("basic",f(t+":"+n),a).then(function(e){return y=t,e})},loginToken:function(t,n){return e.login("token",t,n)},getAuthToken:function(){return S&&S.expires.getTime()>Date.now()?S:(S=null,null)},setAuthToken:function(e){S=e},subscribe:function(e,t,n){var a=F("sub",e);return e||(e=u),a.sub.get=t,n&&(n.sub&&(a.sub.set.sub=n.sub),e===u&&n.desc&&(a.sub.set.desc=n.desc),n.tags&&(a.sub.set.tags=n.tags)),q(a,a.sub.id)},leave:function(e,t){var n=F("leave",e);return n.leave.unsub=t,q(n,n.leave.id)},createMessage:function(e,t,n,a,s){var i=F("pub",e);return i.pub.noecho=n,i.pub.content=t,(a||Array.isArray(s))&&(i.pub.head={mime:a,attachments:s}),i.pub},publish:function(t,n,a,s,i){return e.publishMessage(e.createMessage(t,n,a,s,i))},publishMessage:function(e){return(e=Object.assign({},e)).seq=void 0,e.from=void 0,e.ts=void 0,q({pub:e},e.id)},getMeta:function(e,t){var n=F("get",e);return n.get=m(n.get,t),q(n,n.get.id)},setMeta:function(e,t){var n=F("set",e),a=[];return t&&["desc","sub","tags"].map(function(e){t.hasOwnProperty(e)&&(a.push(e),n.set[e]=t[e])}),0==a.length?Promise.reject(new Error("Invalid {set} parameters")):q(n,n.set.id)},delMessages:function(e,t,n){var a=F("del",e);return a.del.what="msg",a.del.delseq=t,a.del.hard=n,q(a,a.del.id)},delTopic:function(e){var t=F("del",e);return t.del.what="topic",q(t,t.del.id).then(function(t){return A("topic",e),t})},delSubscription:function(e,t){var n=F("del",e);return n.del.what="sub",n.del.user=t,q(n,n.del.id)},note:function(e,t,n){if(n<=0||n>=p)console.log("Invalid message id "+n);else{var a=F("note",e);a.note.what=t,a.note.seq=n,q(a)}},noteKeyPress:function(e){var t=F("note",e);t.note.what="kp",q(t)},getTopic:function(e){var t=D("topic",e);return!t&&e&&((t=e===d?new k:e===h?new x:new R(e))._new=!1,U("topic",e,t)),t&&I(t),t},newTopic:function(e){var t=new R(void 0,e);return I(t),t},newTopicWith:function(e,t){var n=new R(e,t);return I(n),n},getMeTopic:function(){return e.getTopic(d)},getFndTopic:function(){return e.getTopic(h)},getLargeFileHelper:function(){var t=e.getAuthToken();return t?new _(o,t.token,L()):null},getCurrentUserID:function(){return g},getCurrentLogin:function(){return y},getServerInfo:function(){return T},getVersion:function(){return l},enableLogging:function(e,t){s=e,i=t},topicType:function(e){return{me:"me",fnd:"fnd",grp:"grp",new:"grp",usr:"p2p"}["string"==typeof e?e.substring(0,3):"xxx"]},isTopicOnline:function(t){var n=e.getTopic(d),a=n&&n.getContact(t);return a&&a.online},wantAkn:function(e){C=e?Math.floor(16777215*Math.random()+16777215):0},onWebsocketOpen:void 0,onConnect:void 0,onDisconnect:void 0,onLogin:void 0,onCtrlMessage:void 0,onDataMessage:void 0,onPresMessage:void 0,onMessage:void 0,onRawMessage:void 0,MESSAGE_STATUS_NONE:0,MESSAGE_STATUS_QUEUED:1,MESSAGE_STATUS_SENDING:2,MESSAGE_STATUS_SENT:3,MESSAGE_STATUS_RECEIVED:4,MESSAGE_STATUS_READ:5,MESSAGE_STATUS_TO_ME:6}}()),e}}}(),C=function(e){this.topic=e,this.what={}};C.prototype={withData:function(e,t,n){return this.what.data={since:e,before:t,limit:n},this},withLaterData:function(e){return this.withData(this.topic._maxSeq>0?this.topic._maxSeq+1:void 0,void 0,e)},withEarlierData:function(e){return this.withData(void 0,this.topic._minSeq>0?this.topic._minSeq:void 0,e)},withDesc:function(e){return this.what.desc={ims:e},this},withLaterDesc:function(){return this.withDesc(this.topic._lastDescUpdate)},withSub:function(e,t,n){var a={ims:e,limit:t};return"me"==this.topic.getType()?a.topic=n:a.user=n,this.what.sub=a,this},withOneSub:function(e,t){return this.withSub(e,void 0,t)},withLaterOneSub:function(e){return this.withOneSub(this.topic._lastSubsUpdate,e)},withLaterSub:function(e){return this.withSub(this.topic._lastSubsUpdate,e)},withTags:function(){return this.what.tags=!0,this},withDel:function(e,t){return(e||t)&&(this.what.del={since:e,limit:t}),this},withLaterDel:function(e){return this.withDel(this.topic._maxSeq>0?this.topic._maxDel+1:void 0,e)},build:function(){var e={},t=[],n=this;return["data","sub","desc","tags","del"].map(function(a){n.what.hasOwnProperty(a)&&(t.push(a),Object.getOwnPropertyNames(n.what[a]).length>0&&(e[a]=n.what[a]))}),t.length>0?e.what=t.join(" "):e=void 0,e}};var T=function(e){e&&(this.given="number"==typeof e.given?e.given:T.decode(e.given),this.want="number"==typeof e.want?e.want:T.decode(e.want),this.mode=e.mode?"number"==typeof e.mode?e.mode:T.decode(e.mode):this.given&this.want)};T._NONE=0,T._JOIN=1,T._READ=2,T._WRITE=4,T._PRES=8,T._APPROVE=16,T._SHARE=32,T._DELETE=64,T._OWNER=128,T._BITMASK=T._JOIN|T._READ|T._WRITE|T._PRES|T._APPROVE|T._SHARE|T._DELETE|T._OWNER,T._INVALID=1048576,T.decode=function(e){if(!e)return null;if("number"==typeof e)return e&T._BITMASK;if("N"===e||"n"===e)return T._NONE;for(var t={J:T._JOIN,R:T._READ,W:T._WRITE,P:T._PRES,A:T._APPROVE,S:T._SHARE,D:T._DELETE,O:T._OWNER},n=T._NONE,a=0;a<e.length;a++){var s=t[e.charAt(a).toUpperCase()];s&&(n|=s)}return n},T.encode=function(e){if(null===e||e===T._INVALID)return null;if(e===T._NONE)return"N";for(var t=["J","R","W","P","A","S","D","O"],n="",a=0;a<t.length;a++)0!=(e&1<<a)&&(n+=t[a]);return n},T.update=function(e,t){if(!t||"string"!=typeof t)return e;var n=t.charAt(0);if("+"==n||"-"==n){for(var a=e,s=t.split(/([-+])/),i=1;i<s.length-1;i+=2){n=s[i];var r=T.decode(s[i+1]);if(r==T._INVALID)return e;null!=r&&("+"===n?a|=r:"-"===n&&(a&=~r))}e=a}else(a=T.decode(t))!=T._INVALID&&(e=a);return e},T.prototype={setMode:function(e){return this.mode=T.decode(e),this},updateMode:function(e){return this.mode=T.update(this.mode,e),this},getMode:function(){return T.encode(this.mode)},setGiven:function(e){return this.given=T.decode(e),this},updateGiven:function(e){return this.given=T.update(this.given,e),this},getGiven:function(){return T.encode(this.given)},setWant:function(e){return this.want=T.decode(e),this},updateWant:function(e){return this.want=T.update(this.want,e),this},getWant:function(){return T.encode(this.want)},updateAll:function(e){return e&&(this.updateGiven(e.given),this.updateWant(e.want),this.mode=this.given&this.want),this},isOwner:function(){return 0!=(this.mode&T._OWNER)},isMuted:function(){return 0==(this.mode&T._PRES)},isPresencer:function(){return 0!=(this.mode&T._PRES)},isJoiner:function(){return 0!=(this.mode&T._JOIN)},isReader:function(){return 0!=(this.mode&T._READ)},isWriter:function(){return 0!=(this.mode&T._WRITE)},isApprover:function(){return 0!=(this.mode&T._APPROVE)},isAdmin:function(){return this.isOwner()||this.isApprover()},isSharer:function(){return 0!=(this.mode&T._SHARE)},isDeleter:function(){return 0!=(this.mode&T._DELETE)}};var R=function(e,t){this.name=e,this.created=null,this.updated=null,this.touched=null,this.acs=new T(null),this.private=null,this.public=null,this._users={},this._queuedSeqId=p,this._maxSeq=0,this._minSeq=0,this._noEarlierMsgs=!1,this._maxDel=0,this._tags=[],this._messages=function(e){var t=[];function n(t,n,a){for(var s=0,i=n.length-1,r=0,o=0,l=!1;s<=i;)if((o=e(n[r=(s+i)/2|0],t))<0)s=r+1;else{if(!(o>0)){l=!0;break}i=r-1}return l?r:a?-1:o<0?r+1:r}function a(e,t){var a=n(e,t,!1);return t.splice(a,0,e),t}return e=e||function(e,t){return e===t?0:e<t?-1:1},{getAt:function(e){return t[e]},put:function(){var e;for(var n in e=1==arguments.length&&Array.isArray(arguments[0])?arguments[0]:arguments)a(e[n],t)},delAt:function(e){var n=t.splice(e,1);if(n&&n.length>0)return n[0]},delRange:function(e,n){return t.splice(e,n-e)},size:function(){return t.length},reset:function(e){t=[]},forEach:function(e,n,a,s){n|=0,a=a||t.length;for(var i=n;i<a;i++)e.call(s,t[i],i)},find:function(e,a){return n(e,t,!a)}}}(function(e,t){return e.seq-t.seq}),this._subscribed=!1,this._lastDescUpdate=null,this._lastSubsUpdate=null,this._new=!0,t&&(this.onData=t.onData,this.onMeta=t.onMeta,this.onPres=t.onPres,this.onInfo=t.onInfo,this.onMetaDesc=t.onMetaDesc,this.onMetaSub=t.onMetaSub,this.onSubsUpdated=t.onSubsUpdated,this.onTagsUpdated=t.onTagsUpdated,this.onDeleteTopic=t.onDeleteTopic)};R.prototype={isSubscribed:function(){return this._subscribed},subscribe:function(e,t){if(this._subscribed)return Promise.resolve(this);var n=this.name,a=S.getInstance(),s=this;return a.subscribe(n||u,e,t).then(function(e){if(e.code>=300)return e;if(s._subscribed=!0,s.acs=e.params&&e.params.acs?e.params.acs:s.acs,s._new){s._new=!1,s.name=e.topic,s.created=e.ts,s.updated=e.ts,s.touched=e.ts,s._cachePutSelf();var n=a.getMeTopic();n&&n._processMetaSub([{_generated:!0,topic:s.name,created:e.ts,updated:e.ts,touched:e.ts,acs:s.acs}]),t&&t.desc&&(t.desc._generated=!0,s._processMetaDesc(t.desc))}return e})},publish:function(e){return this.publishMessage(this.createMessage(e))},createMessage:function(e,t){var n,a;return i.isPlainText(e)||(n=i.getContentType(),i.hasAttachments(e)&&(a=[],i.attachments(e,e=>{a.push(e)}))),S.getInstance().createMessage(this.name,e,t,n,a)},publishMessage:function(e){return this._subscribed?(e._sending=!0,S.getInstance().publishMessage(e)):Promise.reject(new Error("Cannot publish on inactive topic"))},publishDraft:function(e,t){return t||this._subscribed?(e.seq=this._getQueuedSeqId(),e._generated=!0,e.ts=new Date,e.from=S.getInstance().getCurrentUserID(),e.noecho=!0,this._messages.put(e),this.onData&&this.onData(e),(t||Promise.resolve()).then(()=>e._cancelled?{code:300,text:"cancelled"}:this.publishMessage(e).then(t=>(e._sending=!1,e.seq=t.params.seq,e.ts=t.ts,this._routeData(e),t)),t=>{e._sending=!1,this._messages.delAt(this._messages.find(e)),this.onData&&this.onData()})):Promise.reject(new Error("Cannot publish on inactive topic"))},leave:function(e){return this._subscribed||e?S.getInstance().leave(this.name,e).then(t=>(this._resetSub(),e&&this._gone(),t)):Promise.reject(new Error("Cannot leave inactive topic"))},getMeta:function(e){return this._subscribed?S.getInstance().getMeta(this.name,e):(console.log("Attempt to query inactive topic",this.name),Promise.reject(new Error("Cannot query inactive topic")))},getMessagesPage:function(e,t){var n=this.startMetaQuery();t?n.withLaterData(e):n.withEarlierData(e);var a=this.getMeta(n.build());if(!t){var s=this;a=a.then(function(e){e&&e.params&&!e.params.count&&(s._noEarlierMsgs=!0)})}return a},setMeta:function(e){if(!this._subscribed)return Promise.reject(new Error("Cannot update inactive topic"));var t=this;e.tags&&(e.tags=function(e){var t=[];if(Array.isArray(e)){for(var n=0,a=e.length;n<a;n++){var s=e[n];s&&(s=s.trim().toLowerCase()).length>1&&t.push(s)}t.sort().filter(function(e,t,n){return!t||e!=n[t-1]})}return 0==t.length&&t.push("\u2421"),t}(e.tags));var n=S.getInstance();return n.setMeta(this.name,e).then(function(a){return a&&a.code>=300?a:(e.sub&&(a.params&&a.params.acs&&(e.sub.acs=a.params.acs,e.sub.updated=a.ts),e.sub.user||(e.sub.user=n.getCurrentUserID(),e.desc||(e.desc={})),e.sub._generated=!0,t._processMetaSub([e.sub])),e.desc&&(a.params&&a.params.acs&&(e.desc.acs=a.params.acs,e.desc.updated=a.ts),t._processMetaDesc(e.desc)),e.tags&&t._processMetaTags(e.tags),a)})},invite:function(e,t){return this.setMeta({sub:{user:e,mode:t}})},delMessages:function(e,t){if(!this._subscribed)return Promise.reject(new Error("Cannot delete messages in inactive topic"));e.sort(function(e,t){return e.low<t.low||e.low==t.low&&(!t.hi||e.hi>=t.hi)});let n,a=e.reduce((e,t)=>(t.low<p&&(!t.hi||t.hi<p?e.push(t):e.push({low:t.low,hi:this._maxSeq+1})),e),[]);return(n=e.length>0?S.getInstance().delMessages(this.name,a,t):Promise.resolve({params:{del:0}})).then(t=>(t.params.del>this._maxDel&&(this._maxDel=t.params.del),e.map(e=>{e.hi?this.flushMessageRange(e.low,e.hi):this.flushMessage(e.low)}),this.onData&&this.onData(),t))},delMessagesAll:function(e){return this.delMessages([{low:1,hi:this._maxSeq+1,_all:!0}],e)},delMessagesList:function(e,t){e.sort((e,t)=>e-t);var n=e.reduce((e,t)=>{if(0==e.length)e.push({low:t});else{let n=e[e.length-1];!n.hi&&t!=n.low+1||t>n.hi?e.push({low:t}):n.hi=n.hi?Math.max(n.hi,t+1):t+1}return e},[]);return this.delMessages(n,t)},delTopic:function(){var e=this;return S.getInstance().delTopic(this.name).then(function(t){return e._resetSub(),e._gone(),t})},delSubscription:function(e){if(!this._subscribed)return Promise.reject(new Error("Cannot delete subscription in inactive topic"));var t=this;return S.getInstance().delSubscription(this.name,e).then(function(n){return delete t._users[e],t.onSubsUpdated&&t.onSubsUpdated(Object.keys(t._users)),n})},note:function(e,t){var n=S.getInstance(),a=this._users[n.getCurrentUserID()];a?((!a[e]||a[e]<t)&&(this._subscribed?n.note(this.name,e,t):console.log("Not sending {note} on inactive topic")),a[e]=t):console.log("note(): user not found "+n.getCurrentUserID());var s=n.getMeTopic();s&&s.setMsgReadRecv(this.name,e,t)},noteRecv:function(e){this.note("recv",e)},noteRead:function(e){this.note("read",e)},noteKeyPress:function(){this._subscribed?S.getInstance().noteKeyPress(this.name):console.log("Cannot send notification in inactive topic")},userDesc:function(e){var t=this._cacheGetUser(e);if(t)return t},subscribers:function(e,t){var n=e||this.onMetaSub;if(n)for(var a in this._users)n.call(t,this._users[a],a,this._users)},tags:function(){return this._tags.slice(0)},subscriber:function(e){return this._users[e]},messages:function(e,t,n,a){var s=e||this.onData;if(s){let e="number"==typeof t?this._messages.find({seq:t}):void 0,i="number"==typeof n?this._messages.find({seq:n},!0):void 0;-1!=e&&-1!=i&&this._messages.forEach(s,e,i,a)}},msgReceiptCount:function(e,t){var n=0,a=S.getInstance().getCurrentUserID();if(t>0)for(var s in this._users){var i=this._users[s];i.user!==a&&i[e]>=t&&n++}return n},msgReadCount:function(e){return this.msgReceiptCount("read",e)},msgRecvCount:function(e){return this.msgReceiptCount("recv",e)},msgHasMoreMessages:function(e){return e?this.seq>this._maxSeq:this._minSeq>1&&!this._noEarlierMsgs},isNewMessage:function(e){return this._maxSeq<=e},flushMessage:function(e){let t=this._messages.find({seq:e});return t>=0?this._messages.delAt(t):void 0},flushMessageRange:function(e,t){let n=this._messages.find({seq:e});return n>=0?this._messages.delRange(n,this._messages.find({seq:t},!0)):[]},cancelSend:function(e){let t=this._messages.find({seq:e});if(t>=0){let e=this._messages.getAt(t);if(1==this.msgStatus(e))return e._cancelled=!0,this._messages.delAt(t),!0}return!1},getType:function(){return S.getInstance().topicType(this.name)},getAccessMode:function(){return this.acs},getDefaultAccess:function(){return this.defacs},startMetaQuery:function(){return new C(this)},msgStatus:function(e){var t=0;return e.from==S.getInstance().getCurrentUserID()?e._sending?t=2:e.seq>=p?t=1:this.msgReadCount(e.seq)>0?t=5:this.msgRecvCount(e.seq)>0?t=4:e.seq>0&&(t=3):t=6,t},_routeData:function(e){e.content&&((!this.touched||this.touched<e.ts)&&(this.touched=e.ts),e._generated||this._messages.put(e)),e.seq>this._maxSeq&&(this._maxSeq=e.seq),(e.seq<this._minSeq||0==this._minSeq)&&(this._minSeq=e.seq),this.onData&&this.onData(e);var t=S.getInstance().getMeTopic();t&&t.setMsgReadRecv(this.name,"msg",e.seq,e.ts)},_routeMeta:function(e){e.desc&&(this._lastDescUpdate=e.ts,this._processMetaDesc(e.desc)),e.sub&&e.sub.length>0&&(this._lastSubsUpdate=e.ts,this._processMetaSub(e.sub)),e.del&&this._processDelMessages(e.del.clear,e.del.delseq),e.tags&&this._processMetaTags(e.tags),this.onMeta&&this.onMeta(e)},_routePres:function(e){var t;switch(e.what){case"del":this._processDelMessages(e.clear,e.delseq);break;case"on":case"off":(t=this._users[e.src])?t.online="on"==e.what:console.log("Presence update for an unknown user",this.name,e.src);break;case"acs":let a="me"==e.src?S.getInstance().getCurrentUserID():e.src;if(t=this._users[a])t.acs.updateAll(e.dacs),a==S.getInstance().getCurrentUserID()&&this.acs.updateAll(e.dacs),t.acs&&t.acs.mode!=T._NONE||("p2p"==this.getType()&&this.leave(),this._processMetaSub([{user:a,deleted:new Date,_generated:!0}]));else{var n=(new T).updateAll(e.dacs);n&&n.mode!=T._NONE&&((t=this._cacheGetUser(a))?t.acs=n:(t={user:a,acs:n},this.getMeta(this.startMetaQuery().withOneSub(void 0,a).build())),t._generated=!0,t.updated=new Date,this._processMetaSub([t]))}break;default:console.log("Ignored presence update",e.what)}this.onPres&&this.onPres(e)},_routeInfo:function(e){if("kp"!==e.what){var t=this._users[e.from];t&&(t[e.what]=e.seq)}this.onInfo&&this.onInfo(e)},_processMetaDesc:function(e,t){if(m(this,e),"string"==typeof this.created&&(this.created=new Date(this.created)),"string"==typeof this.updated&&(this.updated=new Date(this.updated)),"string"==typeof this.touched&&(this.touched=new Date(this.touched)),"me"!==this.name&&!t&&!e._generated){var n=S.getInstance().getMeTopic();n&&n._processMetaSub([{_generated:!0,topic:this.name,updated:this.updated,touched:this.touched,acs:this.acs,public:this.public,private:this.private}])}this.onMetaDesc&&this.onMetaDesc(this)},_processMetaSub:function(e){var t=void 0;for(var n in e){var a=e[n];if(a.user){a.updated=new Date(a.updated),a.deleted=a.deleted?new Date(a.deleted):null;var s=null;a.deleted?(delete this._users[a.user],s=a):((s=this._users[a.user])||(s=this._cacheGetUser(a.user)),s=this._updateCachedUser(a.user,a,a._generated)),this.onMetaSub&&this.onMetaSub(s)}else a._generated||(t=a)}t&&this.onMetaDesc&&this.onMetaDesc(t),this.onSubsUpdated&&this.onSubsUpdated(Object.keys(this._users))},_processMetaTags:function(e){1==e.length&&"\u2421"==e[0]&&(e=[]),this._tags=e,this.onTagsUpdated&&this.onTagsUpdated(e)},_processDelMessages:function(e,t){this._maxDel=Math.max(e,this._maxDel),this.clear=Math.max(e,this.clear);var n=this,a=0;Array.isArray(t)&&t.map(function(e){if(e.hi)for(var t=e.low;t<e.hi;t++)a++,n.flushMessage(t);else a++,n.flushMessage(e.low)}),a>0&&this.onData&&this.onData()},_resetSub:function(){this._subscribed=!1},_gone:function(){var e=S.getInstance().getMeTopic();e&&e._routePres({_generated:!0,what:"gone",topic:"me",src:this.name}),this.onDeleteTopic&&this.onDeleteTopic()},_updateCachedUser:function(e,t,n){var a=this._cacheGetUser(e);return a?a=m(a,t):(n&&this.getMeta(this.startMetaQuery().withLaterOneSub(e).build()),a=m({},t)),this._cachePutUser(e,a),g(this._users,e,a)},_getQueuedSeqId:function(){return this._queuedSeqId++}};var k=function(e){R.call(this,d,e),this._contacts={},e&&(this.onContactUpdate=e.onContactUpdate)};k.prototype=Object.create(R.prototype,{_processMetaSub:{value:function(e){var t=S.getInstance(),n=0;for(var a in e){var s=e[a],i=s.topic;if(i!==h){s.updated=new Date(s.updated),s.touched=s.touched?new Date(s.touched):null,s.deleted=s.deleted?new Date(s.deleted):null;var r=null;if(s.deleted)r=s,delete this._contacts[i];else if(s.seen&&s.seen.when&&(s.seen.when=new Date(s.seen.when)),r=g(this._contacts,i,s),"p2p"===t.topicType(i)&&this._cachePutUser(i,r),!s._generated){var o=t.getTopic(i);o&&o._processMetaDesc(s,!0)}n++,this.onMetaSub&&this.onMetaSub(r)}}n>0&&this.onSubsUpdated&&this.onSubsUpdated(Object.keys(this._contacts))},enumerable:!0,configurable:!0,writable:!1},_routePres:{value:function(e){var t=this._contacts[e.src];if(t){switch(e.what){case"on":t.online=!0;break;case"off":t.online&&(t.online=!1,t.seen?t.seen.when=new Date:t.seen={when:new Date});break;case"msg":t.touched=new Date,t.seq=e.seq;break;case"upd":this.getMeta(this.startMetaQuery().withLaterOneSub(e.src).build());break;case"acs":t.acs?t.acs.updateAll(e.dacs):t.acs=(new T).updateAll(e.dacs);break;case"ua":t.seen={when:new Date,ua:e.ua};break;case"recv":t.recv=t.recv?Math.max(t.recv,e.seq):e.seq;break;case"read":t.read=t.read?Math.max(t.read,e.seq):e.seq;break;case"gone":delete this._contacts[e.src]}this.onContactUpdate&&this.onContactUpdate(e.what,t)}else if("acs"==e.what){var n=new T(e.dacs);if(!n||n.mode==T._INVALID)return void console.log("Invalid access mode update",e.src,e.dacs);if(n.mode==T._NONE)return void console.log("Removing non-existent subscription",e.src,e.dacs);this.getMeta(this.startMetaQuery().withOneSub(void 0,e.src).build()),this._contacts[e.src]={topic:e.src,online:!1,acs:n}}this.onPres&&this.onPres(e)},enumerable:!0,configurable:!0,writable:!1},publish:{value:function(){return Promise.reject(new Error("Publishing to 'me' is not supported"))},enumerable:!0,configurable:!0,writable:!1},contacts:{value:function(e,t){var n=e||this.onMetaSub;if(n)for(var a in this._contacts)n.call(t,this._contacts[a],a,this._contacts)},enumerable:!0,configurable:!0,writable:!0},setMsgReadRecv:{value:function(e,t,n,a){var s,i=this._contacts[e],r=!1;i&&("recv"===t?(s=i.recv,i.recv=i.recv?Math.max(i.recv,n):n,r=s!=i.recv):"read"===t?(s=i.read,i.read=i.read?Math.max(i.read,n):n,r=s!=i.read,i.recv<i.read&&(i.recv=i.read,r=!0)):"msg"===t&&(s=i.seq,i.seq=i.seq?Math.max(i.seq,n):n,(!i.touched||i.touched<a)&&(i.touched=a),r=s!=i.seq),!r||i.acs&&i.acs.isMuted()||!this.onContactUpdate||this.onContactUpdate(t,i))},enumerable:!0,configurable:!0,writable:!0},getContact:{value:function(e){return this._contacts[e]},enumerable:!0,configurable:!0,writable:!0},unreadCount:{value:function(e){var t=this._contacts[e];return t?(t.seq=~~t.seq,t.read=~~t.read,t.seq-t.read):0},enumerable:!0,configurable:!0,writable:!0},getAccessMode:{value:function(e){var t=this._contacts[e];return t?t.acs:null},enumerable:!0,configurable:!0,writable:!0}}),k.prototype.constructor=k;var x=function(e){R.call(this,h,e),this._contacts={}};x.prototype=Object.create(R.prototype,{_processMetaSub:{value:function(e){S.getInstance();var t=Object.getOwnPropertyNames(this._contacts).length;for(var n in this._contacts={},e){var a=e[n],s=a.topic?a.topic:a.user;a.updated=new Date(a.updated),a.seen&&a.seen.when&&(a.seen.when=new Date(a.seen.when)),a=g(this._contacts,s,a),t++,this.onMetaSub&&this.onMetaSub(a)}t>0&&this.onSubsUpdated&&this.onSubsUpdated(Object.keys(this._contacts))},enumerable:!0,configurable:!0,writable:!1},publish:{value:function(){return Promise.reject(new Error("Publishing to 'fnd' is not supported"))},enumerable:!0,configurable:!0,writable:!1},setMeta:{value:function(e){var t=this;return Object.getPrototypeOf(x.prototype).setMeta.call(this,e).then(function(){Object.keys(t._contacts).length>0&&(t._contacts={},t.onSubsUpdated&&t.onSubsUpdated([]))})},enumerable:!0,configurable:!0,writable:!1},contacts:{value:function(e,t){var n=e||this.onMetaSub;if(n)for(var a in this._contacts)n.call(t,this._contacts[a],a,this._contacts)},enumerable:!0,configurable:!0,writable:!0}}),x.prototype.constructor=x;var _=function(e,t,n){this._apiKey=e,this._authToken=t,this._msgId=n,this.xhr=v(),this.toResolve=null,this.toReject=null,this.onProgress=null,this.onSuccess=null,this.onFailure=null};_.prototype={upload:function(e,t,n,a){var s=this;this.xhr.open("POST","/v"+o+"/file/u/",!0),this.xhr.setRequestHeader("X-Tinode-APIKey",this._apiKey),this.xhr.setRequestHeader("Authorization","Token "+this._authToken);var i=new Promise((e,t)=>{this.toResolve=e,this.toReject=t});this.onProgress=t,this.onSuccess=n,this.onFailure=a,this.xhr.upload.onprogress=function(e){e.lengthComputable&&s.onProgress&&s.onProgress(e.loaded/e.total)},this.xhr.onload=function(){var e;try{e=JSON.parse(this.response,b)}catch(e){console.log("Invalid server response in LargeFileHelper",this.response)}this.status>=200&&this.status<300?(s.toResolve&&s.toResolve(e.ctrl.params.url),s.onSuccess&&s.onSuccess(e.ctrl)):this.status>=400?(s.toReject&&s.toReject(new Error(e.ctrl.text+" ("+e.ctrl.code+")")),s.onFailure&&s.onFailure(e.ctrl)):console.log("Unexpected server response status",this.status,this.response)},this.xhr.onerror=function(e){s.toReject&&s.toReject(new Error("failed")),s.onFailure&&s.onFailure(null)},this.xhr.onabort=function(e){s.toReject&&s.toReject(new Error("upload cancelled by user")),s.onFailure&&s.onFailure(null)};try{var r=new FormData;r.append("file",e),r.set("id",this._msgId),this.xhr.send(r)}catch(e){this.toReject&&this.toReject(e),this.onFailure&&this.onFailure(null)}return i},download:function(e,t,n,a){if(!/^(?:(?:[a-z]+:)?\/\/)/i.test(e)){var s=this;this.xhr.open("GET",e,!0),this.xhr.setRequestHeader("X-Tinode-APIKey",this._apiKey),this.xhr.setRequestHeader("Authorization","Token "+this._authToken),this.xhr.responseType="blob",this.onProgress=a,this.xhr.onprogress=function(e){s.onProgress&&s.onProgress(e.loaded)};var i=new Promise((e,t)=>{this.toResolve=e,this.toReject=t});this.xhr.onload=function(){if(200==this.status){var e=document.createElement("a");e.href=window.URL.createObjectURL(new Blob([this.response],{type:n})),e.style.display="none",e.setAttribute("download",t),document.body.appendChild(e),e.click(),document.body.removeChild(e),window.URL.revokeObjectURL(e.href),s.toResolve&&s.toResolve()}else if(this.status>=400&&s.toReject){var a=new FileReader;a.onload=function(){try{var e=JSON.parse(this.result,b);s.toReject(new Error(e.ctrl.text+" ("+e.ctrl.code+")"))}catch(e){console.log("Invalid server response in LargeFileHelper",this.result),s.toReject(e)}},a.readAsText(this.response)}},this.xhr.onerror=function(e){s.toReject&&s.toReject(new Error("failed"))},this.xhr.onabort=function(){s.toReject&&s.toReject(null)};try{this.xhr.send()}catch(e){this.toReject&&this.toReject(e)}return i}console.log("The URL '"+e+"' must be relative, not absolute")},cancel:function(){this.xhr&&this.xhr.readyState<4&&this.xhr.abort()},getId:function(){return this._msgId}};var M=function(e,t){this.status=M.STATUS_NONE,this.topic=e,this.content=t};return M.STATUS_NONE=0,M.STATUS_QUEUED=1,M.STATUS_SENDING=2,M.STATUS_SENT=3,M.STATUS_RECEIVED=4,M.STATUS_READ=5,M.STATUS_TO_ME=6,M.prototype={toJSON:function(){},fromJSON:function(e){}},M.prototype.constructor=M,(r=S.getInstance()).Drafty=i,r})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),Yo=Yo.exports;const Xo="TinodeWeb/0.15",Zo={hosted:"api.tinode.co",local:"localhost:6060"},el=Zo.hosted,tl=new Audio("audio/msg.mp3"),nl="\u2421",al="AQEAAAABAAD_rAp4DJh05a1HAwFT3A6K",sl=3e3,il=500,rl=1e3,ol=4,ll=640,cl=13,ul=128,dl=24,hl=195840,pl=1<<23,fl=768,ml=["image/jpeg","image/gif","image/png","image/svg","image/svg+xml"],gl=["jpg","gif","png","svg","svg"];var vl=Tinode.Drafty;function bl(e){var t=window.navigator.userLanguage||window.navigator.language,n=new Date;return e.getFullYear()==n.getFullYear()?e.getMonth()==n.getMonth()&&e.getDate()==n.getDate()?e.toLocaleTimeString(t,{hour12:!1,hour:"2-digit",minute:"2-digit"}):e.toLocaleDateString(t,{hour12:!1,month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):e.toLocaleDateString(t,{hour12:!1,year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function wl(e){if(!e||0==e)return"0 Bytes";var t=["Bytes","KB","MB","GB","TB","PB"],n=Math.min(0|Math.floor(Math.log2(e)/10),t.length-1),a=e/Math.pow(1024,n),s=n>0?a<3?2:a<30?1:0:0;return a.toFixed(s)+" "+t[n]}function yl(e){return e&&e.type&&e.data?"data:image/"+e.type+";base64,"+e.data:null}function El(e,t,n,a,s){if(!(e&&t&&n&&a))return null;s&&(n=a=Math.min(n,a));let i=Math.min(Math.min(e,n)/e,Math.min(t,a)/t),r={dstWidth:e*i|0,dstHeight:t*i|0};return s?(r.dstWidth=r.dstHeight=Math.min(r.dstWidth,r.dstHeight),r.srcWidth=r.srcHeight=Math.min(e,t),r.xoffset=(e-r.srcWidth)/2|0,r.yoffset=(t-r.srcWidth)/2|0):(r.xoffset=r.yoffset=0,r.srcWidth=e,r.srcHeight=t),r}function Sl(e,t){var n=ml.indexOf(t),a=gl[n],s=e.lastIndexOf(".");return s>=0&&(e=e.substring(0,s)),e+"."+a}function Cl(e){var t=/^data:(image\/[-+a-z0-9.]+);base64/.exec(e);return t&&t.length>1?t[1]:null}function Tl(e){return 3*Math.floor(e/4)}function Rl(e,t,n,a,s,i){var r=new Image;r.crossOrigin="Anonymous",r.onerror=function(e){i("Image format unrecognized")},r.onload=function(){var r=El(this.width,this.height,t,n,a);if(r){var o=document.createElement("canvas");o.width=r.dstWidth,o.height=r.dstHeight;var l=o.getContext("2d");l.imageSmoothingEnabled=!0,l.drawImage(this,r.xoffset,r.yoffset,r.srcWidth,r.srcHeight,0,0,r.dstWidth,r.dstHeight);var c=this.width!=r.dstWidth||this.height!=r.dstHeight||ml.indexOf(e.type)<0?"image/jpeg":e.type,u=o.toDataURL(c);if(c=Cl(u.split(",")[0])){var d=.78;if(Tl(u.length)>hl&&(c="image/jpeg"),"image/jpeg"==c)for(;Tl(u.length)>hl&&d>.45;)u=o.toDataURL(c,d),d*=.84;Tl(u.length)>hl?i("The image size "+wl(Tl(u.length))+" exceeds the "+wl(hl)+" limit.","err"):(o=null,s(u.split(",")[1],c,r.dstWidth,r.dstHeight,Sl(e.name,c)))}else i("Unsupported image format")}else i("Invalid image")},r.src=URL.createObjectURL(e)}function kl(e,t,n){var a=new FileReader;a.addEventListener("load",function(){var s=a.result.split(","),i=Cl(s[0]);if(i){var r=new Image;r.crossOrigin="Anonymous",r.onload=function(){t(s[1],i,this.width,this.height,Sl(e.name,i))},r.onerror=function(e){n("Image format not recognized")},r.src=URL.createObjectURL(e)}else n("Failed to process image file")},!1),a.readAsDataURL(e)}function xl(e,t,n){var a=new FileReader;a.addEventListener("load",function(){t(e.type,a.result.split(",")[1],e.name)}),a.readAsDataURL(e)}function _l(e){let t=e.split("?",2),n={},a=[];return t[0]&&(a=t[0].substr(1).split("/")),t[1]&&t[1].split("&").forEach(function(e){let t=e.split("=");t[0]&&(n[decodeURIComponent(t[0])]=decodeURIComponent(t[1]))}),{path:a,params:n}}function Ml(e,t){var n=e.join("/"),a=[];for(var s in t)t.hasOwnProperty(s)&&a.push(s+"="+t[s]);return a.length>0&&(n+="?"+a.join("&")),n}function Nl(e,t,n){var a=_l(e);return a.params[t]=n,Ml(a.path,a.params)}function Pl(e,t){var n=_l(e);return delete n.params[t],Ml(n.path,n.params)}function Ul(e,t){var n=_l(e);return n.path[0]=t,Ml(n.path,n.params)}function Dl(e,t){var n=_l(e);return n.path[1]=t,delete n.params.info,Ml(n.path,n.params)}function Al(e,t){var n=null;if((e&&e.trim()||t)&&(n={},e&&(n.fn=e.trim()),t)){var a=t.indexOf(",");n.photo={data:t.substring(a+1),type:"jpg"}}return n}function Il(e,t){if(e.length!=t.length)return!1;e.sort(),t.sort();for(var n=0,a=e.length;n<a;n++)if(e[n]!==t[n])return!1;return!0}function Ol(e,t,n){var a=Tinode.getTopic(t.topicName);if(a){var s,i;if(t.user){if(!(i=a.subscriber(t.user)))return void console.log("Subscriber not found",t.topicName+"["+t.user+"]");s=i.acs.updateGiven(e).getGiven()}else s=a.getAccessMode().updateWant(e).getWant();a.setMeta({sub:{user:t.user,mode:s}}).catch(function(e){n&&n(e.message,"err")})}else console.log("Topic not found",t.topicName)}function Ll(e,t,n,a){var s=Tinode.getTopic(n.topicName);if(s){if(s.cancelSend(n.seq))return new Promise.resolve;(e?s.delMessagesAll(t):s.delMessagesList([n.seq],t)).catch(e=>{a&&a(e.message,"err")})}else console.log("Topic not found: ",n.topicName)}Storage.prototype.setObject=function(e,t){this.setItem(e,JSON.stringify(t))},Storage.prototype.getObject=function(e){var t=this.getItem(e);return t&&JSON.parse(t)};var Fl={topic_info:{title:"Info",handler:null},messages_clear:{title:"Clear messages",handler:function(e,t){Ll(!0,!1,e,t)}},messages_clear_hard:{title:"Clear for All",handler:function(e,t){Ll(!0,!0,e,t)}},message_delete:{title:"Delete",handler:function(e,t){Ll(!1,!1,e,t)}},message_delete_hard:{title:"Delete for All",handler:function(e,t){Ll(!1,!0,e,t)}},topic_unmute:{title:"Unmute",handler:Ol.bind(this,"+P")},topic_mute:{title:"Mute",handler:Ol.bind(this,"-P")},topic_unblock:{title:"Unblock",handler:Ol.bind(this,"+J")},topic_block:{title:"Block",handler:Ol.bind(this,"-J")},topic_delete:{title:"Delete",handler:function(e,t){var n=Tinode.getTopic(e.topicName);n?n.delTopic().catch(function(e){t&&t(e.message,"err")}):console.log("Topic not found: ",e.topicName)}},permissions:{title:"Edit permissions",handler:null},member_delete:{title:"Remove",handler:function(e,t){var n=Tinode.getTopic(e.topicName);n&&e.user?n.delSubscription(e.user).catch(function(e){t&&t(e.message,"err")}):console.log("Topic or user not found: '"+e.topicName+"', '"+e.user+"'")}},member_mute:{title:"Mute",handler:Ol.bind(this,"-P")},member_unmute:{title:"Unmute",handler:Ol.bind(this,"+P")},member_block:{title:"Block",handler:Ol.bind(this,"-J")},member_unblock:{title:"Unblock",handler:Ol.bind(this,"+J")}};class ql extends React.Component{constructor(e){super(e),this.toggle=this.toggle.bind(this),this.handlePageClick=this.handlePageClick.bind(this),this.handleEscapeKey=this.handleEscapeKey.bind(this),this.handleClick=this.handleClick.bind(this)}componentWillUnmount(){this.toggle(!1)}UNSAFE_componentWillReceiveProps(e){this.toggle(e.visible)}toggle(e){e?(document.addEventListener("mousedown",this.handlePageClick,!1),document.addEventListener("keyup",this.handleEscapeKey,!1)):(document.removeEventListener("mousedown",this.handlePageClick,!1),document.removeEventListener("keyup",this.handleEscapeKey,!1))}handlePageClick(e){ReactDOM.findDOMNode(this).contains(e.target)||(e.preventDefault(),e.stopPropagation(),this.props.hide())}handleEscapeKey(e){27===e.keyCode&&this.props.hide()}handleClick(e){e.preventDefault(),e.stopPropagation(),this.props.hide(),this.props.items[e.currentTarget.dataset.id].handler(this.props.params,this.props.onError)}render(){if(!this.props.visible)return null;let e=0,t=[];this.props.items.map(n=>{n&&n.title&&t.push("-"===n.title?React.createElement("li",{className:"separator",key:e}):React.createElement("li",{onClick:this.handleClick,"data-id":e,key:e},n.title)),e++});var n=12*cl,a=cl*(.7+2.5*t.length),s={left:(this.props.bounds.right-this.props.clickAt.x<n?this.props.clickAt.x-this.props.bounds.left-n:this.props.clickAt.x-this.props.bounds.left)+"px",top:(this.props.bounds.bottom-this.props.clickAt.y<a?this.props.clickAt.y-this.props.bounds.top-a:this.props.clickAt.y-this.props.bounds.top)+"px"};return React.createElement("ul",{className:"menu",style:s},t)}}class jl extends React.PureComponent{constructor(e){super(e)}render(){return React.createElement("a",{href:"javascript:;",onClick:this.props.onCancel},React.createElement("i",{className:"material-icons"},"close"))}}class zl extends React.PureComponent{render(){return this.props.show?React.createElement("div",{className:"load-spinner-box"},React.createElement("div",{className:"loader-spinner"})):null}}class Wl extends React.PureComponent{constructor(e){super(e),this.state={open:e.open},this.handleToggle=this.handleToggle.bind(this)}handleToggle(){let e=!this.state.open;this.setState({open:e}),this.props.onToggle&&this.props.onToggle(e)}render(){return React.createElement("label",{className:"small",onClick:this.handleToggle},this.props.title,"...",this.state.open?React.createElement("i",{className:"material-icons"},"expand_more"):React.createElement("i",{className:"material-icons"},"chevron_right"))}}class Vl extends React.PureComponent{render(){let e;if(!0===this.props.avatar)if(this.props.topic&&this.props.title&&this.props.title.trim()){let t=this.props.title.trim().charAt(0),n="lettertile dark-color"+Math.abs(function(e){var t=0;e=""+e;for(var n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t}(this.props.topic))%16;e=React.createElement("div",{className:n},React.createElement("div",null,t))}else e="grp"===Tinode.topicType(this.props.topic)?React.createElement("i",{className:"material-icons"},"group"):React.createElement("i",{className:"material-icons"},"person");else e=this.props.avatar?React.createElement("img",{className:"avatar",alt:"avatar",src:this.props.avatar}):null;return e}}class Hl extends React.Component{constructor(e){super(e),this.state={active:e.state,initialText:e.text||"",text:e.text||""},this.handeTextChange=this.handeTextChange.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleStartEditing=this.handleStartEditing.bind(this),this.handleEditingFinished=this.handleEditingFinished.bind(this)}static getDerivedStateFromProps(e,t){return t.initialText==e.text||t.active?null:{initialText:e.text||"",text:e.text||""}}handeTextChange(e){this.setState({text:e.target.value})}handleKeyDown(e){27===e.keyCode?this.setState({text:this.props.text,active:!1}):13===e.keyCode&&this.handleEditingFinished()}handleStartEditing(){this.props.readOnly||(ReactDOM.findDOMNode(this).focus(),this.setState({active:!0}))}handleEditingFinished(){this.setState({active:!1});var e=this.state.text.trim();(e||this.props.text)&&e!==this.props.text&&this.props.onFinished(e)}render(){var e="password"===this.props.type?"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022":this.state.text,t="in-place-edit"+(this.props.readOnly?" disabled":"");return e||(e=this.props.placeholder,t+=" placeholder"),e.length>20&&(e=e.substring(0,19)+"..."),this.state.active?React.createElement("input",{type:this.props.type||"text",value:this.state.text,placeholder:this.props.placeholder,onChange:this.handeTextChange,onKeyDown:this.handleKeyDown,onBlur:this.handleEditingFinished,autoFocus:!0}):React.createElement("span",{className:t,onClick:this.handleStartEditing},React.createElement("span",{className:"content"},e))}}class Bl extends React.PureComponent{constructor(e){super(e),this.state={hostName:e.serverAddress,changed:!1},this.handleHostNameChange=this.handleHostNameChange.bind(this),this.handleEditingFinished=this.handleEditingFinished.bind(this)}handleHostNameChange(e){this.setState({hostName:e.target.value,changed:!0})}handleEditingFinished(){this.state.changed&&(this.setState({changed:!1}),this.props.onServerAddressChange(this.state.hostName.trim()))}render(){var e=[];for(var t in Zo){var n=Zo[t];e.push(React.createElement("option",{key:n,value:n}))}return React.createElement("div",null,React.createElement("label",{htmlFor:"host-name"},"Server address:"),React.createElement("input",{type:"search",id:"host-name",placeholder:this.props.hostName,list:"known-hosts",value:this.state.hostName,onChange:this.handleHostNameChange,onBlur:this.handleEditingFinished,required:!0}),React.createElement("datalist",{id:"known-hosts"},e))}}class Gl extends React.PureComponent{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}handleChange(){this.props.onChange(this.props.name,!this.props.checked)}render(){return this.props.onChange?this.props.checked?React.createElement("i",{className:"material-icons blue clickable",onClick:this.handleChange},"check_box"):React.createElement("i",{className:"material-icons blue clickable",onClick:this.handleChange},"check_box_outline_blank"):this.props.checked?React.createElement("i",{className:"material-icons"},"check_box"):React.createElement("i",{className:"material-icons"},"check_box_outline_blank")}}class Kl extends React.Component{constructor(e){super(e),this.state={mode:(e.mode||"").replace("N","")},this.handleChange=this.handleChange.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleCancel=this.handleCancel.bind(this)}handleChange(e){let t=this.state.mode;-1==t.indexOf(e)?t+=e:t=t.replace(e,""),this.setState({mode:t})}handleSubmit(){var e=(this.state.mode||"N").split("").sort().join("");e!==(this.props.mode||"N").split("").sort().join("")?this.props.onSubmit(e):this.props.onCancel()}handleCancel(){this.props.onCancel()}render(){const e={J:"Join (J)",R:"Read (R)",W:"Write (W)",P:"Get notified (P)",A:"Approve (A)",S:"Share (S)",D:"Delete (D)",O:"Owner (O)"};let t=this.props.skip||"",n=this.state.mode,a=(this.props.compare||"").replace("N",""),s=[];for(let i=0;i<"JRWPASDO".length;i++){let r="JRWPASDO".charAt(i);t.indexOf(r)>=0&&n.indexOf(r)<0||s.push(React.createElement("tr",{key:r},React.createElement("td",null,e[r]),React.createElement("td",{className:"checkbox"},t.indexOf(r)<0?React.createElement(Gl,{name:r,checked:n.indexOf(r)>=0,onChange:this.handleChange}):React.createElement(Gl,{name:r,checked:n.indexOf(r)>=0})),this.props.compare?React.createElement("td",{className:"checkbox"},React.createElement(Gl,{name:r,checked:a.indexOf(r)>=0})):null))}return React.createElement("div",{className:"panel-form-column"},this.props.userTitle?React.createElement("ul",{className:"contact-box"},React.createElement(lc,{item:this.props.item,title:this.props.userTitle,avatar:yl(this.props.userAvatar?this.props.userAvatar:null)})):null,React.createElement("label",{className:"small"},"Permissions"),React.createElement("table",{className:"permission-editor"},this.props.compare?React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",null),React.createElement("th",null,this.props.modeTitle),React.createElement("th",null,this.props.compareTitle))):null,React.createElement("tbody",null,s)),React.createElement("br",null),React.createElement("div",{className:"dialog-buttons"},React.createElement("button",{className:"blue",onClick:this.handleSubmit},"Ok"),React.createElement("button",{className:"white",onClick:this.handleCancel},"Cancel")))}}class Ql extends React.Component{constructor(e){super(e),this.state={placeholder:e.chips?"":e.prompt,sortedChips:Ql.sortChips(e.chips,e.required),chipIndex:Ql.indexChips(e.chips),input:"",focused:!1},this.handleTextInput=this.handleTextInput.bind(this),this.removeChipAt=this.removeChipAt.bind(this),this.handleChipCancel=this.handleChipCancel.bind(this),this.handleFocusGained=this.handleFocusGained.bind(this),this.handleFocusLost=this.handleFocusLost.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}UNSAFE_componentWillReceiveProps(e){this.setState({sortedChips:Ql.sortChips(e.chips,e.required),chipIndex:Ql.indexChips(e.chips)}),e.chips.length>this.props.chips.length&&this.setState({input:""})}static indexChips(e){var t={},n=0;return e.map(function(e){t[e.user]=n,n++}),t}static sortChips(e,t){var n=[],a=[];return e.map(function(e){e.user===t?n.push(e):a.push(e)}),n.concat(a)}handleTextInput(e){this.setState({input:e.target.value}),this.props.filterFunc&&this.props.filterFunc(e.target.value)}removeChipAt(e){var t=this.state.sortedChips[e];this.props.onChipRemoved(t.user,this.state.chipIndex[t.user])}handleChipCancel(e,t){this.removeChipAt(t)}handleFocusGained(){this.setState({focused:!0})}handleFocusLost(){this.setState({focused:!1}),this.props.onFocusLost&&this.props.onFocusLost(this.state.input)}handleKeyDown(e){if("Backspace"===e.key){if(0==this.state.input.length&&this.state.sortedChips.length>0){var t=this.state.sortedChips.length-1;this.state.sortedChips[t].user!==this.props.required&&this.removeChipAt(t)}}else"Enter"===e.key?this.props.onEnter&&this.props.onEnter(this.state.input):"Escape"===e.key&&this.props.onCancel&&this.props.onCancel()}render(){var e=[],t=this,n=0;this.state.sortedChips.map(function(a){e.push(React.createElement($l,{onCancel:t.handleChipCancel,avatar:yl(a.public?a.public.photo:null),title:a.public?a.public.fn:void 0,noAvatar:t.props.avatarDisabled,topic:a.user,required:a.user===t.props.required,index:n,key:a.user})),n++});var a="chip-input"+(this.state.focused?" focused":"");return React.createElement("div",{className:a},e,React.createElement("input",{type:"text",placeholder:this.state.placeholder,onChange:this.handleTextInput,onFocus:this.handleFocusGained,onBlur:this.handleFocusLost,onKeyDown:this.handleKeyDown,value:this.state.input,autoFocus:!0}))}}class $l extends React.PureComponent{constructor(e){super(e),this.handleCancel=this.handleCancel.bind(this)}handleCancel(){this.props.onCancel(this.props.topic,this.props.index)}render(){var e=this.props.title||this.props.topic;return React.createElement("div",{className:"chip"},this.props.noAvatar?React.createElement("span",{className:"spacer"}):React.createElement("div",{className:"avatar-box"},React.createElement(Vl,{avatar:this.props.avatar||!0,topic:this.props.topic,title:this.props.title})),React.createElement("span",null,e),this.props.onCancel&&!this.props.required?React.createElement("a",{href:"javascript:;",onClick:this.handleCancel},"\xd7"):React.createElement("span",{className:"spacer"}))}}class Jl extends React.Component{constructor(e){super(e),this.state={onlineSubs:e.subscribers||[]}}static getDerivedStateFromProps(e,t){return{onlineSubs:e.subscribers?e.subscribers:[]}}render(){var e=[];return this.state.onlineSubs.map(t=>{e.push(React.createElement("div",{className:"avatar-box"},React.createElement(Vl,{topic:t.user,avatar:yl(t.public?t.public.photo:null)||!0,title:t.public?t.public.fn:null,key:t.user})))}),React.createElement("div",{id:"topic-users"},e)}}class Yl extends React.Component{constructor(e){super(e),this.state={login:e.login,password:"",hostName:e.serverAddress,saveToken:localStorage.getObject("keep-logged-in")},this.handleLoginChange=this.handleLoginChange.bind(this),this.handlePasswordChange=this.handlePasswordChange.bind(this),this.handleServerAddressChange=this.handleServerAddressChange.bind(this),this.handleToggleSaveToken=this.handleToggleSaveToken.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}handleLoginChange(e){this.setState({login:e.target.value})}handlePasswordChange(e){this.setState({password:e.target.value})}handleServerAddressChange(e){this.setState({hostName:e}),this.props.onServerAddressChange(e)}handleToggleSaveToken(){localStorage.setObject("keep-logged-in",!this.state.saveToken),this.setState({saveToken:!this.state.saveToken})}handleSubmit(e){e.preventDefault(),this.props.onLogin(this.state.login.trim(),this.state.password.trim())}render(){var e="blue";return this.props.disabled&&(e+=" disabled"),React.createElement("form",{id:"login-form",onSubmit:this.handleSubmit},React.createElement("input",{type:"text",id:"inputLogin",placeholder:"Login (alice, bob, carol, dave, frank)",autoComplete:"username",value:this.state.login,onChange:this.handleLoginChange,required:!0,autoFocus:!0}),React.createElement("input",{type:"password",id:"inputPassword",placeholder:"Password (alice123, bob123, ...)",autoComplete:"current-password",value:this.state.password,onChange:this.handlePasswordChange,required:!0}),React.createElement("div",{className:"panel-form-row"},React.createElement(Bl,{serverAddress:this.props.serverAddress,onServerAddressChange:this.handleServerAddressChange})),React.createElement("div",{className:"panel-form-row"},React.createElement(Gl,{id:"save-token",name:"save-token",checked:this.state.saveToken,onChange:this.handleToggleSaveToken}),React.createElement("label",{forHtml:"save-token"},"\xa0Keep me logged in")),React.createElement("div",{className:"dialog-buttons"},React.createElement("button",{className:e,type:"submit"},"Sign in")))}}class Xl extends React.PureComponent{constructor(e){super(e),this.state={login:"",password:"",password2:"",email:"",fn:"",imageDataUrl:null,errorCleared:!1,saveToken:localStorage.getObject("keep-logged-in")},this.handleLoginChange=this.handleLoginChange.bind(this),this.handlePasswordChange=this.handlePasswordChange.bind(this),this.handlePassword2Change=this.handlePassword2Change.bind(this),this.handleEmailChange=this.handleEmailChange.bind(this),this.handleFnChange=this.handleFnChange.bind(this),this.handleImageChanged=this.handleImageChanged.bind(this),this.handleToggleSaveToken=this.handleToggleSaveToken.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}handleLoginChange(e){this.setState({login:e.target.value})}handlePasswordChange(e){this.setState({password:e.target.value})}handlePassword2Change(e){this.setState({password2:e.target.value})}handleEmailChange(e){this.setState({email:e.target.value})}handleFnChange(e){this.setState({fn:e.target.value})}handleImageChanged(e){this.setState({imageDataUrl:e})}handleToggleSaveToken(){localStorage.setObject("keep-logged-in",!this.state.saveToken),this.setState({saveToken:!this.state.saveToken})}handleSubmit(e){e.preventDefault(),this.state.password.trim()!=this.state.password2.trim()?this.props.onError("Passwords don't match","warn"):(this.setState({errorCleared:!1}),this.props.onCreateAccount(this.state.login.trim(),this.state.password.trim(),Al(this.state.fn,this.state.imageDataUrl),{meth:"email",val:this.state.email}))}render(){var e="blue";return this.props.disabled&&(e+=" disabled"),React.createElement("form",{className:"panel-form-column",onSubmit:this.handleSubmit},React.createElement("div",{className:"panel-form-row"},React.createElement("div",{className:"panel-form-column"},React.createElement("input",{type:"text",placeholder:"Login",autoComplete:"user-name",value:this.state.login,onChange:this.handleLoginChange,required:!0,autoFocus:!0}),React.createElement("input",{type:"password",placeholder:"Password",autoComplete:"new-password",value:this.state.password,onChange:this.handlePasswordChange,required:!0}),React.createElement("input",{type:"password",placeholder:"Repeat password",autoComplete:"new-password",value:this.state.password2,onChange:this.handlePassword2Change,required:!0})),React.createElement(Zl,{onImageChanged:this.handleImageChanged,onError:this.props.onError})),React.createElement("div",{className:"panel-form-row"},React.createElement("input",{type:"email",placeholder:"Email, e.g john.doe@example.com",autoComplete:"email",value:this.state.email,onChange:this.handleEmailChange,required:!0})),React.createElement("div",{className:"panel-form-row"},React.createElement("input",{type:"text",placeholder:"Full name, e.g. John Doe",autoComplete:"name",value:this.state.fn,onChange:this.handleFnChange,required:!0})),React.createElement("div",{className:"panel-form-row"},React.createElement(Gl,{id:"save-token",name:"save-token",checked:this.state.saveToken,onChange:this.handleToggleSaveToken}),React.createElement("label",{forHtml:"save-token"},"\xa0Keep me logged in")),React.createElement("div",{className:"dialog-buttons"},React.createElement("button",{className:e,type:"submit"},"Sign up")))}}class Zl extends React.Component{constructor(e){super(e),this.state={dataUrl:e.avatar},this.handleFileUpload=this.handleFileUpload.bind(this)}static getDerivedStateFromProps(e,t){return t.dataUrl!=e.avatar?{dataUrl:e.avatar}:null}handleFileUpload(e){var t=this;Rl(e.target.files[0],ul,ul,!0,function(e,n){var a=yl({data:e,type:n});t.setState({dataUrl:a}),t.props.onImageChanged(a)},function(e){this.props.onError(e,"err")}),e.target.value=""}render(){var e="file-input-avatar-"+(Math.random()+"").substr(2);return React.createElement("div",{className:"avatar-upload"},this.state.dataUrl?React.createElement("img",{src:this.state.dataUrl,className:"preview"}):this.props.readOnly&&this.props.uid?React.createElement("div",{className:"avatar-box"},React.createElement(Vl,{avatar:!0,topic:this.props.uid,title:this.props.title})):React.createElement("div",{className:"blank"},"128\xd7128"),this.props.readOnly?null:React.createElement("input",{type:"file",id:e,className:"inputfile hidden",accept:"image/*",onChange:this.handleFileUpload}),this.props.readOnly?null:React.createElement("label",{htmlFor:e,className:"round"},React.createElement("i",{className:"material-icons"},"file_upload")))}}class ec extends React.PureComponent{constructor(e){super(e),this.state={transport:e.transport||"def",messageSounds:e.messageSounds,desktopAlerts:e.desktopAlerts&&e.desktopAlertsEnabled},this.handleSubmit=this.handleSubmit.bind(this),this.handleCheckboxClick=this.handleCheckboxClick.bind(this),this.handleTransportSelected=this.handleTransportSelected.bind(this)}handleSubmit(e){e.preventDefault(),this.props.onUpdate({transport:this.state.transport,messageSounds:this.state.messageSounds,desktopAlerts:this.state.desktopAlerts})}handleCheckboxClick(e,t){"sound"==e?this.setState({messageSounds:t}):"alert"==e&&this.setState({desktopAlerts:t})}handleTransportSelected(e){this.setState({transport:e.currentTarget.value})}render(){var e={def:"default",ws:"websocket",lp:"long polling"},t=[],n=this;return["def","ws","lp"].map(function(a){var s="transport-"+a,i=e[a];t.push(React.createElement("li",{key:a},React.createElement("input",{type:"radio",id:s,name:"transport-select",value:a,checked:n.state.transport===a,onChange:n.handleTransportSelected}),React.createElement("label",{htmlFor:s},i)))}),React.createElement("form",{id:"settings-form",onSubmit:this.handleSubmit},React.createElement("div",{className:"panel-form-row"},React.createElement("label",{forHtml:"message-sound"},"Message sound:"),React.createElement(Gl,{name:"sound",id:"message-sound",checked:this.state.messageSounds,onChange:this.handleCheckboxClick})),React.createElement("div",{className:"panel-form-row"},React.createElement("label",{forHtml:"desktop-alerts"},"Notification alerts",this.props.desktopAlertsEnabled?null:" (requires HTTPS)",":"),React.createElement(Gl,{name:"alert",id:"desktop-alerts",checked:this.state.desktopAlerts,onChange:this.props.desktopAlertsEnabled?this.handleCheckboxClick:null})),React.createElement("div",{className:"panel-form-row"},React.createElement("label",{className:"small"},"Wire transport:")),React.createElement("div",{className:"panel-form-row"},React.createElement("ul",{className:"quoted"},t)),React.createElement("div",{className:"dialog-buttons"},React.createElement("button",{type:"submit",className:"blue"},"Update")))}}class tc extends React.PureComponent{render(){return React.createElement("div",{id:"side-caption-panel",className:"caption-panel"},React.createElement("div",{id:"self-avatar",className:"avatar-box"},React.createElement(Vl,{avatar:this.props.avatar,topic:this.props.myUserId,title:this.props.title})),React.createElement("div",{id:"sidepanel-title",className:"panel-title"},this.props.title),"login"===this.props.state?React.createElement(nc,{onSignUp:this.props.onSignUp,onSettings:this.props.onSettings}):"contacts"===this.props.state?React.createElement(ac,{onNewTopic:this.props.onNewTopic,onSettings:this.props.onSettings}):null,this.props.onCancel?React.createElement(jl,{onCancel:this.props.onCancel}):null)}}class nc extends React.PureComponent{render(){return React.createElement("div",null,React.createElement("a",{href:"javascript:;",onClick:this.props.onSignUp},React.createElement("i",{className:"material-icons"},"person_add")),"\xa0",React.createElement("a",{href:"javascript:;",onClick:this.props.onSettings},React.createElement("i",{className:"material-icons"},"settings")))}}class ac extends React.PureComponent{render(){return React.createElement("div",null,React.createElement("a",{href:"javascript:;",onClick:this.props.onNewTopic},React.createElement("i",{className:"material-icons"},"chat")),"\xa0",React.createElement("a",{href:"javascript:;",onClick:this.props.onSettings},React.createElement("i",{className:"material-icons"},"settings")))}}class sc extends React.Component{constructor(e){super(e),this.handleLoginRequested=this.handleLoginRequested.bind(this)}handleLoginRequested(e,t){this.props.onLoginRequest(e,t)}render(){var e=null,t=!1,n=void 0,a=this.props.state||(this.props.myUserId?"contacts":"login");switch(a){case"login":e="Sign In";break;case"register":e="Create Account",n=this.props.onCancel;break;case"settings":e="Settings",n=this.props.onCancel;break;case"edit":e="Edit Account",n=this.props.onCancel;break;case"contacts":e=this.props.title,t=!this.props.avatar||this.props.avatar;break;case"newtpk":e="Start New Chat",n=this.props.onCancel;break;case"cred":e="Confirm Credentials",n=this.props.onCancel}return React.createElement("div",{id:"sidepanel",className:this.props.hideSelf?"nodisplay":null},React.createElement(tc,{state:a,title:e,avatar:t,myUserId:this.props.myUserId,onSignUp:this.props.onSignUp,onSettings:this.props.onSettings,onNewTopic:this.props.onNewTopic,onCancel:n}),React.createElement(ic,{level:this.props.errorLevel,text:this.props.errorText,onClearError:this.props.onError}),"login"===a?React.createElement(Yl,{login:this.props.login,disabled:this.props.loginDisabled,serverAddress:this.props.serverAddress,onLogin:this.handleLoginRequested,onServerAddressChange:this.props.onGlobalSettings}):"register"===a?React.createElement(Xl,{onCreateAccount:this.props.onCreateAccount,onCancel:this.props.onCancel,onError:this.props.onError}):"settings"===a?React.createElement(ec,{transport:this.props.transport,messageSounds:this.props.messageSounds,desktopAlerts:this.props.desktopAlerts,desktopAlertsEnabled:this.props.desktopAlertsEnabled,onCancel:this.props.onCancel,onUpdate:this.props.onGlobalSettings}):"edit"===a?React.createElement(rc,{login:this.props.login,onSubmit:this.props.onUpdateAccount,onUpdateTags:this.props.onUpdateAccountTags,onLogout:this.props.onLogout,onCancel:this.props.onCancel,onError:this.props.onError}):"contacts"===a?React.createElement(uc,{connected:this.props.connected,topicSelected:this.props.topicSelected,showContextMenu:this.props.showContextMenu,messageSounds:this.props.messageSounds,onTopicSelected:this.props.onTopicSelected,onAcsChange:this.props.onAcsChange,onOnlineChange:this.props.onOnlineChange}):"newtpk"===a?React.createElement(pc,{contactsSearchQuery:this.props.contactsSearchQuery,foundContacts:this.props.foundContacts,onInitFind:this.props.onInitFind,onSearchContacts:this.props.onSearchContacts,onCreateTopic:this.props.onCreateTopic,onError:this.props.onError}):"cred"===a?React.createElement(vc,{credCode:this.props.credCode,credMethod:this.props.credMethod,onSubmit:this.props.onValidateCredentials,onCancel:this.props.onCancel,onError:this.props.onError}):null)}}class ic extends React.PureComponent{constructor(e){super(e),this.state={show:!1},this.hide=this.hide.bind(this)}static getDerivedStateFromProps(e,t){return{show:!!e.level}}hide(){this.setState({show:!1}),this.props.onClearError&&this.props.onClearError()}render(){var e="err"==this.props.level?"error":"warning";return React.createElement("div",{className:this.state.show?"err"==this.props.level?"alert-box error":"alert-box warning":"alert-box"},React.createElement("div",{className:"icon"},React.createElement("i",{className:"material-icons"},e)),this.props.text,React.createElement("div",{className:"cancel"},React.createElement(jl,{onCancel:this.hide})))}}class rc extends React.Component{constructor(e){super(e);let t=Tinode.getMeTopic(),n=t.getDefaultAccess(),a=Tinode.getFndTopic();this.state={fullName:t.public?t.public.fn:void 0,avatar:yl(t.public?t.public.photo:null),address:Tinode.getCurrentUserID(),auth:n.auth,anon:n.anon,tags:a.tags(),previousOnTags:a.onTagsUpdated},this.tnNewTags=this.tnNewTags.bind(this),this.handleFullNameUpdate=this.handleFullNameUpdate.bind(this),this.handlePasswordUpdate=this.handlePasswordUpdate.bind(this),this.handleImageChanged=this.handleImageChanged.bind(this),this.handleTagsUpdated=this.handleTagsUpdated.bind(this)}componentDidMount(){let e=Tinode.getFndTopic();e.onTagsUpdated=this.tnNewTags,e.isSubscribed()||e.subscribe(e.startMetaQuery().withLaterDesc().withTags().build()).catch(e=>{this.props.onError(e.message,"err")})}componentWillUnmount(){Tinode.getFndTopic().onTagsUpdated=this.state.previousOnTags}tnNewTags(e){this.setState({tags:e})}handleFullNameUpdate(e){this.setState({fullName:e}),this.props.onSubmit(null,Al(e,this.state.avatar))}handlePasswordUpdate(e){this.setState({password:e}),this.props.onSubmit(e,null)}handleImageChanged(e){this.setState({avatar:e}),this.props.onSubmit(null,Al(this.state.fullName,e))}handleTagsUpdated(e){Il(this.state.tags.slice(0),e.slice(0))||this.props.onUpdateTags(e)}render(){var e=[];return this.state.tags.map(function(t){e.push(React.createElement("span",{className:"badge",key:e.length},t))}),0==e.length&&(e=React.createElement("i",null,"No tags defined. Add some.")),React.createElement("div",{id:"edit-account",className:"panel-form"},React.createElement("div",{className:"panel-form-row"},React.createElement("div",{className:"panel-form-column"},React.createElement("div",null,React.createElement("label",{className:"small"},"Your name")),React.createElement("div",null,React.createElement(Hl,{placeholder:"Full name, e.g. John Doe",text:this.state.fullName,onFinished:this.handleFullNameUpdate})),React.createElement("div",null,React.createElement("label",{className:"small"},"Password")),React.createElement("div",null,React.createElement(Hl,{placeholder:"Unchanged",type:"password",onFinished:this.handlePasswordUpdate}))),React.createElement(Zl,{avatar:this.state.avatar,uid:this.state.address,title:this.state.fullName,onImageChanged:this.handleImageChanged,onError:this.props.onError})),React.createElement("div",{className:"hr"}),React.createElement("div",{className:"panel-form-column"},React.createElement("div",{className:"panel-form-row"},React.createElement("label",null,"Login:"),React.createElement("tt",null,this.props.login)),React.createElement("div",{className:"panel-form-row"},React.createElement("label",null,"Address:"),React.createElement("tt",null,this.state.address)),React.createElement("div",null,React.createElement("label",{className:"small"},"Default access mode:")),React.createElement("div",{className:"quoted"},React.createElement("div",null,"Auth: ",React.createElement("tt",null,this.state.auth)),React.createElement("div",null,"Anon: ",React.createElement("tt",null,this.state.anon)))),React.createElement("div",{className:"hr"}),React.createElement(oc,{title:"Tags (user discovery)",activated:!1,tags:this.state.tags,onSubmit:this.handleTagsUpdated}),React.createElement("div",{className:"hr"}),React.createElement("div",{className:"panel-form-column"},React.createElement("a",{href:"javascript:;",className:"red flat-button",onClick:this.props.onLogout},React.createElement("i",{className:"material-icons"},"exit_to_app")," Logout")))}}class oc extends React.Component{constructor(e){super(e),this.state={tags:this.props.tags,tagInput:"",activated:this.props.activated,noTagsMessage:"Add some tags"},this.handleShowTagManager=this.handleShowTagManager.bind(this),this.handleTagInput=this.handleTagInput.bind(this),this.handleAddTag=this.handleAddTag.bind(this),this.handleRemoveTag=this.handleRemoveTag.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleCancel=this.handleCancel.bind(this)}static getDerivedStateFromProps(e,t){return{tags:e.tags}}handleShowTagManager(){this.setState({activated:!0})}handleTagInput(e){if(this.setState({tagInput:e}),e.length>0){var t=e[e.length-1];if(","==t||" "==t||";"==t){var n=e.substr(0,e.length-1).trim();n.length>=ol&&this.handleAddTag(n)}}}handleAddTag(e){if((e=e.trim()).length>0){var t=this.state.tags.slice(0);t.push(e),this.setState({tags:t,tagInput:""}),this.props.onTagsChanged&&this.props.onTagsChanged(t)}}handleRemoveTag(e,t){var n=this.state.tags.slice(0);n.splice(t,1),this.setState({tags:n}),this.props.onTagsChanged&&this.props.onTagsChanged(n)}handleSubmit(){var e=this.state.tags.slice(0),t=this.state.tagInput.trim();t.length>0&&(e.push(t),this.props.onTagsChanged&&this.props.onTagsChanged(e)),this.props.onSubmit(e),this.setState({activated:!1,tagInput:"",tags:this.props.tags})}handleCancel(){this.setState({activated:!1,tagInput:"",tags:this.props.tags}),this.props.onCancel&&this.props.onCancel()}render(){var e=[];return this.state.activated?this.state.tags.map(function(t){e.push({user:t})}):(this.state.tags.map(function(t){e.push(React.createElement("span",{className:"badge",key:e.length},t))}),0==e.length&&(e=React.createElement("i",null,"No tags defined. Add some."))),React.createElement("div",{className:"panel-form-column"},React.createElement("div",{className:"panel-form-row"},React.createElement("label",{className:"small"},this.props.title)),this.state.activated?React.createElement("div",null,React.createElement(Ql,{chips:e,avatarDisabled:!0,prompt:this.state.noTagsMessage,onEnter:this.handleAddTag,onFocusLost:this.handleAddTag,onCancel:this.handleCancel,onChipRemoved:this.handleRemoveTag,filterFunc:this.handleTagInput}),this.props.onSubmit||this.props.onCancel?React.createElement("div",{id:"tag-manager-buttons",className:"panel-form-row"},React.createElement("button",{className:"blue",onClick:this.handleSubmit},"OK"),React.createElement("button",{className:"white",onClick:this.handleCancel},"Cancel")):null):React.createElement("div",null,React.createElement("a",{href:"javascript:;",className:"flat-button",onClick:this.handleShowTagManager},React.createElement("i",{className:"material-icons"},"edit")," Manage tags"),React.createElement("span",null,e)))}}class lc extends React.Component{constructor(e){super(e),this.handleClick=this.handleClick.bind(this),this.handleContextClick=this.handleContextClick.bind(this)}handleClick(e){e.preventDefault(),e.stopPropagation(),this.props.onSelected&&this.props.onSelected(this.props.item,this.props.index,this.props.now,this.props.acs)}handleContextClick(e){e.preventDefault(),e.stopPropagation(),this.props.showContextMenu({topicName:this.props.item,y:e.pageY,x:e.pageX})}render(){var e=this.props.title;e?e.length>30&&(e=e.substring(0,28)+"..."):e=React.createElement("i",null,"unknown");var t=this.props.now?"online":"offline",n=!this.props.avatar||this.props.avatar,a=[];if(this.props.badges&&this.props.badges.length>0){var s=0;this.props.badges.map(function(e){var t="badge"+(e.color?" "+e.color:"");a.push(React.createElement("span",{className:t,key:s},e.name)),s++})}return this.props.showMode&&this.props.acs&&a.push(React.createElement("span",{className:"badge",key:"mode"},this.props.acs.getMode())),React.createElement("li",{className:!this.props.showCheckmark&&this.props.selected?"selected":null,onClick:this.handleClick},React.createElement("div",{className:"avatar-box"},React.createElement(Vl,{avatar:n,title:this.props.title,topic:this.props.item}),this.props.showOnline?React.createElement("span",{className:t}):this.props.showCheckmark&&this.props.selected?React.createElement("i",{className:"checkmark material-icons"},"check_circle"):null),React.createElement("div",{className:"text-box"},React.createElement("div",null,React.createElement("span",{className:"contact-title"},e),this.props.unread>0?React.createElement(cc,{count:this.props.unread}):null),this.props.comment?React.createElement("div",{className:"contact-comment"},this.props.comment):null,React.createElement("span",null,a)),this.props.showContextMenu?React.createElement("span",{className:"menuTrigger"},React.createElement("a",{href:"javascript:;",onClick:this.handleContextClick},React.createElement("i",{className:"material-icons"},"expand_more"))):null)}}class cc extends React.PureComponent{render(){var e=null;if(this.props.count>0){var t=this.props.count>9?"9+":this.props.count;e=React.createElement("span",{className:"unread"},t)}return e}}class uc extends React.Component{constructor(e){super(e),this.prepareContactList=this.prepareContactList.bind(this),this.state={contactList:this.prepareContactList()},this.tnMeContactUpdate=this.tnMeContactUpdate.bind(this),this.tnMeSubsUpdated=this.tnMeSubsUpdated.bind(this),this.resetContactList=this.resetContactList.bind(this);var t=Tinode.getMeTopic();t.onContactUpdate=this.tnMeContactUpdate,t.onSubsUpdated=this.tnMeSubsUpdated}componentWillUnmount(){var e=Tinode.getMeTopic();e.onContactUpdate=void 0,e.onSubsUpdated=void 0}UNSAFE_componentWillReceiveProps(e){if(this.props.topicSelected!=e.topicSelected)for(var t=0;t<this.state.contactList.length;t++){var n=this.state.contactList[t];if(n.topic==e.topicSelected){e.onOnlineChange(n.online),e.onAcsChange(n.acs);break}}}tnMeContactUpdate(e,t){"on"==e||"off"==e?(this.resetContactList(),this.props.topicSelected==t.topic&&this.props.onOnlineChange("on"===e)):"read"===e?this.resetContactList():"msg"===e?this.props.topicSelected!==t.topic?(this.props.messageSounds&&tl.play(),this.resetContactList()):document.hidden&&this.props.messageSounds&&tl.play():"recv"===e||("gone"===e||"unsub"===e?(this.props.topicSelected===t.topic&&this.props.onTopicSelected(null),this.resetContactList()):"acs"===e?this.props.topicSelected===t.topic&&this.props.onAcsChange(t.acs):"del"==e||console.log("Unsupported (yet) presence update:"+e+" in: "+t.topic))}tnMeSubsUpdated(e){this.resetContactList()}prepareContactList(){var e=this,t=[],n=0;return Tinode.getMeTopic().contacts(function(a){a.seq=~~a.seq,a.read=~~a.read,a.unread=a.seq-a.read,n+=a.unread>0?1:0,t.push(a),e.props.topicSelected==a.topic&&(e.props.onOnlineChange(a.online),e.props.onAcsChange(a.acs))},this),t.sort(function(e,t){return t.touched-e.touched}),function(e){var t=document.getElementById("shortcut-icon");if(t){var n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("link");a.type="image/png",a.id="shortcut-icon",a.rel="shortcut icon",a.href="img/logo32x32"+(e>0?"a":"")+".png",n.removeChild(t),n.appendChild(a)}document.title=(e>0?"("+e+") ":"")+"Tinode"}(n),t}resetContactList(){this.setState({contactList:this.prepareContactList()})}render(){return React.createElement(dc,{connected:this.props.connected,contacts:this.state.contactList,emptyListMessage:React.createElement("span",null,"You have no chats",React.createElement("br",null),"\xaf\\_(\u30c4)_/\xaf"),topicSelected:this.props.topicSelected,showOnline:!0,showUnread:!0,onTopicSelected:this.props.onTopicSelected,showContextMenu:this.props.showContextMenu})}}class dc extends React.Component{render(){var e=Tinode.getCurrentUserID(),t=[],n=this,a=Array.isArray(this.props.topicSelected);return this.props.contacts&&this.props.contacts.length>0&&this.props.contacts.map(function(s){var i=s.topic?s.topic:s.user;if(n.props.filterFunc&&n.props.filter){var r=[i];if(s.private&&s.private.comment&&r.push((""+s.private.comment).toLowerCase()),s.public&&s.public.fn&&r.push((""+s.public.fn).toLowerCase()),!n.props.filterFunc(n.props.filter,r))return}var o=a?this.props.topicSelected.indexOf(i)>-1:this.props.topicSelected===i,l=[];this.props.showMode&&(i===e&&l.push({name:"you",color:"green"}),s.acs&&s.acs.isOwner()&&l.push({name:"owner"}));var c=Array.isArray(s.private)?s.private.join(", "):s.private?s.private.comment:null;t.push(React.createElement(lc,{title:s.public?s.public.fn:null,avatar:yl(s.public?s.public.photo:null),comment:c,unread:this.props.showUnread?s.unread:0,now:s.online&&this.props.connected,acs:s.acs,showMode:this.props.showMode,badges:l,showCheckmark:a,selected:o,showOnline:this.props.showOnline,onSelected:this.props.onTopicSelected,showContextMenu:this.props.showContextMenu,item:i,index:t.length,key:i}))},this),React.createElement("div",{className:this.props.noScroll?null:"scrollable-panel"},t.length>0?React.createElement("ul",{className:"contact-box"},t):React.createElement("div",{className:"center-medium-text"},this.props.emptyListMessage))}}class hc extends React.Component{constructor(e){super(e),this.state={members:e.members,index:hc.indexMembers(e.members),contactFilter:"",noContactsMessage:"You have no contacts :-(",selectedContacts:hc.selectedContacts(e.members)},this.handleContactSelected=this.handleContactSelected.bind(this),this.handleMemberRemoved=this.handleMemberRemoved.bind(this),this.handleContactFilter=this.handleContactFilter.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleCancel=this.handleCancel.bind(this)}static indexMembers(e){var t={};return e.map(function(e){t[e.user]={delta:0,present:!0}}),t}static selectedContacts(e){var t=[];return e.map(function(e){t.push(e.user)}),t}handleContactSelected(e,t){var n=this.state.index[e];if(n){if(n.present)return;n.delta+=1,n.present=!0}else n={delta:1,present:!0};var a=this.state.members.slice();a.push(this.props.contacts[t]);var s=this.selectedContacts(a),i=this.state.index;i[e]=n,this.setState({members:a,index:i,selectedContacts:s})}handleMemberRemoved(e,t){var n=this.state.index[e];if(n&&n.present){n.present=!1,n.delta-=1;var a=this.state.members.slice();a.splice(t,1);var s=this.selectedContacts(a),i=this.state.index;i[e]=n,this.setState({members:a,index:i,selectedContacts:s})}}handleContactFilter(e){var t=e?"No contacts match '"+e+"'":"You have no contacts :-(";this.setState({contactFilter:e,noContactsMessage:t})}static doContactFiltering(e,t){if(e){for(var n=0;n<t.length;n++)if(t[n].indexOf(e)>=0)return!0;return!1}return!0}handleSubmit(){var e=this,t=[],n=[],a=[];Object.keys(this.state.index).map(function(s){e.state.index[s].present&&t.push(s),e.state.index[s].delta>0?n.push(s):e.state.index[s].delta<0&&a.push(s)}),this.props.onSubmit(t,n,a)}handleCancel(){this.props.onCancel()}render(){return React.createElement("div",{id:"group-manager"},React.createElement("div",{className:"panel-form-row"},React.createElement("label",{className:"small"},"Group members")),React.createElement("div",{className:"panel-form-row"},React.createElement(Ql,{chips:this.state.members,required:this.props.requiredMember,prompt:"add members",filterFunc:this.handleContactFilter,onChipRemoved:this.handleMemberRemoved})),React.createElement("div",{className:"panel-form-row"},React.createElement("label",{className:"small"},"All contacts")),React.createElement(dc,{contacts:this.props.contacts,topicSelected:this.state.selectedContacts,filter:this.state.contactFilter,filterFunc:hc.doContactFiltering,emptyListMessage:this.state.noContactsMessage,showOnline:!1,showUnread:!1,onTopicSelected:this.handleContactSelected}),React.createElement("div",{id:"group-manager-buttons",className:"panel-form-row"},React.createElement("button",{className:"blue",onClick:this.handleSubmit},"OK"),React.createElement("button",{className:"white",onClick:this.handleCancel},"Cancel")))}}class pc extends React.Component{constructor(e){super(e),this.state={tabSelected:"p2p",searchQuery:e.contactsSearchQuery,contactList:e.foundContacts},this.handleTabClick=this.handleTabClick.bind(this),this.handleContactSelected=this.handleContactSelected.bind(this),this.handleNewGroupSubmit=this.handleNewGroupSubmit.bind(this),this.handleGroupByID=this.handleGroupByID.bind(this)}componentDidMount(){this.props.onInitFind()}static getDerivedStateFromProps(e,t){return{searchQuery:e.contactsSearchQuery,contactList:e.foundContacts}}handleTabClick(e){e.preventDefault(),window.location.hash=Nl(window.location.hash,"tab",e.currentTarget.dataset.id),this.setState({tabSelected:e.currentTarget.dataset.id})}handleContactSelected(e){"p2p"===this.state.tabSelected&&(window.location.hash=Pl(window.location.hash,"tab"),this.props.onCreateTopic(e,void 0))}handleNewGroupSubmit(e,t,n,a){window.location.hash=Pl(window.location.hash,"tab"),this.props.onCreateTopic(void 0,Al(e,t),n,a)}handleGroupByID(e){window.location.hash=Pl(window.location.hash,"tab"),this.props.onCreateTopic(e)}render(){return React.createElement("div",{className:"flex-column"},React.createElement("ul",{className:"tabbar"},React.createElement("li",{className:"p2p"===this.state.tabSelected?"active":null},React.createElement("a",{href:"javascript:;","data-id":"p2p",onClick:this.handleTabClick},"find")),React.createElement("li",{className:"grp"===this.state.tabSelected?"active":null},React.createElement("a",{href:"javascript:;","data-id":"grp",onClick:this.handleTabClick},"new group")),React.createElement("li",{className:"byid"===this.state.tabSelected?"active":null},React.createElement("a",{href:"javascript:;","data-id":"byid",onClick:this.handleTabClick},"by id"))),"grp"===this.state.tabSelected?React.createElement(fc,{onSubmit:this.handleNewGroupSubmit}):"byid"===this.state.tabSelected?React.createElement(gc,{onSubmit:this.handleGroupByID,onError:this.props.onError}):React.createElement("div",{className:"flex-column"},React.createElement(mc,{type:"p2p",searchQuery:this.state.searchQuery,onSearchContacts:this.props.onSearchContacts}),React.createElement(dc,{contacts:this.state.contactList,emptyListMessage:"Use search to find contacts",topicSelected:this.state.selectedContact,showOnline:!1,showUnread:!1,showContextMenu:!1,onTopicSelected:this.handleContactSelected})))}}class fc extends React.PureComponent{constructor(e){super(e),this.state={fn:"",private:"",imageDataUrl:null,tags:[]},this.handleFnChange=this.handleFnChange.bind(this),this.handlePrivateChange=this.handlePrivateChange.bind(this),this.handleImageChanged=this.handleImageChanged.bind(this),this.handleTagsChanged=this.handleTagsChanged.bind(this),this.handleTagsChanged=this.handleTagsChanged.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}handleFnChange(e){this.setState({fn:e.target.value})}handlePrivateChange(e){this.setState({private:e.target.value})}handleImageChanged(e){this.setState({imageDataUrl:e})}handleTagsChanged(e){this.setState({tags:e})}handleSubmit(e){e.preventDefault(),this.state.fn&&this.state.fn.trim()&&this.props.onSubmit(this.state.fn.trim(),this.state.imageDataUrl,this.state.private.trim(),this.state.tags)}render(){var e="blue";return this.props.disabled&&(e+=" disabled"),React.createElement("form",{className:"panel-form",onSubmit:this.handleSubmit},React.createElement("div",{className:"panel-form-row"},React.createElement("div",{className:"panel-form-column"},React.createElement("label",{className:"small",htmlFor:"new-topic-fn"},"Group name"),React.createElement("input",{type:"text",id:"new-topic-fn",placeholder:"Freeform name of the group",value:this.state.fn,onChange:this.handleFnChange,autoFocus:!0,required:!0}),React.createElement("br",null),React.createElement("label",{className:"small",htmlFor:"new-topic-priv"},"Private comment"),React.createElement("input",{type:"text",id:"new-topic-priv",placeholder:"Visible to you only",value:this.state.private,onChange:this.handlePrivateChange})),React.createElement(Zl,{onError:this.props.onError,onImageChanged:this.handleImageChanged})),React.createElement(oc,{tags:this.state.tags,activated:!0,onTagsChanged:this.handleTagsChanged,title:"Optional tags (search and discovery)"}),React.createElement("div",{className:"dialog-buttons"},React.createElement("button",{className:e},"Create")))}}class mc extends React.Component{constructor(e){super(e),this.state={edited:!1,search:e.searchQuery},this.handleSearchChange=this.handleSearchChange.bind(this),this.handleSearch=this.handleSearch.bind(this),this.handleClear=this.handleClear.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}componentWillUnmount(){this.state.search&&(this.setState({search:""}),this.props.onSearchContacts(nl))}handleSearchChange(e){this.setState({search:e.target.value})}handleSearch(e){e.preventDefault();var t=this.state.search.trim();t.length>0?(this.setState({edited:!0}),this.props.onSearchContacts(t)):this.props.searchQuery&&this.props.onSearchContacts(nl)}handleClear(){(this.state.edited||this.state.search)&&this.props.onSearchContacts(nl),this.setState({search:"",edited:!1})}handleKeyDown(e){"Enter"===e.key?this.handleSearch(e):"Escape"===e.key&&this.handleClear()}render(){return React.createElement("div",{className:"panel-form"},React.createElement("div",{className:"panel-form-row"},React.createElement("i",{className:"material-icons search"},"search"),React.createElement("input",{className:"search",type:"text",placeholder:"List like email:alice@example.com, tel:17025550003...",value:this.state.search,onChange:this.handleSearchChange,onKeyDown:this.handleKeyDown,required:!0,autoFocus:!0}),React.createElement("a",{href:"javascript:;",onClick:this.handleClear},React.createElement("i",{className:"material-icons"},"close"))))}}class gc extends React.PureComponent{constructor(e){super(e),this.state={groupId:""},this.handleChange=this.handleChange.bind(this),this.handleKeyPress=this.handleKeyPress.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}handleChange(e){this.setState({groupId:e.target.value})}handleKeyPress(e){"Enter"===e.key&&this.handleSubmit(e)}handleSubmit(e){if(e.preventDefault(),this.state.groupId){var t=this.state.groupId.trim();t.length>3&&("usr"==t.substr(0,3)||"grp"==t.substr(0,3))?this.props.onSubmit(t):this.props.onError("Invalid ID","err")}}render(){return React.createElement("div",{className:"panel-form"},React.createElement("div",{className:"panel-form-row"},React.createElement("input",{type:"text",placeholder:"Group or User ID",value:this.state.groupId,onChange:this.handleChange,onKeyPress:this.handleKeyPress,required:!0})),React.createElement("div",{className:"dialog-buttons"},React.createElement("button",{className:"blue",onClick:this.handleSubmit},"Subscribe")))}}class vc extends React.PureComponent{constructor(e){super(e),this.state={code:e.credCode},this.handleChange=this.handleChange.bind(this),this.handleKeyPress=this.handleKeyPress.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}static getDerivedStateFromProps(e,t){return{code:e.credCode}}handleChange(e){this.setState({code:e.target.value})}handleKeyPress(e){"Enter"===e.key&&this.handleSubmit(e)}handleSubmit(e){e.preventDefault(),this.state.code&&this.state.code.trim()&&this.props.onSubmit(this.props.credMethod,this.state.code.trim())}render(){var e={email:"email",tel:"phone"}[this.props.credMethod]||this.props.credMethod;return React.createElement("div",{className:"panel-form"},React.createElement("div",{className:"panel-form-row"},React.createElement("label",{className:"small",htmlFor:"enter-confirmation-code"},"Enter confirmation code sent to you by ",e,":")),React.createElement("div",{className:"panel-form-row"},React.createElement("input",{type:"text",id:"enter-confirmation-code",placeholder:"Numbers only",value:this.state.code,onChange:this.handleChange,onKeyPress:this.handleKeyPress,required:!0})),React.createElement("div",{className:"dialog-buttons"},React.createElement("button",{className:"blue",onClick:this.handleSubmit},"Confirm")))}}class bc extends React.Component{constructor(e){super(e),this.state={topic:null,owner:!1,admin:!1,sharer:!1,muted:!1,address:null,groupTopic:void 0,fullName:void 0,avatar:null,private:null,selectedContact:null,access:null,modeGiven:null,modeWant:null,modeGiven2:null,modeWant2:null,auth:null,anon:null,contactList:[],tags:[],showMemberPanel:!1,showPermissionEditorFor:void 0,moreInfoExpanded:!1,previousMetaDesc:void 0,previousSubsUpdated:void 0,previousTagsUpdated:void 0},this.resetSubs=this.resetSubs.bind(this),this.resetDesc=this.resetDesc.bind(this),this.onMetaDesc=this.onMetaDesc.bind(this),this.onSubsUpdated=this.onSubsUpdated.bind(this),this.onTagsUpdated=this.onTagsUpdated.bind(this),this.handleFullNameUpdate=this.handleFullNameUpdate.bind(this),this.handlePrivateUpdate=this.handlePrivateUpdate.bind(this),this.handleImageChanged=this.handleImageChanged.bind(this),this.handleMuted=this.handleMuted.bind(this),this.handlePermissionsChanged=this.handlePermissionsChanged.bind(this),this.handleLaunchPermissionsEditor=this.handleLaunchPermissionsEditor.bind(this),this.handleHidePermissionsEditor=this.handleHidePermissionsEditor.bind(this),this.handleShowAddMembers=this.handleShowAddMembers.bind(this),this.handleHideAddMembers=this.handleHideAddMembers.bind(this),this.handleMemberUpdateRequest=this.handleMemberUpdateRequest.bind(this),this.handleLeave=this.handleLeave.bind(this),this.handleMemberSelected=this.handleMemberSelected.bind(this),this.handleMoreInfo=this.handleMoreInfo.bind(this),this.handleTagsUpdated=this.handleTagsUpdated.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this)}UNSAFE_componentWillReceiveProps(e){var t=Tinode.getTopic(e.topic);t&&(this.onMetaDesc!=t.onMetaDesc&&(this.previousMetaDesc=t.onMetaDesc,t.onMetaDesc=this.onMetaDesc,this.previousSubsUpdated=t.onSubsUpdated,t.onSubsUpdated=this.onSubsUpdated,"grp"===t.getType()?(this.previousTagsUpdated=t.onTagsUpdated,t.onTagsUpdated=this.onTagsUpdated):this.previousTagsUpdated=void 0),this.state.topic!=e.topic&&(this.setState({topic:e.topic}),this.resetDesc(t,e),this.resetSubs(t,e)))}componentWillUnmount(){var e=Tinode.getTopic(this.props.topic);e&&(this.setState({topic:null}),e.onMetaDesc=this.previousMetaDesc,e.onSubsUpdated=this.previousSubsUpdated,e.onTagsUpdated=this.previousTagsUpdated)}resetSubs(e,t){var n={contactList:[]};if("p2p"===e.getType()){var a=e.subscriber(t.topic);a&&(n.modeGiven2=a.acs.getGiven(),n.modeWant2=a.acs.getWant())}else e.subscribers(function(e){n.contactList.push(e)},this);this.setState(n)}resetDesc(e,t){var n=e.getDefaultAccess()||{},a=e.getAccessMode();this.setState({owner:a&&a.isOwner(),admin:a&&a.isAdmin(),sharer:a&&(a.isAdmin()||a.isSharer()),muted:a&&a.isMuted(),fullName:e.public?e.public.fn:void 0,avatar:yl(e.public?e.public.photo:null),private:e.private?e.private.comment:null,address:e.name,groupTopic:"grp"===e.getType(),showMemberPanel:!1,access:a?a.getMode():void 0,modeGiven:a?a.getGiven():void 0,modeWant:a?a.getWant():void 0,auth:n.auth,anon:n.anon}),"grp"===e.getType()&&a&&a.isOwner()&&e.getMeta(e.startMetaQuery().withTags().build())}onMetaDesc(e){var t=Tinode.getTopic(this.props.topic);t&&(this.resetDesc(t,this.props),this.previousMetaDesc&&this.previousMetaDesc!=this.onMetaDesc&&this.previousMetaDesc(e))}onSubsUpdated(){var e=Tinode.getTopic(this.props.topic);e&&(this.resetSubs(e,this.props),this.previousSubsUpdated&&this.previousSubsUpdated!=this.onSubsUpdated&&this.previousSubsUpdated())}onTagsUpdated(e){this.setState({tags:e}),this.previousTagsUpdated&&this.previousTagsUpdated!=this.onTagsUpdated&&this.previousTagsUpdated()}handleFullNameUpdate(e){this.state.fullName!==e&&(this.setState({fullName:e}),this.props.onTopicDescUpdate(this.props.topic,Al(e,this.state.avatar),null))}handlePrivateUpdate(e){this.state.priv!==e&&(this.setState({private:e}),this.props.onTopicDescUpdate(this.props.topic,null,e))}handleImageChanged(e){this.setState({avatar:e}),this.props.onTopicDescUpdate(this.props.topic,Al(this.state.fullName,e),null)}handleMuted(e,t){this.setState({muted:t}),this.props.onChangePermissions(this.props.topic,t?"-P":"+P")}handlePermissionsChanged(e){switch(this.state.showPermissionEditorFor){case"auth":this.props.onTopicDescUpdate(this.props.topic,null,null,{auth:e});break;case"anon":this.props.onTopicDescUpdate(this.props.topic,null,null,{anon:e});break;case"mode":case"want":this.props.onChangePermissions(this.props.topic,e);break;case"given":this.props.onChangePermissions(this.props.topic,e,this.props.topic);break;case"user":this.props.onChangePermissions(this.props.topic,e,this.state.userPermissionsEdited)}this.setState({showPermissionEditorFor:void 0})}handleLaunchPermissionsEditor(e,t){var n,a,s,i,r,o,l;switch(e){case"mode":n=this.state.access;break;case"want":n=this.state.modeWant,a=this.state.modeGiven,s=this.state.groupTopic?"O":"ASDO",i="Requested",r="Granted";break;case"given":n=this.state.modeGiven2,a=this.state.modeWant2,s=this.state.groupTopic?this.state.owner?"":"O":"ASDO",i="Granted",r="Requested";break;case"auth":n=this.state.auth,s="O";break;case"anon":n=this.state.anon,s="O";break;case"user":var c=Tinode.getTopic(this.props.topic);if(!c)return;var u=c.subscriber(t);if(!u||!u.acs)return;n=u.acs.getGiven(),a=u.acs.getWant(),s=this.state.owner?"":"O",i="Granted",r="Requested",u.public&&(o=u.public.fn,l=u.public.photo);break;default:console.log("Unknown permission editing mode '"+e+"'")}this.setState({showPermissionEditorFor:e,userPermissionsEdited:t,userPermissionsTitle:o,userPermissionsAvatar:l,editedPermissions:n,immutablePermissions:a,editedPermissionsTitle:i,immutablePermissionsTitle:r,editedPermissionsSkipped:s})}handleHidePermissionsEditor(){this.setState({showPermissionEditorFor:void 0})}handleShowAddMembers(){this.props.onInitFind(),this.setState({showMemberPanel:!0})}handleHideAddMembers(){this.setState({showMemberPanel:!1})}handleMemberUpdateRequest(e,t,n){this.props.onMemberUpdateRequest(this.props.topic,t,n),this.setState({showMemberPanel:!1})}handleLeave(){this.props.onLeaveTopic(this.props.topic)}handleMemberSelected(e){this.setState({selectedContact:e})}handleMoreInfo(e){this.setState({moreInfoExpanded:e})}handleTagsUpdated(e){Il(this.state.tags.slice(0),e.slice(0))||this.props.onTopicTagsUpdate(this.props.topic,e)}handleContextMenu(e){var t=this,n=Tinode.getTopic(this.props.topic);if(n){var a=n.subscriber(e.topicName);if(a&&a.acs){var s=[{title:"Edit permissions",handler:function(){t.handleLaunchPermissionsEditor("user",e.topicName)}},Fl.member_delete,a.acs.isMuted()?Fl.member_unmute:Fl.member_mute,a.acs.isJoiner()?Fl.member_block:Fl.member_unblock];this.props.showContextMenu({topicName:this.props.topic,x:e.x,y:e.y,user:e.topicName},s)}}}render(){return React.createElement("div",{id:"info-view"},React.createElement("div",{className:"caption-panel",id:"info-caption-panel"},React.createElement("div",{className:"panel-title",id:"info-title"},"Info"),React.createElement("div",null,React.createElement(jl,{onCancel:this.props.onCancel}))),this.props.displayMobile?React.createElement(ic,{level:this.props.errorLevel,text:this.props.errorText,onClearError:this.props.onError}):null,this.state.showMemberPanel?React.createElement(hc,{members:this.state.contactList,requiredMember:this.props.myUserId,contacts:this.props.foundContacts,onCancel:this.handleHideAddMembers,onSubmit:this.handleMemberUpdateRequest}):this.state.showPermissionEditorFor?React.createElement(Kl,{mode:this.state.editedPermissions,compare:this.state.immutablePermissions,skip:this.state.editedPermissionsSkipped,modeTitle:this.state.editedPermissionsTitle,compareTitle:this.state.immutablePermissionsTitle,userTitle:this.state.userPermissionsTitle,item:this.state.userPermissionsEdited,userAvatar:this.state.userPermissionsAvatar,skip:this.state.editedPermissionsSkipped,onSubmit:this.handlePermissionsChanged,onCancel:this.handleHidePermissionsEditor}):React.createElement("div",{id:"info-view-content",className:"scrollable-panel"},React.createElement("div",{className:"panel-form-row"},React.createElement("div",{className:"panel-form-column"},React.createElement("div",null,React.createElement("label",{className:"small"},"Name")),React.createElement("div",null,React.createElement(Hl,{placeholder:"Group name",readOnly:!this.state.owner,text:this.state.fullName,onFinished:this.handleFullNameUpdate})),React.createElement("div",null,React.createElement("label",{className:"small"},"Private comment")),React.createElement("div",null,React.createElement(Hl,{placeholder:"Visible to you only",text:this.state.private,onFinished:this.handlePrivateUpdate}))),React.createElement(Zl,{avatar:this.state.avatar,readOnly:!this.state.owner,uid:this.props.topic,title:this.state.fullName,onImageChanged:this.handleImageChanged,onError:this.props.onError})),React.createElement("div",{className:"hr"}),React.createElement("div",{className:"panel-form-column"},React.createElement("div",{className:"panel-form-row"},React.createElement("label",null,"Muted:"),React.createElement(Gl,{name:"P",checked:this.state.muted,onChange:this.handleMuted})),React.createElement(Wl,{title:"More",open:this.state.moreInfoExpanded,onToggle:this.handleMoreInfo}),this.state.moreInfoExpanded?React.createElement("div",{className:"panel-form-column"},React.createElement("div",{className:"panel-form-row"},React.createElement("label",null,"Address:"),React.createElement("tt",null,this.state.address)),this.state.groupTopic?React.createElement("div",{className:"panel-form-row"},React.createElement("label",null,"Your permissions:"),React.createElement("tt",{className:"clickable",onClick:this.handleLaunchPermissionsEditor.bind(this,"want")},this.state.access)):React.createElement("div",null,React.createElement("div",null,React.createElement("label",{className:"small"},"Permissions:")),React.createElement("div",{className:"quoted"},React.createElement("div",null,"Yours: \xa0",React.createElement("tt",{className:"clickable",onClick:this.handleLaunchPermissionsEditor.bind(this,"want")},this.state.access)),React.createElement("div",null,this.state.fullName,"\u2032s: \xa0",React.createElement("tt",{className:"clickable",onClick:this.handleLaunchPermissionsEditor.bind(this,"given")},this.state.modeGiven2)))),this.state.sharer&&(this.state.auth||this.state.anon)?React.createElement("div",null,React.createElement("div",null,React.createElement("label",{className:"small"},"Default access mode:")),React.createElement("div",{className:"quoted"},React.createElement("div",null,"Auth: ",this.state.admin?React.createElement("tt",{className:"clickable",onClick:this.handleLaunchPermissionsEditor.bind(this,"auth")},this.state.auth):React.createElement("tt",null,this.state.auth)),React.createElement("div",null,"Anon: ",this.state.admin?React.createElement("tt",{className:"clickable",onClick:this.handleLaunchPermissionsEditor.bind(this,"anon")},this.state.anon):React.createElement("tt",null,this.state.anon)))):null):null),React.createElement("div",{className:"hr"}),this.state.owner?React.createElement(oc,{title:"Tags",tags:this.state.tags,activated:!1,onSubmit:this.handleTagsUpdated}):null,this.state.owner?React.createElement("div",{className:"hr"}):null,this.state.groupTopic?React.createElement("div",{className:"panel-form-column"},React.createElement("div",{className:"panel-form-row"},React.createElement("label",{className:"small"},"Group members:")),React.createElement("div",{className:"panel-form-row"},this.state.sharer?React.createElement("a",{href:"javascript:;",className:"flat-button",onClick:this.handleShowAddMembers},React.createElement("i",{className:"material-icons"},"person_add")," Add members"):null,this.state.owner?null:React.createElement("a",{href:"javascript:;",className:"red flat-button",onClick:this.handleLeave},React.createElement("i",{className:"material-icons"},"exit_to_app")," Leave")),React.createElement(dc,{contacts:this.state.contactList,emptyListMessage:"No members",topicSelected:this.state.selectedContact,showOnline:!1,showUnread:!1,showMode:!0,noScroll:!0,onTopicSelected:this.handleMemberSelected,showContextMenu:!!this.state.admin&&this.handleContextMenu})):React.createElement("div",{className:"panel-form-row"},React.createElement("a",{href:"javascript:;",className:"red flat-button",onClick:this.handleLeave},React.createElement("i",{className:"material-icons"},"exit_to_app")," Leave"))))}}class wc extends React.Component{constructor(e){super(e),this.state={progress:0},e.uploader&&(e.uploader.onProgress=this.handleProgress.bind(this)),this.handlePreviewImage=this.handlePreviewImage.bind(this),this.handleContextClick=this.handleContextClick.bind(this),this.handleCancelUpload=this.handleCancelUpload.bind(this)}handlePreviewImage(e){e.preventDefault(),this.props.onImagePreview({url:e.target.src,filename:e.target.title,width:e.target.dataset.width,height:e.target.dataset.height,size:e.target.dataset.size,type:e.target.dataset.mime})}handleContextClick(e){e.preventDefault(),e.stopPropagation(),this.props.showContextMenu({seq:this.props.seq,y:e.pageY,x:e.pageX})}handleProgress(e){this.setState({progress:e})}handleCancelUpload(){this.props.uploader.cancel()}render(){var e=0,t=this.props.sequence+" "+(this.props.response?"left":"right"),n="single"===this.props.sequence||"last"===this.props.sequence?"bubble tip":"bubble",a=this.props.userAvatar||!0,s=this.props.userFrom&&this.props.response&&("single"===this.props.sequence||"last"===this.props.sequence),i=this.props.content,r=[];return this.props.mimeType==vl.getContentType()&&(vl.attachments(i,function(e,t){r.push(React.createElement(Sc,{downloadUrl:vl.getDownloadUrl(e),filename:e.name,uploader:vl.isUploading(e),mimetype:e.mime,size:vl.getEntitySize(e),progress:this.state.progress,onCancelUpload:this.handleCancelUpload,onError:this.props.onError,key:t}))},this),i=React.createElement("span",null,vl.format(i,function(t,n,a){e+=1;var s=vl.tagName(t);if(s){var i=vl.attrValue(t,n)||{};if(i.key=e,"IM"==t){var r=El(n.width,n.height,Math.min(this.props.viewportWidth-4*cl,36*cl),24*cl,!1);i.className="inline-image",i.style=r?{width:r.dstWidth+"px",height:r.dstHeight+"px"}:null,i.onClick=this.handlePreviewImage}return React.createElement(s,i,a)}return a},this))),React.createElement("li",{className:t},this.props.userFrom&&this.props.response?React.createElement("div",{className:"avatar-box"},s?React.createElement(Vl,{topic:this.props.userFrom,title:this.props.userName,avatar:a}):null):null,React.createElement("div",null,React.createElement("div",{className:n},React.createElement("p",null,i,r,React.createElement(yc,{timestamp:this.props.timestamp,received:this.props.received})),React.createElement("span",{className:"menuTrigger"},React.createElement("a",{href:"javascript:;",onClick:this.handleContextClick},React.createElement("i",{className:"material-icons"},"expand_more")))),s?React.createElement("div",{className:"author"},this.props.userName):null))}}class yc extends React.PureComponent{render(){var e=this.props.received<=Tinode.MESSAGE_STATUS_SENDING?"sending ...":bl(this.props.timestamp),t=null;return this.props.received<=Tinode.MESSAGE_STATUS_SENDING?t=React.createElement("i",{className:"material-icons small"},"access_time"):this.props.received==Tinode.MESSAGE_STATUS_SENT?t=React.createElement("i",{className:"material-icons small"},"done"):this.props.received==Tinode.MESSAGE_STATUS_RECEIVED?t=React.createElement("i",{className:"material-icons small"},"done_all"):this.props.received==Tinode.MESSAGE_STATUS_READ&&(t=React.createElement("i",{className:"material-icons small blue"},"done_all")),React.createElement("span",{className:"timestamp"},e,"\xa0",t)}}class Ec extends React.PureComponent{render(){return React.createElement("div",{className:"uploader"},React.createElement("div",null,React.createElement("span",{style:{width:100*this.props.progress+"%"}})),this.props.progress<.999?React.createElement("a",{href:"javascript:;",onClick:this.props.onCancel},React.createElement("i",{className:"material-icons"},"close")," cancel"):React.createElement("span",null,"finishing..."))}}class Sc extends React.Component{constructor(e){super(e),this.state={downloader:null,progress:0},this.downloadFile=this.downloadFile.bind(this),this.handleCancel=this.handleCancel.bind(this)}downloadFile(e,t,n){var a=Tinode.getLargeFileHelper();this.setState({downloader:a}),a.download(e,t,n,e=>{this.setState({progress:e/this.props.size})}).then(()=>{this.setState({downloader:null,progress:0})}).catch(e=>{e&&this.props.onError("Error downloading file: "+e.message,"err"),this.setState({downloader:null,progress:0})})}handleCancel(){this.props.uploader?this.props.onCancelUpload():this.state.downloader&&this.state.downloader.cancel()}render(){let e=this.props.filename||"file_attachment";e.length>36&&(e=e.substr(0,16)+"..."+e.substr(-16));let t,n,a=this.props.size>0?React.createElement("span",{className:"small gray"},"(",wl(this.props.size),")"):null;return this.props.uploader||this.state.downloader||/^(?:(?:[a-z]+:)?\/\/)/i.test(this.props.downloadUrl)?(t=this.props.downloadUrl,n=null):(t="javascript:;",n=(e=>{this.downloadFile(this.props.downloadUrl,this.props.filename,this.props.mimetype)})),React.createElement("div",{className:"attachment"},React.createElement("div",null,React.createElement("i",{className:"material-icons big gray"},"insert_drive_file")),React.createElement("div",{className:"flex-column"},React.createElement("div",null,e," ",a),this.props.uploader||this.state.downloader?React.createElement(Ec,{progress:this.props.uploader?this.props.progress:this.state.progress,onCancel:this.handleCancel}):React.createElement("div",null,React.createElement("a",{href:t,download:this.props.filename,onClick:n},React.createElement("i",{className:"material-icons"},"file_download")," save"))))}}class Cc extends React.Component{constructor(e){super(e),this.state={messages:[],onlineSubs:[],topic:"",title:"",avatar:null,scrollPosition:0,readOnly:!e.acs||!e.acs.isWriter(),writeOnly:!e.acs||!e.acs.isReader(),typingIndicator:!1,imagePreview:null},this.propsChange=this.propsChange.bind(this),this.leave=this.leave.bind(this),this.handleScrollReference=this.handleScrollReference.bind(this),this.fetchMoreMessages=this.fetchMoreMessages.bind(this),this.handleDescChange=this.handleDescChange.bind(this),this.handleSubsUpdated=this.handleSubsUpdated.bind(this),this.handleNewMessage=this.handleNewMessage.bind(this),this.handleAllMessagesReceived=this.handleAllMessagesReceived.bind(this),this.handleInfoReceipt=this.handleInfoReceipt.bind(this),this.handleImagePreview=this.handleImagePreview.bind(this),this.handleCloseImagePreview=this.handleCloseImagePreview.bind(this),this.handleContextClick=this.handleContextClick.bind(this),this.handleShowContextMenuMessage=this.handleShowContextMenuMessage.bind(this),this.handleBackNavigation=this.handleBackNavigation.bind(this)}componentDidUpdate(e,t){!this.messagesScroller||t.title==this.state.title&&t.messages.length==this.state.messages.length||(this.messagesScroller.scrollTop=this.messagesScroller.scrollHeight-this.state.scrollPosition)}componentDidMount(){this.propsChange(this.props),this.messagesScroller&&this.messagesScroller.addEventListener("scroll",this.fetchMoreMessages)}componentWillUnmount(){this.leave(),this.messagesScroller&&this.messagesScroller.removeEventListener("scroll",this.fetchMoreMessages)}UNSAFE_componentWillReceiveProps(e){this.propsChange(e)}propsChange(e){if(!e||!e.topic)return this.setState({messages:[],onlineSubs:[],topic:null}),void this.leave();if(e.connected){var t=!this.props.connected&&e.connected,n=Tinode.getTopic(e.topic);if(e.topic!=this.state.topic){var a=[],s=[];n.onData=this.handleNewMessage,n.onAllMessagesReceived=this.handleAllMessagesReceived,n.onInfo=this.handleInfoReceipt,n.onMetaDesc=this.handleDescChange,n.onSubsUpdated=this.handleSubsUpdated,n.onPres=this.handleSubsUpdated,this.leave(),this.handleDescChange(n);var i=this.props.myUserId;n.subscribers(function(e){e.online&&e.user!=i&&s.push(e)}),n.messages(function(e){e.deleted||(a=a.concat(e))}),this.setState({messages:a,onlineSubs:s,topic:e.topic,imagePreview:null,scrollPosition:0}),t=!0,this.props.readTimerHandler(null)}if(this.setState({readOnly:!e.acs||!e.acs.isWriter(),writeOnly:!e.acs||!e.acs.isReader()}),!n.isSubscribed()&&t){var r=n.startMetaQuery().withLaterDesc().withLaterSub().withLaterData(dl).withLaterDel();this.setState({fetchingMessages:!0}),n.subscribe(r.build()).catch(e=>{this.props.onError(e.message,"err"),this.setState({title:"Not found",avatar:null,readOnly:!0,writeOnly:!0,fetchingMessages:!1})})}}else this.setState({onlineSubs:[]})}leave(){if(this.state.topic){var e=Tinode.getTopic(this.state.topic);e&&(e.isSubscribed()&&e.leave(!1).catch(function(e){console.log(e)}),e.onData=void 0,e.onAllMessagesReceived=void 0,e.onInfo=void 0,e.onMetaDesc=void 0,e.onSubsUpdated=void 0,e.onPres=void 0)}}handleScrollReference(e){e&&(e.addEventListener("scroll",this.fetchMoreMessages),this.messagesScroller=e)}fetchMoreMessages(e){if(e.target.scrollTop<=0){let t={scrollPosition:e.target.scrollHeight-e.target.scrollTop};this.setState((e,n)=>{if(!e.fetchingMessages){var a=Tinode.getTopic(this.state.topic);a&&a.isSubscribed()&&a.msgHasMoreMessages()&&(t.fetchingMessages=!0,a.getMessagesPage(dl).catch(e=>{this.setState({fetchingMessages:!1}),this.props.onError(e.message,"err")}))}return t})}}handleDescChange(e){e.public&&this.setState({title:e.public.fn,avatar:yl(e.public.photo)}),e.acs&&this.setState({readOnly:!e.acs.isWriter(),writeOnly:!e.acs.isReader()})}handleSubsUpdated(){if(this.state.topic){var e=[],t=this.props.myUserId;Tinode.getTopic(this.state.topic).subscribers(function(n){n.online&&n.user!=t&&e.push(n)}),this.setState({onlineSubs:e})}}handleNewMessage(e){var t=Tinode.getTopic(this.state.topic),n={messages:[]};t.messages(function(e){e.deleted||(n.messages=n.messages.concat(e))}),e&&!e.deleted&&(t.isNewMessage(e.seq)&&(n.scrollPosition=0),t.msgStatus(e)>=Tinode.MESSAGE_STATUS_SENT&&this.props.readTimerHandler(()=>{t.noteRead(e.seq)}),this.props.onData(e)),this.setState(n)}handleAllMessagesReceived(e){this.setState({fetchingMessages:!1})}handleInfoReceipt(e){switch(e.what){case"kp":clearTimeout(this.keyPressTimer);var t=this;this.keyPressTimer=setTimeout(function(){t.setState({typingIndicator:!1})},sl+1e3),this.state.typingIndicator||this.setState({typingIndicator:!0});break;case"read":case"recv":this.forceUpdate();break;default:console.log("Other change in topic: ",e.what)}}handleImagePreview(e){this.setState({imagePreview:e})}handleCloseImagePreview(){this.setState({imagePreview:null})}handleContextClick(e){e.preventDefault(),e.stopPropagation(),this.props.showContextMenu({topicName:this.state.topic,y:e.pageY,x:e.pageX})}handleShowContextMenuMessage(e){e.topicName=this.state.topic;var t=[Fl.message_delete],n=Tinode.getTopic(e.topicName);if(n){var a=n.getAccessMode();a&&a.isDeleter()&&t.push(Fl.message_delete_hard)}this.props.showContextMenu(e,t)}handleBackNavigation(){this.props.onHideMessagesView()}render(){var e=null;if(this.state.topic){for(var t=[],n=Tinode.getTopic(this.state.topic),a="grp"===n.getType(),s=null,i=0;i<this.state.messages.length;i++){var r=this.state.messages[i],o=null;i+1<this.state.messages.length&&(o=this.state.messages[i+1].from);var l="single";r.from===s?l=r.from===o?"middle":"last":r.from===o&&(l="first"),s=r.from;var c,u,d,h,p=!(r.from===this.props.myUserId),f=n.msgStatus(r);if(a){var m=n.userDesc(r.from);m&&m.public&&(c=m.public.fn,u=yl(m.public.photo)),d=r.from,h="chat-box group"}else h="chat-box";t.push(React.createElement(wc,{content:r.content,mimeType:r.head?r.head.mime:null,timestamp:r.ts,response:p,seq:r.seq,userFrom:d,userName:c,userAvatar:u,sequence:l,received:f,uploader:r._uploader,viewportWidth:this.props.viewportWidth,showContextMenu:this.handleShowContextMenuMessage,onImagePreview:this.handleImagePreview,onError:this.props.onError,key:r.seq}))}var g=null,v=Tinode.getMeTopic().getContact(this.state.topic);v&&"p2p"===Tinode.topicType(v.topic)&&(v.online?g="online now":v.seen&&(g="Last active: "+bl(v.seen.when)));var b=this.state.avatar||!0,w=this.props.online?"online"+(this.state.typingIndicator?" typing":""):"offline";e=React.createElement("div",{id:"topic-view",className:this.props.hideSelf?"nodisplay":null},React.createElement("div",{id:"topic-caption-panel",className:"caption-panel"},this.props.displayMobile?React.createElement("a",{href:"javascript:;",id:"hide-message-view",onClick:this.handleBackNavigation},React.createElement("i",{className:"material-icons"},"arrow_back")):null,React.createElement("div",{className:"avatar-box"},React.createElement(Vl,{avatar:b,topic:this.state.topic,title:this.state.title}),React.createElement("span",{className:w})),React.createElement("div",{id:"topic-title-group"},React.createElement("div",{id:"topic-title",className:"panel-title"},this.state.title),React.createElement("div",{id:"topic-last-seen"},g)),a?React.createElement(Jl,{subscribers:this.state.onlineSubs}):React.createElement("div",{id:"topic-users"}),React.createElement("div",null,React.createElement("a",{href:"javascript:;",onClick:this.handleContextClick},React.createElement("i",{className:"material-icons"},"more_vert")))),this.props.displayMobile?React.createElement(ic,{level:this.props.errorLevel,text:this.props.errorText,onClearError:this.props.onError}):null,React.createElement(zl,{show:this.state.fetchingMessages}),React.createElement("div",{id:"messages-container"},React.createElement("div",{id:"messages-panel",ref:this.handleScrollReference},React.createElement("ul",{id:"scroller",className:h},t)),this.state.writeOnly?React.createElement("div",{id:"write-only-background"},React.createElement("div",{id:"write-only-note"},"no access to messages")):null),React.createElement(Tc,{topic:this.props.topic,disabled:this.state.readOnly,sendMessage:this.props.sendMessage,onError:this.props.onError}),this.state.imagePreview?React.createElement(kc,{content:this.state.imagePreview,onClose:this.handleCloseImagePreview}):null)}else e=React.createElement(Rc,{hideSelf:this.props.hideSelf,serverVersion:this.props.serverVersion,serverAddress:this.props.serverAddress});return e}}class Tc extends React.PureComponent{constructor(e){super(e),this.state={message:"",keypressTimestamp:(new Date).getTime()-sl-1},this.handlePasteEvent=this.handlePasteEvent.bind(this),this.handleAttachImage=this.handleAttachImage.bind(this),this.handleAttachFile=this.handleAttachFile.bind(this),this.handleSend=this.handleSend.bind(this),this.handleKeyPress=this.handleKeyPress.bind(this),this.handleMessageTyping=this.handleMessageTyping.bind(this)}componentDidMount(){this.pasteFile.addEventListener("paste",this.handlePasteEvent,!1)}componentWillUnmount(){this.pasteFile.removeEventListener("paste",this.handlePasteEvent,!1)}handlePasteEvent(e){this.props.disabled||function(e,t,n,a){var s=(e.clipboardData||e.originalEvent.clipboardData||{}).items;for(var i in s){var r=s[i];if("file"===r.kind){var o=r.getAsFile();if(!o){console.log("Failed to get file object from pasted file item",r.kind,r.type);continue}return o.type&&"image"==o.type.split("/")[0]?o.size>hl||ml.indexOf(o.type)<0?Rl(o,fl,fl,!1,t,a):kl(o,t,a):xl(o,n),!0}}return!1}(e,(e,t,n,a,s)=>{this.props.sendMessage(vl.insertImage(null,0,t,e,n,a,s))},(e,t,n)=>{this.props.sendMessage(vl.attachFile(null,e,t,n))},this.props.onError)&&e.preventDefault()}handleAttachImage(e){if(e.target.files&&e.target.files.length>0){let t=e.target.files[0];t.size>hl||ml.indexOf(t.type)<0?Rl(t,fl,fl,!1,(e,t,n,a,s)=>{this.props.sendMessage(vl.insertImage(null,0,t,e,n,a,s))},e=>{this.props.onError(e,"err")}):kl(t,(e,t,n,a,s)=>{this.props.sendMessage(vl.insertImage(null,0,t,e,n,a,s))},e=>{this.props.onError(e,"err")})}e.target.value=""}handleAttachFile(e){if(e.target.files&&e.target.files.length>0){var t=e.target.files[0];if(t.size>pl)this.props.onError("The file size "+wl(t.size)+" exceeds the "+wl(pl)+" limit.","err");else if(t.size>hl){let e=Tinode.getLargeFileHelper();if(!e)return void this.props.onError("Cannot initiate file upload.");let n=e.upload(t),a=vl.attachFile(null,t.type,null,t.name,t.size,n);this.props.sendMessage(a,n,e)}else xl(t,(e,t,n)=>{this.props.sendMessage(vl.attachFile(null,e,t,n))},this.props.onError)}e.target.value=""}handleSend(){this.state.message.trim()&&(this.props.sendMessage(this.state.message.trim()),this.setState({message:""}))}handleKeyPress(e){"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),e.stopPropagation(),this.handleSend()))}handleMessageTyping(e){var t={message:e.target.value},n=(new Date).getTime();if(n-this.state.keypressTimestamp>sl){var a=Tinode.getTopic(this.props.topic);a.isSubscribed()&&a.noteKeyPress(),t.keypressTimestamp=n}this.setState(t)}render(){var e=this.props.disabled?"Messaging disabled":"New message",t=this;return React.createElement("div",{id:"send-message-panel"},this.props.disabled?React.createElement("i",{className:"material-icons disabled"},"photo"):React.createElement("a",{href:"javascript:;",onClick:function(e){t.attachImage.click()},title:"Add image"},React.createElement("i",{className:"material-icons secondary"},"photo")),this.props.disabled?React.createElement("i",{className:"material-icons disabled"},"attach_file"):React.createElement("a",{href:"javascript:;",onClick:function(e){t.attachFile.click()},title:"Attach file"},React.createElement("i",{className:"material-icons secondary"},"attach_file")),React.createElement("textarea",{id:"sendMessage",placeholder:e,disabled:this.props.disabled,value:this.state.message,onChange:this.handleMessageTyping,onKeyPress:this.handleKeyPress,ref:function(e){t.pasteFile=e},autoFocus:!0}),this.props.disabled?React.createElement("i",{className:"material-icons disabled"},"send"):React.createElement("a",{href:"javascript:;",onClick:this.handleSend,title:"Send"},React.createElement("i",{className:"material-icons"},"send")),React.createElement("input",{type:"file",ref:function(e){t.attachFile=e},onChange:this.handleAttachFile,style:{display:"none"}}),React.createElement("input",{type:"file",ref:function(e){t.attachImage=e},accept:"image/*",onChange:this.handleAttachImage,style:{display:"none"}}))}}class Rc extends React.PureComponent{render(){var e=Tinode.getVersion()+" build "+document.lastModified;return React.createElement("div",{id:"dummy-view",className:this.props.hideSelf?"nodisplay":null},React.createElement("div",null,React.createElement("a",{href:"https://github.com/tinode/chat/"},React.createElement("img",{id:"logo",alt:"logo",src:"img/logo.svg"}),React.createElement("h2",null,"Tinode Demo Chat")),React.createElement("p",null,"Client: ",e),React.createElement("p",null,"Server: ",this.props.serverVersion," (",this.props.serverAddress,")")))}}class kc extends React.PureComponent{constructor(e){super(e),this.state={}}componentDidMount(){this.setState({width:this.container.clientWidth,height:this.container.clientHeight})}render(){if(!this.props.content)return null;var e=this,t=El(this.props.content.width,this.props.content.height,this.state.width,this.state.height,!1),n=t?{width:t.dstWidth+"px",height:t.dstHeight+"px"}:this.props.content.width>this.props.content.height?{width:"100%"}:{height:"100%"};n.maxWidth="100%",n.maxHeight="100%";var a=this.props.content.filename,s=this.props.content.width/cl|0;return a.length>s&&(a=a.slice(0,s-2)+"..."+a.slice(2-s)),React.createElement("div",{id:"image-preview",onClick:this.props.onClose},React.createElement("div",{id:"image-preview-caption-panel"},React.createElement("a",{href:"javascript:;",download:this.props.content.filename},React.createElement("i",{className:"material-icons"},"file_download")," download"),React.createElement("a",{href:"javascript:;",onClick:this.props.onClose},React.createElement("i",{className:"material-icons gray"},"close"))),React.createElement("div",{id:"image-preview-container",ref:function(t){e.container=t}},React.createElement("img",{src:this.props.content.url,style:n})),React.createElement("div",{id:"image-preview-footer"},React.createElement("div",null,React.createElement("div",null,React.createElement("b",null,"File name"),":"),React.createElement("div",null,React.createElement("span",{title:this.props.content.filename},a))),React.createElement("div",null,React.createElement("div",null,React.createElement("b",null,"Content type"),":"),React.createElement("div",null,this.props.content.type)),React.createElement("div",null,React.createElement("div",null,React.createElement("b",null,"Size"),":"),React.createElement("div",null,this.props.content.width," \xd7 ",this.props.content.height," px; ",wl(this.props.content.size)))))}}class xc extends React.Component{constructor(e){super(e),this.state=this.getBlankState(),this.handleResize=this.handleResize.bind(this),this.handleHashRoute=this.handleHashRoute.bind(this),this.handleOnline=this.handleOnline.bind(this),this.handleAppVisibility=this.handleAppVisibility.bind(this),this.handleReadTimer=this.handleReadTimer.bind(this),this.handleVisibilityEvent=this.handleVisibilityEvent.bind(this),this.handleError=this.handleError.bind(this),this.handleLoginRequest=this.handleLoginRequest.bind(this),this.handleConnected=this.handleConnected.bind(this),this.doLogin=this.doLogin.bind(this),this.handleCredentialsRequest=this.handleCredentialsRequest.bind(this),this.handleLoginSuccessful=this.handleLoginSuccessful.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.tnMeMetaDesc=this.tnMeMetaDesc.bind(this),this.tnData=this.tnData.bind(this),this.tnInitFind=this.tnInitFind.bind(this),this.tnFndSubsUpdated=this.tnFndSubsUpdated.bind(this),this.handleSearchContacts=this.handleSearchContacts.bind(this),this.handleTopicSelected=this.handleTopicSelected.bind(this),this.handleTopicSelectedOnline=this.handleTopicSelectedOnline.bind(this),this.handleTopicSelectedAcs=this.handleTopicSelectedAcs.bind(this),this.handleHideMessagesView=this.handleHideMessagesView.bind(this),this.handleSendMessage=this.handleSendMessage.bind(this),this.handleNewAccount=this.handleNewAccount.bind(this),this.handleNewAccountRequest=this.handleNewAccountRequest.bind(this),this.handleUpdateAccountRequest=this.handleUpdateAccountRequest.bind(this),this.handleUpdateAccountTagsRequest=this.handleUpdateAccountTagsRequest.bind(this),this.handleSettings=this.handleSettings.bind(this),this.handleGlobalSettings=this.handleGlobalSettings.bind(this),this.handleSidepanelCancel=this.handleSidepanelCancel.bind(this),this.handleNewTopic=this.handleNewTopic.bind(this),this.handleNewTopicRequest=this.handleNewTopicRequest.bind(this),this.handleTopicUpdateRequest=this.handleTopicUpdateRequest.bind(this),this.handleChangePermissions=this.handleChangePermissions.bind(this),this.handleTagsUpdated=this.handleTagsUpdated.bind(this),this.handleLogout=this.handleLogout.bind(this),this.handleLeaveUnsubRequest=this.handleLeaveUnsubRequest.bind(this),this.handleDialogCancel=this.handleDialogCancel.bind(this),this.handleShowContextMenu=this.handleShowContextMenu.bind(this),this.defaultTopicContextMenu=this.defaultTopicContextMenu.bind(this),this.handleHideContextMenu=this.handleHideContextMenu.bind(this),this.handleShowInfoView=this.handleShowInfoView.bind(this),this.handleHideInfoView=this.handleHideInfoView.bind(this),this.handleMemberUpdateRequest=this.handleMemberUpdateRequest.bind(this),this.handleValidateCredentialsRequest=this.handleValidateCredentialsRequest.bind(this),this.handleHashRoute()}getBlankState(){let e=localStorage.getObject("settings")||{};return{connected:!1,transport:e.transport||null,serverAddress:e.serverAddress||function(){let e=el;return"object"==typeof window.location&&("file:"==window.location.protocol||"localhost"==window.location.hostname?e=Zo.local:window.location.hostname&&(e=window.location.hostname+(window.location.port?":"+window.location.port:""))),e}(),messageSounds:!e.messageSoundsOff,desktopAlerts:e.desktopAlerts,desktopAlertsEnabled:"object"==typeof window.location&&"https:"==window.location.protocol,sidePanelSelected:"login",sidePanelTitle:null,sidePanelAvatar:null,dialogSelected:null,contextMenuVisible:!1,login:"",password:"",myUserId:null,errorText:"",errorLevel:null,liveConnection:navigator.onLine,topicSelected:"",topicSelectedOnline:!1,topicSelectedAcs:null,loginDisabled:!1,displayMobile:window.innerWidth<=ll,showInfoPanel:!1,mobilePanel:"sidepanel",contextMenuVisible:!1,contextMenuBounds:null,contextMenuClickAt:null,contextMenuParams:null,contextMenuItems:[],serverVersion:"no connection",contactsSearchQuery:void 0,foundContacts:[],credMethod:void 0,credCode:void 0}}componentDidMount(){var e,t=this;if(window.addEventListener("resize",this.handleResize),window.addEventListener("online",function(e){t.handleOnline(!0)}),window.addEventListener("offline",function(e){t.handleOnline(!1)}),window.addEventListener("hashchange",this.handleHashRoute),document.addEventListener("visibilitychange",this.handleVisibilityEvent),this.setState({viewportWidth:document.documentElement.clientWidth}),Tinode.enableLogging(!0,!0),Tinode.onConnect=this.handleConnected,Tinode.onDisconnect=this.handleDisconnect,xc.tnSetup(this.state.serverAddress,this.state.transport),localStorage.getObject("keep-logged-in")&&(e=localStorage.getObject("auth-token")),e){e.expires=new Date(e.expires),Tinode.setAuthToken(e),Tinode.connect().catch(function(e){t.handleError(e.message,"err")});var n=_l(window.location.hash);delete n.params.info,delete n.params.tab,n.path[0]="",window.location.hash=Ml(n.path,n.params)}else window.location.hash="";this.readTimer=null,this.readTimerCallback=null}componentWillUnmount(){window.removeEventListener("resize",this.handleResize),window.removeEventListener("hashchange",this.handleHashRoute),document.removeEventListener("visibilitychange",this.handleVisibilityEvent)}static tnSetup(e,t){Tinode.setup(Xo,e,al,t)}handleResize(){var e=document.documentElement.clientWidth<=ll;this.setState({viewportWidth:document.documentElement.clientWidth}),this.state.displayMobile!=e&&this.setState({displayMobile:e})}handleHashRoute(){var e=_l(window.location.hash);e.path&&e.path.length>0?["register","settings","edit","cred","newtpk","contacts",""].includes(e.path[0])?this.setState({sidePanelSelected:e.path[0]}):console.log("Unknown sidepanel view",e.path[0]):this.setState({sidePanelSelected:""}),e.path.length>1&&e.path[1]!=this.state.topicSelected&&(Tinode.topicType(e.path[1])?this.setState({topicSelected:e.path[1],topicSelectedOnline:!1,topicSelectedAcs:null}):this.setState({topicSelected:null})),e.params.method&&this.setState({credMethod:e.params.method}),e.params.code&&this.setState({credCode:e.params.code}),this.setState({showInfoPanel:e.params.info,newTopicTabSelected:e.params.tab})}handleOnline(e){e?this.handleError("",null):this.handleError("No connection","warn"),this.setState({liveConnection:e})}handleAppVisibility(e,t){clearTimeout(this.readTimer),this.readTimerCallback=t,this.readTimer=e&&t?setTimeout(t,rl):null}handleReadTimer(e){this.handleAppVisibility(!document.hidden,e)}handleVisibilityEvent(){this.handleAppVisibility(!document.hidden,this.readTimerCallback)}handleError(e,t){this.setState({errorText:e,errorLevel:t})}handleLoginRequest(e,t){this.setState({loginDisabled:!0,login:e,password:t}),this.handleError("",null),Tinode.isConnected()?this.doLogin(e,t,{meth:this.state.credMethod,resp:this.state.credCode}):Tinode.connect().catch(e=>{this.setState({loginDisabled:!1}),this.handleError(e.message,"err")})}handleConnected(){var e=Tinode.getServerInfo();this.setState({serverVersion:e.ver+" "+(e.build?e.build:"none")+"; "}),this.doLogin(this.state.login,this.state.password,{meth:this.state.credMethod,resp:this.state.credCode})}doLogin(e,t,n){if(Tinode.isAuthenticated())return void(window.location.hash="");n=(n=n?Tinode.addCredential(null,n):void 0)?n.cred:void 0;let a=null,s=Tinode.getAuthToken();e&&t?(this.setState({password:null}),a=Tinode.loginBasic(e,t,n)):s&&(a=Tinode.loginToken(s.token,n)),a?a.then(e=>{e.code>=300&&"validate credentials"===e.text?(n&&this.handleError("Code does not match","warn"),this.handleCredentialsRequest(e.params)):this.handleLoginSuccessful(this)}).catch(e=>{this.setState({loginDisabled:!1,credMethod:void 0,credCode:void 0}),this.handleError(e.message,"err"),localStorage.removeItem("auth-token"),window.location.hash=""}):(window.location.hash="",this.setState({loginDisabled:!1}))}handleCredentialsRequest(e){var t=_l(window.location.hash);t.path[0]="cred",t.params.method=e.cred[0],window.location.hash=Ml(t.path,t.params)}handleLoginSuccessful(e){e.handleError("",null),localStorage.getObject("keep-logged-in")&&localStorage.setObject("auth-token",Tinode.getAuthToken());var t=Tinode.getMeTopic();t.onMetaDesc=e.tnMeMetaDesc,e.setState({connected:!0,credMethod:void 0,credCode:void 0,myUserId:Tinode.getCurrentUserID()}),t.subscribe(t.startMetaQuery().withLaterSub().withDesc().build()).catch(function(t){localStorage.removeItem("auth-token"),e.handleError(t.message,"err"),window.location.hash=""}),window.location.hash=Ul(window.location.hash,"contacts")}handleDisconnect(e){this.setState({connected:!1,topicSelectedOnline:!1,dialogSelected:null,errorText:e&&e.message?e.message:"Disconnected",errorLevel:e&&e.message?"err":"warn",loginDisabled:!1,contextMenuVisible:!1,serverVersion:"no connection"})}tnMeMetaDesc(e){e&&e.public&&this.setState({sidePanelTitle:e.public.fn,sidePanelAvatar:yl(e.public.photo)})}tnData(e){let t=Tinode.getTopic(e.topic);t.msgStatus(e)>Tinode.MESSAGE_STATUS_SENDING&&(clearTimeout(this.receivedTimer),this.receivedTimer=setTimeout(()=>{this.receivedTimer=void 0,t.noteRecv(e.seq)},il))}tnInitFind(){var e=Tinode.getFndTopic();e.isSubscribed()?(this.setState({contactsSearchQuery:""}),this.tnFndSubsUpdated()):(e.onSubsUpdated=this.tnFndSubsUpdated,e.subscribe(e.startMetaQuery().withSub().withTags().build()).catch(e=>{this.handleError(e.message,"err")}))}tnFndSubsUpdated(){var e=[];Tinode.getFndTopic().contacts(function(t){e.push(t)}),this.setState({foundContacts:e})}handleSearchContacts(e){var t=Tinode.getFndTopic();this.setState({contactsSearchQuery:e==nl?"":e}),t.setMeta({desc:{public:e}}).then(e=>t.getMeta(t.startMetaQuery().withSub().build())).catch(e=>{this.handleError(e.message,"err")})}handleTopicSelected(e,t,n,a){e?(this.state.topicSelected!=e&&(window.location.hash=Dl(window.location.hash,e)),this.setState({errorText:"",errorLevel:null,mobilePanel:"topic-view",topicSelectedOnline:n,topicSelectedAcs:a,showInfoPanel:!1})):(this.state.topicSelected&&(window.location.hash=Dl(window.location.hash,null)),this.setState({errorText:"",errorLevel:null,mobilePanel:"sidepanel",topicSelectedOnline:!1,topicSelectedAcs:null,showInfoPanel:!1}))}handleTopicSelectedOnline(e){"boolean"==typeof e&&this.setState({topicSelectedOnline:e})}handleTopicSelectedAcs(e){this.setState({topicSelectedAcs:e})}handleHideMessagesView(){this.setState({mobilePanel:"sidepanel"}),window.location.hash=Dl(window.location.hash,null)}handleSendMessage(e,t,n){let a=Tinode.getTopic(this.state.topicSelected),s=vl.parse(e);s&&!vl.isPlainText(s)&&(e=s),(e=a.createMessage(e))._uploader=n,t&&t.catch(e=>{this.handleError(e.message,"err")}),a.isSubscribed()||(t||(t=Promise.resolve()),t=t.then(()=>a.subscribe())),a.publishDraft(e,t).catch(e=>{this.handleError(e.message,"err")})}handleNewAccount(){window.location.hash=Ul(window.location.hash,"register")}handleNewAccountRequest(e,t,n,a,s){Tinode.connect(this.state.serverAddress).then(function(){var i=Tinode.addCredential({public:n,tags:s},a);return Tinode.createAccountBasic(e,t,i)}).then(e=>{e.code>=300&&"validate credentials"===e.text?this.handleCredentialsRequest(e.params):this.handleLoginSuccessful(this)}).catch(e=>{this.handleError(e.message,"err")})}handleUpdateAccountRequest(e,t,n){var a=this;(t||n)&&Tinode.getMeTopic().setMeta({desc:{public:t,private:n}}).catch(function(e){a.handleError(e.message,"err")}),e&&Tinode.updateAccountBasic(null,Tinode.getCurrentLogin(),e).catch(function(e){a.handleError(e.message,"err")})}handleUpdateAccountTagsRequest(e){var t=this;Tinode.getFndTopic().setMeta({tags:e}).catch(function(e){t.handleError(e.message,"err")})}handleSettings(){window.location.hash=Ul(window.location.hash,this.state.myUserId?"edit":"settings")}handleGlobalSettings(e){let t=e.serverAddress||this.state.serverAddress,n=e.transport||this.state.transport,a="boolean"==typeof e.messageSounds?e.messageSounds:this.state.messageSounds,s=e.desktopAlerts||this.state.desktopAlerts;this.setState({serverAddress:t,transport:n,messageSounds:a,desktopAlerts:s}),localStorage.setObject({serverAddress:t,messageSoundsOff:!a,transport:this.state.transport,desktopAlerts:s}),window.location.hash=Ul(window.location.hash,""),xc.tnSetup(t,n)}handleSidepanelCancel(){var e=_l(window.location.hash);e.path[0]=this.state.myUserId?"contacts":"",e.params&&(delete e.params.code,delete e.params.method,delete e.params.tab),window.location.hash=Ml(e.path,e.params),this.setState({errorText:"",errorLevel:null})}handleNewTopic(){window.location.hash=Ul(window.location.hash,"newtpk")}handleNewTopicRequest(e,t,n,a){var s,i=this,r=e?Tinode.newTopicWith(e):Tinode.newTopic(),o=r.startMetaQuery().withDesc().withSub().withData();e||(o=o.withTags(),s={desc:{public:t,private:n},tags:a}),r.subscribe(o.build(),s).then(function(){window.location.hash=Ul(window.location.hash,"contacts"),i.handleTopicSelected(r.name,void 0,Tinode.isTopicOnline(r.name),r.getAccessMode())}).catch(function(e){i.handleError(e.message,"err")})}handleTopicUpdateRequest(e,t,n,a){var s=this,i=Tinode.getTopic(e);if(i){var r={};t&&(r.public=t),n&&(r.private={comment:n}),a&&(r.defacs=a),i.setMeta({desc:r}).catch(function(e){s.handleError(e.message,"err")})}}handleChangePermissions(e,t,n){var a=this,s=Tinode.getTopic(e);if(s){var i=s.getAccessMode();n?(i.updateGiven(t),t=i.getGiven()):(i.updateWant(t),t=i.getWant()),s.setMeta({sub:{user:n,mode:t}}).catch(function(e){a.handleError(e.message,"err")})}}handleTagsUpdated(e,t){var n=Tinode.getTopic(e);if(n){var a=this;n.setMeta({tags:t}).catch(function(e){a.handleError(e.message,"err")})}}handleLogout(){localStorage.removeItem("auth-token"),this.setState(this.getBlankState()),xc.tnSetup(this.state.serverAddress,this.state.transport),window.location.hash=""}handleLeaveUnsubRequest(e){var t=Tinode.getTopic(e);t&&t.leave(!0).then(e=>{window.location.hash=Dl(window.location.hash,"")}).catch(e=>{this.handleError(e.message,"err")})}handleDialogCancel(){this.setState({dialogSelected:null})}handleShowContextMenu(e,t){this.setState({contextMenuVisible:!0,contextMenuClickAt:{x:e.x,y:e.y},contextMenuParams:e,contextMenuItems:t||this.defaultTopicContextMenu(e.topicName),contextMenuBounds:ReactDOM.findDOMNode(this).getBoundingClientRect()})}defaultTopicContextMenu(e){var t=!1,n=!1,a=!1,s=!1,i=Tinode.getTopic(e);if(i&&i.isSubscribed()){a=!0;var r=i.getAccessMode();t=r&&r.isMuted(),n=r&&!r.isJoiner(),s=r&&r.isDeleter()}return[a?{title:"Info",handler:this.handleShowInfoView}:null,a?Fl.messages_clear:null,a&&s?Fl.messages_clear_hard:null,a?t?Fl.topic_unmute:Fl.topic_mute:null,a?n?Fl.topic_unblock:Fl.topic_block:null,Fl.topic_delete]}handleHideContextMenu(){this.setState({contextMenuVisible:!1,contextMenuClickAt:null,contextMenuParams:null,contextMenuBounds:null})}handleShowInfoView(){window.location.hash=Nl(window.location.hash,"info",!0),this.setState({showInfoPanel:!0})}handleHideInfoView(){window.location.hash=Pl(window.location.hash,"info"),this.setState({showInfoPanel:!1})}handleMemberUpdateRequest(e,t,n){if(e){var a=Tinode.getTopic(e);if(a){var s=this;t&&t.length>0&&t.map(function(e){a.invite(e,null).catch(function(e){s.handleError(e.message,"err")})}),n&&n.length>0&&n.map(function(e){a.delSubscription(e).catch(function(e){s.handleError(e.message,"err")})})}}}handleValidateCredentialsRequest(e,t){this.setState({credMethod:e,credCode:t}),this.doLogin(null,null,{meth:e,resp:t})}render(){return React.createElement("div",{id:"app-container"},React.createElement(ql,{bounds:this.state.contextMenuBounds,clickAt:this.state.contextMenuClickAt,visible:this.state.contextMenuVisible,params:this.state.contextMenuParams,items:this.state.contextMenuItems,hide:this.handleHideContextMenu,onAction:this.handleContextMenuAction,onError:this.handleError}),React.createElement(sc,{connected:this.state.connected,displayMobile:this.state.displayMobile,hideSelf:this.state.displayMobile&&"sidepanel"!==this.state.mobilePanel,state:this.state.sidePanelSelected,title:this.state.sidePanelTitle,avatar:this.state.sidePanelAvatar,login:this.state.login,myUserId:this.state.myUserId,loginDisabled:this.state.loginDisabled,errorText:this.state.errorText,errorLevel:this.state.errorLevel,topicSelected:this.state.topicSelected,credMethod:this.state.credMethod,credCode:this.state.credCode,transport:this.state.transport,messageSounds:this.state.messageSounds,desktopAlerts:this.state.desktopAlerts,desktopAlertsEnabled:this.state.desktopAlertsEnabled,serverAddress:this.state.serverAddress,onGlobalSettings:this.handleGlobalSettings,onSignUp:this.handleNewAccount,onSettings:this.handleSettings,onLoginRequest:this.handleLoginRequest,onCreateAccount:this.handleNewAccountRequest,onUpdateAccount:this.handleUpdateAccountRequest,onUpdateAccountTags:this.handleUpdateAccountTagsRequest,onTopicSelected:this.handleTopicSelected,onCreateTopic:this.handleNewTopicRequest,onNewTopic:this.handleNewTopic,onLogout:this.handleLogout,onCancel:this.handleSidepanelCancel,onOnlineChange:this.handleTopicSelectedOnline,onAcsChange:this.handleTopicSelectedAcs,onError:this.handleError,onValidateCredentials:this.handleValidateCredentialsRequest,onInitFind:this.tnInitFind,contactsSearchQuery:this.state.contactsSearchQuery,foundContacts:this.state.foundContacts,onSearchContacts:this.handleSearchContacts,showContextMenu:this.handleShowContextMenu}),React.createElement(Cc,{connected:this.state.connected,online:this.state.topicSelectedOnline,acs:this.state.topicSelectedAcs,displayMobile:this.state.displayMobile,viewportWidth:this.state.viewportWidth,hideSelf:this.state.displayMobile&&("topic-view"!==this.state.mobilePanel||this.state.showInfoPanel),topic:this.state.topicSelected,myUserId:this.state.myUserId,serverVersion:this.state.serverVersion,serverAddress:this.state.serverAddress,errorText:this.state.errorText,errorLevel:this.state.errorLevel,onHideMessagesView:this.handleHideMessagesView,onData:this.tnData,onError:this.handleError,readTimerHandler:this.handleReadTimer,showContextMenu:this.handleShowContextMenu,sendMessage:this.handleSendMessage}),this.state.showInfoPanel?React.createElement(bc,{connected:this.state.connected,displayMobile:this.state.displayMobile,topic:this.state.topicSelected,foundContacts:this.state.foundContacts,myUserId:this.state.myUserId,errorText:this.state.errorText,errorLevel:this.state.errorLevel,onTopicDescUpdate:this.handleTopicUpdateRequest,onCancel:this.handleHideInfoView,onChangePermissions:this.handleChangePermissions,onMemberUpdateRequest:this.handleMemberUpdateRequest,onLeaveTopic:this.handleLeaveUnsubRequest,onAddMember:this.handleManageGroupMembers,onTopicTagsUpdate:this.handleTagsUpdated,onInitFind:this.tnInitFind,onError:this.handleError,showContextMenu:this.handleShowContextMenu}):null)}}var _c=xc;Jo.render(Y.createElement(_c,null),document.getElementById("mountPoint"))});