From 437f20f2eb16929caa99f70712bb411cfd2d55fa Mon Sep 17 00:00:00 2001 From: Github bot Date: Sat, 27 Jul 2024 19:07:39 +0000 Subject: [PATCH] build action --- public/assets/bundle-BErZgAko.js.map | 1 - public/assets/{bundle-BErZgAko.js => bundle-sKIpSQ3D.js} | 4 ++-- public/assets/bundle-sKIpSQ3D.js.map | 1 + public/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 public/assets/bundle-BErZgAko.js.map rename public/assets/{bundle-BErZgAko.js => bundle-sKIpSQ3D.js} (66%) create mode 100644 public/assets/bundle-sKIpSQ3D.js.map diff --git a/public/assets/bundle-BErZgAko.js.map b/public/assets/bundle-BErZgAko.js.map deleted file mode 100644 index 0ad70d6..0000000 --- a/public/assets/bundle-BErZgAko.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle-BErZgAko.js","sources":["../../node_modules/preact/dist/preact.module.js","../../node_modules/preact/hooks/dist/hooks.module.js","../../node_modules/preact/compat/dist/compat.module.js","../../src/uuid-formatter.js","../../src/uuid-bytes.js","../../src/base64.js","../../src/object-parser.js","../../src/type-detector.js","../../src/uuid-high-low.js","../../node_modules/notiflix/build/notiflix-notify-aio.js","../../src/input.jsx","../../src/history.jsx","../../node_modules/@theme-toggles/react/dist/index.js","../../node_modules/react-fast-compare/index.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/invariant/browser.js","../../node_modules/shallowequal/index.js","../../node_modules/react-helmet-async/lib/index.esm.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../src/nav.jsx","../../src/app.jsx","../../src/index.jsx"],"sourcesContent":["var n,l,u,t,i,o,r,f,e,c,s,a,h={},p=[],v=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w(n){var l=n.parentNode;l&&l.removeChild(n)}function _(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g(l,f,i,o,null)}function g(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function m(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;lu&&i.sort(f));P.__r=0}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a0?g(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a=f-r:f==r+1?a++:f>r?s>e-r?a+=f-r:a--:f(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),g(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=p.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,e=0,c=F(!1),s=F(!0),a=0;export{b as Component,k as Fragment,E as cloneElement,G as createContext,_ as createElement,m as createRef,_ as h,D as hydrate,t as isValidElement,l as options,B as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function d(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function h(n){return o=1,p(D,n)}function p(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=d(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__H.__h.push(i))}function _(n,u){var i=d(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function T(n,r){var u=d(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,p as useReducer,A as useRef,h as useState};\n//# sourceMappingURL=hooks.module.js.map\n","import{Component as n,createElement as t,options as e,toChildArray as r,Fragment as u,render as o,hydrate as i,createContext as c,createRef as l,cloneElement as f}from\"preact\";export{Component,Fragment,createContext,createElement,createRef}from\"preact\";import{useCallback as a,useContext as s,useDebugValue as h,useEffect as v,useId as d,useImperativeHandle as p,useLayoutEffect as m,useMemo as y,useReducer as _,useRef as b,useState as S}from\"preact/hooks\";export*from\"preact/hooks\";function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function C(n,t){this.props=n,this.context=t}function x(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,t(n,e)}return u.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",u.prototype.isReactComponent=!0,u.__f=!0,u}(C.prototype=new n).isPureReactComponent=!0,C.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var R=e.__b;e.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n)};var w=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function k(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=w,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var I=function(n,t){return null==n?null:r(r(n).map(t))},N={map:I,forEach:I,count:function(n){return n?r(n).length:0},only:function(n){var t=r(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:r},M=e.__e;e.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);M(n,t,e,r)};var T=e.unmount;function A(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return A(n,t,e)})),n}function D(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return D(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function L(){this.__u=0,this.t=null,this.__b=null}function O(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function F(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return t(r,o)}return o.displayName=\"Lazy\",o.__f=!0,o}function U(){this.u=null,this.o=null}e.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),T&&T(n)},(L.prototype=new n).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=O(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c())};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=D(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement(\"div\"),o=this.__v.__k[0].__c;this.__v.__k[0]=A(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&t(u,null,n.fallback);return i&&(i.__u&=-33),[t(u,null,e.__a?null:n.children),i]};var V=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]>>1,1),e.i.removeChild(n)}}),o(t(W,{context:e.context},n.__v),e.l)}function j(n,e){var r=t(P,{__v:n,i:e});return r.containerInfo=e,r}(U.prototype=new n).__a=function(n){var t=this,e=O(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),V(t,n,r)):u()};e?e(o):o()}},U.prototype.render=function(n){this.u=null,this.o=new Map;var t=r(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},U.prototype.componentDidUpdate=U.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){V(n,e,t)})};var z=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,B=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,H=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Z=/[A-Z0-9]/g,Y=\"undefined\"!=typeof document,$=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function q(n,t,e){return null==t.__k&&(t.textContent=\"\"),o(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function G(n,t,e){return i(n,t),\"function\"==typeof e&&e(),n?n.__c:null}n.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(t){Object.defineProperty(n.prototype,t,{configurable:!0,get:function(){return this[\"UNSAFE_\"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var J=e.event;function K(){}function Q(){return this.cancelBubble}function X(){return this.defaultPrevented}e.event=function(n){return J&&(n=J(n)),n.persist=K,n.isPropagationStopped=Q,n.isDefaultPrevented=X,n.nativeEvent=n};var nn,tn={enumerable:!1,configurable:!0,get:function(){return this.class}},en=e.vnode;e.vnode=function(n){\"string\"==typeof n.type&&function(n){var t=n.props,e=n.type,u={};for(var o in t){var i=t[o];if(!(\"value\"===o&&\"defaultValue\"in t&&null==i||Y&&\"children\"===o&&\"noscript\"===e||\"class\"===o||\"className\"===o)){var c=o.toLowerCase();\"defaultValue\"===o&&\"value\"in t&&null==t.value?o=\"value\":\"download\"===o&&!0===i?i=\"\":\"translate\"===c&&\"no\"===i?i=!1:\"ondoubleclick\"===c?o=\"ondblclick\":\"onchange\"!==c||\"input\"!==e&&\"textarea\"!==e||$(t.type)?\"onfocus\"===c?o=\"onfocusin\":\"onblur\"===c?o=\"onfocusout\":H.test(o)?o=c:-1===e.indexOf(\"-\")&&B.test(o)?o=o.replace(Z,\"-$&\").toLowerCase():null===i&&(i=void 0):c=o=\"oninput\",\"oninput\"===c&&u[o=c]&&(o=\"oninputCapture\"),u[o]=i}}\"select\"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=r(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),\"select\"==e&&null!=u.defaultValue&&(u.value=r(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,\"className\",tn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=z,en&&en(n)};var rn=e.__r;e.__r=function(n){rn&&rn(n),nn=n.__c};var un=e.diffed;e.diffed=function(n){un&&un(n);var t=n.props,e=n.__e;null!=e&&\"textarea\"===n.type&&\"value\"in t&&t.value!==e.value&&(e.value=null==t.value?\"\":t.value),nn=null};var on={ReactCurrentDispatcher:{current:{readContext:function(n){return nn.__n[n.__c].props.value},useCallback:a,useContext:s,useDebugValue:h,useDeferredValue:bn,useEffect:v,useId:d,useImperativeHandle:p,useInsertionEffect:gn,useLayoutEffect:m,useMemo:y,useReducer:_,useRef:b,useState:S,useSyncExternalStore:Cn,useTransition:Sn}}},cn=\"17.0.2\";function ln(n){return t.bind(null,n)}function fn(n){return!!n&&n.$$typeof===z}function an(n){return fn(n)&&n.type===u}function sn(n){return!!n&&!!n.displayName&&(\"string\"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith(\"Memo(\")}function hn(n){return fn(n)?f.apply(null,arguments):n}function vn(n){return!!n.__k&&(o(null,n),!0)}function dn(n){return n&&(n.base||1===n.nodeType&&n)||null}var pn=function(n,t){return n(t)},mn=function(n,t){return n(t)},yn=u;function _n(n){n()}function bn(n){return n}function Sn(){return[!1,_n]}var gn=m,En=fn;function Cn(n,t){var e=t(),r=S({h:{__:e,v:t}}),u=r[0].h,o=r[1];return m(function(){u.__=e,u.v=t,xn(u)&&o({h:u})},[n,e,t]),v(function(){return xn(u)&&o({h:u}),n(function(){xn(u)&&o({h:u})})},[n]),e}function xn(n){var t,e,r=n.v,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}var Rn={useState:S,useId:d,useReducer:_,useEffect:v,useLayoutEffect:m,useInsertionEffect:gn,useTransition:Sn,useDeferredValue:bn,useSyncExternalStore:Cn,startTransition:_n,useRef:b,useImperativeHandle:p,useMemo:y,useCallback:a,useContext:s,useDebugValue:h,version:\"17.0.2\",Children:N,render:q,hydrate:G,unmountComponentAtNode:vn,createPortal:j,createElement:t,createContext:c,createFactory:ln,cloneElement:hn,createRef:l,Fragment:u,isValidElement:fn,isElement:En,isFragment:an,isMemo:sn,findDOMNode:dn,Component:n,PureComponent:C,memo:x,forwardRef:k,flushSync:mn,unstable_batchedUpdates:pn,StrictMode:yn,Suspense:L,SuspenseList:U,lazy:F,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:on};export{N as Children,C as PureComponent,yn as StrictMode,L as Suspense,U as SuspenseList,on as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,hn as cloneElement,ln as createFactory,j as createPortal,Rn as default,dn as findDOMNode,mn as flushSync,k as forwardRef,G as hydrate,En as isElement,an as isFragment,sn as isMemo,fn as isValidElement,F as lazy,x as memo,q as render,_n as startTransition,vn as unmountComponentAtNode,pn as unstable_batchedUpdates,bn as useDeferredValue,gn as useInsertionEffect,Cn as useSyncExternalStore,Sn as useTransition,cn as version};\n//# sourceMappingURL=compat.module.js.map\n","'use strict';\n\n/**\n * Formats a UUID string into the standard UUID format.\n *\n * @param {string} input - The UUID string to format.\n * @return {string} The formatted UUID string.\n */\nexport function uuidFormatter(input) {\n // Check if the input string has a length of 32, which is the length of a standard UUID.\n if (input.length === 32) {\n // Slice the input string into parts and join them with hyphens to form the formatted UUID.\n // The first 8 characters are the first part.\n // The next 4 characters are the second part.\n // The next 4 characters are the third part.\n // The next 4 characters are the fourth part.\n // The remaining 8 characters are the fifth part.\n return (\n input.slice(0, 8) + '-' + // First part\n input.slice(8, 12) + '-' + // Second part\n input.slice(12, 16) + '-' + // Third part\n input.slice(16, 20) + '-' + // Fourth part\n input.slice(20, 32) // Fifth part\n );\n }\n\n // If the input string is not a standard UUID, return it as is.\n return input;\n}\n","'use strict';\n\nimport {uuidFormatter} from \"./uuid-formatter.js\";\n\n/**\n * Regular expression to match all non-alphanumeric characters in a UUID string.\n * Used to remove non-alphanumeric characters from the input when converting bytes to UUID.\n * @type {RegExp}\n */\nconst uuidAlf = /[^a-z0-9]/g; // eslint-disable-line no-useless-escape\n\n/**\n * Regular expression to split a UUID string into 2-character chunks.\n * Used to split UUID string into bytes when converting bytes to UUID.\n * @type {RegExp}\n */\nconst chunk = /.{1,2}/g;\n\n/**\n * Removes non-alphanumeric characters from a UUID string.\n * @param {string} input - The UUID string to be cleaned.\n * @returns {string|null} - The cleaned UUID string, or null if the input has an invalid length.\n */\nfunction _getUuid(input) {\n // Lowercase the input and remove all non-alphanumeric characters.\n const uuidStr = input.toLowerCase().replaceAll(uuidAlf, '')\n \n // Check if the cleaned UUID string has the correct length (32 characters).\n if (uuidStr.length !== 32) {\n // If the length is invalid, return null.\n return null\n }\n\n // Return the cleaned UUID string.\n return uuidStr\n}\n\n/**\n * Converts a UUID string to an array of bytes.\n * Each byte is represented as a decimal number.\n *\n * @param {string} input - The UUID string to be converted.\n * @returns {Array|null} - The array of bytes, or null if the input has an invalid length.\n */\nexport function uuidToBytes(input) {\n // Clean the input UUID string and check its length.\n const uuidStr = _getUuid(input)\n if (uuidStr === null) {\n return null\n }\n\n // Split the cleaned UUID string into 2-character chunks and convert each chunk to a decimal number.\n return uuidStr\n .match(chunk)\n .map(b => parseInt(b, 16))\n}\n\nexport function bytesToUuid(bytes) {\n return uuidFormatter(\n bytes.map(b => b.toString(16).padStart(2, '0')).join('')\n )\n}\n\n/**\n * Converts a UUID string to a JSON string representation of an array of bytes.\n * Each byte is represented as a decimal number.\n *\n * @param {string} input - The UUID string to be converted.\n * @returns {string|null} - The JSON string representation of an array of bytes, or null if the input has an invalid length.\n */\nexport function uuidToBytesString(input) {\n // Convert the UUID string to an array of bytes.\n const bytes = uuidToBytes(input)\n \n // If the input has an invalid length, return null.\n if (bytes === null) {\n return null\n }\n\n // Convert the array of bytes to a JSON string.\n return JSON.stringify(bytes)\n}\n","'use strict';\n\nimport {bytesToUuid, uuidToBytes} from \"./uuid-bytes.js\";\n\n/**\n * Converts a base64 standard representation of a UUID to the UUID string.\n *\n * @param {string} base64 - The base64 standard representation of a UUID.\n * @returns {string} - The UUID string.\n */\nexport function base64StdToUuid(base64) {\n // Decode the base64 string to bytes.\n const bytes = atob(base64)\n // Convert each character to its corresponding character code.\n .split('')\n .map(c => c.charCodeAt(0))\n // Convert the array of character codes to bytes.\n ;\n\n // Convert the bytes to the UUID string.\n return bytesToUuid(bytes);\n}\n\n/**\n * Converts a UUID string to a base64 standard representation of a UUID.\n *\n * @param {string} uuid - The UUID string to be converted.\n * @returns {string} - The base64 standard representation of the UUID.\n */\nexport function uuidToBase64Std(uuid) {\n // Convert the UUID string to bytes.\n const bytes = uuidToBytes(uuid);\n\n // Convert the bytes to a base64 string.\n // The apply() method is used to convert the Uint8Array to an arguments list\n // that can be passed to the String.fromCharCode() method.\n return btoa(\n String.fromCharCode.apply(null, new Uint8Array(bytes))\n );\n}\n","'use strict';\n\nconst rg = /\"?([a-zA-Z0-9]*)\"?:/g\nconst hlrg = /^(-?\\d+)[;:,](-?\\d+)$/\nconst trg = /[\"']?(-?\\d+)[\"']?/g\n\n/**\n * Parses a string representation of an object into a JavaScript object.\n * \n * @param {string} val - The string representation of the object.\n * @returns {Object} - The parsed object.\n */\nexport function objectParse(val) {\n // If the string starts with '[', it is a JSON array and needs to be parsed.\n if (val[0] === '[') {\n // Replace all occurrences of numbers with the same number without quotes.\n return JSON.parse(val.replace(trg, '$1'))\n }\n\n // If the string matches the regular expression for a high-low pair, split it into an array.\n if (val.match(hlrg)) {\n // Replace the high-low pair with the same numbers separated by semicolons.\n const split = val.replace(hlrg, '$1;$2').split(';')\n\n // Return an object with the high and low properties.\n return {\n high: split[0].toString(),\n low: split[1].toString()\n }\n }\n\n // Parse the string representation of the object.\n const obj = JSON.parse(val.replace(trg, '\"$1\"').replace(rg, '\"$1\":'))\n\n // Return an object with the high and low properties.\n return {\n high: obj.high,\n low: obj.low\n }\n}\n","'use strict';\n\nimport {base64StdToUuid} from \"./base64.js\";\nimport {objectParse} from \"./object-parser.js\";\n\n/**\n * Represents the type of UUID.\n *\n * @type {number}\n */\nexport const TYPE_UUID = 2 ** 0; // 0b0001\n\n/**\n * Represents the type of UUID represented as high-low pairs.\n *\n * @type {number}\n */\nexport const TYPE_HIGH_LOW = 2 ** 1; // 0b0010\n\n/**\n * Represents the type of UUID represented in base64 string.\n *\n * @type {number}\n */\nexport const TYPE_BASE64 = 2 ** 2; // 0b0100\n\n/**\n * Represents the type of UUID represented as bytes string.\n *\n * @type {number}\n */\nexport const TYPE_BYTES = 2 ** 3; // 0b1000\n\n/**\n * Represents the length of a UUID string.\n *\n * A UUID is a 128-bit value represented as a 36-character string.\n * Each character in the string represents a hexadecimal digit.\n *\n * @type {number}\n */\nconst UUID_LENGTH = 36; // 36 characters in a UUID string\n\n/**\n * Returns a list of UUID types and their corresponding names.\n *\n * @return {Object} An object with UUID types as keys and their corresponding names as values.\n */\nexport function uuidTypeList() {\n // Initialize an empty array to store the UUID types and their names.\n const list = []\n\n // Add each UUID type and its corresponding name to the list.\n list[TYPE_UUID] = 'uuid' // UUID type\n list[TYPE_BASE64] = 'base64' // Base64 type\n list[TYPE_HIGH_LOW] = 'high-low' // High-low type\n list[TYPE_BYTES] = 'bytes' // Bytes type\n\n // Return the list of UUID types and their names.\n return list\n}\n\n/**\n * Detects the type of the given input.\n *\n * The function attempts to parse the input as a JSON array (bytes-type) or\n * JSON object (high-low-type). If parsing succeeds, it returns the bytes-type\n * or high-low-type accordingly.\n *\n * If parsing fails, the function checks if the input can be parsed as a valid\n * base64-type UUID. If it can, the function returns the base64-type.\n *\n * If parsing fails for both bytes-type and base64-type, the function returns\n * the default UUID type.\n *\n * @param {string} input - The input to be parsed and detected.\n * @return {number} The type of the input.\n */\nexport function typeDetector(input) {\n // Attempt to parse the input as a JSON array (bytes-type) or JSON object\n // (high-low-type).\n try {\n // If the input can be parsed as a JSON array, return the bytes-type.\n return Array.isArray(objectParse(input))\n ? TYPE_BYTES\n // If the input can be parsed as a JSON object, return the high-low-type.\n : TYPE_HIGH_LOW;\n } catch (e) {\n // Do nothing if parsing fails.\n }\n\n // Attempt to parse the input as a valid base64-type UUID.\n try {\n // If the input can be parsed as a valid base64-type UUID with the correct\n // length, return the base64-type.\n if (base64StdToUuid(input).length === UUID_LENGTH) {\n return TYPE_BASE64;\n }\n } catch (e) {\n // Do nothing if parsing fails.\n }\n\n // If parsing fails for both bytes-type and base64-type, return the default\n // UUID type.\n return TYPE_UUID;\n}\n","'use strict';\n\nimport {bytesToUuid, uuidToBytes} from \"./uuid-bytes.js\";\n\n/**\n * Converts a UUID string to an object with high and low unsigned 64-bit integers.\n *\n * @param {string} input - The UUID string to convert.\n * @return {Object} An object with high and low unsigned 64-bit integers as strings,\n * or null if input is invalid.\n */\nexport function uuidToInts(input) {\n // Convert the UUID string to an array of BigInts.\n const v = uuidToBytes(input).map(i => BigInt(i))\n // If the conversion failed, return null.\n if (v === null) {\n return null\n }\n\n // Combine the bytes into high and low unsigned 64-bit integers.\n const high = BigInt(v[0] | v[1] << BigInt(8) | v[2] << BigInt(16) | v[3] << BigInt(24) |\n v[4] << BigInt(32) | v[5] << BigInt(40) | v[6] << BigInt(48) | v[7] << BigInt(56))\n\n const low = BigInt(v[8] | v[9] << BigInt(8) | v[10] << BigInt(16) | v[11] << BigInt(24) |\n v[12] << BigInt(32) | v[13] << BigInt(40) | v[14] << BigInt(48) | v[15] << BigInt(56))\n\n // Return the high and low integers as strings.\n return {\n // Convert the high and low integers to strings.\n high: BigInt.asIntN(64, high) + \"\",\n low: BigInt.asIntN(64, low) + \"\",\n }\n}\n\n/**\n * Converts two unsigned 64-bit integers to a UUID string.\n *\n * @param {string} high - The high unsigned 64-bit integer as a string.\n * @param {string} low - The low unsigned 64-bit integer as a string.\n * @return {string} The UUID string.\n */\nexport function intsToUuid(high, low) {\n // Convert the high and low integers to an array of bytes.\n return bytesToUuid([\n // Extract the bytes from the high integer.\n BigInt(high) & BigInt(0xff),\n BigInt(high) >> BigInt(8) & BigInt(0xff),\n BigInt(high) >> BigInt(16) & BigInt(0xff),\n BigInt(high) >> BigInt(24) & BigInt(0xff),\n BigInt(high) >> BigInt(32) & BigInt(0xff),\n BigInt(high) >> BigInt(40) & BigInt(0xff),\n BigInt(high) >> BigInt(48) & BigInt(0xff),\n BigInt(high) >> BigInt(56) & BigInt(0xff),\n // Extract the bytes from the low integer.\n BigInt(low) & BigInt(0xff),\n BigInt(low) >> BigInt(8) & BigInt(0xff),\n BigInt(low) >> BigInt(16) & BigInt(0xff),\n BigInt(low) >> BigInt(24) & BigInt(0xff),\n BigInt(low) >> BigInt(32) & BigInt(0xff),\n BigInt(low) >> BigInt(40) & BigInt(0xff),\n BigInt(low) >> BigInt(48) & BigInt(0xff),\n BigInt(low) >> BigInt(56) & BigInt(0xff),\n ])\n}\n\n/**\n * Converts a UUID string to an object with high and low unsigned 64-bit integers.\n *\n * @param {string} input - The UUID string to convert.\n * @return {Object} An object with high and low unsigned 64-bit integers as strings,\n * or null if input is invalid.\n */\nexport function uuidToUints(input) {\n // Convert the UUID string to an array of BigInts.\n const v = uuidToBytes(input).map(i => BigInt(i))\n // If the conversion failed, return null.\n if (v === null) {\n return null\n }\n\n // Combine the bytes into high and low unsigned 64-bit integers.\n const high = BigInt(\n v[7] | v[6] << BigInt(8) | v[5] << BigInt(16) | v[4] << BigInt(24) |\n v[3] << BigInt(32) | v[2] << BigInt(40) | v[1] << BigInt(48) | v[0] << BigInt(56)\n )\n\n const low = BigInt(\n v[15] | v[14] << BigInt(8) | v[13] << BigInt(16) | v[12] << BigInt(24) |\n v[11] << BigInt(32) | v[10] << BigInt(40) | v[9] << BigInt(48) | v[8] << BigInt(56)\n )\n\n // Return the high and low integers as strings.\n return {\n // Convert the high and low integers to unsigned 64-bit integers and convert them to strings.\n high: BigInt.asUintN(64, high) + \"\",\n low: BigInt.asUintN(64, low) + \"\",\n }\n}\n\n/**\n * Converts two unsigned 64-bit integers to a UUID string.\n *\n * @param {string} high - The high unsigned 64-bit integer as a string.\n * @param {string} low - The low unsigned 64-bit integer as a string.\n * @return {string} The UUID string.\n */\nexport function uintsToUuid(high, low) {\n // Convert the high and low integers to an array of bytes.\n return bytesToUuid([\n // Extract the most significant byte from the high integer.\n BigInt(high) >> BigInt(56) & BigInt(0xff),\n // Extract the next 7 bytes from the high integer.\n BigInt(high) >> BigInt(48) & BigInt(0xff),\n BigInt(high) >> BigInt(40) & BigInt(0xff),\n BigInt(high) >> BigInt(32) & BigInt(0xff),\n BigInt(high) >> BigInt(24) & BigInt(0xff),\n BigInt(high) >> BigInt(16) & BigInt(0xff),\n BigInt(high) >> BigInt(8) & BigInt(0xff),\n BigInt(high) & BigInt(0xff),\n // Extract the most significant byte from the low integer.\n BigInt(low) >> BigInt(56) & BigInt(0xff),\n // Extract the next 7 bytes from the low integer.\n BigInt(low) >> BigInt(48) & BigInt(0xff),\n BigInt(low) >> BigInt(40) & BigInt(0xff),\n BigInt(low) >> BigInt(32) & BigInt(0xff),\n BigInt(low) >> BigInt(24) & BigInt(0xff),\n BigInt(low) >> BigInt(16) & BigInt(0xff),\n BigInt(low) >> BigInt(8) & BigInt(0xff),\n BigInt(low) & BigInt(0xff),\n ])\n}\n","/*\n* Notiflix Notify AIO (https://notiflix.github.io)\n* Description: This file has been created automatically that using \"notiflix.js\", and \"notiflix.css\" files.\n* Version: 3.2.7\n* Author: Furkan (https://github.com/furcan)\n* Copyright 2019 - 2024 Notiflix, MIT License (https://opensource.org/licenses/MIT)\n*/\n\n/* global define */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Notiflix = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n // COMMON: SSR check: begin\n if (typeof window === 'undefined' && typeof window.document === 'undefined') {\n return false;\n }\n // COMMON: SSR check: end\n\n // COMMON: Variables: begin\n var notiflixNamespace = 'Notiflix';\n var notiflixConsoleDocs = '\\n\\nVisit documentation page to learn more: https://notiflix.github.io/documentation';\n var defaultFontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif';\n // COMMON: Variables: end\n\n // NOTIFY: Default Settings: begin\n var typesNotify = {\n Success: 'Success',\n Failure: 'Failure',\n Warning: 'Warning',\n Info: 'Info',\n };\n var newNotifySettings;\n var notifySettings = {\n wrapID: 'NotiflixNotifyWrap', // can not customizable\n overlayID: 'NotiflixNotifyOverlay', // can not customizable\n width: '280px',\n position: 'right-top', // 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom' - 'center-top' - 'center-bottom' - 'center-center'\n distance: '10px',\n opacity: 1,\n borderRadius: '5px',\n rtl: false,\n timeout: 3000,\n messageMaxLength: 110,\n backOverlay: false,\n backOverlayColor: 'rgba(0,0,0,0.5)',\n plainText: true,\n showOnlyTheLastOne: false,\n clickToClose: false,\n pauseOnHover: true,\n\n ID: 'NotiflixNotify',\n className: 'notiflix-notify',\n zindex: 4001,\n fontFamily: 'Quicksand',\n fontSize: '13px',\n cssAnimation: true,\n cssAnimationDuration: 400,\n cssAnimationStyle: 'fade', // 'fade' - 'zoom' - 'from-right' - 'from-top' - 'from-bottom' - 'from-left'\n closeButton: false,\n useIcon: true,\n useFontAwesome: false,\n fontAwesomeIconStyle: 'basic', // 'basic' - 'shadow'\n fontAwesomeIconSize: '34px',\n\n success: {\n background: '#32c682',\n textColor: '#fff',\n childClassName: 'notiflix-notify-success',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-check-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(50,198,130,0.2)',\n },\n\n failure: {\n background: '#ff5549',\n textColor: '#fff',\n childClassName: 'notiflix-notify-failure',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-times-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(255,85,73,0.2)',\n },\n\n warning: {\n background: '#eebf31',\n textColor: '#fff',\n childClassName: 'notiflix-notify-warning',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-exclamation-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(238,191,49,0.2)',\n },\n\n info: {\n background: '#26c0d3',\n textColor: '#fff',\n childClassName: 'notiflix-notify-info',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-info-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(38,192,211,0.2)',\n },\n };\n // NOTIFY: Default Settings: end\n\n // COMMON: Console Error: begin\n var commonConsoleError = function (message) {\n return console.error('%c ' + notiflixNamespace + ' Error ', 'padding:2px;border-radius:20px;color:#fff;background:#ff5549', '\\n' + message + notiflixConsoleDocs);\n };\n // COMMON: Console Error: end\n\n // COMMON: Check Head or Body: begin\n var commonCheckHeadOrBody = function (element) {\n if (!element) { element = 'head'; }\n if (window.document[element] === null) {\n commonConsoleError('\\nNotiflix needs to be appended to the \"<' + element + '>\" element, but you called it before the \"<' + element + '>\" element has been created.');\n return false;\n }\n return true;\n };\n // COMMON: Check Head or Body: end\n\n // COMMON: Set Internal CSS Codes: begin\n var commonSetInternalCSSCodes = function (getInternalCSSCodes, styleElementId) {\n // check doc head\n if (!commonCheckHeadOrBody('head')) { return false; }\n\n // internal css\n if (getInternalCSSCodes() !== null && !window.document.getElementById(styleElementId)) {\n var internalCSS = window.document.createElement('style');\n internalCSS.id = styleElementId;\n internalCSS.innerHTML = getInternalCSSCodes();\n window.document.head.appendChild(internalCSS);\n }\n };\n // COMMON: Set Internal CSS Codes: end\n\n // COMMON: Extend Options: begin\n var commonExtendOptions = function () {\n // variables\n var extended = {};\n var deep = false;\n var i = 0;\n // check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n // merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // if property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = commonExtendOptions(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n // loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n merge(arguments[i]);\n }\n return extended;\n };\n // COMMON: Extend Options: end\n\n // COMMON: Get Plaintext: begin\n var commonGetPlaintext = function (html) {\n var htmlPool = window.document.createElement('div');\n htmlPool.innerHTML = html;\n return htmlPool.textContent || htmlPool.innerText || '';\n };\n // COMMON: Get Plaintext: end\n\n // NOTIFY: Get Internal CSS Codes: begin\n var notifyGetInternalCSSCodes = function () {\n var notifyCSS = '[id^=NotiflixNotifyWrap]{pointer-events:none;position:fixed;z-index:4001;opacity:1;right:10px;top:10px;width:280px;max-width:96%;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent}[id^=NotiflixNotifyWrap].nx-flex-center-center{max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:auto}[id^=NotiflixNotifyWrap]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixNotifyWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyOverlay]{-webkit-transition:background .3s ease-in-out;-o-transition:background .3s ease-in-out;transition:background .3s ease-in-out}[id^=NotiflixNotifyWrap]>div{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}';\n return notifyCSS || null;\n };\n // NOTIFY: Get Internal CSS Codes: end\n\n // NOTIFY: Create: begin\n var notifyCreateCounter = 0;\n var notifyCreate = function (notifyType, message, callbackOrOptions, options) {\n // check doc body\n if (!commonCheckHeadOrBody('body')) { return false; }\n\n // if not initialized pretend like init\n if (!newNotifySettings) {\n Notiflix.Notify.init({});\n }\n\n // create a backup for new settings\n var newNotifySettingsBackup = commonExtendOptions(true, newNotifySettings, {});\n\n // check callbackOrOptions and options: begin\n if ((typeof callbackOrOptions === 'object' && !Array.isArray(callbackOrOptions)) || (typeof options === 'object' && !Array.isArray(options))) {\n // new options\n var newOptions = {};\n if (typeof callbackOrOptions === 'object') {\n newOptions = callbackOrOptions;\n } else if (typeof options === 'object') {\n newOptions = options;\n }\n\n // extend new settings with the new options\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newOptions);\n }\n // check callbackOrOptions and options: end\n\n // notify type\n var theType = newNotifySettings[notifyType.toLocaleLowerCase('en')];\n\n // notify counter\n notifyCreateCounter++;\n\n // check the message: begin\n if (typeof message !== 'string') {\n message = 'Notiflix ' + notifyType;\n }\n // check the message: end\n\n // if plainText is true => HTML tags not allowed: begin\n if (newNotifySettings.plainText) {\n message = commonGetPlaintext(message); // message plain text\n }\n // if plainText is true => HTML tags not allowed: end\n\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: begin\n if (!newNotifySettings.plainText && message.length > newNotifySettings.messageMaxLength) {\n // extend settings for error massege\n newNotifySettings = commonExtendOptions(true, newNotifySettings, { closeButton: true, messageMaxLength: 150 });\n // error message\n message = 'Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option.';\n }\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: end\n\n // check message max length: begin\n if (message.length > newNotifySettings.messageMaxLength) {\n message = message.substring(0, newNotifySettings.messageMaxLength) + '...';\n }\n // check message max length: end\n\n // font awesome icon style: begin\n if (newNotifySettings.fontAwesomeIconStyle === 'shadow') {\n theType.fontAwesomeIconColor = theType.background;\n }\n // font awesome icon style: end\n\n // if cssAnimaion is false => duration: begin\n if (!newNotifySettings.cssAnimation) {\n newNotifySettings.cssAnimationDuration = 0;\n }\n // if cssAnimaion is false => duration: end\n\n // notify wrap: begin\n var ntflxNotifyWrap = window.document.getElementById(notifySettings.wrapID) || window.document.createElement('div');\n ntflxNotifyWrap.id = notifySettings.wrapID;\n ntflxNotifyWrap.style.width = newNotifySettings.width;\n ntflxNotifyWrap.style.zIndex = newNotifySettings.zindex;\n ntflxNotifyWrap.style.opacity = newNotifySettings.opacity;\n\n // wrap position: begin\n if (newNotifySettings.position === 'center-center') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.margin = 'auto';\n ntflxNotifyWrap.classList.add('nx-flex-center-center');\n ntflxNotifyWrap.style.maxHeight = 'calc((100vh - ' + newNotifySettings.distance + ') - ' + newNotifySettings.distance + ')';\n ntflxNotifyWrap.style.display = 'flex';\n ntflxNotifyWrap.style.flexWrap = 'wrap';\n ntflxNotifyWrap.style.flexDirection = 'column';\n ntflxNotifyWrap.style.justifyContent = 'center';\n ntflxNotifyWrap.style.alignItems = 'center';\n ntflxNotifyWrap.style.pointerEvents = 'none';\n } else if (newNotifySettings.position === 'center-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'center-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'right-bottom') {\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.left = 'auto';\n } else if (newNotifySettings.position === 'left-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n } else if (newNotifySettings.position === 'left-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.right = 'auto';\n } else { // 'right-top' or else\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.left = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n }\n // wrap position: end\n\n // if background overlay is true: begin\n if (newNotifySettings.backOverlay) {\n var ntflxNotifyOverlay = window.document.getElementById(notifySettings.overlayID) || window.document.createElement('div');\n ntflxNotifyOverlay.id = notifySettings.overlayID;\n ntflxNotifyOverlay.style.width = '100%';\n ntflxNotifyOverlay.style.height = '100%';\n ntflxNotifyOverlay.style.position = 'fixed';\n ntflxNotifyOverlay.style.zIndex = newNotifySettings.zindex - 1;\n ntflxNotifyOverlay.style.left = 0;\n ntflxNotifyOverlay.style.top = 0;\n ntflxNotifyOverlay.style.right = 0;\n ntflxNotifyOverlay.style.bottom = 0;\n ntflxNotifyOverlay.style.background = theType.backOverlayColor || newNotifySettings.backOverlayColor;\n ntflxNotifyOverlay.className = newNotifySettings.cssAnimation ? 'nx-with-animation' : '';\n ntflxNotifyOverlay.style.animationDuration = newNotifySettings.cssAnimation ? newNotifySettings.cssAnimationDuration + 'ms' : '';\n\n if (!window.document.getElementById(notifySettings.overlayID)) {\n window.document.body.appendChild(ntflxNotifyOverlay);\n }\n }\n // if background overlay is true: end\n\n if (!window.document.getElementById(notifySettings.wrapID)) {\n window.document.body.appendChild(ntflxNotifyWrap);\n }\n // notify wrap: end\n\n // notify content: begin\n var ntflxNotify = window.document.createElement('div');\n ntflxNotify.id = newNotifySettings.ID + '-' + notifyCreateCounter;\n ntflxNotify.className = newNotifySettings.className + ' ' + theType.childClassName + ' ' + (newNotifySettings.cssAnimation ? 'nx-with-animation' : '') + ' ' + (newNotifySettings.useIcon ? 'nx-with-icon' : '') + ' nx-' + newNotifySettings.cssAnimationStyle + ' ' + (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function' ? 'nx-with-close-button' : '') + ' ' + (typeof callbackOrOptions === 'function' ? 'nx-with-callback' : '') + ' ' + (newNotifySettings.clickToClose ? 'nx-notify-click-to-close' : '');\n ntflxNotify.style.fontSize = newNotifySettings.fontSize;\n ntflxNotify.style.color = theType.textColor;\n ntflxNotify.style.background = theType.background;\n ntflxNotify.style.borderRadius = newNotifySettings.borderRadius;\n ntflxNotify.style.pointerEvents = 'all';\n\n // rtl: begin\n if (newNotifySettings.rtl) {\n ntflxNotify.setAttribute('dir', 'rtl');\n ntflxNotify.classList.add('nx-rtl-on');\n }\n // rtl: end\n\n // font-family: begin\n ntflxNotify.style.fontFamily = '\"' + newNotifySettings.fontFamily + '\", ' + defaultFontFamily;\n // font-family: end\n\n // use css animation: begin\n if (newNotifySettings.cssAnimation) {\n ntflxNotify.style.animationDuration = newNotifySettings.cssAnimationDuration + 'ms';\n }\n // use css animation: end\n\n // close button element: begin\n var closeButtonHTML = '';\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n closeButtonHTML = '';\n }\n // close buttpon element: end\n\n // use icon: begin\n if (newNotifySettings.useIcon) {\n // use font awesome\n if (newNotifySettings.useFontAwesome) {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use notiflix icon\n else {\n var svgIcon = '';\n if (notifyType === typesNotify.Success) { // success\n svgIcon = '';\n } else if (notifyType === typesNotify.Failure) { // failure\n svgIcon = '';\n } else if (notifyType === typesNotify.Warning) { // warning\n svgIcon = '';\n } else if (notifyType === typesNotify.Info) { // info\n svgIcon = '';\n }\n ntflxNotify.innerHTML = svgIcon + '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n }\n // without icon\n else {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use icon: end\n // notify content: end\n\n // notify append or prepend: begin\n if (newNotifySettings.position === 'left-bottom' || newNotifySettings.position === 'right-bottom') { // the new one will be first\n var notifyWrap = window.document.getElementById(notifySettings.wrapID);\n notifyWrap.insertBefore(ntflxNotify, notifyWrap.firstChild);\n } else {\n window.document.getElementById(notifySettings.wrapID).appendChild(ntflxNotify);\n }\n // notify append or prepend: end\n\n // remove by timeout or click: begin\n var eachNotifyElement = window.document.getElementById(ntflxNotify.id);\n if (eachNotifyElement) {\n // timeout variables\n var timeoutHide;\n var timeoutRemove;\n\n // hide notify elm and hide overlay: begin\n var hideNotifyElementsAndOverlay = function () {\n eachNotifyElement.classList.add('nx-remove');\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && ntflxNotifyWrap.childElementCount <= 0) {\n removeOverlay.classList.add('nx-remove');\n }\n clearTimeout(timeoutHide);\n };\n // hide notify elm and hide overlay: end\n\n // remove notify elm and wrapper: begin\n var removeNotifyElmentsAndWrapper = function () {\n if (eachNotifyElement && eachNotifyElement.parentNode !== null) {\n eachNotifyElement.parentNode.removeChild(eachNotifyElement);\n }\n if (ntflxNotifyWrap.childElementCount <= 0 && ntflxNotifyWrap.parentNode !== null) { // if childs count === 0 remove wrap\n ntflxNotifyWrap.parentNode.removeChild(ntflxNotifyWrap);\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && removeOverlay.parentNode !== null) {\n removeOverlay.parentNode.removeChild(removeOverlay);\n }\n }\n clearTimeout(timeoutRemove);\n };\n // remove notify elm and wrapper: end\n\n // if has close button and callbackOrOptions is not a function: begin\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n var closeButtonElm = window.document.getElementById(ntflxNotify.id).querySelector('span.nx-close-button');\n closeButtonElm.addEventListener('click', function () {\n hideNotifyElementsAndOverlay();\n var clickToCloseTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(clickToCloseTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if has close button and callbackOrOptions is not a function: end\n\n // if callbackOrOptions or click to close: begin\n if (typeof callbackOrOptions === 'function' || newNotifySettings.clickToClose) {\n eachNotifyElement.addEventListener('click', function () {\n if (typeof callbackOrOptions === 'function') {\n callbackOrOptions();\n }\n hideNotifyElementsAndOverlay();\n var callbackTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(callbackTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if callbackOrOptions or click to close: end\n\n // else auto remove: begin\n if (!newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n // auto remove: begin\n var autoRemove = function () {\n timeoutHide = setTimeout(function () {\n hideNotifyElementsAndOverlay();\n }, newNotifySettings.timeout);\n timeoutRemove = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n }, newNotifySettings.timeout + newNotifySettings.cssAnimationDuration);\n };\n autoRemove();\n // auto remove: end\n\n // pause auto remove: begin\n if (newNotifySettings.pauseOnHover) {\n eachNotifyElement.addEventListener('mouseenter', function () {\n eachNotifyElement.classList.add('nx-paused');\n clearTimeout(timeoutHide);\n clearTimeout(timeoutRemove);\n });\n eachNotifyElement.addEventListener('mouseleave', function () {\n eachNotifyElement.classList.remove('nx-paused');\n autoRemove();\n });\n }\n // pause auto remove: end\n }\n // else auto remove: end\n }\n // remove by timeout or click: end\n\n // notify - show only the last one: begin\n if (newNotifySettings.showOnlyTheLastOne && notifyCreateCounter > 0) {\n var allNotifyElmNotTheLastOne = window.document.querySelectorAll('[id^=' + newNotifySettings.ID + '-]:not([id=' + newNotifySettings.ID + '-' + notifyCreateCounter + '])');\n for (var i = 0; i < allNotifyElmNotTheLastOne.length; i++) {\n var eachNotifyElmNotLastOne = allNotifyElmNotTheLastOne[i];\n if (eachNotifyElmNotLastOne.parentNode !== null) {\n eachNotifyElmNotLastOne.parentNode.removeChild(eachNotifyElmNotLastOne);\n }\n }\n }\n // notify - show only the last one: end\n\n // extend new settings with the backup settings\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newNotifySettingsBackup);\n\n };\n // NOTIFY: Create: end\n\n var Notiflix = {\n Notify: {\n // Init\n init: function (userNotifyOptions) {\n // extend options\n newNotifySettings = commonExtendOptions(true, notifySettings, userNotifyOptions);\n // internal css if exist\n commonSetInternalCSSCodes(notifyGetInternalCSSCodes, 'NotiflixNotifyInternalCSS');\n },\n // Merge First Init\n merge: function (userNotifyExtendOptions) {\n // if initialized already\n if (newNotifySettings) {\n newNotifySettings = commonExtendOptions(true, newNotifySettings, userNotifyExtendOptions);\n }\n // initialize first\n else {\n commonConsoleError('You have to initialize the Notify module before call Merge function.');\n return false;\n }\n },\n // Success\n success: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Success, message, callbackOrOptions, options);\n },\n // Failure\n failure: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Failure, message, callbackOrOptions, options);\n },\n // Warning\n warning: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Warning, message, callbackOrOptions, options);\n },\n // Info\n info: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Info, message, callbackOrOptions, options);\n },\n },\n };\n\n if (typeof window.Notiflix === 'object') {\n return commonExtendOptions(true, window.Notiflix, { Notify: Notiflix.Notify });\n } else {\n return { Notify: Notiflix.Notify };\n }\n\n});","import React from 'react';\nimport {TYPE_BASE64, TYPE_BYTES, TYPE_HIGH_LOW, typeDetector, uuidTypeList} from \"./type-detector.js\";\nimport {bytesToUuid, uuidToBytesString} from \"./uuid-bytes.js\";\nimport {objectParse} from \"./object-parser.js\";\nimport {intsToUuid, uintsToUuid, uuidToInts, uuidToUints} from \"./uuid-high-low.js\";\nimport {base64StdToUuid, uuidToBase64Std} from \"./base64.js\";\nimport {uuidFormatter} from \"./uuid-formatter.js\";\nimport { Notify } from 'notiflix/build/notiflix-notify-aio';\n\n/**\n * Bit mask for signed integers.\n * @type {number}\n */\nconst SIGNED = 2 ** 0; // 0b0001\n\n/**\n * Bit mask for unsigned integers.\n * @type {number}\n */\nconst UNSIGNED = 2 ** 1; // 0b0010\n\n/**\n * Regular expression for matching double quotes around numbers.\n * Used to remove double quotes from numbers when converting bytes to UUID.\n * @type {RegExp}\n */\n// eslint-disable-next-line no-useless-escape\nconst rg = /[\"'“”]/g; // Matches double quotes, apostrophes, left double guillemets and right double guillemets\n\n/**\n * Regular expression for matching numbers surrounded by double quotes.\n * Used to extract numbers from strings when converting bytes to UUID.\n * @type {RegExp}\n */\n// eslint-disable-next-line no-useless-escape\nconst nrg = /\"(-?\\d+)\"/g; // Matches numbers enclosed in double quotes, optionally preceded by a hyphen\n\n/**\n * Returns an object with two keys: 'signed' and 'unsigned'.\n * Each key maps to a string representation of the corresponding bit mask.\n * @return {Object} An object with two keys: 'signed' and 'unsigned'.\n */\nexport function intTypeList() {\n // Create an empty array\n const list = []\n\n // Add a key-value pair to the object\n list[SIGNED] = 'signed'\n\n // Add another key-value pair to the object\n list[UNSIGNED] = 'unsigned'\n\n // Return the object\n return list\n}\n\n/**\n * Represents an item with input, output, and additional information.\n * @class\n */\nexport class Item {\n /**\n * Creates a new Item.\n * @constructor\n * @param {any} input - The input value.\n * @param {any} output - The output value.\n * @param {any} info - Additional information.\n */\n constructor(input, output, info) {\n /**\n * The input value.\n * @type {any}\n */\n this.input = input;\n\n /**\n * The output value.\n * @type {any}\n */\n this.output = output;\n\n /**\n * Additional information.\n * @type {any}\n */\n this.info = info;\n }\n\n /**\n * Returns a string representation of the item, in the format 'input:output'.\n * @return {string} The string representation of the item.\n */\n toString() {\n return `${this.input}:${this.output}`;\n }\n}\n\nexport default class InputComponent extends React.Component {\n /**\n * The initial state of the InputComponent.\n *\n * @type {InputComponentState}\n */\n state = {\n // The type of the conversion result, default is TYPE_HIGH_LOW\n resultType: TYPE_HIGH_LOW,\n\n // The type of the integer representation, default is SIGNED\n intType: SIGNED,\n\n // The input value, default is empty string\n text: '',\n }\n\n /**\n * Constructor for the InputComponent.\n *\n * @param {Object} props - The properties passed to the component.\n */\n constructor(props) {\n super(props);\n // Call the parent class constructor with the passed props\n }\n\n /**\n * Handles keyboard input and updates the component's state\n * with the input text. If the input text ends with a newline\n * character, it calls the handle function to process the input.\n *\n * @param {Object} e - The event object containing the input text.\n */\n onKeyboardInput = (e) => {\n // Extract the input text from the event object\n const text = e.target.value\n\n // Update the component's state with the input text\n this.setState({text})\n\n // If the input text does not end with a newline character, return\n if (text[text.length - 1] !== \"\\n\") {\n return\n }\n\n // Call the handle function to process the input\n this.handle(text)\n }\n\n /**\n * Handles the keyboard input by splitting it into lines,\n * removing empty lines and extra spaces, and then adding\n * the lines as items to the component's list of items.\n *\n * @param {string} text - The input text from the keyboard.\n */\n handle = (text) => {\n // Split the input text into lines\n const lines = text.split(\"\\n\");\n\n // Remove empty lines and extra spaces from each line\n const trimmedLines = lines.map(l => l.replace(rg, '').trim()).filter(l => l.length > 0);\n\n // Add the trimmed lines as items to the component's list of items\n this.addItems(trimmedLines);\n }\n\n /**\n * Adds the given items to the list of items.\n * The items are parsed and added in reverse order.\n * If an item already exists, it is not added again.\n *\n * @param {Array} items - The items to add.\n */\n addItems = (items) => {\n // Create a map to store the items.\n let result = new Map()\n\n // Iterate over the items in reverse order.\n for (const item of items.reverse()) {\n // Create a new Item object from the line.\n const obj = this.newItem(item)\n\n // If the item is not null, add it to the map.\n if (obj !== null) {\n result.set(obj.toString(), obj)\n }\n }\n\n // Iterate over the existing items.\n for (const item of this.props.items) {\n // If the item is not already in the map, add it.\n if (!result.has(item.toString())) {\n result.set(item.toString(), item)\n }\n }\n\n // Set the items using the props setter.\n this.props.setItems([...result.values()])\n }\n\n /**\n * Creates a new Item object from the given line.\n *\n * @param {string} line - The line to parse and create an Item object from.\n * @return {Item|null} The created Item object if successful, null otherwise.\n */\n newItem = (line) => {\n try {\n // Parse the line into input and comment.\n const {input, comment} = this.parse(line)\n\n // Cast the input to a UUID and back to a string.\n const uuid = this.castToUuid(input)\n const output = this.castFromUuid(uuid)\n\n // Normalize the input and output strings.\n const nInput = this.normalize(input)\n if (nInput === null) {\n // If the input string cannot be processed, show a failure notification and return null.\n Notify.failure('Failed to process string: ' + line);\n\n return null\n }\n\n const nOutput = this.normalize(output)\n if (nInput === nOutput) {\n // If the normalized input and output strings are the same, show a warning notification and return null.\n Notify.warning('The result of the conversion matches the entered value: ' + line);\n\n return null\n }\n\n // Create and return a new Item object with the normalized input, output, and comment.\n return new Item(nInput, nOutput, comment)\n } catch (e) {\n // If an error occurs during the process, return null.\n return null\n }\n }\n\n /**\n * Parses the given line into input and comment.\n *\n * @param {string} line - The line to parse.\n * @return {Object} An object containing the parsed input and comment.\n * The input is a string, and the comment is a string or undefined.\n */\n parse = (line) => {\n // Split the line into input and comment by looking for the first occurrence of \"//\".\n // Remove any leading or trailing whitespace from both parts.\n // Remove any trailing comma from the input part.\n let results = line.split(\"//\").map(s => s.trim().replace(/,$/g, '').trimRight())\n\n // If there is a comment, return an object with the input and comment.\n // Otherwise, return an object with just the input.\n if (results.length > 1) {\n return {input: results[0].toString(), comment: results[1].toString()}\n }\n\n return {input: results[0].toString(), comment: undefined}\n }\n\n /**\n * Normalizes the given input.\n *\n * @param {string} input - The input to normalize.\n * @return {string|null} The normalized input, or null if the input cannot be normalized.\n */\n normalize = (input) => {\n // Determine the type of the input and perform the corresponding normalization.\n switch (typeDetector(input)) {\n // If the input is of bytes type, convert it to a JSON string and remove unnecessary commas.\n case TYPE_BYTES:\n return JSON.stringify(objectParse(input)).replace(/,$/g, '');\n // If the input is of high-low type, convert it to a JSON string, remove unnecessary commas, and format it.\n case TYPE_HIGH_LOW:\n const result = JSON.stringify(objectParse(input)).replace(/,$/g, '');\n return result.replace(nrg, \"$1\");\n // If the input is of base64 type, convert it to standard base64 and back to base64.\n case TYPE_BASE64:\n return btoa(atob(input));\n }\n\n // If the input is enclosed in curly braces, remove them.\n if (input[0] === '{' && input[input.length - 1] === '}') {\n input = input.substring(1, input.length - 1);\n }\n\n // Format the input as a UUID and check if it has the correct length.\n const uuid = uuidFormatter(input);\n if (uuid.length === 36) {\n return uuid;\n }\n\n // Return null if the input cannot be normalized.\n return null;\n }\n\n /**\n * Casts the given input to a UUID.\n *\n * @param {string} input - The input to cast to a UUID.\n * @return {string} The casted UUID.\n */\n castToUuid = (input) => {\n const {intType} = this.state\n\n // Determine the type of the input and cast it to a UUID accordingly.\n switch (typeDetector(input)) {\n // If the input is a byte array, cast it to a UUID using the bytesToUuid function.\n case TYPE_BYTES:\n return bytesToUuid(objectParse(input))\n // If the input is a high-low pair of integers, cast it to a UUID using the uintsToUuid function.\n // The function to use depends on the type of integers used (unsigned or signed).\n case TYPE_HIGH_LOW:\n const u = objectParse(input)\n const fn = intType === SIGNED ? intsToUuid : uintsToUuid\n\n return fn(u.high, u.low)\n // If the input is a base64 string, cast it to a UUID using the base64StdToUuid function.\n case TYPE_BASE64:\n return base64StdToUuid(input)\n }\n\n // If none of the above cases match, simply return the input as is.\n return input\n }\n\n /**\n * Casts the given UUID to the specified result type.\n *\n * @param {string} uuid - The UUID to cast.\n * @return {string|object} The casted UUID or the JSON representation of the UUID's high and low integers.\n */\n castFromUuid = (uuid) => {\n const {resultType, intType} = this.state\n\n switch (resultType) {\n case TYPE_BYTES:\n return uuidToBytesString(uuid); // Cast UUID to bytes string\n case TYPE_HIGH_LOW:\n const u = intType === SIGNED ? uuidToInts(uuid) : uuidToUints(uuid); // Get UUID's high and low integers\n return JSON.stringify(u); // Cast high and low integers to JSON\n case TYPE_BASE64:\n return uuidToBase64Std(uuid); // Cast UUID to base64 standard string\n }\n\n return uuid; // Return UUID if no result type is specified\n }\n\n /**\n * Sets the result type and handles the input.\n *\n * @param {number} type - The result type.\n * @return {Promise} A Promise that resolves when the result type is set and the input is handled.\n */\n setResultType = async (type) => {\n // Get the current text from state\n const {text} = this.state\n\n // Set the result type in state\n await this.setState({resultType: type})\n\n // Handle the input with the updated result type\n await this.handle(text)\n }\n\n /**\n * Sets the integer type and handles the input.\n *\n * @param {number} type - The integer type.\n * @return {Promise} A Promise that resolves when the integer type is set and the input is handled.\n */\n setIntType = async (type) => {\n const {text} = this.state\n\n // Set the integer type\n await this.setState({intType: type})\n\n // Handle the input with the new integer type\n await this.handle(text)\n }\n\n /**\n * Renders the component.\n *\n * @param {Object} items - The items.\n * @param {Object} state - The state.\n * @param {number} state.resultType - The result type.\n * @param {number} state.intType - The integer type.\n * @return {JSX.Element} The rendered component.\n */\n render({ items }, { resultType, intType }) {\n const [isClosedInformer, setClosedInformer] = React.useState(\n JSON.parse(localStorage.getItem('informerClosed')) || false\n )\n\n React.useEffect(() => {\n localStorage.setItem('informerClosed', JSON.stringify(isClosedInformer));\n }, [isClosedInformer]);\n\n return (\n
\n {/* Notification */}\n
\n \n {/* The project is provided \"as is\". Project revisions will only be made when absolutely necessary. */}\n The project is provided \"as is\". Project revisions will only be made when absolutely necessary.\n
\n\n {/* Textarea for keyboard input */}\n \n\n {/* Result type radio buttons */}\n
\n
\n \n
\n {/* Maps the uuid type list and renders the radio buttons */}\n { uuidTypeList().map((v, k) => (\n \n )) }\n
\n
\n
\n\n {/* Integer type radio buttons */}\n
\n
\n \n
\n {/* Maps the integer type list and renders the radio buttons */}\n { intTypeList().map((v, k) => (\n \n )) }\n
\n
\n
\n
\n );\n }\n}\n","import React from 'react';\nimport { Notify } from 'notiflix/build/notiflix-notify-aio';\n\nexport default class HistoryComponent extends React.Component {\n /**\n * Constructor for the HistoryComponent.\n *\n * @param {Object} props - The properties passed to the component.\n */\n constructor(props) {\n super(props);\n // Call the parent class constructor with the passed props\n }\n\n /**\n * Copies the text of the clicked tag to the clipboard and displays a success message.\n *\n * @param {Event} e - The event object containing the clicked tag.\n */\n copy = (e) => {\n // Get the text content of the clicked tag\n const text = e.target.innerText;\n\n // Copy the text to the clipboard\n navigator.clipboard.writeText(text)\n .then(() => {\n // Display a success message\n Notify.success('Text ' + text + ' copied');\n })\n .catch((error) => {\n // Display an error message if the copy operation fails\n Notify.failure('Error copying text: ' + error);\n });\n }\n\n /**\n * Render method for the HistoryComponent.\n *\n * Returns a navigation panel (