diff --git a/asset-manifest.json b/asset-manifest.json index 06fefa0fb..2fe573118 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { "main.css": "./static/css/main.0aa36916.css", - "main.js": "./static/js/main.e5ce2461.js", + "main.js": "./static/js/main.908d7cc4.js", "static/media/accounts.png": "./static/media/accounts.5f47a2af4c8394165d1e.png", "static/media/background_image.png": "./static/media/background_image.a833e862a22ad4910526.png", "static/media/batch.png": "./static/media/batch.5ba4eb38fa8c4e1ed39b.png", @@ -12,10 +12,10 @@ "index.html": "./index.html", "static/media/coin-front.svg": "./static/media/coin-front.fc1df90ba2fd68cda8dcf63056bfef7f.svg", "main.0aa36916.css.map": "./static/css/main.0aa36916.css.map", - "main.e5ce2461.js.map": "./static/js/main.e5ce2461.js.map" + "main.908d7cc4.js.map": "./static/js/main.908d7cc4.js.map" }, "entrypoints": [ "static/css/main.0aa36916.css", - "static/js/main.e5ce2461.js" + "static/js/main.908d7cc4.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index 13aa6c985..273a55678 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Umami
\ No newline at end of file +Umami
\ No newline at end of file diff --git a/static/js/main.e5ce2461.js b/static/js/main.908d7cc4.js similarity index 85% rename from static/js/main.e5ce2461.js rename to static/js/main.908d7cc4.js index 51fbec1f4..f3499ff60 100644 --- a/static/js/main.e5ce2461.js +++ b/static/js/main.908d7cc4.js @@ -1,4 +1,4 @@ -/*! For license information please see main.e5ce2461.js.LICENSE.txt */ +/*! For license information please see main.908d7cc4.js.LICENSE.txt */ (()=>{var e={5893:(e,t,r)=>{e.exports=r(2554)},3895:(e,t,r)=>{"use strict";var n=r(6012),i=r(725),o=r(5210),a=r(6051),s=r(954),c=r(6551),l=r(66),u=r(1635),d=r(1671),h=r(2050);e.exports=function(e){return new Promise((function(t,r){var f,p=e.data,m=e.headers,g=e.responseType;function v(){e.cancelToken&&e.cancelToken.unsubscribe(f),e.signal&&e.signal.removeEventListener("abort",f)}n.isFormData(p)&&delete m["Content-Type"];var y=new XMLHttpRequest;if(e.auth){var b=e.auth.username||"",w=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";m.Authorization="Basic "+btoa(b+":"+w)}var x=s(e.baseURL,e.url);function _(){if(y){var n="getAllResponseHeaders"in y?c(y.getAllResponseHeaders()):null,o={data:g&&"text"!==g&&"json"!==g?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:n,config:e,request:y};i((function(e){t(e),v()}),(function(e){r(e),v()}),o),y=null}}if(y.open(e.method.toUpperCase(),a(x,e.params,e.paramsSerializer),!0),y.timeout=e.timeout,"onloadend"in y?y.onloadend=_:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(_)},y.onabort=function(){y&&(r(u("Request aborted",e,"ECONNABORTED",y)),y=null)},y.onerror=function(){r(u("Network Error",e,null,y)),y=null},y.ontimeout=function(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",n=e.transitional||d.transitional;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(u(t,e,n.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},n.isStandardBrowserEnv()){var S=(e.withCredentials||l(x))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;S&&(m[e.xsrfHeaderName]=S)}"setRequestHeader"in y&&n.forEach(m,(function(e,t){"undefined"===typeof p&&"content-type"===t.toLowerCase()?delete m[t]:y.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(y.withCredentials=!!e.withCredentials),g&&"json"!==g&&(y.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&y.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(f=function(e){y&&(r(!e||e&&e.type?new h("canceled"):e),y.abort(),y=null)},e.cancelToken&&e.cancelToken.subscribe(f),e.signal&&(e.signal.aborted?f():e.signal.addEventListener("abort",f))),p||(p=null),y.send(p)}))}},2554:(e,t,r)=>{"use strict";var n=r(6012),i=r(1309),o=r(1906),a=r(3468);var s=function e(t){var r=new o(t),s=i(o.prototype.request,r);return n.extend(s,o.prototype,r),n.extend(s,r),s.create=function(r){return e(a(t,r))},s}(r(1671));s.Axios=o,s.Cancel=r(2050),s.CancelToken=r(5864),s.isCancel=r(2875),s.VERSION=r(7457).version,s.all=function(e){return Promise.all(e)},s.spread=r(3993),s.isAxiosError=r(9871),e.exports=s,e.exports.default=s},2050:e=>{"use strict";function t(e){this.message=e}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,e.exports=t},5864:(e,t,r)=>{"use strict";var n=r(2050);function i(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;this.promise.then((function(e){if(r._listeners){var t,n=r._listeners.length;for(t=0;t{"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},1906:(e,t,r)=>{"use strict";var n=r(6012),i=r(6051),o=r(8866),a=r(1120),s=r(3468),c=r(5596),l=c.validators;function u(e){this.defaults=e,this.interceptors={request:new o,response:new o}}u.prototype.request=function(e){"string"===typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=s(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=e.transitional;void 0!==t&&c.assertOptions(t,{silentJSONParsing:l.transitional(l.boolean),forcedJSONParsing:l.transitional(l.boolean),clarifyTimeoutError:l.transitional(l.boolean)},!1);var r=[],n=!0;this.interceptors.request.forEach((function(t){"function"===typeof t.runWhen&&!1===t.runWhen(e)||(n=n&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var i,o=[];if(this.interceptors.response.forEach((function(e){o.push(e.fulfilled,e.rejected)})),!n){var u=[a,void 0];for(Array.prototype.unshift.apply(u,r),u=u.concat(o),i=Promise.resolve(e);u.length;)i=i.then(u.shift(),u.shift());return i}for(var d=e;r.length;){var h=r.shift(),f=r.shift();try{d=h(d)}catch(p){f(p);break}}try{i=a(d)}catch(p){return Promise.reject(p)}for(;o.length;)i=i.then(o.shift(),o.shift());return i},u.prototype.getUri=function(e){return e=s(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){u.prototype[e]=function(t,r){return this.request(s(r||{},{method:e,url:t,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(e){u.prototype[e]=function(t,r,n){return this.request(s(n||{},{method:e,url:t,data:r}))}})),e.exports=u},8866:(e,t,r)=>{"use strict";var n=r(6012);function i(){this.handlers=[]}i.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=i},954:(e,t,r)=>{"use strict";var n=r(6806),i=r(5760);e.exports=function(e,t){return e&&!n(t)?i(e,t):t}},1635:(e,t,r)=>{"use strict";var n=r(3209);e.exports=function(e,t,r,i,o){var a=new Error(e);return n(a,t,r,i,o)}},1120:(e,t,r)=>{"use strict";var n=r(6012),i=r(9392),o=r(2875),a=r(1671),s=r(2050);function c(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new s("canceled")}e.exports=function(e){return c(e),e.headers=e.headers||{},e.data=i.call(e,e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return c(e),t.data=i.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return o(t)||(c(e),t&&t.response&&(t.response.data=i.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},3209:e=>{"use strict";e.exports=function(e,t,r,n,i){return e.config=t,r&&(e.code=r),e.request=n,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e}},3468:(e,t,r)=>{"use strict";var n=r(6012);e.exports=function(e,t){t=t||{};var r={};function i(e,t){return n.isPlainObject(e)&&n.isPlainObject(t)?n.merge(e,t):n.isPlainObject(t)?n.merge({},t):n.isArray(t)?t.slice():t}function o(r){return n.isUndefined(t[r])?n.isUndefined(e[r])?void 0:i(void 0,e[r]):i(e[r],t[r])}function a(e){if(!n.isUndefined(t[e]))return i(void 0,t[e])}function s(r){return n.isUndefined(t[r])?n.isUndefined(e[r])?void 0:i(void 0,e[r]):i(void 0,t[r])}function c(r){return r in t?i(e[r],t[r]):r in e?i(void 0,e[r]):void 0}var l={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:c};return n.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=l[e]||o,i=t(e);n.isUndefined(i)&&t!==c||(r[e]=i)})),r}},725:(e,t,r)=>{"use strict";var n=r(1635);e.exports=function(e,t,r){var i=r.config.validateStatus;r.status&&i&&!i(r.status)?t(n("Request failed with status code "+r.status,r.config,null,r.request,r)):e(r)}},9392:(e,t,r)=>{"use strict";var n=r(6012),i=r(1671);e.exports=function(e,t,r){var o=this||i;return n.forEach(r,(function(r){e=r.call(o,e,t)})),e}},1671:(e,t,r)=>{"use strict";var n=r(4501),i=r(6012),o=r(2244),a=r(3209),s={"Content-Type":"application/x-www-form-urlencoded"};function c(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var l={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:function(){var e;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof n&&"[object process]"===Object.prototype.toString.call(n))&&(e=r(3895)),e}(),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(c(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)||t&&"application/json"===t["Content-Type"]?(c(t,"application/json"),function(e,t,r){if(i.isString(e))try{return(t||JSON.parse)(e),i.trim(e)}catch(n){if("SyntaxError"!==n.name)throw n}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||l.transitional,r=t&&t.silentJSONParsing,n=t&&t.forcedJSONParsing,o=!r&&"json"===this.responseType;if(o||n&&i.isString(e)&&e.length)try{return JSON.parse(e)}catch(s){if(o){if("SyntaxError"===s.name)throw a(s,this,"E_JSON_PARSE");throw s}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};i.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),i.forEach(["post","put","patch"],(function(e){l.headers[e]=i.merge(s)})),e.exports=l},7457:e=>{e.exports={version:"0.24.0"}},1309:e=>{"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n{"use strict";var n=r(6012);function i(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var o;if(r)o=r(t);else if(n.isURLSearchParams(t))o=t.toString();else{var a=[];n.forEach(t,(function(e,t){null!==e&&"undefined"!==typeof e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),a.push(i(t)+"="+i(e))})))})),o=a.join("&")}if(o){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},5760:e=>{"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},5210:(e,t,r)=>{"use strict";var n=r(6012);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,i,o,a){var s=[];s.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),n.isString(i)&&s.push("path="+i),n.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},6806:e=>{"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},9871:e=>{"use strict";e.exports=function(e){return"object"===typeof e&&!0===e.isAxiosError}},66:(e,t,r)=>{"use strict";var n=r(6012);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=i(window.location.href),function(t){var r=n.isString(t)?i(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},2244:(e,t,r)=>{"use strict";var n=r(6012);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},6551:(e,t,r)=>{"use strict";var n=r(6012),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,o,a={};return e?(n.forEach(e.split("\n"),(function(e){if(o=e.indexOf(":"),t=n.trim(e.substr(0,o)).toLowerCase(),r=n.trim(e.substr(o+1)),t){if(a[t]&&i.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([r]):a[t]?a[t]+", "+r:r}})),a):a}},3993:e=>{"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},5596:(e,t,r)=>{"use strict";var n=r(7457).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){i[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));var o={};i.transitional=function(e,t,r){function i(e,t){return"[Axios v"+n+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,n,a){if(!1===e)throw new Error(i(n," has been removed"+(t?" in "+t:"")));return t&&!o[n]&&(o[n]=!0,console.warn(i(n," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,n,a)}},e.exports={assertOptions:function(e,t,r){if("object"!==typeof e)throw new TypeError("options must be an object");for(var n=Object.keys(e),i=n.length;i-- >0;){var o=n[i],a=t[o];if(a){var s=e[o],c=void 0===s||a(s,o,e);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==r)throw Error("Unknown option "+o)}},validators:i}},6012:(e,t,r)=>{"use strict";var n=r(1309),i=Object.prototype.toString;function o(e){return"[object Array]"===i.call(e)}function a(e){return"undefined"===typeof e}function s(e){return null!==e&&"object"===typeof e}function c(e){if("[object Object]"!==i.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function l(e){return"[object Function]"===i.call(e)}function u(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),o(e))for(var r=0,n=e.length;r{var r;function n(e,t){navigator.onLine||e("offline"),e("error",t)}function i(e,t,r){navigator.serviceWorker.register(e,r).then((function(e){t("registered",e),e.waiting?t("updated",e):e.onupdatefound=function(){t("updatefound",e);var r=e.installing;r.onstatechange=function(){"installed"===r.state&&(navigator.serviceWorker.controller?t("updated",e):t("cached",e))}}})).catch((function(e){return n(t,e)}))}"undefined"!==typeof window&&(r="undefined"===typeof document||"interactive"!==document.readyState&&"complete"!==document.readyState?"undefined"!==typeof Promise?new Promise((function(e){return window.addEventListener("load",e)})):{then:function(e){return window.addEventListener("load",e)}}:Promise.resolve()),t.z=function(e,t){void 0===t&&(t={});var o=t.registrationOptions;void 0===o&&(o={}),delete t.registrationOptions;var a=function(e){for(var r=[],n=arguments.length-1;n-- >0;)r[n]=arguments[n+1];t&&t[e]&&t[e].apply(t,r)};"serviceWorker"in navigator&&r.then((function(){Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))?(!function(e,t,r){fetch(e).then((function(n){404===n.status?(t("error",new Error("Service worker not found at "+e)),unregister()):-1===n.headers.get("content-type").indexOf("javascript")?(t("error",new Error("Expected "+e+" to have javascript content-type, but received "+n.headers.get("content-type"))),unregister()):i(e,t,r)})).catch((function(e){return n(t,e)}))}(e,a,o),navigator.serviceWorker.ready.then((function(e){a("ready",e)}))):(i(e,a,o),navigator.serviceWorker.ready.then((function(e){a("ready",e)})))}))}},9738:(e,t)=>{"use strict";function r(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function n(e){if("boolean"!==typeof e)throw new Error(`Expected boolean, not ${e}`)}function i(e,...t){if(!(e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new TypeError(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function o(e){if("function"!==typeof e||"function"!==typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");r(e.outputLen),r(e.blockLen)}function a(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function s(e,t){i(e);const r=t.outputLen;if(e.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SHA2=void 0;const n=r(9738),i=r(6413);class o extends i.Hash{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=(0,i.createView)(this.buffer)}update(e){n.default.exists(this);const{view:t,buffer:r,blockLen:o}=this,a=(e=(0,i.toBytes)(e)).length;for(let n=0;no-s&&(this.process(r,0),s=0);for(let n=s;n>i&o),s=Number(r&o),c=n?4:0,l=n?0:4;e.setUint32(t+c,a,n),e.setUint32(t+l,s,n)}(r,o-8,BigInt(8*this.length),a),this.process(r,0);const c=(0,i.createView)(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.toBig=t.split=t.fromBig=void 0;const r=BigInt(2**32-1),n=BigInt(32);function i(e,t=!1){return t?{h:Number(e&r),l:Number(e>>n&r)}:{h:0|Number(e>>n&r),l:0|Number(e&r)}}function o(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let o=0;oBigInt(e>>>0)<>>0);function a(e,t,r,n){const i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:0|i}}t.add=a;const s={fromBig:i,split:o,toBig:t.toBig,shrSH:(e,t,r)=>e>>>r,shrSL:(e,t,r)=>e<<32-r|t>>>r,rotrSH:(e,t,r)=>e>>>r|t<<32-r,rotrSL:(e,t,r)=>e<<32-r|t>>>r,rotrBH:(e,t,r)=>e<<64-r|t>>>r-32,rotrBL:(e,t,r)=>e>>>r-32|t<<64-r,rotr32H:(e,t)=>t,rotr32L:(e,t)=>e,rotlSH:(e,t,r)=>e<>>32-r,rotlSL:(e,t,r)=>t<>>32-r,rotlBH:(e,t,r)=>t<>>64-r,rotlBL:(e,t,r)=>e<>>64-r,add:a,add3L:(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),add3H:(e,t,r,n)=>t+r+n+(e/2**32|0)|0,add4L:(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),add4H:(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,add5H:(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0,add5L:(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0)};t.default=s},8607:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.crypto=void 0,t.crypto="object"===typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0},4148:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hmac=void 0;const n=r(9738),i=r(6413);class o extends i.Hash{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,n.default.hash(e);const r=(0,i.toBytes)(t);if(this.iHash=e.create(),"function"!==typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,a=new Uint8Array(o);a.set(r.length>o?e.create().update(r).digest():r);for(let n=0;nnew o(e,t).update(r).digest(),t.hmac.create=(e,t)=>new o(e,t)},4024:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.pbkdf2Async=t.pbkdf2=void 0;const n=r(9738),i=r(4148),o=r(6413);function a(e,t,r,a){n.default.hash(e);const s=(0,o.checkOpts)({dkLen:32,asyncTick:10},a),{c:c,dkLen:l,asyncTick:u}=s;if(n.default.number(c),n.default.number(l),n.default.number(u),c<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const d=(0,o.toBytes)(t),h=(0,o.toBytes)(r),f=new Uint8Array(l),p=i.hmac.create(e,d),m=p._cloneInto().update(h);return{c:c,dkLen:l,asyncTick:u,DK:f,PRF:p,PRFSalt:m}}function s(e,t,r,n,i){return e.destroy(),t.destroy(),n&&n.destroy(),i.fill(0),r}t.pbkdf2=function(e,t,r,n){const{c:i,dkLen:c,DK:l,PRF:u,PRFSalt:d}=a(e,t,r,n);let h;const f=new Uint8Array(4),p=(0,o.createView)(f),m=new Uint8Array(u.outputLen);for(let o=1,a=0;a{d._cloneInto(f).update(g).digestInto(g);for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sha224=t.sha256=void 0;const n=r(5718),i=r(6413),o=(e,t,r)=>e&t^e&r^t&r,a=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),s=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),c=new Uint32Array(64);class l extends n.SHA2{constructor(){super(64,32,8,!1),this.A=0|s[0],this.B=0|s[1],this.C=0|s[2],this.D=0|s[3],this.E=0|s[4],this.F=0|s[5],this.G=0|s[6],this.H=0|s[7]}get(){const{A:e,B:t,C:r,D:n,E:i,F:o,G:a,H:s}=this;return[e,t,r,n,i,o,a,s]}set(e,t,r,n,i,o,a,s){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|o,this.G=0|a,this.H=0|s}process(e,t){for(let i=0;i<16;i++,t+=4)c[i]=e.getUint32(t,!1);for(let o=16;o<64;o++){const e=c[o-15],t=c[o-2],r=(0,i.rotr)(e,7)^(0,i.rotr)(e,18)^e>>>3,n=(0,i.rotr)(t,17)^(0,i.rotr)(t,19)^t>>>10;c[o]=n+c[o-7]+r+c[o-16]|0}let{A:r,B:n,C:s,D:l,E:u,F:d,G:h,H:f}=this;for(let m=0;m<64;m++){const e=f+((0,i.rotr)(u,6)^(0,i.rotr)(u,11)^(0,i.rotr)(u,25))+((p=u)&d^~p&h)+a[m]+c[m]|0,t=((0,i.rotr)(r,2)^(0,i.rotr)(r,13)^(0,i.rotr)(r,22))+o(r,n,s)|0;f=h,h=d,d=u,u=l+e|0,l=s,s=n,n=r,r=e+t|0}var p;r=r+this.A|0,n=n+this.B|0,s=s+this.C|0,l=l+this.D|0,u=u+this.E|0,d=d+this.F|0,h=h+this.G|0,f=f+this.H|0,this.set(r,n,s,l,u,d,h,f)}roundClean(){c.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class u extends l{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}t.sha256=(0,i.wrapConstructor)((()=>new l)),t.sha224=(0,i.wrapConstructor)((()=>new u))},9431:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.shake256=t.shake128=t.keccak_512=t.keccak_384=t.keccak_256=t.keccak_224=t.sha3_512=t.sha3_384=t.sha3_256=t.sha3_224=t.Keccak=t.keccakP=void 0;const n=r(9738),i=r(6990),o=r(6413),[a,s,c]=[[],[],[]],l=BigInt(0),u=BigInt(1),d=BigInt(2),h=BigInt(7),f=BigInt(256),p=BigInt(113);for(let S=0,k=u,E=1,P=0;S<24;S++){[E,P]=[P,(2*E+3*P)%5],a.push(2*(5*P+E)),s.push((S+1)*(S+2)/2%64);let e=l;for(let t=0;t<7;t++)k=(k<>h)*p)%f,k&d&&(e^=u<<(u<r>32?i.default.rotlBH(e,t,r):i.default.rotlSH(e,t,r),y=(e,t,r)=>r>32?i.default.rotlBL(e,t,r):i.default.rotlSL(e,t,r);function b(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let n=0;n<10;n++)r[n]=e[n]^e[n+10]^e[n+20]^e[n+30]^e[n+40];for(let n=0;n<10;n+=2){const t=(n+8)%10,i=(n+2)%10,o=r[i],a=r[i+1],s=v(o,a,1)^r[t],c=y(o,a,1)^r[t+1];for(let r=0;r<50;r+=10)e[n+r]^=s,e[n+r+1]^=c}let t=e[2],i=e[3];for(let r=0;r<24;r++){const n=s[r],o=v(t,i,n),c=y(t,i,n),l=a[r];t=e[l],i=e[l+1],e[l]=o,e[l+1]=c}for(let n=0;n<50;n+=10){for(let t=0;t<10;t++)r[t]=e[n+t];for(let t=0;t<10;t++)e[n+t]^=~r[(t+2)%10]&r[(t+4)%10]}e[0]^=m[n],e[1]^=g[n]}r.fill(0)}t.keccakP=b;class w extends o.Hash{constructor(e,t,r,i=!1,a=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=a,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,n.default.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,o.u32)(this.state)}keccak(){b(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){n.default.exists(this);const{blockLen:t,state:r}=this,i=(e=(0,o.toBytes)(e)).length;for(let n=0;n=r&&this.keccak();const o=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+o),n),this.posOut+=o,n+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return n.default.number(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(n.default.output(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:o}=this;return e||(e=new w(t,r,n,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=o,e.destroyed=this.destroyed,e}}t.Keccak=w;const x=(e,t,r)=>(0,o.wrapConstructor)((()=>new w(t,e,r)));t.sha3_224=x(6,144,28),t.sha3_256=x(6,136,32),t.sha3_384=x(6,104,48),t.sha3_512=x(6,72,64),t.keccak_224=x(1,144,28),t.keccak_256=x(1,136,32),t.keccak_384=x(1,104,48),t.keccak_512=x(1,72,64);const _=(e,t,r)=>(0,o.wrapConstructorWithOpts)(((n={})=>new w(t,e,void 0===n.dkLen?r:n.dkLen,!0)));t.shake128=_(31,168,16),t.shake256=_(31,136,32)},3113:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sha384=t.sha512_256=t.sha512_224=t.sha512=t.SHA512=void 0;const n=r(5718),i=r(6990),o=r(6413),[a,s]=i.default.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e=>BigInt(e)))),c=new Uint32Array(80),l=new Uint32Array(80);class u extends n.SHA2{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:o,Dh:a,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:h,Gl:f,Hh:p,Hl:m}=this;return[e,t,r,n,i,o,a,s,c,l,u,d,h,f,p,m]}set(e,t,r,n,i,o,a,s,c,l,u,d,h,f,p,m){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|o,this.Dh=0|a,this.Dl=0|s,this.Eh=0|c,this.El=0|l,this.Fh=0|u,this.Fl=0|d,this.Gh=0|h,this.Gl=0|f,this.Hh=0|p,this.Hl=0|m}process(e,t){for(let i=0;i<16;i++,t+=4)c[i]=e.getUint32(t),l[i]=e.getUint32(t+=4);for(let a=16;a<80;a++){const e=0|c[a-15],t=0|l[a-15],r=i.default.rotrSH(e,t,1)^i.default.rotrSH(e,t,8)^i.default.shrSH(e,t,7),n=i.default.rotrSL(e,t,1)^i.default.rotrSL(e,t,8)^i.default.shrSL(e,t,7),o=0|c[a-2],s=0|l[a-2],u=i.default.rotrSH(o,s,19)^i.default.rotrBH(o,s,61)^i.default.shrSH(o,s,6),d=i.default.rotrSL(o,s,19)^i.default.rotrBL(o,s,61)^i.default.shrSL(o,s,6),h=i.default.add4L(n,d,l[a-7],l[a-16]),f=i.default.add4H(h,r,u,c[a-7],c[a-16]);c[a]=0|f,l[a]=0|h}let{Ah:r,Al:n,Bh:o,Bl:u,Ch:d,Cl:h,Dh:f,Dl:p,Eh:m,El:g,Fh:v,Fl:y,Gh:b,Gl:w,Hh:x,Hl:_}=this;for(let S=0;S<80;S++){const e=i.default.rotrSH(m,g,14)^i.default.rotrSH(m,g,18)^i.default.rotrBH(m,g,41),t=i.default.rotrSL(m,g,14)^i.default.rotrSL(m,g,18)^i.default.rotrBL(m,g,41),k=m&v^~m&b,E=g&y^~g&w,P=i.default.add5L(_,t,E,s[S],l[S]),O=i.default.add5H(P,x,e,k,a[S],c[S]),A=0|P,T=i.default.rotrSH(r,n,28)^i.default.rotrBH(r,n,34)^i.default.rotrBH(r,n,39),j=i.default.rotrSL(r,n,28)^i.default.rotrBL(r,n,34)^i.default.rotrBL(r,n,39),C=r&o^r&d^o&d,R=n&u^n&h^u&h;x=0|b,_=0|w,b=0|v,w=0|y,v=0|m,y=0|g,({h:m,l:g}=i.default.add(0|f,0|p,0|O,0|A)),f=0|d,p=0|h,d=0|o,h=0|u,o=0|r,u=0|n;const I=i.default.add3L(A,j,R);r=i.default.add3H(I,O,T,C),n=0|I}({h:r,l:n}=i.default.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:o,l:u}=i.default.add(0|this.Bh,0|this.Bl,0|o,0|u)),({h:d,l:h}=i.default.add(0|this.Ch,0|this.Cl,0|d,0|h)),({h:f,l:p}=i.default.add(0|this.Dh,0|this.Dl,0|f,0|p)),({h:m,l:g}=i.default.add(0|this.Eh,0|this.El,0|m,0|g)),({h:v,l:y}=i.default.add(0|this.Fh,0|this.Fl,0|v,0|y)),({h:b,l:w}=i.default.add(0|this.Gh,0|this.Gl,0|b,0|w)),({h:x,l:_}=i.default.add(0|this.Hh,0|this.Hl,0|x,0|_)),this.set(r,n,o,u,d,h,f,p,m,g,v,y,b,w,x,_)}roundClean(){c.fill(0),l.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}t.SHA512=u;class d extends u{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class h extends u{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class f extends u{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}t.sha512=(0,o.wrapConstructor)((()=>new u)),t.sha512_224=(0,o.wrapConstructor)((()=>new d)),t.sha512_256=(0,o.wrapConstructor)((()=>new h)),t.sha384=(0,o.wrapConstructor)((()=>new f))},6413:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomBytes=t.wrapConstructorWithOpts=t.wrapConstructor=t.checkOpts=t.Hash=t.concatBytes=t.toBytes=t.utf8ToBytes=t.asyncLoop=t.nextTick=t.hexToBytes=t.bytesToHex=t.isLE=t.rotr=t.createView=t.u32=t.u8=void 0;const n=r(8607);t.u8=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);t.u32=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));t.createView=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(t.rotr=(e,t)=>e<<32-t|e>>>t,t.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!t.isLE)throw new Error("Non little-endian hardware is not supported");const i=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));t.bytesToHex=function(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r{},t.asyncLoop=async function(e,r,n){let i=Date.now();for(let o=0;o=0&&ee instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===e.length)return e[0];const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);for(let n=0,i=0;ne().update(a(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t},t.wrapConstructorWithOpts=function(e){const t=(t,r)=>e(r).update(a(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t},t.randomBytes=function(e=32){if(n.crypto&&"function"===typeof n.crypto.getRandomValues)return n.crypto.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}},6091:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6320);function i(e,t,r){return void 0===t&&(t=new Uint8Array(2)),void 0===r&&(r=0),t[r+0]=e>>>8,t[r+1]=e>>>0,t}function o(e,t,r){return void 0===t&&(t=new Uint8Array(2)),void 0===r&&(r=0),t[r+0]=e>>>0,t[r+1]=e>>>8,t}function a(e,t){return void 0===t&&(t=0),e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function s(e,t){return void 0===t&&(t=0),(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function c(e,t){return void 0===t&&(t=0),e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]}function l(e,t){return void 0===t&&(t=0),(e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t])>>>0}function u(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),t[r+0]=e>>>24,t[r+1]=e>>>16,t[r+2]=e>>>8,t[r+3]=e>>>0,t}function d(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),t[r+0]=e>>>0,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24,t}function h(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),u(e/4294967296>>>0,t,r),u(e>>>0,t,r+4),t}function f(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),d(e>>>0,t,r),d(e/4294967296>>>0,t,r+4),t}t.readInt16BE=function(e,t){return void 0===t&&(t=0),(e[t+0]<<8|e[t+1])<<16>>16},t.readUint16BE=function(e,t){return void 0===t&&(t=0),(e[t+0]<<8|e[t+1])>>>0},t.readInt16LE=function(e,t){return void 0===t&&(t=0),(e[t+1]<<8|e[t])<<16>>16},t.readUint16LE=function(e,t){return void 0===t&&(t=0),(e[t+1]<<8|e[t])>>>0},t.writeUint16BE=i,t.writeInt16BE=i,t.writeUint16LE=o,t.writeInt16LE=o,t.readInt32BE=a,t.readUint32BE=s,t.readInt32LE=c,t.readUint32LE=l,t.writeUint32BE=u,t.writeInt32BE=u,t.writeUint32LE=d,t.writeInt32LE=d,t.readInt64BE=function(e,t){void 0===t&&(t=0);var r=a(e,t),n=a(e,t+4);return 4294967296*r+n-4294967296*(n>>31)},t.readUint64BE=function(e,t){return void 0===t&&(t=0),4294967296*s(e,t)+s(e,t+4)},t.readInt64LE=function(e,t){void 0===t&&(t=0);var r=c(e,t);return 4294967296*c(e,t+4)+r-4294967296*(r>>31)},t.readUint64LE=function(e,t){void 0===t&&(t=0);var r=l(e,t);return 4294967296*l(e,t+4)+r},t.writeUint64BE=h,t.writeInt64BE=h,t.writeUint64LE=f,t.writeInt64LE=f,t.readUintBE=function(e,t,r){if(void 0===r&&(r=0),e%8!==0)throw new Error("readUintBE supports only bitLengths divisible by 8");if(e/8>t.length-r)throw new Error("readUintBE: array is too short for the given bitLength");for(var n=0,i=1,o=e/8+r-1;o>=r;o--)n+=t[o]*i,i*=256;return n},t.readUintLE=function(e,t,r){if(void 0===r&&(r=0),e%8!==0)throw new Error("readUintLE supports only bitLengths divisible by 8");if(e/8>t.length-r)throw new Error("readUintLE: array is too short for the given bitLength");for(var n=0,i=1,o=r;o=i;a--)r[a]=t/o&255,o*=256;return r},t.writeUintLE=function(e,t,r,i){if(void 0===r&&(r=new Uint8Array(e/8)),void 0===i&&(i=0),e%8!==0)throw new Error("writeUintLE supports only bitLengths divisible by 8");if(!n.isSafeInteger(t))throw new Error("writeUintLE value must be an integer");for(var o=1,a=i;a{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6091),i=r(8515);t.BLOCK_SIZE=128,t.DIGEST_LENGTH=64,t.KEY_LENGTH=64,t.PERSONALIZATION_LENGTH=16,t.SALT_LENGTH=16,t.MAX_LEAF_SIZE=Math.pow(2,32)-1,t.MAX_FANOUT=255,t.MAX_MAX_DEPTH=255;var o=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),a=[[0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30],[28,20,8,16,18,30,26,12,2,24,0,4,22,14,10,6],[22,16,24,0,10,4,30,26,20,28,6,12,14,2,18,8],[14,18,6,2,26,24,22,28,4,12,10,20,8,0,30,16],[18,0,10,14,4,8,20,30,28,2,22,24,12,16,6,26],[4,24,12,20,0,22,16,6,8,26,14,10,30,28,2,18],[24,10,2,30,28,26,8,20,0,14,12,6,18,4,16,22],[26,22,14,28,24,2,6,18,10,0,30,8,16,12,4,20],[12,30,28,18,22,6,0,16,24,4,26,14,2,8,20,10],[20,4,16,8,14,12,2,10,30,22,18,28,6,24,26,0],[0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30],[28,20,8,16,18,30,26,12,2,24,0,4,22,14,10,6]],s=function(){function e(e,r){if(void 0===e&&(e=64),this.digestLength=e,this.blockSize=t.BLOCK_SIZE,this._state=new Int32Array(o),this._buffer=new Uint8Array(t.BLOCK_SIZE),this._bufferLength=0,this._ctr=new Uint32Array(4),this._flag=new Uint32Array(4),this._lastNode=!1,this._finished=!1,this._vtmp=new Uint32Array(32),this._mtmp=new Uint32Array(32),e<1||e>t.DIGEST_LENGTH)throw new Error("blake2b: wrong digest length");r&&this.validateConfig(r);var i=0;r&&r.key&&(i=r.key.length);var a=1,s=1;r&&r.tree&&(a=r.tree.fanout,s=r.tree.maxDepth),this._state[0]^=e|i<<8|a<<16|s<<24,r&&r.tree&&(this._state[1]^=r.tree.leafSize,this._state[2]^=r.tree.nodeOffsetLowBits,this._state[3]^=r.tree.nodeOffsetHighBits,this._state[4]^=r.tree.nodeDepth|r.tree.innerDigestLength<<8,this._lastNode=r.tree.lastNode),r&&r.salt&&(this._state[8]^=n.readUint32LE(r.salt,0),this._state[9]^=n.readUint32LE(r.salt,4),this._state[10]^=n.readUint32LE(r.salt,8),this._state[11]^=n.readUint32LE(r.salt,12)),r&&r.personalization&&(this._state[12]^=n.readUint32LE(r.personalization,0),this._state[13]^=n.readUint32LE(r.personalization,4),this._state[14]^=n.readUint32LE(r.personalization,8),this._state[15]^=n.readUint32LE(r.personalization,12)),this._initialState=new Uint32Array(this._state),r&&r.key&&i>0&&(this._paddedKey=new Uint8Array(t.BLOCK_SIZE),this._paddedKey.set(r.key),this._buffer.set(this._paddedKey),this._bufferLength=t.BLOCK_SIZE)}return e.prototype.reset=function(){return this._state.set(this._initialState),this._paddedKey?(this._buffer.set(this._paddedKey),this._bufferLength=t.BLOCK_SIZE):this._bufferLength=0,i.wipe(this._ctr),i.wipe(this._flag),this._finished=!1,this},e.prototype.validateConfig=function(e){if(e.key&&e.key.length>t.KEY_LENGTH)throw new Error("blake2b: wrong key length");if(e.salt&&e.salt.length!==t.SALT_LENGTH)throw new Error("blake2b: wrong salt length");if(e.personalization&&e.personalization.length!==t.PERSONALIZATION_LENGTH)throw new Error("blake2b: wrong personalization length");if(e.tree){if(e.tree.fanout<0||e.tree.fanout>t.MAX_FANOUT)throw new Error("blake2b: wrong tree fanout");if(e.tree.maxDepth<0||e.tree.maxDepth>t.MAX_MAX_DEPTH)throw new Error("blake2b: wrong tree depth");if(e.tree.leafSize<0||e.tree.leafSize>t.MAX_LEAF_SIZE)throw new Error("blake2b: wrong leaf size");if(e.tree.innerDigestLength<0||e.tree.innerDigestLength>t.DIGEST_LENGTH)throw new Error("blake2b: wrong tree inner digest length")}},e.prototype.update=function(e,r){if(void 0===r&&(r=e.length),this._finished)throw new Error("blake2b: can't update because hash was finished.");var n=t.BLOCK_SIZE-this._bufferLength,i=0;if(0===r)return this;if(r>n){for(var o=0;ot.BLOCK_SIZE;){for(o=0;o>>16,S=65535&p,k=p>>>16;_+=m>>>16,S+=65535&g,k+=g>>>16,S+=(_+=(x+=65535&m)>>>16)>>>16,x=65535&(f=65535&x|_<<16),_=f>>>16,S=65535&(p=65535&S|(k+=S>>>16)<<16),k=p>>>16,_+=l>>>16,S+=65535&u,k+=u>>>16,f=65535&(x+=65535&l)|(_+=x>>>16)<<16,x=w^=p=65535&(S+=_>>>16)|(k+=S>>>16)<<16,w=b^=f,b=x,x=65535&v,_=v>>>16,S=65535&y,k=y>>>16,_+=b>>>16,S+=65535&w,k+=w>>>16,x=(m^=v=65535&(x+=65535&b)|(_+=x>>>16)<<16)<<8|(g^=y=65535&(S+=_>>>16)|(k+=S>>>16)<<16)>>>24,m=g<<8|m>>>24,g=x,x=65535&f,_=f>>>16,S=65535&p,k=p>>>16,_+=m>>>16,S+=65535&g,k+=g>>>16,S+=(_+=(x+=65535&m)>>>16)>>>16,x=65535&(f=65535&x|_<<16),_=f>>>16,S=65535&(p=65535&S|(k+=S>>>16)<<16),k=p>>>16,_+=d>>>16,S+=65535&h,k+=h>>>16,x=(b^=f=65535&(x+=65535&d)|(_+=x>>>16)<<16)<<16|(w^=p=65535&(S+=_>>>16)|(k+=S>>>16)<<16)>>>16,b=w<<16|b>>>16,w=x,x=65535&v,_=v>>>16,S=65535&y,k=y>>>16,_+=b>>>16,S+=65535&w,k+=w>>>16,x=(g^=y=65535&(S+=(_+=(x+=65535&b)>>>16)>>>16)|(k+=S>>>16)<<16)<<1|(m^=v=65535&x|_<<16)>>>31,m=m<<1|g>>>31,g=x,e[t]=f,e[o]=p,e[r]=m,e[a]=g,e[n]=v,e[s]=y,e[i]=b,e[c]=w},e.prototype._incrementCounter=function(e){for(var t=0;t<3;t++){var r=this._ctr[t]+e;if(this._ctr[t]=r>>>0,this._ctr[t]===r)return;e=1}},e.prototype._processBlock=function(e){this._incrementCounter(e);var t=this._vtmp;t.set(this._state),t.set(o,16),t[24]^=this._ctr[0],t[25]^=this._ctr[1],t[26]^=this._ctr[2],t[27]^=this._ctr[3],t[28]^=this._flag[0],t[29]^=this._flag[1],t[30]^=this._flag[2],t[31]^=this._flag[3];for(var r=this._mtmp,i=0;i<32;i++)r[i]=n.readUint32LE(this._buffer,4*i);for(var s=0;s<12;s++)this._G(t,0,8,16,24,1,9,17,25,r[a[s][0]],r[a[s][0]+1],r[a[s][1]],r[a[s][1]+1]),this._G(t,2,10,18,26,3,11,19,27,r[a[s][2]],r[a[s][2]+1],r[a[s][3]],r[a[s][3]+1]),this._G(t,4,12,20,28,5,13,21,29,r[a[s][4]],r[a[s][4]+1],r[a[s][5]],r[a[s][5]+1]),this._G(t,6,14,22,30,7,15,23,31,r[a[s][6]],r[a[s][6]+1],r[a[s][7]],r[a[s][7]+1]),this._G(t,0,10,20,30,1,11,21,31,r[a[s][8]],r[a[s][8]+1],r[a[s][9]],r[a[s][9]+1]),this._G(t,2,12,22,24,3,13,23,25,r[a[s][10]],r[a[s][10]+1],r[a[s][11]],r[a[s][11]+1]),this._G(t,4,14,16,26,5,15,17,27,r[a[s][12]],r[a[s][12]+1],r[a[s][13]],r[a[s][13]+1]),this._G(t,6,8,18,28,7,9,19,29,r[a[s][14]],r[a[s][14]+1],r[a[s][15]],r[a[s][15]+1]);for(i=0;i<16;i++)this._state[i]^=t[i]^t[i+16]},e}();t.BLAKE2b=s,t.hash=function(e,r,n){void 0===r&&(r=t.DIGEST_LENGTH);var i=new s(r,n);i.update(e);var o=i.digest();return i.clean(),o}},2111:(e,t)=>{"use strict";t.z=function(){for(var e=0,t=0;t{"use strict";function r(e,t){if(e.length!==t.length)return 0;for(var r=0,n=0;n>>8}Object.defineProperty(t,"__esModule",{value:!0}),t.select=function(e,t,r){return~(e-1)&t|e-1&r},t.lessOrEqual=function(e,t){return(0|e)-(0|t)-1>>>31&1},t.compare=r,t.equal=function(e,t){return 0!==e.length&&0!==t.length&&0!==r(e,t)}},5714:(e,t,r)=>{"use strict";t.zh=t.SH=t.Xx=t._w=t.aP=t.KS=t.jQ=void 0;const n=r(3226),i=r(9764),o=r(8515);function a(e){const t=new Float64Array(16);if(e)for(let r=0;r>16&1),r[t-1]&=65535;r[15]=n[15]-32767-(r[14]>>16&1);const e=r[15]>>16&1;r[14]&=65535,g(n,r,1-e)}for(let i=0;i<16;i++)e[2*i]=255&n[i],e[2*i+1]=n[i]>>8}function y(e,t){let r=0;for(let n=0;n<32;n++)r|=e[n]^t[n];return(1&r-1>>>8)-1}function b(e,t){const r=new Uint8Array(32),n=new Uint8Array(32);return v(r,e),v(n,t),y(r,n)}function w(e){const t=new Uint8Array(32);return v(t,e),1&t[0]}function x(e,t,r){for(let n=0;n<16;n++)e[n]=t[n]+r[n]}function _(e,t,r){for(let n=0;n<16;n++)e[n]=t[n]-r[n]}function S(e,t,r){let n,i,o=0,a=0,s=0,c=0,l=0,u=0,d=0,h=0,f=0,p=0,m=0,g=0,v=0,y=0,b=0,w=0,x=0,_=0,S=0,k=0,E=0,P=0,O=0,A=0,T=0,j=0,C=0,R=0,I=0,M=0,L=0,N=r[0],D=r[1],B=r[2],z=r[3],U=r[4],F=r[5],$=r[6],H=r[7],V=r[8],q=r[9],K=r[10],W=r[11],G=r[12],Y=r[13],Z=r[14],X=r[15];n=t[0],o+=n*N,a+=n*D,s+=n*B,c+=n*z,l+=n*U,u+=n*F,d+=n*$,h+=n*H,f+=n*V,p+=n*q,m+=n*K,g+=n*W,v+=n*G,y+=n*Y,b+=n*Z,w+=n*X,n=t[1],a+=n*N,s+=n*D,c+=n*B,l+=n*z,u+=n*U,d+=n*F,h+=n*$,f+=n*H,p+=n*V,m+=n*q,g+=n*K,v+=n*W,y+=n*G,b+=n*Y,w+=n*Z,x+=n*X,n=t[2],s+=n*N,c+=n*D,l+=n*B,u+=n*z,d+=n*U,h+=n*F,f+=n*$,p+=n*H,m+=n*V,g+=n*q,v+=n*K,y+=n*W,b+=n*G,w+=n*Y,x+=n*Z,_+=n*X,n=t[3],c+=n*N,l+=n*D,u+=n*B,d+=n*z,h+=n*U,f+=n*F,p+=n*$,m+=n*H,g+=n*V,v+=n*q,y+=n*K,b+=n*W,w+=n*G,x+=n*Y,_+=n*Z,S+=n*X,n=t[4],l+=n*N,u+=n*D,d+=n*B,h+=n*z,f+=n*U,p+=n*F,m+=n*$,g+=n*H,v+=n*V,y+=n*q,b+=n*K,w+=n*W,x+=n*G,_+=n*Y,S+=n*Z,k+=n*X,n=t[5],u+=n*N,d+=n*D,h+=n*B,f+=n*z,p+=n*U,m+=n*F,g+=n*$,v+=n*H,y+=n*V,b+=n*q,w+=n*K,x+=n*W,_+=n*G,S+=n*Y,k+=n*Z,E+=n*X,n=t[6],d+=n*N,h+=n*D,f+=n*B,p+=n*z,m+=n*U,g+=n*F,v+=n*$,y+=n*H,b+=n*V,w+=n*q,x+=n*K,_+=n*W,S+=n*G,k+=n*Y,E+=n*Z,P+=n*X,n=t[7],h+=n*N,f+=n*D,p+=n*B,m+=n*z,g+=n*U,v+=n*F,y+=n*$,b+=n*H,w+=n*V,x+=n*q,_+=n*K,S+=n*W,k+=n*G,E+=n*Y,P+=n*Z,O+=n*X,n=t[8],f+=n*N,p+=n*D,m+=n*B,g+=n*z,v+=n*U,y+=n*F,b+=n*$,w+=n*H,x+=n*V,_+=n*q,S+=n*K,k+=n*W,E+=n*G,P+=n*Y,O+=n*Z,A+=n*X,n=t[9],p+=n*N,m+=n*D,g+=n*B,v+=n*z,y+=n*U,b+=n*F,w+=n*$,x+=n*H,_+=n*V,S+=n*q,k+=n*K,E+=n*W,P+=n*G,O+=n*Y,A+=n*Z,T+=n*X,n=t[10],m+=n*N,g+=n*D,v+=n*B,y+=n*z,b+=n*U,w+=n*F,x+=n*$,_+=n*H,S+=n*V,k+=n*q,E+=n*K,P+=n*W,O+=n*G,A+=n*Y,T+=n*Z,j+=n*X,n=t[11],g+=n*N,v+=n*D,y+=n*B,b+=n*z,w+=n*U,x+=n*F,_+=n*$,S+=n*H,k+=n*V,E+=n*q,P+=n*K,O+=n*W,A+=n*G,T+=n*Y,j+=n*Z,C+=n*X,n=t[12],v+=n*N,y+=n*D,b+=n*B,w+=n*z,x+=n*U,_+=n*F,S+=n*$,k+=n*H,E+=n*V,P+=n*q,O+=n*K,A+=n*W,T+=n*G,j+=n*Y,C+=n*Z,R+=n*X,n=t[13],y+=n*N,b+=n*D,w+=n*B,x+=n*z,_+=n*U,S+=n*F,k+=n*$,E+=n*H,P+=n*V,O+=n*q,A+=n*K,T+=n*W,j+=n*G,C+=n*Y,R+=n*Z,I+=n*X,n=t[14],b+=n*N,w+=n*D,x+=n*B,_+=n*z,S+=n*U,k+=n*F,E+=n*$,P+=n*H,O+=n*V,A+=n*q,T+=n*K,j+=n*W,C+=n*G,R+=n*Y,I+=n*Z,M+=n*X,n=t[15],w+=n*N,x+=n*D,_+=n*B,S+=n*z,k+=n*U,E+=n*F,P+=n*$,O+=n*H,A+=n*V,T+=n*q,j+=n*K,C+=n*W,R+=n*G,I+=n*Y,M+=n*Z,L+=n*X,o+=38*x,a+=38*_,s+=38*S,c+=38*k,l+=38*E,u+=38*P,d+=38*O,h+=38*A,f+=38*T,p+=38*j,m+=38*C,g+=38*R,v+=38*I,y+=38*M,b+=38*L,i=1,n=o+i+65535,i=Math.floor(n/65536),o=n-65536*i,n=a+i+65535,i=Math.floor(n/65536),a=n-65536*i,n=s+i+65535,i=Math.floor(n/65536),s=n-65536*i,n=c+i+65535,i=Math.floor(n/65536),c=n-65536*i,n=l+i+65535,i=Math.floor(n/65536),l=n-65536*i,n=u+i+65535,i=Math.floor(n/65536),u=n-65536*i,n=d+i+65535,i=Math.floor(n/65536),d=n-65536*i,n=h+i+65535,i=Math.floor(n/65536),h=n-65536*i,n=f+i+65535,i=Math.floor(n/65536),f=n-65536*i,n=p+i+65535,i=Math.floor(n/65536),p=n-65536*i,n=m+i+65535,i=Math.floor(n/65536),m=n-65536*i,n=g+i+65535,i=Math.floor(n/65536),g=n-65536*i,n=v+i+65535,i=Math.floor(n/65536),v=n-65536*i,n=y+i+65535,i=Math.floor(n/65536),y=n-65536*i,n=b+i+65535,i=Math.floor(n/65536),b=n-65536*i,n=w+i+65535,i=Math.floor(n/65536),w=n-65536*i,o+=i-1+37*(i-1),i=1,n=o+i+65535,i=Math.floor(n/65536),o=n-65536*i,n=a+i+65535,i=Math.floor(n/65536),a=n-65536*i,n=s+i+65535,i=Math.floor(n/65536),s=n-65536*i,n=c+i+65535,i=Math.floor(n/65536),c=n-65536*i,n=l+i+65535,i=Math.floor(n/65536),l=n-65536*i,n=u+i+65535,i=Math.floor(n/65536),u=n-65536*i,n=d+i+65535,i=Math.floor(n/65536),d=n-65536*i,n=h+i+65535,i=Math.floor(n/65536),h=n-65536*i,n=f+i+65535,i=Math.floor(n/65536),f=n-65536*i,n=p+i+65535,i=Math.floor(n/65536),p=n-65536*i,n=m+i+65535,i=Math.floor(n/65536),m=n-65536*i,n=g+i+65535,i=Math.floor(n/65536),g=n-65536*i,n=v+i+65535,i=Math.floor(n/65536),v=n-65536*i,n=y+i+65535,i=Math.floor(n/65536),y=n-65536*i,n=b+i+65535,i=Math.floor(n/65536),b=n-65536*i,n=w+i+65535,i=Math.floor(n/65536),w=n-65536*i,o+=i-1+37*(i-1),e[0]=o,e[1]=a,e[2]=s,e[3]=c,e[4]=l,e[5]=u,e[6]=d,e[7]=h,e[8]=f,e[9]=p,e[10]=m,e[11]=g,e[12]=v,e[13]=y,e[14]=b,e[15]=w}function k(e,t){S(e,t,t)}function E(e,t){const r=a();let n;for(n=0;n<16;n++)r[n]=t[n];for(n=253;n>=0;n--)k(r,r),2!==n&&4!==n&&S(r,r,t);for(n=0;n<16;n++)e[n]=r[n]}function P(e,t){const r=a(),n=a(),i=a(),o=a(),s=a(),c=a(),l=a(),d=a(),h=a();_(r,e[1],e[0]),_(h,t[1],t[0]),S(r,r,h),x(n,e[0],e[1]),x(h,t[0],t[1]),S(n,n,h),S(i,e[3],t[3]),S(i,i,u),S(o,e[2],t[2]),x(o,o,o),_(s,n,r),_(c,o,i),x(l,o,i),x(d,n,r),S(e[0],s,c),S(e[1],d,l),S(e[2],l,c),S(e[3],s,d)}function O(e,t,r){for(let n=0;n<4;n++)g(e[n],t[n],r)}function A(e,t){const r=a(),n=a(),i=a();E(i,t[2]),S(r,t[0],i),S(n,t[1],i),v(e,n),e[31]^=w(r)<<7}function T(e,t,r){p(e[0],s),p(e[1],c),p(e[2],c),p(e[3],s);for(let n=255;n>=0;--n){const i=r[n/8|0]>>(7&n)&1;O(e,t,i),P(t,e),P(e,e),O(e,t,i)}}function j(e,t){const r=[a(),a(),a(),a()];p(r[0],d),p(r[1],h),p(r[2],c),S(r[3],d,h),T(e,r,t)}function C(e){if(e.length!==t.aP)throw new Error(`ed25519: seed must be ${t.aP} bytes`);const r=(0,i.hash)(e);r[0]&=248,r[31]&=127,r[31]|=64;const n=new Uint8Array(32),o=[a(),a(),a(),a()];j(o,r),A(n,o);const s=new Uint8Array(64);return s.set(e),s.set(n,32),{publicKey:n,secretKey:s}}t._w=C;const R=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function I(e,t){let r,n,i,o;for(n=63;n>=32;--n){for(r=0,i=n-32,o=n-12;i>4)*R[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*R[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function M(e){const t=new Float64Array(64);for(let r=0;r<64;r++)t[r]=e[r];for(let r=0;r<64;r++)e[r]=0;I(e,t)}function L(e,t){const r=a(),n=a(),i=a(),o=a(),u=a(),d=a(),h=a();return p(e[2],c),function(e,t){for(let r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}(e[1],t),k(i,e[1]),S(o,i,l),_(i,i,e[2]),x(o,e[2],o),k(u,o),k(d,u),S(h,d,u),S(r,h,i),S(r,r,o),function(e,t){const r=a();let n;for(n=0;n<16;n++)r[n]=t[n];for(n=250;n>=0;n--)k(r,r),1!==n&&S(r,r,t);for(n=0;n<16;n++)e[n]=r[n]}(r,r),S(r,r,i),S(r,r,o),S(r,r,o),S(e[0],r,o),k(n,e[0]),S(n,n,o),b(n,i)&&S(e[0],e[0],f),k(n,e[0]),S(n,n,o),b(n,i)?-1:(w(e[0])===t[31]>>7&&_(e[0],s,e[0]),S(e[3],e[0],e[1]),0)}t.Xx=function(e,t){const r=new Float64Array(64),n=[a(),a(),a(),a()],o=(0,i.hash)(e.subarray(0,32));o[0]&=248,o[31]&=127,o[31]|=64;const s=new Uint8Array(64);s.set(o.subarray(32),32);const c=new i.SHA512;c.update(s.subarray(32)),c.update(t);const l=c.digest();c.clean(),M(l),j(n,l),A(s,n),c.reset(),c.update(s.subarray(0,32)),c.update(e.subarray(32)),c.update(t);const u=c.digest();M(u);for(let i=0;i<32;i++)r[i]=l[i];for(let i=0;i<32;i++)for(let e=0;e<32;e++)r[i+e]+=u[i]*o[e];return I(s.subarray(32),r),s},t.SH=function(e){let t=[a(),a(),a(),a()];if(L(t,e))throw new Error("Ed25519: invalid public key");let r=a(),n=a(),i=t[1];x(r,c,i),_(n,c,i),E(n,n),S(r,r,n);let o=new Uint8Array(32);return v(o,r),o},t.zh=function(e){const t=(0,i.hash)(e.subarray(0,32));t[0]&=248,t[31]&=127,t[31]|=64;const r=new Uint8Array(t.subarray(0,32));return(0,o.wipe)(t),r}},3222:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSerializableHash=function(e){return"undefined"!==typeof e.saveState&&"undefined"!==typeof e.restoreState&&"undefined"!==typeof e.cleanSavedState}},6555:(e,t,r)=>{"use strict";var n=r(3222),i=r(1479),o=r(8515),a=function(){function e(e,t){this._finished=!1,this._inner=new e,this._outer=new e,this.blockSize=this._outer.blockSize,this.digestLength=this._outer.digestLength;var r=new Uint8Array(this.blockSize);t.length>this.blockSize?this._inner.update(t).finish(r).clean():r.set(t);for(var i=0;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mul=Math.imul||function(e,t){var r=65535&e,n=65535&t;return r*n+((e>>>16&65535)*n+r*(t>>>16&65535)<<16>>>0)|0},t.add=function(e,t){return e+t|0},t.sub=function(e,t){return e-t|0},t.rotl=function(e,t){return e<>>32-t},t.rotr=function(e,t){return e<<32-t|e>>>t},t.isInteger=Number.isInteger||function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e},t.MAX_SAFE_INTEGER=9007199254740991,t.isSafeInteger=function(e){return t.isInteger(e)&&e>=-t.MAX_SAFE_INTEGER&&e<=t.MAX_SAFE_INTEGER}},5905:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.openBox=t.box=t.precomputeSharedKey=t.generateKeyPair=void 0;const n=r(4349),i=r(7475),o=r(3921),a=r(8515);var s=r(4349);Object.defineProperty(t,"generateKeyPair",{enumerable:!0,get:function(){return s.generateKeyPair}});const c=new Uint8Array(16);function l(e,t){const r=(0,n.scalarMult)(t,e);return(0,i.hsalsa)(r,c,r),r}t.precomputeSharedKey=l,t.box=function(e,t,r,n){const i=l(e,t),s=(0,o.secretBox)(i,r,n);return(0,a.wipe)(i),s},t.openBox=function(e,t,r,n){const i=l(e,t),s=(0,o.openSecretBox)(i,r,n);return(0,a.wipe)(i),s}},1298:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5905),t),i(r(3921),t)},3921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateKey=t.openSecretBox=t.secretBox=void 0;const n=r(7475),i=r(5849),o=r(8515),a=r(3226);t.secretBox=function(e,t,r){if(24!==t.length)throw new Error("secretBox nonce must be 24 bytes");const a=new Uint8Array(64),s=new Uint8Array(32);s.set(t),(0,n.stream)(e,s,a,8);const c=new Uint8Array(16+r.length);for(let n=0;n<32&&n32&&(0,n.streamXOR)(e,s,r.subarray(32),c.subarray(48),8);const l=(0,i.oneTimeAuth)(a.subarray(0,32),c.subarray(16));for(let n=0;n32&&(0,n.streamXOR)(e,s,l.subarray(32),u.subarray(32),8),(0,o.wipe)(c),(0,o.wipe)(a),(0,o.wipe)(s),u},t.generateKey=function(e){return(0,a.randomBytes)(32,e)}},5849:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1479),i=r(8515);t.DIGEST_LENGTH=16;var o=function(){function e(e){this.digestLength=t.DIGEST_LENGTH,this._buffer=new Uint8Array(16),this._r=new Uint16Array(10),this._h=new Uint16Array(10),this._pad=new Uint16Array(8),this._leftover=0,this._fin=0,this._finished=!1;var r=e[0]|e[1]<<8;this._r[0]=8191&r;var n=e[2]|e[3]<<8;this._r[1]=8191&(r>>>13|n<<3);var i=e[4]|e[5]<<8;this._r[2]=7939&(n>>>10|i<<6);var o=e[6]|e[7]<<8;this._r[3]=8191&(i>>>7|o<<9);var a=e[8]|e[9]<<8;this._r[4]=255&(o>>>4|a<<12),this._r[5]=a>>>1&8190;var s=e[10]|e[11]<<8;this._r[6]=8191&(a>>>14|s<<2);var c=e[12]|e[13]<<8;this._r[7]=8065&(s>>>11|c<<5);var l=e[14]|e[15]<<8;this._r[8]=8191&(c>>>8|l<<8),this._r[9]=l>>>5&127,this._pad[0]=e[16]|e[17]<<8,this._pad[1]=e[18]|e[19]<<8,this._pad[2]=e[20]|e[21]<<8,this._pad[3]=e[22]|e[23]<<8,this._pad[4]=e[24]|e[25]<<8,this._pad[5]=e[26]|e[27]<<8,this._pad[6]=e[28]|e[29]<<8,this._pad[7]=e[30]|e[31]<<8}return e.prototype._blocks=function(e,t,r){for(var n=this._fin?0:2048,i=this._h[0],o=this._h[1],a=this._h[2],s=this._h[3],c=this._h[4],l=this._h[5],u=this._h[6],d=this._h[7],h=this._h[8],f=this._h[9],p=this._r[0],m=this._r[1],g=this._r[2],v=this._r[3],y=this._r[4],b=this._r[5],w=this._r[6],x=this._r[7],_=this._r[8],S=this._r[9];r>=16;){var k=e[t+0]|e[t+1]<<8;i+=8191&k;var E=e[t+2]|e[t+3]<<8;o+=8191&(k>>>13|E<<3);var P=e[t+4]|e[t+5]<<8;a+=8191&(E>>>10|P<<6);var O=e[t+6]|e[t+7]<<8;s+=8191&(P>>>7|O<<9);var A=e[t+8]|e[t+9]<<8;c+=8191&(O>>>4|A<<12),l+=A>>>1&8191;var T=e[t+10]|e[t+11]<<8;u+=8191&(A>>>14|T<<2);var j=e[t+12]|e[t+13]<<8;d+=8191&(T>>>11|j<<5);var C=e[t+14]|e[t+15]<<8,R=0,I=R;I+=i*p,I+=o*(5*S),I+=a*(5*_),I+=s*(5*x),R=(I+=c*(5*w))>>>13,I&=8191,I+=l*(5*b),I+=u*(5*y),I+=d*(5*v),I+=(h+=8191&(j>>>8|C<<8))*(5*g);var M=R+=(I+=(f+=C>>>5|n)*(5*m))>>>13;M+=i*m,M+=o*p,M+=a*(5*S),M+=s*(5*_),R=(M+=c*(5*x))>>>13,M&=8191,M+=l*(5*w),M+=u*(5*b),M+=d*(5*y),M+=h*(5*v),R+=(M+=f*(5*g))>>>13,M&=8191;var L=R;L+=i*g,L+=o*m,L+=a*p,L+=s*(5*S),R=(L+=c*(5*_))>>>13,L&=8191,L+=l*(5*x),L+=u*(5*w),L+=d*(5*b),L+=h*(5*y);var N=R+=(L+=f*(5*v))>>>13;N+=i*v,N+=o*g,N+=a*m,N+=s*p,R=(N+=c*(5*S))>>>13,N&=8191,N+=l*(5*_),N+=u*(5*x),N+=d*(5*w),N+=h*(5*b);var D=R+=(N+=f*(5*y))>>>13;D+=i*y,D+=o*v,D+=a*g,D+=s*m,R=(D+=c*p)>>>13,D&=8191,D+=l*(5*S),D+=u*(5*_),D+=d*(5*x),D+=h*(5*w);var B=R+=(D+=f*(5*b))>>>13;B+=i*b,B+=o*y,B+=a*v,B+=s*g,R=(B+=c*m)>>>13,B&=8191,B+=l*p,B+=u*(5*S),B+=d*(5*_),B+=h*(5*x);var z=R+=(B+=f*(5*w))>>>13;z+=i*w,z+=o*b,z+=a*y,z+=s*v,R=(z+=c*g)>>>13,z&=8191,z+=l*m,z+=u*p,z+=d*(5*S),z+=h*(5*_);var U=R+=(z+=f*(5*x))>>>13;U+=i*x,U+=o*w,U+=a*b,U+=s*y,R=(U+=c*v)>>>13,U&=8191,U+=l*g,U+=u*m,U+=d*p,U+=h*(5*S);var F=R+=(U+=f*(5*_))>>>13;F+=i*_,F+=o*x,F+=a*w,F+=s*b,R=(F+=c*y)>>>13,F&=8191,F+=l*v,F+=u*g,F+=d*m,F+=h*p;var $=R+=(F+=f*(5*S))>>>13;$+=i*S,$+=o*_,$+=a*x,$+=s*w,R=($+=c*b)>>>13,$&=8191,$+=l*y,$+=u*v,$+=d*g,$+=h*m,i=I=8191&(R=(R=((R+=($+=f*p)>>>13)<<2)+R|0)+(I&=8191)|0),o=M+=R>>>=13,a=L&=8191,s=N&=8191,c=D&=8191,l=B&=8191,u=z&=8191,d=U&=8191,h=F&=8191,f=$&=8191,t+=16,r-=16}this._h[0]=i,this._h[1]=o,this._h[2]=a,this._h[3]=s,this._h[4]=c,this._h[5]=l,this._h[6]=u,this._h[7]=d,this._h[8]=h,this._h[9]=f},e.prototype.finish=function(e,t){void 0===t&&(t=0);var r,n,i,o,a=new Uint16Array(10);if(this._leftover){for(o=this._leftover,this._buffer[o++]=1;o<16;o++)this._buffer[o]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(r=this._h[1]>>>13,this._h[1]&=8191,o=2;o<10;o++)this._h[o]+=r,r=this._h[o]>>>13,this._h[o]&=8191;for(this._h[0]+=5*r,r=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=r,r=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=r,a[0]=this._h[0]+5,r=a[0]>>>13,a[0]&=8191,o=1;o<10;o++)a[o]=this._h[o]+r,r=a[o]>>>13,a[o]&=8191;for(a[9]-=8192,n=(1^r)-1,o=0;o<10;o++)a[o]&=n;for(n=~n,o=0;o<10;o++)this._h[o]=this._h[o]&n|a[o];for(this._h[0]=65535&(this._h[0]|this._h[1]<<13),this._h[1]=65535&(this._h[1]>>>3|this._h[2]<<10),this._h[2]=65535&(this._h[2]>>>6|this._h[3]<<7),this._h[3]=65535&(this._h[3]>>>9|this._h[4]<<4),this._h[4]=65535&(this._h[4]>>>12|this._h[5]<<1|this._h[6]<<14),this._h[5]=65535&(this._h[6]>>>2|this._h[7]<<11),this._h[6]=65535&(this._h[7]>>>5|this._h[8]<<8),this._h[7]=65535&(this._h[8]>>>8|this._h[9]<<5),i=this._h[0]+this._pad[0],this._h[0]=65535&i,o=1;o<8;o++)i=(this._h[o]+this._pad[o]|0)+(i>>>16)|0,this._h[o]=65535&i;return e[t+0]=this._h[0]>>>0,e[t+1]=this._h[0]>>>8,e[t+2]=this._h[1]>>>0,e[t+3]=this._h[1]>>>8,e[t+4]=this._h[2]>>>0,e[t+5]=this._h[2]>>>8,e[t+6]=this._h[3]>>>0,e[t+7]=this._h[3]>>>8,e[t+8]=this._h[4]>>>0,e[t+9]=this._h[4]>>>8,e[t+10]=this._h[5]>>>0,e[t+11]=this._h[5]>>>8,e[t+12]=this._h[6]>>>0,e[t+13]=this._h[6]>>>8,e[t+14]=this._h[7]>>>0,e[t+15]=this._h[7]>>>8,this._finished=!0,this},e.prototype.update=function(e){var t,r=0,n=e.length;if(this._leftover){(t=16-this._leftover)>n&&(t=n);for(var i=0;i=16&&(t=n-n%16,this._blocks(e,r,t),r+=t,n-=t),n){for(i=0;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomStringForEntropy=t.randomString=t.randomUint32=t.randomBytes=t.defaultRandomSource=void 0;const n=r(7774),i=r(6091),o=r(8515);function a(e,r=t.defaultRandomSource){return r.randomBytes(e)}t.defaultRandomSource=new n.SystemRandomSource,t.randomBytes=a,t.randomUint32=function(e=t.defaultRandomSource){const r=a(4,e),n=(0,i.readUint32LE)(r);return(0,o.wipe)(r),n};const s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function c(e,r=s,n=t.defaultRandomSource){if(r.length<2)throw new Error("randomString charset is too short");if(r.length>256)throw new Error("randomString charset is too long");let i="";const c=r.length,l=256-256%c;for(;e>0;){const t=a(Math.ceil(256*e/l),n);for(let n=0;n0;n++){const o=t[n];o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserRandomSource=void 0;t.BrowserRandomSource=class{constructor(){this.isAvailable=!1,this.isInstantiated=!1;const e="undefined"!==typeof self?self.crypto||self.msCrypto:null;e&&void 0!==e.getRandomValues&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Browser random byte generator is not available.");const t=new Uint8Array(e);for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeRandomSource=void 0;const n=r(8515);t.NodeRandomSource=class{constructor(){this.isAvailable=!1,this.isInstantiated=!1;{const e=r(5883);e&&e.randomBytes&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Node.js random byte generator is not available.");let t=this._crypto.randomBytes(e);if(t.length!==e)throw new Error("NodeRandomSource: got fewer bytes than requested");const r=new Uint8Array(e);for(let n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SystemRandomSource=void 0;const n=r(2523),i=r(3901);t.SystemRandomSource=class{constructor(){return this.isAvailable=!1,this.name="",this._source=new n.BrowserRandomSource,this._source.isAvailable?(this.isAvailable=!0,void(this.name="Browser")):(this._source=new i.NodeRandomSource,this._source.isAvailable?(this.isAvailable=!0,void(this.name="Node")):void 0)}randomBytes(e){if(!this.isAvailable)throw new Error("System random byte generator is not available.");return this._source.randomBytes(e)}}},6797:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6091),i=r(8515),o=20;function a(e,t,r){for(var i,a=1634760805,s=r[3]<<24|r[2]<<16|r[1]<<8|r[0],c=r[7]<<24|r[6]<<16|r[5]<<8|r[4],l=r[11]<<24|r[10]<<16|r[9]<<8|r[8],u=r[15]<<24|r[14]<<16|r[13]<<8|r[12],d=857760878,h=t[3]<<24|t[2]<<16|t[1]<<8|t[0],f=t[7]<<24|t[6]<<16|t[5]<<8|t[4],p=t[11]<<24|t[10]<<16|t[9]<<8|t[8],m=t[15]<<24|t[14]<<16|t[13]<<8|t[12],g=2036477234,v=r[19]<<24|r[18]<<16|r[17]<<8|r[16],y=r[23]<<24|r[22]<<16|r[21]<<8|r[20],b=r[27]<<24|r[26]<<16|r[25]<<8|r[24],w=r[31]<<24|r[30]<<16|r[29]<<8|r[28],x=1797285236,_=a,S=s,k=c,E=l,P=u,O=d,A=h,T=f,j=p,C=m,R=g,I=v,M=y,L=b,N=w,D=x,B=0;B>>25)+_|0)<<9|i>>>23)+P|0)<<13|i>>>19)+j|0)<<18|i>>>14,O^=(i=(S^=(i=(L^=(i=(C^=(i=O+S|0)<<7|i>>>25)+O|0)<<9|i>>>23)+C|0)<<13|i>>>19)+L|0)<<18|i>>>14,R^=(i=(A^=(i=(k^=(i=(N^=(i=R+A|0)<<7|i>>>25)+R|0)<<9|i>>>23)+N|0)<<13|i>>>19)+k|0)<<18|i>>>14,D^=(i=(I^=(i=(T^=(i=(E^=(i=D+I|0)<<7|i>>>25)+D|0)<<9|i>>>23)+E|0)<<13|i>>>19)+T|0)<<18|i>>>14,_^=(i=(E^=(i=(k^=(i=(S^=(i=_+E|0)<<7|i>>>25)+_|0)<<9|i>>>23)+S|0)<<13|i>>>19)+k|0)<<18|i>>>14,O^=(i=(P^=(i=(T^=(i=(A^=(i=O+P|0)<<7|i>>>25)+O|0)<<9|i>>>23)+A|0)<<13|i>>>19)+T|0)<<18|i>>>14,R^=(i=(C^=(i=(j^=(i=(I^=(i=R+C|0)<<7|i>>>25)+R|0)<<9|i>>>23)+I|0)<<13|i>>>19)+j|0)<<18|i>>>14,D^=(i=(N^=(i=(L^=(i=(M^=(i=D+N|0)<<7|i>>>25)+D|0)<<9|i>>>23)+M|0)<<13|i>>>19)+L|0)<<18|i>>>14;n.writeUint32LE(_+a|0,e,0),n.writeUint32LE(S+s|0,e,4),n.writeUint32LE(k+c|0,e,8),n.writeUint32LE(E+l|0,e,12),n.writeUint32LE(P+u|0,e,16),n.writeUint32LE(O+d|0,e,20),n.writeUint32LE(A+h|0,e,24),n.writeUint32LE(T+f|0,e,28),n.writeUint32LE(j+p|0,e,32),n.writeUint32LE(C+m|0,e,36),n.writeUint32LE(R+g|0,e,40),n.writeUint32LE(I+v|0,e,44),n.writeUint32LE(M+y|0,e,48),n.writeUint32LE(L+b|0,e,52),n.writeUint32LE(N+w|0,e,56),n.writeUint32LE(D+x|0,e,60)}function s(e,t,r,n,o){if(void 0===o&&(o=0),32!==e.length)throw new Error("Salsa20: key size must be 32 bytes");if(n.length>>=8,t++;if(n>0)throw new Error("Salsa20: counter overflow")}t.streamXOR=s,t.stream=function(e,t,r,n){return void 0===n&&(n=0),i.wipe(r),s(e,t,r,r,n)}},9764:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6091),i=r(8515);t.DIGEST_LENGTH=64,t.BLOCK_SIZE=128;var o=function(){function e(){this.digestLength=t.DIGEST_LENGTH,this.blockSize=t.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return e.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},e.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},e.prototype.clean=function(){i.wipe(this._buffer),i.wipe(this._tempHi),i.wipe(this._tempLo),this.reset()},e.prototype.update=function(e,r){if(void 0===r&&(r=e.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var n=0;if(this._bytesHashed+=r,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=e[n++],r--;this._bufferLength===this.blockSize&&(s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(r>=this.blockSize&&(n=s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,e,n,r),r%=this.blockSize);r>0;)this._buffer[this._bufferLength++]=e[n++],r--;return this},e.prototype.finish=function(e){if(!this._finished){var t=this._bytesHashed,r=this._bufferLength,i=t/536870912|0,o=t<<3,a=t%128<112?128:256;this._buffer[r]=128;for(var c=r+1;c0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},e.prototype.restoreState=function(e){return this._stateHi.set(e.stateHi),this._stateLo.set(e.stateLo),this._bufferLength=e.bufferLength,e.buffer&&this._buffer.set(e.buffer),this._bytesHashed=e.bytesHashed,this._finished=!1,this},e.prototype.cleanSavedState=function(e){i.wipe(e.stateHi),i.wipe(e.stateLo),e.buffer&&i.wipe(e.buffer),e.bufferLength=0,e.bytesHashed=0},e}();t.SHA512=o;var a=new Int32Array([1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591]);function s(e,t,r,i,o,s,c){for(var l,u,d,h,f,p,m,g,v=r[0],y=r[1],b=r[2],w=r[3],x=r[4],_=r[5],S=r[6],k=r[7],E=i[0],P=i[1],O=i[2],A=i[3],T=i[4],j=i[5],C=i[6],R=i[7];c>=128;){for(var I=0;I<16;I++){var M=8*I+s;e[I]=n.readUint32BE(o,M),t[I]=n.readUint32BE(o,M+4)}for(I=0;I<80;I++){var L,N,D=v,B=y,z=b,U=w,F=x,$=_,H=S,V=E,q=P,K=O,W=A,G=T,Y=j,Z=C;if(f=65535&(u=R),p=u>>>16,m=65535&(l=k),g=l>>>16,f+=65535&(u=(T>>>14|x<<18)^(T>>>18|x<<14)^(x>>>9|T<<23)),p+=u>>>16,m+=65535&(l=(x>>>14|T<<18)^(x>>>18|T<<14)^(T>>>9|x<<23)),g+=l>>>16,f+=65535&(u=T&j^~T&C),p+=u>>>16,m+=65535&(l=x&_^~x&S),g+=l>>>16,l=a[2*I],f+=65535&(u=a[2*I+1]),p+=u>>>16,m+=65535&l,g+=l>>>16,l=e[I%16],p+=(u=t[I%16])>>>16,m+=65535&l,g+=l>>>16,m+=(p+=(f+=65535&u)>>>16)>>>16,f=65535&(u=h=65535&f|p<<16),p=u>>>16,m=65535&(l=d=65535&m|(g+=m>>>16)<<16),g=l>>>16,f+=65535&(u=(E>>>28|v<<4)^(v>>>2|E<<30)^(v>>>7|E<<25)),p+=u>>>16,m+=65535&(l=(v>>>28|E<<4)^(E>>>2|v<<30)^(E>>>7|v<<25)),g+=l>>>16,p+=(u=E&P^E&O^P&O)>>>16,m+=65535&(l=v&y^v&b^y&b),g+=l>>>16,L=65535&(m+=(p+=(f+=65535&u)>>>16)>>>16)|(g+=m>>>16)<<16,N=65535&f|p<<16,f=65535&(u=W),p=u>>>16,m=65535&(l=U),g=l>>>16,p+=(u=h)>>>16,m+=65535&(l=d),g+=l>>>16,y=D,b=B,w=z,x=U=65535&(m+=(p+=(f+=65535&u)>>>16)>>>16)|(g+=m>>>16)<<16,_=F,S=$,k=H,v=L,P=V,O=q,A=K,T=W=65535&f|p<<16,j=G,C=Y,R=Z,E=N,I%16===15)for(M=0;M<16;M++)l=e[M],f=65535&(u=t[M]),p=u>>>16,m=65535&l,g=l>>>16,l=e[(M+9)%16],f+=65535&(u=t[(M+9)%16]),p+=u>>>16,m+=65535&l,g+=l>>>16,d=e[(M+1)%16],f+=65535&(u=((h=t[(M+1)%16])>>>1|d<<31)^(h>>>8|d<<24)^(h>>>7|d<<25)),p+=u>>>16,m+=65535&(l=(d>>>1|h<<31)^(d>>>8|h<<24)^d>>>7),g+=l>>>16,d=e[(M+14)%16],p+=(u=((h=t[(M+14)%16])>>>19|d<<13)^(d>>>29|h<<3)^(h>>>6|d<<26))>>>16,m+=65535&(l=(d>>>19|h<<13)^(h>>>29|d<<3)^d>>>6),g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,e[M]=65535&m|g<<16,t[M]=65535&f|p<<16}f=65535&(u=E),p=u>>>16,m=65535&(l=v),g=l>>>16,l=r[0],p+=(u=i[0])>>>16,m+=65535&l,g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,r[0]=v=65535&m|g<<16,i[0]=E=65535&f|p<<16,f=65535&(u=P),p=u>>>16,m=65535&(l=y),g=l>>>16,l=r[1],p+=(u=i[1])>>>16,m+=65535&l,g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,r[1]=y=65535&m|g<<16,i[1]=P=65535&f|p<<16,f=65535&(u=O),p=u>>>16,m=65535&(l=b),g=l>>>16,l=r[2],p+=(u=i[2])>>>16,m+=65535&l,g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,r[2]=b=65535&m|g<<16,i[2]=O=65535&f|p<<16,f=65535&(u=A),p=u>>>16,m=65535&(l=w),g=l>>>16,l=r[3],p+=(u=i[3])>>>16,m+=65535&l,g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,r[3]=w=65535&m|g<<16,i[3]=A=65535&f|p<<16,f=65535&(u=T),p=u>>>16,m=65535&(l=x),g=l>>>16,l=r[4],p+=(u=i[4])>>>16,m+=65535&l,g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,r[4]=x=65535&m|g<<16,i[4]=T=65535&f|p<<16,f=65535&(u=j),p=u>>>16,m=65535&(l=_),g=l>>>16,l=r[5],p+=(u=i[5])>>>16,m+=65535&l,g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,r[5]=_=65535&m|g<<16,i[5]=j=65535&f|p<<16,f=65535&(u=C),p=u>>>16,m=65535&(l=S),g=l>>>16,l=r[6],p+=(u=i[6])>>>16,m+=65535&l,g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,r[6]=S=65535&m|g<<16,i[6]=C=65535&f|p<<16,f=65535&(u=R),p=u>>>16,m=65535&(l=k),g=l>>>16,l=r[7],p+=(u=i[7])>>>16,m+=65535&l,g+=l>>>16,g+=(m+=(p+=(f+=65535&u)>>>16)>>>16)>>>16,r[7]=k=65535&m|g<<16,i[7]=R=65535&f|p<<16,s+=128,c-=128}return s}t.hash=function(e){var t=new o;t.update(e);var r=t.digest();return t.clean(),r}},3715:(e,t)=>{"use strict";var r="utf8: invalid string",n="utf8: invalid source encoding";function i(e){for(var t=0,n=0;n=e.length-1)throw new Error(r);n++,t+=4}}return t}t.cv=function(e){for(var t=new Uint8Array(i(e)),r=0,n=0;n>6,t[r++]=128|63&o):o<55296?(t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o):(n++,o=(1023&o)<<10,o|=1023&e.charCodeAt(n),o+=65536,t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o)}return t}},8515:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.wipe=function(e){for(var t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.X25519Session=t.SECRET_SEED_LENGTH=t.SAVED_STATE_LENGTH=t.ACCEPT_MESSAGE_LENGTH=t.OFFER_MESSAGE_LENGTH=void 0;const n=r(3226),i=r(8515),o=r(4349),a=r(757);t.OFFER_MESSAGE_LENGTH=o.PUBLIC_KEY_LENGTH,t.ACCEPT_MESSAGE_LENGTH=o.PUBLIC_KEY_LENGTH,t.SAVED_STATE_LENGTH=o.SECRET_KEY_LENGTH,t.SECRET_SEED_LENGTH=o.SECRET_KEY_LENGTH;t.X25519Session=class{constructor(e,r){this.offerMessageLength=t.OFFER_MESSAGE_LENGTH,this.acceptMessageLength=t.ACCEPT_MESSAGE_LENGTH,this.sharedKeyLength=o.SHARED_KEY_LENGTH,this.savedStateLength=t.SAVED_STATE_LENGTH,this._seed=e||(0,n.randomBytes)(o.SECRET_KEY_LENGTH,r)}saveState(){return new Uint8Array(this._seed)}restoreState(e){return this._seed=new Uint8Array(e),this}clean(){this._seed&&(0,i.wipe)(this._seed),this._keyPair&&((0,i.wipe)(this._keyPair.secretKey),(0,i.wipe)(this._keyPair.publicKey)),this._sharedKey&&(0,i.wipe)(this._sharedKey),this._sessionKeys&&((0,i.wipe)(this._sessionKeys.receive),(0,i.wipe)(this._sessionKeys.send))}offer(){return this._keyPair=(0,o.generateKeyPairFromSeed)(this._seed),new Uint8Array(this._keyPair.publicKey)}accept(e){if(this._keyPair)throw new Error("X25519Session: accept shouldn't be called by offering party");if(e.length!==this.offerMessageLength)throw new Error("X25519Session: incorrect offer message length");if(this._sharedKey)throw new Error("X25519Session: accept was already called");const t=(0,o.generateKeyPairFromSeed)(this._seed);return this._sharedKey=(0,o.sharedKey)(t.secretKey,e),this._sessionKeys=(0,a.clientSessionKeysFromSharedKey)(this._sharedKey,t.publicKey,e),(0,i.wipe)(t.secretKey),t.publicKey}finish(e){if(e.length!==this.acceptMessageLength)throw new Error("X25519Session: incorrect accept message length");if(!this._keyPair)throw new Error("X25519Session: no offer state");if(this._sharedKey)throw new Error("X25519Session: finish was already called");return this._sharedKey=(0,o.sharedKey)(this._keyPair.secretKey,e),this._sessionKeys=(0,a.serverSessionKeysFromSharedKey)(this._sharedKey,this._keyPair.publicKey,e),this}getSharedKey(){if(!this._sharedKey)throw new Error("X25519Session: no shared key established");return new Uint8Array(this._sharedKey)}getSessionKeys(){if(!this._sessionKeys)throw new Error("X25519Session: no shared key established");return{receive:new Uint8Array(this._sessionKeys.receive),send:new Uint8Array(this._sessionKeys.send)}}}},757:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clientSessionKeys=t.serverSessionKeys=t.clientSessionKeysFromSharedKey=t.serverSessionKeysFromSharedKey=t.X25519Session=void 0;const n=r(9929),i=r(4349);var o=r(1799);Object.defineProperty(t,"X25519Session",{enumerable:!0,get:function(){return o.X25519Session}});const a=32;function s(e,t,r,i=n.BLAKE2b){const o=new i;if(o.digestLength!==2*a)throw new Error("X25519: incorrect digest length");const s=o.update(e).update(r).update(t).digest();return{send:s.subarray(0,a),receive:s.subarray(a)}}function c(e,t,r,i=n.BLAKE2b){const o=new i;if(o.digestLength!==2*a)throw new Error("X25519: incorrect digest length");const s=o.update(e).update(t).update(r).digest();return{receive:s.subarray(0,a),send:s.subarray(a)}}t.serverSessionKeysFromSharedKey=s,t.clientSessionKeysFromSharedKey=c,t.serverSessionKeys=function(e,t,r=n.BLAKE2b){return s((0,i.sharedKey)(e.secretKey,t),e.publicKey,t,r)},t.clientSessionKeys=function(e,t,r=n.BLAKE2b){return c((0,i.sharedKey)(e.secretKey,t),e.publicKey,t,r)}},4349:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sharedKey=t.generateKeyPair=t.generateKeyPairFromSeed=t.scalarMultBase=t.scalarMult=t.SHARED_KEY_LENGTH=t.SECRET_KEY_LENGTH=t.PUBLIC_KEY_LENGTH=void 0;const n=r(3226),i=r(8515);function o(e){const t=new Float64Array(16);if(e)for(let r=0;r=0;--o){const e=r[o>>>3]>>>(7&o)&1;l(i,a,e),l(p,m,e),u(g,i,p),d(i,i,p),u(p,a,m),d(a,a,m),f(m,g),f(v,i),h(i,p,i),h(p,a,g),u(g,i,p),d(i,i,p),f(a,i),d(p,m,v),h(i,p,s),u(i,i,m),h(p,p,i),h(i,m,v),h(m,a,n),f(a,g),l(i,a,e),l(p,m,e)}for(let o=0;o<16;o++)n[o+16]=i[o],n[o+32]=p[o],n[o+48]=a[o],n[o+64]=m[o];const y=n.subarray(32),b=n.subarray(16);!function(e,t){const r=o();for(let n=0;n<16;n++)r[n]=t[n];for(let n=253;n>=0;n--)f(r,r),2!==n&&4!==n&&h(r,r,t);for(let n=0;n<16;n++)e[n]=r[n]}(y,y),h(b,b,y);const w=new Uint8Array(32);return function(e,t){const r=o(),n=o();for(let i=0;i<16;i++)n[i]=t[i];c(n),c(n),c(n);for(let i=0;i<2;i++){r[0]=n[0]-65517;for(let t=1;t<15;t++)r[t]=n[t]-65535-(r[t-1]>>16&1),r[t-1]&=65535;r[15]=n[15]-32767-(r[14]>>16&1);const e=r[15]>>16&1;r[14]&=65535,l(n,r,1-e)}for(let i=0;i<16;i++)e[2*i]=255&n[i],e[2*i+1]=n[i]>>8}(w,b),w}function m(e){return p(e,a)}function g(e){if(e.length!==t.SECRET_KEY_LENGTH)throw new Error(`x25519: seed must be ${t.SECRET_KEY_LENGTH} bytes`);const r=new Uint8Array(e);return{publicKey:m(r),secretKey:r}}t.scalarMult=p,t.scalarMultBase=m,t.generateKeyPairFromSeed=g,t.generateKeyPair=function(e){const t=(0,n.randomBytes)(32,e),r=g(t);return(0,i.wipe)(t),r},t.sharedKey=function(e,r,n=!1){if(e.length!==t.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect secret key length");if(r.length!==t.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect public key length");const i=p(e,r);if(n){let e=0;for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6091),i=r(6797),o=r(8515);function a(e,t,r,n,a){if(void 0===a&&(a=0),0===a){if(24!==t.length)throw new Error("XSalsa20 nonce must be 24 bytes")}else if(32!==t.length)throw new Error("XSalsa20 nonce with counter must be 32 bytes");var s=c(e,t.subarray(0,16),new Uint8Array(32)),l=i.streamXOR(s,t.subarray(16),r,n,a);return o.wipe(s),l}t.streamXOR=a,t.stream=function(e,t,r,n){return void 0===n&&(n=0),o.wipe(r),a(e,t,r,r,n)};var s=20;function c(e,t,r){for(var i,o=1634760805,a=e[3]<<24|e[2]<<16|e[1]<<8|e[0],c=e[7]<<24|e[6]<<16|e[5]<<8|e[4],l=e[11]<<24|e[10]<<16|e[9]<<8|e[8],u=e[15]<<24|e[14]<<16|e[13]<<8|e[12],d=857760878,h=t[3]<<24|t[2]<<16|t[1]<<8|t[0],f=t[7]<<24|t[6]<<16|t[5]<<8|t[4],p=t[11]<<24|t[10]<<16|t[9]<<8|t[8],m=t[15]<<24|t[14]<<16|t[13]<<8|t[12],g=2036477234,v=e[19]<<24|e[18]<<16|e[17]<<8|e[16],y=e[23]<<24|e[22]<<16|e[21]<<8|e[20],b=e[27]<<24|e[26]<<16|e[25]<<8|e[24],w=e[31]<<24|e[30]<<16|e[29]<<8|e[28],x=1797285236,_=0;_>>25)+o|0)<<9|i>>>23)+u|0)<<13|i>>>19)+p|0)<<18|i>>>14,d^=(i=(a^=(i=(b^=(i=(m^=(i=d+a|0)<<7|i>>>25)+d|0)<<9|i>>>23)+m|0)<<13|i>>>19)+b|0)<<18|i>>>14,g^=(i=(h^=(i=(c^=(i=(w^=(i=g+h|0)<<7|i>>>25)+g|0)<<9|i>>>23)+w|0)<<13|i>>>19)+c|0)<<18|i>>>14,x^=(i=(v^=(i=(f^=(i=(l^=(i=x+v|0)<<7|i>>>25)+x|0)<<9|i>>>23)+l|0)<<13|i>>>19)+f|0)<<18|i>>>14,o^=(i=(l^=(i=(c^=(i=(a^=(i=o+l|0)<<7|i>>>25)+o|0)<<9|i>>>23)+a|0)<<13|i>>>19)+c|0)<<18|i>>>14,d^=(i=(u^=(i=(f^=(i=(h^=(i=d+u|0)<<7|i>>>25)+d|0)<<9|i>>>23)+h|0)<<13|i>>>19)+f|0)<<18|i>>>14,g^=(i=(m^=(i=(p^=(i=(v^=(i=g+m|0)<<7|i>>>25)+g|0)<<9|i>>>23)+v|0)<<13|i>>>19)+p|0)<<18|i>>>14,x^=(i=(w^=(i=(b^=(i=(y^=(i=x+w|0)<<7|i>>>25)+x|0)<<9|i>>>23)+y|0)<<13|i>>>19)+b|0)<<18|i>>>14;return n.writeUint32LE(o,r,0),n.writeUint32LE(d,r,4),n.writeUint32LE(g,r,8),n.writeUint32LE(x,r,12),n.writeUint32LE(h,r,16),n.writeUint32LE(f,r,20),n.writeUint32LE(p,r,24),n.writeUint32LE(m,r,28),r}t.hsalsa=c},3950:(e,t,r)=>{"use strict";var n=function(){if("undefined"!==typeof self)return self;if("undefined"!==typeof window)return window;if("undefined"!==typeof r.g)return r.g;throw new Error("unable to locate global object")}();e.exports=t=n.fetch,n.fetch&&(t.default=n.fetch.bind(n)),t.Headers=n.Headers,t.Request=n.Request,t.Response=n.Response},1832:e=>{"use strict";e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r>>0,l=new Uint8Array(o);e[r];){var u=t[e.charCodeAt(r)];if(255===u)return;for(var d=0,h=o-1;(0!==u||d>>0,l[h]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=d,r++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var p=new Uint8Array(n+(o-f)),m=n;f!==o;)p[m++]=l[f++];return p}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,i=0,o=t.length;i!==o&&0===t[i];)i++,r++;for(var c=(o-i)*l+1>>>0,u=new Uint8Array(c);i!==o;){for(var d=t[i],h=0,f=c-1;(0!==d||h>>0,u[f]=d%a>>>0,d=d/a>>>0;if(0!==d)throw new Error("Non-zero carry");n=h,i++}for(var p=c-n;p!==c&&0===u[p];)p++;for(var m=s.repeat(r);p{const n=r(1832);e.exports=n("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},1604:(e,t,r)=>{"use strict";var n=r(9802);e.exports=function(e){function t(t){var r=t.slice(0,-4),n=t.slice(-4),i=e(r);if(!(n[0]^i[0]|n[1]^i[1]|n[2]^i[2]|n[3]^i[3]))return r}return{encode:function(t){var r=Uint8Array.from(t),i=e(r),o=r.length+4,a=new Uint8Array(o);return a.set(r,0),a.set(i.subarray(0,4),r.length),n.encode(a,o)},decode:function(e){var r=t(n.decode(e));if(!r)throw new Error("Invalid checksum");return r},decodeUnsafe:function(e){var r=n.decodeUnsafe(e);if(r)return t(r)}}}},9735:(e,t,r)=>{"use strict";var{sha256:n}=r(5535),i=r(1604);e.exports=i((function(e){return n(n(e))}))},2304:function(e,t,r){!function(e,t){"use strict";function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function o(e,t,r){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var a;"object"===typeof e?e.exports=o:t.BN=o,o.BN=o,o.wordSize=26;try{a="undefined"!==typeof window&&"undefined"!==typeof window.Buffer?window.Buffer:r(3018).Buffer}catch(A){}function s(e,t){var r=e.charCodeAt(t);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+e)}function c(e,t,r){var n=s(e,r);return r-1>=t&&(n|=s(e,r-1)<<4),n}function l(e,t,r,i){for(var o=0,a=0,s=Math.min(e.length,r),c=t;c=49?l-49+10:l>=17?l-17+10:l,n(l>=0&&a0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,r){if("number"===typeof e)return this._initNumber(e,t,r);if("object"===typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)a=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},o.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=2)i=c(e,t,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(e.length-t)%2===0?t+1:t;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,a=o%n,s=Math.min(o,o-a)+r,c=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!==typeof Symbol&&"function"===typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch(A){o.prototype.inspect=d}else o.prototype.inspect=d;function d(){return(this.red?""}var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,o=0,a=0;a>>24-i&16777215,(i+=2)>=26&&(i-=26,a--),r=0!==o||a!==this.length-1?h[6-c.length]+c+r:c+r}for(0!==o&&(r=o.toString(16)+r);r.length%t!==0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var l=f[e],u=p[e];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modrn(u).toString(e);r=(d=d.idivn(u)).isZero()?m+r:h[l-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!==0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16,2)},a&&(o.prototype.toBuffer=function(e,t){return this.toArrayLike(a,e,t)}),o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function m(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,c=a/67108864|0;r.words[0]=s;for(var l=1;l>>26,d=67108863&c,h=Math.min(l,t.length-1),f=Math.max(0,l-e.length+1);f<=h;f++){var p=l-f|0;u+=(a=(i=0|e.words[p])*(o=0|t.words[f])+d)/67108864|0,d=67108863&a}r.words[l]=0|d,c=0|u}return 0!==c?r.words[l]=0|c:r.length--,r._strip()}o.prototype.toArrayLike=function(e,t,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var a=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](a,i),a},o.prototype._toArrayLikeLE=function(e,t){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(e[r--]=a>>8&255),r>=0&&(e[r--]=a>>16&255),6===o?(r>=0&&(e[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(e[r--]=n;r>=0;)e[r--]=0},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0===(8191&t)&&(r+=13,t>>>=13),0===(127&t)&&(r+=7,t>>>=7),0===(15&t)&&(r+=4,t>>>=4),0===(3&t)&&(r+=2,t>>>=2),0===(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){n("number"===typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){n("number"===typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==o&&a>26,this.words[a]=67108863&t;if(0===o&&a>>13,f=0|a[1],p=8191&f,m=f>>>13,g=0|a[2],v=8191&g,y=g>>>13,b=0|a[3],w=8191&b,x=b>>>13,_=0|a[4],S=8191&_,k=_>>>13,E=0|a[5],P=8191&E,O=E>>>13,A=0|a[6],T=8191&A,j=A>>>13,C=0|a[7],R=8191&C,I=C>>>13,M=0|a[8],L=8191&M,N=M>>>13,D=0|a[9],B=8191&D,z=D>>>13,U=0|s[0],F=8191&U,$=U>>>13,H=0|s[1],V=8191&H,q=H>>>13,K=0|s[2],W=8191&K,G=K>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],ce=8191&se,le=se>>>13,ue=0|s[8],de=8191&ue,he=ue>>>13,fe=0|s[9],pe=8191&fe,me=fe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(l+(n=Math.imul(d,F))|0)+((8191&(i=(i=Math.imul(d,$))+Math.imul(h,F)|0))<<13)|0;l=((o=Math.imul(h,$))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,$))+Math.imul(m,F)|0,o=Math.imul(m,$);var ve=(l+(n=n+Math.imul(d,V)|0)|0)+((8191&(i=(i=i+Math.imul(d,q)|0)+Math.imul(h,V)|0))<<13)|0;l=((o=o+Math.imul(h,q)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(v,F),i=(i=Math.imul(v,$))+Math.imul(y,F)|0,o=Math.imul(y,$),n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,q)|0;var ye=(l+(n=n+Math.imul(d,W)|0)|0)+((8191&(i=(i=i+Math.imul(d,G)|0)+Math.imul(h,W)|0))<<13)|0;l=((o=o+Math.imul(h,G)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,$))+Math.imul(x,F)|0,o=Math.imul(x,$),n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,q)|0)+Math.imul(y,V)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,G)|0;var be=(l+(n=n+Math.imul(d,Z)|0)|0)+((8191&(i=(i=i+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;l=((o=o+Math.imul(h,X)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(S,F),i=(i=Math.imul(S,$))+Math.imul(k,F)|0,o=Math.imul(k,$),n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(x,V)|0,o=o+Math.imul(x,q)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,X)|0;var we=(l+(n=n+Math.imul(d,Q)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;l=((o=o+Math.imul(h,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(P,F),i=(i=Math.imul(P,$))+Math.imul(O,F)|0,o=Math.imul(O,$),n=n+Math.imul(S,V)|0,i=(i=i+Math.imul(S,q)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,q)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(x,W)|0,o=o+Math.imul(x,G)|0,n=n+Math.imul(v,Z)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,ee)|0;var xe=(l+(n=n+Math.imul(d,re)|0)|0)+((8191&(i=(i=i+Math.imul(d,ne)|0)+Math.imul(h,re)|0))<<13)|0;l=((o=o+Math.imul(h,ne)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(T,F),i=(i=Math.imul(T,$))+Math.imul(j,F)|0,o=Math.imul(j,$),n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(O,V)|0,o=o+Math.imul(O,q)|0,n=n+Math.imul(S,W)|0,i=(i=i+Math.imul(S,G)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(w,Z)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(x,Z)|0,o=o+Math.imul(x,X)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(m,re)|0,o=o+Math.imul(m,ne)|0;var _e=(l+(n=n+Math.imul(d,oe)|0)|0)+((8191&(i=(i=i+Math.imul(d,ae)|0)+Math.imul(h,oe)|0))<<13)|0;l=((o=o+Math.imul(h,ae)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,$))+Math.imul(I,F)|0,o=Math.imul(I,$),n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,q)|0)+Math.imul(j,V)|0,o=o+Math.imul(j,q)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(S,Z)|0,i=(i=i+Math.imul(S,X)|0)+Math.imul(k,Z)|0,o=o+Math.imul(k,X)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,ee)|0,n=n+Math.imul(v,re)|0,i=(i=i+Math.imul(v,ne)|0)+Math.imul(y,re)|0,o=o+Math.imul(y,ne)|0,n=n+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,ae)|0)+Math.imul(m,oe)|0,o=o+Math.imul(m,ae)|0;var Se=(l+(n=n+Math.imul(d,ce)|0)|0)+((8191&(i=(i=i+Math.imul(d,le)|0)+Math.imul(h,ce)|0))<<13)|0;l=((o=o+Math.imul(h,le)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(L,F),i=(i=Math.imul(L,$))+Math.imul(N,F)|0,o=Math.imul(N,$),n=n+Math.imul(R,V)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(I,V)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(P,Z)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(O,Z)|0,o=o+Math.imul(O,X)|0,n=n+Math.imul(S,Q)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(x,re)|0,o=o+Math.imul(x,ne)|0,n=n+Math.imul(v,oe)|0,i=(i=i+Math.imul(v,ae)|0)+Math.imul(y,oe)|0,o=o+Math.imul(y,ae)|0,n=n+Math.imul(p,ce)|0,i=(i=i+Math.imul(p,le)|0)+Math.imul(m,ce)|0,o=o+Math.imul(m,le)|0;var ke=(l+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;l=((o=o+Math.imul(h,he)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(B,F),i=(i=Math.imul(B,$))+Math.imul(z,F)|0,o=Math.imul(z,$),n=n+Math.imul(L,V)|0,i=(i=i+Math.imul(L,q)|0)+Math.imul(N,V)|0,o=o+Math.imul(N,q)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(T,Z)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(j,Z)|0,o=o+Math.imul(j,X)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(k,re)|0,o=o+Math.imul(k,ne)|0,n=n+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,ae)|0)+Math.imul(x,oe)|0,o=o+Math.imul(x,ae)|0,n=n+Math.imul(v,ce)|0,i=(i=i+Math.imul(v,le)|0)+Math.imul(y,ce)|0,o=o+Math.imul(y,le)|0,n=n+Math.imul(p,de)|0,i=(i=i+Math.imul(p,he)|0)+Math.imul(m,de)|0,o=o+Math.imul(m,he)|0;var Ee=(l+(n=n+Math.imul(d,pe)|0)|0)+((8191&(i=(i=i+Math.imul(d,me)|0)+Math.imul(h,pe)|0))<<13)|0;l=((o=o+Math.imul(h,me)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(B,V),i=(i=Math.imul(B,q))+Math.imul(z,V)|0,o=Math.imul(z,q),n=n+Math.imul(L,W)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,G)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,ee)|0,n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(O,re)|0,o=o+Math.imul(O,ne)|0,n=n+Math.imul(S,oe)|0,i=(i=i+Math.imul(S,ae)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,ae)|0,n=n+Math.imul(w,ce)|0,i=(i=i+Math.imul(w,le)|0)+Math.imul(x,ce)|0,o=o+Math.imul(x,le)|0,n=n+Math.imul(v,de)|0,i=(i=i+Math.imul(v,he)|0)+Math.imul(y,de)|0,o=o+Math.imul(y,he)|0;var Pe=(l+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;l=((o=o+Math.imul(m,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,G))+Math.imul(z,W)|0,o=Math.imul(z,G),n=n+Math.imul(L,Z)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(N,Z)|0,o=o+Math.imul(N,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(j,re)|0,o=o+Math.imul(j,ne)|0,n=n+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,ae)|0)+Math.imul(O,oe)|0,o=o+Math.imul(O,ae)|0,n=n+Math.imul(S,ce)|0,i=(i=i+Math.imul(S,le)|0)+Math.imul(k,ce)|0,o=o+Math.imul(k,le)|0,n=n+Math.imul(w,de)|0,i=(i=i+Math.imul(w,he)|0)+Math.imul(x,de)|0,o=o+Math.imul(x,he)|0;var Oe=(l+(n=n+Math.imul(v,pe)|0)|0)+((8191&(i=(i=i+Math.imul(v,me)|0)+Math.imul(y,pe)|0))<<13)|0;l=((o=o+Math.imul(y,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(B,Z),i=(i=Math.imul(B,X))+Math.imul(z,Z)|0,o=Math.imul(z,X),n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,ee)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,ee)|0,n=n+Math.imul(R,re)|0,i=(i=i+Math.imul(R,ne)|0)+Math.imul(I,re)|0,o=o+Math.imul(I,ne)|0,n=n+Math.imul(T,oe)|0,i=(i=i+Math.imul(T,ae)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,ae)|0,n=n+Math.imul(P,ce)|0,i=(i=i+Math.imul(P,le)|0)+Math.imul(O,ce)|0,o=o+Math.imul(O,le)|0,n=n+Math.imul(S,de)|0,i=(i=i+Math.imul(S,he)|0)+Math.imul(k,de)|0,o=o+Math.imul(k,he)|0;var Ae=(l+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,me)|0)+Math.imul(x,pe)|0))<<13)|0;l=((o=o+Math.imul(x,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,ee))+Math.imul(z,Q)|0,o=Math.imul(z,ee),n=n+Math.imul(L,re)|0,i=(i=i+Math.imul(L,ne)|0)+Math.imul(N,re)|0,o=o+Math.imul(N,ne)|0,n=n+Math.imul(R,oe)|0,i=(i=i+Math.imul(R,ae)|0)+Math.imul(I,oe)|0,o=o+Math.imul(I,ae)|0,n=n+Math.imul(T,ce)|0,i=(i=i+Math.imul(T,le)|0)+Math.imul(j,ce)|0,o=o+Math.imul(j,le)|0,n=n+Math.imul(P,de)|0,i=(i=i+Math.imul(P,he)|0)+Math.imul(O,de)|0,o=o+Math.imul(O,he)|0;var Te=(l+(n=n+Math.imul(S,pe)|0)|0)+((8191&(i=(i=i+Math.imul(S,me)|0)+Math.imul(k,pe)|0))<<13)|0;l=((o=o+Math.imul(k,me)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(B,re),i=(i=Math.imul(B,ne))+Math.imul(z,re)|0,o=Math.imul(z,ne),n=n+Math.imul(L,oe)|0,i=(i=i+Math.imul(L,ae)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,ae)|0,n=n+Math.imul(R,ce)|0,i=(i=i+Math.imul(R,le)|0)+Math.imul(I,ce)|0,o=o+Math.imul(I,le)|0,n=n+Math.imul(T,de)|0,i=(i=i+Math.imul(T,he)|0)+Math.imul(j,de)|0,o=o+Math.imul(j,he)|0;var je=(l+(n=n+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(O,pe)|0))<<13)|0;l=((o=o+Math.imul(O,me)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(B,oe),i=(i=Math.imul(B,ae))+Math.imul(z,oe)|0,o=Math.imul(z,ae),n=n+Math.imul(L,ce)|0,i=(i=i+Math.imul(L,le)|0)+Math.imul(N,ce)|0,o=o+Math.imul(N,le)|0,n=n+Math.imul(R,de)|0,i=(i=i+Math.imul(R,he)|0)+Math.imul(I,de)|0,o=o+Math.imul(I,he)|0;var Ce=(l+(n=n+Math.imul(T,pe)|0)|0)+((8191&(i=(i=i+Math.imul(T,me)|0)+Math.imul(j,pe)|0))<<13)|0;l=((o=o+Math.imul(j,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(B,ce),i=(i=Math.imul(B,le))+Math.imul(z,ce)|0,o=Math.imul(z,le),n=n+Math.imul(L,de)|0,i=(i=i+Math.imul(L,he)|0)+Math.imul(N,de)|0,o=o+Math.imul(N,he)|0;var Re=(l+(n=n+Math.imul(R,pe)|0)|0)+((8191&(i=(i=i+Math.imul(R,me)|0)+Math.imul(I,pe)|0))<<13)|0;l=((o=o+Math.imul(I,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(B,de),i=(i=Math.imul(B,he))+Math.imul(z,de)|0,o=Math.imul(z,he);var Ie=(l+(n=n+Math.imul(L,pe)|0)|0)+((8191&(i=(i=i+Math.imul(L,me)|0)+Math.imul(N,pe)|0))<<13)|0;l=((o=o+Math.imul(N,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863;var Me=(l+(n=Math.imul(B,pe))|0)+((8191&(i=(i=Math.imul(B,me))+Math.imul(z,pe)|0))<<13)|0;return l=((o=Math.imul(z,me))+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,c[0]=ge,c[1]=ve,c[2]=ye,c[3]=be,c[4]=we,c[5]=xe,c[6]=_e,c[7]=Se,c[8]=ke,c[9]=Ee,c[10]=Pe,c[11]=Oe,c[12]=Ae,c[13]=Te,c[14]=je,c[15]=Ce,c[16]=Re,c[17]=Ie,c[18]=Me,0!==l&&(c[19]=l,r.length++),r};function v(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function y(e,t,r){return v(e,t,r)}function b(e,t){this.x=e,this.y=t}Math.imul||(g=m),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?g(this,e,t):r<63?m(this,e,t):r<1024?v(this,e,t):y(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n>=1;return n},b.prototype.permute=function(e,t,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*t;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[i]=67108863&a}return 0!==r&&(this.words[i]=r,this.length++),t?this.ineg():this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i&1}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,l=0;l=0&&(0!==u||l>=i);l--){var d=0|this.words[l];this.words[l]=u<<26-o|d>>>o,u=d&s}return c&&0!==u&&(c.words[c.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){n("number"===typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(n("number"===typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(c/67108864|0),this.words[i+r]=67108863&o}for(;i>26,this.words[i+r]=67108863&o;if(0===s)return this._strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,c=n.length-i.length;if("mod"!==t){(s=new o(null)).length=c+1,s.words=new Array(s.length);for(var l=0;l=0;d--){var h=67108864*(0|n.words[i.length+d])+(0|n.words[i.length+d-1]);for(h=Math.min(h/a|0,67108863),n._ishlnsubmul(i,h,d);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,d),n.isZero()||(n.negative^=1);s&&(s.words[d]=h)}return s&&s._strip(),n._strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!==(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modrn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modrn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=(1<<26)%e,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%e;return t?-i:i},o.prototype.modn=function(e){return this.modrn(e)},o.prototype.idivn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/e|0,r=o%e}return this._strip(),t?this.ineg():this},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),a=new o(0),s=new o(0),c=new o(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var u=r.clone(),d=t.clone();!t.isZero();){for(var h=0,f=1;0===(t.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(u),a.isub(d)),i.iushrn(1),a.iushrn(1);for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||c.isOdd())&&(s.iadd(u),c.isub(d)),s.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(s),a.isub(c)):(r.isub(t),s.isub(i),c.isub(a))}return{a:s,b:c,gcd:r.iushln(l)}},o.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,a=new o(1),s=new o(0),c=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var l=0,u=1;0===(t.words[0]&u)&&l<26;++l,u<<=1);if(l>0)for(t.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(c),a.iushrn(1);for(var d=0,h=1;0===(r.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(r.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(s)):(r.isub(t),s.isub(a))}return(i=0===t.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){n("number"===typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new P(e)},o.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var w={k256:null,p224:null,p192:null,p25519:null};function x(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){x.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){x.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){x.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){x.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function P(e){if("string"===typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function O(e){P.call(this,e),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}x.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},x.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},x.prototype.split=function(e,t){e.iushrn(this.n,0,t)},x.prototype.imulK=function(e){return e.imul(this.k)},i(_,x),_.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i>>22,o=a}o>>>=22,e.words[i-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(w[e])return w[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new S;else if("p192"===e)t=new k;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new E}return w[e]=t,t},P.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},P.prototype._verify2=function(e,t){n(0===(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},P.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(u(e,e.umod(this.m)._forceRed(this)),e)},P.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},P.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},P.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},P.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},P.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},P.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},P.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},P.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},P.prototype.isqr=function(e){return this.imul(e,e.clone())},P.prototype.sqr=function(e){return this.mul(e,e)},P.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2===1),3===t){var r=this.m.add(new o(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);n(!i.isZero());var s=new o(1).toRed(this),c=s.redNeg(),l=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new o(2*u*u).toRed(this);0!==this.pow(u,l).cmp(c);)u.redIAdd(c);for(var d=this.pow(u,i),h=this.pow(e,i.addn(1).iushrn(1)),f=this.pow(e,i),p=a;0!==f.cmp(s);){for(var m=f,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var l=t.words[n],u=c-1;u>=0;u--){var d=l>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==d||0!==a?(a<<=1,a|=d,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}c=26}return i},P.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},P.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new O(e)},i(O,P),O.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},O.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},O.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},O.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},O.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},8306:(e,t,r)=>{"use strict";var n=r(8608).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r>>0,u=new Uint8Array(a);e[r];){var d=t[e.charCodeAt(r)];if(255===d)return;for(var h=0,f=a-1;(0!==d||h>>0,u[f]=d%256>>>0,d=d/256>>>0;if(0!==d)throw new Error("Non-zero carry");o=h,r++}for(var p=a-o;p!==a&&0===u[p];)p++;var m=n.allocUnsafe(i+(a-p));m.fill(0,0,i);for(var g=i;p!==a;)m[g++]=u[p++];return m}return{encode:function(t){if((Array.isArray(t)||t instanceof Uint8Array)&&(t=n.from(t)),!n.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var r=0,i=0,o=0,a=t.length;o!==a&&0===t[o];)o++,r++;for(var l=(a-o)*u+1>>>0,d=new Uint8Array(l);o!==a;){for(var h=t[o],f=0,p=l-1;(0!==h||f>>0,d[p]=h%s>>>0,h=h/s>>>0;if(0!==h)throw new Error("Non-zero carry");i=f,o++}for(var m=l-i;m!==l&&0===d[m];)m++;for(var g=c.repeat(r);m{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=s(e),a=o[0],c=o[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,c)),u=0,d=c>0?a-4:a;for(r=0;r>16&255,l[u++]=t>>8&255,l[u++]=255&t;2===c&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,l[u++]=255&t);1===c&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t);return l},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,s=0,l=n-i;sl?l:s+a));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],n=[],i="undefined"!==typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],s=t;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},8682:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={};let i;t.wordlists=n,t._default=i;try{t._default=i=r(32),n.czech=i}catch(o){}try{t._default=i=r(6996),n.chinese_simplified=i}catch(o){}try{t._default=i=r(4262),n.chinese_traditional=i}catch(o){}try{t._default=i=r(8013),n.korean=i}catch(o){}try{t._default=i=r(1848),n.french=i}catch(o){}try{t._default=i=r(2841),n.italian=i}catch(o){}try{t._default=i=r(659),n.spanish=i}catch(o){}try{t._default=i=r(4472),n.japanese=i,n.JA=i}catch(o){}try{t._default=i=r(1945),n.portuguese=i}catch(o){}try{t._default=i=r(4573),n.english=i,n.EN=i}catch(o){}},3130:(e,t,r)=>{"use strict";var n=r(261).Buffer;const i=r(5535),o=r(3113),a=r(4024),s=r(6413),c=r(8682);let l=c._default;const u="Invalid mnemonic",d="Invalid entropy",h="Invalid mnemonic checksum",f="A wordlist is required but a default could not be found.\nPlease pass a 2048 word array explicitly.";function p(e){return(e||"").normalize("NFKD")}function m(e,t,r){for(;e.lengthm(e.toString(2),"0",8))).join("")}function y(e){const t=8*e.length/32,r=i.sha256(Uint8Array.from(e));return v(Array.from(r)).slice(0,t)}function b(e){return"mnemonic"+(e||"")}function w(e,t){if(!(t=t||l))throw new Error(f);const r=p(e).split(" ");if(r.length%3!==0)throw new Error(u);const i=r.map((e=>{const r=t.indexOf(e);if(-1===r)throw new Error(u);return m(r.toString(2),"0",11)})).join(""),o=32*Math.floor(i.length/33),a=i.slice(0,o),s=i.slice(o),c=a.match(/(.{1,8})/g).map(g);if(c.length<16)throw new Error(d);if(c.length>32)throw new Error(d);if(c.length%4!==0)throw new Error(d);const v=n.from(c);if(y(v)!==s)throw new Error(h);return v.toString("hex")}function x(e,t){if(n.isBuffer(e)||(e=n.from(e,"hex")),!(t=t||l))throw new Error(f);if(e.length<16)throw new TypeError(d);if(e.length>32)throw new TypeError(d);if(e.length%4!==0)throw new TypeError(d);const r=(v(Array.from(e))+y(e)).match(/(.{1,11})/g).map((e=>{const r=g(e);return t[r]}));return"\u3042\u3044\u3053\u304f\u3057\u3093"===t[0]?r.join("\u3000"):r.join(" ")}t.Z1=function(e,t){const r=Uint8Array.from(n.from(p(e),"utf8")),i=Uint8Array.from(n.from(b(p(t)),"utf8")),s=a.pbkdf2(o.sha512,r,i,{c:2048,dkLen:64});return n.from(s)},t.OF=function(e,t,r){if((e=e||128)%32!==0)throw new TypeError(d);return x((t=t||(e=>n.from(s.randomBytes(e))))(e/8),r)},t._I=function(e,t){try{w(e,t)}catch(r){return!1}return!0},r(8682).wordlists},3313:(e,t,r)=>{const n=r(5992);function i(e,t,r){const n=e[t]+e[r];let i=e[t+1]+e[r+1];n>=4294967296&&i++,e[t]=n,e[t+1]=i}function o(e,t,r,n){let i=e[t]+r;r<0&&(i+=4294967296);let o=e[t+1]+n;i>=4294967296&&o++,e[t]=i,e[t+1]=o}function a(e,t){return e[t]^e[t+1]<<8^e[t+2]<<16^e[t+3]<<24}function s(e,t,r,n,a,s){const c=d[a],l=d[a+1],h=d[s],f=d[s+1];i(u,e,t),o(u,e,c,l);let p=u[n]^u[e],m=u[n+1]^u[e+1];u[n]=m,u[n+1]=p,i(u,r,n),p=u[t]^u[r],m=u[t+1]^u[r+1],u[t]=p>>>24^m<<8,u[t+1]=m>>>24^p<<8,i(u,e,t),o(u,e,h,f),p=u[n]^u[e],m=u[n+1]^u[e+1],u[n]=p>>>16^m<<16,u[n+1]=m>>>16^p<<16,i(u,r,n),p=u[t]^u[r],m=u[t+1]^u[r+1],u[t]=m>>>31^p<<1,u[t+1]=p>>>31^m<<1}const c=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),l=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map((function(e){return 2*e}))),u=new Uint32Array(32),d=new Uint32Array(32);function h(e,t){let r=0;for(r=0;r<16;r++)u[r]=e.h[r],u[r+16]=c[r];for(u[24]=u[24]^e.t,u[25]=u[25]^e.t/4294967296,t&&(u[28]=~u[28],u[29]=~u[29]),r=0;r<32;r++)d[r]=a(e.b,4*r);for(r=0;r<12;r++)s(0,8,16,24,l[16*r+0],l[16*r+1]),s(2,10,18,26,l[16*r+2],l[16*r+3]),s(4,12,20,28,l[16*r+4],l[16*r+5]),s(6,14,22,30,l[16*r+6],l[16*r+7]),s(0,10,20,30,l[16*r+8],l[16*r+9]),s(2,12,22,24,l[16*r+10],l[16*r+11]),s(4,14,16,26,l[16*r+12],l[16*r+13]),s(6,8,18,28,l[16*r+14],l[16*r+15]);for(r=0;r<16;r++)e.h[r]=e.h[r]^u[r]^u[r+16]}const f=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function p(e,t,r,n){if(0===e||e>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(t&&t.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(r&&16!==r.length)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(n&&16!==n.length)throw new Error("Illegal personal, expected Uint8Array with length is 16");const i={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:e};f.fill(0),f[0]=e,t&&(f[1]=t.length),f[2]=1,f[3]=1,r&&f.set(r,32),n&&f.set(n,48);for(let o=0;o<16;o++)i.h[o]=c[o]^a(f,4*o);return t&&(m(i,t),i.c=128),i}function m(e,t){for(let r=0;r>2]>>8*(3&r);return t}function v(e,t,r,i,o){r=r||64,e=n.normalizeInput(e),i&&(i=n.normalizeInput(i)),o&&(o=n.normalizeInput(o));const a=p(r,t,i,o);return m(a,e),g(a)}e.exports={blake2b:v,blake2bHex:function(e,t,r,i,o){const a=v(e,t,r,i,o);return n.toHex(a)},blake2bInit:p,blake2bUpdate:m,blake2bFinal:g}},8349:(e,t,r)=>{const n=r(5992);function i(e,t){return e[t]^e[t+1]<<8^e[t+2]<<16^e[t+3]<<24}function o(e,t,r,n,i,o){l[e]=l[e]+l[t]+i,l[n]=a(l[n]^l[e],16),l[r]=l[r]+l[n],l[t]=a(l[t]^l[r],12),l[e]=l[e]+l[t]+o,l[n]=a(l[n]^l[e],8),l[r]=l[r]+l[n],l[t]=a(l[t]^l[r],7)}function a(e,t){return e>>>t^e<<32-t}const s=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),c=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),l=new Uint32Array(16),u=new Uint32Array(16);function d(e,t){let r=0;for(r=0;r<8;r++)l[r]=e.h[r],l[r+8]=s[r];for(l[12]^=e.t,l[13]^=e.t/4294967296,t&&(l[14]=~l[14]),r=0;r<16;r++)u[r]=i(e.b,4*r);for(r=0;r<10;r++)o(0,4,8,12,u[c[16*r+0]],u[c[16*r+1]]),o(1,5,9,13,u[c[16*r+2]],u[c[16*r+3]]),o(2,6,10,14,u[c[16*r+4]],u[c[16*r+5]]),o(3,7,11,15,u[c[16*r+6]],u[c[16*r+7]]),o(0,5,10,15,u[c[16*r+8]],u[c[16*r+9]]),o(1,6,11,12,u[c[16*r+10]],u[c[16*r+11]]),o(2,7,8,13,u[c[16*r+12]],u[c[16*r+13]]),o(3,4,9,14,u[c[16*r+14]],u[c[16*r+15]]);for(r=0;r<8;r++)e.h[r]^=l[r]^l[r+8]}function h(e,t){if(!(e>0&&e<=32))throw new Error("Incorrect output length, should be in [1, 32]");const r=t?t.length:0;if(t&&!(r>0&&r<=32))throw new Error("Incorrect key length, should be in [1, 32]");const n={h:new Uint32Array(s),b:new Uint8Array(64),c:0,t:0,outlen:e};return n.h[0]^=16842752^r<<8^e,r>0&&(f(n,t),n.c=64),n}function f(e,t){for(let r=0;r>2]>>8*(3&r)&255;return t}function m(e,t,r){r=r||32,e=n.normalizeInput(e);const i=h(r,t);return f(i,e),p(i)}e.exports={blake2s:m,blake2sHex:function(e,t,r){const i=m(e,t,r);return n.toHex(i)},blake2sInit:h,blake2sUpdate:f,blake2sFinal:p}},3152:(e,t,r)=>{const n=r(3313),i=r(8349);e.exports={blake2b:n.blake2b,blake2bHex:n.blake2bHex,blake2bInit:n.blake2bInit,blake2bUpdate:n.blake2bUpdate,blake2bFinal:n.blake2bFinal,blake2s:i.blake2s,blake2sHex:i.blake2sHex,blake2sInit:i.blake2sInit,blake2sUpdate:i.blake2sUpdate,blake2sFinal:i.blake2sFinal}},5992:e=>{function t(e){return(4294967296+e).toString(16).substring(1)}e.exports={normalizeInput:function(e){let t;if(e instanceof Uint8Array)t=e;else{if("string"!==typeof e)throw new Error("Input must be an string, Buffer or Uint8Array");t=(new TextEncoder).encode(e)}return t},toHex:function(e){return Array.prototype.map.call(e,(function(e){return(e<16?"0":"")+e.toString(16)})).join("")},debugPrint:function(e,r,n){let i="\n"+e+" = ";for(let o=0;o=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function c(e,t,r){var n=s(e,r);return r-1>=t&&(n|=s(e,r-1)<<4),n}function l(e,t,r,n){for(var i=0,o=Math.min(e.length,r),a=t;a=49?s-49+10:s>=17?s-17+10:s}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"===typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,r){if("number"===typeof e)return this._initNumber(e,t,r);if("object"===typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)a=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=2)i=c(e,t,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(e.length-t)%2===0?t+1:t;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,a=o%n,s=Math.min(o,o-a)+r,c=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,c=a/67108864|0;r.words[0]=s;for(var l=1;l>>26,d=67108863&c,h=Math.min(l,t.length-1),f=Math.max(0,l-e.length+1);f<=h;f++){var p=l-f|0;u+=(a=(i=0|e.words[p])*(o=0|t.words[f])+d)/67108864|0,d=67108863&a}r.words[l]=0|d,c=0|u}return 0!==c?r.words[l]=0|c:r.length--,r.strip()}o.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?u[6-c.length]+c+r:c+r,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%t!==0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var l=d[e],f=h[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(e);r=(p=p.idivn(f)).isZero()?m+r:u[l-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!==0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return n("undefined"!==typeof a),this.toArrayLike(a,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var a,s,c="le"===t,l=new e(o),u=this.clone();if(c){for(s=0;!u.isZero();s++)a=u.andln(255),u.iushrn(8),l[s]=a;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0===(8191&t)&&(r+=13,t>>>=13),0===(127&t)&&(r+=7,t>>>=7),0===(15&t)&&(r+=4,t>>>=4),0===(3&t)&&(r+=2,t>>>=2),0===(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){n("number"===typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){n("number"===typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==o&&a>26,this.words[a]=67108863&t;if(0===o&&a>>13,f=0|a[1],p=8191&f,m=f>>>13,g=0|a[2],v=8191&g,y=g>>>13,b=0|a[3],w=8191&b,x=b>>>13,_=0|a[4],S=8191&_,k=_>>>13,E=0|a[5],P=8191&E,O=E>>>13,A=0|a[6],T=8191&A,j=A>>>13,C=0|a[7],R=8191&C,I=C>>>13,M=0|a[8],L=8191&M,N=M>>>13,D=0|a[9],B=8191&D,z=D>>>13,U=0|s[0],F=8191&U,$=U>>>13,H=0|s[1],V=8191&H,q=H>>>13,K=0|s[2],W=8191&K,G=K>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],ce=8191&se,le=se>>>13,ue=0|s[8],de=8191&ue,he=ue>>>13,fe=0|s[9],pe=8191&fe,me=fe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(l+(n=Math.imul(d,F))|0)+((8191&(i=(i=Math.imul(d,$))+Math.imul(h,F)|0))<<13)|0;l=((o=Math.imul(h,$))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,$))+Math.imul(m,F)|0,o=Math.imul(m,$);var ve=(l+(n=n+Math.imul(d,V)|0)|0)+((8191&(i=(i=i+Math.imul(d,q)|0)+Math.imul(h,V)|0))<<13)|0;l=((o=o+Math.imul(h,q)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(v,F),i=(i=Math.imul(v,$))+Math.imul(y,F)|0,o=Math.imul(y,$),n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,q)|0;var ye=(l+(n=n+Math.imul(d,W)|0)|0)+((8191&(i=(i=i+Math.imul(d,G)|0)+Math.imul(h,W)|0))<<13)|0;l=((o=o+Math.imul(h,G)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,$))+Math.imul(x,F)|0,o=Math.imul(x,$),n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,q)|0)+Math.imul(y,V)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,G)|0;var be=(l+(n=n+Math.imul(d,Z)|0)|0)+((8191&(i=(i=i+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;l=((o=o+Math.imul(h,X)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(S,F),i=(i=Math.imul(S,$))+Math.imul(k,F)|0,o=Math.imul(k,$),n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(x,V)|0,o=o+Math.imul(x,q)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,X)|0;var we=(l+(n=n+Math.imul(d,Q)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;l=((o=o+Math.imul(h,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(P,F),i=(i=Math.imul(P,$))+Math.imul(O,F)|0,o=Math.imul(O,$),n=n+Math.imul(S,V)|0,i=(i=i+Math.imul(S,q)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,q)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(x,W)|0,o=o+Math.imul(x,G)|0,n=n+Math.imul(v,Z)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,ee)|0;var xe=(l+(n=n+Math.imul(d,re)|0)|0)+((8191&(i=(i=i+Math.imul(d,ne)|0)+Math.imul(h,re)|0))<<13)|0;l=((o=o+Math.imul(h,ne)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(T,F),i=(i=Math.imul(T,$))+Math.imul(j,F)|0,o=Math.imul(j,$),n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(O,V)|0,o=o+Math.imul(O,q)|0,n=n+Math.imul(S,W)|0,i=(i=i+Math.imul(S,G)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(w,Z)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(x,Z)|0,o=o+Math.imul(x,X)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(m,re)|0,o=o+Math.imul(m,ne)|0;var _e=(l+(n=n+Math.imul(d,oe)|0)|0)+((8191&(i=(i=i+Math.imul(d,ae)|0)+Math.imul(h,oe)|0))<<13)|0;l=((o=o+Math.imul(h,ae)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,$))+Math.imul(I,F)|0,o=Math.imul(I,$),n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,q)|0)+Math.imul(j,V)|0,o=o+Math.imul(j,q)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(S,Z)|0,i=(i=i+Math.imul(S,X)|0)+Math.imul(k,Z)|0,o=o+Math.imul(k,X)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,ee)|0,n=n+Math.imul(v,re)|0,i=(i=i+Math.imul(v,ne)|0)+Math.imul(y,re)|0,o=o+Math.imul(y,ne)|0,n=n+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,ae)|0)+Math.imul(m,oe)|0,o=o+Math.imul(m,ae)|0;var Se=(l+(n=n+Math.imul(d,ce)|0)|0)+((8191&(i=(i=i+Math.imul(d,le)|0)+Math.imul(h,ce)|0))<<13)|0;l=((o=o+Math.imul(h,le)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(L,F),i=(i=Math.imul(L,$))+Math.imul(N,F)|0,o=Math.imul(N,$),n=n+Math.imul(R,V)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(I,V)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(P,Z)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(O,Z)|0,o=o+Math.imul(O,X)|0,n=n+Math.imul(S,Q)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(x,re)|0,o=o+Math.imul(x,ne)|0,n=n+Math.imul(v,oe)|0,i=(i=i+Math.imul(v,ae)|0)+Math.imul(y,oe)|0,o=o+Math.imul(y,ae)|0,n=n+Math.imul(p,ce)|0,i=(i=i+Math.imul(p,le)|0)+Math.imul(m,ce)|0,o=o+Math.imul(m,le)|0;var ke=(l+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;l=((o=o+Math.imul(h,he)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(B,F),i=(i=Math.imul(B,$))+Math.imul(z,F)|0,o=Math.imul(z,$),n=n+Math.imul(L,V)|0,i=(i=i+Math.imul(L,q)|0)+Math.imul(N,V)|0,o=o+Math.imul(N,q)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(T,Z)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(j,Z)|0,o=o+Math.imul(j,X)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(k,re)|0,o=o+Math.imul(k,ne)|0,n=n+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,ae)|0)+Math.imul(x,oe)|0,o=o+Math.imul(x,ae)|0,n=n+Math.imul(v,ce)|0,i=(i=i+Math.imul(v,le)|0)+Math.imul(y,ce)|0,o=o+Math.imul(y,le)|0,n=n+Math.imul(p,de)|0,i=(i=i+Math.imul(p,he)|0)+Math.imul(m,de)|0,o=o+Math.imul(m,he)|0;var Ee=(l+(n=n+Math.imul(d,pe)|0)|0)+((8191&(i=(i=i+Math.imul(d,me)|0)+Math.imul(h,pe)|0))<<13)|0;l=((o=o+Math.imul(h,me)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(B,V),i=(i=Math.imul(B,q))+Math.imul(z,V)|0,o=Math.imul(z,q),n=n+Math.imul(L,W)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,G)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,ee)|0,n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(O,re)|0,o=o+Math.imul(O,ne)|0,n=n+Math.imul(S,oe)|0,i=(i=i+Math.imul(S,ae)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,ae)|0,n=n+Math.imul(w,ce)|0,i=(i=i+Math.imul(w,le)|0)+Math.imul(x,ce)|0,o=o+Math.imul(x,le)|0,n=n+Math.imul(v,de)|0,i=(i=i+Math.imul(v,he)|0)+Math.imul(y,de)|0,o=o+Math.imul(y,he)|0;var Pe=(l+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;l=((o=o+Math.imul(m,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,G))+Math.imul(z,W)|0,o=Math.imul(z,G),n=n+Math.imul(L,Z)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(N,Z)|0,o=o+Math.imul(N,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(j,re)|0,o=o+Math.imul(j,ne)|0,n=n+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,ae)|0)+Math.imul(O,oe)|0,o=o+Math.imul(O,ae)|0,n=n+Math.imul(S,ce)|0,i=(i=i+Math.imul(S,le)|0)+Math.imul(k,ce)|0,o=o+Math.imul(k,le)|0,n=n+Math.imul(w,de)|0,i=(i=i+Math.imul(w,he)|0)+Math.imul(x,de)|0,o=o+Math.imul(x,he)|0;var Oe=(l+(n=n+Math.imul(v,pe)|0)|0)+((8191&(i=(i=i+Math.imul(v,me)|0)+Math.imul(y,pe)|0))<<13)|0;l=((o=o+Math.imul(y,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(B,Z),i=(i=Math.imul(B,X))+Math.imul(z,Z)|0,o=Math.imul(z,X),n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,ee)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,ee)|0,n=n+Math.imul(R,re)|0,i=(i=i+Math.imul(R,ne)|0)+Math.imul(I,re)|0,o=o+Math.imul(I,ne)|0,n=n+Math.imul(T,oe)|0,i=(i=i+Math.imul(T,ae)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,ae)|0,n=n+Math.imul(P,ce)|0,i=(i=i+Math.imul(P,le)|0)+Math.imul(O,ce)|0,o=o+Math.imul(O,le)|0,n=n+Math.imul(S,de)|0,i=(i=i+Math.imul(S,he)|0)+Math.imul(k,de)|0,o=o+Math.imul(k,he)|0;var Ae=(l+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,me)|0)+Math.imul(x,pe)|0))<<13)|0;l=((o=o+Math.imul(x,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,ee))+Math.imul(z,Q)|0,o=Math.imul(z,ee),n=n+Math.imul(L,re)|0,i=(i=i+Math.imul(L,ne)|0)+Math.imul(N,re)|0,o=o+Math.imul(N,ne)|0,n=n+Math.imul(R,oe)|0,i=(i=i+Math.imul(R,ae)|0)+Math.imul(I,oe)|0,o=o+Math.imul(I,ae)|0,n=n+Math.imul(T,ce)|0,i=(i=i+Math.imul(T,le)|0)+Math.imul(j,ce)|0,o=o+Math.imul(j,le)|0,n=n+Math.imul(P,de)|0,i=(i=i+Math.imul(P,he)|0)+Math.imul(O,de)|0,o=o+Math.imul(O,he)|0;var Te=(l+(n=n+Math.imul(S,pe)|0)|0)+((8191&(i=(i=i+Math.imul(S,me)|0)+Math.imul(k,pe)|0))<<13)|0;l=((o=o+Math.imul(k,me)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(B,re),i=(i=Math.imul(B,ne))+Math.imul(z,re)|0,o=Math.imul(z,ne),n=n+Math.imul(L,oe)|0,i=(i=i+Math.imul(L,ae)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,ae)|0,n=n+Math.imul(R,ce)|0,i=(i=i+Math.imul(R,le)|0)+Math.imul(I,ce)|0,o=o+Math.imul(I,le)|0,n=n+Math.imul(T,de)|0,i=(i=i+Math.imul(T,he)|0)+Math.imul(j,de)|0,o=o+Math.imul(j,he)|0;var je=(l+(n=n+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(O,pe)|0))<<13)|0;l=((o=o+Math.imul(O,me)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(B,oe),i=(i=Math.imul(B,ae))+Math.imul(z,oe)|0,o=Math.imul(z,ae),n=n+Math.imul(L,ce)|0,i=(i=i+Math.imul(L,le)|0)+Math.imul(N,ce)|0,o=o+Math.imul(N,le)|0,n=n+Math.imul(R,de)|0,i=(i=i+Math.imul(R,he)|0)+Math.imul(I,de)|0,o=o+Math.imul(I,he)|0;var Ce=(l+(n=n+Math.imul(T,pe)|0)|0)+((8191&(i=(i=i+Math.imul(T,me)|0)+Math.imul(j,pe)|0))<<13)|0;l=((o=o+Math.imul(j,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(B,ce),i=(i=Math.imul(B,le))+Math.imul(z,ce)|0,o=Math.imul(z,le),n=n+Math.imul(L,de)|0,i=(i=i+Math.imul(L,he)|0)+Math.imul(N,de)|0,o=o+Math.imul(N,he)|0;var Re=(l+(n=n+Math.imul(R,pe)|0)|0)+((8191&(i=(i=i+Math.imul(R,me)|0)+Math.imul(I,pe)|0))<<13)|0;l=((o=o+Math.imul(I,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(B,de),i=(i=Math.imul(B,he))+Math.imul(z,de)|0,o=Math.imul(z,he);var Ie=(l+(n=n+Math.imul(L,pe)|0)|0)+((8191&(i=(i=i+Math.imul(L,me)|0)+Math.imul(N,pe)|0))<<13)|0;l=((o=o+Math.imul(N,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863;var Me=(l+(n=Math.imul(B,pe))|0)+((8191&(i=(i=Math.imul(B,me))+Math.imul(z,pe)|0))<<13)|0;return l=((o=Math.imul(z,me))+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,c[0]=ge,c[1]=ve,c[2]=ye,c[3]=be,c[4]=we,c[5]=xe,c[6]=_e,c[7]=Se,c[8]=ke,c[9]=Ee,c[10]=Pe,c[11]=Oe,c[12]=Ae,c[13]=Te,c[14]=je,c[15]=Ce,c[16]=Re,c[17]=Ie,c[18]=Me,0!==l&&(c[19]=l,r.length++),r};function m(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(p=f),o.prototype.mulTo=function(e,t){var r,n=this.length+e.length;return r=10===this.length&&10===e.length?p(this,e,t):n<63?f(this,e,t):n<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,e,t):m(this,e,t),r},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*t;a>=26,t+=i/67108864|0,t+=o>>>26,this.words[r]=67108863&o}return 0!==t&&(this.words[r]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,l=0;l=0&&(0!==u||l>=i);l--){var d=0|this.words[l];this.words[l]=u<<26-o|d>>>o,u=d&s}return c&&0!==u&&(c.words[c.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){n("number"===typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(n("number"===typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(c/67108864|0),this.words[i+r]=67108863&o}for(;i>26,this.words[i+r]=67108863&o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,c=n.length-i.length;if("mod"!==t){(s=new o(null)).length=c+1,s.words=new Array(s.length);for(var l=0;l=0;d--){var h=67108864*(0|n.words[i.length+d])+(0|n.words[i.length+d-1]);for(h=Math.min(h/a|0,67108863),n._ishlnsubmul(i,h,d);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,d),n.isZero()||(n.negative^=1);s&&(s.words[d]=h)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!==(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},o.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),a=new o(0),s=new o(0),c=new o(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var u=r.clone(),d=t.clone();!t.isZero();){for(var h=0,f=1;0===(t.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(u),a.isub(d)),i.iushrn(1),a.iushrn(1);for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||c.isOdd())&&(s.iadd(u),c.isub(d)),s.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(s),a.isub(c)):(r.isub(t),s.isub(i),c.isub(a))}return{a:s,b:c,gcd:r.iushln(l)}},o.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,a=new o(1),s=new o(0),c=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var l=0,u=1;0===(t.words[0]&u)&&l<26;++l,u<<=1);if(l>0)for(t.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(c),a.iushrn(1);for(var d=0,h=1;0===(r.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(r.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(s)):(r.isub(t),s.isub(a))}return(i=0===t.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){n("number"===typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new S(e)},o.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var v={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(e){if("string"===typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},y.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},i(b,y),b.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i>>22,o=a}o>>>=22,e.words[i-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(v[e])return v[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new w;else if("p192"===e)t=new x;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return v[e]=t,t},S.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},S.prototype._verify2=function(e,t){n(0===(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2===1),3===t){var r=this.m.add(new o(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);n(!i.isZero());var s=new o(1).toRed(this),c=s.redNeg(),l=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new o(2*u*u).toRed(this);0!==this.pow(u,l).cmp(c);)u.redIAdd(c);for(var d=this.pow(u,i),h=this.pow(e,i.addn(1).iushrn(1)),f=this.pow(e,i),p=a;0!==f.cmp(s);){for(var m=f,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var l=t.words[n],u=c-1;u>=0;u--){var d=l>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==d||0!==a?(a<<=1,a|=d,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}c=26}return i},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new k(e)},i(k,S),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},5461:function(e){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=90)}({17:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||""},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||""},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),o=e.getVersionPrecision(r),a=Math.max(i,o),s=0,c=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(".0");return e.map(n.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(n&&(s=a-Math.min(i,o)),a-=1;a>=s;){if(c[0][a]>c[1][a])return 1;if(c[0][a]===c[1][a]){if(a===s)return 0;a-=1}else if(c[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),c=s.default.find(a,(function(e){return t.isOS(e)}));if(c){var l=this.satisfies(r[c]);if(void 0!==l)return l}var u=s.default.find(a,(function(e){return t.isPlatform(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}}if(o>0){var h=Object.keys(i),f=s.default.find(h,(function(e){return t.isBrowser(e,!0)}));if(void 0!==f)return this.compareVersion(i[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=s.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if("string"==typeof i)return">"===e[0]||"<"===e[0]?(r=e.substr(1),"="===e[1]?(n=!0,r=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?r=e.substr(1):"~"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(s.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=l,e.exports=t.default},92:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},o=/version\/(\d+(\.?_?\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},r=i.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},r=i.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},r=i.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},r=i.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},r=i.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},r=i.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},r=i.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},r=i.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},r=i.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},r=i.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},r=i.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},r=i.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},r=i.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},r=i.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},r=i.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},r=i.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},r=i.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},r=i.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},r=i.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},r=i.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},r=i.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},r=i.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},r=i.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:"Android Browser"},r=i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},r=i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},r=i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},o=r(18),a=[{test:[/Roku\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:o.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:o.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:o.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),r=i.default.getMacOSVersionName(t),n={name:o.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:o.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:o.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),r={name:o.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||i.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:o.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:o.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:o.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},o=r(18),a=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",r={type:o.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(r.model=t),r}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:o.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},o=r(18),a=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:o.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:o.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:o.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:o.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:o.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:o.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:o.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})},2604:(e,t,r)=>{var n;function i(e){this.rand=e}if(e.exports=function(e){return n||(n=new i(null)),n.generate(e)},e.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r{var n=r(8306);e.exports=n("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},8437:(e,t,r)=>{"use strict";var n=r(7994),i=r(8608).Buffer;e.exports=function(e){function t(t){var r=t.slice(0,-4),n=t.slice(-4),i=e(r);if(!(n[0]^i[0]|n[1]^i[1]|n[2]^i[2]|n[3]^i[3]))return r}return{encode:function(t){var r=e(t);return n.encode(i.concat([t,r],t.length+4))},decode:function(e){var r=t(n.decode(e));if(!r)throw new Error("Invalid checksum");return r},decodeUnsafe:function(e){var r=n.decodeUnsafe(e);if(r)return t(r)}}}},2104:(e,t,r)=>{"use strict";var n=r(6764),i=r(8437);e.exports=i((function(e){var t=n("sha256").update(e).digest();return n("sha256").update(t).digest()}))},261:(e,t,r)=>{"use strict";const n=r(4505),i=r(4574),o="function"===typeof Symbol&&"function"===typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=c,t.SlowBuffer=function(e){+e!=e&&(e=0);return c.alloc(+e)},t.INSPECT_MAX_BYTES=50;const a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"===typeof e){if("string"===typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return d(e)}return l(e,t,r)}function l(e,t,r){if("string"===typeof e)return function(e,t){"string"===typeof t&&""!==t||(t="utf8");if(!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|m(e,t);let n=s(r);const i=n.write(e,t);i!==r&&(n=n.slice(0,i));return n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Y(e,Uint8Array)){const t=new Uint8Array(e);return f(t.buffer,t.byteOffset,t.byteLength)}return h(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Y(e,ArrayBuffer)||e&&Y(e.buffer,ArrayBuffer))return f(e,t,r);if("undefined"!==typeof SharedArrayBuffer&&(Y(e,SharedArrayBuffer)||e&&Y(e.buffer,SharedArrayBuffer)))return f(e,t,r);if("number"===typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,r);const i=function(e){if(c.isBuffer(e)){const t=0|p(e.length),r=s(t);return 0===r.length||e.copy(r,0,0,t),r}if(void 0!==e.length)return"number"!==typeof e.length||Z(e.length)?s(0):h(e);if("Buffer"===e.type&&Array.isArray(e.data))return h(e.data)}(e);if(i)return i;if("undefined"!==typeof Symbol&&null!=Symbol.toPrimitive&&"function"===typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!==typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function d(e){return u(e),s(e<0?0:0|p(e))}function h(e){const t=e.length<0?0:0|p(e.length),r=s(t);for(let n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function m(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Y(e,ArrayBuffer))return e.byteLength;if("string"!==typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return K(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return W(e).length;default:if(i)return n?-1:K(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return j(this,t,r);case"utf8":case"utf-8":return P(this,t,r);case"ascii":return A(this,t,r);case"latin1":case"binary":return T(this,t,r);case"base64":return E(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function v(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function y(e,t,r,n,i){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Z(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"===typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:b(e,t,r,n,i);if("number"===typeof t)return t&=255,"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):b(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,r,n,i){let o,a=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,c/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let n=-1;for(o=r;os&&(r=s-c),o=r;o>=0;o--){let r=!0;for(let n=0;ni&&(n=i):n=i;const o=t.length;let a;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function E(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function P(e,t,r){r=Math.min(e.length,r);const n=[];let i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+a<=r){let r,n,s,c;switch(a){case 1:t<128&&(o=t);break;case 2:r=e[i+1],128===(192&r)&&(c=(31&t)<<6|63&r,c>127&&(o=c));break;case 3:r=e[i+1],n=e[i+2],128===(192&r)&&128===(192&n)&&(c=(15&t)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(o=c));break;case 4:r=e[i+1],n=e[i+2],s=e[i+3],128===(192&r)&&128===(192&n)&&128===(192&s)&&(c=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&s,c>65535&&c<1114112&&(o=c))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=a}return function(e){const t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(c.isBuffer(t)||(t=c.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!c.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},c.byteLength=m,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(e+=" ... "),""},o&&(c.prototype[o]=c.prototype.inspect),c.prototype.compare=function(e,t,r,n,i){if(Y(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0);const s=Math.min(o,a),l=this.slice(n,i),u=e.slice(t,r);for(let c=0;c>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return w(this,e,t,r);case"utf8":case"utf-8":return x(this,e,t,r);case"ascii":case"latin1":case"binary":return _(this,e,t,r);case"base64":return S(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const O=4096;function A(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let o=t;or)throw new RangeError("Trying to access beyond buffer length")}function I(e,t,r,n,i,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function M(e,t,r,n,i){$(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,r}function L(e,t,r,n,i){$(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o>>=8,e[r+6]=o,o>>=8,e[r+5]=o,o>>=8,e[r+4]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=a,a>>=8,e[r+2]=a,a>>=8,e[r+1]=a,a>>=8,e[r]=a,r+8}function N(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function D(e,t,r,n,o){return t=+t,r>>>=0,o||N(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function B(e,t,r,n,o){return t=+t,r>>>=0,o||N(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||R(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>=0,t>>>=0,r||R(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readBigUInt64LE=J((function(e){H(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||V(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||V(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||R(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||R(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readBigInt64LE=J((function(e){H(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||V(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||V(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||R(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t>>>=0,r>>>=0,!n){I(this,e,t,r,Math.pow(2,8*r)-1,0)}let i=1,o=0;for(this[t]=255&e;++o>>=0,r>>>=0,!n){I(this,e,t,r,Math.pow(2,8*r)-1,0)}let i=r-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigUInt64LE=J((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeBigUInt64BE=J((function(e,t=0){return L(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);I(this,e,t,r,n-1,-n)}let i=0,o=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+r},c.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);I(this,e,t,r,n-1,-n)}let i=r-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigInt64LE=J((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeBigInt64BE=J((function(e,t=0){return L(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return B(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return B(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function $(e,t,r,n,i,o){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new z.ERR_OUT_OF_RANGE("value",i,e)}!function(e,t,r){H(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||V(t,e.length-(r+1))}(n,i,o)}function H(e,t){if("number"!==typeof e)throw new z.ERR_INVALID_ARG_TYPE(t,"number",e)}function V(e,t,r){if(Math.floor(e)!==e)throw H(e,r),new z.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new z.ERR_BUFFER_OUT_OF_BOUNDS;throw new z.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}U("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),U("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),U("ERR_OUT_OF_RANGE",(function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=F(String(r)):"bigint"===typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=F(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n}),RangeError);const q=/[^+/0-9A-Za-z-_]/g;function K(e,t){let r;t=t||1/0;const n=e.length;let i=null;const o=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function W(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(q,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function G(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Y(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Z(e){return e!==e}const X=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function J(e){return"undefined"===typeof BigInt?Q:e}function Q(){throw new Error("BigInt not supported")}},6894:(e,t,r)=>{var n=r(8608).Buffer,i=r(1584).Transform,o=r(1778).s;function a(e){i.call(this),this.hashMode="string"===typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(7110)(a,i),a.prototype.update=function(e,t,r){"string"===typeof e&&(e=n.from(e,t));var i=this._update(e);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},a.prototype.setAutoPadding=function(){},a.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},a.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},a.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},a.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(i){n=i}finally{r(n)}},a.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)},a.prototype._finalOrDigest=function(e){var t=this.__final()||n.alloc(0);return e&&(t=this._toString(t,e,!0)),t},a.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new o(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n},e.exports=a},3998:(e,t)=>{var r;!function(){"use strict";var n={}.hasOwnProperty;function i(){for(var e=[],t=0;t{"use strict";var n=r(7110),i=r(9137),o=r(8816),a=r(7372),s=r(6894);function c(e){s.call(this,"digest"),this._hash=e}n(c,s),c.prototype._update=function(e){this._hash.update(e)},c.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new i:"rmd160"===e||"ripemd160"===e?new o:new c(a(e))}},6199:(e,t,r)=>{var n=r(9137);e.exports=function(e){return(new n).update(e).digest()}},9775:function(e,t){var r="undefined"!==typeof self?self:this,n=function(){function e(){this.fetch=!1,this.DOMException=r.DOMException}return e.prototype=r,new e}();!function(e){!function(t){var r="URLSearchParams"in e,n="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in e,a="ArrayBuffer"in e;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function l(e){if("string"!==typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function u(e){return"string"!==typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function h(e){this.map={},e instanceof h?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function f(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function p(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function m(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"===typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"===typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(m)}),this.text=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return function(e){var t=new FileReader,r=p(t);return t.readAsText(e),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function w(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function x(e){var t=new h;return e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t}function _(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new h(t.headers),this.url=t.url||"",this._initBody(e)}b.prototype.clone=function(){return new b(this,{body:this._bodyInit})},v.call(b.prototype),v.call(_.prototype),_.prototype.clone=function(){return new _(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},_.error=function(){var e=new _(null,{status:0,statusText:""});return e.type="error",e};var S=[301,302,303,307,308];_.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError("Invalid status code");return new _(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(E){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function k(e,r){return new Promise((function(n,o){var a=new b(e,r);if(a.signal&&a.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var e={status:s.status,statusText:s.statusText,headers:x(s.getAllResponseHeaders()||"")};e.url="responseURL"in s?s.responseURL:e.headers.get("X-Request-URL");var t="response"in s?s.response:s.responseText;n(new _(t,e))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&i&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send("undefined"===typeof a._bodyInit?null:a._bodyInit)}))}k.polyfill=!0,e.fetch||(e.fetch=k,e.Headers=h,e.Request=b,e.Response=_),t.Headers=h,t.Request=b,t.Response=_,t.fetch=k,Object.defineProperty(t,"__esModule",{value:!0})}({})}(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var i=n;(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},8726:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"===typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===r}(e)}(e)};var r="function"===typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?c((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function i(e,t,r){return e.concat(t).map((function(e){return n(e,r)}))}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function a(e,t){try{return t in e}catch(r){return!1}}function s(e,t,r){var i={};return r.isMergeableObject(e)&&o(e).forEach((function(t){i[t]=n(e[t],r)})),o(t).forEach((function(o){(function(e,t){return a(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(a(e,o)&&r.isMergeableObject(t[o])?i[o]=function(e,t){if(!t.customMerge)return c;var r=t.customMerge(e);return"function"===typeof r?r:c}(o,r)(e[o],t[o],r):i[o]=n(t[o],r))})),i}function c(e,r,o){(o=o||{}).arrayMerge=o.arrayMerge||i,o.isMergeableObject=o.isMergeableObject||t,o.cloneUnlessOtherwiseSpecified=n;var a=Array.isArray(r);return a===Array.isArray(e)?a?o.arrayMerge(e,r,o):s(e,r,o):n(r,o)}c.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return c(e,r,t)}),{})};var l=c;e.exports=l},632:(e,t,r)=>{"use strict";var n=t;n.version=r(8597).i8,n.utils=r(1185),n.rand=r(2604),n.curve=r(4531),n.curves=r(8946),n.ec=r(1135),n.eddsa=r(3661)},3539:(e,t,r)=>{"use strict";var n=r(5081),i=r(1185),o=i.getNAF,a=i.getJSF,s=i.assert;function c(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function l(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=c,c.prototype.point=function(){throw new Error("Not implemented")},c.prototype.validate=function(){throw new Error("Not implemented")},c.prototype._fixedNafMul=function(e,t){s(e.precomputed);var r=e._getDoubles(),n=o(t,1,this._bitLength),i=(1<=a;u--)c=(c<<1)+n[u];l.push(c)}for(var d=this.jpoint(null,null,null),h=this.jpoint(null,null,null),f=i;f>0;f--){for(a=0;a=0;l--){for(var u=0;l>=0&&0===a[l];l--)u++;if(l>=0&&u++,c=c.dblp(u),l<0)break;var d=a[l];s(0!==d),c="affine"===e.type?d>0?c.mixedAdd(i[d-1>>1]):c.mixedAdd(i[-d-1>>1].neg()):d>0?c.add(i[d-1>>1]):c.add(i[-d-1>>1].neg())}return"affine"===e.type?c.toP():c},c.prototype._wnafMulAdd=function(e,t,r,n,i){var s,c,l,u=this._wnafT1,d=this._wnafT2,h=this._wnafT3,f=0;for(s=0;s=1;s-=2){var m=s-1,g=s;if(1===u[m]&&1===u[g]){var v=[t[m],null,null,t[g]];0===t[m].y.cmp(t[g].y)?(v[1]=t[m].add(t[g]),v[2]=t[m].toJ().mixedAdd(t[g].neg())):0===t[m].y.cmp(t[g].y.redNeg())?(v[1]=t[m].toJ().mixedAdd(t[g]),v[2]=t[m].add(t[g].neg())):(v[1]=t[m].toJ().mixedAdd(t[g]),v[2]=t[m].toJ().mixedAdd(t[g].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],b=a(r[m],r[g]);for(f=Math.max(b[0].length,f),h[m]=new Array(f),h[g]=new Array(f),c=0;c=0;s--){for(var k=0;s>=0;){var E=!0;for(c=0;c=0&&k++,_=_.dblp(k),s<0)break;for(c=0;c0?l=d[c][P-1>>1]:P<0&&(l=d[c][-P-1>>1].neg()),_="affine"===l.type?_.mixedAdd(l):_.add(l))}}for(s=0;s=Math.ceil((e.bitLength()+1)/t.step)},l.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i{"use strict";var n=r(1185),i=r(5081),o=r(7110),a=r(3539),s=n.assert;function c(e){this.twisted=1!==(0|e.a),this.mOneA=this.twisted&&-1===(0|e.a),this.extended=this.mOneA,a.call(this,"edwards",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1===(0|e.c)}function l(e,t,r,n,o){a.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(t,16),this.y=new i(r,16),this.z=n?new i(n,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(c,a),e.exports=c,c.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},c.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},c.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},c.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=n.redMul(o.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var c=s.fromRed().isOdd();return(t&&!c||!t&&c)&&(s=s.redNeg()),this.point(e,s)},c.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=n.redMul(o.redInvm());if(0===a.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},c.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(i)},o(l,a.BasePoint),c.prototype.pointFromJSON=function(e){return l.fromJSON(this,e)},c.prototype.point=function(e,t,r,n){return new l(this,e,t,r,n)},l.fromJSON=function(e,t){return new l(e,t[0],t[1],t[2])},l.prototype.inspect=function(){return this.isInfinity()?"":""},l.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},l.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=n.redAdd(t),a=o.redSub(r),s=n.redSub(t),c=i.redMul(a),l=o.redMul(s),u=i.redMul(s),d=a.redMul(o);return this.curve.point(c,l,d,u)},l.prototype._projDbl=function(){var e,t,r,n,i,o,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),c=this.y.redSqr();if(this.curve.twisted){var l=(n=this.curve._mulA(s)).redAdd(c);this.zOne?(e=a.redSub(s).redSub(c).redMul(l.redSub(this.curve.two)),t=l.redMul(n.redSub(c)),r=l.redSqr().redSub(l).redSub(l)):(i=this.z.redSqr(),o=l.redSub(i).redISub(i),e=a.redSub(s).redISub(c).redMul(o),t=l.redMul(n.redSub(c)),r=l.redMul(o))}else n=s.redAdd(c),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),e=this.curve._mulC(a.redISub(n)).redMul(o),t=this.curve._mulC(n).redMul(s.redISub(c)),r=n.redMul(o);return this.curve.point(e,t,r)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},l.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),o=r.redSub(t),a=i.redSub(n),s=i.redAdd(n),c=r.redAdd(t),l=o.redMul(a),u=s.redMul(c),d=o.redMul(c),h=a.redMul(s);return this.curve.point(l,u,h,d)},l.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),i=n.redSqr(),o=this.x.redMul(e.x),a=this.y.redMul(e.y),s=this.curve.d.redMul(o).redMul(a),c=i.redSub(s),l=i.redAdd(s),u=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(a),d=n.redMul(c).redMul(u);return this.curve.twisted?(t=n.redMul(l).redMul(a.redSub(this.curve._mulA(o))),r=c.redMul(l)):(t=n.redMul(l).redMul(a.redSub(o)),r=this.curve._mulC(c).redMul(l)),this.curve.point(d,t,r)},l.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},l.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},l.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},l.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},l.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()},l.prototype.getY=function(){return this.normalize(),this.y.fromRed()},l.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},l.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},l.prototype.toP=l.prototype.normalize,l.prototype.mixedAdd=l.prototype.add},4531:(e,t,r)=>{"use strict";var n=t;n.base=r(3539),n.short=r(1040),n.mont=r(5575),n.edwards=r(3423)},5575:(e,t,r)=>{"use strict";var n=r(5081),i=r(7110),o=r(3539),a=r(1185);function s(e){o.call(this,"mont",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function c(e,t,r){o.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(s,o),e.exports=s,s.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},i(c,o.BasePoint),s.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},s.prototype.point=function(e,t){return new c(this,e,t)},s.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},c.prototype.precompute=function(){},c.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},c.fromJSON=function(e,t){return new c(e,t[0],t[1]||e.one)},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},c.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),i=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},c.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(r),a=i.redMul(n),s=t.z.redMul(o.redAdd(a).redSqr()),c=t.x.redMul(o.redISub(a).redSqr());return this.curve.point(s,c)},c.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},c.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},c.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},1040:(e,t,r)=>{"use strict";var n=r(1185),i=r(5081),o=r(7110),a=r(3539),s=n.assert;function c(e){a.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function l(e,t,r,n){a.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function u(e,t,r,n){a.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(c,a),e.exports=c,c.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new i(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?r=o[0]:(r=o[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(r)}}},c.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),r=new i(2).toRed(t).redInvm(),n=r.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},c.prototype._getEndoBasis=function(e){for(var t,r,n,o,a,s,c,l,u,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=e,f=this.n.clone(),p=new i(1),m=new i(0),g=new i(0),v=new i(1),y=0;0!==h.cmpn(0);){var b=f.div(h);l=f.sub(b.mul(h)),u=g.sub(b.mul(p));var w=v.sub(b.mul(m));if(!n&&l.cmp(d)<0)t=c.neg(),r=p,n=l.neg(),o=u;else if(n&&2===++y)break;c=l,f=h,h=l,g=p,p=u,v=m,m=w}a=l.neg(),s=u;var x=n.sqr().add(o.sqr());return a.sqr().add(s.sqr()).cmp(x)>=0&&(a=t,s=r),n.negative&&(n=n.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:o},{a:a,b:s}]},c.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),c=i.mul(r.b),l=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:c.add(l).neg()}},c.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},c.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},c.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},l.prototype.isInfinity=function(){return this.inf},l.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},l.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},l.prototype.getX=function(){return this.x.fromRed()},l.prototype.getY=function(){return this.y.fromRed()},l.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},l.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},l.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},l.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},l.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(u,a.BasePoint),c.prototype.jpoint=function(e,t,r){return new u(this,e,t,r)},u.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},u.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},u.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),s=n.redSub(i),c=o.redSub(a);if(0===s.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=s.redSqr(),u=l.redMul(s),d=n.redMul(l),h=c.redSqr().redIAdd(u).redISub(d).redISub(d),f=c.redMul(d.redISub(h)).redISub(o.redMul(u)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(h,f,p)},u.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),l=c.redMul(a),u=r.redMul(c),d=s.redSqr().redIAdd(l).redISub(u).redISub(u),h=s.redMul(u.redISub(d)).redISub(i.redMul(l)),f=this.z.redMul(a);return this.curve.jpoint(d,h,f)},u.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},8946:(e,t,r)=>{"use strict";var n,i=t,o=r(9950),a=r(4531),s=r(1185).assert;function c(e){"short"===e.type?this.curve=new a.short(e):"edwards"===e.type?this.curve=new a.edwards(e):this.curve=new a.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function l(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new c(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=c,l("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),l("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),l("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),l("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),l("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),l("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),l("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=r(1086)}catch(u){n=void 0}l("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},1135:(e,t,r)=>{"use strict";var n=r(5081),i=r(7690),o=r(1185),a=r(8946),s=r(2604),c=o.assert,l=r(853),u=r(5333);function d(e){if(!(this instanceof d))return new d(e);"string"===typeof e&&(c(Object.prototype.hasOwnProperty.call(a,e),"Unknown curve "+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=d,d.prototype.keyPair=function(e){return new l(this,e)},d.prototype.keyFromPrivate=function(e,t){return l.fromPrivate(this,e,t)},d.prototype.keyFromPublic=function(e,t){return l.fromPublic(this,e,t)},d.prototype.genKeyPair=function(e){e||(e={});for(var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||s(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var a=new n(t.generate(r));if(!(a.cmp(o)>0))return a.iaddn(1),this.keyFromPrivate(a)}},d.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},d.prototype.sign=function(e,t,r,o){"object"===typeof r&&(o=r,r=null),o||(o={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var a=this.n.byteLength(),s=t.getPrivate().toArray("be",a),c=e.toArray("be",a),l=new i({hash:this.hash,entropy:s,nonce:c,pers:o.pers,persEnc:o.persEnc||"utf8"}),d=this.n.sub(new n(1)),h=0;;h++){var f=o.k?o.k(h):new n(l.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(d)>=0)){var p=this.g.mul(f);if(!p.isInfinity()){var m=p.getX(),g=m.umod(this.n);if(0!==g.cmpn(0)){var v=f.invm(this.n).mul(g.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var y=(p.getY().isOdd()?1:0)|(0!==m.cmp(g)?2:0);return o.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),y^=1),new u({r:g,s:v,recoveryParam:y})}}}}}},d.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var o=(t=new u(t,"hex")).r,a=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s,c=a.invm(this.n),l=c.mul(e).umod(this.n),d=c.mul(o).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(l,r.getPublic(),d)).isInfinity()&&s.eqXToP(o):!(s=this.g.mulAdd(l,r.getPublic(),d)).isInfinity()&&0===s.getX().umod(this.n).cmp(o)},d.prototype.recoverPubKey=function(e,t,r,i){c((3&r)===r,"The recovery param is more than two bits"),t=new u(t,i);var o=this.n,a=new n(e),s=t.r,l=t.s,d=1&r,h=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");s=h?this.curve.pointFromX(s.add(this.curve.n),d):this.curve.pointFromX(s,d);var f=t.r.invm(o),p=o.sub(a).mul(f).umod(o),m=l.mul(f).umod(o);return this.g.mulAdd(p,s,m)},d.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new u(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},853:(e,t,r)=>{"use strict";var n=r(5081),i=r(1185).assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"===typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.validate()||i(e.validate(),"public point not validated"),e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return""}},5333:(e,t,r)=>{"use strict";var n=r(5081),i=r(1185),o=i.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function s(){this.place=0}function c(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=t.place;o>>=0;return!(i<=127)&&(t.place=a,i)}function l(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}e.exports=a,a.prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new s;if(48!==e[r.place++])return!1;var o=c(e,r);if(!1===o)return!1;if(o+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var a=c(e,r);if(!1===a)return!1;var l=e.slice(r.place,a+r.place);if(r.place+=a,2!==e[r.place++])return!1;var u=c(e,r);if(!1===u)return!1;if(e.length!==u+r.place)return!1;var d=e.slice(r.place,u+r.place);if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}if(0===d[0]){if(!(128&d[1]))return!1;d=d.slice(1)}return this.r=new n(l),this.s=new n(d),this.recoveryParam=null,!0},a.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=l(t),r=l(r);!r[0]&&!(128&r[1]);)r=r.slice(1);var n=[2];u(n,t.length),(n=n.concat(t)).push(2),u(n,r.length);var o=n.concat(r),a=[48];return u(a,o.length),a=a.concat(o),i.encode(a,e)}},3661:(e,t,r)=>{"use strict";var n=r(9950),i=r(8946),o=r(1185),a=o.assert,s=o.parseBytes,c=r(493),l=r(6352);function u(e){if(a("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof u))return new u(e);e=i[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}e.exports=u,u.prototype.sign=function(e,t){e=s(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),e).mul(r.priv()),c=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:c,Rencoded:o})},u.prototype.verify=function(e,t,r){e=s(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),i=this.hashInt(t.Rencoded(),n.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(n.pub().mul(i)).eq(o)},u.prototype.hashInt=function(){for(var e=this.hash(),t=0;t{"use strict";var n=r(1185),i=n.assert,o=n.parseBytes,a=n.cachedProperty;function s(e,t){this.eddsa=e,this._secret=o(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=o(t.pub)}s.fromPublic=function(e,t){return t instanceof s?t:new s(e,{pub:t})},s.fromSecret=function(e,t){return t instanceof s?t:new s(e,{secret:t})},s.prototype.secret=function(){return this._secret},a(s,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),a(s,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),a(s,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),a(s,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),a(s,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),a(s,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),s.prototype.sign=function(e){return i(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},s.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},s.prototype.getSecret=function(e){return i(this._secret,"KeyPair is public only"),n.encode(this.secret(),e)},s.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},e.exports=s},6352:(e,t,r)=>{"use strict";var n=r(5081),i=r(1185),o=i.assert,a=i.cachedProperty,s=i.parseBytes;function c(e,t){this.eddsa=e,"object"!==typeof t&&(t=s(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),o(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}a(c,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),a(c,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),a(c,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),a(c,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),c.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},c.prototype.toHex=function(){return i.encode(this.toBytes(),"hex").toUpperCase()},e.exports=c},1086:e=>{e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},1185:(e,t,r)=>{"use strict";var n=t,i=r(5081),o=r(3859),a=r(9475);n.assert=o,n.toArray=a.toArray,n.zero2=a.zero2,n.toHex=a.toHex,n.encode=a.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-c:c,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},n.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var a,s,c=e.andln(3)+i&3,l=t.andln(3)+o&3;3===c&&(c=-1),3===l&&(l=-1),a=0===(1&c)?0:3!==(n=e.andln(7)+i&7)&&5!==n||2!==l?c:-c,r[0].push(a),s=0===(1&l)?0:3!==(n=t.andln(7)+o&7)&&5!==n||2!==c?l:-l,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"===typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},4420:e=>{"use strict";function t(e,t){for(const r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}e.exports=function(e,r,n){if(!e||"string"===typeof e)throw new TypeError("Please pass an Error to err-code");n||(n={}),"object"===typeof r&&(n=r,r=void 0),null!=r&&(n.code=r);try{return t(e,n)}catch(i){n.message=e.message,n.stack=e.stack;const r=function(){};return r.prototype=Object.create(Object.getPrototypeOf(e)),t(new r,n)}}},9197:(e,t,r)=>{"use strict";t.wn=void 0;const n=r(9431),i=r(7124);(0,i.wrapHash)(n.keccak_224),t.wn=(()=>{const e=(0,i.wrapHash)(n.keccak_256);return e.create=n.keccak_256.create,e})(),(0,i.wrapHash)(n.keccak_384),(0,i.wrapHash)(n.keccak_512)},7124:function(e,t,r){"use strict";e=r.nmd(e);var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.crypto=t.wrapHash=t.equalsBytes=t.hexToBytes=t.bytesToUtf8=t.utf8ToBytes=t.createView=t.concatBytes=t.toHex=t.bytesToHex=t.assertBytes=t.assertBool=void 0;const i=n(r(9738)),o=r(6413),a=i.default.bool;t.assertBool=a;const s=i.default.bytes;t.assertBytes=s;var c=r(6413);Object.defineProperty(t,"bytesToHex",{enumerable:!0,get:function(){return c.bytesToHex}}),Object.defineProperty(t,"toHex",{enumerable:!0,get:function(){return c.bytesToHex}}),Object.defineProperty(t,"concatBytes",{enumerable:!0,get:function(){return c.concatBytes}}),Object.defineProperty(t,"createView",{enumerable:!0,get:function(){return c.createView}}),Object.defineProperty(t,"utf8ToBytes",{enumerable:!0,get:function(){return c.utf8ToBytes}}),t.bytesToUtf8=function(e){if(!(e instanceof Uint8Array))throw new TypeError("bytesToUtf8 expected Uint8Array, got "+typeof e);return(new TextDecoder).decode(e)},t.hexToBytes=function(e){const t=e.startsWith("0x")?e.substring(2):e;return(0,o.hexToBytes)(t)},t.equalsBytes=function(e,t){if(e.length!==t.length)return!1;for(let r=0;r(i.default.bytes(t),e(t))},t.crypto=(()=>{const t="object"===typeof self&&"crypto"in self?self.crypto:void 0,r="function"===typeof e.require&&e.require.bind(e);return{node:r&&!t?r("crypto"):void 0,web:t}})()},5121:e=>{"use strict";var t,r="object"===typeof Reflect?Reflect:null,n=r&&"function"===typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"===typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!==e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,o),n(r)}function o(){"function"===typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}m(e,t,o,{once:!0}),"error"!==t&&function(e,t,r){"function"===typeof e.on&&m(e,"error",t,r)}(e,i,{once:!0})}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var a=10;function s(e){if("function"!==typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,r,n){var i,o,a,l;if(s(r),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),a=o[t]),void 0===a)a=o[t]=r,++e._eventsCount;else if("function"===typeof a?a=o[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(i=c(e))>0&&a.length>i&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,l=u,console&&console.warn&&console.warn(l)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=u.bind(n);return i.listener=r,n.wrapFn=i,i}function h(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"===typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=o[e];if(void 0===c)return!1;if("function"===typeof c)n(c,this,t);else{var l=c.length,u=p(c,l);for(r=0;r=0;o--)if(r[o]===t||r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return h(this,e,!0)},o.prototype.rawListeners=function(e){return h(this,e,!1)},o.listenerCount=function(e,t){return"function"===typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},o.prototype.listenerCount=f,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},3002:e=>{"use strict";e.exports=function(e,t){t||(t={}),"function"===typeof t&&(t={cmp:t});var r,n="boolean"===typeof t.cycles&&t.cycles,i=t.cmp&&(r=t.cmp,function(e){return function(t,n){var i={key:t,value:e[t]},o={key:n,value:e[n]};return r(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"===typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!==typeof t)return JSON.stringify(t);var r,a;if(Array.isArray(t)){for(a="[",r=0;r{"use strict";var n=r(8608).Buffer,i=r(7488).Transform;function o(e){i.call(this),this._block=n.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(7110)(o,i),o.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!n.isBuffer(e)&&"string"!==typeof e)throw new TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");n.isBuffer(e)||(e=n.from(e,t));for(var r=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var o=this._blockOffset;o0;++a)this._length[a]+=s,(s=this._length[a]/4294967296|0)>0&&(this._length[a]-=4294967296*s);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},9950:(e,t,r)=>{var n=t;n.utils=r(8517),n.common=r(1619),n.sha=r(9669),n.ripemd=r(8110),n.hmac=r(836),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},1619:(e,t,r)=>{"use strict";var n=r(8517),i=r(3859);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=o,o.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o{"use strict";var n=r(8517),i=r(3859);function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t{"use strict";var n=r(8517),i=r(1619),o=n.rotl32,a=n.sum32,s=n.sum32_3,c=n.sum32_4,l=i.BlockHash;function u(){if(!(this instanceof u))return new u;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function d(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function h(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function f(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(u,l),t.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],l=this.h[3],u=this.h[4],y=r,b=n,w=i,x=l,_=u,S=0;S<80;S++){var k=a(o(c(r,d(S,n,i,l),e[p[S]+t],h(S)),g[S]),u);r=u,u=l,l=o(i,10),i=n,n=k,k=a(o(c(y,d(79-S,b,w,x),e[m[S]+t],f(S)),v[S]),_),y=_,_=x,x=o(w,10),w=b,b=k}k=s(this.h[1],i,x),this.h[1]=s(this.h[2],l,_),this.h[2]=s(this.h[3],u,y),this.h[3]=s(this.h[4],r,b),this.h[4]=s(this.h[0],n,w),this.h[0]=k},u.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],v=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},9669:(e,t,r)=>{"use strict";t.sha1=r(4426),t.sha224=r(3010),t.sha256=r(9202),t.sha384=r(3238),t.sha512=r(1911)},4426:(e,t,r)=>{"use strict";var n=r(8517),i=r(1619),o=r(9535),a=n.rotl32,s=n.sum32,c=n.sum32_5,l=o.ft_1,u=i.BlockHash,d=[1518500249,1859775393,2400959708,3395469782];function h(){if(!(this instanceof h))return new h;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(h,u),e.exports=h,h.blockSize=512,h.outSize=160,h.hmacStrength=80,h.padLength=64,h.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(8517),i=r(9202);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},9202:(e,t,r)=>{"use strict";var n=r(8517),i=r(1619),o=r(9535),a=r(3859),s=n.sum32,c=n.sum32_4,l=n.sum32_5,u=o.ch32,d=o.maj32,h=o.s0_256,f=o.s1_256,p=o.g0_256,m=o.g1_256,g=i.BlockHash,v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}n.inherits(y,g),e.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(8517),i=r(1911);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},1911:(e,t,r)=>{"use strict";var n=r(8517),i=r(1619),o=r(3859),a=n.rotr64_hi,s=n.rotr64_lo,c=n.shr64_hi,l=n.shr64_lo,u=n.sum64,d=n.sum64_hi,h=n.sum64_lo,f=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,g=n.sum64_5_lo,v=i.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function b(){if(!(this instanceof b))return new b;v.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}function w(e,t,r,n,i){var o=e&r^~e&i;return o<0&&(o+=4294967296),o}function x(e,t,r,n,i,o){var a=t&n^~t&o;return a<0&&(a+=4294967296),a}function _(e,t,r,n,i){var o=e&r^e&i^r&i;return o<0&&(o+=4294967296),o}function S(e,t,r,n,i,o){var a=t&n^t&o^n&o;return a<0&&(a+=4294967296),a}function k(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function E(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}function P(e,t){var r=a(e,t,14)^a(e,t,18)^a(t,e,9);return r<0&&(r+=4294967296),r}function O(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}function A(e,t){var r=a(e,t,1)^a(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function T(e,t){var r=s(e,t,1)^s(e,t,8)^l(e,t,7);return r<0&&(r+=4294967296),r}function j(e,t){var r=a(e,t,19)^a(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}function C(e,t){var r=s(e,t,19)^s(t,e,29)^l(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(b,v),e.exports=b,b.blockSize=1024,b.outSize=512,b.hmacStrength=192,b.padLength=128,b.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(8517).rotr32;function i(e,t,r){return e&t^~e&r}function o(e,t,r){return e&t^e&r^t&r}function a(e,t,r){return e^t^r}t.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?a(t,r,n):2===e?o(t,r,n):void 0},t.ch32=i,t.maj32=o,t.p32=a,t.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},t.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},t.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},t.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},8517:(e,t,r)=>{"use strict";var n=r(3859),i=r(7110);function o(e,t){return 55296===(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320===(64512&e.charCodeAt(t+1)))}function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function c(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"===typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!==0&&(e="0"+e),i=0;i>6|192,r[n++]=63&a|128):o(e,i)?(a=65536+((1023&a)<<10)+(1023&e.charCodeAt(++i)),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=63&a|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=63&a|128)}else for(i=0;i>>0}return a},t.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},t.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},t.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,r,n){return(t+n>>>0>>0},t.sum64_lo=function(e,t,r,n){return t+n>>>0},t.sum64_4_hi=function(e,t,r,n,i,o,a,s){var c=0,l=t;return c+=(l=l+n>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},t.sum64_5_hi=function(e,t,r,n,i,o,a,s,c,l){var u=0,d=t;return u+=(d=d+n>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,r,n,i,o,a,s,c,l){return t+n+o+s+l>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},7690:(e,t,r)=>{"use strict";var n=r(9950),i=r(9475),o=r(3859);function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),r=i.toArray(e.nonce,e.nonceEnc||"hex"),n=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}e.exports=a,a.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},a.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!==typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length{"use strict";var n=r(3284),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function c(e){return n.isMemo(e)?a:s[e.$$typeof]||i}s[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[n.Memo]=a;var l=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,h=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,p=Object.prototype;e.exports=function e(t,r,n){if("string"!==typeof r){if(p){var i=f(r);i&&i!==p&&e(t,i,n)}var a=u(r);d&&(a=a.concat(d(r)));for(var s=c(t),m=c(r),g=0;g{"use strict";var r="function"===typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,i=r?Symbol.for("react.portal"):60106,o=r?Symbol.for("react.fragment"):60107,a=r?Symbol.for("react.strict_mode"):60108,s=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,l=r?Symbol.for("react.context"):60110,u=r?Symbol.for("react.async_mode"):60111,d=r?Symbol.for("react.concurrent_mode"):60111,h=r?Symbol.for("react.forward_ref"):60112,f=r?Symbol.for("react.suspense"):60113,p=r?Symbol.for("react.suspense_list"):60120,m=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116,v=r?Symbol.for("react.block"):60121,y=r?Symbol.for("react.fundamental"):60117,b=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function x(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case u:case d:case o:case s:case a:case f:return e;default:switch(e=e&&e.$$typeof){case l:case h:case g:case m:case c:return e;default:return t}}case i:return t}}}function _(e){return x(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=l,t.ContextProvider=c,t.Element=n,t.ForwardRef=h,t.Fragment=o,t.Lazy=g,t.Memo=m,t.Portal=i,t.Profiler=s,t.StrictMode=a,t.Suspense=f,t.isAsyncMode=function(e){return _(e)||x(e)===u},t.isConcurrentMode=_,t.isContextConsumer=function(e){return x(e)===l},t.isContextProvider=function(e){return x(e)===c},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return x(e)===h},t.isFragment=function(e){return x(e)===o},t.isLazy=function(e){return x(e)===g},t.isMemo=function(e){return x(e)===m},t.isPortal=function(e){return x(e)===i},t.isProfiler=function(e){return x(e)===s},t.isStrictMode=function(e){return x(e)===a},t.isSuspense=function(e){return x(e)===f},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===o||e===d||e===s||e===a||e===f||e===p||"object"===typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===c||e.$$typeof===l||e.$$typeof===h||e.$$typeof===y||e.$$typeof===b||e.$$typeof===w||e.$$typeof===v)},t.typeOf=x},3284:(e,t,r)=>{"use strict";e.exports=r(5358)},4574:(e,t)=>{t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,c=(1<>1,u=-7,d=r?i-1:0,h=r?-1:1,f=e[t+d];for(d+=h,o=f&(1<<-u)-1,f>>=-u,u+=s;u>0;o=256*o+e[t+d],d+=h,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=n;u>0;a=256*a+e[t+d],d+=h,u-=8);if(0===o)o=1-l;else{if(o===c)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),o-=l}return(f?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,c,l=8*o-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+d>=1?h/c:h*Math.pow(2,1-d))*c>=2&&(a++,c/=2),a+d>=u?(s=0,a=u):a+d>=1?(s=(t*c-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(a=a<0;e[r+f]=255&a,f+=p,a/=256,l-=8);e[r+f-p]|=128*m}},7110:e=>{"function"===typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},9930:(e,t,r)=>{"use strict";var n="undefined"!==typeof JSON?JSON:r(2151),i=Array.isArray||function(e){return"[object Array]"==={}.toString.call(e)},o=Object.keys||function(e){var t=Object.prototype.hasOwnProperty||function(){return!0},r=[];for(var n in e)t.call(e,n)&&r.push(n);return r};e.exports=function(e,t){t||(t={}),"function"===typeof t&&(t={cmp:t});var r=t.space||"";"number"===typeof r&&(r=Array(r+1).join(" "));var a,s="boolean"===typeof t.cycles&&t.cycles,c=t.replacer||function(e,t){return t},l=t.cmp&&(a=t.cmp,function(e){return function(t,r){var n={key:t,value:e[t]},i={key:r,value:e[r]};return a(n,i)}}),u=[];return function e(t,a,d,h){var f=r?"\n"+new Array(h+1).join(r):"",p=r?": ":":";if(d&&d.toJSON&&"function"===typeof d.toJSON&&(d=d.toJSON()),void 0!==(d=c.call(t,a,d))){if("object"!==typeof d||null===d)return n.stringify(d);if(i(d)){for(var m=[],g=0;g{"use strict";t.parse=r(6058),t.stringify=r(2869)},6058:e=>{"use strict";var t,r,n,i={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function o(e){throw{name:"SyntaxError",message:e,at:t,text:n}}function a(e){return e&&e!==r&&o("Expected '"+e+"' instead of '"+r+"'"),r=n.charAt(t),t+=1,r}function s(){var e,t="";for("-"===r&&(t="-",a("-"));r>="0"&&r<="9";)t+=r,a();if("."===r)for(t+=".";a()&&r>="0"&&r<="9";)t+=r;if("e"===r||"E"===r)for(t+=r,a(),"-"!==r&&"+"!==r||(t+=r,a());r>="0"&&r<="9";)t+=r,a();return e=Number(t),isFinite(e)||o("Bad number"),e}function c(){var e,t,n,s="";if('"'===r)for(;a();){if('"'===r)return a(),s;if("\\"===r)if(a(),"u"===r){for(n=0,t=0;t<4&&(e=parseInt(a(),16),isFinite(e));t+=1)n=16*n+e;s+=String.fromCharCode(n)}else{if("string"!==typeof i[r])break;s+=i[r]}else s+=r}o("Bad string")}function l(){for(;r&&r<=" ";)a()}function u(){switch(l(),r){case"{":return function(){var e,t={};if("{"===r){if(a("{"),l(),"}"===r)return a("}"),t;for(;r;){if(e=c(),l(),a(":"),Object.prototype.hasOwnProperty.call(t,e)&&o('Duplicate key "'+e+'"'),t[e]=u(),l(),"}"===r)return a("}"),t;a(","),l()}}o("Bad object")}();case"[":return function(){var e=[];if("["===r){if(a("["),l(),"]"===r)return a("]"),e;for(;r;){if(e.push(u()),l(),"]"===r)return a("]"),e;a(","),l()}}o("Bad array")}();case'"':return c();case"-":return s();default:return r>="0"&&r<="9"?s():function(){switch(r){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null;default:o("Unexpected '"+r+"'")}}()}}e.exports=function(e,i){var a;return n=e,t=0,r=" ",a=u(),l(),r&&o("Syntax error"),"function"===typeof i?function e(t,r){var n,o,a=t[r];if(a&&"object"===typeof a)for(n in u)Object.prototype.hasOwnProperty.call(a,n)&&("undefined"===typeof(o=e(a,n))?delete a[n]:a[n]=o);return i.call(t,r,a)}({"":a},""):a}},2869:e=>{"use strict";var t,r,n,i=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,o={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function a(e){return i.lastIndex=0,i.test(e)?'"'+e.replace(i,(function(e){var t=o[e];return"string"===typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}))+'"':'"'+e+'"'}function s(e,i){var o,c,l,u,d,h=t,f=i[e];switch(f&&"object"===typeof f&&"function"===typeof f.toJSON&&(f=f.toJSON(e)),"function"===typeof n&&(f=n.call(i,e,f)),typeof f){case"string":return a(f);case"number":return isFinite(f)?String(f):"null";case"boolean":case"null":return String(f);case"object":if(!f)return"null";if(t+=r,d=[],"[object Array]"===Object.prototype.toString.apply(f)){for(u=f.length,o=0;o{function t(e,t){e.onload=function(){this.onerror=this.onload=null,t(null,e)},e.onerror=function(){this.onerror=this.onload=null,t(new Error("Failed to load "+this.src),e)}}function r(e,t){e.onreadystatechange=function(){"complete"!=this.readyState&&"loaded"!=this.readyState||(this.onreadystatechange=null,t(null,e))}}e.exports=function(e,n,i){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("script");"function"===typeof n&&(i=n,n={}),n=n||{},i=i||function(){},a.type=n.type||"text/javascript",a.charset=n.charset||"utf8",a.async=!("async"in n)||!!n.async,a.src=e,n.attrs&&function(e,t){for(var r in t)e.setAttribute(r,t[r])}(a,n.attrs),n.text&&(a.text=""+n.text),("onload"in a?t:r)(a,i),a.onload||t(a,i),o.appendChild(a)}},1629:(e,t,r)=>{e=r.nmd(e);var n="__lodash_hash_undefined__",i=1,o=2,a=9007199254740991,s="[object Arguments]",c="[object Array]",l="[object AsyncFunction]",u="[object Boolean]",d="[object Date]",h="[object Error]",f="[object Function]",p="[object GeneratorFunction]",m="[object Map]",g="[object Number]",v="[object Null]",y="[object Object]",b="[object Promise]",w="[object Proxy]",x="[object RegExp]",_="[object Set]",S="[object String]",k="[object Symbol]",E="[object Undefined]",P="[object WeakMap]",O="[object ArrayBuffer]",A="[object DataView]",T=/^\[object .+?Constructor\]$/,j=/^(?:0|[1-9]\d*)$/,C={};C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C[s]=C[c]=C[O]=C[u]=C[A]=C[d]=C[h]=C[f]=C[m]=C[g]=C[y]=C[x]=C[_]=C[S]=C[P]=!1;var R="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,I="object"==typeof self&&self&&self.Object===Object&&self,M=R||I||Function("return this")(),L=t&&!t.nodeType&&t,N=L&&e&&!e.nodeType&&e,D=N&&N.exports===L,B=D&&R.process,z=function(){try{return B&&B.binding&&B.binding("util")}catch(e){}}(),U=z&&z.isTypedArray;function F(e,t){for(var r=-1,n=null==e?0:e.length;++rl))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var h=-1,f=!0,p=r&o?new Pe:void 0;for(s.set(e,t),s.set(t,e);++h-1},ke.prototype.set=function(e,t){var r=this.__data__,n=Te(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Ee.prototype.clear=function(){this.size=0,this.__data__={hash:new Se,map:new(de||ke),string:new Se}},Ee.prototype.delete=function(e){var t=De(this,e).delete(e);return this.size-=t?1:0,t},Ee.prototype.get=function(e){return De(this,e).get(e)},Ee.prototype.has=function(e){return De(this,e).has(e)},Ee.prototype.set=function(e,t){var r=De(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Pe.prototype.add=Pe.prototype.push=function(e){return this.__data__.set(e,n),this},Pe.prototype.has=function(e){return this.__data__.has(e)},Oe.prototype.clear=function(){this.__data__=new ke,this.size=0},Oe.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Oe.prototype.get=function(e){return this.__data__.get(e)},Oe.prototype.has=function(e){return this.__data__.has(e)},Oe.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ke){var n=r.__data__;if(!de||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ee(n)}return r.set(e,t),this.size=r.size,this};var ze=se?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r-1&&e%1==0&&e-1&&e%1==0&&e<=a}function Ye(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ze(e){return null!=e&&"object"==typeof e}var Xe=U?function(e){return function(t){return e(t)}}(U):function(e){return Ze(e)&&Ge(e.length)&&!!C[je(e)]};function Je(e){return null!=(t=e)&&Ge(t.length)&&!We(t)?Ae(e):Me(e);var t}e.exports=function(e,t){return Re(e,t)}},6331:(e,t,r)=>{e=r.nmd(e);var n="__lodash_hash_undefined__",i=9007199254740991,o="[object Arguments]",a="[object AsyncFunction]",s="[object Function]",c="[object GeneratorFunction]",l="[object Null]",u="[object Object]",d="[object Proxy]",h="[object Undefined]",f=/^\[object .+?Constructor\]$/,p=/^(?:0|[1-9]\d*)$/,m={};m["[object Float32Array]"]=m["[object Float64Array]"]=m["[object Int8Array]"]=m["[object Int16Array]"]=m["[object Int32Array]"]=m["[object Uint8Array]"]=m["[object Uint8ClampedArray]"]=m["[object Uint16Array]"]=m["[object Uint32Array]"]=!0,m[o]=m["[object Array]"]=m["[object ArrayBuffer]"]=m["[object Boolean]"]=m["[object DataView]"]=m["[object Date]"]=m["[object Error]"]=m[s]=m["[object Map]"]=m["[object Number]"]=m[u]=m["[object RegExp]"]=m["[object Set]"]=m["[object String]"]=m["[object WeakMap]"]=!1;var g="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,v="object"==typeof self&&self&&self.Object===Object&&self,y=g||v||Function("return this")(),b=t&&!t.nodeType&&t,w=b&&e&&!e.nodeType&&e,x=w&&w.exports===b,_=x&&g.process,S=function(){try{var e=w&&w.require&&w.require("util").types;return e||_&&_.binding&&_.binding("util")}catch(t){}}(),k=S&&S.isTypedArray;var E,P,O=Array.prototype,A=Function.prototype,T=Object.prototype,j=y["__core-js_shared__"],C=A.toString,R=T.hasOwnProperty,I=function(){var e=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),M=T.toString,L=C.call(Object),N=RegExp("^"+C.call(R).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),D=x?y.Buffer:void 0,B=y.Symbol,z=y.Uint8Array,U=D?D.allocUnsafe:void 0,F=(E=Object.getPrototypeOf,P=Object,function(e){return E(P(e))}),$=Object.create,H=T.propertyIsEnumerable,V=O.splice,q=B?B.toStringTag:void 0,K=function(){try{var e=ye(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),W=D?D.isBuffer:void 0,G=Math.max,Y=Date.now,Z=ye(y,"Map"),X=ye(Object,"create"),J=function(){function e(){}return function(t){if(!je(t))return{};if($)return $(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function Q(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1},ee.prototype.set=function(e,t){var r=this.__data__,n=ae(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},te.prototype.clear=function(){this.size=0,this.__data__={hash:new Q,map:new(Z||ee),string:new Q}},te.prototype.delete=function(e){var t=ve(this,e).delete(e);return this.size-=t?1:0,t},te.prototype.get=function(e){return ve(this,e).get(e)},te.prototype.has=function(e){return ve(this,e).has(e)},te.prototype.set=function(e,t){var r=ve(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},re.prototype.clear=function(){this.__data__=new ee,this.size=0},re.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},re.prototype.get=function(e){return this.__data__.get(e)},re.prototype.has=function(e){return this.__data__.has(e)},re.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ee){var n=r.__data__;if(!Z||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new te(n)}return r.set(e,t),this.size=r.size,this};var ce,le=function(e,t,r){for(var n=-1,i=Object(e),o=r(e),a=o.length;a--;){var s=o[ce?a:++n];if(!1===t(i[s],s,i))break}return e};function ue(e){return null==e?void 0===e?h:l:q&&q in Object(e)?function(e){var t=R.call(e,q),r=e[q];try{e[q]=void 0;var n=!0}catch(o){}var i=M.call(e);n&&(t?e[q]=r:delete e[q]);return i}(e):function(e){return M.call(e)}(e)}function de(e){return Ce(e)&&ue(e)==o}function he(e){return!(!je(e)||function(e){return!!I&&I in e}(e))&&(Ae(e)?N:f).test(function(e){if(null!=e){try{return C.call(e)}catch(t){}try{return e+""}catch(t){}}return""}(e))}function fe(e){if(!je(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=we(e),r=[];for(var n in e)("constructor"!=n||!t&&R.call(e,n))&&r.push(n);return r}function pe(e,t,r,n,i){e!==t&&le(t,(function(o,a){if(i||(i=new re),je(o))!function(e,t,r,n,i,o,a){var s=xe(e,r),c=xe(t,r),l=a.get(c);if(l)return void ie(e,r,l);var d=o?o(s,c,r+"",e,t,a):void 0,h=void 0===d;if(h){var f=Ee(c),p=!f&&Oe(c),m=!f&&!p&&Re(c);d=c,f||p||m?Ee(s)?d=s:Ce(g=s)&&Pe(g)?d=function(e,t){var r=-1,n=e.length;t||(t=Array(n));for(;++r-1&&e%1==0&&e0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(ge);function Se(e,t){return e===t||e!==e&&t!==t}var ke=de(function(){return arguments}())?de:function(e){return Ce(e)&&R.call(e,"callee")&&!H.call(e,"callee")},Ee=Array.isArray;function Pe(e){return null!=e&&Te(e.length)&&!Ae(e)}var Oe=W||function(){return!1};function Ae(e){if(!je(e))return!1;var t=ue(e);return t==s||t==c||t==a||t==d}function Te(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i}function je(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ce(e){return null!=e&&"object"==typeof e}var Re=k?function(e){return function(t){return e(t)}}(k):function(e){return Ce(e)&&Te(e.length)&&!!m[ue(e)]};function Ie(e){return Pe(e)?ne(e,!0):fe(e)}var Me,Le=(Me=function(e,t,r){pe(e,t,r)},me((function(e,t){var r=-1,n=t.length,i=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(i=Me.length>3&&"function"==typeof i?(n--,i):void 0,o&&function(e,t,r){if(!je(r))return!1;var n=typeof t;return!!("number"==n?Pe(r)&&be(t,r.length):"string"==n&&t in r)&&Se(r[t],e)}(t[0],t[1],o)&&(i=n<3?void 0:i,n=1),e=Object(e);++r{e=r.nmd(e);var n="__lodash_hash_undefined__",i=9007199254740991,o="[object Arguments]",a="[object AsyncFunction]",s="[object Function]",c="[object GeneratorFunction]",l="[object Null]",u="[object Object]",d="[object Proxy]",h="[object Undefined]",f=/^\[object .+?Constructor\]$/,p=/^(?:0|[1-9]\d*)$/,m={};m["[object Float32Array]"]=m["[object Float64Array]"]=m["[object Int8Array]"]=m["[object Int16Array]"]=m["[object Int32Array]"]=m["[object Uint8Array]"]=m["[object Uint8ClampedArray]"]=m["[object Uint16Array]"]=m["[object Uint32Array]"]=!0,m[o]=m["[object Array]"]=m["[object ArrayBuffer]"]=m["[object Boolean]"]=m["[object DataView]"]=m["[object Date]"]=m["[object Error]"]=m[s]=m["[object Map]"]=m["[object Number]"]=m[u]=m["[object RegExp]"]=m["[object Set]"]=m["[object String]"]=m["[object WeakMap]"]=!1;var g="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,v="object"==typeof self&&self&&self.Object===Object&&self,y=g||v||Function("return this")(),b=t&&!t.nodeType&&t,w=b&&e&&!e.nodeType&&e,x=w&&w.exports===b,_=x&&g.process,S=function(){try{var e=w&&w.require&&w.require("util").types;return e||_&&_.binding&&_.binding("util")}catch(t){}}(),k=S&&S.isTypedArray;var E,P,O=Array.prototype,A=Function.prototype,T=Object.prototype,j=y["__core-js_shared__"],C=A.toString,R=T.hasOwnProperty,I=function(){var e=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),M=T.toString,L=C.call(Object),N=RegExp("^"+C.call(R).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),D=x?y.Buffer:void 0,B=y.Symbol,z=y.Uint8Array,U=D?D.allocUnsafe:void 0,F=(E=Object.getPrototypeOf,P=Object,function(e){return E(P(e))}),$=Object.create,H=T.propertyIsEnumerable,V=O.splice,q=B?B.toStringTag:void 0,K=function(){try{var e=ye(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),W=D?D.isBuffer:void 0,G=Math.max,Y=Date.now,Z=ye(y,"Map"),X=ye(Object,"create"),J=function(){function e(){}return function(t){if(!je(t))return{};if($)return $(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function Q(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1},ee.prototype.set=function(e,t){var r=this.__data__,n=ae(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},te.prototype.clear=function(){this.size=0,this.__data__={hash:new Q,map:new(Z||ee),string:new Q}},te.prototype.delete=function(e){var t=ve(this,e).delete(e);return this.size-=t?1:0,t},te.prototype.get=function(e){return ve(this,e).get(e)},te.prototype.has=function(e){return ve(this,e).has(e)},te.prototype.set=function(e,t){var r=ve(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},re.prototype.clear=function(){this.__data__=new ee,this.size=0},re.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},re.prototype.get=function(e){return this.__data__.get(e)},re.prototype.has=function(e){return this.__data__.has(e)},re.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ee){var n=r.__data__;if(!Z||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new te(n)}return r.set(e,t),this.size=r.size,this};var ce,le=function(e,t,r){for(var n=-1,i=Object(e),o=r(e),a=o.length;a--;){var s=o[ce?a:++n];if(!1===t(i[s],s,i))break}return e};function ue(e){return null==e?void 0===e?h:l:q&&q in Object(e)?function(e){var t=R.call(e,q),r=e[q];try{e[q]=void 0;var n=!0}catch(o){}var i=M.call(e);n&&(t?e[q]=r:delete e[q]);return i}(e):function(e){return M.call(e)}(e)}function de(e){return Ce(e)&&ue(e)==o}function he(e){return!(!je(e)||function(e){return!!I&&I in e}(e))&&(Ae(e)?N:f).test(function(e){if(null!=e){try{return C.call(e)}catch(t){}try{return e+""}catch(t){}}return""}(e))}function fe(e){if(!je(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=we(e),r=[];for(var n in e)("constructor"!=n||!t&&R.call(e,n))&&r.push(n);return r}function pe(e,t,r,n,i){e!==t&&le(t,(function(o,a){if(i||(i=new re),je(o))!function(e,t,r,n,i,o,a){var s=xe(e,r),c=xe(t,r),l=a.get(c);if(l)return void ie(e,r,l);var d=o?o(s,c,r+"",e,t,a):void 0,h=void 0===d;if(h){var f=Ee(c),p=!f&&Oe(c),m=!f&&!p&&Re(c);d=c,f||p||m?Ee(s)?d=s:Ce(g=s)&&Pe(g)?d=function(e,t){var r=-1,n=e.length;t||(t=Array(n));for(;++r-1&&e%1==0&&e0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(ge);function Se(e,t){return e===t||e!==e&&t!==t}var ke=de(function(){return arguments}())?de:function(e){return Ce(e)&&R.call(e,"callee")&&!H.call(e,"callee")},Ee=Array.isArray;function Pe(e){return null!=e&&Te(e.length)&&!Ae(e)}var Oe=W||function(){return!1};function Ae(e){if(!je(e))return!1;var t=ue(e);return t==s||t==c||t==a||t==d}function Te(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i}function je(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ce(e){return null!=e&&"object"==typeof e}var Re=k?function(e){return function(t){return e(t)}}(k):function(e){return Ce(e)&&Te(e.length)&&!!m[ue(e)]};function Ie(e){return Pe(e)?ne(e,!0):fe(e)}var Me,Le=(Me=function(e,t,r,n){pe(e,t,r,n)},me((function(e,t){var r=-1,n=t.length,i=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(i=Me.length>3&&"function"==typeof i?(n--,i):void 0,o&&function(e,t,r){if(!je(r))return!1;var n=typeof t;return!!("number"==n?Pe(r)&&be(t,r.length):"string"==n&&t in r)&&Se(r[t],e)}(t[0],t[1],o)&&(i=n<3?void 0:i,n=1),e=Object(e);++r"']/g,Z=RegExp(G.source),X=RegExp(Y.source),J=/<%-([\s\S]+?)%>/g,Q=/<%([\s\S]+?)%>/g,ee=/<%=([\s\S]+?)%>/g,te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,re=/^\w*$/,ne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ie=/[\\^$.*+?()[\]{}|]/g,oe=RegExp(ie.source),ae=/^\s+/,se=/\s/,ce=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,le=/\{\n\/\* \[wrapped with (.+)\] \*/,ue=/,? & /,de=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,he=/[()=,{}\[\]\/\s]/,fe=/\\(\\)?/g,pe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,me=/\w*$/,ge=/^[-+]0x[0-9a-f]+$/i,ve=/^0b[01]+$/i,ye=/^\[object .+?Constructor\]$/,be=/^0o[0-7]+$/i,we=/^(?:0|[1-9]\d*)$/,xe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_e=/($^)/,Se=/['\n\r\u2028\u2029\\]/g,ke="\\ud800-\\udfff",Ee="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Pe="\\u2700-\\u27bf",Oe="a-z\\xdf-\\xf6\\xf8-\\xff",Ae="A-Z\\xc0-\\xd6\\xd8-\\xde",Te="\\ufe0e\\ufe0f",je="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ce="['\u2019]",Re="["+ke+"]",Ie="["+je+"]",Me="["+Ee+"]",Le="\\d+",Ne="["+Pe+"]",De="["+Oe+"]",Be="[^"+ke+je+Le+Pe+Oe+Ae+"]",ze="\\ud83c[\\udffb-\\udfff]",Ue="[^"+ke+"]",Fe="(?:\\ud83c[\\udde6-\\uddff]){2}",$e="[\\ud800-\\udbff][\\udc00-\\udfff]",He="["+Ae+"]",Ve="\\u200d",qe="(?:"+De+"|"+Be+")",Ke="(?:"+He+"|"+Be+")",We="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ge="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ye="(?:"+Me+"|"+ze+")"+"?",Ze="["+Te+"]?",Xe=Ze+Ye+("(?:"+Ve+"(?:"+[Ue,Fe,$e].join("|")+")"+Ze+Ye+")*"),Je="(?:"+[Ne,Fe,$e].join("|")+")"+Xe,Qe="(?:"+[Ue+Me+"?",Me,Fe,$e,Re].join("|")+")",et=RegExp(Ce,"g"),tt=RegExp(Me,"g"),rt=RegExp(ze+"(?="+ze+")|"+Qe+Xe,"g"),nt=RegExp([He+"?"+De+"+"+We+"(?="+[Ie,He,"$"].join("|")+")",Ke+"+"+Ge+"(?="+[Ie,He+qe,"$"].join("|")+")",He+"?"+qe+"+"+We,He+"+"+Ge,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Le,Je].join("|"),"g"),it=RegExp("["+Ve+ke+Ee+Te+"]"),ot=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,at=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],st=-1,ct={};ct[N]=ct[D]=ct[B]=ct[z]=ct[U]=ct[F]=ct[$]=ct[H]=ct[V]=!0,ct[y]=ct[b]=ct[M]=ct[w]=ct[L]=ct[x]=ct[_]=ct[S]=ct[E]=ct[P]=ct[O]=ct[T]=ct[j]=ct[C]=ct[I]=!1;var lt={};lt[y]=lt[b]=lt[M]=lt[L]=lt[w]=lt[x]=lt[N]=lt[D]=lt[B]=lt[z]=lt[U]=lt[E]=lt[P]=lt[O]=lt[T]=lt[j]=lt[C]=lt[R]=lt[F]=lt[$]=lt[H]=lt[V]=!0,lt[_]=lt[S]=lt[I]=!1;var ut={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},dt=parseFloat,ht=parseInt,ft="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,pt="object"==typeof self&&self&&self.Object===Object&&self,mt=ft||pt||Function("return this")(),gt=t&&!t.nodeType&&t,vt=gt&&e&&!e.nodeType&&e,yt=vt&&vt.exports===gt,bt=yt&&ft.process,wt=function(){try{var e=vt&&vt.require&&vt.require("util").types;return e||bt&&bt.binding&&bt.binding("util")}catch(t){}}(),xt=wt&&wt.isArrayBuffer,_t=wt&&wt.isDate,St=wt&&wt.isMap,kt=wt&&wt.isRegExp,Et=wt&&wt.isSet,Pt=wt&&wt.isTypedArray;function Ot(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function At(e,t,r,n){for(var i=-1,o=null==e?0:e.length;++i-1}function Mt(e,t,r){for(var n=-1,i=null==e?0:e.length;++n-1;);return r}function nr(e,t){for(var r=e.length;r--&&Ht(t,e[r],0)>-1;);return r}var ir=Gt({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),or=Gt({"&":"&","<":"<",">":">",'"':""","'":"'"});function ar(e){return"\\"+ut[e]}function sr(e){return it.test(e)}function cr(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function lr(e,t){return function(r){return e(t(r))}}function ur(e,t){for(var r=-1,n=e.length,i=0,o=[];++r",""":'"',"'":"'"});var vr=function e(t){var r=(t=null==t?mt:vr.defaults(mt.Object(),t,vr.pick(mt,at))).Array,n=t.Date,se=t.Error,ke=t.Function,Ee=t.Math,Pe=t.Object,Oe=t.RegExp,Ae=t.String,Te=t.TypeError,je=r.prototype,Ce=ke.prototype,Re=Pe.prototype,Ie=t["__core-js_shared__"],Me=Ce.toString,Le=Re.hasOwnProperty,Ne=0,De=function(){var e=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Be=Re.toString,ze=Me.call(Pe),Ue=mt._,Fe=Oe("^"+Me.call(Le).replace(ie,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$e=yt?t.Buffer:i,He=t.Symbol,Ve=t.Uint8Array,qe=$e?$e.allocUnsafe:i,Ke=lr(Pe.getPrototypeOf,Pe),We=Pe.create,Ge=Re.propertyIsEnumerable,Ye=je.splice,Ze=He?He.isConcatSpreadable:i,Xe=He?He.iterator:i,Je=He?He.toStringTag:i,Qe=function(){try{var e=ho(Pe,"defineProperty");return e({},"",{}),e}catch(t){}}(),rt=t.clearTimeout!==mt.clearTimeout&&t.clearTimeout,it=n&&n.now!==mt.Date.now&&n.now,ut=t.setTimeout!==mt.setTimeout&&t.setTimeout,ft=Ee.ceil,pt=Ee.floor,gt=Pe.getOwnPropertySymbols,vt=$e?$e.isBuffer:i,bt=t.isFinite,wt=je.join,Ut=lr(Pe.keys,Pe),Gt=Ee.max,yr=Ee.min,br=n.now,wr=t.parseInt,xr=Ee.random,_r=je.reverse,Sr=ho(t,"DataView"),kr=ho(t,"Map"),Er=ho(t,"Promise"),Pr=ho(t,"Set"),Or=ho(t,"WeakMap"),Ar=ho(Pe,"create"),Tr=Or&&new Or,jr={},Cr=Bo(Sr),Rr=Bo(kr),Ir=Bo(Er),Mr=Bo(Pr),Lr=Bo(Or),Nr=He?He.prototype:i,Dr=Nr?Nr.valueOf:i,Br=Nr?Nr.toString:i;function zr(e){if(ts(e)&&!Va(e)&&!(e instanceof Hr)){if(e instanceof $r)return e;if(Le.call(e,"__wrapped__"))return zo(e)}return new $r(e)}var Ur=function(){function e(){}return function(t){if(!es(t))return{};if(We)return We(t);e.prototype=t;var r=new e;return e.prototype=i,r}}();function Fr(){}function $r(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Hr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=g,this.__views__=[]}function Vr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function cn(e,t,r,n,o,a){var s,c=1&t,l=2&t,u=4&t;if(r&&(s=o?r(e,n,o,a):r(e)),s!==i)return s;if(!es(e))return e;var d=Va(e);if(d){if(s=function(e){var t=e.length,r=new e.constructor(t);t&&"string"==typeof e[0]&&Le.call(e,"index")&&(r.index=e.index,r.input=e.input);return r}(e),!c)return Ti(e,s)}else{var h=mo(e),f=h==S||h==k;if(Ga(e))return Si(e,c);if(h==O||h==y||f&&!o){if(s=l||f?{}:vo(e),!c)return l?function(e,t){return ji(e,po(e),t)}(e,function(e,t){return e&&ji(t,Rs(t),e)}(s,e)):function(e,t){return ji(e,fo(e),t)}(e,nn(s,e))}else{if(!lt[h])return o?e:{};s=function(e,t,r){var n=e.constructor;switch(t){case M:return ki(e);case w:case x:return new n(+e);case L:return function(e,t){var r=t?ki(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case N:case D:case B:case z:case U:case F:case $:case H:case V:return Ei(e,r);case E:return new n;case P:case C:return new n(e);case T:return function(e){var t=new e.constructor(e.source,me.exec(e));return t.lastIndex=e.lastIndex,t}(e);case j:return new n;case R:return i=e,Dr?Pe(Dr.call(i)):{}}var i}(e,h,c)}}a||(a=new Gr);var p=a.get(e);if(p)return p;a.set(e,s),as(e)?e.forEach((function(n){s.add(cn(n,t,r,n,e,a))})):rs(e)&&e.forEach((function(n,i){s.set(i,cn(n,t,r,i,e,a))}));var m=d?i:(u?l?io:no:l?Rs:Cs)(e);return Tt(m||e,(function(n,i){m&&(n=e[i=n]),en(s,i,cn(n,t,r,i,e,a))})),s}function ln(e,t,r){var n=r.length;if(null==e)return!n;for(e=Pe(e);n--;){var o=r[n],a=t[o],s=e[o];if(s===i&&!(o in e)||!a(s))return!1}return!0}function un(e,t,r){if("function"!=typeof e)throw new Te(o);return Co((function(){e.apply(i,r)}),t)}function dn(e,t,r,n){var i=-1,o=It,a=!0,s=e.length,c=[],l=t.length;if(!s)return c;r&&(t=Lt(t,Qt(r))),n?(o=Mt,a=!1):t.length>=200&&(o=tr,a=!1,t=new Wr(t));e:for(;++i-1},qr.prototype.set=function(e,t){var r=this.__data__,n=tn(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Kr.prototype.clear=function(){this.size=0,this.__data__={hash:new Vr,map:new(kr||qr),string:new Vr}},Kr.prototype.delete=function(e){var t=lo(this,e).delete(e);return this.size-=t?1:0,t},Kr.prototype.get=function(e){return lo(this,e).get(e)},Kr.prototype.has=function(e){return lo(this,e).has(e)},Kr.prototype.set=function(e,t){var r=lo(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Wr.prototype.add=Wr.prototype.push=function(e){return this.__data__.set(e,a),this},Wr.prototype.has=function(e){return this.__data__.has(e)},Gr.prototype.clear=function(){this.__data__=new qr,this.size=0},Gr.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Gr.prototype.get=function(e){return this.__data__.get(e)},Gr.prototype.has=function(e){return this.__data__.has(e)},Gr.prototype.set=function(e,t){var r=this.__data__;if(r instanceof qr){var n=r.__data__;if(!kr||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Kr(n)}return r.set(e,t),this.size=r.size,this};var hn=Ii(wn),fn=Ii(xn,!0);function pn(e,t){var r=!0;return hn(e,(function(e,n,i){return r=!!t(e,n,i)})),r}function mn(e,t,r){for(var n=-1,o=e.length;++n0&&r(s)?t>1?vn(s,t-1,r,n,i):Nt(i,s):n||(i[i.length]=s)}return i}var yn=Mi(),bn=Mi(!0);function wn(e,t){return e&&yn(e,t,Cs)}function xn(e,t){return e&&bn(e,t,Cs)}function _n(e,t){return Rt(t,(function(t){return Xa(e[t])}))}function Sn(e,t){for(var r=0,n=(t=bi(t,e)).length;null!=e&&rt}function On(e,t){return null!=e&&Le.call(e,t)}function An(e,t){return null!=e&&t in Pe(e)}function Tn(e,t,n){for(var o=n?Mt:It,a=e[0].length,s=e.length,c=s,l=r(s),u=1/0,d=[];c--;){var h=e[c];c&&t&&(h=Lt(h,Qt(t))),u=yr(h.length,u),l[c]=!n&&(t||a>=120&&h.length>=120)?new Wr(c&&h):i}h=e[0];var f=-1,p=l[0];e:for(;++f=s?c:c*("desc"==r[n]?-1:1)}return e.index-t.index}(e,t,r)}))}function qn(e,t,r){for(var n=-1,i=t.length,o={};++n-1;)s!==e&&Ye.call(s,c,1),Ye.call(e,c,1);return e}function Wn(e,t){for(var r=e?t.length:0,n=r-1;r--;){var i=t[r];if(r==n||i!==o){var o=i;bo(i)?Ye.call(e,i,1):di(e,i)}}return e}function Gn(e,t){return e+pt(xr()*(t-e+1))}function Yn(e,t){var r="";if(!e||t<1||t>p)return r;do{t%2&&(r+=e),(t=pt(t/2))&&(e+=e)}while(t);return r}function Zn(e,t){return Ro(Oo(e,t,nc),e+"")}function Xn(e){return Zr(Us(e))}function Jn(e,t){var r=Us(e);return Lo(r,sn(t,0,r.length))}function Qn(e,t,r,n){if(!es(e))return e;for(var o=-1,a=(t=bi(t,e)).length,s=a-1,c=e;null!=c&&++oo?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i>>1,a=e[o];null!==a&&!cs(a)&&(r?a<=t:a=200){var l=t?null:Yi(e);if(l)return dr(l);a=!1,i=tr,c=new Wr}else c=t?[]:s;e:for(;++n=n?e:ni(e,t,r)}var _i=rt||function(e){return mt.clearTimeout(e)};function Si(e,t){if(t)return e.slice();var r=e.length,n=qe?qe(r):new e.constructor(r);return e.copy(n),n}function ki(e){var t=new e.constructor(e.byteLength);return new Ve(t).set(new Ve(e)),t}function Ei(e,t){var r=t?ki(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function Pi(e,t){if(e!==t){var r=e!==i,n=null===e,o=e===e,a=cs(e),s=t!==i,c=null===t,l=t===t,u=cs(t);if(!c&&!u&&!a&&e>t||a&&s&&l&&!c&&!u||n&&s&&l||!r&&l||!o)return 1;if(!n&&!a&&!u&&e1?r[o-1]:i,s=o>2?r[2]:i;for(a=e.length>3&&"function"==typeof a?(o--,a):i,s&&wo(r[0],r[1],s)&&(a=o<3?i:a,o=1),t=Pe(t);++n-1?o[a?t[s]:s]:i}}function zi(e){return ro((function(t){var r=t.length,n=r,a=$r.prototype.thru;for(e&&t.reverse();n--;){var s=t[n];if("function"!=typeof s)throw new Te(o);if(a&&!c&&"wrapper"==ao(s))var c=new $r([],!0)}for(n=c?n:r;++n1&&w.reverse(),f&&uc))return!1;var u=a.get(e),d=a.get(t);if(u&&d)return u==t&&d==e;var h=-1,f=!0,p=2&r?new Wr:i;for(a.set(e,t),a.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[n],t=t.join(r>2?", ":" "),e.replace(ce,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return Tt(v,(function(r){var n="_."+r[0];t&r[1]&&!It(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(le);return t?t[1].split(ue):[]}(n),r)))}function Mo(e){var t=0,r=0;return function(){var n=br(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Lo(e,t){var r=-1,n=e.length,o=n-1;for(t=t===i?n:t;++r1?e[t-1]:i;return r="function"==typeof r?(e.pop(),r):i,oa(e,r)}));function ha(e){var t=zr(e);return t.__chain__=!0,t}function fa(e,t){return t(e)}var pa=ro((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,o=function(t){return an(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Hr&&bo(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:fa,args:[o],thisArg:i}),new $r(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)}));var ma=Ci((function(e,t,r){Le.call(e,r)?++e[r]:on(e,r,1)}));var ga=Bi(Ho),va=Bi(Vo);function ya(e,t){return(Va(e)?Tt:hn)(e,co(t,3))}function ba(e,t){return(Va(e)?jt:fn)(e,co(t,3))}var wa=Ci((function(e,t,r){Le.call(e,r)?e[r].push(t):on(e,r,[t])}));var xa=Zn((function(e,t,n){var i=-1,o="function"==typeof t,a=Ka(e)?r(e.length):[];return hn(e,(function(e){a[++i]=o?Ot(t,e,n):jn(e,t,n)})),a})),_a=Ci((function(e,t,r){on(e,r,t)}));function Sa(e,t){return(Va(e)?Lt:zn)(e,co(t,3))}var ka=Ci((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]}));var Ea=Zn((function(e,t){if(null==e)return[];var r=t.length;return r>1&&wo(e,t[0],t[1])?t=[]:r>2&&wo(t[0],t[1],t[2])&&(t=[t[0]]),Vn(e,vn(t,1),[])})),Pa=it||function(){return mt.Date.now()};function Oa(e,t,r){return t=r?i:t,t=e&&null==t?e.length:t,Xi(e,d,i,i,i,i,t)}function Aa(e,t){var r;if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=i),r}}var Ta=Zn((function(e,t,r){var n=1;if(r.length){var i=ur(r,so(Ta));n|=l}return Xi(e,n,t,r,i)})),ja=Zn((function(e,t,r){var n=3;if(r.length){var i=ur(r,so(ja));n|=l}return Xi(t,n,e,r,i)}));function Ca(e,t,r){var n,a,s,c,l,u,d=0,h=!1,f=!1,p=!0;if("function"!=typeof e)throw new Te(o);function m(t){var r=n,o=a;return n=a=i,d=t,c=e.apply(o,r)}function g(e){var r=e-u;return u===i||r>=t||r<0||f&&e-d>=s}function v(){var e=Pa();if(g(e))return y(e);l=Co(v,function(e){var r=t-(e-u);return f?yr(r,s-(e-d)):r}(e))}function y(e){return l=i,p&&n?m(e):(n=a=i,c)}function b(){var e=Pa(),r=g(e);if(n=arguments,a=this,u=e,r){if(l===i)return function(e){return d=e,l=Co(v,t),h?m(e):c}(u);if(f)return _i(l),l=Co(v,t),m(u)}return l===i&&(l=Co(v,t)),c}return t=gs(t)||0,es(r)&&(h=!!r.leading,s=(f="maxWait"in r)?Gt(gs(r.maxWait)||0,t):s,p="trailing"in r?!!r.trailing:p),b.cancel=function(){l!==i&&_i(l),d=0,n=u=a=l=i},b.flush=function(){return l===i?c:y(Pa())},b}var Ra=Zn((function(e,t){return un(e,1,t)})),Ia=Zn((function(e,t,r){return un(e,gs(t)||0,r)}));function Ma(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Te(o);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return r.cache=o.set(i,a)||o,a};return r.cache=new(Ma.Cache||Kr),r}function La(e){if("function"!=typeof e)throw new Te(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ma.Cache=Kr;var Na=wi((function(e,t){var r=(t=1==t.length&&Va(t[0])?Lt(t[0],Qt(co())):Lt(vn(t,1),Qt(co()))).length;return Zn((function(n){for(var i=-1,o=yr(n.length,r);++i=t})),Ha=Cn(function(){return arguments}())?Cn:function(e){return ts(e)&&Le.call(e,"callee")&&!Ge.call(e,"callee")},Va=r.isArray,qa=xt?Qt(xt):function(e){return ts(e)&&En(e)==M};function Ka(e){return null!=e&&Qa(e.length)&&!Xa(e)}function Wa(e){return ts(e)&&Ka(e)}var Ga=vt||gc,Ya=_t?Qt(_t):function(e){return ts(e)&&En(e)==x};function Za(e){if(!ts(e))return!1;var t=En(e);return t==_||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!is(e)}function Xa(e){if(!es(e))return!1;var t=En(e);return t==S||t==k||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ja(e){return"number"==typeof e&&e==ps(e)}function Qa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=p}function es(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ts(e){return null!=e&&"object"==typeof e}var rs=St?Qt(St):function(e){return ts(e)&&mo(e)==E};function ns(e){return"number"==typeof e||ts(e)&&En(e)==P}function is(e){if(!ts(e)||En(e)!=O)return!1;var t=Ke(e);if(null===t)return!0;var r=Le.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Me.call(r)==ze}var os=kt?Qt(kt):function(e){return ts(e)&&En(e)==T};var as=Et?Qt(Et):function(e){return ts(e)&&mo(e)==j};function ss(e){return"string"==typeof e||!Va(e)&&ts(e)&&En(e)==C}function cs(e){return"symbol"==typeof e||ts(e)&&En(e)==R}var ls=Pt?Qt(Pt):function(e){return ts(e)&&Qa(e.length)&&!!ct[En(e)]};var us=Ki(Bn),ds=Ki((function(e,t){return e<=t}));function hs(e){if(!e)return[];if(Ka(e))return ss(e)?pr(e):Ti(e);if(Xe&&e[Xe])return function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[Xe]());var t=mo(e);return(t==E?cr:t==j?dr:Us)(e)}function fs(e){return e?(e=gs(e))===f||e===-1/0?17976931348623157e292*(e<0?-1:1):e===e?e:0:0===e?e:0}function ps(e){var t=fs(e),r=t%1;return t===t?r?t-r:t:0}function ms(e){return e?sn(ps(e),0,g):0}function gs(e){if("number"==typeof e)return e;if(cs(e))return m;if(es(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=es(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Jt(e);var r=ve.test(e);return r||be.test(e)?ht(e.slice(2),r?2:8):ge.test(e)?m:+e}function vs(e){return ji(e,Rs(e))}function ys(e){return null==e?"":li(e)}var bs=Ri((function(e,t){if(ko(t)||Ka(t))ji(t,Cs(t),e);else for(var r in t)Le.call(t,r)&&en(e,r,t[r])})),ws=Ri((function(e,t){ji(t,Rs(t),e)})),xs=Ri((function(e,t,r,n){ji(t,Rs(t),e,n)})),_s=Ri((function(e,t,r,n){ji(t,Cs(t),e,n)})),Ss=ro(an);var ks=Zn((function(e,t){e=Pe(e);var r=-1,n=t.length,o=n>2?t[2]:i;for(o&&wo(t[0],t[1],o)&&(n=1);++r1),t})),ji(e,io(e),r),n&&(r=cn(r,7,eo));for(var i=t.length;i--;)di(r,t[i]);return r}));var Ns=ro((function(e,t){return null==e?{}:function(e,t){return qn(e,t,(function(t,r){return Os(e,r)}))}(e,t)}));function Ds(e,t){if(null==e)return{};var r=Lt(io(e),(function(e){return[e]}));return t=co(t),qn(e,r,(function(e,r){return t(e,r[0])}))}var Bs=Zi(Cs),zs=Zi(Rs);function Us(e){return null==e?[]:er(e,Cs(e))}var Fs=Ni((function(e,t,r){return t=t.toLowerCase(),e+(r?$s(t):t)}));function $s(e){return Zs(ys(e).toLowerCase())}function Hs(e){return(e=ys(e))&&e.replace(xe,ir).replace(tt,"")}var Vs=Ni((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),qs=Ni((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),Ks=Li("toLowerCase");var Ws=Ni((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));var Gs=Ni((function(e,t,r){return e+(r?" ":"")+Zs(t)}));var Ys=Ni((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Zs=Li("toUpperCase");function Xs(e,t,r){return e=ys(e),(t=r?i:t)===i?function(e){return ot.test(e)}(e)?function(e){return e.match(nt)||[]}(e):function(e){return e.match(de)||[]}(e):e.match(t)||[]}var Js=Zn((function(e,t){try{return Ot(e,i,t)}catch(r){return Za(r)?r:new se(r)}})),Qs=ro((function(e,t){return Tt(t,(function(t){t=Do(t),on(e,t,Ta(e[t],e))})),e}));function ec(e){return function(){return e}}var tc=zi(),rc=zi(!0);function nc(e){return e}function ic(e){return Ln("function"==typeof e?e:cn(e,1))}var oc=Zn((function(e,t){return function(r){return jn(r,e,t)}})),ac=Zn((function(e,t){return function(r){return jn(e,r,t)}}));function sc(e,t,r){var n=Cs(t),i=_n(t,n);null!=r||es(t)&&(i.length||!n.length)||(r=t,t=e,e=this,i=_n(t,Cs(t)));var o=!(es(r)&&"chain"in r)||!!r.chain,a=Xa(e);return Tt(i,(function(r){var n=t[r];e[r]=n,a&&(e.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=e(this.__wrapped__);return(r.__actions__=Ti(this.__actions__)).push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,Nt([this.value()],arguments))})})),e}function cc(){}var lc=Hi(Lt),uc=Hi(Ct),dc=Hi(zt);function hc(e){return xo(e)?Wt(Do(e)):function(e){return function(t){return Sn(t,e)}}(e)}var fc=qi(),pc=qi(!0);function mc(){return[]}function gc(){return!1}var vc=$i((function(e,t){return e+t}),0),yc=Gi("ceil"),bc=$i((function(e,t){return e/t}),1),wc=Gi("floor");var xc=$i((function(e,t){return e*t}),1),_c=Gi("round"),Sc=$i((function(e,t){return e-t}),0);return zr.after=function(e,t){if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){if(--e<1)return t.apply(this,arguments)}},zr.ary=Oa,zr.assign=bs,zr.assignIn=ws,zr.assignInWith=xs,zr.assignWith=_s,zr.at=Ss,zr.before=Aa,zr.bind=Ta,zr.bindAll=Qs,zr.bindKey=ja,zr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Va(e)?e:[e]},zr.chain=ha,zr.chunk=function(e,t,n){t=(n?wo(e,t,n):t===i)?1:Gt(ps(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,c=r(ft(o/t));ao?0:o+r),(n=n===i||n>o?o:ps(n))<0&&(n+=o),n=r>n?0:ms(n);r>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!os(t))&&!(t=li(t))&&sr(e)?xi(pr(e),0,r):e.split(t,r):[]},zr.spread=function(e,t){if("function"!=typeof e)throw new Te(o);return t=null==t?0:Gt(ps(t),0),Zn((function(r){var n=r[t],i=xi(r,0,t);return n&&Nt(i,n),Ot(e,this,i)}))},zr.tail=function(e){var t=null==e?0:e.length;return t?ni(e,1,t):[]},zr.take=function(e,t,r){return e&&e.length?ni(e,0,(t=r||t===i?1:ps(t))<0?0:t):[]},zr.takeRight=function(e,t,r){var n=null==e?0:e.length;return n?ni(e,(t=n-(t=r||t===i?1:ps(t)))<0?0:t,n):[]},zr.takeRightWhile=function(e,t){return e&&e.length?fi(e,co(t,3),!1,!0):[]},zr.takeWhile=function(e,t){return e&&e.length?fi(e,co(t,3)):[]},zr.tap=function(e,t){return t(e),e},zr.throttle=function(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new Te(o);return es(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),Ca(e,t,{leading:n,maxWait:t,trailing:i})},zr.thru=fa,zr.toArray=hs,zr.toPairs=Bs,zr.toPairsIn=zs,zr.toPath=function(e){return Va(e)?Lt(e,Do):cs(e)?[e]:Ti(No(ys(e)))},zr.toPlainObject=vs,zr.transform=function(e,t,r){var n=Va(e),i=n||Ga(e)||ls(e);if(t=co(t,4),null==r){var o=e&&e.constructor;r=i?n?new o:[]:es(e)&&Xa(o)?Ur(Ke(e)):{}}return(i?Tt:wn)(e,(function(e,n,i){return t(r,e,n,i)})),r},zr.unary=function(e){return Oa(e,1)},zr.union=ta,zr.unionBy=ra,zr.unionWith=na,zr.uniq=function(e){return e&&e.length?ui(e):[]},zr.uniqBy=function(e,t){return e&&e.length?ui(e,co(t,2)):[]},zr.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?ui(e,i,t):[]},zr.unset=function(e,t){return null==e||di(e,t)},zr.unzip=ia,zr.unzipWith=oa,zr.update=function(e,t,r){return null==e?e:hi(e,t,yi(r))},zr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:hi(e,t,yi(r),n)},zr.values=Us,zr.valuesIn=function(e){return null==e?[]:er(e,Rs(e))},zr.without=aa,zr.words=Xs,zr.wrap=function(e,t){return Da(yi(t),e)},zr.xor=sa,zr.xorBy=ca,zr.xorWith=la,zr.zip=ua,zr.zipObject=function(e,t){return gi(e||[],t||[],en)},zr.zipObjectDeep=function(e,t){return gi(e||[],t||[],Qn)},zr.zipWith=da,zr.entries=Bs,zr.entriesIn=zs,zr.extend=ws,zr.extendWith=xs,sc(zr,zr),zr.add=vc,zr.attempt=Js,zr.camelCase=Fs,zr.capitalize=$s,zr.ceil=yc,zr.clamp=function(e,t,r){return r===i&&(r=t,t=i),r!==i&&(r=(r=gs(r))===r?r:0),t!==i&&(t=(t=gs(t))===t?t:0),sn(gs(e),t,r)},zr.clone=function(e){return cn(e,4)},zr.cloneDeep=function(e){return cn(e,5)},zr.cloneDeepWith=function(e,t){return cn(e,5,t="function"==typeof t?t:i)},zr.cloneWith=function(e,t){return cn(e,4,t="function"==typeof t?t:i)},zr.conformsTo=function(e,t){return null==t||ln(e,t,Cs(t))},zr.deburr=Hs,zr.defaultTo=function(e,t){return null==e||e!==e?t:e},zr.divide=bc,zr.endsWith=function(e,t,r){e=ys(e),t=li(t);var n=e.length,o=r=r===i?n:sn(ps(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t},zr.eq=Ua,zr.escape=function(e){return(e=ys(e))&&X.test(e)?e.replace(Y,or):e},zr.escapeRegExp=function(e){return(e=ys(e))&&oe.test(e)?e.replace(ie,"\\$&"):e},zr.every=function(e,t,r){var n=Va(e)?Ct:pn;return r&&wo(e,t,r)&&(t=i),n(e,co(t,3))},zr.find=ga,zr.findIndex=Ho,zr.findKey=function(e,t){return Ft(e,co(t,3),wn)},zr.findLast=va,zr.findLastIndex=Vo,zr.findLastKey=function(e,t){return Ft(e,co(t,3),xn)},zr.floor=wc,zr.forEach=ya,zr.forEachRight=ba,zr.forIn=function(e,t){return null==e?e:yn(e,co(t,3),Rs)},zr.forInRight=function(e,t){return null==e?e:bn(e,co(t,3),Rs)},zr.forOwn=function(e,t){return e&&wn(e,co(t,3))},zr.forOwnRight=function(e,t){return e&&xn(e,co(t,3))},zr.get=Ps,zr.gt=Fa,zr.gte=$a,zr.has=function(e,t){return null!=e&&go(e,t,On)},zr.hasIn=Os,zr.head=Ko,zr.identity=nc,zr.includes=function(e,t,r,n){e=Ka(e)?e:Us(e),r=r&&!n?ps(r):0;var i=e.length;return r<0&&(r=Gt(i+r,0)),ss(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&Ht(e,t,r)>-1},zr.indexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:ps(r);return i<0&&(i=Gt(n+i,0)),Ht(e,t,i)},zr.inRange=function(e,t,r){return t=fs(t),r===i?(r=t,t=0):r=fs(r),function(e,t,r){return e>=yr(t,r)&&e=-9007199254740991&&e<=p},zr.isSet=as,zr.isString=ss,zr.isSymbol=cs,zr.isTypedArray=ls,zr.isUndefined=function(e){return e===i},zr.isWeakMap=function(e){return ts(e)&&mo(e)==I},zr.isWeakSet=function(e){return ts(e)&&"[object WeakSet]"==En(e)},zr.join=function(e,t){return null==e?"":wt.call(e,t)},zr.kebabCase=Vs,zr.last=Zo,zr.lastIndexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n;return r!==i&&(o=(o=ps(r))<0?Gt(n+o,0):yr(o,n-1)),t===t?function(e,t,r){for(var n=r+1;n--;)if(e[n]===t)return n;return n}(e,t,o):$t(e,qt,o,!0)},zr.lowerCase=qs,zr.lowerFirst=Ks,zr.lt=us,zr.lte=ds,zr.max=function(e){return e&&e.length?mn(e,nc,Pn):i},zr.maxBy=function(e,t){return e&&e.length?mn(e,co(t,2),Pn):i},zr.mean=function(e){return Kt(e,nc)},zr.meanBy=function(e,t){return Kt(e,co(t,2))},zr.min=function(e){return e&&e.length?mn(e,nc,Bn):i},zr.minBy=function(e,t){return e&&e.length?mn(e,co(t,2),Bn):i},zr.stubArray=mc,zr.stubFalse=gc,zr.stubObject=function(){return{}},zr.stubString=function(){return""},zr.stubTrue=function(){return!0},zr.multiply=xc,zr.nth=function(e,t){return e&&e.length?Hn(e,ps(t)):i},zr.noConflict=function(){return mt._===this&&(mt._=Ue),this},zr.noop=cc,zr.now=Pa,zr.pad=function(e,t,r){e=ys(e);var n=(t=ps(t))?fr(e):0;if(!t||n>=t)return e;var i=(t-n)/2;return Vi(pt(i),r)+e+Vi(ft(i),r)},zr.padEnd=function(e,t,r){e=ys(e);var n=(t=ps(t))?fr(e):0;return t&&nt){var n=e;e=t,t=n}if(r||e%1||t%1){var o=xr();return yr(e+o*(t-e+dt("1e-"+((o+"").length-1))),t)}return Gn(e,t)},zr.reduce=function(e,t,r){var n=Va(e)?Dt:Yt,i=arguments.length<3;return n(e,co(t,4),r,i,hn)},zr.reduceRight=function(e,t,r){var n=Va(e)?Bt:Yt,i=arguments.length<3;return n(e,co(t,4),r,i,fn)},zr.repeat=function(e,t,r){return t=(r?wo(e,t,r):t===i)?1:ps(t),Yn(ys(e),t)},zr.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},zr.result=function(e,t,r){var n=-1,o=(t=bi(t,e)).length;for(o||(o=1,e=i);++np)return[];var r=g,n=yr(e,g);t=co(t),e-=g;for(var i=Xt(n,t);++r=a)return e;var c=r-fr(n);if(c<1)return n;var l=s?xi(s,0,c).join(""):e.slice(0,c);if(o===i)return l+n;if(s&&(c+=l.length-c),os(o)){if(e.slice(c).search(o)){var u,d=l;for(o.global||(o=Oe(o.source,ys(me.exec(o))+"g")),o.lastIndex=0;u=o.exec(d);)var h=u.index;l=l.slice(0,h===i?c:h)}}else if(e.indexOf(li(o),c)!=c){var f=l.lastIndexOf(o);f>-1&&(l=l.slice(0,f))}return l+n},zr.unescape=function(e){return(e=ys(e))&&Z.test(e)?e.replace(G,gr):e},zr.uniqueId=function(e){var t=++Ne;return ys(e)+t},zr.upperCase=Ys,zr.upperFirst=Zs,zr.each=ya,zr.eachRight=ba,zr.first=Ko,sc(zr,function(){var e={};return wn(zr,(function(t,r){Le.call(zr.prototype,r)||(e[r]=t)})),e}(),{chain:!1}),zr.VERSION="4.17.21",Tt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){zr[e].placeholder=zr})),Tt(["drop","take"],(function(e,t){Hr.prototype[e]=function(r){r=r===i?1:Gt(ps(r),0);var n=this.__filtered__&&!t?new Hr(this):this.clone();return n.__filtered__?n.__takeCount__=yr(r,n.__takeCount__):n.__views__.push({size:yr(r,g),type:e+(n.__dir__<0?"Right":"")}),n},Hr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Tt(["filter","map","takeWhile"],(function(e,t){var r=t+1,n=1==r||3==r;Hr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:co(e,3),type:r}),t.__filtered__=t.__filtered__||n,t}})),Tt(["head","last"],(function(e,t){var r="take"+(t?"Right":"");Hr.prototype[e]=function(){return this[r](1).value()[0]}})),Tt(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Hr.prototype[e]=function(){return this.__filtered__?new Hr(this):this[r](1)}})),Hr.prototype.compact=function(){return this.filter(nc)},Hr.prototype.find=function(e){return this.filter(e).head()},Hr.prototype.findLast=function(e){return this.reverse().find(e)},Hr.prototype.invokeMap=Zn((function(e,t){return"function"==typeof e?new Hr(this):this.map((function(r){return jn(r,e,t)}))})),Hr.prototype.reject=function(e){return this.filter(La(co(e)))},Hr.prototype.slice=function(e,t){e=ps(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Hr(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==i&&(r=(t=ps(t))<0?r.dropRight(-t):r.take(t-e)),r)},Hr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Hr.prototype.toArray=function(){return this.take(g)},wn(Hr.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),o=zr[n?"take"+("last"==t?"Right":""):t],a=n||/^find/.test(t);o&&(zr.prototype[t]=function(){var t=this.__wrapped__,s=n?[1]:arguments,c=t instanceof Hr,l=s[0],u=c||Va(t),d=function(e){var t=o.apply(zr,Nt([e],s));return n&&h?t[0]:t};u&&r&&"function"==typeof l&&1!=l.length&&(c=u=!1);var h=this.__chain__,f=!!this.__actions__.length,p=a&&!h,m=c&&!f;if(!a&&u){t=m?t:new Hr(this);var g=e.apply(t,s);return g.__actions__.push({func:fa,args:[d],thisArg:i}),new $r(g,h)}return p&&m?e.apply(this,s):(g=this.thru(d),p?n?g.value()[0]:g.value():g)})})),Tt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=je[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);zr.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var i=this.value();return t.apply(Va(i)?i:[],e)}return this[r]((function(r){return t.apply(Va(r)?r:[],e)}))}})),wn(Hr.prototype,(function(e,t){var r=zr[t];if(r){var n=r.name+"";Le.call(jr,n)||(jr[n]=[]),jr[n].push({name:t,func:r})}})),jr[Ui(i,2).name]=[{name:"wrapper",func:i}],Hr.prototype.clone=function(){var e=new Hr(this.__wrapped__);return e.__actions__=Ti(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ti(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ti(this.__views__),e},Hr.prototype.reverse=function(){if(this.__filtered__){var e=new Hr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Hr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=Va(e),n=t<0,i=r?e.length:0,o=function(e,t,r){var n=-1,i=r.length;for(;++n=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},zr.prototype.plant=function(e){for(var t,r=this;r instanceof Fr;){var n=zo(r);n.__index__=0,n.__values__=i,t?o.__wrapped__=n:t=n;var o=n;r=r.__wrapped__}return o.__wrapped__=e,t},zr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Hr){var t=e;return this.__actions__.length&&(t=new Hr(this)),(t=t.reverse()).__actions__.push({func:fa,args:[ea],thisArg:i}),new $r(t,this.__chain__)}return this.thru(ea)},zr.prototype.toJSON=zr.prototype.valueOf=zr.prototype.value=function(){return pi(this.__wrapped__,this.__actions__)},zr.prototype.first=zr.prototype.head,Xe&&(zr.prototype[Xe]=function(){return this}),zr}();mt._=vr,(n=function(){return vr}.call(t,r,t,e))===i||(e.exports=n)}.call(this)},1646:function(e,t,r){var n,i;!function(o,a){"use strict";n=function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function i(e,t){var r=e[t];if("function"===typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(n){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function a(n){return"debug"===n&&(n="log"),typeof console!==t&&("trace"===n&&r?o:void 0!==console[n]?i(console,n):void 0!==console.log?i(console,"log"):e)}function s(t,r){for(var i=0;i=0&&r<=a.levels.SILENT))throw"log.setLevel() called with invalid level: "+r;if(o=r,!1!==n&&u(r),s.call(a,r,e),typeof console===t&&r{"use strict";const n=r(2798),i=Symbol("max"),o=Symbol("length"),a=Symbol("lengthCalculator"),s=Symbol("allowStale"),c=Symbol("maxAge"),l=Symbol("dispose"),u=Symbol("noDisposeOnSet"),d=Symbol("lruList"),h=Symbol("cache"),f=Symbol("updateAgeOnGet"),p=()=>1;const m=(e,t,r)=>{const n=e[h].get(t);if(n){const t=n.value;if(g(e,t)){if(y(e,n),!e[s])return}else r&&(e[f]&&(n.value.now=Date.now()),e[d].unshiftNode(n));return t.value}},g=(e,t)=>{if(!t||!t.maxAge&&!e[c])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[c]&&r>e[c]},v=e=>{if(e[o]>e[i])for(let t=e[d].tail;e[o]>e[i]&&null!==t;){const r=t.prev;y(e,t),t=r}},y=(e,t)=>{if(t){const r=t.value;e[l]&&e[l](r.key,r.value),e[o]-=r.length,e[h].delete(r.key),e[d].removeNode(t)}};class b{constructor(e,t,r,n,i){this.key=e,this.value=t,this.length=r,this.now=n,this.maxAge=i||0}}const w=(e,t,r,n)=>{let i=r.value;g(e,i)&&(y(e,r),e[s]||(i=void 0)),i&&t.call(n,i.value,i.key,e)};e.exports=class{constructor(e){if("number"===typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!==typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[i]=e.max||1/0;const t=e.length||p;if(this[a]="function"!==typeof t?p:t,this[s]=e.stale||!1,e.maxAge&&"number"!==typeof e.maxAge)throw new TypeError("maxAge must be a number");this[c]=e.maxAge||0,this[l]=e.dispose,this[u]=e.noDisposeOnSet||!1,this[f]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!==typeof e||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||1/0,v(this)}get max(){return this[i]}set allowStale(e){this[s]=!!e}get allowStale(){return this[s]}set maxAge(e){if("number"!==typeof e)throw new TypeError("maxAge must be a non-negative number");this[c]=e,v(this)}get maxAge(){return this[c]}set lengthCalculator(e){"function"!==typeof e&&(e=p),e!==this[a]&&(this[a]=e,this[o]=0,this[d].forEach((e=>{e.length=this[a](e.value,e.key),this[o]+=e.length}))),v(this)}get lengthCalculator(){return this[a]}get length(){return this[o]}get itemCount(){return this[d].length}rforEach(e,t){t=t||this;for(let r=this[d].tail;null!==r;){const n=r.prev;w(this,e,r,t),r=n}}forEach(e,t){t=t||this;for(let r=this[d].head;null!==r;){const n=r.next;w(this,e,r,t),r=n}}keys(){return this[d].toArray().map((e=>e.key))}values(){return this[d].toArray().map((e=>e.value))}reset(){this[l]&&this[d]&&this[d].length&&this[d].forEach((e=>this[l](e.key,e.value))),this[h]=new Map,this[d]=new n,this[o]=0}dump(){return this[d].map((e=>!g(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[d]}set(e,t,r){if((r=r||this[c])&&"number"!==typeof r)throw new TypeError("maxAge must be a number");const n=r?Date.now():0,s=this[a](t,e);if(this[h].has(e)){if(s>this[i])return y(this,this[h].get(e)),!1;const a=this[h].get(e).value;return this[l]&&(this[u]||this[l](e,a.value)),a.now=n,a.maxAge=r,a.value=t,this[o]+=s-a.length,a.length=s,this.get(e),v(this),!0}const f=new b(e,t,s,n,r);return f.length>this[i]?(this[l]&&this[l](e,t),!1):(this[o]+=f.length,this[d].unshift(f),this[h].set(e,this[d].head),v(this),!0)}has(e){if(!this[h].has(e))return!1;const t=this[h].get(e).value;return!g(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[d].tail;return e?(y(this,e),e.value):null}del(e){y(this,this[h].get(e))}load(e){this.reset();const t=Date.now();for(let r=e.length-1;r>=0;r--){const n=e[r],i=n.e||0;if(0===i)this.set(n.k,n.v);else{const e=i-t;e>0&&this.set(n.k,n.v,e)}}}prune(){this[h].forEach(((e,t)=>m(this,t,!1)))}}},9137:(e,t,r)=>{"use strict";var n=r(7110),i=r(6423),o=r(8608).Buffer,a=new Array(16);function s(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function c(e,t){return e<>>32-t}function l(e,t,r,n,i,o,a){return c(e+(t&r|~t&n)+i+o|0,a)+t|0}function u(e,t,r,n,i,o,a){return c(e+(t&n|r&~n)+i+o|0,a)+t|0}function d(e,t,r,n,i,o,a){return c(e+(t^r^n)+i+o|0,a)+t|0}function h(e,t,r,n,i,o,a){return c(e+(r^(t|~n))+i+o|0,a)+t|0}n(s,i),s.prototype._update=function(){for(var e=a,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var r=this._a,n=this._b,i=this._c,o=this._d;r=l(r,n,i,o,e[0],3614090360,7),o=l(o,r,n,i,e[1],3905402710,12),i=l(i,o,r,n,e[2],606105819,17),n=l(n,i,o,r,e[3],3250441966,22),r=l(r,n,i,o,e[4],4118548399,7),o=l(o,r,n,i,e[5],1200080426,12),i=l(i,o,r,n,e[6],2821735955,17),n=l(n,i,o,r,e[7],4249261313,22),r=l(r,n,i,o,e[8],1770035416,7),o=l(o,r,n,i,e[9],2336552879,12),i=l(i,o,r,n,e[10],4294925233,17),n=l(n,i,o,r,e[11],2304563134,22),r=l(r,n,i,o,e[12],1804603682,7),o=l(o,r,n,i,e[13],4254626195,12),i=l(i,o,r,n,e[14],2792965006,17),r=u(r,n=l(n,i,o,r,e[15],1236535329,22),i,o,e[1],4129170786,5),o=u(o,r,n,i,e[6],3225465664,9),i=u(i,o,r,n,e[11],643717713,14),n=u(n,i,o,r,e[0],3921069994,20),r=u(r,n,i,o,e[5],3593408605,5),o=u(o,r,n,i,e[10],38016083,9),i=u(i,o,r,n,e[15],3634488961,14),n=u(n,i,o,r,e[4],3889429448,20),r=u(r,n,i,o,e[9],568446438,5),o=u(o,r,n,i,e[14],3275163606,9),i=u(i,o,r,n,e[3],4107603335,14),n=u(n,i,o,r,e[8],1163531501,20),r=u(r,n,i,o,e[13],2850285829,5),o=u(o,r,n,i,e[2],4243563512,9),i=u(i,o,r,n,e[7],1735328473,14),r=d(r,n=u(n,i,o,r,e[12],2368359562,20),i,o,e[5],4294588738,4),o=d(o,r,n,i,e[8],2272392833,11),i=d(i,o,r,n,e[11],1839030562,16),n=d(n,i,o,r,e[14],4259657740,23),r=d(r,n,i,o,e[1],2763975236,4),o=d(o,r,n,i,e[4],1272893353,11),i=d(i,o,r,n,e[7],4139469664,16),n=d(n,i,o,r,e[10],3200236656,23),r=d(r,n,i,o,e[13],681279174,4),o=d(o,r,n,i,e[0],3936430074,11),i=d(i,o,r,n,e[3],3572445317,16),n=d(n,i,o,r,e[6],76029189,23),r=d(r,n,i,o,e[9],3654602809,4),o=d(o,r,n,i,e[12],3873151461,11),i=d(i,o,r,n,e[15],530742520,16),r=h(r,n=d(n,i,o,r,e[2],3299628645,23),i,o,e[0],4096336452,6),o=h(o,r,n,i,e[7],1126891415,10),i=h(i,o,r,n,e[14],2878612391,15),n=h(n,i,o,r,e[5],4237533241,21),r=h(r,n,i,o,e[12],1700485571,6),o=h(o,r,n,i,e[3],2399980690,10),i=h(i,o,r,n,e[10],4293915773,15),n=h(n,i,o,r,e[1],2240044497,21),r=h(r,n,i,o,e[8],1873313359,6),o=h(o,r,n,i,e[15],4264355552,10),i=h(i,o,r,n,e[6],2734768916,15),n=h(n,i,o,r,e[13],1309151649,21),r=h(r,n,i,o,e[4],4149444226,6),o=h(o,r,n,i,e[11],3174756917,10),i=h(i,o,r,n,e[2],718787259,15),n=h(n,i,o,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=s},9570:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});var n=Number.isNaN||function(e){return"number"===typeof e&&e!==e};function i(e,t){if(e.length!==t.length)return!1;for(var r=0;r{function t(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},9475:(e,t)=>{"use strict";var r=t;function n(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",r=0;r>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}},6065:function(e,t){var r,n,i;n=[],r=function e(){"use strict";var t="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:{},r=!t.document&&!!t.postMessage,n=t.IS_PAPA_WORKER||!1,i={},o=0,a={parse:function(r,n){var s=(n=n||{}).dynamicTyping||!1;if(x(s)&&(n.dynamicTypingFunction=s,s={}),n.dynamicTyping=s,n.transform=!!x(n.transform)&&n.transform,n.worker&&a.WORKERS_SUPPORTED){var c=function(){if(!a.WORKERS_SUPPORTED)return!1;var r,n,s=(r=t.URL||t.webkitURL||null,n=e.toString(),a.BLOB_URL||(a.BLOB_URL=r.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",n,")();"],{type:"text/javascript"})))),c=new t.Worker(s);return c.onmessage=g,c.id=o++,i[c.id]=c}();return c.userStep=n.step,c.userChunk=n.chunk,c.userComplete=n.complete,c.userError=n.error,n.step=x(n.step),n.chunk=x(n.chunk),n.complete=x(n.complete),n.error=x(n.error),delete n.worker,void c.postMessage({input:r,config:n,workerId:c.id})}var f=null;return a.NODE_STREAM_INPUT,"string"==typeof r?(r=function(e){return 65279===e.charCodeAt(0)?e.slice(1):e}(r),f=n.download?new l(n):new d(n)):!0===r.readable&&x(r.read)&&x(r.on)?f=new h(n):(t.File&&r instanceof File||r instanceof Object)&&(f=new u(n)),f.stream(r)},unparse:function(e,t){var r=!1,n=!0,i=",",o="\r\n",s='"',c=s+s,l=!1,u=null,d=!1;!function(){if("object"==typeof t){if("string"!=typeof t.delimiter||a.BAD_DELIMITERS.filter((function(e){return-1!==t.delimiter.indexOf(e)})).length||(i=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(l=t.skipEmptyLines),"string"==typeof t.newline&&(o=t.newline),"string"==typeof t.quoteChar&&(s=t.quoteChar),"boolean"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error("Option columns is empty");u=t.columns}void 0!==t.escapeChar&&(c=t.escapeChar+s),("boolean"==typeof t.escapeFormulae||t.escapeFormulae instanceof RegExp)&&(d=t.escapeFormulae instanceof RegExp?t.escapeFormulae:/^[=+\-@\t\r].*$/)}}();var h=new RegExp(p(s),"g");if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return f(null,e,l);if("object"==typeof e[0])return f(u||Object.keys(e[0]),e,l)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||u),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),f(e.fields||[],e.data||[],l);throw new Error("Unable to serialize unrecognized input");function f(e,t,r){var a="";"string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t));var s=Array.isArray(e)&&0=this._config.preview;if(n)t.postMessage({results:s,workerId:a.WORKER_ID,finished:l});else if(x(this._config.chunk)&&!r){if(this._config.chunk(s,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);s=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(s.data),this._completeResults.errors=this._completeResults.errors.concat(s.errors),this._completeResults.meta=s.meta),this._completed||!l||!x(this._config.complete)||s&&s.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),l||s&&s.meta.paused||this._nextChunk(),s}this._halted=!0},this._sendError=function(e){x(this._config.error)?this._config.error(e):n&&this._config.error&&t.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function l(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),c.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),r||(t.onload=w(this._chunkLoaded,this),t.onerror=w(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!r),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var n in e)t.setRequestHeader(n,e[n])}if(this._config.chunkSize){var i=this._start+this._config.chunkSize-1;t.setRequestHeader("Range","bytes="+this._start+"-"+i)}try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}r&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:t.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(e){var t=e.getResponseHeader("Content-Range");return null===t?-1:parseInt(t.substring(t.lastIndexOf("/")+1))}(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){var r=t.statusText||e;this._sendError(new Error(r))}}function u(e){var t,r;(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),c.call(this,e);var n="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=w(this._chunkLoaded,this),t.onerror=w(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function d(e){var t;c.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e,r=this._config.chunkSize;return r?(e=t.substring(0,r),t=t.substring(r)):(e=t,t=""),this._finished=!t,this.parseChunk(e)}}}function h(e){c.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){c.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){c.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=w((function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}}),this),this._streamError=w((function(e){this._streamCleanUp(),this._sendError(e)}),this),this._streamEnd=w((function(){this._streamCleanUp(),n=!0,this._streamData("")}),this),this._streamCleanUp=w((function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)}),this)}function f(e){var t,r,n,i=Math.pow(2,53),o=-i,s=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,c=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,l=this,u=0,d=0,h=!1,f=!1,g=[],v={data:[],errors:[],meta:{}};if(x(e.step)){var y=e.step;e.step=function(t){if(v=t,S())_();else{if(_(),0===v.data.length)return;u+=t.data.length,e.preview&&u>e.preview?r.abort():(v.data=v.data[0],y(v,l))}}}function w(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function _(){return v&&n&&(E("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),n=!1),e.skipEmptyLines&&(v.data=v.data.filter((function(e){return!w(e)}))),S()&&function(){if(v)if(Array.isArray(v.data[0])){for(var t=0;S()&&t=g.length?"__parsed_extra":g[n]),e.transform&&(a=e.transform(a,o)),a=k(o,a),"__parsed_extra"===o?(i[o]=i[o]||[],i[o].push(a)):i[o]=a}return e.header&&(n>g.length?E("FieldMismatch","TooManyFields","Too many fields: expected "+g.length+" fields but parsed "+n,d+r):n=n.length/2?"\r\n":"\r"}(i,c)),n=!1,e.delimiter)x(e.delimiter)&&(e.delimiter=e.delimiter(i),v.meta.delimiter=e.delimiter);else{var l=function(t,r,n,i,o){var s,c,l,u;o=o||[",","\t","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var d=0;d=s)return K(!0)}else for(z=u,u++;;){if(-1===(z=a.indexOf(t,z+1)))return f||_.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:w.length,index:u}),V();if(z===m-1)return V(a.substring(u,z).replace(B,t));if(t!==l||a[z+1]!==l){if(t===l||0===z||a[z-1]!==l){-1!==N&&N=s)return K(!0);break}_.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:w.length,index:u}),z++}}else z++}return V();function $(e){w.push(e),k=u}function H(e){var t=0;if(-1!==e){var r=a.substring(z+1,e);r&&""===r.trim()&&(t=r.length)}return t}function V(e){return f||(void 0===e&&(e=a.substring(u)),S.push(e),u=m,$(S),b&&W()),K()}function q(e){u=e,$(S),S=[],D=a.indexOf(n,u)}function K(e){return{data:w,errors:_,meta:{delimiter:r,linebreak:n,aborted:d,truncated:!!e,cursor:k+(h||0)}}}function W(){o(K()),w=[],_=[]}},this.abort=function(){d=!0},this.getCharIndex=function(){return u}}function g(e){var t=e.data,r=i[t.workerId],n=!1;if(t.error)r.userError(t.error,t.file);else if(t.results&&t.results.data){var o={abort:function(){n=!0,v(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:y,resume:y};if(x(r.userStep)){for(var a=0;a{t.pbkdf2=r(915),t.pbkdf2Sync=r(4560)},915:(e,t,r)=>{var n,i,o=r(8608).Buffer,a=r(6779),s=r(6350),c=r(4560),l=r(7437),u=r.g.crypto&&r.g.crypto.subtle,d={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},h=[];function f(){return i||(i=r.g.process&&r.g.process.nextTick?r.g.process.nextTick:r.g.queueMicrotask?r.g.queueMicrotask:r.g.setImmediate?r.g.setImmediate:r.g.setTimeout)}function p(e,t,r,n,i){return u.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return u.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:i}},e,n<<3)})).then((function(e){return o.from(e)}))}e.exports=function(e,t,i,m,g,v){"function"===typeof g&&(v=g,g=void 0);var y=d[(g=g||"sha1").toLowerCase()];if(y&&"function"===typeof r.g.Promise){if(a(i,m),e=l(e,s,"Password"),t=l(t,s,"Salt"),"function"!==typeof v)throw new Error("No callback provided to pbkdf2");!function(e,t){e.then((function(e){f()((function(){t(null,e)}))}),(function(e){f()((function(){t(e)}))}))}(function(e){if(r.g.process&&!r.g.process.browser)return Promise.resolve(!1);if(!u||!u.importKey||!u.deriveBits)return Promise.resolve(!1);if(void 0!==h[e])return h[e];var t=p(n=n||o.alloc(8),n,10,128,e).then((function(){return!0})).catch((function(){return!1}));return h[e]=t,t}(y).then((function(r){return r?p(e,t,i,m,y):c(e,t,i,m,g)})),v)}else f()((function(){var r;try{r=c(e,t,i,m,g)}catch(n){return v(n)}v(null,r)}))}},6350:(e,t,r)=>{var n,i=r(4501);if(r.g.process&&r.g.process.browser)n="utf-8";else if(r.g.process&&r.g.process.version){n=parseInt(i.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else n="utf-8";e.exports=n},6779:e=>{var t=Math.pow(2,30)-1;e.exports=function(e,r){if("number"!==typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!==typeof r)throw new TypeError("Key length not a number");if(r<0||r>t||r!==r)throw new TypeError("Bad key length")}},4560:(e,t,r)=>{var n=r(6199),i=r(8816),o=r(7372),a=r(8608).Buffer,s=r(6779),c=r(6350),l=r(7437),u=a.alloc(128),d={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function h(e,t,r){var s=function(e){function t(t){return o(e).update(t).digest()}function r(e){return(new i).update(e).digest()}return"rmd160"===e||"ripemd160"===e?r:"md5"===e?n:t}(e),c="sha512"===e||"sha384"===e?128:64;t.length>c?t=s(t):t.length{var n=r(8608).Buffer;e.exports=function(e,t,r){if(n.isBuffer(e))return e;if("string"===typeof e)return n.from(e,t);if(ArrayBuffer.isView(e))return n.from(e.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},903:function(e){e.exports=function(){var e=[],t=[],r={},n={},i={};function o(e){return"string"===typeof e?new RegExp("^"+e+"$","i"):e}function a(e,t){return e===t?t:e===e.toLowerCase()?t.toLowerCase():e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t.charAt(0).toUpperCase()+t.substr(1).toLowerCase():t.toLowerCase()}function s(e,t){return e.replace(/\$(\d{1,2})/g,(function(e,r){return t[r]||""}))}function c(e,t){return e.replace(t[0],(function(r,n){var i=s(t[1],arguments);return a(""===r?e[n-1]:r,i)}))}function l(e,t,n){if(!e.length||r.hasOwnProperty(e))return t;for(var i=n.length;i--;){var o=n[i];if(o[0].test(t))return c(t,o)}return t}function u(e,t,r){return function(n){var i=n.toLowerCase();return t.hasOwnProperty(i)?a(n,i):e.hasOwnProperty(i)?a(n,e[i]):l(i,n,r)}}function d(e,t,r,n){return function(n){var i=n.toLowerCase();return!!t.hasOwnProperty(i)||!e.hasOwnProperty(i)&&l(i,i,r)===i}}function h(e,t,r){return(r?t+" ":"")+(1===t?h.singular(e):h.plural(e))}return h.plural=u(i,n,e),h.isPlural=d(i,n,e),h.singular=u(n,i,t),h.isSingular=d(n,i,t),h.addPluralRule=function(t,r){e.push([o(t),r])},h.addSingularRule=function(e,r){t.push([o(e),r])},h.addUncountableRule=function(e){"string"!==typeof e?(h.addPluralRule(e,"$0"),h.addSingularRule(e,"$0")):r[e.toLowerCase()]=!0},h.addIrregularRule=function(e,t){t=t.toLowerCase(),e=e.toLowerCase(),i[e]=t,n[t]=e},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach((function(e){return h.addIrregularRule(e[0],e[1])})),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach((function(e){return h.addPluralRule(e[0],e[1])})),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach((function(e){return h.addSingularRule(e[0],e[1])})),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[e\xe9]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(h.addUncountableRule),h}()},4501:e=>{var t,r,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"===typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"===typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var s,c=[],l=!1,u=-1;function d(){l&&s&&(l=!1,s.length?c=s.concat(c):u=-1,c.length&&h())}function h(){if(!l){var e=a(d);l=!0;for(var t=c.length;t;){for(s=c,c=[];++u1)for(var r=1;r{"use strict";var n=r(4420),i=r(3301),o=Object.prototype.hasOwnProperty;function a(e){return e&&"EPROMISERETRY"===e.code&&o.call(e,"retried")}e.exports=function(e,t){var r,o;return"object"===typeof e&&"function"===typeof t&&(r=t,t=e,e=r),o=i.operation(t),new Promise((function(t,r){o.attempt((function(i){Promise.resolve().then((function(){return e((function(e){throw a(e)&&(e=e.retried),n(new Error("Retrying"),"EPROMISERETRY",{retried:e})}),i)})).then(t,(function(e){a(e)&&(e=e.retried,o.retry(e||new Error))||r(e)}))}))}))}},1854:(e,t,r)=>{"use strict";var n=r(4029);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,r,i,o,a){if(a!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return r.PropTypes=r,r}},4108:(e,t,r)=>{e.exports=r(1854)()},4029:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},1729:(e,t)=>{var r,n,i,o=function(){var e=function(e,t){var r=e,n=o[t],i=null,a=0,s=null,c=[],l={},u=function(e,t){i=function(e){for(var t=new Array(e),r=0;r=7&&m(e),null==s&&(s=P(r,n,c)),k(s,t)},d=function(e,t){for(var r=-1;r<=7;r+=1)if(!(e+r<=-1||a<=e+r))for(var n=-1;n<=7;n+=1)t+n<=-1||a<=t+n||(i[e+r][t+n]=0<=r&&r<=6&&(0==n||6==n)||0<=n&&n<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=n&&n<=4)},h=function(){for(var e=8;e>n&1);i[Math.floor(n/3)][n%3+a-8-3]=o}for(n=0;n<18;n+=1){o=!e&&1==(t>>n&1);i[n%3+a-8-3][Math.floor(n/3)]=o}},S=function(e,t){for(var r=n<<3|t,o=p.getBCHTypeInfo(r),s=0;s<15;s+=1){var c=!e&&1==(o>>s&1);s<6?i[s][8]=c:s<8?i[s+1][8]=c:i[a-15+s][8]=c}for(s=0;s<15;s+=1){c=!e&&1==(o>>s&1);s<8?i[8][a-s-1]=c:s<9?i[8][15-s-1+1]=c:i[8][15-s-1]=c}i[a-8][8]=!e},k=function(e,t){for(var r=-1,n=a-1,o=7,s=0,c=p.getMaskFunction(t),l=a-1;l>0;l-=2)for(6==l&&(l-=1);;){for(var u=0;u<2;u+=1)if(null==i[n][l-u]){var d=!1;s>>o&1)),c(n,l-u)&&(d=!d),i[n][l-u]=d,-1==(o-=1)&&(s+=1,o=7)}if((n+=r)<0||a<=n){n-=r,r=-r;break}}},P=function(e,t,r){for(var n=v.getRSBlocks(e,t),i=y(),o=0;o8*s)throw"code length overflow. ("+i.getLengthInBits()+">"+8*s+")";for(i.getLengthInBits()+4<=8*s&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(!1);for(;!(i.getLengthInBits()>=8*s)&&(i.put(236,8),!(i.getLengthInBits()>=8*s));)i.put(17,8);return function(e,t){for(var r=0,n=0,i=0,o=new Array(t.length),a=new Array(t.length),s=0;s=0?h.getAt(f):0}}var m=0;for(u=0;un)&&(e=n,t=r)}return t}())},l.createTableTag=function(e,t){e=e||2;var r="";r+='";for(var i=0;i';r+=""}return r+="",r+="
"},l.createSvgTag=function(e,t,r,n){var i={};"object"==typeof arguments[0]&&(e=(i=arguments[0]).cellSize,t=i.margin,r=i.alt,n=i.title),e=e||2,t="undefined"==typeof t?4*e:t,(r="string"===typeof r?{text:r}:r||{}).text=r.text||null,r.id=r.text?r.id||"qrcode-description":null,(n="string"===typeof n?{text:n}:n||{}).text=n.text||null,n.id=n.text?n.id||"qrcode-title":null;var o,a,s,c,u=l.getModuleCount()*e+2*t,d="";for(c="l"+e+",0 0,"+e+" -"+e+",0 0,-"+e+"z ",d+=''+O(n.text)+"":"",d+=r.text?''+O(r.text)+"":"",d+='',d+='":t+=">";break;case"&":t+="&";break;case'"':t+=""";break;default:t+=n}}return t};return l.createASCII=function(e,t){if((e=e||1)<2)return function(e){e="undefined"==typeof e?2:e;var t,r,n,i,o,a=1*l.getModuleCount()+2*e,s=e,c=a-e,u={"\u2588\u2588":"\u2588","\u2588 ":"\u2580"," \u2588":"\u2584"," ":" "},d={"\u2588\u2588":"\u2580","\u2588 ":"\u2580"," \u2588":" "," ":" "},h="";for(t=0;t=c?d[o]:u[o];h+="\n"}return a%2&&e>0?h.substring(0,h.length-a-1)+Array(a+1).join("\u2580"):h.substring(0,h.length-1)}(t);e-=1,t="undefined"==typeof t?2*e:t;var r,n,i,o,a=l.getModuleCount()*e+2*t,s=t,c=a-t,u=Array(e+1).join("\u2588\u2588"),d=Array(e+1).join(" "),h="",f="";for(r=0;r>>8),t.push(255&a)):t.push(n)}}return t}};var t=1,r=2,n=4,i=8,o={L:1,M:0,Q:3,H:2},a=0,s=1,c=2,l=3,u=4,d=5,h=6,f=7,p=function(){var e=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],o=1335,p=7973,v={},y=function(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t};return v.getBCHTypeInfo=function(e){for(var t=e<<10;y(t)-y(o)>=0;)t^=o<=0;)t^=p<5&&(r+=3+o-5)}for(n=0;n=256;)t-=255;return e[t]}};return n}();function g(e,t){if("undefined"==typeof e.length)throw e.length+"/"+t;var r=function(){for(var r=0;r>>7-t%8&1)},put:function(e,t){for(var n=0;n>>t-n-1&1))},getLengthInBits:function(){return t},putBit:function(r){var n=Math.floor(t/8);e.length<=n&&e.push(0),r&&(e[n]|=128>>>t%8),t+=1}};return r},b=function(e){var r=t,n=e,i={getMode:function(){return r},getLength:function(e){return n.length},write:function(e){for(var t=n,r=0;r+2>>8&255)+(255&n),e.put(n,13),r+=2}if(r>>8)},writeBytes:function(e,r,n){r=r||0,n=n||e.length;for(var i=0;i0&&(t+=","),t+=e[r];return t+="]"}};return t},k=function(e){var t=e,r=0,n=0,i=0,o={read:function(){for(;i<8;){if(r>=t.length){if(0==i)return-1;throw"unexpected end of file./"+i}var e=t.charAt(r);if(r+=1,"="==e)return i=0,-1;e.match(/^\s$/)||(n=n<<6|a(e.charCodeAt(0)),i+=6)}var o=n>>>i-8&255;return i-=8,o}},a=function(e){if(65<=e&&e<=90)return e-65;if(97<=e&&e<=122)return e-97+26;if(48<=e&&e<=57)return e-48+52;if(43==e)return 62;if(47==e)return 63;throw"c:"+e};return o},E=function(e,t,r){for(var n=function(e,t){var r=e,n=t,i=new Array(e*t),o={setPixel:function(e,t,n){i[t*r+e]=n},write:function(e){e.writeString("GIF87a"),e.writeShort(r),e.writeShort(n),e.writeByte(128),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(255),e.writeByte(255),e.writeByte(255),e.writeString(","),e.writeShort(0),e.writeShort(0),e.writeShort(r),e.writeShort(n),e.writeByte(0);var t=a(2);e.writeByte(2);for(var i=0;t.length-i>255;)e.writeByte(255),e.writeBytes(t,i,255),i+=255;e.writeByte(t.length-i),e.writeBytes(t,i,t.length-i),e.writeByte(0),e.writeString(";")}},a=function(e){for(var t=1<>>i!=0)throw"length over";for(;r+i>=8;)t.writeByte(255&(e<>>=8-r,n=0,r=0;n|=e<0&&t.writeByte(n)}}}(c);l.write(t,n);var u=0,d=String.fromCharCode(i[u]);for(u+=1;u=6;)o(e>>>t-6),t-=6},i.flush=function(){if(t>0&&(o(e<<6-t),e=0,t=0),r%3!=0)for(var i=3-r%3,a=0;a>6,128|63&n):n<55296||n>=57344?t.push(224|n>>12,128|n>>6&63,128|63&n):(r++,n=65536+((1023&n)<<10|1023&e.charCodeAt(r)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return t}(e)},n=[],void 0===(i="function"===typeof(r=function(){return o})?r.apply(t,n):r)||(e.exports=i)},3522:(e,t,r)=>{"use strict";var n=r(3358),i=r(4824);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,r,n){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function he(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!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,gridArea:!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},pe=["Webkit","ms","Moz","O"];function me(e,t,r){return null==t||"boolean"===typeof t||""===t?"":r||"number"!==typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var n=0===r.indexOf("--"),i=me(r,t[r],n);"float"===r&&(r="cssFloat"),n?e.setProperty(r,i):e[r]=i}}Object.keys(fe).forEach((function(e){pe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var ve=D({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 ye(e,t){if(t){if(ve[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(o(62))}}function be(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 we=null;function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var _e=null,Se=null,ke=null;function Ee(e){if(e=bi(e)){if("function"!==typeof _e)throw Error(o(280));var t=e.stateNode;t&&(t=xi(t),_e(e.stateNode,e.type,t))}}function Pe(e){Se?ke?ke.push(e):ke=[e]:Se=e}function Oe(){if(Se){var e=Se,t=ke;if(ke=Se=null,Ee(e),t)for(e=0;e>>=0,0===e?32:31-(st(e)/ct|0)|0},st=Math.log,ct=Math.LN2;var lt=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ht(e,t){var r=e.pendingLanes;if(0===r)return 0;var n=0,i=e.suspendedLanes,o=e.pingedLanes,a=268435455&r;if(0!==a){var s=a&~i;0!==s?n=dt(s):0!==(o&=a)&&(n=dt(o))}else 0!==(a=r&~i)?n=dt(a):0!==o&&(n=dt(o));if(0===n)return 0;if(0!==t&&t!==n&&0===(t&i)&&((i=n&-n)>=(o=t&-t)||16===i&&0!==(4194240&o)))return t;if(0!==(4&n)&&(n|=16&r),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function vt(e,t,r){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-at(t)]=r}function yt(e,t){var r=e.entangledLanes|=t;for(e=e.entanglements;r;){var n=31-at(r),i=1<=Mr),Dr=String.fromCharCode(32),Br=!1;function zr(e,t){switch(e){case"keyup":return-1!==Rr.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ur(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Fr=!1;var $r={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 Hr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$r[e.type]:"textarea"===t}function Vr(e,t,r,n){Pe(n),0<(t=Kn(t,"onChange")).length&&(r=new lr("onChange","change",null,r,n),e.push({event:r,listeners:t}))}var qr=null,Kr=null;function Wr(e){Bn(e,0)}function Gr(e){if(W(wi(e)))return e}function Yr(e,t){if("change"===e)return t}var Zr=!1;if(u){var Xr;if(u){var Jr="oninput"in document;if(!Jr){var Qr=document.createElement("div");Qr.setAttribute("oninput","return;"),Jr="function"===typeof Qr.oninput}Xr=Jr}else Xr=!1;Zr=Xr&&(!document.documentMode||9=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ln(n)}}function dn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hn(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var r="string"===typeof t.contentWindow.location.href}catch(n){r=!1}if(!r)break;t=G((e=t.contentWindow).document)}return t}function fn(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)}function pn(e){var t=hn(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&dn(r.ownerDocument.documentElement,r)){if(null!==n&&fn(r))if(t=n.start,void 0===(e=n.end)&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if((e=(t=r.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=r.textContent.length,o=Math.min(n.start,i);n=void 0===n.end?o:Math.min(n.end,i),!e.extend&&o>n&&(i=n,n=o,o=i),i=un(r,o);var a=un(r,n);i&&a&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),o>n?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}for(t=[],e=r;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof r.focus&&r.focus(),r=0;r=document.documentMode,gn=null,vn=null,yn=null,bn=!1;function wn(e,t,r){var n=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;bn||null==gn||gn!==G(n)||("selectionStart"in(n=gn)&&fn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},yn&&cn(yn,n)||(yn=n,0<(n=Kn(vn,"onSelect")).length&&(t=new lr("onSelect","select",null,t,r),e.push({event:t,listeners:n}),t.target=gn)))}function xn(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var _n={animationend:xn("Animation","AnimationEnd"),animationiteration:xn("Animation","AnimationIteration"),animationstart:xn("Animation","AnimationStart"),transitionend:xn("Transition","TransitionEnd")},Sn={},kn={};function En(e){if(Sn[e])return Sn[e];if(!_n[e])return e;var t,r=_n[e];for(t in r)if(r.hasOwnProperty(t)&&t in kn)return Sn[e]=r[t];return e}u&&(kn=document.createElement("div").style,"AnimationEvent"in window||(delete _n.animationend.animation,delete _n.animationiteration.animation,delete _n.animationstart.animation),"TransitionEvent"in window||delete _n.transitionend.transition);var Pn=En("animationend"),On=En("animationiteration"),An=En("animationstart"),Tn=En("transitionend"),jn=new Map,Cn="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Rn(e,t){jn.set(e,t),c(t,[e])}for(var In=0;InSi||(e.current=_i[Si],_i[Si]=null,Si--)}function Pi(e,t){Si++,_i[Si]=e.current,e.current=t}var Oi={},Ai=ki(Oi),Ti=ki(!1),ji=Oi;function Ci(e,t){var r=e.type.contextTypes;if(!r)return Oi;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in r)o[i]=t[i];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ri(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Ii(){Ei(Ti),Ei(Ai)}function Mi(e,t,r){if(Ai.current!==Oi)throw Error(o(168));Pi(Ai,t),Pi(Ti,r)}function Li(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,"function"!==typeof n.getChildContext)return r;for(var i in n=n.getChildContext())if(!(i in t))throw Error(o(108,H(e)||"Unknown",i));return D({},r,n)}function Ni(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Oi,ji=Ai.current,Pi(Ai,e),Pi(Ti,Ti.current),!0}function Di(e,t,r){var n=e.stateNode;if(!n)throw Error(o(169));r?(e=Li(e,t,ji),n.__reactInternalMemoizedMergedChildContext=e,Ei(Ti),Ei(Ai),Pi(Ai,e)):Ei(Ti),Pi(Ti,r)}var Bi=null,zi=!1,Ui=!1;function Fi(e){null===Bi?Bi=[e]:Bi.push(e)}function $i(){if(!Ui&&null!==Bi){Ui=!0;var e=0,t=bt;try{var r=Bi;for(bt=1;e>=a,i-=a,Zi=1<<32-at(t)+i|r<m?(g=d,d=null):g=d.sibling;var v=f(i,d,s[m],c);if(null===v){null===d&&(d=g);break}e&&d&&null===v.alternate&&t(i,d),o=a(v,o,m),null===u?l=v:u.sibling=v,u=v,d=g}if(m===s.length)return r(i,d),io&&Ji(i,m),l;if(null===d){for(;mg?(v=m,m=null):v=m.sibling;var b=f(i,m,y.value,l);if(null===b){null===m&&(m=v);break}e&&m&&null===b.alternate&&t(i,m),s=a(b,s,g),null===d?u=b:d.sibling=b,d=b,m=v}if(y.done)return r(i,m),io&&Ji(i,g),u;if(null===m){for(;!y.done;g++,y=c.next())null!==(y=h(i,y.value,l))&&(s=a(y,s,g),null===d?u=y:d.sibling=y,d=y);return io&&Ji(i,g),u}for(m=n(i,m);!y.done;g++,y=c.next())null!==(y=p(m,i,g,y.value,l))&&(e&&null!==y.alternate&&m.delete(null===y.key?g:y.key),s=a(y,s,g),null===d?u=y:d.sibling=y,d=y);return e&&m.forEach((function(e){return t(i,e)})),io&&Ji(i,g),u}return function e(n,o,a,c){if("object"===typeof a&&null!==a&&a.type===S&&null===a.key&&(a=a.props.children),"object"===typeof a&&null!==a){switch(a.$$typeof){case x:e:{for(var l=a.key,u=o;null!==u;){if(u.key===l){if((l=a.type)===S){if(7===u.tag){r(n,u.sibling),(o=i(u,a.props.children)).return=n,n=o;break e}}else if(u.elementType===l||"object"===typeof l&&null!==l&&l.$$typeof===R&&Yo(l)===u.type){r(n,u.sibling),(o=i(u,a.props)).ref=Wo(n,u,a),o.return=n,n=o;break e}r(n,u);break}t(n,u),u=u.sibling}a.type===S?((o=Nl(a.props.children,n.mode,c,a.key)).return=n,n=o):((c=Ll(a.type,a.key,a.props,null,n.mode,c)).ref=Wo(n,o,a),c.return=n,n=c)}return s(n);case _:e:{for(u=a.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===a.containerInfo&&o.stateNode.implementation===a.implementation){r(n,o.sibling),(o=i(o,a.children||[])).return=n,n=o;break e}r(n,o);break}t(n,o),o=o.sibling}(o=zl(a,n.mode,c)).return=n,n=o}return s(n);case R:return e(n,o,(u=a._init)(a._payload),c)}if(te(a))return m(n,o,a,c);if(L(a))return g(n,o,a,c);Go(n,a)}return"string"===typeof a&&""!==a||"number"===typeof a?(a=""+a,null!==o&&6===o.tag?(r(n,o.sibling),(o=i(o,a)).return=n,n=o):(r(n,o),(o=Bl(a,n.mode,c)).return=n,n=o),s(n)):r(n,o)}}var Xo=Zo(!0),Jo=Zo(!1),Qo={},ea=ki(Qo),ta=ki(Qo),ra=ki(Qo);function na(e){if(e===Qo)throw Error(o(174));return e}function ia(e,t){switch(Pi(ra,t),Pi(ta,e),Pi(ea,Qo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ei(ea),Pi(ea,t)}function oa(){Ei(ea),Ei(ta),Ei(ra)}function aa(e){na(ra.current);var t=na(ea.current),r=ce(t,e.type);t!==r&&(Pi(ta,e),Pi(ea,r))}function sa(e){ta.current===e&&(Ei(ea),Ei(ta))}var ca=ki(0);function la(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||"$?"===r.data||"$!"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(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 null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ua=[];function da(){for(var e=0;er?r:4,e(!0);var n=fa.transition;fa.transition={};try{e(!1),t()}finally{bt=r,fa.transition=n}}function es(){return Oa().memoizedState}function ts(e,t,r){var n=rl(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},ns(e))is(t,r);else if(null!==(r=To(e,t,r,n))){nl(r,e,n,tl()),os(r,t,n)}}function rs(e,t,r){var n=rl(e),i={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(ns(e))is(t,i);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var a=t.lastRenderedState,s=o(a,r);if(i.hasEagerState=!0,i.eagerState=s,sn(s,a)){var c=t.interleaved;return null===c?(i.next=i,Ao(t)):(i.next=c.next,c.next=i),void(t.interleaved=i)}}catch(l){}null!==(r=To(e,t,i,n))&&(nl(r,e,n,i=tl()),os(r,t,n))}}function ns(e){var t=e.alternate;return e===ma||null!==t&&t===ma}function is(e,t){ba=ya=!0;var r=e.pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function os(e,t,r){if(0!==(4194240&r)){var n=t.lanes;r|=n&=e.pendingLanes,t.lanes=r,yt(e,r)}}var as={readContext:Po,useCallback:_a,useContext:_a,useEffect:_a,useImperativeHandle:_a,useInsertionEffect:_a,useLayoutEffect:_a,useMemo:_a,useReducer:_a,useRef:_a,useState:_a,useDebugValue:_a,useDeferredValue:_a,useTransition:_a,useMutableSource:_a,useSyncExternalStore:_a,useId:_a,unstable_isNewReconciler:!1},ss={readContext:Po,useCallback:function(e,t){return Pa().memoizedState=[e,void 0===t?null:t],e},useContext:Po,useEffect:Ha,useImperativeHandle:function(e,t,r){return r=null!==r&&void 0!==r?r.concat([e]):null,Fa(4194308,4,Wa.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Fa(4194308,4,e,t)},useInsertionEffect:function(e,t){return Fa(4,2,e,t)},useMemo:function(e,t){var r=Pa();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=Pa();return t=void 0!==r?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=ts.bind(null,ma,e),[n.memoizedState,e]},useRef:function(e){return e={current:e},Pa().memoizedState=e},useState:Ba,useDebugValue:Ya,useDeferredValue:function(e){return Pa().memoizedState=e},useTransition:function(){var e=Ba(!1),t=e[0];return e=Qa.bind(null,e[1]),Pa().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=ma,i=Pa();if(io){if(void 0===r)throw Error(o(407));r=r()}else{if(r=t(),null===jc)throw Error(o(349));0!==(30&pa)||Ia(n,t,r)}i.memoizedState=r;var a={value:r,getSnapshot:t};return i.queue=a,Ha(La.bind(null,n,a,e),[e]),n.flags|=2048,za(9,Ma.bind(null,n,a,r,t),void 0,null),r},useId:function(){var e=Pa(),t=jc.identifierPrefix;if(io){var r=Xi;t=":"+t+"R"+(r=(Zi&~(1<<32-at(Zi)-1)).toString(32)+r),0<(r=wa++)&&(t+="H"+r.toString(32)),t+=":"}else t=":"+t+"r"+(r=xa++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},cs={readContext:Po,useCallback:Za,useContext:Po,useEffect:Va,useImperativeHandle:Ga,useInsertionEffect:qa,useLayoutEffect:Ka,useMemo:Xa,useReducer:Ta,useRef:Ua,useState:function(){return Ta(Aa)},useDebugValue:Ya,useDeferredValue:function(e){return Ja(Oa(),ga.memoizedState,e)},useTransition:function(){return[Ta(Aa)[0],Oa().memoizedState]},useMutableSource:Ca,useSyncExternalStore:Ra,useId:es,unstable_isNewReconciler:!1},ls={readContext:Po,useCallback:Za,useContext:Po,useEffect:Va,useImperativeHandle:Ga,useInsertionEffect:qa,useLayoutEffect:Ka,useMemo:Xa,useReducer:ja,useRef:Ua,useState:function(){return ja(Aa)},useDebugValue:Ya,useDeferredValue:function(e){var t=Oa();return null===ga?t.memoizedState=e:Ja(t,ga.memoizedState,e)},useTransition:function(){return[ja(Aa)[0],Oa().memoizedState]},useMutableSource:Ca,useSyncExternalStore:Ra,useId:es,unstable_isNewReconciler:!1};function us(e,t){try{var r="",n=t;do{r+=F(n),n=n.return}while(n);var i=r}catch(o){i="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:i,digest:null}}function ds(e,t,r){return{value:e,source:null,stack:null!=r?r:null,digest:null!=t?t:null}}function hs(e,t){try{console.error(t.value)}catch(r){setTimeout((function(){throw r}))}}var fs="function"===typeof WeakMap?WeakMap:Map;function ps(e,t,r){(r=Mo(-1,r)).tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){qc||(qc=!0,Kc=n),hs(0,t)},r}function ms(e,t,r){(r=Mo(-1,r)).tag=3;var n=e.type.getDerivedStateFromError;if("function"===typeof n){var i=t.value;r.payload=function(){return n(i)},r.callback=function(){hs(0,t)}}var o=e.stateNode;return null!==o&&"function"===typeof o.componentDidCatch&&(r.callback=function(){hs(0,t),"function"!==typeof n&&(null===Wc?Wc=new Set([this]):Wc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),r}function gs(e,t,r){var n=e.pingCache;if(null===n){n=e.pingCache=new fs;var i=new Set;n.set(t,i)}else void 0===(i=n.get(t))&&(i=new Set,n.set(t,i));i.has(r)||(i.add(r),e=Pl.bind(null,e,t,r),t.then(e,e))}function vs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ys(e,t,r,n,i){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,1===r.tag&&(null===r.alternate?r.tag=17:((t=Mo(-1,1)).tag=2,Lo(r,t,1))),r.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}var bs=w.ReactCurrentOwner,ws=!1;function xs(e,t,r,n){t.child=null===e?Jo(t,null,r,n):Xo(t,e.child,r,n)}function _s(e,t,r,n,i){r=r.render;var o=t.ref;return Eo(t,i),n=ka(e,t,r,n,o,i),r=Ea(),null===e||ws?(io&&r&&eo(t),t.flags|=1,xs(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,qs(e,t,i))}function Ss(e,t,r,n,i){if(null===e){var o=r.type;return"function"!==typeof o||Il(o)||void 0!==o.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=Ll(r.type,null,n,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,ks(e,t,o,n,i))}if(o=e.child,0===(e.lanes&i)){var a=o.memoizedProps;if((r=null!==(r=r.compare)?r:cn)(a,n)&&e.ref===t.ref)return qs(e,t,i)}return t.flags|=1,(e=Ml(o,n)).ref=t.ref,e.return=t,t.child=e}function ks(e,t,r,n,i){if(null!==e){var o=e.memoizedProps;if(cn(o,n)&&e.ref===t.ref){if(ws=!1,t.pendingProps=n=o,0===(e.lanes&i))return t.lanes=e.lanes,qs(e,t,i);0!==(131072&e.flags)&&(ws=!0)}}return Os(e,t,r,n,i)}function Es(e,t,r){var n=t.pendingProps,i=n.children,o=null!==e?e.memoizedState:null;if("hidden"===n.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Pi(Mc,Ic),Ic|=r;else{if(0===(1073741824&r))return e=null!==o?o.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Pi(Mc,Ic),Ic|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=null!==o?o.baseLanes:r,Pi(Mc,Ic),Ic|=n}else null!==o?(n=o.baseLanes|r,t.memoizedState=null):n=r,Pi(Mc,Ic),Ic|=n;return xs(e,t,i,r),t.child}function Ps(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}function Os(e,t,r,n,i){var o=Ri(r)?ji:Ai.current;return o=Ci(t,o),Eo(t,i),r=ka(e,t,r,n,o,i),n=Ea(),null===e||ws?(io&&n&&eo(t),t.flags|=1,xs(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,qs(e,t,i))}function As(e,t,r,n,i){if(Ri(r)){var o=!0;Ni(t)}else o=!1;if(Eo(t,i),null===t.stateNode)Vs(e,t),Vo(t,r,n),Ko(t,r,n,i),n=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var c=a.context,l=r.contextType;"object"===typeof l&&null!==l?l=Po(l):l=Ci(t,l=Ri(r)?ji:Ai.current);var u=r.getDerivedStateFromProps,d="function"===typeof u||"function"===typeof a.getSnapshotBeforeUpdate;d||"function"!==typeof a.UNSAFE_componentWillReceiveProps&&"function"!==typeof a.componentWillReceiveProps||(s!==n||c!==l)&&qo(t,a,n,l),Co=!1;var h=t.memoizedState;a.state=h,Bo(t,n,a,i),c=t.memoizedState,s!==n||h!==c||Ti.current||Co?("function"===typeof u&&(Fo(t,r,u,n),c=t.memoizedState),(s=Co||Ho(t,r,s,n,h,c,l))?(d||"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.flags|=4194308)):("function"===typeof a.componentDidMount&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=c),a.props=n,a.state=c,a.context=l,n=s):("function"===typeof a.componentDidMount&&(t.flags|=4194308),n=!1)}else{a=t.stateNode,Io(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:vo(t.type,s),a.props=l,d=t.pendingProps,h=a.context,"object"===typeof(c=r.contextType)&&null!==c?c=Po(c):c=Ci(t,c=Ri(r)?ji:Ai.current);var f=r.getDerivedStateFromProps;(u="function"===typeof f||"function"===typeof a.getSnapshotBeforeUpdate)||"function"!==typeof a.UNSAFE_componentWillReceiveProps&&"function"!==typeof a.componentWillReceiveProps||(s!==d||h!==c)&&qo(t,a,n,c),Co=!1,h=t.memoizedState,a.state=h,Bo(t,n,a,i);var p=t.memoizedState;s!==d||h!==p||Ti.current||Co?("function"===typeof f&&(Fo(t,r,f,n),p=t.memoizedState),(l=Co||Ho(t,r,l,n,h,p,c)||!1)?(u||"function"!==typeof a.UNSAFE_componentWillUpdate&&"function"!==typeof a.componentWillUpdate||("function"===typeof a.componentWillUpdate&&a.componentWillUpdate(n,p,c),"function"===typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(n,p,c)),"function"===typeof a.componentDidUpdate&&(t.flags|=4),"function"===typeof a.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof a.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=p),a.props=n,a.state=p,a.context=c,n=l):("function"!==typeof a.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),n=!1)}return Ts(e,t,r,n,o,i)}function Ts(e,t,r,n,i,o){Ps(e,t);var a=0!==(128&t.flags);if(!n&&!a)return i&&Di(t,r,!1),qs(e,t,o);n=t.stateNode,bs.current=t;var s=a&&"function"!==typeof r.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&a?(t.child=Xo(t,e.child,null,o),t.child=Xo(t,null,s,o)):xs(e,t,s,o),t.memoizedState=n.state,i&&Di(t,r,!0),t.child}function js(e){var t=e.stateNode;t.pendingContext?Mi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Mi(0,t.context,!1),ia(e,t.containerInfo)}function Cs(e,t,r,n,i){return po(),mo(i),t.flags|=256,xs(e,t,r,n),t.child}var Rs,Is,Ms,Ls,Ns={dehydrated:null,treeContext:null,retryLane:0};function Ds(e){return{baseLanes:e,cachePool:null,transitions:null}}function Bs(e,t,r){var n,i=t.pendingProps,a=ca.current,s=!1,c=0!==(128&t.flags);if((n=c)||(n=(null===e||null!==e.memoizedState)&&0!==(2&a)),n?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),Pi(ca,1&a),null===e)return lo(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(c=i.children,e=i.fallback,s?(i=t.mode,s=t.child,c={mode:"hidden",children:c},0===(1&i)&&null!==s?(s.childLanes=0,s.pendingProps=c):s=Dl(c,i,0,null),e=Nl(e,i,r,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ds(r),t.memoizedState=Ns,e):zs(t,c));if(null!==(a=e.memoizedState)&&null!==(n=a.dehydrated))return function(e,t,r,n,i,a,s){if(r)return 256&t.flags?(t.flags&=-257,Us(e,t,s,n=ds(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(a=n.fallback,i=t.mode,n=Dl({mode:"visible",children:n.children},i,0,null),(a=Nl(a,i,s,null)).flags|=2,n.return=t,a.return=t,n.sibling=a,t.child=n,0!==(1&t.mode)&&Xo(t,e.child,null,s),t.child.memoizedState=Ds(s),t.memoizedState=Ns,a);if(0===(1&t.mode))return Us(e,t,s,null);if("$!"===i.data){if(n=i.nextSibling&&i.nextSibling.dataset)var c=n.dgst;return n=c,Us(e,t,s,n=ds(a=Error(o(419)),n,void 0))}if(c=0!==(s&e.childLanes),ws||c){if(null!==(n=jc)){switch(s&-s){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}0!==(i=0!==(i&(n.suspendedLanes|s))?0:i)&&i!==a.retryLane&&(a.retryLane=i,jo(e,i),nl(n,e,i,-1))}return gl(),Us(e,t,s,n=ds(Error(o(421))))}return"$?"===i.data?(t.flags|=128,t.child=e.child,t=Al.bind(null,e),i._reactRetry=t,null):(e=a.treeContext,no=li(i.nextSibling),ro=t,io=!0,oo=null,null!==e&&(Wi[Gi++]=Zi,Wi[Gi++]=Xi,Wi[Gi++]=Yi,Zi=e.id,Xi=e.overflow,Yi=t),t=zs(t,n.children),t.flags|=4096,t)}(e,t,c,i,n,a,r);if(s){s=i.fallback,c=t.mode,n=(a=e.child).sibling;var l={mode:"hidden",children:i.children};return 0===(1&c)&&t.child!==a?((i=t.child).childLanes=0,i.pendingProps=l,t.deletions=null):(i=Ml(a,l)).subtreeFlags=14680064&a.subtreeFlags,null!==n?s=Ml(n,s):(s=Nl(s,c,r,null)).flags|=2,s.return=t,i.return=t,i.sibling=s,t.child=i,i=s,s=t.child,c=null===(c=e.child.memoizedState)?Ds(r):{baseLanes:c.baseLanes|r,cachePool:null,transitions:c.transitions},s.memoizedState=c,s.childLanes=e.childLanes&~r,t.memoizedState=Ns,i}return e=(s=e.child).sibling,i=Ml(s,{mode:"visible",children:i.children}),0===(1&t.mode)&&(i.lanes=r),i.return=t,i.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=i,t.memoizedState=null,i}function zs(e,t){return(t=Dl({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Us(e,t,r,n){return null!==n&&mo(n),Xo(t,e.child,null,r),(e=zs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Fs(e,t,r){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ko(e.return,t,r)}function $s(e,t,r,n,i){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=n,o.tail=r,o.tailMode=i)}function Hs(e,t,r){var n=t.pendingProps,i=n.revealOrder,o=n.tail;if(xs(e,t,n.children,r),0!==(2&(n=ca.current)))n=1&n|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Fs(e,r,t);else if(19===e.tag)Fs(e,r,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(Pi(ca,n),0===(1&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(r=t.child,i=null;null!==r;)null!==(e=r.alternate)&&null===la(e)&&(i=r),r=r.sibling;null===(r=i)?(i=t.child,t.child=null):(i=r.sibling,r.sibling=null),$s(t,!1,i,r,o);break;case"backwards":for(r=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===la(e)){t.child=i;break}e=i.sibling,i.sibling=r,r=i,i=e}$s(t,!0,r,null,o);break;case"together":$s(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Vs(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function qs(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),Dc|=t.lanes,0===(r&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(r=Ml(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=Ml(e,e.pendingProps)).return=t;r.sibling=null}return t.child}function Ks(e,t){if(!io)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var n=null;null!==r;)null!==r.alternate&&(n=r),r=r.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Ws(e){var t=null!==e.alternate&&e.alternate.child===e.child,r=0,n=0;if(t)for(var i=e.child;null!==i;)r|=i.lanes|i.childLanes,n|=14680064&i.subtreeFlags,n|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)r|=i.lanes|i.childLanes,n|=i.subtreeFlags,n|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=n,e.childLanes=r,t}function Gs(e,t,r){var n=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ws(t),null;case 1:case 17:return Ri(t.type)&&Ii(),Ws(t),null;case 3:return n=t.stateNode,oa(),Ei(Ti),Ei(Ai),da(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(ho(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==oo&&(sl(oo),oo=null))),Is(e,t),Ws(t),null;case 5:sa(t);var i=na(ra.current);if(r=t.type,null!==e&&null!=t.stateNode)Ms(e,t,r,n,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!n){if(null===t.stateNode)throw Error(o(166));return Ws(t),null}if(e=na(ea.current),ho(t)){n=t.stateNode,r=t.type;var a=t.memoizedProps;switch(n[hi]=t,n[fi]=a,e=0!==(1&t.mode),r){case"dialog":zn("cancel",n),zn("close",n);break;case"iframe":case"object":case"embed":zn("load",n);break;case"video":case"audio":for(i=0;i<\/script>",e=e.removeChild(e.firstChild)):"string"===typeof n.is?e=c.createElement(r,{is:n.is}):(e=c.createElement(r),"select"===r&&(c=e,n.multiple?c.multiple=!0:n.size&&(c.size=n.size))):e=c.createElementNS(e,r),e[hi]=t,e[fi]=n,Rs(e,t,!1,!1),t.stateNode=e;e:{switch(c=be(r,n),r){case"dialog":zn("cancel",e),zn("close",e),i=n;break;case"iframe":case"object":case"embed":zn("load",e),i=n;break;case"video":case"audio":for(i=0;iHc&&(t.flags|=128,n=!0,Ks(a,!1),t.lanes=4194304)}else{if(!n)if(null!==(e=la(c))){if(t.flags|=128,n=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),Ks(a,!0),null===a.tail&&"hidden"===a.tailMode&&!c.alternate&&!io)return Ws(t),null}else 2*Xe()-a.renderingStartTime>Hc&&1073741824!==r&&(t.flags|=128,n=!0,Ks(a,!1),t.lanes=4194304);a.isBackwards?(c.sibling=t.child,t.child=c):(null!==(r=a.last)?r.sibling=c:t.child=c,a.last=c)}return null!==a.tail?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Xe(),t.sibling=null,r=ca.current,Pi(ca,n?1&r|2:1&r),t):(Ws(t),null);case 22:case 23:return hl(),n=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==n&&(t.flags|=8192),n&&0!==(1&t.mode)?0!==(1073741824&Ic)&&(Ws(t),6&t.subtreeFlags&&(t.flags|=8192)):Ws(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ys(e,t){switch(to(t),t.tag){case 1:return Ri(t.type)&&Ii(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return oa(),Ei(Ti),Ei(Ai),da(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return sa(t),null;case 13:if(Ei(ca),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));po()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ei(ca),null;case 4:return oa(),null;case 10:return So(t.type._context),null;case 22:case 23:return hl(),null;default:return null}}Rs=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Is=function(){},Ms=function(e,t,r,n){var i=e.memoizedProps;if(i!==n){e=t.stateNode,na(ea.current);var o,a=null;switch(r){case"input":i=Y(e,i),n=Y(e,n),a=[];break;case"select":i=D({},i,{value:void 0}),n=D({},n,{value:void 0}),a=[];break;case"textarea":i=ne(e,i),n=ne(e,n),a=[];break;default:"function"!==typeof i.onClick&&"function"===typeof n.onClick&&(e.onclick=Qn)}for(u in ye(r,n),r=null,i)if(!n.hasOwnProperty(u)&&i.hasOwnProperty(u)&&null!=i[u])if("style"===u){var c=i[u];for(o in c)c.hasOwnProperty(o)&&(r||(r={}),r[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?a||(a=[]):(a=a||[]).push(u,null));for(u in n){var l=n[u];if(c=null!=i?i[u]:void 0,n.hasOwnProperty(u)&&l!==c&&(null!=l||null!=c))if("style"===u)if(c){for(o in c)!c.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(r||(r={}),r[o]="");for(o in l)l.hasOwnProperty(o)&&c[o]!==l[o]&&(r||(r={}),r[o]=l[o])}else r||(a||(a=[]),a.push(u,r)),r=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(a=a||[]).push(u,l)):"children"===u?"string"!==typeof l&&"number"!==typeof l||(a=a||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&zn("scroll",e),a||c===l||(a=[])):(a=a||[]).push(u,l))}r&&(a=a||[]).push("style",r);var u=a;(t.updateQueue=u)&&(t.flags|=4)}},Ls=function(e,t,r,n){r!==n&&(t.flags|=4)};var Zs=!1,Xs=!1,Js="function"===typeof WeakSet?WeakSet:Set,Qs=null;function ec(e,t){var r=e.ref;if(null!==r)if("function"===typeof r)try{r(null)}catch(n){El(e,t,n)}else r.current=null}function tc(e,t,r){try{r()}catch(n){El(e,t,n)}}var rc=!1;function nc(e,t,r){var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var i=n=n.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,void 0!==o&&tc(t,r,o)}i=i.next}while(i!==n)}}function ic(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function oc(e){var t=e.ref;if(null!==t){var r=e.stateNode;e.tag,e=r,"function"===typeof t?t(e):t.current=e}}function ac(e){var t=e.alternate;null!==t&&(e.alternate=null,ac(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[hi],delete t[fi],delete t[mi],delete t[gi],delete t[vi])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function sc(e){return 5===e.tag||3===e.tag||4===e.tag}function cc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||sc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function lc(e,t,r){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!==(r=r._reactRootContainer)&&void 0!==r||null!==t.onclick||(t.onclick=Qn));else if(4!==n&&null!==(e=e.child))for(lc(e,t,r),e=e.sibling;null!==e;)lc(e,t,r),e=e.sibling}function uc(e,t,r){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==n&&null!==(e=e.child))for(uc(e,t,r),e=e.sibling;null!==e;)uc(e,t,r),e=e.sibling}var dc=null,hc=!1;function fc(e,t,r){for(r=r.child;null!==r;)pc(e,t,r),r=r.sibling}function pc(e,t,r){if(ot&&"function"===typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(it,r)}catch(s){}switch(r.tag){case 5:Xs||ec(r,t);case 6:var n=dc,i=hc;dc=null,fc(e,t,r),hc=i,null!==(dc=n)&&(hc?(e=dc,r=r.stateNode,8===e.nodeType?e.parentNode.removeChild(r):e.removeChild(r)):dc.removeChild(r.stateNode));break;case 18:null!==dc&&(hc?(e=dc,r=r.stateNode,8===e.nodeType?ci(e.parentNode,r):1===e.nodeType&&ci(e,r),$t(e)):ci(dc,r.stateNode));break;case 4:n=dc,i=hc,dc=r.stateNode.containerInfo,hc=!0,fc(e,t,r),dc=n,hc=i;break;case 0:case 11:case 14:case 15:if(!Xs&&(null!==(n=r.updateQueue)&&null!==(n=n.lastEffect))){i=n=n.next;do{var o=i,a=o.destroy;o=o.tag,void 0!==a&&(0!==(2&o)||0!==(4&o))&&tc(r,t,a),i=i.next}while(i!==n)}fc(e,t,r);break;case 1:if(!Xs&&(ec(r,t),"function"===typeof(n=r.stateNode).componentWillUnmount))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(s){El(r,t,s)}fc(e,t,r);break;case 21:fc(e,t,r);break;case 22:1&r.mode?(Xs=(n=Xs)||null!==r.memoizedState,fc(e,t,r),Xs=n):fc(e,t,r);break;default:fc(e,t,r)}}function mc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new Js),t.forEach((function(t){var n=Tl.bind(null,e,t);r.has(t)||(r.add(t),t.then(n,n))}))}}function gc(e,t){var r=t.deletions;if(null!==r)for(var n=0;ni&&(i=s),n&=~a}if(n=i,10<(n=(120>(n=Xe()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Ec(n/1960))-n)){e.timeoutHandle=ni(_l.bind(null,e,Fc,Vc),n);break}_l(e,Fc,Vc);break;default:throw Error(o(329))}}}return il(e,Xe()),e.callbackNode===r?ol.bind(null,e):null}function al(e,t){var r=Uc;return e.current.memoizedState.isDehydrated&&(fl(e,t).flags|=256),2!==(e=vl(e,t))&&(t=Fc,Fc=r,null!==t&&sl(t)),e}function sl(e){null===Fc?Fc=e:Fc.push.apply(Fc,e)}function cl(e,t){for(t&=~zc,t&=~Bc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0e?16:e,null===Yc)var n=!1;else{if(e=Yc,Yc=null,Zc=0,0!==(6&Tc))throw Error(o(331));var i=Tc;for(Tc|=4,Qs=e.current;null!==Qs;){var a=Qs,s=a.child;if(0!==(16&Qs.flags)){var c=a.deletions;if(null!==c){for(var l=0;lXe()-$c?fl(e,0):zc|=r),il(e,t)}function Ol(e,t){0===t&&(0===(1&e.mode)?t=1:(t=ut,0===(130023424&(ut<<=1))&&(ut=4194304)));var r=tl();null!==(e=jo(e,t))&&(vt(e,t,r),il(e,r))}function Al(e){var t=e.memoizedState,r=0;null!==t&&(r=t.retryLane),Ol(e,r)}function Tl(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,i=e.memoizedState;null!==i&&(r=i.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(o(314))}null!==n&&n.delete(t),Ol(e,r)}function jl(e,t){return We(e,t)}function Cl(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rl(e,t,r,n){return new Cl(e,t,r,n)}function Il(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ml(e,t){var r=e.alternate;return null===r?((r=Rl(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=14680064&e.flags,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function Ll(e,t,r,n,i,a){var s=2;if(n=e,"function"===typeof e)Il(e)&&(s=1);else if("string"===typeof e)s=5;else e:switch(e){case S:return Nl(r.children,i,a,t);case k:s=8,i|=8;break;case E:return(e=Rl(12,r,t,2|i)).elementType=E,e.lanes=a,e;case T:return(e=Rl(13,r,t,i)).elementType=T,e.lanes=a,e;case j:return(e=Rl(19,r,t,i)).elementType=j,e.lanes=a,e;case I:return Dl(r,i,a,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case P:s=10;break e;case O:s=9;break e;case A:s=11;break e;case C:s=14;break e;case R:s=16,n=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Rl(s,r,t,i)).elementType=e,t.type=n,t.lanes=a,t}function Nl(e,t,r,n){return(e=Rl(7,e,n,t)).lanes=r,e}function Dl(e,t,r,n){return(e=Rl(22,e,n,t)).elementType=I,e.lanes=r,e.stateNode={isHidden:!1},e}function Bl(e,t,r){return(e=Rl(6,e,null,t)).lanes=r,e}function zl(e,t,r){return(t=Rl(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ul(e,t,r,n,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=n,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Fl(e,t,r,n,i,o,a,s,c){return e=new Ul(e,t,r,s,c),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Rl(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ro(o),e}function $l(e){if(!e)return Oi;e:{if($e(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ri(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var r=e.type;if(Ri(r))return Li(e,r,t)}return t}function Hl(e,t,r,n,i,o,a,s,c){return(e=Fl(r,n,!0,e,0,o,0,s,c)).context=$l(null),r=e.current,(o=Mo(n=tl(),i=rl(r))).callback=void 0!==t&&null!==t?t:null,Lo(r,o,i),e.current.lanes=i,vt(e,i,n),il(e,n),e}function Vl(e,t,r,n){var i=t.current,o=tl(),a=rl(i);return r=$l(r),null===t.context?t.context=r:t.pendingContext=r,(t=Mo(o,a)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),null!==(e=Lo(i,t,a))&&(nl(e,i,a,o),No(e,i,a)),a}function ql(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Kl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var r=e.retryLane;e.retryLane=0!==r&&r{"use strict";var n=r(9339);t.createRoot=n.createRoot,t.hydrateRoot=n.hydrateRoot},9339:(e,t,r)=>{"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=r(3522)},3547:function(e,t,r){var n,i,o;i=[t,r(4428)],n=function(e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(t);function n(e){return e&&e.__esModule?e:{default:e}}e.default=r.default},void 0===(o="function"===typeof n?n.apply(t,i):n)||(e.exports=o)},4428:function(e,t,r){var n,i,o;i=[t,r(3358),r(4108)],n=function(e,t,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setHasSupportToCaptureOption=f;var n=o(t),i=o(r);function o(e){return e&&e.__esModule?e:{default:e}}var a=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var l=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{capture:!0};return h?e:e.capture}function m(e){if("touches"in e){var t=e.touches[0];return{x:t.pageX,y:t.pageY}}return{x:e.screenX,y:e.screenY}}var g=function(e){function t(){var e;c(this,t);for(var r=arguments.length,n=Array(r),i=0;it&&this.props.onSwipeRight(1,e),this.movePosition.deltaY<-t?this.props.onSwipeUp(1,e):this.movePosition.deltaY>t&&this.props.onSwipeDown(1,e)),this.moveStart=null,this.moving=!1,this.movePosition=null}},{key:"_setSwiperRef",value:function(e){this.swiper=e,this.props.innerRef(e)}},{key:"render",value:function(){var e=this.props,t=(e.tagName,e.className),r=e.style,i=e.children,o=(e.allowMouseEvents,e.onSwipeUp,e.onSwipeDown,e.onSwipeLeft,e.onSwipeRight,e.onSwipeStart,e.onSwipeMove,e.onSwipeEnd,e.innerRef,e.tolerance,s(e,["tagName","className","style","children","allowMouseEvents","onSwipeUp","onSwipeDown","onSwipeLeft","onSwipeRight","onSwipeStart","onSwipeMove","onSwipeEnd","innerRef","tolerance"]));return n.default.createElement(this.props.tagName,a({ref:this._setSwiperRef,onMouseDown:this._onMouseDown,onTouchStart:this._handleSwipeStart,onTouchEnd:this._handleSwipeEnd,className:t,style:r},o),i)}}]),t}(t.Component);g.displayName="ReactSwipe",g.propTypes={tagName:i.default.string,className:i.default.string,style:i.default.object,children:i.default.node,allowMouseEvents:i.default.bool,onSwipeUp:i.default.func,onSwipeDown:i.default.func,onSwipeLeft:i.default.func,onSwipeRight:i.default.func,onSwipeStart:i.default.func,onSwipeMove:i.default.func,onSwipeEnd:i.default.func,innerRef:i.default.func,tolerance:i.default.number.isRequired},g.defaultProps={tagName:"div",allowMouseEvents:!1,onSwipeUp:function(){},onSwipeDown:function(){},onSwipeLeft:function(){},onSwipeRight:function(){},onSwipeStart:function(){},onSwipeMove:function(){},onSwipeEnd:function(){},innerRef:function(){},tolerance:0},e.default=g},void 0===(o="function"===typeof n?n.apply(t,i):n)||(e.exports=o)},9131:e=>{var t="undefined"!==typeof Element,r="function"===typeof Map,n="function"===typeof Set,i="function"===typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,a){if(e===a)return!0;if(e&&a&&"object"==typeof e&&"object"==typeof a){if(e.constructor!==a.constructor)return!1;var s,c,l,u;if(Array.isArray(e)){if((s=e.length)!=a.length)return!1;for(c=s;0!==c--;)if(!o(e[c],a[c]))return!1;return!0}if(r&&e instanceof Map&&a instanceof Map){if(e.size!==a.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!a.has(c.value[0]))return!1;for(u=e.entries();!(c=u.next()).done;)if(!o(c.value[1],a.get(c.value[0])))return!1;return!0}if(n&&e instanceof Set&&a instanceof Set){if(e.size!==a.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!a.has(c.value[0]))return!1;return!0}if(i&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(a)){if((s=e.length)!=a.length)return!1;for(c=s;0!==c--;)if(e[c]!==a[c])return!1;return!0}if(e.constructor===RegExp)return e.source===a.source&&e.flags===a.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"===typeof e.valueOf&&"function"===typeof a.valueOf)return e.valueOf()===a.valueOf();if(e.toString!==Object.prototype.toString&&"function"===typeof e.toString&&"function"===typeof a.toString)return e.toString()===a.toString();if((s=(l=Object.keys(e)).length)!==Object.keys(a).length)return!1;for(c=s;0!==c--;)if(!Object.prototype.hasOwnProperty.call(a,l[c]))return!1;if(t&&e instanceof Element)return!1;for(c=s;0!==c--;)if(("_owner"!==l[c]&&"__v"!==l[c]&&"__o"!==l[c]||!e.$$typeof)&&!o(e[l[c]],a[l[c]]))return!1;return!0}return e!==e&&a!==a}e.exports=function(e,t){try{return o(e,t)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}}},3810:(e,t,r)=>{e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),i=s(n),o=s(r(2)),a=s(r(3));function s(e){return e&&e.__esModule?e:{default:e}}var c=function(e){var t=e.fg,r=e.bg,s=e.count,c=e.palette,l=e.string,u=e.size,d=e.getColor,h=e.padding,f=e.className,p=(0,n.useRef)(null);(0,n.useEffect)((function(){m(e)}));var m=function(){var e=(0,o.default)(l),n=Math.floor(u/s),i=e.slice(0,6);if(c&&c.length){var f=Math.floor((0,a.default)(parseInt(e.slice(-3),16),0,4095,0,c.length));t=c[f]}d&&d(t||i);var m=h;p.current.width=n*s+m,p.current.height=n*s+m;var g=e.split("").map((function(e){return(e=parseInt(e,16))<8?0:1})),v=[];v[0]=v[4]=g.slice(0,5),v[1]=v[3]=g.slice(5,10),v[2]=g.slice(10,15);var y=p.current.getContext("2d");y.imageSmoothingEnabled=!1,y.clearRect(0,0,p.current.width,p.current.height),v.forEach((function(e,o){e.forEach((function(e,a){e?(y.fillStyle=t||"#"+i,y.fillRect(n*o+m,n*a+m,n-m,n-m)):(y.fillStyle=r,y.fillRect(n*o+m,n*a+m,n-m,n-m))}))}))};return i.default.createElement("canvas",{ref:p,className:f,style:{width:u,height:u}})};c.defaultProps={className:"identicon",bg:"transparent",count:5,palette:null,fg:null,padding:0,size:400,getColor:null,string:""},t.default=c},function(e,t){e.exports=r(3358)},function(e,t,r){"use strict";var n;"function"==typeof Symbol&&Symbol.iterator,function(i){function o(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function a(e,t,r,n,i,a){return o(function(e,t){return e<>>32-t}(o(o(t,e),o(n,a)),i),r)}function s(e,t,r,n,i,o,s){return a(t&r|~t&n,e,t,i,o,s)}function c(e,t,r,n,i,o,s){return a(t&n|r&~n,e,t,i,o,s)}function l(e,t,r,n,i,o,s){return a(t^r^n,e,t,i,o,s)}function u(e,t,r,n,i,o,s){return a(r^(t|~n),e,t,i,o,s)}function d(e,t){e[t>>5]|=128<>>9<<4)]=t;var r,n,i,a,d,h=1732584193,f=-271733879,p=-1732584194,m=271733878;for(r=0;r>5]>>>t%32&255);return r}function f(e){var t,r=[];for(r[(e.length>>2)-1]=void 0,t=0;t>5]|=(255&e.charCodeAt(t/8))<>>4&15)+"0123456789abcdef".charAt(15&t);return n}function m(e){return unescape(encodeURIComponent(e))}function g(e){return function(e){return h(d(f(e),8*e.length))}(m(e))}function v(e,t){return function(e,t){var r,n,i=f(e),o=[],a=[];for(o[15]=a[15]=void 0,i.length>16&&(i=d(i,8*e.length)),r=0;r<16;r+=1)o[r]=909522486^i[r],a[r]=1549556828^i[r];return n=d(o.concat(f(t)),512+8*t.length),h(d(a.concat(n),640))}(m(e),m(t))}function y(e,t,r){return t?r?v(t,e):function(e,t){return p(v(e,t))}(t,e):r?g(e):function(e){return p(g(e))}(e)}void 0===(n=function(){return y}.call(t,r,t,e))||(e.exports=n)}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n,i){return(e-t)*(i-n)/(r-t)+n}}])},3802:(e,t)=>{"use strict";var r,n=Symbol.for("react.element"),i=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function v(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case o:case s:case a:case h:case f:return e;default:switch(e=e&&e.$$typeof){case u:case l:case d:case m:case p:case c:return e;default:return t}}case i:return t}}}r=Symbol.for("react.module.reference")},9667:(e,t,r)=>{"use strict";r(3802)},2278:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i,o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),a=(i=r(9131))&&i.__esModule?i:{default:i},s=r(4275),c=r(9701);function l(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}function u(){return u=Object.assign||function(e){for(var t=1;t0&&e<1){var i=this.player.getDuration();return i?void this.player.seekTo(i*e,r):void console.warn("ReactPlayer: could not seek using fraction \u2013\xa0duration not yet available")}this.player.seekTo(e,r)}else 0!==e&&(this.seekOnPlay=e,setTimeout((function(){n.seekOnPlay=null}),5e3))}},{key:"render",value:function(){var e=this.props.activePlayer;return e?o.default.createElement(e,u({},this.props,{onMount:this.handlePlayerMount,onReady:this.handleReady,onPlay:this.handlePlay,onPause:this.handlePause,onEnded:this.handleEnded,onLoaded:this.handleLoaded,onError:this.handleError})):null}}],r&&d(t.prototype,r),n&&d(t,n),s}(o.Component);t.default=v,g(v,"displayName","Player"),g(v,"propTypes",s.propTypes),g(v,"defaultProps",s.defaultProps)},9509:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var s=i?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=e[a]}r.default=e,t&&t.set(e,r);return r}(r(3358));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createReactPlayer=void 0;var n=k(r(3358)),i=u(r(8726)),o=u(r(9570)),a=u(r(9131)),s=r(4275),c=r(9701),l=u(r(2278));function u(e){return e&&e.__esModule?e:{default:e}}function d(e){return d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:"player";return r.player?r.player.getInternalPlayer(e):null})),_(w(r),"seekTo",(function(e,t,n){if(!r.player)return null;r.player.seekTo(e,t,n)})),_(w(r),"handleReady",(function(){r.props.onReady(w(r))})),_(w(r),"getActivePlayer",(0,o.default)((function(r){for(var n=0,i=[].concat(j,m(e));n{"use strict";t.Z=void 0;var n,i=(n=r(5075))&&n.__esModule?n:{default:n},o=r(4634);var a=i.default[i.default.length-1],s=(0,o.createReactPlayer)(i.default,a);t.Z=s},8780:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canPlay=t.FLV_EXTENSIONS=t.DASH_EXTENSIONS=t.HLS_EXTENSIONS=t.VIDEO_EXTENSIONS=t.AUDIO_EXTENSIONS=t.MATCH_URL_KALTURA=t.MATCH_URL_VIDYARD=t.MATCH_URL_MIXCLOUD=t.MATCH_URL_DAILYMOTION=t.MATCH_URL_TWITCH_CHANNEL=t.MATCH_URL_TWITCH_VIDEO=t.MATCH_URL_WISTIA=t.MATCH_URL_STREAMABLE=t.MATCH_URL_FACEBOOK_WATCH=t.MATCH_URL_FACEBOOK=t.MATCH_URL_VIMEO=t.MATCH_URL_SOUNDCLOUD=t.MATCH_URL_YOUTUBE=void 0;var n=r(9701);function i(e,t){var r;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"===typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(e,t)}(e))||t&&e&&"number"===typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.player.duration||null}},{key:"getCurrentTime",value:function(){return this.player.currentTime}},{key:"getSecondsLoaded",value:function(){return this.player.bufferedTime}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return i.default.createElement("div",{style:e},i.default.createElement("div",{ref:this.ref}))}}],r&&h(t.prototype,r),n&&h(t,n),c}(i.Component);t.default=y,v(y,"displayName","DailyMotion"),v(y,"canPlay",a.canPlay.dailymotion),v(y,"loopOnEnded",!0)},3140:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(){return c=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentPosition")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props.config.attributes;return i.default.createElement("div",c({style:{width:"100%",height:"100%"},id:this.playerID,className:"fb-video","data-href":this.props.url,"data-autoplay":this.props.playing?"true":"false","data-allowfullscreen":"true","data-controls":this.props.controls?"true":"false"},e))}}],r&&l(t.prototype,r),n&&l(t,n),s}(i.Component);t.default=v,p(v,"displayName","Facebook"),p(v,"canPlay",a.canPlay.facebook),p(v,"loopOnEnded",!0)},7821:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(){return c=Object.assign||function(e){for(var t=1;t1,v=m&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||g)&&!window.MSStream,y=m&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&!window.MSStream,b=/www\.dropbox\.com\/.+/,w=/https:\/\/watch\.cloudflarestream\.com\/([a-z0-9]+)/,x=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(f,e);var t,r,n,s=d(f);function f(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f);for(var t=arguments.length,r=new Array(t),n=0;n1&&void 0!==arguments[1])||arguments[1];this.player.currentTime=e,t||this.pause()}},{key:"setVolume",value:function(e){this.player.volume=e}},{key:"enablePIP",value:function(){this.player.requestPictureInPicture&&document.pictureInPictureElement!==this.player?this.player.requestPictureInPicture():(0,o.supportsWebKitPresentationMode)(this.player)&&"picture-in-picture"!==this.player.webkitPresentationMode&&this.player.webkitSetPresentationMode("picture-in-picture")}},{key:"disablePIP",value:function(){document.exitPictureInPicture&&document.pictureInPictureElement===this.player?document.exitPictureInPicture():(0,o.supportsWebKitPresentationMode)(this.player)&&"inline"!==this.player.webkitPresentationMode&&this.player.webkitSetPresentationMode("inline")}},{key:"setPlaybackRate",value:function(e){try{this.player.playbackRate=e}catch(t){this.props.onError(t)}}},{key:"getDuration",value:function(){if(!this.player)return null;var e=this.player,t=e.duration,r=e.seekable;return t===1/0&&r.length>0?r.end(r.length-1):t}},{key:"getCurrentTime",value:function(){return this.player?this.player.currentTime:null}},{key:"getSecondsLoaded",value:function(){if(!this.player)return null;var e=this.player.buffered;if(0===e.length)return 0;var t=e.end(e.length-1),r=this.getDuration();return t>r?r:t}},{key:"getSource",value:function(e){var t=this.shouldUseHLS(e),r=this.shouldUseDASH(e),n=this.shouldUseFLV(e);if(!(e instanceof Array||(0,o.isMediaStream)(e)||t||r||n))return b.test(e)?e.replace("www.dropbox.com","dl.dropboxusercontent.com"):e}},{key:"render",value:function(){var e=this.props,t=e.url,r=e.playing,n=e.loop,o=e.controls,a=e.muted,s=e.config,l=e.width,u=e.height,d=this.shouldUseAudio(this.props)?"audio":"video",h={width:"auto"===l?l:"100%",height:"auto"===u?u:"100%"};return i.default.createElement(d,c({ref:this.ref,src:this.getSource(t),style:h,preload:"auto",autoPlay:r||void 0,controls:o,muted:a,loop:n},s.attributes),t instanceof Array&&t.map(this.renderSourceElement),s.tracks.map(this.renderTrack))}}],r&&l(t.prototype,r),n&&l(t,n),f}(i.Component);t.default=x,p(x,"displayName","FilePlayer"),p(x,"canPlay",a.canPlay.file)},4918:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){return i.default.createElement("iframe",{ref:this.ref,src:this.props.url,frameBorder:"0",scrolling:"no",style:{width:"100%",height:"100%"},allow:"encrypted-media; autoplay; fullscreen;",referrerPolicy:"no-referrer-when-downgrade"})}}],r&&c(t.prototype,r),n&&c(t,n),s}(i.Component);t.default=p,f(p,"displayName","Kaltura"),f(p,"canPlay",a.canPlay.kaltura)},8445:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props,t=e.url,r=e.config,n=t.match(a.MATCH_URL_MIXCLOUD)[1],s=(0,o.queryString)(l(l({},r.options),{},{feed:"/".concat(n,"/")}));return i.default.createElement("iframe",{key:n,ref:this.ref,style:{width:"100%",height:"100%"},src:"https://www.mixcloud.com/widget/iframe/?".concat(s),frameBorder:"0",allow:"autoplay"})}}],r&&u(t.prototype,r),n&&u(t,n),c}(i.Component);t.default=g,m(g,"displayName","Mixcloud"),m(g,"canPlay",a.canPlay.mixcloud),m(g,"loopOnEnded",!0)},1061:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seekTo",1e3*e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.fractionLoaded*this.duration}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return i.default.createElement("iframe",{ref:this.ref,src:"https://w.soundcloud.com/player/?url=".concat(encodeURIComponent(this.props.url)),style:e,frameBorder:0,allow:"autoplay"})}}],r&&u(t.prototype,r),n&&u(t,n),s}(i.Component);t.default=g,m(g,"displayName","SoundCloud"),m(g,"canPlay",a.canPlay.soundcloud),m(g,"loopOnEnded",!0)},2510:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e=this.props.url.match(a.MATCH_URL_STREAMABLE)[1];return i.default.createElement("iframe",{ref:this.ref,src:"https://streamable.com/o/".concat(e),frameBorder:"0",scrolling:"no",style:{width:"100%",height:"100%"},allow:"encrypted-media; autoplay; fullscreen;"})}}],r&&c(t.prototype,r),n&&c(t,n),h}(i.Component);t.default=p,f(p,"displayName","Streamable"),f(p,"canPlay",a.canPlay.streamable)},7594:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e,t){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){return i.default.createElement("div",{style:{width:"100%",height:"100%"},id:this.playerID})}}],r&&l(t.prototype,r),n&&l(t,n),f}(i.Component);t.default=m,p(m,"displayName","Twitch"),p(m,"canPlay",a.canPlay.twitch),p(m,"loopOnEnded",!0)},268:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e,t){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackSpeed",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.callPlayer("currentTime")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return i.default.createElement("div",{style:e},i.default.createElement("div",{ref:this.ref}))}}],r&&l(t.prototype,r),n&&l(t,n),f}(i.Component);t.default=m,p(m,"displayName","Vidyard"),p(m,"canPlay",a.canPlay.vidyard)},624:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e,t){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setMuted",value:function(e){this.callPlayer("setMuted",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackRate",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e={width:"100%",height:"100%",overflow:"hidden",display:this.props.display};return i.default.createElement("div",{key:this.props.url,ref:this.ref,style:e})}}],r&&l(t.prototype,r),n&&l(t,n),s}(i.Component);t.default=g,p(g,"displayName","Vimeo"),p(g,"canPlay",a.canPlay.vimeo),p(g,"forceLoad",!0)},8463:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];this.callPlayer("time",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("volume",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("playbackRate",e)}},{key:"getDuration",value:function(){return this.callPlayer("duration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("time")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props.url,t=e&&e.match(a.MATCH_URL_WISTIA)[1],r="wistia_embed wistia_async_".concat(t);return i.default.createElement("div",{id:this.playerID,key:t,className:r,style:{width:"100%",height:"100%"}})}}],r&&u(t.prototype,r),n&&u(t,n),c}(i.Component);t.default=g,m(g,"displayName","Wistia"),m(g,"canPlay",a.canPlay.wistia),m(g,"loopOnEnded",!0)},6746:(e,t,r)=>{"use strict";function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(r(3358)),o=r(9701),a=r(8780);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]&&arguments[1];this.callPlayer("seekTo",e),t||this.props.playing||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackRate",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return this.callPlayer("getVideoLoadedFraction")*this.getDuration()}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return i.default.createElement("div",{style:e},i.default.createElement("div",{ref:this.ref}))}}],r&&h(t.prototype,r),n&&h(t,n),c}(i.Component);t.default=x,v(x,"displayName","YouTube"),v(x,"canPlay",a.canPlay.youtube)},5075:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(3358),i=r(9701),o=r(8780);function a(e){return a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e){if(e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=n?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}var l=[{key:"youtube",name:"YouTube",canPlay:o.canPlay.youtube,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(6746))}))}))},{key:"soundcloud",name:"SoundCloud",canPlay:o.canPlay.soundcloud,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(1061))}))}))},{key:"vimeo",name:"Vimeo",canPlay:o.canPlay.vimeo,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(624))}))}))},{key:"facebook",name:"Facebook",canPlay:o.canPlay.facebook,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(3140))}))}))},{key:"streamable",name:"Streamable",canPlay:o.canPlay.streamable,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(2510))}))}))},{key:"wistia",name:"Wistia",canPlay:o.canPlay.wistia,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(8463))}))}))},{key:"twitch",name:"Twitch",canPlay:o.canPlay.twitch,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(7594))}))}))},{key:"dailymotion",name:"DailyMotion",canPlay:o.canPlay.dailymotion,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(3459))}))}))},{key:"mixcloud",name:"Mixcloud",canPlay:o.canPlay.mixcloud,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(8445))}))}))},{key:"vidyard",name:"Vidyard",canPlay:o.canPlay.vidyard,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(268))}))}))},{key:"kaltura",name:"Kaltura",canPlay:o.canPlay.kaltura,lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(4918))}))}))},{key:"file",name:"FilePlayer",canPlay:o.canPlay.file,canEnablePIP:function(e){return o.canPlay.file(e)&&(document.pictureInPictureEnabled||(0,i.supportsWebKitPresentationMode)())&&!o.AUDIO_EXTENSIONS.test(e)},lazyPlayer:(0,n.lazy)((function(){return Promise.resolve().then((function(){return c(r(7821))}))}))}];t.default=l},4275:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultProps=t.propTypes=void 0;var n,i=(n=r(4108))&&n.__esModule?n:{default:n};var o=i.default.string,a=i.default.bool,s=i.default.number,c=i.default.array,l=i.default.oneOfType,u=i.default.shape,d=i.default.object,h=i.default.func,f=i.default.node,p={url:l([o,c,d]),playing:a,loop:a,controls:a,volume:s,muted:a,playbackRate:s,width:l([o,s]),height:l([o,s]),style:d,progressInterval:s,playsinline:a,pip:a,stopOnUnmount:a,light:l([a,o,d]),playIcon:f,previewTabIndex:s,fallback:f,oEmbedUrl:o,wrapper:l([o,h,u({render:h.isRequired})]),config:u({soundcloud:u({options:d}),youtube:u({playerVars:d,embedOptions:d,onUnstarted:h}),facebook:u({appId:o,version:o,playerId:o,attributes:d}),dailymotion:u({params:d}),vimeo:u({playerOptions:d,title:o}),file:u({attributes:d,tracks:c,forceVideo:a,forceAudio:a,forceHLS:a,forceSafariHLS:a,forceDisableHls:a,forceDASH:a,forceFLV:a,hlsOptions:d,hlsVersion:o,dashVersion:o,flvVersion:o}),wistia:u({options:d,playerId:o,customControls:c}),mixcloud:u({options:d}),twitch:u({options:d,playerId:o}),vidyard:u({options:d})}),onReady:h,onStart:h,onPlay:h,onPause:h,onBuffer:h,onBufferEnd:h,onEnded:h,onError:h,onDuration:h,onSeek:h,onPlaybackRateChange:h,onPlaybackQualityChange:h,onProgress:h,onClickPreview:h,onEnablePIP:h,onDisablePIP:h};t.propTypes=p;var m=function(){},g={playing:!1,loop:!1,controls:!1,volume:null,muted:!1,playbackRate:1,width:"640px",height:"360px",style:{},progressInterval:1e3,playsinline:!1,pip:!1,stopOnUnmount:!0,light:!1,fallback:null,wrapper:"div",previewTabIndex:0,oEmbedUrl:"https://noembed.com/embed?url={url}",config:{soundcloud:{options:{visual:!0,buying:!1,liking:!1,download:!1,sharing:!1,show_comments:!1,show_playcount:!1}},youtube:{playerVars:{playsinline:1,showinfo:0,rel:0,iv_load_policy:3,modestbranding:1},embedOptions:{},onUnstarted:m},facebook:{appId:"1309697205772819",version:"v3.3",playerId:null,attributes:{}},dailymotion:{params:{api:1,"endscreen-enable":!1}},vimeo:{playerOptions:{autopause:!1,byline:!1,portrait:!1,title:!1},title:null},file:{attributes:{},tracks:[],forceVideo:!1,forceAudio:!1,forceHLS:!1,forceDASH:!1,forceFLV:!1,hlsOptions:{},hlsVersion:"1.1.4",dashVersion:"3.1.3",flvVersion:"1.5.0",forceDisableHls:!1},wistia:{options:{},playerId:null,customControls:null},mixcloud:{options:{hide_cover:1}},twitch:{options:{},playerId:null},vidyard:{options:{}}},onReady:m,onStart:m,onPlay:m,onPause:m,onBuffer:m,onBufferEnd:m,onEnded:m,onError:m,onDuration:m,onSeek:m,onPlaybackRateChange:m,onPlaybackQualityChange:m,onProgress:m,onClickPreview:m,onEnablePIP:m,onDisablePIP:m};t.defaultProps=g},9701:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseStartTime=function(e){return h(e,c)},t.parseEndTime=function(e){return h(e,l)},t.randomString=function(){return Math.random().toString(36).substr(2,5)},t.queryString=function(e){return Object.keys(e).map((function(t){return"".concat(t,"=").concat(e[t])})).join("&")},t.getSDK=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0},o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:n.default,a=f(t);if(a&&i(a))return Promise.resolve(a);return new Promise((function(n,i){if(p[e])p[e].push({resolve:n,reject:i});else{p[e]=[{resolve:n,reject:i}];var a=function(t){p[e].forEach((function(e){return e.resolve(t)}))};if(r){var s=window[r];window[r]=function(){s&&s(),a(f(t))}}o(e,(function(n){n?(p[e].forEach((function(e){return e.reject(n)})),p[e]=null):r||a(f(t))}))}}))},t.getConfig=function(e,t){return(0,i.default)(t.config,e.config)},t.omit=function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?n-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:document.createElement("video"),t=!1===/iPhone|iPod/.test(navigator.userAgent);return e.webkitSupportsPresentationMode&&"function"===typeof e.webkitSetPresentationMode&&t};var n=o(r(1047)),i=o(r(8726));function o(e){return e&&e.__esModule?e:{default:e}}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"===typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(c){i=!0,o=c}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=1&&r<=127?n+=e.charAt(t):r>2047?(n+=String.fromCharCode(224|r>>12&15),n+=String.fromCharCode(128|r>>6&63),n+=String.fromCharCode(128|r>>0&63)):(n+=String.fromCharCode(192|r>>6&31),n+=String.fromCharCode(128|r>>0&63));return n},t.prototype.drawRoundedSquare=function(e,t,r,n,i,o,a,s){s.lineWidth=e,s.fillStyle=i,s.strokeStyle=i,r+=e/2,t+=e/2,n-=e,Array.isArray(o)||(o=[o,o,o,o]);var c=(o=o.map((function(e){return(e=Math.min(e,n/2))<0?0:e})))[0]||0,l=o[1]||0,u=o[2]||0,d=o[3]||0;s.beginPath(),s.moveTo(t+c,r),s.lineTo(t+n-l,r),l&&s.quadraticCurveTo(t+n,r,t+n,r+l),s.lineTo(t+n,r+n-u),u&&s.quadraticCurveTo(t+n,r+n,t+n-u,r+n),s.lineTo(t+d,r+n),d&&s.quadraticCurveTo(t,r+n,t,r+n-d),s.lineTo(t,r+c),c&&s.quadraticCurveTo(t,r,t+c,r),s.closePath(),s.stroke(),a&&s.fill()},t.prototype.drawPositioningPattern=function(e,t,r,n,i,o,a){void 0===a&&(a=[0,0,0,0]);var s,c,l,u,d=Math.ceil(t);"number"===typeof a||Array.isArray(a)?c=s=a:(s=a.outer||0,c=a.inner||0),"string"!==typeof o?(l=o.outer,u=o.inner):(l=o,u=o);var h=n*t+r,f=i*t+r,p=7*t;this.drawRoundedSquare(d,f,h,p,l,s,!1,e),p=3*t,h+=2*t,f+=2*t,this.drawRoundedSquare(d,f,h,p,u,c,!0,e)},t.prototype.isInPositioninZone=function(e,t,r){return r.some((function(r){return t>=r.row&&t<=r.row+7&&e>=r.col&&e<=r.col+7}))},t.prototype.transformPixelLengthIntoNumberOfCells=function(e,t){return e/t},t.prototype.isCoordinateInImage=function(e,t,r,n,i,o,a,s){if(s){var c=this.transformPixelLengthIntoNumberOfCells(i,a),l=this.transformPixelLengthIntoNumberOfCells(o,a),u=this.transformPixelLengthIntoNumberOfCells(r,a)-1,d=this.transformPixelLengthIntoNumberOfCells(n,a)-1;return t>=c-2&&t<=c+u+2&&e>=l-2&&e<=l+d+2}return!1},t.prototype.shouldComponentUpdate=function(e){return!i(this.props,e)},t.prototype.componentDidMount=function(){this.update()},t.prototype.componentDidUpdate=function(){this.update()},t.prototype.update=function(){var e=this.props,r=e.value,n=e.ecLevel,i=e.enableCORS,a=e.bgColor,c=e.fgColor,l=e.logoImage,u=e.logoOpacity,d=e.logoOnLoad,h=e.removeQrCodeBehindLogo,f=e.qrStyle,p=e.eyeRadius,m=e.eyeColor,g=e.logoPaddingStyle,v=+this.props.size,y=+this.props.quietZone,b=this.props.logoWidth?+this.props.logoWidth:0,w=this.props.logoHeight?+this.props.logoHeight:0,x=this.props.logoPadding?+this.props.logoPadding:0,_=o(0,n);_.addData(t.utf16to8(r)),_.make();var S=s.findDOMNode(this.canvas.current),k=S.getContext("2d"),E=v+2*y,P=_.getModuleCount(),O=v/P,A=window.devicePixelRatio||1;S.height=S.width=E*A,k.scale(A,A),k.fillStyle=a,k.fillRect(0,0,E,E);var T=y,j=[{row:0,col:0},{row:0,col:P-7},{row:P-7,col:0}];if(k.strokeStyle=c,"dots"===f){k.fillStyle=c;for(var C=O/2,R=0;R{"use strict";r.d(t,{j:()=>a});var n=r(8619),i=r(8289),o=r(8116),a=new(function(e){function t(){var t;return(t=e.call(this)||this).setup=function(e){var t;if(!o.sk&&(null==(t=window)?void 0:t.addEventListener)){var r=function(){return e()};return window.addEventListener("visibilitychange",r,!1),window.addEventListener("focus",r,!1),function(){window.removeEventListener("visibilitychange",r),window.removeEventListener("focus",r)}}},t}(0,n.Z)(t,e);var r=t.prototype;return r.onSubscribe=function(){this.cleanup||this.setEventListener(this.setup)},r.onUnsubscribe=function(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)},r.setEventListener=function(e){var t,r=this;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((function(e){"boolean"===typeof e?r.setFocused(e):r.onFocus()}))},r.setFocused=function(e){this.focused=e,e&&this.onFocus()},r.onFocus=function(){this.listeners.forEach((function(e){e()}))},r.isFocused=function(){return"boolean"===typeof this.focused?this.focused:"undefined"===typeof document||[void 0,"visible","prerender"].includes(document.visibilityState)},t}(i.l))},2922:(e,t,r)=>{"use strict";r.d(t,{QueryClient:()=>n.S});var n=r(3392),i=r(7546);r.o(i,"QueryClientProvider")&&r.d(t,{QueryClientProvider:function(){return i.QueryClientProvider}}),r.o(i,"useQuery")&&r.d(t,{useQuery:function(){return i.useQuery}}),r.o(i,"useQueryClient")&&r.d(t,{useQueryClient:function(){return i.useQueryClient}})},611:(e,t,r)=>{"use strict";r.d(t,{E:()=>o,j:()=>i});var n=console;function i(){return n}function o(e){n=e}},8181:(e,t,r)=>{"use strict";r.d(t,{V:()=>i});var n=r(8116),i=new(function(){function e(){this.queue=[],this.transactions=0,this.notifyFn=function(e){e()},this.batchNotifyFn=function(e){e()}}var t=e.prototype;return t.batch=function(e){var t;this.transactions++;try{t=e()}finally{this.transactions--,this.transactions||this.flush()}return t},t.schedule=function(e){var t=this;this.transactions?this.queue.push(e):(0,n.A4)((function(){t.notifyFn(e)}))},t.batchCalls=function(e){var t=this;return function(){for(var r=arguments.length,n=new Array(r),i=0;i{"use strict";r.d(t,{N:()=>a});var n=r(8619),i=r(8289),o=r(8116),a=new(function(e){function t(){var t;return(t=e.call(this)||this).setup=function(e){var t;if(!o.sk&&(null==(t=window)?void 0:t.addEventListener)){var r=function(){return e()};return window.addEventListener("online",r,!1),window.addEventListener("offline",r,!1),function(){window.removeEventListener("online",r),window.removeEventListener("offline",r)}}},t}(0,n.Z)(t,e);var r=t.prototype;return r.onSubscribe=function(){this.cleanup||this.setEventListener(this.setup)},r.onUnsubscribe=function(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)},r.setEventListener=function(e){var t,r=this;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((function(e){"boolean"===typeof e?r.setOnline(e):r.onOnline()}))},r.setOnline=function(e){this.online=e,e&&this.onOnline()},r.onOnline=function(){this.listeners.forEach((function(e){e()}))},r.isOnline=function(){return"boolean"===typeof this.online?this.online:"undefined"===typeof navigator||"undefined"===typeof navigator.onLine||navigator.onLine},t}(i.l))},3392:(e,t,r)=>{"use strict";r.d(t,{S:()=>y});var n=r(1730),i=r(8116),o=r(8619),a=r(8181),s=r(611),c=r(6290),l=function(){function e(e){this.abortSignalConsumed=!1,this.hadObservers=!1,this.defaultOptions=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.cache=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.initialState=e.state||this.getDefaultState(this.options),this.state=this.initialState,this.meta=e.meta,this.scheduleGc()}var t=e.prototype;return t.setOptions=function(e){var t;this.options=(0,n.Z)({},this.defaultOptions,e),this.meta=null==e?void 0:e.meta,this.cacheTime=Math.max(this.cacheTime||0,null!=(t=this.options.cacheTime)?t:3e5)},t.setDefaultOptions=function(e){this.defaultOptions=e},t.scheduleGc=function(){var e=this;this.clearGcTimeout(),(0,i.PN)(this.cacheTime)&&(this.gcTimeout=setTimeout((function(){e.optionalRemove()}),this.cacheTime))},t.clearGcTimeout=function(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)},t.optionalRemove=function(){this.observers.length||(this.state.isFetching?this.hadObservers&&this.scheduleGc():this.cache.remove(this))},t.setData=function(e,t){var r,n,o=this.state.data,a=(0,i.SE)(e,o);return(null==(r=(n=this.options).isDataEqual)?void 0:r.call(n,o,a))?a=o:!1!==this.options.structuralSharing&&(a=(0,i.Q$)(o,a)),this.dispatch({data:a,type:"success",dataUpdatedAt:null==t?void 0:t.updatedAt}),a},t.setState=function(e,t){this.dispatch({type:"setState",state:e,setStateOptions:t})},t.cancel=function(e){var t,r=this.promise;return null==(t=this.retryer)||t.cancel(e),r?r.then(i.ZT).catch(i.ZT):Promise.resolve()},t.destroy=function(){this.clearGcTimeout(),this.cancel({silent:!0})},t.reset=function(){this.destroy(),this.setState(this.initialState)},t.isActive=function(){return this.observers.some((function(e){return!1!==e.options.enabled}))},t.isFetching=function(){return this.state.isFetching},t.isStale=function(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some((function(e){return e.getCurrentResult().isStale}))},t.isStaleByTime=function(e){return void 0===e&&(e=0),this.state.isInvalidated||!this.state.dataUpdatedAt||!(0,i.Kp)(this.state.dataUpdatedAt,e)},t.onFocus=function(){var e,t=this.observers.find((function(e){return e.shouldFetchOnWindowFocus()}));t&&t.refetch(),null==(e=this.retryer)||e.continue()},t.onOnline=function(){var e,t=this.observers.find((function(e){return e.shouldFetchOnReconnect()}));t&&t.refetch(),null==(e=this.retryer)||e.continue()},t.addObserver=function(e){-1===this.observers.indexOf(e)&&(this.observers.push(e),this.hadObservers=!0,this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:e}))},t.removeObserver=function(e){-1!==this.observers.indexOf(e)&&(this.observers=this.observers.filter((function(t){return t!==e})),this.observers.length||(this.retryer&&(this.retryer.isTransportCancelable||this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.cacheTime?this.scheduleGc():this.cache.remove(this)),this.cache.notify({type:"observerRemoved",query:this,observer:e}))},t.getObserversCount=function(){return this.observers.length},t.invalidate=function(){this.state.isInvalidated||this.dispatch({type:"invalidate"})},t.fetch=function(e,t){var r,n,o,a=this;if(this.state.isFetching)if(this.state.dataUpdatedAt&&(null==t?void 0:t.cancelRefetch))this.cancel({silent:!0});else if(this.promise){var l;return null==(l=this.retryer)||l.continueRetry(),this.promise}if(e&&this.setOptions(e),!this.options.queryFn){var u=this.observers.find((function(e){return e.options.queryFn}));u&&this.setOptions(u.options)}var d=(0,i.mc)(this.queryKey),h=(0,i.G9)(),f={queryKey:d,pageParam:void 0,meta:this.meta};Object.defineProperty(f,"signal",{enumerable:!0,get:function(){if(h)return a.abortSignalConsumed=!0,h.signal}});var p,m,g={fetchOptions:t,options:this.options,queryKey:d,state:this.state,fetchFn:function(){return a.options.queryFn?(a.abortSignalConsumed=!1,a.options.queryFn(f)):Promise.reject("Missing queryFn")},meta:this.meta};(null==(r=this.options.behavior)?void 0:r.onFetch)&&(null==(p=this.options.behavior)||p.onFetch(g));(this.revertState=this.state,this.state.isFetching&&this.state.fetchMeta===(null==(n=g.fetchOptions)?void 0:n.meta))||this.dispatch({type:"fetch",meta:null==(m=g.fetchOptions)?void 0:m.meta});return this.retryer=new c.m4({fn:g.fetchFn,abort:null==h||null==(o=h.abort)?void 0:o.bind(h),onSuccess:function(e){a.setData(e),null==a.cache.config.onSuccess||a.cache.config.onSuccess(e,a),0===a.cacheTime&&a.optionalRemove()},onError:function(e){(0,c.DV)(e)&&e.silent||a.dispatch({type:"error",error:e}),(0,c.DV)(e)||(null==a.cache.config.onError||a.cache.config.onError(e,a),(0,s.j)().error(e)),0===a.cacheTime&&a.optionalRemove()},onFail:function(){a.dispatch({type:"failed"})},onPause:function(){a.dispatch({type:"pause"})},onContinue:function(){a.dispatch({type:"continue"})},retry:g.options.retry,retryDelay:g.options.retryDelay}),this.promise=this.retryer.promise,this.promise},t.dispatch=function(e){var t=this;this.state=this.reducer(this.state,e),a.V.batch((function(){t.observers.forEach((function(t){t.onQueryUpdate(e)})),t.cache.notify({query:t,type:"queryUpdated",action:e})}))},t.getDefaultState=function(e){var t="function"===typeof e.initialData?e.initialData():e.initialData,r="undefined"!==typeof e.initialData?"function"===typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0,n="undefined"!==typeof t;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?null!=r?r:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchMeta:null,isFetching:!1,isInvalidated:!1,isPaused:!1,status:n?"success":"idle"}},t.reducer=function(e,t){var r,i;switch(t.type){case"failed":return(0,n.Z)({},e,{fetchFailureCount:e.fetchFailureCount+1});case"pause":return(0,n.Z)({},e,{isPaused:!0});case"continue":return(0,n.Z)({},e,{isPaused:!1});case"fetch":return(0,n.Z)({},e,{fetchFailureCount:0,fetchMeta:null!=(r=t.meta)?r:null,isFetching:!0,isPaused:!1},!e.dataUpdatedAt&&{error:null,status:"loading"});case"success":return(0,n.Z)({},e,{data:t.data,dataUpdateCount:e.dataUpdateCount+1,dataUpdatedAt:null!=(i=t.dataUpdatedAt)?i:Date.now(),error:null,fetchFailureCount:0,isFetching:!1,isInvalidated:!1,isPaused:!1,status:"success"});case"error":var o=t.error;return(0,c.DV)(o)&&o.revert&&this.revertState?(0,n.Z)({},this.revertState):(0,n.Z)({},e,{error:o,errorUpdateCount:e.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:e.fetchFailureCount+1,isFetching:!1,isPaused:!1,status:"error"});case"invalidate":return(0,n.Z)({},e,{isInvalidated:!0});case"setState":return(0,n.Z)({},e,t.state);default:return e}},e}(),u=r(8289),d=function(e){function t(t){var r;return(r=e.call(this)||this).config=t||{},r.queries=[],r.queriesMap={},r}(0,o.Z)(t,e);var r=t.prototype;return r.build=function(e,t,r){var n,o=t.queryKey,a=null!=(n=t.queryHash)?n:(0,i.Rm)(o,t),s=this.get(a);return s||(s=new l({cache:this,queryKey:o,queryHash:a,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(o),meta:t.meta}),this.add(s)),s},r.add=function(e){this.queriesMap[e.queryHash]||(this.queriesMap[e.queryHash]=e,this.queries.push(e),this.notify({type:"queryAdded",query:e}))},r.remove=function(e){var t=this.queriesMap[e.queryHash];t&&(e.destroy(),this.queries=this.queries.filter((function(t){return t!==e})),t===e&&delete this.queriesMap[e.queryHash],this.notify({type:"queryRemoved",query:e}))},r.clear=function(){var e=this;a.V.batch((function(){e.queries.forEach((function(t){e.remove(t)}))}))},r.get=function(e){return this.queriesMap[e]},r.getAll=function(){return this.queries},r.find=function(e,t){var r=(0,i.I6)(e,t)[0];return"undefined"===typeof r.exact&&(r.exact=!0),this.queries.find((function(e){return(0,i._x)(r,e)}))},r.findAll=function(e,t){var r=(0,i.I6)(e,t)[0];return Object.keys(r).length>0?this.queries.filter((function(e){return(0,i._x)(r,e)})):this.queries},r.notify=function(e){var t=this;a.V.batch((function(){t.listeners.forEach((function(t){t(e)}))}))},r.onFocus=function(){var e=this;a.V.batch((function(){e.queries.forEach((function(e){e.onFocus()}))}))},r.onOnline=function(){var e=this;a.V.batch((function(){e.queries.forEach((function(e){e.onOnline()}))}))},t}(u.l),h=function(){function e(e){this.options=(0,n.Z)({},e.defaultOptions,e.options),this.mutationId=e.mutationId,this.mutationCache=e.mutationCache,this.observers=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,isPaused:!1,status:"idle",variables:void 0},this.meta=e.meta}var t=e.prototype;return t.setState=function(e){this.dispatch({type:"setState",state:e})},t.addObserver=function(e){-1===this.observers.indexOf(e)&&this.observers.push(e)},t.removeObserver=function(e){this.observers=this.observers.filter((function(t){return t!==e}))},t.cancel=function(){return this.retryer?(this.retryer.cancel(),this.retryer.promise.then(i.ZT).catch(i.ZT)):Promise.resolve()},t.continue=function(){return this.retryer?(this.retryer.continue(),this.retryer.promise):this.execute()},t.execute=function(){var e,t=this,r="loading"===this.state.status,n=Promise.resolve();return r||(this.dispatch({type:"loading",variables:this.options.variables}),n=n.then((function(){null==t.mutationCache.config.onMutate||t.mutationCache.config.onMutate(t.state.variables,t)})).then((function(){return null==t.options.onMutate?void 0:t.options.onMutate(t.state.variables)})).then((function(e){e!==t.state.context&&t.dispatch({type:"loading",context:e,variables:t.state.variables})}))),n.then((function(){return t.executeMutation()})).then((function(r){e=r,null==t.mutationCache.config.onSuccess||t.mutationCache.config.onSuccess(e,t.state.variables,t.state.context,t)})).then((function(){return null==t.options.onSuccess?void 0:t.options.onSuccess(e,t.state.variables,t.state.context)})).then((function(){return null==t.options.onSettled?void 0:t.options.onSettled(e,null,t.state.variables,t.state.context)})).then((function(){return t.dispatch({type:"success",data:e}),e})).catch((function(e){return null==t.mutationCache.config.onError||t.mutationCache.config.onError(e,t.state.variables,t.state.context,t),(0,s.j)().error(e),Promise.resolve().then((function(){return null==t.options.onError?void 0:t.options.onError(e,t.state.variables,t.state.context)})).then((function(){return null==t.options.onSettled?void 0:t.options.onSettled(void 0,e,t.state.variables,t.state.context)})).then((function(){throw t.dispatch({type:"error",error:e}),e}))}))},t.executeMutation=function(){var e,t=this;return this.retryer=new c.m4({fn:function(){return t.options.mutationFn?t.options.mutationFn(t.state.variables):Promise.reject("No mutationFn found")},onFail:function(){t.dispatch({type:"failed"})},onPause:function(){t.dispatch({type:"pause"})},onContinue:function(){t.dispatch({type:"continue"})},retry:null!=(e=this.options.retry)?e:0,retryDelay:this.options.retryDelay}),this.retryer.promise},t.dispatch=function(e){var t=this;this.state=function(e,t){switch(t.type){case"failed":return(0,n.Z)({},e,{failureCount:e.failureCount+1});case"pause":return(0,n.Z)({},e,{isPaused:!0});case"continue":return(0,n.Z)({},e,{isPaused:!1});case"loading":return(0,n.Z)({},e,{context:t.context,data:void 0,error:null,isPaused:!1,status:"loading",variables:t.variables});case"success":return(0,n.Z)({},e,{data:t.data,error:null,status:"success",isPaused:!1});case"error":return(0,n.Z)({},e,{data:void 0,error:t.error,failureCount:e.failureCount+1,isPaused:!1,status:"error"});case"setState":return(0,n.Z)({},e,t.state);default:return e}}(this.state,e),a.V.batch((function(){t.observers.forEach((function(t){t.onMutationUpdate(e)})),t.mutationCache.notify(t)}))},e}();var f=function(e){function t(t){var r;return(r=e.call(this)||this).config=t||{},r.mutations=[],r.mutationId=0,r}(0,o.Z)(t,e);var r=t.prototype;return r.build=function(e,t,r){var n=new h({mutationCache:this,mutationId:++this.mutationId,options:e.defaultMutationOptions(t),state:r,defaultOptions:t.mutationKey?e.getMutationDefaults(t.mutationKey):void 0,meta:t.meta});return this.add(n),n},r.add=function(e){this.mutations.push(e),this.notify(e)},r.remove=function(e){this.mutations=this.mutations.filter((function(t){return t!==e})),e.cancel(),this.notify(e)},r.clear=function(){var e=this;a.V.batch((function(){e.mutations.forEach((function(t){e.remove(t)}))}))},r.getAll=function(){return this.mutations},r.find=function(e){return"undefined"===typeof e.exact&&(e.exact=!0),this.mutations.find((function(t){return(0,i.X7)(e,t)}))},r.findAll=function(e){return this.mutations.filter((function(t){return(0,i.X7)(e,t)}))},r.notify=function(e){var t=this;a.V.batch((function(){t.listeners.forEach((function(t){t(e)}))}))},r.onFocus=function(){this.resumePausedMutations()},r.onOnline=function(){this.resumePausedMutations()},r.resumePausedMutations=function(){var e=this.mutations.filter((function(e){return e.state.isPaused}));return a.V.batch((function(){return e.reduce((function(e,t){return e.then((function(){return t.continue().catch(i.ZT)}))}),Promise.resolve())}))},t}(u.l),p=r(8055),m=r(245);function g(e,t){return null==e.getNextPageParam?void 0:e.getNextPageParam(t[t.length-1],t)}function v(e,t){return null==e.getPreviousPageParam?void 0:e.getPreviousPageParam(t[0],t)}var y=function(){function e(e){void 0===e&&(e={}),this.queryCache=e.queryCache||new d,this.mutationCache=e.mutationCache||new f,this.defaultOptions=e.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[]}var t=e.prototype;return t.mount=function(){var e=this;this.unsubscribeFocus=p.j.subscribe((function(){p.j.isFocused()&&m.N.isOnline()&&(e.mutationCache.onFocus(),e.queryCache.onFocus())})),this.unsubscribeOnline=m.N.subscribe((function(){p.j.isFocused()&&m.N.isOnline()&&(e.mutationCache.onOnline(),e.queryCache.onOnline())}))},t.unmount=function(){var e,t;null==(e=this.unsubscribeFocus)||e.call(this),null==(t=this.unsubscribeOnline)||t.call(this)},t.isFetching=function(e,t){var r=(0,i.I6)(e,t)[0];return r.fetching=!0,this.queryCache.findAll(r).length},t.isMutating=function(e){return this.mutationCache.findAll((0,n.Z)({},e,{fetching:!0})).length},t.getQueryData=function(e,t){var r;return null==(r=this.queryCache.find(e,t))?void 0:r.state.data},t.getQueriesData=function(e){return this.getQueryCache().findAll(e).map((function(e){return[e.queryKey,e.state.data]}))},t.setQueryData=function(e,t,r){var n=(0,i._v)(e),o=this.defaultQueryOptions(n);return this.queryCache.build(this,o).setData(t,r)},t.setQueriesData=function(e,t,r){var n=this;return a.V.batch((function(){return n.getQueryCache().findAll(e).map((function(e){var i=e.queryKey;return[i,n.setQueryData(i,t,r)]}))}))},t.getQueryState=function(e,t){var r;return null==(r=this.queryCache.find(e,t))?void 0:r.state},t.removeQueries=function(e,t){var r=(0,i.I6)(e,t)[0],n=this.queryCache;a.V.batch((function(){n.findAll(r).forEach((function(e){n.remove(e)}))}))},t.resetQueries=function(e,t,r){var o=this,s=(0,i.I6)(e,t,r),c=s[0],l=s[1],u=this.queryCache,d=(0,n.Z)({},c,{active:!0});return a.V.batch((function(){return u.findAll(c).forEach((function(e){e.reset()})),o.refetchQueries(d,l)}))},t.cancelQueries=function(e,t,r){var n=this,o=(0,i.I6)(e,t,r),s=o[0],c=o[1],l=void 0===c?{}:c;"undefined"===typeof l.revert&&(l.revert=!0);var u=a.V.batch((function(){return n.queryCache.findAll(s).map((function(e){return e.cancel(l)}))}));return Promise.all(u).then(i.ZT).catch(i.ZT)},t.invalidateQueries=function(e,t,r){var o,s,c,l=this,u=(0,i.I6)(e,t,r),d=u[0],h=u[1],f=(0,n.Z)({},d,{active:null==(o=null!=(s=d.refetchActive)?s:d.active)||o,inactive:null!=(c=d.refetchInactive)&&c});return a.V.batch((function(){return l.queryCache.findAll(d).forEach((function(e){e.invalidate()})),l.refetchQueries(f,h)}))},t.refetchQueries=function(e,t,r){var o=this,s=(0,i.I6)(e,t,r),c=s[0],l=s[1],u=a.V.batch((function(){return o.queryCache.findAll(c).map((function(e){return e.fetch(void 0,(0,n.Z)({},l,{meta:{refetchPage:null==c?void 0:c.refetchPage}}))}))})),d=Promise.all(u).then(i.ZT);return(null==l?void 0:l.throwOnError)||(d=d.catch(i.ZT)),d},t.fetchQuery=function(e,t,r){var n=(0,i._v)(e,t,r),o=this.defaultQueryOptions(n);"undefined"===typeof o.retry&&(o.retry=!1);var a=this.queryCache.build(this,o);return a.isStaleByTime(o.staleTime)?a.fetch(o):Promise.resolve(a.state.data)},t.prefetchQuery=function(e,t,r){return this.fetchQuery(e,t,r).then(i.ZT).catch(i.ZT)},t.fetchInfiniteQuery=function(e,t,r){var n=(0,i._v)(e,t,r);return n.behavior={onFetch:function(e){e.fetchFn=function(){var t,r,n,o,a,s,l,u=null==(t=e.fetchOptions)||null==(r=t.meta)?void 0:r.refetchPage,d=null==(n=e.fetchOptions)||null==(o=n.meta)?void 0:o.fetchMore,h=null==d?void 0:d.pageParam,f="forward"===(null==d?void 0:d.direction),p="backward"===(null==d?void 0:d.direction),m=(null==(a=e.state.data)?void 0:a.pages)||[],y=(null==(s=e.state.data)?void 0:s.pageParams)||[],b=(0,i.G9)(),w=null==b?void 0:b.signal,x=y,_=!1,S=e.options.queryFn||function(){return Promise.reject("Missing queryFn")},k=function(e,t,r,n){return x=n?[t].concat(x):[].concat(x,[t]),n?[r].concat(e):[].concat(e,[r])},E=function(t,r,n,i){if(_)return Promise.reject("Cancelled");if("undefined"===typeof n&&!r&&t.length)return Promise.resolve(t);var o={queryKey:e.queryKey,signal:w,pageParam:n,meta:e.meta},a=S(o),s=Promise.resolve(a).then((function(e){return k(t,n,e,i)}));return(0,c.LE)(a)&&(s.cancel=a.cancel),s};if(m.length)if(f){var P="undefined"!==typeof h,O=P?h:g(e.options,m);l=E(m,P,O)}else if(p){var A="undefined"!==typeof h,T=A?h:v(e.options,m);l=E(m,A,T,!0)}else!function(){x=[];var t="undefined"===typeof e.options.getNextPageParam,r=!u||!m[0]||u(m[0],0,m);l=r?E([],t,y[0]):Promise.resolve(k([],y[0],m[0]));for(var n=function(r){l=l.then((function(n){if(!u||!m[r]||u(m[r],r,m)){var i=t?y[r]:g(e.options,n);return E(n,t,i)}return Promise.resolve(k(n,y[r],m[r]))}))},i=1;i{"use strict";r.d(t,{DV:()=>l,LE:()=>s,m4:()=>u});var n=r(8055),i=r(245),o=r(8116);function a(e){return Math.min(1e3*Math.pow(2,e),3e4)}function s(e){return"function"===typeof(null==e?void 0:e.cancel)}var c=function(e){this.revert=null==e?void 0:e.revert,this.silent=null==e?void 0:e.silent};function l(e){return e instanceof c}var u=function(e){var t,r,l,u,d=this,h=!1;this.abort=e.abort,this.cancel=function(e){return null==t?void 0:t(e)},this.cancelRetry=function(){h=!0},this.continueRetry=function(){h=!1},this.continue=function(){return null==r?void 0:r()},this.failureCount=0,this.isPaused=!1,this.isResolved=!1,this.isTransportCancelable=!1,this.promise=new Promise((function(e,t){l=e,u=t}));var f=function(t){d.isResolved||(d.isResolved=!0,null==e.onSuccess||e.onSuccess(t),null==r||r(),l(t))},p=function(t){d.isResolved||(d.isResolved=!0,null==e.onError||e.onError(t),null==r||r(),u(t))};!function l(){if(!d.isResolved){var u;try{u=e.fn()}catch(m){u=Promise.reject(m)}t=function(e){if(!d.isResolved&&(p(new c(e)),null==d.abort||d.abort(),s(u)))try{u.cancel()}catch(t){}},d.isTransportCancelable=s(u),Promise.resolve(u).then(f).catch((function(t){var s,c;if(!d.isResolved){var u=null!=(s=e.retry)?s:3,f=null!=(c=e.retryDelay)?c:a,m="function"===typeof f?f(d.failureCount,t):f,g=!0===u||"number"===typeof u&&d.failureCount{"use strict";r.d(t,{l:()=>n});var n=function(){function e(){this.listeners=[]}var t=e.prototype;return t.subscribe=function(e){var t=this,r=e||function(){};return this.listeners.push(r),this.onSubscribe(),function(){t.listeners=t.listeners.filter((function(e){return e!==r})),t.onUnsubscribe()}},t.hasListeners=function(){return this.listeners.length>0},t.onSubscribe=function(){},t.onUnsubscribe=function(){},e}()},7546:()=>{},8116:(e,t,r)=>{"use strict";r.d(t,{A4:()=>k,G9:()=>E,Gh:()=>S,I6:()=>d,Kp:()=>l,PN:()=>s,Q$:()=>y,Rm:()=>p,SE:()=>a,VS:()=>b,X7:()=>f,ZT:()=>o,_v:()=>u,_x:()=>h,mc:()=>c,sk:()=>i,to:()=>g,yF:()=>m});var n=r(1730),i="undefined"===typeof window;function o(){}function a(e,t){return"function"===typeof e?e(t):e}function s(e){return"number"===typeof e&&e>=0&&e!==1/0}function c(e){return Array.isArray(e)?e:[e]}function l(e,t){return Math.max(e+(t||0)-Date.now(),0)}function u(e,t,r){return _(e)?"function"===typeof t?(0,n.Z)({},r,{queryKey:e,queryFn:t}):(0,n.Z)({},t,{queryKey:e}):e}function d(e,t,r){return _(e)?[(0,n.Z)({},t,{queryKey:e}),r]:[e||{},t]}function h(e,t){var r=e.active,n=e.exact,i=e.fetching,o=e.inactive,a=e.predicate,s=e.queryKey,c=e.stale;if(_(s))if(n){if(t.queryHash!==p(s,t.options))return!1}else if(!g(t.queryKey,s))return!1;var l=function(e,t){return!0===e&&!0===t||null==e&&null==t?"all":!1===e&&!1===t?"none":(null!=e?e:!t)?"active":"inactive"}(r,o);if("none"===l)return!1;if("all"!==l){var u=t.isActive();if("active"===l&&!u)return!1;if("inactive"===l&&u)return!1}return("boolean"!==typeof c||t.isStale()===c)&&(("boolean"!==typeof i||t.isFetching()===i)&&!(a&&!a(t)))}function f(e,t){var r=e.exact,n=e.fetching,i=e.predicate,o=e.mutationKey;if(_(o)){if(!t.options.mutationKey)return!1;if(r){if(m(t.options.mutationKey)!==m(o))return!1}else if(!g(t.options.mutationKey,o))return!1}return("boolean"!==typeof n||"loading"===t.state.status===n)&&!(i&&!i(t))}function p(e,t){return((null==t?void 0:t.queryKeyHashFn)||m)(e)}function m(e){var t,r=c(e);return t=r,JSON.stringify(t,(function(e,t){return w(t)?Object.keys(t).sort().reduce((function(e,r){return e[r]=t[r],e}),{}):t}))}function g(e,t){return v(c(e),c(t))}function v(e,t){return e===t||typeof e===typeof t&&(!(!e||!t||"object"!==typeof e||"object"!==typeof t)&&!Object.keys(t).some((function(r){return!v(e[r],t[r])})))}function y(e,t){if(e===t)return e;var r=Array.isArray(e)&&Array.isArray(t);if(r||w(e)&&w(t)){for(var n=r?e.length:Object.keys(e).length,i=r?t:Object.keys(t),o=i.length,a=r?[]:{},s=0,c=0;c{"use strict";r.d(t,{QueryClient:()=>n.QueryClient,QueryClientProvider:()=>i.QueryClientProvider,useQuery:()=>i.useQuery,useQueryClient:()=>i.useQueryClient});var n=r(2922);r.o(n,"QueryClientProvider")&&r.d(t,{QueryClientProvider:function(){return n.QueryClientProvider}}),r.o(n,"useQuery")&&r.d(t,{useQuery:function(){return n.useQuery}}),r.o(n,"useQueryClient")&&r.d(t,{useQueryClient:function(){return n.useQueryClient}});var i=r(6835)},6835:(e,t,r)=>{"use strict";r.d(t,{QueryClientProvider:()=>h,useQuery:()=>O,useQueryClient:()=>d});var n=r(8181),i=r(9339).unstable_batchedUpdates;n.V.setBatchNotifyFunction(i);var o=r(611),a=console;(0,o.E)(a);var s=r(3358),c=s.createContext(void 0),l=s.createContext(!1);function u(e){return e&&"undefined"!==typeof window?(window.ReactQueryClientContext||(window.ReactQueryClientContext=c),window.ReactQueryClientContext):c}var d=function(){var e=s.useContext(u(s.useContext(l)));if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},h=function(e){var t=e.client,r=e.contextSharing,n=void 0!==r&&r,i=e.children;s.useEffect((function(){return t.mount(),function(){t.unmount()}}),[t]);var o=u(n);return s.createElement(l.Provider,{value:n},s.createElement(o.Provider,{value:t},i))},f=r(1730),p=r(8619),m=r(8116),g=r(8055),v=r(8289),y=r(6290),b=function(e){function t(t,r){var n;return(n=e.call(this)||this).client=t,n.options=r,n.trackedProps=[],n.selectError=null,n.bindMethods(),n.setOptions(r),n}(0,p.Z)(t,e);var r=t.prototype;return r.bindMethods=function(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)},r.onSubscribe=function(){1===this.listeners.length&&(this.currentQuery.addObserver(this),w(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())},r.onUnsubscribe=function(){this.listeners.length||this.destroy()},r.shouldFetchOnReconnect=function(){return x(this.currentQuery,this.options,this.options.refetchOnReconnect)},r.shouldFetchOnWindowFocus=function(){return x(this.currentQuery,this.options,this.options.refetchOnWindowFocus)},r.destroy=function(){this.listeners=[],this.clearTimers(),this.currentQuery.removeObserver(this)},r.setOptions=function(e,t){var r=this.options,n=this.currentQuery;if(this.options=this.client.defaultQueryObserverOptions(e),"undefined"!==typeof this.options.enabled&&"boolean"!==typeof this.options.enabled)throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=r.queryKey),this.updateQuery();var i=this.hasListeners();i&&_(this.currentQuery,n,this.options,r)&&this.executeFetch(),this.updateResult(t),!i||this.currentQuery===n&&this.options.enabled===r.enabled&&this.options.staleTime===r.staleTime||this.updateStaleTimeout();var o=this.computeRefetchInterval();!i||this.currentQuery===n&&this.options.enabled===r.enabled&&o===this.currentRefetchInterval||this.updateRefetchInterval(o)},r.getOptimisticResult=function(e){var t=this.client.defaultQueryObserverOptions(e),r=this.client.getQueryCache().build(this.client,t);return this.createResult(r,t)},r.getCurrentResult=function(){return this.currentResult},r.trackResult=function(e,t){var r=this,n={},i=function(e){r.trackedProps.includes(e)||r.trackedProps.push(e)};return Object.keys(e).forEach((function(t){Object.defineProperty(n,t,{configurable:!1,enumerable:!0,get:function(){return i(t),e[t]}})})),(t.useErrorBoundary||t.suspense)&&i("error"),n},r.getNextResult=function(e){var t=this;return new Promise((function(r,n){var i=t.subscribe((function(t){t.isFetching||(i(),t.isError&&(null==e?void 0:e.throwOnError)?n(t.error):r(t))}))}))},r.getCurrentQuery=function(){return this.currentQuery},r.remove=function(){this.client.getQueryCache().remove(this.currentQuery)},r.refetch=function(e){return this.fetch((0,f.Z)({},e,{meta:{refetchPage:null==e?void 0:e.refetchPage}}))},r.fetchOptimistic=function(e){var t=this,r=this.client.defaultQueryObserverOptions(e),n=this.client.getQueryCache().build(this.client,r);return n.fetch().then((function(){return t.createResult(n,r)}))},r.fetch=function(e){var t=this;return this.executeFetch(e).then((function(){return t.updateResult(),t.currentResult}))},r.executeFetch=function(e){this.updateQuery();var t=this.currentQuery.fetch(this.options,e);return(null==e?void 0:e.throwOnError)||(t=t.catch(m.ZT)),t},r.updateStaleTimeout=function(){var e=this;if(this.clearStaleTimeout(),!m.sk&&!this.currentResult.isStale&&(0,m.PN)(this.options.staleTime)){var t=(0,m.Kp)(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout((function(){e.currentResult.isStale||e.updateResult()}),t)}},r.computeRefetchInterval=function(){var e;return"function"===typeof this.options.refetchInterval?this.options.refetchInterval(this.currentResult.data,this.currentQuery):null!=(e=this.options.refetchInterval)&&e},r.updateRefetchInterval=function(e){var t=this;this.clearRefetchInterval(),this.currentRefetchInterval=e,!m.sk&&!1!==this.options.enabled&&(0,m.PN)(this.currentRefetchInterval)&&0!==this.currentRefetchInterval&&(this.refetchIntervalId=setInterval((function(){(t.options.refetchIntervalInBackground||g.j.isFocused())&&t.executeFetch()}),this.currentRefetchInterval))},r.updateTimers=function(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())},r.clearTimers=function(){this.clearStaleTimeout(),this.clearRefetchInterval()},r.clearStaleTimeout=function(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)},r.clearRefetchInterval=function(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)},r.createResult=function(e,t){var r,n=this.currentQuery,i=this.options,a=this.currentResult,s=this.currentResultState,c=this.currentResultOptions,l=e!==n,u=l?e.state:this.currentQueryInitialState,d=l?this.currentResult:this.previousQueryResult,h=e.state,f=h.dataUpdatedAt,p=h.error,g=h.errorUpdatedAt,v=h.isFetching,y=h.status,b=!1,x=!1;if(t.optimisticResults){var k=this.hasListeners(),E=!k&&w(e,t),P=k&&_(e,n,t,i);(E||P)&&(v=!0,f||(y="loading"))}if(t.keepPreviousData&&!h.dataUpdateCount&&(null==d?void 0:d.isSuccess)&&"error"!==y)r=d.data,f=d.dataUpdatedAt,y=d.status,b=!0;else if(t.select&&"undefined"!==typeof h.data)if(a&&h.data===(null==s?void 0:s.data)&&t.select===this.selectFn)r=this.selectResult;else try{this.selectFn=t.select,r=t.select(h.data),!1!==t.structuralSharing&&(r=(0,m.Q$)(null==a?void 0:a.data,r)),this.selectResult=r,this.selectError=null}catch(A){(0,o.j)().error(A),this.selectError=A}else r=h.data;if("undefined"!==typeof t.placeholderData&&"undefined"===typeof r&&("loading"===y||"idle"===y)){var O;if((null==a?void 0:a.isPlaceholderData)&&t.placeholderData===(null==c?void 0:c.placeholderData))O=a.data;else if(O="function"===typeof t.placeholderData?t.placeholderData():t.placeholderData,t.select&&"undefined"!==typeof O)try{O=t.select(O),!1!==t.structuralSharing&&(O=(0,m.Q$)(null==a?void 0:a.data,O)),this.selectError=null}catch(A){(0,o.j)().error(A),this.selectError=A}"undefined"!==typeof O&&(y="success",r=O,x=!0)}return this.selectError&&(p=this.selectError,r=this.selectResult,g=Date.now(),y="error"),{status:y,isLoading:"loading"===y,isSuccess:"success"===y,isError:"error"===y,isIdle:"idle"===y,data:r,dataUpdatedAt:f,error:p,errorUpdatedAt:g,failureCount:h.fetchFailureCount,errorUpdateCount:h.errorUpdateCount,isFetched:h.dataUpdateCount>0||h.errorUpdateCount>0,isFetchedAfterMount:h.dataUpdateCount>u.dataUpdateCount||h.errorUpdateCount>u.errorUpdateCount,isFetching:v,isRefetching:v&&"loading"!==y,isLoadingError:"error"===y&&0===h.dataUpdatedAt,isPlaceholderData:x,isPreviousData:b,isRefetchError:"error"===y&&0!==h.dataUpdatedAt,isStale:S(e,t),refetch:this.refetch,remove:this.remove}},r.shouldNotifyListeners=function(e,t){if(!t)return!0;var r=this.options,n=r.notifyOnChangeProps,i=r.notifyOnChangePropsExclusions;if(!n&&!i)return!0;if("tracked"===n&&!this.trackedProps.length)return!0;var o="tracked"===n?this.trackedProps:n;return Object.keys(e).some((function(r){var n=r,a=e[n]!==t[n],s=null==o?void 0:o.some((function(e){return e===r})),c=null==i?void 0:i.some((function(e){return e===r}));return a&&!c&&(!o||s)}))},r.updateResult=function(e){var t=this.currentResult;if(this.currentResult=this.createResult(this.currentQuery,this.options),this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,!(0,m.VS)(this.currentResult,t)){var r={cache:!0};!1!==(null==e?void 0:e.listeners)&&this.shouldNotifyListeners(this.currentResult,t)&&(r.listeners=!0),this.notify((0,f.Z)({},r,e))}},r.updateQuery=function(){var e=this.client.getQueryCache().build(this.client,this.options);if(e!==this.currentQuery){var t=this.currentQuery;this.currentQuery=e,this.currentQueryInitialState=e.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(null==t||t.removeObserver(this),e.addObserver(this))}},r.onQueryUpdate=function(e){var t={};"success"===e.type?t.onSuccess=!0:"error"!==e.type||(0,y.DV)(e.error)||(t.onError=!0),this.updateResult(t),this.hasListeners()&&this.updateTimers()},r.notify=function(e){var t=this;n.V.batch((function(){e.onSuccess?(null==t.options.onSuccess||t.options.onSuccess(t.currentResult.data),null==t.options.onSettled||t.options.onSettled(t.currentResult.data,null)):e.onError&&(null==t.options.onError||t.options.onError(t.currentResult.error),null==t.options.onSettled||t.options.onSettled(void 0,t.currentResult.error)),e.listeners&&t.listeners.forEach((function(e){e(t.currentResult)})),e.cache&&t.client.getQueryCache().notify({query:t.currentQuery,type:"observerResultsUpdated"})}))},t}(v.l);function w(e,t){return function(e,t){return!1!==t.enabled&&!e.state.dataUpdatedAt&&!("error"===e.state.status&&!1===t.retryOnMount)}(e,t)||e.state.dataUpdatedAt>0&&x(e,t,t.refetchOnMount)}function x(e,t,r){if(!1!==t.enabled){var n="function"===typeof r?r(e):r;return"always"===n||!1!==n&&S(e,t)}return!1}function _(e,t,r,n){return!1!==r.enabled&&(e!==t||!1===n.enabled)&&(!r.suspense||"error"!==e.state.status)&&S(e,r)}function S(e,t){return e.isStaleByTime(t.staleTime)}function k(){var e=!1;return{clearReset:function(){e=!1},reset:function(){e=!0},isReset:function(){return e}}}var E=s.createContext(k()),P=function(){return s.useContext(E)};function O(e,t,r){return function(e,t){var r=s.useRef(!1),i=s.useState(0)[1],o=d(),a=P(),c=o.defaultQueryObserverOptions(e);c.optimisticResults=!0,c.onError&&(c.onError=n.V.batchCalls(c.onError)),c.onSuccess&&(c.onSuccess=n.V.batchCalls(c.onSuccess)),c.onSettled&&(c.onSettled=n.V.batchCalls(c.onSettled)),c.suspense&&("number"!==typeof c.staleTime&&(c.staleTime=1e3),0===c.cacheTime&&(c.cacheTime=1)),(c.suspense||c.useErrorBoundary)&&(a.isReset()||(c.retryOnMount=!1));var l,u,h,f=s.useState((function(){return new t(o,c)}))[0],p=f.getOptimisticResult(c);if(s.useEffect((function(){r.current=!0,a.clearReset();var e=f.subscribe(n.V.batchCalls((function(){r.current&&i((function(e){return e+1}))})));return f.updateResult(),function(){r.current=!1,e()}}),[a,f]),s.useEffect((function(){f.setOptions(c,{listeners:!1})}),[c,f]),c.suspense&&p.isLoading)throw f.fetchOptimistic(c).then((function(e){var t=e.data;null==c.onSuccess||c.onSuccess(t),null==c.onSettled||c.onSettled(t,null)})).catch((function(e){a.clearReset(),null==c.onError||c.onError(e),null==c.onSettled||c.onSettled(void 0,e)}));if(p.isError&&!a.isReset()&&!p.isFetching&&(l=c.suspense,u=c.useErrorBoundary,h=[p.error,f.getCurrentQuery()],"function"===typeof u?u.apply(void 0,h):"boolean"===typeof u?u:l))throw p.error;return"tracked"===c.notifyOnChangeProps&&(p=f.trackResult(p,c)),p}((0,m._v)(e,t,r),b)}},5832:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e,t,r){var n=0===e?e:e+t;return"translate3d"+("("+("horizontal"===r?[n,0,0]:[0,n,0]).join(",")+")")}},1838:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fadeAnimationHandler=t.slideStopSwipingHandler=t.slideSwipeAnimationHandler=t.slideAnimationHandler=void 0;var n,i=r(3358),o=(n=r(5832))&&n.__esModule?n:{default:n},a=r(1280);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;tl))return s<0?e.centerMode&&e.centerSlidePercentage&&"horizontal"===e.axis?r.itemListStyle=(0,a.setPosition)(-(l+2)*e.centerSlidePercentage-(100-e.centerSlidePercentage)/2,e.axis):r.itemListStyle=(0,a.setPosition)(100*-(l+2),e.axis):s>l&&(r.itemListStyle=(0,a.setPosition)(0,e.axis)),r;var u=(0,a.getPosition)(n,e),d=(0,o.default)(u,"%",e.axis),h=e.transitionTime+"ms";return r.itemListStyle={WebkitTransform:d,msTransform:d,OTransform:d,transform:d},t.swiping||(r.itemListStyle=c(c({},r.itemListStyle),{},{WebkitTransitionDuration:h,MozTransitionDuration:h,OTransitionDuration:h,transitionDuration:h,msTransitionDuration:h})),r};t.slideSwipeAnimationHandler=function(e,t,r,n){var o={},s="horizontal"===t.axis,c=i.Children.count(t.children),l=(0,a.getPosition)(r.selectedItem,t),u=t.infiniteLoop?(0,a.getPosition)(c-1,t)-100:(0,a.getPosition)(c-1,t),d=s?e.x:e.y,h=d;0===l&&d>0&&(h=0),l===u&&d<0&&(h=0);var f=l+100/(r.itemSize/h),p=Math.abs(d)>t.swipeScrollTolerance;return t.infiniteLoop&&p&&(0===r.selectedItem&&f>-100?f-=100*c:r.selectedItem===c-1&&f<100*-c&&(f+=100*c)),(!t.preventMovementUntilSwipeScrollTolerance||p||r.swipeMovementStarted)&&(r.swipeMovementStarted||n({swipeMovementStarted:!0}),o.itemListStyle=(0,a.setPosition)(f,t.axis)),p&&!r.cancelClick&&n({cancelClick:!0}),o};t.slideStopSwipingHandler=function(e,t){var r=(0,a.getPosition)(t.selectedItem,e);return{itemListStyle:(0,a.setPosition)(r,e.axis)}};t.fadeAnimationHandler=function(e,t){var r=e.transitionTime+"ms",n="ease-in-out",i={position:"absolute",display:"block",zIndex:-2,minHeight:"100%",opacity:0,top:0,right:0,left:0,bottom:0,transitionTimingFunction:n,msTransitionTimingFunction:n,MozTransitionTimingFunction:n,WebkitTransitionTimingFunction:n,OTransitionTimingFunction:n};return t.swiping||(i=c(c({},i),{},{WebkitTransitionDuration:r,MozTransitionDuration:r,OTransitionDuration:r,transitionDuration:r,msTransitionDuration:r})),{slideStyle:i,selectedStyle:c(c({},i),{},{opacity:1,position:"relative"}),prevStyle:c({},i)}}},7282:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==f(e)&&"function"!==typeof e)return{default:e};var t=h();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=n?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(3358)),i=d(r(3547)),o=d(r(7791)),a=d(r(3288)),s=d(r(223)),c=d(r(2258)),l=r(1280),u=r(1838);function d(e){return e&&e.__esModule?e:{default:e}}function h(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return h=function(){return e},e}function f(e){return f="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function p(){return p=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:1;t.moveTo(t.state.selectedItem-("number"===typeof e?e:1))})),_(w(t),"increment",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;t.moveTo(t.state.selectedItem+("number"===typeof e?e:1))})),_(w(t),"moveTo",(function(e){if("number"===typeof e){var r=n.Children.count(t.props.children)-1;e<0&&(e=t.props.infiniteLoop?r:0),e>r&&(e=t.props.infiniteLoop?0:r),t.selectItem({selectedItem:e}),t.state.autoPlay&&!1===t.state.isMouseEntered&&t.resetAutoPlay()}})),_(w(t),"onClickNext",(function(){t.increment(1)})),_(w(t),"onClickPrev",(function(){t.decrement(1)})),_(w(t),"onSwipeForward",(function(){t.increment(1),t.props.emulateTouch&&t.setState({cancelClick:!0})})),_(w(t),"onSwipeBackwards",(function(){t.decrement(1),t.props.emulateTouch&&t.setState({cancelClick:!0})})),_(w(t),"changeItem",(function(e){return function(r){(0,l.isKeyboardEvent)(r)&&"Enter"!==r.key||t.moveTo(e)}})),_(w(t),"selectItem",(function(e){t.setState(g({previousItem:t.state.selectedItem},e),(function(){t.setState(t.animationHandler(t.props,t.state))})),t.handleOnChange(e.selectedItem,n.Children.toArray(t.props.children)[e.selectedItem])})),_(w(t),"getInitialImage",(function(){var e=t.props.selectedItem,r=t.itemsRef&&t.itemsRef[e];return(r&&r.getElementsByTagName("img")||[])[0]})),_(w(t),"getVariableItemHeight",(function(e){var r=t.itemsRef&&t.itemsRef[e];if(t.state.hasMount&&r&&r.children.length){var n=r.children[0].getElementsByTagName("img")||[];if(n.length>0){var i=n[0];if(!i.complete){i.addEventListener("load",(function e(){t.forceUpdate(),i.removeEventListener("load",e)}))}}var o=(n[0]||r.children[0]).clientHeight;return o>0?o:null}return null}));var r={initialized:!1,previousItem:e.selectedItem,selectedItem:e.selectedItem,hasMount:!1,isMouseEntered:!1,autoPlay:e.autoPlay,swiping:!1,swipeMovementStarted:!1,cancelClick:!1,itemSize:1,itemListStyle:{},slideStyle:{},selectedStyle:{},prevStyle:{}};return t.animationHandler="function"===typeof e.animationHandler&&e.animationHandler||"fade"===e.animationHandler&&u.fadeAnimationHandler||u.slideAnimationHandler,t.state=g(g({},r),t.animationHandler(e,r)),t}return t=f,(r=[{key:"componentDidMount",value:function(){this.props.children&&this.setupCarousel()}},{key:"componentDidUpdate",value:function(e,t){e.children||!this.props.children||this.state.initialized||this.setupCarousel(),!e.autoFocus&&this.props.autoFocus&&this.forceFocus(),t.swiping&&!this.state.swiping&&this.setState(g({},this.props.stopSwipingHandler(this.props,this.state))),e.selectedItem===this.props.selectedItem&&e.centerMode===this.props.centerMode||(this.updateSizes(),this.moveTo(this.props.selectedItem)),e.autoPlay!==this.props.autoPlay&&(this.props.autoPlay?this.setupAutoPlay():this.destroyAutoPlay(),this.setState({autoPlay:this.props.autoPlay}))}},{key:"componentWillUnmount",value:function(){this.destroyCarousel()}},{key:"setupCarousel",value:function(){var e=this;this.bindEvents(),this.state.autoPlay&&n.Children.count(this.props.children)>1&&this.setupAutoPlay(),this.props.autoFocus&&this.forceFocus(),this.setState({initialized:!0},(function(){var t=e.getInitialImage();t&&!t.complete?t.addEventListener("load",e.setMountState):e.setMountState()}))}},{key:"destroyCarousel",value:function(){this.state.initialized&&(this.unbindEvents(),this.destroyAutoPlay())}},{key:"setupAutoPlay",value:function(){this.autoPlay();var e=this.carouselWrapperRef;this.props.stopOnHover&&e&&(e.addEventListener("mouseenter",this.stopOnHover),e.addEventListener("mouseleave",this.startOnLeave))}},{key:"destroyAutoPlay",value:function(){this.clearAutoPlay();var e=this.carouselWrapperRef;this.props.stopOnHover&&e&&(e.removeEventListener("mouseenter",this.stopOnHover),e.removeEventListener("mouseleave",this.startOnLeave))}},{key:"bindEvents",value:function(){(0,c.default)().addEventListener("resize",this.updateSizes),(0,c.default)().addEventListener("DOMContentLoaded",this.updateSizes),this.props.useKeyboardArrows&&(0,s.default)().addEventListener("keydown",this.navigateWithKeyboard)}},{key:"unbindEvents",value:function(){(0,c.default)().removeEventListener("resize",this.updateSizes),(0,c.default)().removeEventListener("DOMContentLoaded",this.updateSizes);var e=this.getInitialImage();e&&e.removeEventListener("load",this.setMountState),this.props.useKeyboardArrows&&(0,s.default)().removeEventListener("keydown",this.navigateWithKeyboard)}},{key:"forceFocus",value:function(){var e;null===(e=this.carouselWrapperRef)||void 0===e||e.focus()}},{key:"renderItems",value:function(e){var t=this;return this.props.children?n.Children.map(this.props.children,(function(r,i){var a=i===t.state.selectedItem,s=i===t.state.previousItem,c=a&&t.state.selectedStyle||s&&t.state.prevStyle||t.state.slideStyle||{};t.props.centerMode&&"horizontal"===t.props.axis&&(c=g(g({},c),{},{minWidth:t.props.centerSlidePercentage+"%"})),t.state.swiping&&t.state.swipeMovementStarted&&(c=g(g({},c),{},{pointerEvents:"none"}));var l={ref:function(e){return t.setItemsRef(e,i)},key:"itemKey"+i+(e?"clone":""),className:o.default.ITEM(!0,i===t.state.selectedItem,i===t.state.previousItem),onClick:t.handleClickItem.bind(t,i,r),style:c};return n.default.createElement("li",l,t.props.renderItem(r,{isSelected:i===t.state.selectedItem,isPrevious:i===t.state.previousItem}))})):[]}},{key:"renderControls",value:function(){var e=this,t=this.props,r=t.showIndicators,i=t.labels,o=t.renderIndicator,a=t.children;return r?n.default.createElement("ul",{className:"control-dots"},n.Children.map(a,(function(t,r){return o&&o(e.changeItem(r),r===e.state.selectedItem,r,i.item)}))):null}},{key:"renderStatus",value:function(){return this.props.showStatus?n.default.createElement("p",{className:"carousel-status"},this.props.statusFormatter(this.state.selectedItem+1,n.Children.count(this.props.children))):null}},{key:"renderThumbs",value:function(){return this.props.showThumbs&&this.props.children&&0!==n.Children.count(this.props.children)?n.default.createElement(a.default,{ref:this.setThumbsRef,onSelectItem:this.handleClickThumb,selectedItem:this.state.selectedItem,transitionTime:this.props.transitionTime,thumbWidth:this.props.thumbWidth,labels:this.props.labels,emulateTouch:this.props.emulateTouch},this.props.renderThumbs(this.props.children)):null}},{key:"render",value:function(){var e=this;if(!this.props.children||0===n.Children.count(this.props.children))return null;var t=this.props.swipeable&&n.Children.count(this.props.children)>1,r="horizontal"===this.props.axis,a=this.props.showArrows&&n.Children.count(this.props.children)>1,s=a&&(this.state.selectedItem>0||this.props.infiniteLoop)||!1,c=a&&(this.state.selectedItem{},1280:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setPosition=t.getPosition=t.isKeyboardEvent=t.defaultStatusFormatter=t.noop=void 0;var n,i=r(3358),o=(n=r(5832))&&n.__esModule?n:{default:n};t.noop=function(){};t.defaultStatusFormatter=function(e,t){return"".concat(e," of ").concat(t)};t.isKeyboardEvent=function(e){return!!e&&e.hasOwnProperty("key")};t.getPosition=function(e,t){if(t.infiniteLoop&&++e,0===e)return 0;var r=i.Children.count(t.children);if(t.centerMode&&"horizontal"===t.axis){var n=-e*t.centerSlidePercentage,o=r-1;return e&&(e!==o||t.infiniteLoop)?n+=(100-t.centerSlidePercentage)/2:e===o&&(n+=100-t.centerSlidePercentage),n}return 100*-e};t.setPosition=function(e,t){var r={};return["WebkitTransform","MozTransform","MsTransform","OTransform","transform","msTransform"].forEach((function(n){r[n]=(0,o.default)(e,"%",t)})),r}},3288:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==d(e)&&"function"!==typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=n?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(3358)),i=l(r(7791)),o=r(5262),a=l(r(5832)),s=l(r(3547)),c=l(r(2258));function l(e){return e&&e.__esModule?e:{default:e}}function u(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function d(e){return d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function h(){return h=Object.assign||function(e){for(var t=1;t0&&(r=0),o===100*-Math.max(i-t.state.visibleItems,0)/t.state.visibleItems&&r<0&&(r=0);var s=o+100/(t.itemsWrapperRef.clientWidth/r);return t.itemsListRef&&["WebkitTransform","MozTransform","MsTransform","OTransform","transform","msTransform"].forEach((function(e){t.itemsListRef.style[e]=(0,a.default)(s,"%",t.props.axis)})),!0})),y(g(t),"slideRight",(function(e){t.moveTo(t.state.firstItem-("number"===typeof e?e:1))})),y(g(t),"slideLeft",(function(e){t.moveTo(t.state.firstItem+("number"===typeof e?e:1))})),y(g(t),"moveTo",(function(e){e=(e=e<0?0:e)>=t.state.lastPosition?t.state.lastPosition:e,t.setState({firstItem:e})})),t.state={selectedItem:e.selectedItem,swiping:!1,showArrows:!1,firstItem:0,visibleItems:0,lastPosition:0},t}return t=d,(r=[{key:"componentDidMount",value:function(){this.setupThumbs()}},{key:"componentDidUpdate",value:function(e){this.props.selectedItem!==this.state.selectedItem&&this.setState({selectedItem:this.props.selectedItem,firstItem:this.getFirstItem(this.props.selectedItem)}),this.props.children!==e.children&&this.updateSizes()}},{key:"componentWillUnmount",value:function(){this.destroyThumbs()}},{key:"setupThumbs",value:function(){(0,c.default)().addEventListener("resize",this.updateSizes),(0,c.default)().addEventListener("DOMContentLoaded",this.updateSizes),this.updateSizes()}},{key:"destroyThumbs",value:function(){(0,c.default)().removeEventListener("resize",this.updateSizes),(0,c.default)().removeEventListener("DOMContentLoaded",this.updateSizes)}},{key:"getFirstItem",value:function(e){var t=e;return e>=this.state.lastPosition&&(t=this.state.lastPosition),e1,o=this.state.showArrows&&this.state.firstItem>0,c=this.state.showArrows&&this.state.firstItem{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(3998))&&n.__esModule?n:{default:n};var o={ROOT:function(e){return(0,i.default)(function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({"carousel-root":!0},e||"",!!e))},CAROUSEL:function(e){return(0,i.default)({carousel:!0,"carousel-slider":e})},WRAPPER:function(e,t){return(0,i.default)({"thumbs-wrapper":!e,"slider-wrapper":e,"axis-horizontal":"horizontal"===t,"axis-vertical":"horizontal"!==t})},SLIDER:function(e,t){return(0,i.default)({thumbs:!e,slider:e,animated:!t})},ITEM:function(e,t,r){return(0,i.default)({thumb:!e,slide:e,selected:t,previous:r})},ARROW_PREV:function(e){return(0,i.default)({"control-arrow control-prev":!0,"control-disabled":e})},ARROW_NEXT:function(e){return(0,i.default)({"control-arrow control-next":!0,"control-disabled":e})},DOT:function(e){return(0,i.default)({dot:!0,selected:e})}};t.default=o},5262:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.outerWidth=void 0;t.outerWidth=function(e){var t=e.offsetWidth,r=getComputedStyle(e);return t+=parseInt(r.marginLeft)+parseInt(r.marginRight)}},5155:(e,t,r)=>{"use strict";Object.defineProperty(t,"lr",{enumerable:!0,get:function(){return n.default}});var n=a(r(7282)),i=r(5195),o=a(r(3288));function a(e){return e&&e.__esModule?e:{default:e}}},223:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){return document}},2258:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){return window}},8012:(e,t,r)=>{"use strict";var n=r(3358),i=Symbol.for("react.element"),o=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,s=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,r){var n,o={},l=null,u=null;for(n in void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)a.call(t,n)&&!c.hasOwnProperty(n)&&(o[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===o[n]&&(o[n]=t[n]);return{$$typeof:i,type:e,key:l,ref:u,props:o,_owner:s.current}}t.Fragment=o,t.jsx=l,t.jsxs=l},9104:(e,t)=>{"use strict";var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.iterator;var p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,g={};function v(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||p}function y(){}function b(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||p}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=v.prototype;var w=b.prototype=new y;w.constructor=b,m(w,v.prototype),w.isPureReactComponent=!0;var x=Array.isArray,_=Object.prototype.hasOwnProperty,S={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,n){var i,o={},a=null,s=null;if(null!=t)for(i in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(a=""+t.key),t)_.call(t,i)&&!k.hasOwnProperty(i)&&(o[i]=t[i]);var c=arguments.length-2;if(1===c)o.children=n;else if(1{"use strict";e.exports=r(9104)},2885:(e,t,r)=>{"use strict";e.exports=r(8012)},8478:e=>{"use strict";var t={};function r(e,r,n){n||(n=Error);var i=function(e){var t,n;function i(t,n,i){return e.call(this,function(e,t,n){return"string"===typeof r?r:r(e,t,n)}(t,n,i))||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=e,t[e]=i}function n(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}r("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(e,t,r){var i,o,a,s;if("string"===typeof t&&(o="not ",t.substr(!a||a<0?0:+a,o.length)===o)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))s="The ".concat(e," ").concat(i," ").concat(n(t,"type"));else{var c=function(e,t,r){return"number"!==typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}(e,".")?"property":"argument";s='The "'.concat(e,'" ').concat(c," ").concat(i," ").concat(n(t,"type"))}return s+=". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=t},7760:(e,t,r)=>{"use strict";var n=r(4501),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=u;var o=r(6348),a=r(9068);r(7110)(u,o);for(var s=i(a.prototype),c=0;c{"use strict";e.exports=i;var n=r(8669);function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}r(7110)(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},6348:(e,t,r)=>{"use strict";var n,i=r(4501);e.exports=E,E.ReadableState=k;r(5121).EventEmitter;var o=function(e,t){return e.listeners(t).length},a=r(1289),s=r(261).Buffer,c=("undefined"!==typeof r.g?r.g:"undefined"!==typeof window?window:"undefined"!==typeof self?self:{}).Uint8Array||function(){};var l,u=r(4616);l=u&&u.debuglog?u.debuglog("stream"):function(){};var d,h,f,p=r(1204),m=r(4016),g=r(6492).getHighWaterMark,v=r(8478).q,y=v.ERR_INVALID_ARG_TYPE,b=v.ERR_STREAM_PUSH_AFTER_EOF,w=v.ERR_METHOD_NOT_IMPLEMENTED,x=v.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(7110)(E,a);var _=m.errorOrDestroy,S=["error","close","destroy","pause","resume"];function k(e,t,i){n=n||r(7760),e=e||{},"boolean"!==typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,"readableHighWaterMark",i),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(d||(d=r(1778).s),this.decoder=new d(e.encoding),this.encoding=e.encoding)}function E(e){if(n=n||r(7760),!(this instanceof E))return new E(e);var t=this instanceof n;this._readableState=new k(e,this,t),this.readable=!0,e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function P(e,t,r,n,i){l("readableAddChunk",t);var o,a=e._readableState;if(null===t)a.reading=!1,function(e,t){if(l("onEofChunk"),t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?j(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,C(e)))}(e,a);else if(i||(o=function(e,t){var r;n=t,s.isBuffer(n)||n instanceof c||"string"===typeof t||void 0===t||e.objectMode||(r=new y("chunk",["string","Buffer","Uint8Array"],t));var n;return r}(a,t)),o)_(e,o);else if(a.objectMode||t&&t.length>0)if("string"===typeof t||a.objectMode||Object.getPrototypeOf(t)===s.prototype||(t=function(e){return s.from(e)}(t)),n)a.endEmitted?_(e,new x):O(e,a,t,!0);else if(a.ended)_(e,new b);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||0!==t.length?O(e,a,t,!1):R(e,a)):O(e,a,t,!1)}else n||(a.reading=!1,R(e,a));return!a.ended&&(a.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=A?e=A:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function j(e){var t=e._readableState;l("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(l("emitReadable",t.flowing),t.emittedReadable=!0,i.nextTick(C,e))}function C(e){var t=e._readableState;l("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,D(e)}function R(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(I,e,t))}function I(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function L(e){l("readable nexttick read 0"),e.read(0)}function N(e,t){l("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),D(e),t.flowing&&!t.reading&&e.read(0)}function D(e){var t=e._readableState;for(l("flow",t.flowing);t.flowing&&null!==e.read(););}function B(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function z(e){var t=e._readableState;l("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,i.nextTick(U,t,e))}function U(e,t){if(l("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function F(e,t){for(var r=0,n=e.length;r=t.highWaterMark:t.length>0)||t.ended))return l("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?z(this):j(this),null;if(0===(e=T(e,t))&&t.ended)return 0===t.length&&z(this),null;var n,i=t.needReadable;return l("need readable",i),(0===t.length||t.length-e0?B(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&z(this)),null!==n&&this.emit("data",n),n},E.prototype._read=function(e){_(this,new w("_read()"))},E.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,l("pipe count=%d opts=%j",n.pipesCount,t);var a=(!t||!1!==t.end)&&e!==i.stdout&&e!==i.stderr?c:g;function s(t,i){l("onunpipe"),t===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,l("cleanup"),e.removeListener("close",p),e.removeListener("finish",m),e.removeListener("drain",u),e.removeListener("error",f),e.removeListener("unpipe",s),r.removeListener("end",c),r.removeListener("end",g),r.removeListener("data",h),d=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function c(){l("onend"),e.end()}n.endEmitted?i.nextTick(a):r.once("end",a),e.on("unpipe",s);var u=function(e){return function(){var t=e._readableState;l("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&o(e,"data")&&(t.flowing=!0,D(e))}}(r);e.on("drain",u);var d=!1;function h(t){l("ondata");var i=e.write(t);l("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==F(n.pipes,e))&&!d&&(l("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function f(t){l("onerror",t),g(),e.removeListener("error",f),0===o(e,"error")&&_(e,t)}function p(){e.removeListener("finish",m),g()}function m(){l("onfinish"),e.removeListener("close",p),g()}function g(){l("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"===typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",f),e.once("close",p),e.once("finish",m),e.emit("pipe",r),n.flowing||(l("pipe resume"),r.resume()),e},E.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===e&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,l("on readable",n.length,n.reading),n.length?j(this):n.reading||i.nextTick(L,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&i.nextTick(M,this),r},E.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||i.nextTick(M,this),t},E.prototype.resume=function(){var e=this._readableState;return e.flowing||(l("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(N,e,t))}(this,e)),e.paused=!1,this},E.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(l("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(l("wrapped data"),r.decoder&&(i=r.decoder.write(i)),!r.objectMode||null!==i&&void 0!==i)&&((r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause())))})),e)void 0===this[i]&&"function"===typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o{"use strict";e.exports=u;var n=r(8478).q,i=n.ERR_METHOD_NOT_IMPLEMENTED,o=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,c=r(7760);function l(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";var n,i=r(4501);function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}(t,e)}}e.exports=E,E.WritableState=k;var a={deprecate:r(7723)},s=r(1289),c=r(261).Buffer,l=("undefined"!==typeof r.g?r.g:"undefined"!==typeof window?window:"undefined"!==typeof self?self:{}).Uint8Array||function(){};var u,d=r(4016),h=r(6492).getHighWaterMark,f=r(8478).q,p=f.ERR_INVALID_ARG_TYPE,m=f.ERR_METHOD_NOT_IMPLEMENTED,g=f.ERR_MULTIPLE_CALLBACK,v=f.ERR_STREAM_CANNOT_PIPE,y=f.ERR_STREAM_DESTROYED,b=f.ERR_STREAM_NULL_VALUES,w=f.ERR_STREAM_WRITE_AFTER_END,x=f.ERR_UNKNOWN_ENCODING,_=d.errorOrDestroy;function S(){}function k(e,t,a){n=n||r(7760),e=e||{},"boolean"!==typeof a&&(a=t instanceof n),this.objectMode=!!e.objectMode,a&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,o=r.writecb;if("function"!==typeof o)throw new g;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,o){--t.pendingcb,r?(i.nextTick(o,n),i.nextTick(C,e,t),e._writableState.errorEmitted=!0,_(e,n)):(o(n),e._writableState.errorEmitted=!0,_(e,n),C(e,t))}(e,r,n,t,o);else{var a=T(r)||e.destroyed;a||r.corked||r.bufferProcessing||!r.bufferedRequest||A(e,r),n?i.nextTick(O,e,r,a,o):O(e,r,a,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function E(e){var t=this instanceof(n=n||r(7760));if(!t&&!u.call(E,this))return new E(e);this._writableState=new k(e,this,t),this.writable=!0,e&&("function"===typeof e.write&&(this._write=e.write),"function"===typeof e.writev&&(this._writev=e.writev),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.final&&(this._final=e.final)),s.call(this)}function P(e,t,r,n,i,o,a){t.writelen=n,t.writecb=a,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y("write")):r?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function O(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),C(e,t)}function A(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var s=0,c=!0;r;)i[s]=r,r.isBuf||(c=!1),r=r.next,s+=1;i.allBuffers=c,P(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,u=r.encoding,d=r.callback;if(P(e,t,!1,t.objectMode?1:l.length,l,u,d),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function T(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function j(e,t){e._final((function(r){t.pendingcb--,r&&_(e,r),t.prefinished=!0,e.emit("prefinish"),C(e,t)}))}function C(e,t){var r=T(t);if(r&&(function(e,t){t.prefinished||t.finalCalled||("function"!==typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,i.nextTick(j,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}r(7110)(E,s),k.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(k.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"===typeof Symbol&&Symbol.hasInstance&&"function"===typeof Function.prototype[Symbol.hasInstance]?(u=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!u.call(this,e)||this===E&&(e&&e._writableState instanceof k)}})):u=function(e){return e instanceof this},E.prototype.pipe=function(){_(this,new v)},E.prototype.write=function(e,t,r){var n,o=this._writableState,a=!1,s=!o.objectMode&&(n=e,c.isBuffer(n)||n instanceof l);return s&&!c.isBuffer(e)&&(e=function(e){return c.from(e)}(e)),"function"===typeof t&&(r=t,t=null),s?t="buffer":t||(t=o.defaultEncoding),"function"!==typeof r&&(r=S),o.ending?function(e,t){var r=new w;_(e,r),i.nextTick(t,r)}(this,r):(s||function(e,t,r,n){var o;return null===r?o=new b:"string"===typeof r||t.objectMode||(o=new p("chunk",["string","Buffer"],r)),!o||(_(e,o),i.nextTick(n,o),!1)}(this,o,e,r))&&(o.pendingcb++,a=function(e,t,r,n,i,o){if(!r){var a=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!==typeof t||(t=c.from(t,r));return t}(t,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length-1))throw new x(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,r){r(new m("_write()"))},E.prototype._writev=null,E.prototype.end=function(e,t,r){var n=this._writableState;return"function"===typeof e?(r=e,e=null,t=null):"function"===typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,C(e,t),r&&(t.finished?i.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=d.destroy,E.prototype._undestroy=d.undestroy,E.prototype._destroy=function(e,t){t(e)}},8223:(e,t,r)=>{"use strict";var n,i=r(4501);function o(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a=r(8323),s=Symbol("lastResolve"),c=Symbol("lastReject"),l=Symbol("error"),u=Symbol("ended"),d=Symbol("lastPromise"),h=Symbol("handlePromise"),f=Symbol("stream");function p(e,t){return{value:e,done:t}}function m(e){var t=e[s];if(null!==t){var r=e[f].read();null!==r&&(e[d]=null,e[s]=null,e[c]=null,t(p(r,!1)))}}function g(e){i.nextTick(m,e)}var v=Object.getPrototypeOf((function(){})),y=Object.setPrototypeOf((o(n={get stream(){return this[f]},next:function(){var e=this,t=this[l];if(null!==t)return Promise.reject(t);if(this[u])return Promise.resolve(p(void 0,!0));if(this[f].destroyed)return new Promise((function(t,r){i.nextTick((function(){e[l]?r(e[l]):t(p(void 0,!0))}))}));var r,n=this[d];if(n)r=new Promise(function(e,t){return function(r,n){e.then((function(){t[u]?r(p(void 0,!0)):t[h](r,n)}),n)}}(n,this));else{var o=this[f].read();if(null!==o)return Promise.resolve(p(o,!1));r=new Promise(this[h])}return this[d]=r,r}},Symbol.asyncIterator,(function(){return this})),o(n,"return",(function(){var e=this;return new Promise((function(t,r){e[f].destroy(null,(function(e){e?r(e):t(p(void 0,!0))}))}))})),n),v);e.exports=function(e){var t,r=Object.create(y,(o(t={},f,{value:e,writable:!0}),o(t,s,{value:null,writable:!0}),o(t,c,{value:null,writable:!0}),o(t,l,{value:null,writable:!0}),o(t,u,{value:e._readableState.endEmitted,writable:!0}),o(t,h,{value:function(e,t){var n=r[f].read();n?(r[d]=null,r[s]=null,r[c]=null,e(p(n,!1))):(r[s]=e,r[c]=t)},writable:!0}),t));return r[d]=null,a(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[c];return null!==t&&(r[d]=null,r[s]=null,r[c]=null,t(e)),void(r[l]=e)}var n=r[s];null!==n&&(r[d]=null,r[s]=null,r[c]=null,n(p(void 0,!0))),r[u]=!0})),e.on("readable",g.bind(null,r)),r}},1204:(e,t,r)=>{"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return c.alloc(0);for(var t,r,n,i=c.allocUnsafe(e>>>0),o=this.head,a=0;o;)t=o.data,r=i,n=a,c.prototype.copy.call(t,r,n),a+=o.data.length,o=o.next;return i}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(o===i.length?n+=i:n+=i.slice(0,e),0===(e-=o)){o===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=c.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0===(e-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,t}},{key:u,value:function(e,t){return l(this,i(i({},t),{},{depth:0,customInspect:!1}))}}])&&a(t.prototype,r),n&&a(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}()},4016:(e,t,r)=>{"use strict";var n=r(4501);function i(e,t){a(e,t),o(e)}function o(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function a(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var r=this,s=this._readableState&&this._readableState.destroyed,c=this._writableState&&this._writableState.destroyed;return s||c?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(a,this,e)):n.nextTick(a,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?r._writableState?r._writableState.errorEmitted?n.nextTick(o,r):(r._writableState.errorEmitted=!0,n.nextTick(i,r,e)):n.nextTick(i,r,e):t?(n.nextTick(o,r),t(e)):n.nextTick(o,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}}},8323:(e,t,r)=>{"use strict";var n=r(8478).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,r,o){if("function"===typeof r)return e(t,null,r);r||(r={}),o=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{e.exports=function(){throw new Error("Readable.from is not available in the browser")}},2130:(e,t,r)=>{"use strict";var n;var i=r(8478).q,o=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function c(e){e()}function l(e,t){return e.pipe(t)}e.exports=function(){for(var e=arguments.length,t=new Array(e),i=0;i0,(function(e){u||(u=e),e&&h.forEach(c),o||(h.forEach(c),d(u))}))}));return t.reduce(l)}},6492:(e,t,r)=>{"use strict";var n=r(8478).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,i){var o=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new n(i?r:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},1289:(e,t,r)=>{e.exports=r(5121).EventEmitter},7488:(e,t,r)=>{(t=e.exports=r(6348)).Stream=t,t.Readable=t,t.Writable=r(9068),t.Duplex=r(7760),t.Transform=r(8669),t.PassThrough=r(8679),t.finished=r(8323),t.pipeline=r(2130)},7332:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){var t=(0,i.default)(e);return{getItem:function(e){return new Promise((function(r,n){r(t.getItem(e))}))},setItem:function(e,r){return new Promise((function(n,i){n(t.setItem(e,r))}))},removeItem:function(e){return new Promise((function(r,n){r(t.removeItem(e))}))}}};var n,i=(n=r(2784))&&n.__esModule?n:{default:n}},2784:(e,t)=>{"use strict";function r(e){return r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(){}t.__esModule=!0,t.default=function(e){var t="".concat(e,"Storage");return function(e){if("object"!==("undefined"===typeof self?"undefined":r(self))||!(e in self))return!1;try{var t=self[e],n="redux-persist ".concat(e," test");t.setItem(n,"test"),t.getItem(n),t.removeItem(n)}catch(i){return!1}return!0}(t)?self[t]:i};var i={getItem:n,setItem:n,removeItem:n}},2936:(e,t,r)=>{"use strict";var n;t.Z=void 0;var i=(0,((n=r(7332))&&n.__esModule?n:{default:n}).default)("local");t.Z=i},3301:(e,t,r)=>{e.exports=r(3263)},3263:(e,t,r)=>{var n=r(4664);t.operation=function(e){var r=t.timeouts(e);return new n(r,{forever:e&&e.forever,unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})},t.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var r in e)t[r]=e[r];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i{function t(e,t){"boolean"===typeof t&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}e.exports=t,t.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},t.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},t.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=(new Date).getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var r=this._timeouts.shift();if(void 0===r){if(!this._cachedTimeouts)return!1;this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),r=this._timeouts.shift()}var n=this,i=setTimeout((function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout((function(){n._operationTimeoutCb(n._attempts)}),n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)}),r);return this._options.unref&&i.unref(),!0},t.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout((function(){r._operationTimeoutCb()}),r._operationTimeout)),this._operationStart=(new Date).getTime(),this._fn(this._attempts)},t.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)},t.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)},t.prototype.start=t.prototype.try,t.prototype.errors=function(){return this._errors},t.prototype.attempts=function(){return this._attempts},t.prototype.mainError=function(){if(0===this._errors.length)return null;for(var e={},t=null,r=0,n=0;n=r&&(t=i,r=a)}return t}},8816:(e,t,r)=>{"use strict";var n=r(261).Buffer,i=r(7110),o=r(6423),a=new Array(16),s=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],c=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],l=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],d=[0,1518500249,1859775393,2400959708,2840853838],h=[1352829926,1548603684,1836072691,2053994217,0];function f(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<>>32-t}function m(e,t,r,n,i,o,a,s){return p(e+(t^r^n)+o+a|0,s)+i|0}function g(e,t,r,n,i,o,a,s){return p(e+(t&r|~t&n)+o+a|0,s)+i|0}function v(e,t,r,n,i,o,a,s){return p(e+((t|~r)^n)+o+a|0,s)+i|0}function y(e,t,r,n,i,o,a,s){return p(e+(t&n|r&~n)+o+a|0,s)+i|0}function b(e,t,r,n,i,o,a,s){return p(e+(t^(r|~n))+o+a|0,s)+i|0}i(f,o),f.prototype._update=function(){for(var e=a,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,f=0|this._e,w=0|this._a,x=0|this._b,_=0|this._c,S=0|this._d,k=0|this._e,E=0;E<80;E+=1){var P,O;E<16?(P=m(r,n,i,o,f,e[s[E]],d[0],l[E]),O=b(w,x,_,S,k,e[c[E]],h[0],u[E])):E<32?(P=g(r,n,i,o,f,e[s[E]],d[1],l[E]),O=y(w,x,_,S,k,e[c[E]],h[1],u[E])):E<48?(P=v(r,n,i,o,f,e[s[E]],d[2],l[E]),O=v(w,x,_,S,k,e[c[E]],h[2],u[E])):E<64?(P=y(r,n,i,o,f,e[s[E]],d[3],l[E]),O=g(w,x,_,S,k,e[c[E]],h[3],u[E])):(P=b(r,n,i,o,f,e[s[E]],d[4],l[E]),O=m(w,x,_,S,k,e[c[E]],h[4],u[E])),r=f,f=o,o=p(i,10),i=n,n=P,w=k,k=S,S=p(_,10),_=x,x=O}var A=this._b+i+S|0;this._b=this._c+o+k|0,this._c=this._d+f+w|0,this._d=this._e+r+x|0,this._e=this._a+n+_|0,this._a=A},f.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=n.alloc?n.alloc(20):new n(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=f},8608:(e,t,r)=>{var n=r(261),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(e,t,r){if("number"===typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!==typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"===typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!==typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!==typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},1533:(e,t)=>{"use strict";function r(e,t){var r=e.length;e.push(t);e:for(;0>>1,i=e[n];if(!(0>>1;no(c,r))lo(u,c)?(e[n]=u,e[l]=r,n=l):(e[n]=c,e[s]=r,n=s);else{if(!(lo(u,r)))break e;e[n]=u,e[l]=r,n=l}}}return t}function o(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var l=[],u=[],d=1,h=null,f=3,p=!1,m=!1,g=!1,v="function"===typeof setTimeout?setTimeout:null,y="function"===typeof clearTimeout?clearTimeout:null,b="undefined"!==typeof setImmediate?setImmediate:null;function w(e){for(var t=n(u);null!==t;){if(null===t.callback)i(u);else{if(!(t.startTime<=e))break;i(u),t.sortIndex=t.expirationTime,r(l,t)}t=n(u)}}function x(e){if(g=!1,w(e),!m)if(null!==n(l))m=!0,I(_);else{var t=n(u);null!==t&&M(x,t.startTime-e)}}function _(e,r){m=!1,g&&(g=!1,y(P),P=-1),p=!0;var o=f;try{for(w(r),h=n(l);null!==h&&(!(h.expirationTime>r)||e&&!T());){var a=h.callback;if("function"===typeof a){h.callback=null,f=h.priorityLevel;var s=a(h.expirationTime<=r);r=t.unstable_now(),"function"===typeof s?h.callback=s:h===n(l)&&i(l),w(r)}else i(l);h=n(l)}if(null!==h)var c=!0;else{var d=n(u);null!==d&&M(x,d.startTime-r),c=!1}return c}finally{h=null,f=o,p=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,k=!1,E=null,P=-1,O=5,A=-1;function T(){return!(t.unstable_now()-Ae||125a?(e.sortIndex=o,r(u,e),null===n(l)&&e===n(u)&&(g?(y(P),P=-1):g=!0,M(x,o-a))):(e.sortIndex=s,r(l,e),m||p||(m=!0,I(_))),e},t.unstable_shouldYield=T,t.unstable_wrapCallback=function(e){var t=f;return function(){var r=f;f=t;try{return e.apply(this,arguments)}finally{f=r}}}},4824:(e,t,r)=>{"use strict";e.exports=r(1533)},8097:(e,t,r)=>{const n=Symbol("SemVer ANY");class i{static get ANY(){return n}constructor(e,t){if(t=o(t),e instanceof i){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),l("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===n?this.value="":this.value=this.operator+this.semver.version,l("comp",this)}parse(e){const t=this.options.loose?a[s.COMPARATORLOOSE]:a[s.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new u(r[2],this.options.loose):this.semver=n}toString(){return this.value}test(e){if(l("Comparator.test",e,this.options.loose),this.semver===n||e===n)return!0;if("string"===typeof e)try{e=new u(e,this.options)}catch(t){return!1}return c(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof i))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new d(e.value,t).test(this.value):""===e.operator?""===e.value||new d(this.value,t).test(e.semver):(!(t=o(t)).includePrerelease||"<0.0.0-0"!==this.value&&"<0.0.0-0"!==e.value)&&(!(!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&(!(!this.operator.startsWith(">")||!e.operator.startsWith(">"))||(!(!this.operator.startsWith("<")||!e.operator.startsWith("<"))||(!(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))||(!!(c(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))||!!(c(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))))))}}e.exports=i;const o=r(8018),{safeRe:a,t:s}=r(875),c=r(9055),l=r(9247),u=r(8740),d=r(9590)},9590:(e,t,r)=>{class n{constructor(e,t){if(t=o(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof a)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!g(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const t of this.set)if(1===t.length&&v(t[0])){this.set=[t];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){const t=((this.options.includePrerelease&&p)|(this.options.loose&&m))+":"+e,r=i.get(t);if(r)return r;const n=this.options.loose,o=n?l[u.HYPHENRANGELOOSE]:l[u.HYPHENRANGE];e=e.replace(o,T(this.options.includePrerelease)),s("hyphen replace",e),e=e.replace(l[u.COMPARATORTRIM],d),s("comparator trim",e),e=e.replace(l[u.TILDETRIM],h),s("tilde trim",e),e=e.replace(l[u.CARETTRIM],f),s("caret trim",e);let c=e.split(" ").map((e=>b(e,this.options))).join(" ").split(/\s+/).map((e=>A(e,this.options)));n&&(c=c.filter((e=>(s("loose invalid filter",e,this.options),!!e.match(l[u.COMPARATORLOOSE]))))),s("range list",c);const v=new Map,y=c.map((e=>new a(e,this.options)));for(const i of y){if(g(i))return[i];v.set(i.value,i)}v.size>1&&v.has("")&&v.delete("");const w=[...v.values()];return i.set(t,w),w}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Range is required");return this.set.some((r=>y(r,t)&&e.set.some((e=>y(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"===typeof e)try{e=new c(e,this.options)}catch(t){return!1}for(let r=0;r"<0.0.0-0"===e.value,v=e=>""===e.value,y=(e,t)=>{let r=!0;const n=e.slice();let i=n.pop();for(;r&&n.length;)r=n.every((e=>i.intersects(e,t))),i=n.pop();return r},b=(e,t)=>(s("comp",e,t),e=S(e,t),s("caret",e),e=x(e,t),s("tildes",e),e=E(e,t),s("xrange",e),e=O(e,t),s("stars",e),e),w=e=>!e||"x"===e.toLowerCase()||"*"===e,x=(e,t)=>e.trim().split(/\s+/).map((e=>_(e,t))).join(" "),_=(e,t)=>{const r=t.loose?l[u.TILDELOOSE]:l[u.TILDE];return e.replace(r,((t,r,n,i,o)=>{let a;return s("tilde",e,t,r,n,i,o),w(r)?a="":w(n)?a=`>=${r}.0.0 <${+r+1}.0.0-0`:w(i)?a=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:o?(s("replaceTilde pr",o),a=`>=${r}.${n}.${i}-${o} <${r}.${+n+1}.0-0`):a=`>=${r}.${n}.${i} <${r}.${+n+1}.0-0`,s("tilde return",a),a}))},S=(e,t)=>e.trim().split(/\s+/).map((e=>k(e,t))).join(" "),k=(e,t)=>{s("caret",e,t);const r=t.loose?l[u.CARETLOOSE]:l[u.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,i,o,a)=>{let c;return s("caret",e,t,r,i,o,a),w(r)?c="":w(i)?c=`>=${r}.0.0${n} <${+r+1}.0.0-0`:w(o)?c="0"===r?`>=${r}.${i}.0${n} <${r}.${+i+1}.0-0`:`>=${r}.${i}.0${n} <${+r+1}.0.0-0`:a?(s("replaceCaret pr",a),c="0"===r?"0"===i?`>=${r}.${i}.${o}-${a} <${r}.${i}.${+o+1}-0`:`>=${r}.${i}.${o}-${a} <${r}.${+i+1}.0-0`:`>=${r}.${i}.${o}-${a} <${+r+1}.0.0-0`):(s("no pr"),c="0"===r?"0"===i?`>=${r}.${i}.${o}${n} <${r}.${i}.${+o+1}-0`:`>=${r}.${i}.${o}${n} <${r}.${+i+1}.0-0`:`>=${r}.${i}.${o} <${+r+1}.0.0-0`),s("caret return",c),c}))},E=(e,t)=>(s("replaceXRanges",e,t),e.split(/\s+/).map((e=>P(e,t))).join(" ")),P=(e,t)=>{e=e.trim();const r=t.loose?l[u.XRANGELOOSE]:l[u.XRANGE];return e.replace(r,((r,n,i,o,a,c)=>{s("xRange",e,r,n,i,o,a,c);const l=w(i),u=l||w(o),d=u||w(a),h=d;return"="===n&&h&&(n=""),c=t.includePrerelease?"-0":"",l?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&h?(u&&(o=0),a=0,">"===n?(n=">=",u?(i=+i+1,o=0,a=0):(o=+o+1,a=0)):"<="===n&&(n="<",u?i=+i+1:o=+o+1),"<"===n&&(c="-0"),r=`${n+i}.${o}.${a}${c}`):u?r=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(r=`>=${i}.${o}.0${c} <${i}.${+o+1}.0-0`),s("xRange return",r),r}))},O=(e,t)=>(s("replaceStars",e,t),e.trim().replace(l[u.STAR],"")),A=(e,t)=>(s("replaceGTE0",e,t),e.trim().replace(l[t.includePrerelease?u.GTE0PRE:u.GTE0],"")),T=e=>(t,r,n,i,o,a,s,c,l,u,d,h,f)=>`${r=w(n)?"":w(i)?`>=${n}.0.0${e?"-0":""}`:w(o)?`>=${n}.${i}.0${e?"-0":""}`:a?`>=${r}`:`>=${r}${e?"-0":""}`} ${c=w(l)?"":w(u)?`<${+l+1}.0.0-0`:w(d)?`<${l}.${+u+1}.0-0`:h?`<=${l}.${u}.${d}-${h}`:e?`<${l}.${u}.${+d+1}-0`:`<=${c}`}`.trim(),j=(e,t,r)=>{for(let n=0;n0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}},8740:(e,t,r)=>{const n=r(9247),{MAX_LENGTH:i,MAX_SAFE_INTEGER:o}=r(9471),{safeRe:a,t:s}=r(875),c=r(8018),{compareIdentifiers:l}=r(1011);class u{constructor(e,t){if(t=c(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!==typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>i)throw new TypeError(`version is longer than ${i} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?a[s.LOOSE]:a[s.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"===typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===l(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=u},6445:(e,t,r)=>{const n=r(2671);e.exports=(e,t)=>{const r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}},9055:(e,t,r)=>{const n=r(1829),i=r(132),o=r(3015),a=r(2107),s=r(5467),c=r(9717);e.exports=(e,t,r,l)=>{switch(t){case"===":return"object"===typeof e&&(e=e.version),"object"===typeof r&&(r=r.version),e===r;case"!==":return"object"===typeof e&&(e=e.version),"object"===typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return n(e,r,l);case"!=":return i(e,r,l);case">":return o(e,r,l);case">=":return a(e,r,l);case"<":return s(e,r,l);case"<=":return c(e,r,l);default:throw new TypeError(`Invalid operator: ${t}`)}}},18:(e,t,r)=>{const n=r(8740),i=r(2671),{safeRe:o,t:a}=r(875);e.exports=(e,t)=>{if(e instanceof n)return e;if("number"===typeof e&&(e=String(e)),"string"!==typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=o[a.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),o[a.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;o[a.COERCERTL].lastIndex=-1}else r=e.match(o[a.COERCE]);return null===r?null:i(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)}},6758:(e,t,r)=>{const n=r(8740);e.exports=(e,t,r)=>{const i=new n(e,r),o=new n(t,r);return i.compare(o)||i.compareBuild(o)}},2728:(e,t,r)=>{const n=r(8835);e.exports=(e,t)=>n(e,t,!0)},8835:(e,t,r)=>{const n=r(8740);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},8739:(e,t,r)=>{const n=r(2671);e.exports=(e,t)=>{const r=n(e,null,!0),i=n(t,null,!0),o=r.compare(i);if(0===o)return null;const a=o>0,s=a?r:i,c=a?i:r,l=!!s.prerelease.length;if(!!c.prerelease.length&&!l)return c.patch||c.minor?s.patch?"patch":s.minor?"minor":"major":"major";const u=l?"pre":"";return r.major!==i.major?u+"major":r.minor!==i.minor?u+"minor":r.patch!==i.patch?u+"patch":"prerelease"}},1829:(e,t,r)=>{const n=r(8835);e.exports=(e,t,r)=>0===n(e,t,r)},3015:(e,t,r)=>{const n=r(8835);e.exports=(e,t,r)=>n(e,t,r)>0},2107:(e,t,r)=>{const n=r(8835);e.exports=(e,t,r)=>n(e,t,r)>=0},3318:(e,t,r)=>{const n=r(8740);e.exports=(e,t,r,i,o)=>{"string"===typeof r&&(o=i,i=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,i,o).version}catch(a){return null}}},5467:(e,t,r)=>{const n=r(8835);e.exports=(e,t,r)=>n(e,t,r)<0},9717:(e,t,r)=>{const n=r(8835);e.exports=(e,t,r)=>n(e,t,r)<=0},3929:(e,t,r)=>{const n=r(8740);e.exports=(e,t)=>new n(e,t).major},8571:(e,t,r)=>{const n=r(8740);e.exports=(e,t)=>new n(e,t).minor},132:(e,t,r)=>{const n=r(8835);e.exports=(e,t,r)=>0!==n(e,t,r)},2671:(e,t,r)=>{const n=r(8740);e.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(i){if(!r)return null;throw i}}},1331:(e,t,r)=>{const n=r(8740);e.exports=(e,t)=>new n(e,t).patch},7611:(e,t,r)=>{const n=r(2671);e.exports=(e,t)=>{const r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}},2750:(e,t,r)=>{const n=r(8835);e.exports=(e,t,r)=>n(t,e,r)},7021:(e,t,r)=>{const n=r(6758);e.exports=(e,t)=>e.sort(((e,r)=>n(r,e,t)))},6218:(e,t,r)=>{const n=r(9590);e.exports=(e,t,r)=>{try{t=new n(t,r)}catch(i){return!1}return t.test(e)}},6229:(e,t,r)=>{const n=r(6758);e.exports=(e,t)=>e.sort(((e,r)=>n(e,r,t)))},6188:(e,t,r)=>{const n=r(2671);e.exports=(e,t)=>{const r=n(e,t);return r?r.version:null}},7345:(e,t,r)=>{const n=r(875),i=r(9471),o=r(8740),a=r(1011),s=r(2671),c=r(6188),l=r(6445),u=r(3318),d=r(8739),h=r(3929),f=r(8571),p=r(1331),m=r(7611),g=r(8835),v=r(2750),y=r(2728),b=r(6758),w=r(6229),x=r(7021),_=r(3015),S=r(5467),k=r(1829),E=r(132),P=r(2107),O=r(9717),A=r(9055),T=r(18),j=r(8097),C=r(9590),R=r(6218),I=r(1193),M=r(8288),L=r(1051),N=r(720),D=r(988),B=r(8785),z=r(7582),U=r(2101),F=r(8660),$=r(7117),H=r(7554);e.exports={parse:s,valid:c,clean:l,inc:u,diff:d,major:h,minor:f,patch:p,prerelease:m,compare:g,rcompare:v,compareLoose:y,compareBuild:b,sort:w,rsort:x,gt:_,lt:S,eq:k,neq:E,gte:P,lte:O,cmp:A,coerce:T,Comparator:j,Range:C,satisfies:R,toComparators:I,maxSatisfying:M,minSatisfying:L,minVersion:N,validRange:D,outside:B,gtr:z,ltr:U,intersects:F,simplifyRange:$,subset:H,SemVer:o,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:i.SEMVER_SPEC_VERSION,RELEASE_TYPES:i.RELEASE_TYPES,compareIdentifiers:a.compareIdentifiers,rcompareIdentifiers:a.rcompareIdentifiers}},9471:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},9247:(e,t,r)=>{const n="object"===typeof r(4501)&&{NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.NODE_DEBUG&&/\bsemver\b/i.test({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=n},1011:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const n=t.test(e),i=t.test(r);return n&&i&&(e=+e,r=+r),e===r?0:n&&!i?-1:i&&!n?1:er(t,e)}},8018:e=>{const t=Object.freeze({loose:!0}),r=Object.freeze({});e.exports=e=>e?"object"!==typeof e?t:e:r},875:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:i,MAX_LENGTH:o}=r(9471),a=r(9247),s=(t=e.exports={}).re=[],c=t.safeRe=[],l=t.src=[],u=t.t={};let d=0;const h="[a-zA-Z0-9-]",f=[["\\s",1],["\\d",o],[h,i]],p=(e,t,r)=>{const n=(e=>{for(const[t,r]of f)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),i=d++;a(e,i,t),u[e]=i,l[i]=t,s[i]=new RegExp(t,r?"g":void 0),c[i]=new RegExp(n,r?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*"),p("NUMERICIDENTIFIERLOOSE","\\d+"),p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h}*`),p("MAINVERSION",`(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})`),p("MAINVERSIONLOOSE",`(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASEIDENTIFIER",`(?:${l[u.NUMERICIDENTIFIER]}|${l[u.NONNUMERICIDENTIFIER]})`),p("PRERELEASEIDENTIFIERLOOSE",`(?:${l[u.NUMERICIDENTIFIERLOOSE]}|${l[u.NONNUMERICIDENTIFIER]})`),p("PRERELEASE",`(?:-(${l[u.PRERELEASEIDENTIFIER]}(?:\\.${l[u.PRERELEASEIDENTIFIER]})*))`),p("PRERELEASELOOSE",`(?:-?(${l[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[u.PRERELEASEIDENTIFIERLOOSE]})*))`),p("BUILDIDENTIFIER",`${h}+`),p("BUILD",`(?:\\+(${l[u.BUILDIDENTIFIER]}(?:\\.${l[u.BUILDIDENTIFIER]})*))`),p("FULLPLAIN",`v?${l[u.MAINVERSION]}${l[u.PRERELEASE]}?${l[u.BUILD]}?`),p("FULL",`^${l[u.FULLPLAIN]}$`),p("LOOSEPLAIN",`[v=\\s]*${l[u.MAINVERSIONLOOSE]}${l[u.PRERELEASELOOSE]}?${l[u.BUILD]}?`),p("LOOSE",`^${l[u.LOOSEPLAIN]}$`),p("GTLT","((?:<|>)?=?)"),p("XRANGEIDENTIFIERLOOSE",`${l[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),p("XRANGEIDENTIFIER",`${l[u.NUMERICIDENTIFIER]}|x|X|\\*`),p("XRANGEPLAIN",`[v=\\s]*(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:${l[u.PRERELEASE]})?${l[u.BUILD]}?)?)?`),p("XRANGEPLAINLOOSE",`[v=\\s]*(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:${l[u.PRERELEASELOOSE]})?${l[u.BUILD]}?)?)?`),p("XRANGE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAIN]}$`),p("XRANGELOOSE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAINLOOSE]}$`),p("COERCE",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?(?:$|[^\\d])`),p("COERCERTL",l[u.COERCE],!0),p("LONETILDE","(?:~>?)"),p("TILDETRIM",`(\\s*)${l[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",p("TILDE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAIN]}$`),p("TILDELOOSE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAINLOOSE]}$`),p("LONECARET","(?:\\^)"),p("CARETTRIM",`(\\s*)${l[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",p("CARET",`^${l[u.LONECARET]}${l[u.XRANGEPLAIN]}$`),p("CARETLOOSE",`^${l[u.LONECARET]}${l[u.XRANGEPLAINLOOSE]}$`),p("COMPARATORLOOSE",`^${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]})$|^$`),p("COMPARATOR",`^${l[u.GTLT]}\\s*(${l[u.FULLPLAIN]})$|^$`),p("COMPARATORTRIM",`(\\s*)${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]}|${l[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",p("HYPHENRANGE",`^\\s*(${l[u.XRANGEPLAIN]})\\s+-\\s+(${l[u.XRANGEPLAIN]})\\s*$`),p("HYPHENRANGELOOSE",`^\\s*(${l[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[u.XRANGEPLAINLOOSE]})\\s*$`),p("STAR","(<|>)?=?\\s*\\*"),p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},7582:(e,t,r)=>{const n=r(8785);e.exports=(e,t,r)=>n(e,t,">",r)},8660:(e,t,r)=>{const n=r(9590);e.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))},2101:(e,t,r)=>{const n=r(8785);e.exports=(e,t,r)=>n(e,t,"<",r)},8288:(e,t,r)=>{const n=r(8740),i=r(9590);e.exports=(e,t,r)=>{let o=null,a=null,s=null;try{s=new i(t,r)}catch(c){return null}return e.forEach((e=>{s.test(e)&&(o&&-1!==a.compare(e)||(o=e,a=new n(o,r)))})),o}},1051:(e,t,r)=>{const n=r(8740),i=r(9590);e.exports=(e,t,r)=>{let o=null,a=null,s=null;try{s=new i(t,r)}catch(c){return null}return e.forEach((e=>{s.test(e)&&(o&&1!==a.compare(e)||(o=e,a=new n(o,r)))})),o}},720:(e,t,r)=>{const n=r(8740),i=r(9590),o=r(3015);e.exports=(e,t)=>{e=new i(e,t);let r=new n("0.0.0");if(e.test(r))return r;if(r=new n("0.0.0-0"),e.test(r))return r;r=null;for(let i=0;i{const t=new n(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":a&&!o(t,a)||(a=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!a||r&&!o(r,a)||(r=a)}return r&&e.test(r)?r:null}},8785:(e,t,r)=>{const n=r(8740),i=r(8097),{ANY:o}=i,a=r(9590),s=r(6218),c=r(3015),l=r(5467),u=r(9717),d=r(2107);e.exports=(e,t,r,h)=>{let f,p,m,g,v;switch(e=new n(e,h),t=new a(t,h),r){case">":f=c,p=u,m=l,g=">",v=">=";break;case"<":f=l,p=d,m=c,g="<",v="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(e,t,h))return!1;for(let n=0;n{e.semver===o&&(e=new i(">=0.0.0")),a=a||e,s=s||e,f(e.semver,a.semver,h)?a=e:m(e.semver,s.semver,h)&&(s=e)})),a.operator===g||a.operator===v)return!1;if((!s.operator||s.operator===g)&&p(e,s.semver))return!1;if(s.operator===v&&m(e,s.semver))return!1}return!0}},7117:(e,t,r)=>{const n=r(6218),i=r(8835);e.exports=(e,t,r)=>{const o=[];let a=null,s=null;const c=e.sort(((e,t)=>i(e,t,r)));for(const i of c){n(i,t,r)?(s=i,a||(a=i)):(s&&o.push([a,s]),s=null,a=null)}a&&o.push([a,null]);const l=[];for(const[n,i]of o)n===i?l.push(n):i||n!==c[0]?i?n===c[0]?l.push(`<=${i}`):l.push(`${n} - ${i}`):l.push(`>=${n}`):l.push("*");const u=l.join(" || "),d="string"===typeof t.raw?t.raw:String(t);return u.length{const n=r(9590),i=r(8097),{ANY:o}=i,a=r(6218),s=r(8835),c=[new i(">=0.0.0-0")],l=[new i(">=0.0.0")],u=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===o){if(1===t.length&&t[0].semver===o)return!0;e=r.includePrerelease?c:l}if(1===t.length&&t[0].semver===o){if(r.includePrerelease)return!0;t=l}const n=new Set;let i,u,f,p,m,g,v;for(const o of e)">"===o.operator||">="===o.operator?i=d(i,o,r):"<"===o.operator||"<="===o.operator?u=h(u,o,r):n.add(o.semver);if(n.size>1)return null;if(i&&u){if(f=s(i.semver,u.semver,r),f>0)return null;if(0===f&&(">="!==i.operator||"<="!==u.operator))return null}for(const o of n){if(i&&!a(o,String(i),r))return null;if(u&&!a(o,String(u),r))return null;for(const e of t)if(!a(o,String(e),r))return!1;return!0}let y=!(!u||r.includePrerelease||!u.semver.prerelease.length)&&u.semver,b=!(!i||r.includePrerelease||!i.semver.prerelease.length)&&i.semver;y&&1===y.prerelease.length&&"<"===u.operator&&0===y.prerelease[0]&&(y=!1);for(const o of t){if(v=v||">"===o.operator||">="===o.operator,g=g||"<"===o.operator||"<="===o.operator,i)if(b&&o.semver.prerelease&&o.semver.prerelease.length&&o.semver.major===b.major&&o.semver.minor===b.minor&&o.semver.patch===b.patch&&(b=!1),">"===o.operator||">="===o.operator){if(p=d(i,o,r),p===o&&p!==i)return!1}else if(">="===i.operator&&!a(i.semver,String(o),r))return!1;if(u)if(y&&o.semver.prerelease&&o.semver.prerelease.length&&o.semver.major===y.major&&o.semver.minor===y.minor&&o.semver.patch===y.patch&&(y=!1),"<"===o.operator||"<="===o.operator){if(m=h(u,o,r),m===o&&m!==u)return!1}else if("<="===u.operator&&!a(u.semver,String(o),r))return!1;if(!o.operator&&(u||i)&&0!==f)return!1}return!(i&&g&&!u&&0!==f)&&(!(u&&v&&!i&&0!==f)&&(!b&&!y))},d=(e,t,r)=>{if(!e)return t;const n=s(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},h=(e,t,r)=>{if(!e)return t;const n=s(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let i=!1;e:for(const n of e.set){for(const e of t.set){const t=u(n,e,r);if(i=i||null!==t,t)continue e}if(i)return!1}return!0}},1193:(e,t,r)=>{const n=r(9590);e.exports=(e,t)=>new n(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},988:(e,t,r)=>{const n=r(9590);e.exports=(e,t)=>{try{return new n(e,t).range||"*"}catch(r){return null}}},7646:(e,t,r)=>{var n=r(8608).Buffer;function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){"string"===typeof e&&(t=t||"utf8",e=n.from(e,t));for(var r=this._block,i=this._blockSize,o=e.length,a=this._len,s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return e?o.toString(e):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},7372:(e,t,r)=>{var n=e.exports=function(e){e=e.toLowerCase();var t=n[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t};n.sha=r(2805),n.sha1=r(2526),n.sha224=r(490),n.sha256=r(7153),n.sha384=r(5220),n.sha512=r(6755)},2805:(e,t,r)=>{var n=r(7110),i=r(7646),o=r(8608).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function c(){this.init(),this._w=s,i.call(this,64,56)}function l(e){return e<<30|e>>>2}function u(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(c,i),c.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},c.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,c=0|this._e,d=0;d<16;++d)r[d]=e.readInt32BE(4*d);for(;d<80;++d)r[d]=r[d-3]^r[d-8]^r[d-14]^r[d-16];for(var h=0;h<80;++h){var f=~~(h/20),p=0|((t=n)<<5|t>>>27)+u(f,i,o,s)+c+r[h]+a[f];c=s,s=o,o=l(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=c+this._e|0},c.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=c},2526:(e,t,r)=>{var n=r(7110),i=r(7646),o=r(8608).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function c(){this.init(),this._w=s,i.call(this,64,56)}function l(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function d(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(c,i),c.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},c.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,c=0|this._e,h=0;h<16;++h)r[h]=e.readInt32BE(4*h);for(;h<80;++h)r[h]=(t=r[h-3]^r[h-8]^r[h-14]^r[h-16])<<1|t>>>31;for(var f=0;f<80;++f){var p=~~(f/20),m=l(n)+d(p,i,o,s)+c+r[f]+a[p]|0;c=s,s=o,o=u(i),i=n,n=m}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=c+this._e|0},c.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=c},490:(e,t,r)=>{var n=r(7110),i=r(7153),o=r(7646),a=r(8608).Buffer,s=new Array(64);function c(){this.init(),this._w=s,o.call(this,64,56)}n(c,i),c.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},c.prototype._hash=function(){var e=a.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=c},7153:(e,t,r)=>{var n=r(7110),i=r(7646),o=r(8608).Buffer,a=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function c(){this.init(),this._w=s,i.call(this,64,56)}function l(e,t,r){return r^e&(t^r)}function u(e,t,r){return e&t|r&(e|t)}function d(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function h(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function f(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}n(c,i),c.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},c.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,c=0|this._e,p=0|this._f,m=0|this._g,g=0|this._h,v=0;v<16;++v)r[v]=e.readInt32BE(4*v);for(;v<64;++v)r[v]=0|(((t=r[v-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+r[v-7]+f(r[v-15])+r[v-16];for(var y=0;y<64;++y){var b=g+h(c)+l(c,p,m)+a[y]+r[y]|0,w=d(n)+u(n,i,o)|0;g=m,m=p,p=c,c=s+b|0,s=o,o=i,i=n,n=b+w|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=c+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},c.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=c},5220:(e,t,r)=>{var n=r(7110),i=r(6755),o=r(7646),a=r(8608).Buffer,s=new Array(160);function c(){this.init(),this._w=s,o.call(this,128,112)}n(c,i),c.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},c.prototype._hash=function(){var e=a.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=c},6755:(e,t,r)=>{var n=r(7110),i=r(7646),o=r(8608).Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function c(){this.init(),this._w=s,i.call(this,128,112)}function l(e,t,r){return r^e&(t^r)}function u(e,t,r){return e&t|r&(e|t)}function d(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function h(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function f(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function v(e,t){return e>>>0>>0?1:0}n(c,i),c.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},c.prototype._update=function(e){for(var t=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,s=0|this._eh,c=0|this._fh,y=0|this._gh,b=0|this._hh,w=0|this._al,x=0|this._bl,_=0|this._cl,S=0|this._dl,k=0|this._el,E=0|this._fl,P=0|this._gl,O=0|this._hl,A=0;A<32;A+=2)t[A]=e.readInt32BE(4*A),t[A+1]=e.readInt32BE(4*A+4);for(;A<160;A+=2){var T=t[A-30],j=t[A-30+1],C=f(T,j),R=p(j,T),I=m(T=t[A-4],j=t[A-4+1]),M=g(j,T),L=t[A-14],N=t[A-14+1],D=t[A-32],B=t[A-32+1],z=R+N|0,U=C+L+v(z,R)|0;U=(U=U+I+v(z=z+M|0,M)|0)+D+v(z=z+B|0,B)|0,t[A]=U,t[A+1]=z}for(var F=0;F<160;F+=2){U=t[F],z=t[F+1];var $=u(r,n,i),H=u(w,x,_),V=d(r,w),q=d(w,r),K=h(s,k),W=h(k,s),G=a[F],Y=a[F+1],Z=l(s,c,y),X=l(k,E,P),J=O+W|0,Q=b+K+v(J,O)|0;Q=(Q=(Q=Q+Z+v(J=J+X|0,X)|0)+G+v(J=J+Y|0,Y)|0)+U+v(J=J+z|0,z)|0;var ee=q+H|0,te=V+$+v(ee,q)|0;b=y,O=P,y=c,P=E,c=s,E=k,s=o+Q+v(k=S+J|0,S)|0,o=i,S=_,i=n,_=x,n=r,x=w,r=Q+te+v(w=J+ee|0,J)|0}this._al=this._al+w|0,this._bl=this._bl+x|0,this._cl=this._cl+_|0,this._dl=this._dl+S|0,this._el=this._el+k|0,this._fl=this._fl+E|0,this._gl=this._gl+P|0,this._hl=this._hl+O|0,this._ah=this._ah+r+v(this._al,w)|0,this._bh=this._bh+n+v(this._bl,x)|0,this._ch=this._ch+i+v(this._cl,_)|0,this._dh=this._dh+o+v(this._dl,S)|0,this._eh=this._eh+s+v(this._el,k)|0,this._fh=this._fh+c+v(this._fl,E)|0,this._gh=this._gh+y+v(this._gl,P)|0,this._hh=this._hh+b+v(this._hl,O)|0},c.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=c},1584:(e,t,r)=>{e.exports=i;var n=r(5121).EventEmitter;function i(){n.call(this)}r(7110)(i,n),i.Readable=r(6348),i.Writable=r(9068),i.Duplex=r(7760),i.Transform=r(8669),i.PassThrough=r(8679),i.finished=r(8323),i.pipeline=r(2130),i.Stream=i,i.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",c));var a=!1;function s(){a||(a=!0,e.end())}function c(){a||(a=!0,"function"===typeof e.destroy&&e.destroy())}function l(e){if(u(),0===n.listenerCount(this,"error"))throw e}function u(){r.removeListener("data",i),e.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",c),r.removeListener("error",l),e.removeListener("error",l),r.removeListener("end",u),r.removeListener("close",u),e.removeListener("close",u)}return r.on("error",l),e.on("error",l),r.on("end",u),r.on("close",u),e.on("close",u),e.emit("pipe",r),e}},1778:(e,t,r)=>{"use strict";var n=r(8608).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!==typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=l,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=u,this.end=d,t=3;break;default:return this.write=h,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function a(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!==(192&t[0]))return e.lastNeed=0,"\ufffd";if(e.lastNeed>1&&t.length>1){if(128!==(192&t[1]))return e.lastNeed=1,"\ufffd";if(e.lastNeed>2&&t.length>2&&128!==(192&t[2]))return e.lastNeed=2,"\ufffd"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function h(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}t.s=o,o.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return i>0&&(e.lastNeed=i-1),i;if(--n=0)return i>0&&(e.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},8179:(e,t,r)=>{var n=r(261).Buffer;e.exports=function(e){return ArrayBuffer.isView(e)?n.from(e.buffer,e.byteOffset,e.byteLength):n.from(e)}},9846:(e,t,r)=>{"use strict";var n=r(3358);var i="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},o=n.useState,a=n.useEffect,s=n.useLayoutEffect,c=n.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!i(e,r)}catch(n){return!0}}var u="undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=o({inst:{value:r,getSnapshot:t}}),i=n[0].inst,u=n[1];return s((function(){i.value=r,i.getSnapshot=t,l(i)&&u({inst:i})}),[e,r,t]),a((function(){return l(i)&&u({inst:i}),e((function(){l(i)&&u({inst:i})}))}),[e]),c(r),r};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:u},79:(e,t,r)=>{"use strict";var n=r(3358),i=r(3331);var o="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},a=i.useSyncExternalStore,s=n.useRef,c=n.useEffect,l=n.useMemo,u=n.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,n,i){var d=s(null);if(null===d.current){var h={hasValue:!1,value:null};d.current=h}else h=d.current;d=l((function(){function e(e){if(!c){if(c=!0,a=e,e=n(e),void 0!==i&&h.hasValue){var t=h.value;if(i(t,e))return s=t}return s=e}if(t=s,o(a,e))return t;var r=n(e);return void 0!==i&&i(t,r)?t:(a=e,s=r)}var a,s,c=!1,l=void 0===r?null:r;return[function(){return e(t())},null===l?void 0:function(){return e(l())}]}),[t,r,n,i]);var f=a(e,d[0],d[1]);return c((function(){h.hasValue=!0,h.value=f}),[f]),u(f),f}},3331:(e,t,r)=>{"use strict";e.exports=r(9846)},2223:(e,t,r)=>{"use strict";e.exports=r(79)},7723:(e,t,r)=>{function n(e){try{if(!r.g.localStorage)return!1}catch(n){return!1}var t=r.g.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}},3290:e=>{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},2798:(e,t,r)=>{"use strict";function n(e){var t=this;if(t instanceof n||(t=new n),t.tail=null,t.head=null,t.length=0,e&&"function"===typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,r=this.head.value}for(var i=0;null!==n;i++)r=e(r,n.value,i),n=n.next;return r},n.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,r=this.tail.value}for(var i=this.length-1;null!==n;i--)r=e(r,n.value,i),n=n.prev;return r},n.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},n.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},n.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var r=new n;if(tthis.length&&(t=this.length);for(var i=0,o=this.head;null!==o&&ithis.length&&(t=this.length);for(var i=this.length,o=this.tail;null!==o&&i>t;i--)o=o.prev;for(;null!==o&&i>e;i--,o=o.prev)r.push(o.value);return r},n.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,o=this.head;null!==o&&n{},8247:()=>{},3018:()=>{},6601:()=>{},9214:()=>{},2361:()=>{},4616:()=>{},6564:(e,t,r)=>{var n=r(9766).default;function i(){"use strict";e.exports=i=function(){return t},e.exports.__esModule=!0,e.exports.default=e.exports;var t={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",l=s.asyncIterator||"@@asyncIterator",u=s.toStringTag||"@@toStringTag";function d(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(j){d=function(e,t,r){return e[t]=r}}function h(e,t,r,n){var i=t&&t.prototype instanceof m?t:m,o=Object.create(i.prototype),s=new A(n||[]);return a(o,"_invoke",{value:k(e,r,s)}),o}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(j){return{type:"throw",arg:j}}}t.wrap=h;var p={};function m(){}function g(){}function v(){}var y={};d(y,c,(function(){return this}));var b=Object.getPrototypeOf,w=b&&b(b(T([])));w&&w!==r&&o.call(w,c)&&(y=w);var x=v.prototype=m.prototype=Object.create(y);function _(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function r(i,a,s,c){var l=f(e[i],e,a);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==n(d)&&o.call(d,"__await")?t.resolve(d.__await).then((function(e){r("next",e,s,c)}),(function(e){r("throw",e,s,c)})):t.resolve(d).then((function(e){u.value=e,s(u)}),(function(e){return r("throw",e,s,c)}))}c(l.arg)}var i;a(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,i){r(e,n,t,i)}))}return i=i?i.then(o,o):o()}})}function k(e,t,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return{value:void 0,done:!0}}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=E(a,r);if(s){if(s===p)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=f(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function E(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var i=f(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,p;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function T(e){if(e||""===e){var t=e[c];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0;--n){var i=this.tryEntries[n],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=o.call(i,"catchLoc"),c=o.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),O(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;O(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:T(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},9766:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},3050:(e,t,r)=>{var n=r(6564)();e.exports=n;try{regeneratorRuntime=n}catch(i){"object"===typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},1730:(e,t,r)=>{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;tn})},8619:(e,t,r)=>{"use strict";function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n(e,t)}r.d(t,{Z:()=>i})},6996:e=>{"use strict";e.exports=JSON.parse('["\u7684","\u4e00","\u662f","\u5728","\u4e0d","\u4e86","\u6709","\u548c","\u4eba","\u8fd9","\u4e2d","\u5927","\u4e3a","\u4e0a","\u4e2a","\u56fd","\u6211","\u4ee5","\u8981","\u4ed6","\u65f6","\u6765","\u7528","\u4eec","\u751f","\u5230","\u4f5c","\u5730","\u4e8e","\u51fa","\u5c31","\u5206","\u5bf9","\u6210","\u4f1a","\u53ef","\u4e3b","\u53d1","\u5e74","\u52a8","\u540c","\u5de5","\u4e5f","\u80fd","\u4e0b","\u8fc7","\u5b50","\u8bf4","\u4ea7","\u79cd","\u9762","\u800c","\u65b9","\u540e","\u591a","\u5b9a","\u884c","\u5b66","\u6cd5","\u6240","\u6c11","\u5f97","\u7ecf","\u5341","\u4e09","\u4e4b","\u8fdb","\u7740","\u7b49","\u90e8","\u5ea6","\u5bb6","\u7535","\u529b","\u91cc","\u5982","\u6c34","\u5316","\u9ad8","\u81ea","\u4e8c","\u7406","\u8d77","\u5c0f","\u7269","\u73b0","\u5b9e","\u52a0","\u91cf","\u90fd","\u4e24","\u4f53","\u5236","\u673a","\u5f53","\u4f7f","\u70b9","\u4ece","\u4e1a","\u672c","\u53bb","\u628a","\u6027","\u597d","\u5e94","\u5f00","\u5b83","\u5408","\u8fd8","\u56e0","\u7531","\u5176","\u4e9b","\u7136","\u524d","\u5916","\u5929","\u653f","\u56db","\u65e5","\u90a3","\u793e","\u4e49","\u4e8b","\u5e73","\u5f62","\u76f8","\u5168","\u8868","\u95f4","\u6837","\u4e0e","\u5173","\u5404","\u91cd","\u65b0","\u7ebf","\u5185","\u6570","\u6b63","\u5fc3","\u53cd","\u4f60","\u660e","\u770b","\u539f","\u53c8","\u4e48","\u5229","\u6bd4","\u6216","\u4f46","\u8d28","\u6c14","\u7b2c","\u5411","\u9053","\u547d","\u6b64","\u53d8","\u6761","\u53ea","\u6ca1","\u7ed3","\u89e3","\u95ee","\u610f","\u5efa","\u6708","\u516c","\u65e0","\u7cfb","\u519b","\u5f88","\u60c5","\u8005","\u6700","\u7acb","\u4ee3","\u60f3","\u5df2","\u901a","\u5e76","\u63d0","\u76f4","\u9898","\u515a","\u7a0b","\u5c55","\u4e94","\u679c","\u6599","\u8c61","\u5458","\u9769","\u4f4d","\u5165","\u5e38","\u6587","\u603b","\u6b21","\u54c1","\u5f0f","\u6d3b","\u8bbe","\u53ca","\u7ba1","\u7279","\u4ef6","\u957f","\u6c42","\u8001","\u5934","\u57fa","\u8d44","\u8fb9","\u6d41","\u8def","\u7ea7","\u5c11","\u56fe","\u5c71","\u7edf","\u63a5","\u77e5","\u8f83","\u5c06","\u7ec4","\u89c1","\u8ba1","\u522b","\u5979","\u624b","\u89d2","\u671f","\u6839","\u8bba","\u8fd0","\u519c","\u6307","\u51e0","\u4e5d","\u533a","\u5f3a","\u653e","\u51b3","\u897f","\u88ab","\u5e72","\u505a","\u5fc5","\u6218","\u5148","\u56de","\u5219","\u4efb","\u53d6","\u636e","\u5904","\u961f","\u5357","\u7ed9","\u8272","\u5149","\u95e8","\u5373","\u4fdd","\u6cbb","\u5317","\u9020","\u767e","\u89c4","\u70ed","\u9886","\u4e03","\u6d77","\u53e3","\u4e1c","\u5bfc","\u5668","\u538b","\u5fd7","\u4e16","\u91d1","\u589e","\u4e89","\u6d4e","\u9636","\u6cb9","\u601d","\u672f","\u6781","\u4ea4","\u53d7","\u8054","\u4ec0","\u8ba4","\u516d","\u5171","\u6743","\u6536","\u8bc1","\u6539","\u6e05","\u7f8e","\u518d","\u91c7","\u8f6c","\u66f4","\u5355","\u98ce","\u5207","\u6253","\u767d","\u6559","\u901f","\u82b1","\u5e26","\u5b89","\u573a","\u8eab","\u8f66","\u4f8b","\u771f","\u52a1","\u5177","\u4e07","\u6bcf","\u76ee","\u81f3","\u8fbe","\u8d70","\u79ef","\u793a","\u8bae","\u58f0","\u62a5","\u6597","\u5b8c","\u7c7b","\u516b","\u79bb","\u534e","\u540d","\u786e","\u624d","\u79d1","\u5f20","\u4fe1","\u9a6c","\u8282","\u8bdd","\u7c73","\u6574","\u7a7a","\u5143","\u51b5","\u4eca","\u96c6","\u6e29","\u4f20","\u571f","\u8bb8","\u6b65","\u7fa4","\u5e7f","\u77f3","\u8bb0","\u9700","\u6bb5","\u7814","\u754c","\u62c9","\u6797","\u5f8b","\u53eb","\u4e14","\u7a76","\u89c2","\u8d8a","\u7ec7","\u88c5","\u5f71","\u7b97","\u4f4e","\u6301","\u97f3","\u4f17","\u4e66","\u5e03","\u590d","\u5bb9","\u513f","\u987b","\u9645","\u5546","\u975e","\u9a8c","\u8fde","\u65ad","\u6df1","\u96be","\u8fd1","\u77ff","\u5343","\u5468","\u59d4","\u7d20","\u6280","\u5907","\u534a","\u529e","\u9752","\u7701","\u5217","\u4e60","\u54cd","\u7ea6","\u652f","\u822c","\u53f2","\u611f","\u52b3","\u4fbf","\u56e2","\u5f80","\u9178","\u5386","\u5e02","\u514b","\u4f55","\u9664","\u6d88","\u6784","\u5e9c","\u79f0","\u592a","\u51c6","\u7cbe","\u503c","\u53f7","\u7387","\u65cf","\u7ef4","\u5212","\u9009","\u6807","\u5199","\u5b58","\u5019","\u6bdb","\u4eb2","\u5feb","\u6548","\u65af","\u9662","\u67e5","\u6c5f","\u578b","\u773c","\u738b","\u6309","\u683c","\u517b","\u6613","\u7f6e","\u6d3e","\u5c42","\u7247","\u59cb","\u5374","\u4e13","\u72b6","\u80b2","\u5382","\u4eac","\u8bc6","\u9002","\u5c5e","\u5706","\u5305","\u706b","\u4f4f","\u8c03","\u6ee1","\u53bf","\u5c40","\u7167","\u53c2","\u7ea2","\u7ec6","\u5f15","\u542c","\u8be5","\u94c1","\u4ef7","\u4e25","\u9996","\u5e95","\u6db2","\u5b98","\u5fb7","\u968f","\u75c5","\u82cf","\u5931","\u5c14","\u6b7b","\u8bb2","\u914d","\u5973","\u9ec4","\u63a8","\u663e","\u8c08","\u7f6a","\u795e","\u827a","\u5462","\u5e2d","\u542b","\u4f01","\u671b","\u5bc6","\u6279","\u8425","\u9879","\u9632","\u4e3e","\u7403","\u82f1","\u6c27","\u52bf","\u544a","\u674e","\u53f0","\u843d","\u6728","\u5e2e","\u8f6e","\u7834","\u4e9a","\u5e08","\u56f4","\u6ce8","\u8fdc","\u5b57","\u6750","\u6392","\u4f9b","\u6cb3","\u6001","\u5c01","\u53e6","\u65bd","\u51cf","\u6811","\u6eb6","\u600e","\u6b62","\u6848","\u8a00","\u58eb","\u5747","\u6b66","\u56fa","\u53f6","\u9c7c","\u6ce2","\u89c6","\u4ec5","\u8d39","\u7d27","\u7231","\u5de6","\u7ae0","\u65e9","\u671d","\u5bb3","\u7eed","\u8f7b","\u670d","\u8bd5","\u98df","\u5145","\u5175","\u6e90","\u5224","\u62a4","\u53f8","\u8db3","\u67d0","\u7ec3","\u5dee","\u81f4","\u677f","\u7530","\u964d","\u9ed1","\u72af","\u8d1f","\u51fb","\u8303","\u7ee7","\u5174","\u4f3c","\u4f59","\u575a","\u66f2","\u8f93","\u4fee","\u6545","\u57ce","\u592b","\u591f","\u9001","\u7b14","\u8239","\u5360","\u53f3","\u8d22","\u5403","\u5bcc","\u6625","\u804c","\u89c9","\u6c49","\u753b","\u529f","\u5df4","\u8ddf","\u867d","\u6742","\u98de","\u68c0","\u5438","\u52a9","\u5347","\u9633","\u4e92","\u521d","\u521b","\u6297","\u8003","\u6295","\u574f","\u7b56","\u53e4","\u5f84","\u6362","\u672a","\u8dd1","\u7559","\u94a2","\u66fe","\u7aef","\u8d23","\u7ad9","\u7b80","\u8ff0","\u94b1","\u526f","\u5c3d","\u5e1d","\u5c04","\u8349","\u51b2","\u627f","\u72ec","\u4ee4","\u9650","\u963f","\u5ba3","\u73af","\u53cc","\u8bf7","\u8d85","\u5fae","\u8ba9","\u63a7","\u5dde","\u826f","\u8f74","\u627e","\u5426","\u7eaa","\u76ca","\u4f9d","\u4f18","\u9876","\u7840","\u8f7d","\u5012","\u623f","\u7a81","\u5750","\u7c89","\u654c","\u7565","\u5ba2","\u8881","\u51b7","\u80dc","\u7edd","\u6790","\u5757","\u5242","\u6d4b","\u4e1d","\u534f","\u8bc9","\u5ff5","\u9648","\u4ecd","\u7f57","\u76d0","\u53cb","\u6d0b","\u9519","\u82e6","\u591c","\u5211","\u79fb","\u9891","\u9010","\u9760","\u6df7","\u6bcd","\u77ed","\u76ae","\u7ec8","\u805a","\u6c7d","\u6751","\u4e91","\u54ea","\u65e2","\u8ddd","\u536b","\u505c","\u70c8","\u592e","\u5bdf","\u70e7","\u8fc5","\u5883","\u82e5","\u5370","\u6d32","\u523b","\u62ec","\u6fc0","\u5b54","\u641e","\u751a","\u5ba4","\u5f85","\u6838","\u6821","\u6563","\u4fb5","\u5427","\u7532","\u6e38","\u4e45","\u83dc","\u5473","\u65e7","\u6a21","\u6e56","\u8d27","\u635f","\u9884","\u963b","\u6beb","\u666e","\u7a33","\u4e59","\u5988","\u690d","\u606f","\u6269","\u94f6","\u8bed","\u6325","\u9152","\u5b88","\u62ff","\u5e8f","\u7eb8","\u533b","\u7f3a","\u96e8","\u5417","\u9488","\u5218","\u554a","\u6025","\u5531","\u8bef","\u8bad","\u613f","\u5ba1","\u9644","\u83b7","\u8336","\u9c9c","\u7cae","\u65a4","\u5b69","\u8131","\u786b","\u80a5","\u5584","\u9f99","\u6f14","\u7236","\u6e10","\u8840","\u6b22","\u68b0","\u638c","\u6b4c","\u6c99","\u521a","\u653b","\u8c13","\u76fe","\u8ba8","\u665a","\u7c92","\u4e71","\u71c3","\u77db","\u4e4e","\u6740","\u836f","\u5b81","\u9c81","\u8d35","\u949f","\u7164","\u8bfb","\u73ed","\u4f2f","\u9999","\u4ecb","\u8feb","\u53e5","\u4e30","\u57f9","\u63e1","\u5170","\u62c5","\u5f26","\u86cb","\u6c89","\u5047","\u7a7f","\u6267","\u7b54","\u4e50","\u8c01","\u987a","\u70df","\u7f29","\u5f81","\u8138","\u559c","\u677e","\u811a","\u56f0","\u5f02","\u514d","\u80cc","\u661f","\u798f","\u4e70","\u67d3","\u4e95","\u6982","\u6162","\u6015","\u78c1","\u500d","\u7956","\u7687","\u4fc3","\u9759","\u8865","\u8bc4","\u7ffb","\u8089","\u8df5","\u5c3c","\u8863","\u5bbd","\u626c","\u68c9","\u5e0c","\u4f24","\u64cd","\u5782","\u79cb","\u5b9c","\u6c22","\u5957","\u7763","\u632f","\u67b6","\u4eae","\u672b","\u5baa","\u5e86","\u7f16","\u725b","\u89e6","\u6620","\u96f7","\u9500","\u8bd7","\u5ea7","\u5c45","\u6293","\u88c2","\u80de","\u547c","\u5a18","\u666f","\u5a01","\u7eff","\u6676","\u539a","\u76df","\u8861","\u9e21","\u5b59","\u5ef6","\u5371","\u80f6","\u5c4b","\u4e61","\u4e34","\u9646","\u987e","\u6389","\u5440","\u706f","\u5c81","\u63aa","\u675f","\u8010","\u5267","\u7389","\u8d75","\u8df3","\u54e5","\u5b63","\u8bfe","\u51ef","\u80e1","\u989d","\u6b3e","\u7ecd","\u5377","\u9f50","\u4f1f","\u84b8","\u6b96","\u6c38","\u5b97","\u82d7","\u5ddd","\u7089","\u5ca9","\u5f31","\u96f6","\u6768","\u594f","\u6cbf","\u9732","\u6746","\u63a2","\u6ed1","\u9547","\u996d","\u6d53","\u822a","\u6000","\u8d76","\u5e93","\u593a","\u4f0a","\u7075","\u7a0e","\u9014","\u706d","\u8d5b","\u5f52","\u53ec","\u9f13","\u64ad","\u76d8","\u88c1","\u9669","\u5eb7","\u552f","\u5f55","\u83cc","\u7eaf","\u501f","\u7cd6","\u76d6","\u6a2a","\u7b26","\u79c1","\u52aa","\u5802","\u57df","\u67aa","\u6da6","\u5e45","\u54c8","\u7adf","\u719f","\u866b","\u6cfd","\u8111","\u58e4","\u78b3","\u6b27","\u904d","\u4fa7","\u5be8","\u6562","\u5f7b","\u8651","\u659c","\u8584","\u5ead","\u7eb3","\u5f39","\u9972","\u4f38","\u6298","\u9ea6","\u6e7f","\u6697","\u8377","\u74e6","\u585e","\u5e8a","\u7b51","\u6076","\u6237","\u8bbf","\u5854","\u5947","\u900f","\u6881","\u5200","\u65cb","\u8ff9","\u5361","\u6c2f","\u9047","\u4efd","\u6bd2","\u6ce5","\u9000","\u6d17","\u6446","\u7070","\u5f69","\u5356","\u8017","\u590f","\u62e9","\u5fd9","\u94dc","\u732e","\u786c","\u4e88","\u7e41","\u5708","\u96ea","\u51fd","\u4ea6","\u62bd","\u7bc7","\u9635","\u9634","\u4e01","\u5c3a","\u8ffd","\u5806","\u96c4","\u8fce","\u6cdb","\u7238","\u697c","\u907f","\u8c0b","\u5428","\u91ce","\u732a","\u65d7","\u7d2f","\u504f","\u5178","\u9986","\u7d22","\u79e6","\u8102","\u6f6e","\u7237","\u8c46","\u5ffd","\u6258","\u60ca","\u5851","\u9057","\u6108","\u6731","\u66ff","\u7ea4","\u7c97","\u503e","\u5c1a","\u75db","\u695a","\u8c22","\u594b","\u8d2d","\u78e8","\u541b","\u6c60","\u65c1","\u788e","\u9aa8","\u76d1","\u6355","\u5f1f","\u66b4","\u5272","\u8d2f","\u6b8a","\u91ca","\u8bcd","\u4ea1","\u58c1","\u987f","\u5b9d","\u5348","\u5c18","\u95fb","\u63ed","\u70ae","\u6b8b","\u51ac","\u6865","\u5987","\u8b66","\u7efc","\u62db","\u5434","\u4ed8","\u6d6e","\u906d","\u5f90","\u60a8","\u6447","\u8c37","\u8d5e","\u7bb1","\u9694","\u8ba2","\u7537","\u5439","\u56ed","\u7eb7","\u5510","\u8d25","\u5b8b","\u73bb","\u5de8","\u8015","\u5766","\u8363","\u95ed","\u6e7e","\u952e","\u51e1","\u9a7b","\u9505","\u6551","\u6069","\u5265","\u51dd","\u78b1","\u9f7f","\u622a","\u70bc","\u9ebb","\u7eba","\u7981","\u5e9f","\u76db","\u7248","\u7f13","\u51c0","\u775b","\u660c","\u5a5a","\u6d89","\u7b52","\u5634","\u63d2","\u5cb8","\u6717","\u5e84","\u8857","\u85cf","\u59d1","\u8d38","\u8150","\u5974","\u5566","\u60ef","\u4e58","\u4f19","\u6062","\u5300","\u7eb1","\u624e","\u8fa9","\u8033","\u5f6a","\u81e3","\u4ebf","\u7483","\u62b5","\u8109","\u79c0","\u8428","\u4fc4","\u7f51","\u821e","\u5e97","\u55b7","\u7eb5","\u5bf8","\u6c57","\u6302","\u6d2a","\u8d3a","\u95ea","\u67ec","\u7206","\u70ef","\u6d25","\u7a3b","\u5899","\u8f6f","\u52c7","\u50cf","\u6eda","\u5398","\u8499","\u82b3","\u80af","\u5761","\u67f1","\u8361","\u817f","\u4eea","\u65c5","\u5c3e","\u8f67","\u51b0","\u8d21","\u767b","\u9ece","\u524a","\u94bb","\u52d2","\u9003","\u969c","\u6c28","\u90ed","\u5cf0","\u5e01","\u6e2f","\u4f0f","\u8f68","\u4ea9","\u6bd5","\u64e6","\u83ab","\u523a","\u6d6a","\u79d8","\u63f4","\u682a","\u5065","\u552e","\u80a1","\u5c9b","\u7518","\u6ce1","\u7761","\u7ae5","\u94f8","\u6c64","\u9600","\u4f11","\u6c47","\u820d","\u7267","\u7ed5","\u70b8","\u54f2","\u78f7","\u7ee9","\u670b","\u6de1","\u5c16","\u542f","\u9677","\u67f4","\u5448","\u5f92","\u989c","\u6cea","\u7a0d","\u5fd8","\u6cf5","\u84dd","\u62d6","\u6d1e","\u6388","\u955c","\u8f9b","\u58ee","\u950b","\u8d2b","\u865a","\u5f2f","\u6469","\u6cf0","\u5e7c","\u5ef7","\u5c0a","\u7a97","\u7eb2","\u5f04","\u96b6","\u7591","\u6c0f","\u5bab","\u59d0","\u9707","\u745e","\u602a","\u5c24","\u7434","\u5faa","\u63cf","\u819c","\u8fdd","\u5939","\u8170","\u7f18","\u73e0","\u7a77","\u68ee","\u679d","\u7af9","\u6c9f","\u50ac","\u7ef3","\u5fc6","\u90a6","\u5269","\u5e78","\u6d46","\u680f","\u62e5","\u7259","\u8d2e","\u793c","\u6ee4","\u94a0","\u7eb9","\u7f62","\u62cd","\u54b1","\u558a","\u8896","\u57c3","\u52e4","\u7f5a","\u7126","\u6f5c","\u4f0d","\u58a8","\u6b32","\u7f1d","\u59d3","\u520a","\u9971","\u4eff","\u5956","\u94dd","\u9b3c","\u4e3d","\u8de8","\u9ed8","\u6316","\u94fe","\u626b","\u559d","\u888b","\u70ad","\u6c61","\u5e55","\u8bf8","\u5f27","\u52b1","\u6885","\u5976","\u6d01","\u707e","\u821f","\u9274","\u82ef","\u8bbc","\u62b1","\u6bc1","\u61c2","\u5bd2","\u667a","\u57d4","\u5bc4","\u5c4a","\u8dc3","\u6e21","\u6311","\u4e39","\u8270","\u8d1d","\u78b0","\u62d4","\u7239","\u6234","\u7801","\u68a6","\u82bd","\u7194","\u8d64","\u6e14","\u54ed","\u656c","\u9897","\u5954","\u94c5","\u4ef2","\u864e","\u7a00","\u59b9","\u4e4f","\u73cd","\u7533","\u684c","\u9075","\u5141","\u9686","\u87ba","\u4ed3","\u9b4f","\u9510","\u6653","\u6c2e","\u517c","\u9690","\u788d","\u8d6b","\u62e8","\u5fe0","\u8083","\u7f38","\u7275","\u62a2","\u535a","\u5de7","\u58f3","\u5144","\u675c","\u8baf","\u8bda","\u78a7","\u7965","\u67ef","\u9875","\u5de1","\u77e9","\u60b2","\u704c","\u9f84","\u4f26","\u7968","\u5bfb","\u6842","\u94fa","\u5723","\u6050","\u6070","\u90d1","\u8da3","\u62ac","\u8352","\u817e","\u8d34","\u67d4","\u6ef4","\u731b","\u9614","\u8f86","\u59bb","\u586b","\u64a4","\u50a8","\u7b7e","\u95f9","\u6270","\u7d2b","\u7802","\u9012","\u620f","\u540a","\u9676","\u4f10","\u5582","\u7597","\u74f6","\u5a46","\u629a","\u81c2","\u6478","\u5fcd","\u867e","\u8721","\u90bb","\u80f8","\u5de9","\u6324","\u5076","\u5f03","\u69fd","\u52b2","\u4e73","\u9093","\u5409","\u4ec1","\u70c2","\u7816","\u79df","\u4e4c","\u8230","\u4f34","\u74dc","\u6d45","\u4e19","\u6682","\u71e5","\u6a61","\u67f3","\u8ff7","\u6696","\u724c","\u79e7","\u80c6","\u8be6","\u7c27","\u8e0f","\u74f7","\u8c31","\u5446","\u5bbe","\u7cca","\u6d1b","\u8f89","\u6124","\u7ade","\u9699","\u6012","\u7c98","\u4e43","\u7eea","\u80a9","\u7c4d","\u654f","\u6d82","\u7199","\u7686","\u4fa6","\u60ac","\u6398","\u4eab","\u7ea0","\u9192","\u72c2","\u9501","\u6dc0","\u6068","\u7272","\u9738","\u722c","\u8d4f","\u9006","\u73a9","\u9675","\u795d","\u79d2","\u6d59","\u8c8c","\u5f79","\u5f7c","\u6089","\u9e2d","\u8d8b","\u51e4","\u6668","\u755c","\u8f88","\u79e9","\u5375","\u7f72","\u68af","\u708e","\u6ee9","\u68cb","\u9a71","\u7b5b","\u5ce1","\u5192","\u5565","\u5bff","\u8bd1","\u6d78","\u6cc9","\u5e3d","\u8fdf","\u7845","\u7586","\u8d37","\u6f0f","\u7a3f","\u51a0","\u5ae9","\u80c1","\u82af","\u7262","\u53db","\u8680","\u5965","\u9e23","\u5cad","\u7f8a","\u51ed","\u4e32","\u5858","\u7ed8","\u9175","\u878d","\u76c6","\u9521","\u5e99","\u7b79","\u51bb","\u8f85","\u6444","\u88ad","\u7b4b","\u62d2","\u50da","\u65f1","\u94be","\u9e1f","\u6f06","\u6c88","\u7709","\u758f","\u6dfb","\u68d2","\u7a57","\u785d","\u97e9","\u903c","\u626d","\u4fa8","\u51c9","\u633a","\u7897","\u683d","\u7092","\u676f","\u60a3","\u998f","\u529d","\u8c6a","\u8fbd","\u52c3","\u9e3f","\u65e6","\u540f","\u62dc","\u72d7","\u57cb","\u8f8a","\u63a9","\u996e","\u642c","\u9a82","\u8f9e","\u52fe","\u6263","\u4f30","\u848b","\u7ed2","\u96fe","\u4e08","\u6735","\u59c6","\u62df","\u5b87","\u8f91","\u9655","\u96d5","\u507f","\u84c4","\u5d07","\u526a","\u5021","\u5385","\u54ac","\u9a76","\u85af","\u5237","\u65a5","\u756a","\u8d4b","\u5949","\u4f5b","\u6d47","\u6f2b","\u66fc","\u6247","\u9499","\u6843","\u6276","\u4ed4","\u8fd4","\u4fd7","\u4e8f","\u8154","\u978b","\u68f1","\u8986","\u6846","\u6084","\u53d4","\u649e","\u9a97","\u52d8","\u65fa","\u6cb8","\u5b64","\u5410","\u5b5f","\u6e20","\u5c48","\u75be","\u5999","\u60dc","\u4ef0","\u72e0","\u80c0","\u8c10","\u629b","\u9709","\u6851","\u5c97","\u561b","\u8870","\u76d7","\u6e17","\u810f","\u8d56","\u6d8c","\u751c","\u66f9","\u9605","\u808c","\u54e9","\u5389","\u70c3","\u7eac","\u6bc5","\u6628","\u4f2a","\u75c7","\u716e","\u53f9","\u9489","\u642d","\u830e","\u7b3c","\u9177","\u5077","\u5f13","\u9525","\u6052","\u6770","\u5751","\u9f3b","\u7ffc","\u7eb6","\u53d9","\u72f1","\u902e","\u7f50","\u7edc","\u68da","\u6291","\u81a8","\u852c","\u5bfa","\u9aa4","\u7a46","\u51b6","\u67af","\u518c","\u5c38","\u51f8","\u7ec5","\u576f","\u727a","\u7130","\u8f70","\u6b23","\u664b","\u7626","\u5fa1","\u952d","\u9526","\u4e27","\u65ec","\u953b","\u5784","\u641c","\u6251","\u9080","\u4ead","\u916f","\u8fc8","\u8212","\u8106","\u9176","\u95f2","\u5fe7","\u915a","\u987d","\u7fbd","\u6da8","\u5378","\u4ed7","\u966a","\u8f9f","\u60e9","\u676d","\u59da","\u809a","\u6349","\u98d8","\u6f02","\u6606","\u6b3a","\u543e","\u90ce","\u70f7","\u6c41","\u5475","\u9970","\u8427","\u96c5","\u90ae","\u8fc1","\u71d5","\u6492","\u59fb","\u8d74","\u5bb4","\u70e6","\u503a","\u5e10","\u6591","\u94c3","\u65e8","\u9187","\u8463","\u997c","\u96cf","\u59ff","\u62cc","\u5085","\u8179","\u59a5","\u63c9","\u8d24","\u62c6","\u6b6a","\u8461","\u80fa","\u4e22","\u6d69","\u5fbd","\u6602","\u57ab","\u6321","\u89c8","\u8d2a","\u6170","\u7f34","\u6c6a","\u614c","\u51af","\u8bfa","\u59dc","\u8c0a","\u51f6","\u52a3","\u8bec","\u8000","\u660f","\u8eba","\u76c8","\u9a91","\u4e54","\u6eaa","\u4e1b","\u5362","\u62b9","\u95f7","\u54a8","\u522e","\u9a7e","\u7f06","\u609f","\u6458","\u94d2","\u63b7","\u9887","\u5e7b","\u67c4","\u60e0","\u60e8","\u4f73","\u4ec7","\u814a","\u7a9d","\u6da4","\u5251","\u77a7","\u5821","\u6cfc","\u8471","\u7f69","\u970d","\u635e","\u80ce","\u82cd","\u6ee8","\u4fe9","\u6345","\u6e58","\u780d","\u971e","\u90b5","\u8404","\u75af","\u6dee","\u9042","\u718a","\u7caa","\u70d8","\u5bbf","\u6863","\u6208","\u9a73","\u5ac2","\u88d5","\u5f99","\u7bad","\u6350","\u80a0","\u6491","\u6652","\u8fa8","\u6bbf","\u83b2","\u644a","\u6405","\u9171","\u5c4f","\u75ab","\u54c0","\u8521","\u5835","\u6cab","\u76b1","\u7545","\u53e0","\u9601","\u83b1","\u6572","\u8f96","\u94a9","\u75d5","\u575d","\u5df7","\u997f","\u7978","\u4e18","\u7384","\u6e9c","\u66f0","\u903b","\u5f6d","\u5c1d","\u537f","\u59a8","\u8247","\u541e","\u97e6","\u6028","\u77ee","\u6b47"]')},4262:e=>{"use strict";e.exports=JSON.parse('["\u7684","\u4e00","\u662f","\u5728","\u4e0d","\u4e86","\u6709","\u548c","\u4eba","\u9019","\u4e2d","\u5927","\u70ba","\u4e0a","\u500b","\u570b","\u6211","\u4ee5","\u8981","\u4ed6","\u6642","\u4f86","\u7528","\u5011","\u751f","\u5230","\u4f5c","\u5730","\u65bc","\u51fa","\u5c31","\u5206","\u5c0d","\u6210","\u6703","\u53ef","\u4e3b","\u767c","\u5e74","\u52d5","\u540c","\u5de5","\u4e5f","\u80fd","\u4e0b","\u904e","\u5b50","\u8aaa","\u7522","\u7a2e","\u9762","\u800c","\u65b9","\u5f8c","\u591a","\u5b9a","\u884c","\u5b78","\u6cd5","\u6240","\u6c11","\u5f97","\u7d93","\u5341","\u4e09","\u4e4b","\u9032","\u8457","\u7b49","\u90e8","\u5ea6","\u5bb6","\u96fb","\u529b","\u88e1","\u5982","\u6c34","\u5316","\u9ad8","\u81ea","\u4e8c","\u7406","\u8d77","\u5c0f","\u7269","\u73fe","\u5be6","\u52a0","\u91cf","\u90fd","\u5169","\u9ad4","\u5236","\u6a5f","\u7576","\u4f7f","\u9ede","\u5f9e","\u696d","\u672c","\u53bb","\u628a","\u6027","\u597d","\u61c9","\u958b","\u5b83","\u5408","\u9084","\u56e0","\u7531","\u5176","\u4e9b","\u7136","\u524d","\u5916","\u5929","\u653f","\u56db","\u65e5","\u90a3","\u793e","\u7fa9","\u4e8b","\u5e73","\u5f62","\u76f8","\u5168","\u8868","\u9593","\u6a23","\u8207","\u95dc","\u5404","\u91cd","\u65b0","\u7dda","\u5167","\u6578","\u6b63","\u5fc3","\u53cd","\u4f60","\u660e","\u770b","\u539f","\u53c8","\u9ebc","\u5229","\u6bd4","\u6216","\u4f46","\u8cea","\u6c23","\u7b2c","\u5411","\u9053","\u547d","\u6b64","\u8b8a","\u689d","\u53ea","\u6c92","\u7d50","\u89e3","\u554f","\u610f","\u5efa","\u6708","\u516c","\u7121","\u7cfb","\u8ecd","\u5f88","\u60c5","\u8005","\u6700","\u7acb","\u4ee3","\u60f3","\u5df2","\u901a","\u4e26","\u63d0","\u76f4","\u984c","\u9ee8","\u7a0b","\u5c55","\u4e94","\u679c","\u6599","\u8c61","\u54e1","\u9769","\u4f4d","\u5165","\u5e38","\u6587","\u7e3d","\u6b21","\u54c1","\u5f0f","\u6d3b","\u8a2d","\u53ca","\u7ba1","\u7279","\u4ef6","\u9577","\u6c42","\u8001","\u982d","\u57fa","\u8cc7","\u908a","\u6d41","\u8def","\u7d1a","\u5c11","\u5716","\u5c71","\u7d71","\u63a5","\u77e5","\u8f03","\u5c07","\u7d44","\u898b","\u8a08","\u5225","\u5979","\u624b","\u89d2","\u671f","\u6839","\u8ad6","\u904b","\u8fb2","\u6307","\u5e7e","\u4e5d","\u5340","\u5f37","\u653e","\u6c7a","\u897f","\u88ab","\u5e79","\u505a","\u5fc5","\u6230","\u5148","\u56de","\u5247","\u4efb","\u53d6","\u64da","\u8655","\u968a","\u5357","\u7d66","\u8272","\u5149","\u9580","\u5373","\u4fdd","\u6cbb","\u5317","\u9020","\u767e","\u898f","\u71b1","\u9818","\u4e03","\u6d77","\u53e3","\u6771","\u5c0e","\u5668","\u58d3","\u5fd7","\u4e16","\u91d1","\u589e","\u722d","\u6fdf","\u968e","\u6cb9","\u601d","\u8853","\u6975","\u4ea4","\u53d7","\u806f","\u4ec0","\u8a8d","\u516d","\u5171","\u6b0a","\u6536","\u8b49","\u6539","\u6e05","\u7f8e","\u518d","\u63a1","\u8f49","\u66f4","\u55ae","\u98a8","\u5207","\u6253","\u767d","\u6559","\u901f","\u82b1","\u5e36","\u5b89","\u5834","\u8eab","\u8eca","\u4f8b","\u771f","\u52d9","\u5177","\u842c","\u6bcf","\u76ee","\u81f3","\u9054","\u8d70","\u7a4d","\u793a","\u8b70","\u8072","\u5831","\u9b25","\u5b8c","\u985e","\u516b","\u96e2","\u83ef","\u540d","\u78ba","\u624d","\u79d1","\u5f35","\u4fe1","\u99ac","\u7bc0","\u8a71","\u7c73","\u6574","\u7a7a","\u5143","\u6cc1","\u4eca","\u96c6","\u6eab","\u50b3","\u571f","\u8a31","\u6b65","\u7fa4","\u5ee3","\u77f3","\u8a18","\u9700","\u6bb5","\u7814","\u754c","\u62c9","\u6797","\u5f8b","\u53eb","\u4e14","\u7a76","\u89c0","\u8d8a","\u7e54","\u88dd","\u5f71","\u7b97","\u4f4e","\u6301","\u97f3","\u773e","\u66f8","\u5e03","\u590d","\u5bb9","\u5152","\u9808","\u969b","\u5546","\u975e","\u9a57","\u9023","\u65b7","\u6df1","\u96e3","\u8fd1","\u7926","\u5343","\u9031","\u59d4","\u7d20","\u6280","\u5099","\u534a","\u8fa6","\u9752","\u7701","\u5217","\u7fd2","\u97ff","\u7d04","\u652f","\u822c","\u53f2","\u611f","\u52de","\u4fbf","\u5718","\u5f80","\u9178","\u6b77","\u5e02","\u514b","\u4f55","\u9664","\u6d88","\u69cb","\u5e9c","\u7a31","\u592a","\u6e96","\u7cbe","\u503c","\u865f","\u7387","\u65cf","\u7dad","\u5283","\u9078","\u6a19","\u5beb","\u5b58","\u5019","\u6bdb","\u89aa","\u5feb","\u6548","\u65af","\u9662","\u67e5","\u6c5f","\u578b","\u773c","\u738b","\u6309","\u683c","\u990a","\u6613","\u7f6e","\u6d3e","\u5c64","\u7247","\u59cb","\u537b","\u5c08","\u72c0","\u80b2","\u5ee0","\u4eac","\u8b58","\u9069","\u5c6c","\u5713","\u5305","\u706b","\u4f4f","\u8abf","\u6eff","\u7e23","\u5c40","\u7167","\u53c3","\u7d05","\u7d30","\u5f15","\u807d","\u8a72","\u9435","\u50f9","\u56b4","\u9996","\u5e95","\u6db2","\u5b98","\u5fb7","\u96a8","\u75c5","\u8607","\u5931","\u723e","\u6b7b","\u8b1b","\u914d","\u5973","\u9ec3","\u63a8","\u986f","\u8ac7","\u7f6a","\u795e","\u85dd","\u5462","\u5e2d","\u542b","\u4f01","\u671b","\u5bc6","\u6279","\u71df","\u9805","\u9632","\u8209","\u7403","\u82f1","\u6c27","\u52e2","\u544a","\u674e","\u53f0","\u843d","\u6728","\u5e6b","\u8f2a","\u7834","\u4e9e","\u5e2b","\u570d","\u6ce8","\u9060","\u5b57","\u6750","\u6392","\u4f9b","\u6cb3","\u614b","\u5c01","\u53e6","\u65bd","\u6e1b","\u6a39","\u6eb6","\u600e","\u6b62","\u6848","\u8a00","\u58eb","\u5747","\u6b66","\u56fa","\u8449","\u9b5a","\u6ce2","\u8996","\u50c5","\u8cbb","\u7dca","\u611b","\u5de6","\u7ae0","\u65e9","\u671d","\u5bb3","\u7e8c","\u8f15","\u670d","\u8a66","\u98df","\u5145","\u5175","\u6e90","\u5224","\u8b77","\u53f8","\u8db3","\u67d0","\u7df4","\u5dee","\u81f4","\u677f","\u7530","\u964d","\u9ed1","\u72af","\u8ca0","\u64ca","\u8303","\u7e7c","\u8208","\u4f3c","\u9918","\u5805","\u66f2","\u8f38","\u4fee","\u6545","\u57ce","\u592b","\u5920","\u9001","\u7b46","\u8239","\u4f54","\u53f3","\u8ca1","\u5403","\u5bcc","\u6625","\u8077","\u89ba","\u6f22","\u756b","\u529f","\u5df4","\u8ddf","\u96d6","\u96dc","\u98db","\u6aa2","\u5438","\u52a9","\u6607","\u967d","\u4e92","\u521d","\u5275","\u6297","\u8003","\u6295","\u58de","\u7b56","\u53e4","\u5f91","\u63db","\u672a","\u8dd1","\u7559","\u92fc","\u66fe","\u7aef","\u8cac","\u7ad9","\u7c21","\u8ff0","\u9322","\u526f","\u76e1","\u5e1d","\u5c04","\u8349","\u885d","\u627f","\u7368","\u4ee4","\u9650","\u963f","\u5ba3","\u74b0","\u96d9","\u8acb","\u8d85","\u5fae","\u8b93","\u63a7","\u5dde","\u826f","\u8ef8","\u627e","\u5426","\u7d00","\u76ca","\u4f9d","\u512a","\u9802","\u790e","\u8f09","\u5012","\u623f","\u7a81","\u5750","\u7c89","\u6575","\u7565","\u5ba2","\u8881","\u51b7","\u52dd","\u7d55","\u6790","\u584a","\u5291","\u6e2c","\u7d72","\u5354","\u8a34","\u5ff5","\u9673","\u4ecd","\u7f85","\u9e7d","\u53cb","\u6d0b","\u932f","\u82e6","\u591c","\u5211","\u79fb","\u983b","\u9010","\u9760","\u6df7","\u6bcd","\u77ed","\u76ae","\u7d42","\u805a","\u6c7d","\u6751","\u96f2","\u54ea","\u65e2","\u8ddd","\u885b","\u505c","\u70c8","\u592e","\u5bdf","\u71d2","\u8fc5","\u5883","\u82e5","\u5370","\u6d32","\u523b","\u62ec","\u6fc0","\u5b54","\u641e","\u751a","\u5ba4","\u5f85","\u6838","\u6821","\u6563","\u4fb5","\u5427","\u7532","\u904a","\u4e45","\u83dc","\u5473","\u820a","\u6a21","\u6e56","\u8ca8","\u640d","\u9810","\u963b","\u6beb","\u666e","\u7a69","\u4e59","\u5abd","\u690d","\u606f","\u64f4","\u9280","\u8a9e","\u63ee","\u9152","\u5b88","\u62ff","\u5e8f","\u7d19","\u91ab","\u7f3a","\u96e8","\u55ce","\u91dd","\u5289","\u554a","\u6025","\u5531","\u8aa4","\u8a13","\u9858","\u5be9","\u9644","\u7372","\u8336","\u9bae","\u7ce7","\u65a4","\u5b69","\u812b","\u786b","\u80a5","\u5584","\u9f8d","\u6f14","\u7236","\u6f38","\u8840","\u6b61","\u68b0","\u638c","\u6b4c","\u6c99","\u525b","\u653b","\u8b02","\u76fe","\u8a0e","\u665a","\u7c92","\u4e82","\u71c3","\u77db","\u4e4e","\u6bba","\u85e5","\u5be7","\u9b6f","\u8cb4","\u9418","\u7164","\u8b80","\u73ed","\u4f2f","\u9999","\u4ecb","\u8feb","\u53e5","\u8c50","\u57f9","\u63e1","\u862d","\u64d4","\u5f26","\u86cb","\u6c89","\u5047","\u7a7f","\u57f7","\u7b54","\u6a02","\u8ab0","\u9806","\u7159","\u7e2e","\u5fb5","\u81c9","\u559c","\u677e","\u8173","\u56f0","\u7570","\u514d","\u80cc","\u661f","\u798f","\u8cb7","\u67d3","\u4e95","\u6982","\u6162","\u6015","\u78c1","\u500d","\u7956","\u7687","\u4fc3","\u975c","\u88dc","\u8a55","\u7ffb","\u8089","\u8e10","\u5c3c","\u8863","\u5bec","\u63da","\u68c9","\u5e0c","\u50b7","\u64cd","\u5782","\u79cb","\u5b9c","\u6c2b","\u5957","\u7763","\u632f","\u67b6","\u4eae","\u672b","\u61b2","\u6176","\u7de8","\u725b","\u89f8","\u6620","\u96f7","\u92b7","\u8a69","\u5ea7","\u5c45","\u6293","\u88c2","\u80de","\u547c","\u5a18","\u666f","\u5a01","\u7da0","\u6676","\u539a","\u76df","\u8861","\u96de","\u5b6b","\u5ef6","\u5371","\u81a0","\u5c4b","\u9109","\u81e8","\u9678","\u9867","\u6389","\u5440","\u71c8","\u6b72","\u63aa","\u675f","\u8010","\u5287","\u7389","\u8d99","\u8df3","\u54e5","\u5b63","\u8ab2","\u51f1","\u80e1","\u984d","\u6b3e","\u7d39","\u5377","\u9f4a","\u5049","\u84b8","\u6b96","\u6c38","\u5b97","\u82d7","\u5ddd","\u7210","\u5ca9","\u5f31","\u96f6","\u694a","\u594f","\u6cbf","\u9732","\u687f","\u63a2","\u6ed1","\u93ae","\u98ef","\u6fc3","\u822a","\u61f7","\u8d95","\u5eab","\u596a","\u4f0a","\u9748","\u7a05","\u9014","\u6ec5","\u8cfd","\u6b78","\u53ec","\u9f13","\u64ad","\u76e4","\u88c1","\u96aa","\u5eb7","\u552f","\u9304","\u83cc","\u7d14","\u501f","\u7cd6","\u84cb","\u6a6b","\u7b26","\u79c1","\u52aa","\u5802","\u57df","\u69cd","\u6f64","\u5e45","\u54c8","\u7adf","\u719f","\u87f2","\u6fa4","\u8166","\u58e4","\u78b3","\u6b50","\u904d","\u5074","\u5be8","\u6562","\u5fb9","\u616e","\u659c","\u8584","\u5ead","\u7d0d","\u5f48","\u98fc","\u4f38","\u6298","\u9ea5","\u6fd5","\u6697","\u8377","\u74e6","\u585e","\u5e8a","\u7bc9","\u60e1","\u6236","\u8a2a","\u5854","\u5947","\u900f","\u6881","\u5200","\u65cb","\u8de1","\u5361","\u6c2f","\u9047","\u4efd","\u6bd2","\u6ce5","\u9000","\u6d17","\u64fa","\u7070","\u5f69","\u8ce3","\u8017","\u590f","\u64c7","\u5fd9","\u9285","\u737b","\u786c","\u4e88","\u7e41","\u5708","\u96ea","\u51fd","\u4ea6","\u62bd","\u7bc7","\u9663","\u9670","\u4e01","\u5c3a","\u8ffd","\u5806","\u96c4","\u8fce","\u6cdb","\u7238","\u6a13","\u907f","\u8b00","\u5678","\u91ce","\u8c6c","\u65d7","\u7d2f","\u504f","\u5178","\u9928","\u7d22","\u79e6","\u8102","\u6f6e","\u723a","\u8c46","\u5ffd","\u6258","\u9a5a","\u5851","\u907a","\u6108","\u6731","\u66ff","\u7e96","\u7c97","\u50be","\u5c1a","\u75db","\u695a","\u8b1d","\u596e","\u8cfc","\u78e8","\u541b","\u6c60","\u65c1","\u788e","\u9aa8","\u76e3","\u6355","\u5f1f","\u66b4","\u5272","\u8cab","\u6b8a","\u91cb","\u8a5e","\u4ea1","\u58c1","\u9813","\u5bf6","\u5348","\u5875","\u805e","\u63ed","\u70ae","\u6b98","\u51ac","\u6a4b","\u5a66","\u8b66","\u7d9c","\u62db","\u5433","\u4ed8","\u6d6e","\u906d","\u5f90","\u60a8","\u6416","\u8c37","\u8d0a","\u7bb1","\u9694","\u8a02","\u7537","\u5439","\u5712","\u7d1b","\u5510","\u6557","\u5b8b","\u73bb","\u5de8","\u8015","\u5766","\u69ae","\u9589","\u7063","\u9375","\u51e1","\u99d0","\u934b","\u6551","\u6069","\u525d","\u51dd","\u9e7c","\u9f52","\u622a","\u7149","\u9ebb","\u7d21","\u7981","\u5ee2","\u76db","\u7248","\u7de9","\u6de8","\u775b","\u660c","\u5a5a","\u6d89","\u7b52","\u5634","\u63d2","\u5cb8","\u6717","\u838a","\u8857","\u85cf","\u59d1","\u8cbf","\u8150","\u5974","\u5566","\u6163","\u4e58","\u5925","\u6062","\u52fb","\u7d17","\u624e","\u8faf","\u8033","\u5f6a","\u81e3","\u5104","\u7483","\u62b5","\u8108","\u79c0","\u85a9","\u4fc4","\u7db2","\u821e","\u5e97","\u5674","\u7e31","\u5bf8","\u6c57","\u639b","\u6d2a","\u8cc0","\u9583","\u67ec","\u7206","\u70ef","\u6d25","\u7a3b","\u7246","\u8edf","\u52c7","\u50cf","\u6efe","\u5398","\u8499","\u82b3","\u80af","\u5761","\u67f1","\u76ea","\u817f","\u5100","\u65c5","\u5c3e","\u8ecb","\u51b0","\u8ca2","\u767b","\u9ece","\u524a","\u947d","\u52d2","\u9003","\u969c","\u6c28","\u90ed","\u5cf0","\u5e63","\u6e2f","\u4f0f","\u8ecc","\u755d","\u7562","\u64e6","\u83ab","\u523a","\u6d6a","\u79d8","\u63f4","\u682a","\u5065","\u552e","\u80a1","\u5cf6","\u7518","\u6ce1","\u7761","\u7ae5","\u9444","\u6e6f","\u95a5","\u4f11","\u532f","\u820d","\u7267","\u7e5e","\u70b8","\u54f2","\u78f7","\u7e3e","\u670b","\u6de1","\u5c16","\u555f","\u9677","\u67f4","\u5448","\u5f92","\u984f","\u6dda","\u7a0d","\u5fd8","\u6cf5","\u85cd","\u62d6","\u6d1e","\u6388","\u93e1","\u8f9b","\u58ef","\u92d2","\u8ca7","\u865b","\u5f4e","\u6469","\u6cf0","\u5e7c","\u5ef7","\u5c0a","\u7a97","\u7db1","\u5f04","\u96b8","\u7591","\u6c0f","\u5bae","\u59d0","\u9707","\u745e","\u602a","\u5c24","\u7434","\u5faa","\u63cf","\u819c","\u9055","\u593e","\u8170","\u7de3","\u73e0","\u7aae","\u68ee","\u679d","\u7af9","\u6e9d","\u50ac","\u7e69","\u61b6","\u90a6","\u5269","\u5e78","\u6f3f","\u6b04","\u64c1","\u7259","\u8caf","\u79ae","\u6ffe","\u9209","\u7d0b","\u7f77","\u62cd","\u54b1","\u558a","\u8896","\u57c3","\u52e4","\u7f70","\u7126","\u6f5b","\u4f0d","\u58a8","\u6b32","\u7e2b","\u59d3","\u520a","\u98fd","\u4eff","\u734e","\u92c1","\u9b3c","\u9e97","\u8de8","\u9ed8","\u6316","\u93c8","\u6383","\u559d","\u888b","\u70ad","\u6c61","\u5e55","\u8af8","\u5f27","\u52f5","\u6885","\u5976","\u6f54","\u707d","\u821f","\u9451","\u82ef","\u8a1f","\u62b1","\u6bc0","\u61c2","\u5bd2","\u667a","\u57d4","\u5bc4","\u5c46","\u8e8d","\u6e21","\u6311","\u4e39","\u8271","\u8c9d","\u78b0","\u62d4","\u7239","\u6234","\u78bc","\u5922","\u82bd","\u7194","\u8d64","\u6f01","\u54ed","\u656c","\u9846","\u5954","\u925b","\u4ef2","\u864e","\u7a00","\u59b9","\u4e4f","\u73cd","\u7533","\u684c","\u9075","\u5141","\u9686","\u87ba","\u5009","\u9b4f","\u92b3","\u66c9","\u6c2e","\u517c","\u96b1","\u7919","\u8d6b","\u64a5","\u5fe0","\u8085","\u7f38","\u727d","\u6436","\u535a","\u5de7","\u6bbc","\u5144","\u675c","\u8a0a","\u8aa0","\u78a7","\u7965","\u67ef","\u9801","\u5de1","\u77e9","\u60b2","\u704c","\u9f61","\u502b","\u7968","\u5c0b","\u6842","\u92ea","\u8056","\u6050","\u6070","\u912d","\u8da3","\u62ac","\u8352","\u9a30","\u8cbc","\u67d4","\u6ef4","\u731b","\u95ca","\u8f1b","\u59bb","\u586b","\u64a4","\u5132","\u7c3d","\u9b27","\u64fe","\u7d2b","\u7802","\u905e","\u6232","\u540a","\u9676","\u4f10","\u9935","\u7642","\u74f6","\u5a46","\u64ab","\u81c2","\u6478","\u5fcd","\u8766","\u881f","\u9130","\u80f8","\u978f","\u64e0","\u5076","\u68c4","\u69fd","\u52c1","\u4e73","\u9127","\u5409","\u4ec1","\u721b","\u78da","\u79df","\u70cf","\u8266","\u4f34","\u74dc","\u6dfa","\u4e19","\u66ab","\u71e5","\u6a61","\u67f3","\u8ff7","\u6696","\u724c","\u79e7","\u81bd","\u8a73","\u7c27","\u8e0f","\u74f7","\u8b5c","\u5446","\u8cd3","\u7cca","\u6d1b","\u8f1d","\u61a4","\u7af6","\u9699","\u6012","\u7c98","\u4e43","\u7dd2","\u80a9","\u7c4d","\u654f","\u5857","\u7199","\u7686","\u5075","\u61f8","\u6398","\u4eab","\u7cfe","\u9192","\u72c2","\u9396","\u6dc0","\u6068","\u7272","\u9738","\u722c","\u8cde","\u9006","\u73a9","\u9675","\u795d","\u79d2","\u6d59","\u8c8c","\u5f79","\u5f7c","\u6089","\u9d28","\u8da8","\u9cf3","\u6668","\u755c","\u8f29","\u79e9","\u5375","\u7f72","\u68af","\u708e","\u7058","\u68cb","\u9a45","\u7be9","\u5cfd","\u5192","\u5565","\u58fd","\u8b6f","\u6d78","\u6cc9","\u5e3d","\u9072","\u77fd","\u7586","\u8cb8","\u6f0f","\u7a3f","\u51a0","\u5ae9","\u8105","\u82af","\u7262","\u53db","\u8755","\u5967","\u9cf4","\u5dba","\u7f8a","\u6191","\u4e32","\u5858","\u7e6a","\u9175","\u878d","\u76c6","\u932b","\u5edf","\u7c4c","\u51cd","\u8f14","\u651d","\u8972","\u7b4b","\u62d2","\u50da","\u65f1","\u9240","\u9ce5","\u6f06","\u6c88","\u7709","\u758f","\u6dfb","\u68d2","\u7a57","\u785d","\u97d3","\u903c","\u626d","\u50d1","\u6dbc","\u633a","\u7897","\u683d","\u7092","\u676f","\u60a3","\u993e","\u52f8","\u8c6a","\u907c","\u52c3","\u9d3b","\u65e6","\u540f","\u62dc","\u72d7","\u57cb","\u8f25","\u63a9","\u98f2","\u642c","\u7f75","\u8fad","\u52fe","\u6263","\u4f30","\u8523","\u7d68","\u9727","\u4e08","\u6735","\u59c6","\u64ec","\u5b87","\u8f2f","\u965d","\u96d5","\u511f","\u84c4","\u5d07","\u526a","\u5021","\u5ef3","\u54ac","\u99db","\u85af","\u5237","\u65a5","\u756a","\u8ce6","\u5949","\u4f5b","\u6f86","\u6f2b","\u66fc","\u6247","\u9223","\u6843","\u6276","\u4ed4","\u8fd4","\u4fd7","\u8667","\u8154","\u978b","\u68f1","\u8986","\u6846","\u6084","\u53d4","\u649e","\u9a19","\u52d8","\u65fa","\u6cb8","\u5b64","\u5410","\u5b5f","\u6e20","\u5c48","\u75be","\u5999","\u60dc","\u4ef0","\u72e0","\u8139","\u8ae7","\u62cb","\u9ef4","\u6851","\u5d17","\u561b","\u8870","\u76dc","\u6ef2","\u81df","\u8cf4","\u6e67","\u751c","\u66f9","\u95b1","\u808c","\u54e9","\u53b2","\u70f4","\u7def","\u6bc5","\u6628","\u507d","\u75c7","\u716e","\u5606","\u91d8","\u642d","\u8396","\u7c60","\u9177","\u5077","\u5f13","\u9310","\u6046","\u5091","\u5751","\u9f3b","\u7ffc","\u7db8","\u6558","\u7344","\u902e","\u7f50","\u7d61","\u68da","\u6291","\u81a8","\u852c","\u5bfa","\u9a5f","\u7a46","\u51b6","\u67af","\u518a","\u5c4d","\u51f8","\u7d33","\u576f","\u72a7","\u7130","\u8f5f","\u6b23","\u6649","\u7626","\u79a6","\u9320","\u9326","\u55aa","\u65ec","\u935b","\u58df","\u641c","\u64b2","\u9080","\u4ead","\u916f","\u9081","\u8212","\u8106","\u9176","\u9592","\u6182","\u915a","\u9811","\u7fbd","\u6f32","\u5378","\u4ed7","\u966a","\u95e2","\u61f2","\u676d","\u59da","\u809a","\u6349","\u98c4","\u6f02","\u6606","\u6b3a","\u543e","\u90ce","\u70f7","\u6c41","\u5475","\u98fe","\u856d","\u96c5","\u90f5","\u9077","\u71d5","\u6492","\u59fb","\u8d74","\u5bb4","\u7169","\u50b5","\u5e33","\u6591","\u9234","\u65e8","\u9187","\u8463","\u9905","\u96db","\u59ff","\u62cc","\u5085","\u8179","\u59a5","\u63c9","\u8ce2","\u62c6","\u6b6a","\u8461","\u80fa","\u4e1f","\u6d69","\u5fbd","\u6602","\u588a","\u64cb","\u89bd","\u8caa","\u6170","\u7e73","\u6c6a","\u614c","\u99ae","\u8afe","\u59dc","\u8abc","\u5147","\u52a3","\u8aa3","\u8000","\u660f","\u8eba","\u76c8","\u9a0e","\u55ac","\u6eaa","\u53e2","\u76e7","\u62b9","\u60b6","\u8aee","\u522e","\u99d5","\u7e9c","\u609f","\u6458","\u927a","\u64f2","\u9817","\u5e7b","\u67c4","\u60e0","\u6158","\u4f73","\u4ec7","\u81d8","\u7aa9","\u6ecc","\u528d","\u77a7","\u5821","\u6f51","\u8525","\u7f69","\u970d","\u6488","\u80ce","\u84bc","\u6ff1","\u5006","\u6345","\u6e58","\u780d","\u971e","\u90b5","\u8404","\u760b","\u6dee","\u9042","\u718a","\u7cde","\u70d8","\u5bbf","\u6a94","\u6208","\u99c1","\u5ac2","\u88d5","\u5f99","\u7bad","\u6350","\u8178","\u6490","\u66ec","\u8fa8","\u6bbf","\u84ee","\u6524","\u652a","\u91ac","\u5c4f","\u75ab","\u54c0","\u8521","\u5835","\u6cab","\u76ba","\u66a2","\u758a","\u95a3","\u840a","\u6572","\u8f44","\u9264","\u75d5","\u58e9","\u5df7","\u9913","\u798d","\u4e18","\u7384","\u6e9c","\u66f0","\u908f","\u5f6d","\u5617","\u537f","\u59a8","\u8247","\u541e","\u97cb","\u6028","\u77ee","\u6b47"]')},32:e=>{"use strict";e.exports=JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]')},4573:e=>{"use strict";e.exports=JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]')},1848:e=>{"use strict";e.exports=JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","acade\u0301mie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acque\u0301rir","acronyme","acteur","actif","actuel","adepte","ade\u0301quat","adhe\u0301sif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","ae\u0301rer","ae\u0301ronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agre\u0301able","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","alge\u0300bre","algue","alie\u0301ner","aliment","alle\u0301ger","alliage","allouer","allumer","alourdir","alpaga","altesse","alve\u0301ole","amateur","ambigu","ambre","ame\u0301nager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","ane\u0301antir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","ape\u0301ritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","arte\u0301riel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannie\u0300re","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","be\u0301lier","belote","be\u0301ne\u0301fice","berceau","berger","berline","bermuda","besace","besogne","be\u0301tail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","bre\u0300che","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","cafe\u0301ine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","came\u0301ra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","ce\u0301dille","ceinture","ce\u0301leste","cellule","cendrier","censurer","central","cercle","ce\u0301re\u0301bral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","che\u0301quier","chercher","cheval","chien","chiffre","chignon","chime\u0300re","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cine\u0301ma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohe\u0301sion","coiffer","coincer","cole\u0300re","colibri","colline","colmater","colonel","combat","come\u0301die","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","corte\u0300ge","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","cre\u0301ature","cre\u0301diter","cre\u0301meux","creuser","crevette","cribler","crier","cristal","crite\u0300re","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuille\u0300re","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","de\u0301battre","de\u0301biter","de\u0301border","de\u0301brider","de\u0301butant","de\u0301caler","de\u0301cembre","de\u0301chirer","de\u0301cider","de\u0301clarer","de\u0301corer","de\u0301crire","de\u0301cupler","de\u0301dale","de\u0301ductif","de\u0301esse","de\u0301fensif","de\u0301filer","de\u0301frayer","de\u0301gager","de\u0301givrer","de\u0301glutir","de\u0301grafer","de\u0301jeuner","de\u0301lice","de\u0301loger","demander","demeurer","de\u0301molir","de\u0301nicher","de\u0301nouer","dentelle","de\u0301nuder","de\u0301part","de\u0301penser","de\u0301phaser","de\u0301placer","de\u0301poser","de\u0301ranger","de\u0301rober","de\u0301sastre","descente","de\u0301sert","de\u0301signer","de\u0301sobe\u0301ir","dessiner","destrier","de\u0301tacher","de\u0301tester","de\u0301tourer","de\u0301tresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","diffe\u0301rer","dige\u0301rer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","e\u0301blouir","e\u0301carter","e\u0301charpe","e\u0301chelle","e\u0301clairer","e\u0301clipse","e\u0301clore","e\u0301cluse","e\u0301cole","e\u0301conomie","e\u0301corce","e\u0301couter","e\u0301craser","e\u0301cre\u0301mer","e\u0301crivain","e\u0301crou","e\u0301cume","e\u0301cureuil","e\u0301difier","e\u0301duquer","effacer","effectif","effigie","effort","effrayer","effusion","e\u0301galiser","e\u0301garer","e\u0301jecter","e\u0301laborer","e\u0301largir","e\u0301lectron","e\u0301le\u0301gant","e\u0301le\u0301phant","e\u0301le\u0300ve","e\u0301ligible","e\u0301litisme","e\u0301loge","e\u0301lucider","e\u0301luder","emballer","embellir","embryon","e\u0301meraude","e\u0301mission","emmener","e\u0301motion","e\u0301mouvoir","empereur","employer","emporter","emprise","e\u0301mulsion","encadrer","enche\u0300re","enclave","encoche","endiguer","endosser","endroit","enduire","e\u0301nergie","enfance","enfermer","enfouir","engager","engin","englober","e\u0301nigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","e\u0301nume\u0301rer","envahir","enviable","envoyer","enzyme","e\u0301olien","e\u0301paissir","e\u0301pargne","e\u0301patant","e\u0301paule","e\u0301picerie","e\u0301pide\u0301mie","e\u0301pier","e\u0301pilogue","e\u0301pine","e\u0301pisode","e\u0301pitaphe","e\u0301poque","e\u0301preuve","e\u0301prouver","e\u0301puisant","e\u0301querre","e\u0301quipe","e\u0301riger","e\u0301rosion","erreur","e\u0301ruption","escalier","espadon","espe\u0300ce","espie\u0300gle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","e\u0301tage\u0300re","e\u0301taler","e\u0301tanche","e\u0301tatique","e\u0301teindre","e\u0301tendoir","e\u0301ternel","e\u0301thanol","e\u0301thique","ethnie","e\u0301tirer","e\u0301toffer","e\u0301toile","e\u0301tonnant","e\u0301tourdir","e\u0301trange","e\u0301troit","e\u0301tude","euphorie","e\u0301valuer","e\u0301vasion","e\u0301ventail","e\u0301vidence","e\u0301viter","e\u0301volutif","e\u0301voquer","exact","exage\u0301rer","exaucer","exceller","excitant","exclusif","excuse","exe\u0301cuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expe\u0301dier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fe\u0301brile","fe\u0301conder","fe\u0301de\u0301rer","fe\u0301lin","femme","fe\u0301mur","fendoir","fe\u0301odal","fermer","fe\u0301roce","ferveur","festival","feuille","feutre","fe\u0301vrier","fiasco","ficeler","fictif","fide\u0300le","figure","filature","filetage","filie\u0300re","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fle\u0301au","fle\u0300che","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fouge\u0300re","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","fre\u0301gate","freiner","frelon","fre\u0301mir","fre\u0301ne\u0301sie","fre\u0300re","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","ge\u0301ant","ge\u0301latine","ge\u0301lule","gendarme","ge\u0301ne\u0301ral","ge\u0301nie","genou","gentil","ge\u0301ologie","ge\u0301ome\u0300tre","ge\u0301ranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruye\u0300re","gue\u0301pard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","he\u0301lium","he\u0301matome","herbe","he\u0301risson","hermine","he\u0301ron","he\u0301siter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homoge\u0300ne","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygie\u0300ne","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impe\u0301rial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","ine\u0301dit","ineptie","inexact","infini","infliger","informer","infusion","inge\u0301rer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irre\u0301el","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juve\u0301nile","kayak","kimono","kiosque","label","labial","labourer","lace\u0301rer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","le\u0301gal","le\u0301ger","le\u0301gume","lessive","lettre","levier","lexique","le\u0301zard","liasse","libe\u0301rer","libre","licence","licorne","lie\u0300ge","lie\u0300vre","ligature","ligoter","ligue","limer","limite","limonade","limpide","line\u0301aire","lingot","lionceau","liquide","lisie\u0300re","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumie\u0300re","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","male\u0301fice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","mate\u0301riel","matie\u0300re","matraque","maudire","maussade","mauve","maximal","me\u0301chant","me\u0301connu","me\u0301daille","me\u0301decin","me\u0301diter","me\u0301duse","meilleur","me\u0301lange","me\u0301lodie","membre","me\u0301moire","menacer","mener","menhir","mensonge","mentor","mercredi","me\u0301rite","merle","messager","mesure","me\u0301tal","me\u0301te\u0301ore","me\u0301thode","me\u0301tier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","mine\u0301ral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","mure\u0300ne","murmure","muscle","muse\u0301um","musicien","mutation","muter","mutuel","myriade","myrtille","myste\u0300re","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","ne\u0301buleux","nectar","ne\u0301faste","ne\u0301gation","ne\u0301gliger","ne\u0301gocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","nume\u0301ro","nuptial","nuque","nutritif","obe\u0301ir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","oce\u0301an","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","one\u0301reux","onirique","opale","opaque","ope\u0301rer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxyge\u0300ne","ozone","paisible","palace","palmare\u0300s","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","paste\u0300que","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pe\u0301lican","pelle","pelouse","peluche","pendule","pe\u0301ne\u0301trer","pe\u0301nible","pensif","pe\u0301nurie","pe\u0301pite","pe\u0301plum","perdrix","perforer","pe\u0301riode","permuter","perplexe","persil","perte","peser","pe\u0301tale","petit","pe\u0301trir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pie\u0300ce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poe\u0301sie","poe\u0300te","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","ponde\u0301rer","poney","portique","position","posse\u0301der","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","pre\u0301cieux","pre\u0301dire","pre\u0301fixe","pre\u0301lude","pre\u0301nom","pre\u0301sence","pre\u0301texte","pre\u0301voir","primitif","prince","prison","priver","proble\u0300me","proce\u0301der","prodige","profond","progre\u0300s","proie","projeter","prologue","promener","propre","prospe\u0300re","prote\u0301ger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quie\u0301tude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","re\u0301actif","re\u0301agir","re\u0301aliser","re\u0301animer","recevoir","re\u0301citer","re\u0301clamer","re\u0301colter","recruter","reculer","recycler","re\u0301diger","redouter","refaire","re\u0301flexe","re\u0301former","refrain","refuge","re\u0301galien","re\u0301gion","re\u0301glage","re\u0301gulier","re\u0301ite\u0301rer","rejeter","rejouer","relatif","relever","relief","remarque","reme\u0300de","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","re\u0301serve","re\u0301sineux","re\u0301soudre","respect","rester","re\u0301sultat","re\u0301tablir","retenir","re\u0301ticule","retomber","retracer","re\u0301union","re\u0301ussir","revanche","revivre","re\u0301volte","re\u0301vulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivie\u0300re","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","sce\u0301le\u0301rat","sce\u0301nario","sceptre","sche\u0301ma","science","scinder","score","scrutin","sculpter","se\u0301ance","se\u0301cable","se\u0301cher","secouer","se\u0301cre\u0301ter","se\u0301datif","se\u0301duire","seigneur","se\u0301jour","se\u0301lectif","semaine","sembler","semence","se\u0301minal","se\u0301nateur","sensible","sentence","se\u0301parer","se\u0301quence","serein","sergent","se\u0301rieux","serrure","se\u0301rum","service","se\u0301same","se\u0301vir","sevrage","sextuple","side\u0301ral","sie\u0300cle","sie\u0301ger","siffler","sigle","signal","silence","silicium","simple","since\u0300re","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spe\u0301cial","sphe\u0300re","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succe\u0300s","sucre","suffixe","sugge\u0301rer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","syme\u0301trie","synapse","syntaxe","syste\u0300me","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","te\u0301moin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","te\u0301tine","texte","the\u0300me","the\u0301orie","the\u0301rapie","thorax","tibia","tie\u0300de","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tole\u0301rant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","tre\u0300fle","tremper","tre\u0301sor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","ve\u0301ge\u0301tal","ve\u0301hicule","veinard","ve\u0301loce","vendredi","ve\u0301ne\u0301rer","venger","venimeux","ventouse","verdure","ve\u0301rin","vernir","verrou","verser","vertu","veston","ve\u0301te\u0301ran","ve\u0301tuste","vexant","vexer","viaduc","viande","victoire","vidange","vide\u0301o","vignette","vigueur","vilain","village","vinaigre","violon","vipe\u0300re","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xe\u0301non","yacht","ze\u0300bre","ze\u0301nith","zeste","zoologie"]')},2841:e=>{"use strict";e.exports=JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]')},4472:e=>{"use strict";e.exports=JSON.parse('["\u3042\u3044\u3053\u304f\u3057\u3093","\u3042\u3044\u3055\u3064","\u3042\u3044\u305f\u3099","\u3042\u304a\u305d\u3099\u3089","\u3042\u304b\u3061\u3083\u3093","\u3042\u304d\u308b","\u3042\u3051\u304b\u3099\u305f","\u3042\u3051\u308b","\u3042\u3053\u304b\u3099\u308c\u308b","\u3042\u3055\u3044","\u3042\u3055\u3072","\u3042\u3057\u3042\u3068","\u3042\u3057\u3099\u308f\u3046","\u3042\u3059\u3099\u304b\u308b","\u3042\u3059\u3099\u304d","\u3042\u305d\u3075\u3099","\u3042\u305f\u3048\u308b","\u3042\u305f\u305f\u3081\u308b","\u3042\u305f\u308a\u307e\u3048","\u3042\u305f\u308b","\u3042\u3064\u3044","\u3042\u3064\u304b\u3046","\u3042\u3063\u3057\u3085\u304f","\u3042\u3064\u307e\u308a","\u3042\u3064\u3081\u308b","\u3042\u3066\u306a","\u3042\u3066\u306f\u307e\u308b","\u3042\u3072\u308b","\u3042\u3075\u3099\u3089","\u3042\u3075\u3099\u308b","\u3042\u3075\u308c\u308b","\u3042\u307e\u3044","\u3042\u307e\u3068\u3099","\u3042\u307e\u3084\u304b\u3059","\u3042\u307e\u308a","\u3042\u307f\u3082\u306e","\u3042\u3081\u308a\u304b","\u3042\u3084\u307e\u308b","\u3042\u3086\u3080","\u3042\u3089\u3044\u304f\u3099\u307e","\u3042\u3089\u3057","\u3042\u3089\u3059\u3057\u3099","\u3042\u3089\u305f\u3081\u308b","\u3042\u3089\u3086\u308b","\u3042\u3089\u308f\u3059","\u3042\u308a\u304b\u3099\u3068\u3046","\u3042\u308f\u305b\u308b","\u3042\u308f\u3066\u308b","\u3042\u3093\u3044","\u3042\u3093\u304b\u3099\u3044","\u3042\u3093\u3053","\u3042\u3093\u305b\u3099\u3093","\u3042\u3093\u3066\u3044","\u3042\u3093\u306a\u3044","\u3042\u3093\u307e\u308a","\u3044\u3044\u305f\u3099\u3059","\u3044\u304a\u3093","\u3044\u304b\u3099\u3044","\u3044\u304b\u3099\u304f","\u3044\u304d\u304a\u3044","\u3044\u304d\u306a\u308a","\u3044\u304d\u3082\u306e","\u3044\u304d\u308b","\u3044\u304f\u3057\u3099","\u3044\u304f\u3075\u3099\u3093","\u3044\u3051\u306f\u3099\u306a","\u3044\u3051\u3093","\u3044\u3053\u3046","\u3044\u3053\u304f","\u3044\u3053\u3064","\u3044\u3055\u307e\u3057\u3044","\u3044\u3055\u3093","\u3044\u3057\u304d","\u3044\u3057\u3099\u3085\u3046","\u3044\u3057\u3099\u3087\u3046","\u3044\u3057\u3099\u308f\u308b","\u3044\u3059\u3099\u307f","\u3044\u3059\u3099\u308c","\u3044\u305b\u3044","\u3044\u305b\u3048\u3072\u3099","\u3044\u305b\u304b\u3044","\u3044\u305b\u304d","\u3044\u305b\u3099\u3093","\u3044\u305d\u3046\u308d\u3046","\u3044\u305d\u304b\u3099\u3057\u3044","\u3044\u305f\u3099\u3044","\u3044\u305f\u3099\u304f","\u3044\u305f\u3059\u3099\u3089","\u3044\u305f\u307f","\u3044\u305f\u308a\u3042","\u3044\u3061\u304a\u3046","\u3044\u3061\u3057\u3099","\u3044\u3061\u3068\u3099","\u3044\u3061\u306f\u3099","\u3044\u3061\u3075\u3099","\u3044\u3061\u308a\u3085\u3046","\u3044\u3064\u304b","\u3044\u3063\u3057\u3085\u3093","\u3044\u3063\u305b\u3044","\u3044\u3063\u305d\u3046","\u3044\u3063\u305f\u3093","\u3044\u3063\u3061","\u3044\u3063\u3066\u3044","\u3044\u3063\u307b\u309a\u3046","\u3044\u3066\u3055\u3099","\u3044\u3066\u3093","\u3044\u3068\u3099\u3046","\u3044\u3068\u3053","\u3044\u306a\u3044","\u3044\u306a\u304b","\u3044\u306d\u3080\u308a","\u3044\u306e\u3061","\u3044\u306e\u308b","\u3044\u306f\u3064","\u3044\u306f\u3099\u308b","\u3044\u306f\u3093","\u3044\u3072\u3099\u304d","\u3044\u3072\u3093","\u3044\u3075\u304f","\u3044\u3078\u3093","\u3044\u307b\u3046","\u3044\u307f\u3093","\u3044\u3082\u3046\u3068","\u3044\u3082\u305f\u308c","\u3044\u3082\u308a","\u3044\u3084\u304b\u3099\u308b","\u3044\u3084\u3059","\u3044\u3088\u304b\u3093","\u3044\u3088\u304f","\u3044\u3089\u3044","\u3044\u3089\u3059\u3068","\u3044\u308a\u304f\u3099\u3061","\u3044\u308a\u3087\u3046","\u3044\u308c\u3044","\u3044\u308c\u3082\u306e","\u3044\u308c\u308b","\u3044\u308d\u3048\u3093\u3072\u309a\u3064","\u3044\u308f\u3044","\u3044\u308f\u3046","\u3044\u308f\u304b\u3093","\u3044\u308f\u306f\u3099","\u3044\u308f\u3086\u308b","\u3044\u3093\u3051\u3099\u3093\u307e\u3081","\u3044\u3093\u3055\u3064","\u3044\u3093\u3057\u3087\u3046","\u3044\u3093\u3088\u3046","\u3046\u3048\u304d","\u3046\u3048\u308b","\u3046\u304a\u3055\u3099","\u3046\u304b\u3099\u3044","\u3046\u304b\u3075\u3099","\u3046\u304b\u3078\u3099\u308b","\u3046\u304d\u308f","\u3046\u304f\u3089\u3044\u306a","\u3046\u304f\u308c\u308c","\u3046\u3051\u305f\u307e\u308f\u308b","\u3046\u3051\u3064\u3051","\u3046\u3051\u3068\u308b","\u3046\u3051\u3082\u3064","\u3046\u3051\u308b","\u3046\u3053\u3099\u304b\u3059","\u3046\u3053\u3099\u304f","\u3046\u3053\u3093","\u3046\u3055\u304d\u3099","\u3046\u3057\u306a\u3046","\u3046\u3057\u308d\u304b\u3099\u307f","\u3046\u3059\u3044","\u3046\u3059\u304d\u3099","\u3046\u3059\u304f\u3099\u3089\u3044","\u3046\u3059\u3081\u308b","\u3046\u305b\u3064","\u3046\u3061\u3042\u308f\u305b","\u3046\u3061\u304b\u3099\u308f","\u3046\u3061\u304d","\u3046\u3061\u3085\u3046","\u3046\u3063\u304b\u308a","\u3046\u3064\u304f\u3057\u3044","\u3046\u3063\u305f\u3048\u308b","\u3046\u3064\u308b","\u3046\u3068\u3099\u3093","\u3046\u306a\u304d\u3099","\u3046\u306a\u3057\u3099","\u3046\u306a\u3059\u3099\u304f","\u3046\u306a\u308b","\u3046\u306d\u308b","\u3046\u306e\u3046","\u3046\u3075\u3099\u3051\u3099","\u3046\u3075\u3099\u3053\u3099\u3048","\u3046\u307e\u308c\u308b","\u3046\u3081\u308b","\u3046\u3082\u3046","\u3046\u3084\u307e\u3046","\u3046\u3088\u304f","\u3046\u3089\u304b\u3099\u3048\u3059","\u3046\u3089\u304f\u3099\u3061","\u3046\u3089\u306a\u3044","\u3046\u308a\u3042\u3051\u3099","\u3046\u308a\u304d\u308c","\u3046\u308b\u3055\u3044","\u3046\u308c\u3057\u3044","\u3046\u308c\u3086\u304d","\u3046\u308c\u308b","\u3046\u308d\u3053","\u3046\u308f\u304d","\u3046\u308f\u3055","\u3046\u3093\u3053\u3046","\u3046\u3093\u3061\u3093","\u3046\u3093\u3066\u3093","\u3046\u3093\u3068\u3099\u3046","\u3048\u3044\u3048\u3093","\u3048\u3044\u304b\u3099","\u3048\u3044\u304d\u3087\u3046","\u3048\u3044\u3053\u3099","\u3048\u3044\u305b\u3044","\u3048\u3044\u3075\u3099\u3093","\u3048\u3044\u3088\u3046","\u3048\u3044\u308f","\u3048\u304a\u308a","\u3048\u304b\u3099\u304a","\u3048\u304b\u3099\u304f","\u3048\u304d\u305f\u3044","\u3048\u304f\u305b\u308b","\u3048\u3057\u3083\u304f","\u3048\u3059\u3066","\u3048\u3064\u3089\u3093","\u3048\u306e\u304f\u3099","\u3048\u307b\u3046\u307e\u304d","\u3048\u307b\u3093","\u3048\u307e\u304d","\u3048\u3082\u3057\u3099","\u3048\u3082\u306e","\u3048\u3089\u3044","\u3048\u3089\u3075\u3099","\u3048\u308a\u3042","\u3048\u3093\u3048\u3093","\u3048\u3093\u304b\u3044","\u3048\u3093\u304d\u3099","\u3048\u3093\u3051\u3099\u304d","\u3048\u3093\u3057\u3085\u3046","\u3048\u3093\u305b\u3099\u3064","\u3048\u3093\u305d\u304f","\u3048\u3093\u3061\u3087\u3046","\u3048\u3093\u3068\u3064","\u304a\u3044\u304b\u3051\u308b","\u304a\u3044\u3053\u3059","\u304a\u3044\u3057\u3044","\u304a\u3044\u3064\u304f","\u304a\u3046\u3048\u3093","\u304a\u3046\u3055\u307e","\u304a\u3046\u3057\u3099","\u304a\u3046\u305b\u3064","\u304a\u3046\u305f\u3044","\u304a\u3046\u3075\u304f","\u304a\u3046\u3078\u3099\u3044","\u304a\u3046\u3088\u3046","\u304a\u3048\u308b","\u304a\u304a\u3044","\u304a\u304a\u3046","\u304a\u304a\u3068\u3099\u304a\u308a","\u304a\u304a\u3084","\u304a\u304a\u3088\u305d","\u304a\u304b\u3048\u308a","\u304a\u304b\u3059\u3099","\u304a\u304b\u3099\u3080","\u304a\u304b\u308f\u308a","\u304a\u304d\u3099\u306a\u3046","\u304a\u304d\u308b","\u304a\u304f\u3055\u307e","\u304a\u304f\u3057\u3099\u3087\u3046","\u304a\u304f\u308a\u304b\u3099\u306a","\u304a\u304f\u308b","\u304a\u304f\u308c\u308b","\u304a\u3053\u3059","\u304a\u3053\u306a\u3046","\u304a\u3053\u308b","\u304a\u3055\u3048\u308b","\u304a\u3055\u306a\u3044","\u304a\u3055\u3081\u308b","\u304a\u3057\u3044\u308c","\u304a\u3057\u3048\u308b","\u304a\u3057\u3099\u304d\u3099","\u304a\u3057\u3099\u3055\u3093","\u304a\u3057\u3083\u308c","\u304a\u305d\u3089\u304f","\u304a\u305d\u308f\u308b","\u304a\u305f\u304b\u3099\u3044","\u304a\u305f\u304f","\u304a\u305f\u3099\u3084\u304b","\u304a\u3061\u3064\u304f","\u304a\u3063\u3068","\u304a\u3064\u308a","\u304a\u3066\u3099\u304b\u3051","\u304a\u3068\u3057\u3082\u306e","\u304a\u3068\u306a\u3057\u3044","\u304a\u3068\u3099\u308a","\u304a\u3068\u3099\u308d\u304b\u3059","\u304a\u306f\u3099\u3055\u3093","\u304a\u307e\u3044\u308a","\u304a\u3081\u3066\u3099\u3068\u3046","\u304a\u3082\u3044\u3066\u3099","\u304a\u3082\u3046","\u304a\u3082\u305f\u3044","\u304a\u3082\u3061\u3083","\u304a\u3084\u3064","\u304a\u3084\u3086\u3072\u3099","\u304a\u3088\u307b\u3099\u3059","\u304a\u3089\u3093\u305f\u3099","\u304a\u308d\u3059","\u304a\u3093\u304b\u3099\u304f","\u304a\u3093\u3051\u3044","\u304a\u3093\u3057\u3083","\u304a\u3093\u305b\u3093","\u304a\u3093\u305f\u3099\u3093","\u304a\u3093\u3061\u3085\u3046","\u304a\u3093\u3068\u3099\u3051\u3044","\u304b\u3042\u3064","\u304b\u3044\u304b\u3099","\u304b\u3099\u3044\u304d","\u304b\u3099\u3044\u3051\u3093","\u304b\u3099\u3044\u3053\u3046","\u304b\u3044\u3055\u3064","\u304b\u3044\u3057\u3083","\u304b\u3044\u3059\u3044\u3088\u304f","\u304b\u3044\u305b\u3099\u3093","\u304b\u3044\u305d\u3099\u3046\u3068\u3099","\u304b\u3044\u3064\u3046","\u304b\u3044\u3066\u3093","\u304b\u3044\u3068\u3046","\u304b\u3044\u3075\u304f","\u304b\u3099\u3044\u3078\u304d","\u304b\u3044\u307b\u3046","\u304b\u3044\u3088\u3046","\u304b\u3099\u3044\u3089\u3044","\u304b\u3044\u308f","\u304b\u3048\u308b","\u304b\u304a\u308a","\u304b\u304b\u3048\u308b","\u304b\u304b\u3099\u304f","\u304b\u304b\u3099\u3057","\u304b\u304b\u3099\u307f","\u304b\u304f\u3053\u3099","\u304b\u304f\u3068\u304f","\u304b\u3055\u3099\u308b","\u304b\u3099\u305d\u3099\u3046","\u304b\u305f\u3044","\u304b\u305f\u3061","\u304b\u3099\u3061\u3087\u3046","\u304b\u3099\u3063\u304d\u3085\u3046","\u304b\u3099\u3063\u3053\u3046","\u304b\u3099\u3063\u3055\u3093","\u304b\u3099\u3063\u3057\u3087\u3046","\u304b\u306a\u3055\u3099\u308f\u3057","\u304b\u306e\u3046","\u304b\u3099\u306f\u304f","\u304b\u3075\u3099\u304b","\u304b\u307b\u3046","\u304b\u307b\u3053\u3099","\u304b\u307e\u3046","\u304b\u307e\u307b\u3099\u3053","\u304b\u3081\u308c\u304a\u3093","\u304b\u3086\u3044","\u304b\u3088\u3046\u3072\u3099","\u304b\u3089\u3044","\u304b\u308b\u3044","\u304b\u308d\u3046","\u304b\u308f\u304f","\u304b\u308f\u3089","\u304b\u3099\u3093\u304b","\u304b\u3093\u3051\u3044","\u304b\u3093\u3053\u3046","\u304b\u3093\u3057\u3083","\u304b\u3093\u305d\u3046","\u304b\u3093\u305f\u3093","\u304b\u3093\u3061","\u304b\u3099\u3093\u306f\u3099\u308b","\u304d\u3042\u3044","\u304d\u3042\u3064","\u304d\u3044\u308d","\u304d\u3099\u3044\u3093","\u304d\u3046\u3044","\u304d\u3046\u3093","\u304d\u3048\u308b","\u304d\u304a\u3046","\u304d\u304a\u304f","\u304d\u304a\u3061","\u304d\u304a\u3093","\u304d\u304b\u3044","\u304d\u304b\u304f","\u304d\u304b\u3093\u3057\u3083","\u304d\u304d\u3066","\u304d\u304f\u306f\u3099\u308a","\u304d\u304f\u3089\u3051\u3099","\u304d\u3051\u3093\u305b\u3044","\u304d\u3053\u3046","\u304d\u3053\u3048\u308b","\u304d\u3053\u304f","\u304d\u3055\u3044","\u304d\u3055\u304f","\u304d\u3055\u307e","\u304d\u3055\u3089\u304d\u3099","\u304d\u3099\u3057\u3099\u304b\u304b\u3099\u304f","\u304d\u3099\u3057\u304d","\u304d\u3099\u3057\u3099\u305f\u3044\u3051\u3093","\u304d\u3099\u3057\u3099\u306b\u3063\u3066\u3044","\u304d\u3099\u3057\u3099\u3085\u3064\u3057\u3083","\u304d\u3059\u3046","\u304d\u305b\u3044","\u304d\u305b\u304d","\u304d\u305b\u3064","\u304d\u305d\u3046","\u304d\u305d\u3099\u304f","\u304d\u305d\u3099\u3093","\u304d\u305f\u3048\u308b","\u304d\u3061\u3087\u3046","\u304d\u3064\u3048\u3093","\u304d\u3099\u3063\u3061\u308a","\u304d\u3064\u3064\u304d","\u304d\u3064\u306d","\u304d\u3066\u3044","\u304d\u3068\u3099\u3046","\u304d\u3068\u3099\u304f","\u304d\u306a\u3044","\u304d\u306a\u304b\u3099","\u304d\u306a\u3053","\u304d\u306c\u3053\u3099\u3057","\u304d\u306d\u3093","\u304d\u306e\u3046","\u304d\u306e\u3057\u305f","\u304d\u306f\u304f","\u304d\u3072\u3099\u3057\u3044","\u304d\u3072\u3093","\u304d\u3075\u304f","\u304d\u3075\u3099\u3093","\u304d\u307b\u3099\u3046","\u304d\u307b\u3093","\u304d\u307e\u308b","\u304d\u307f\u3064","\u304d\u3080\u3059\u3099\u304b\u3057\u3044","\u304d\u3081\u308b","\u304d\u3082\u305f\u3099\u3081\u3057","\u304d\u3082\u3061","\u304d\u3082\u306e","\u304d\u3083\u304f","\u304d\u3084\u304f","\u304d\u3099\u3085\u3046\u306b\u304f","\u304d\u3088\u3046","\u304d\u3087\u3046\u308a\u3085\u3046","\u304d\u3089\u3044","\u304d\u3089\u304f","\u304d\u308a\u3093","\u304d\u308c\u3044","\u304d\u308c\u3064","\u304d\u308d\u304f","\u304d\u3099\u308d\u3093","\u304d\u308f\u3081\u308b","\u304d\u3099\u3093\u3044\u308d","\u304d\u3093\u304b\u304f\u3057\u3099","\u304d\u3093\u3057\u3099\u3087","\u304d\u3093\u3088\u3046\u3072\u3099","\u304f\u3099\u3042\u3044","\u304f\u3044\u3059\u3099","\u304f\u3046\u304b\u3093","\u304f\u3046\u304d","\u304f\u3046\u304f\u3099\u3093","\u304f\u3046\u3053\u3046","\u304f\u3099\u3046\u305b\u3044","\u304f\u3046\u305d\u3046","\u304f\u3099\u3046\u305f\u3089","\u304f\u3046\u3075\u304f","\u304f\u3046\u307b\u3099","\u304f\u304b\u3093","\u304f\u304d\u3087\u3046","\u304f\u3051\u3099\u3093","\u304f\u3099\u3053\u3046","\u304f\u3055\u3044","\u304f\u3055\u304d","\u304f\u3055\u306f\u3099\u306a","\u304f\u3055\u308b","\u304f\u3057\u3083\u307f","\u304f\u3057\u3087\u3046","\u304f\u3059\u306e\u304d","\u304f\u3059\u308a\u3086\u3072\u3099","\u304f\u305b\u3051\u3099","\u304f\u305b\u3093","\u304f\u3099\u305f\u3044\u3066\u304d","\u304f\u305f\u3099\u3055\u308b","\u304f\u305f\u3072\u3099\u308c\u308b","\u304f\u3061\u3053\u307f","\u304f\u3061\u3055\u304d","\u304f\u3064\u3057\u305f","\u304f\u3099\u3063\u3059\u308a","\u304f\u3064\u308d\u304f\u3099","\u304f\u3068\u3046\u3066\u3093","\u304f\u3068\u3099\u304f","\u304f\u306a\u3093","\u304f\u306d\u304f\u306d","\u304f\u306e\u3046","\u304f\u3075\u3046","\u304f\u307f\u3042\u308f\u305b","\u304f\u307f\u305f\u3066\u308b","\u304f\u3081\u308b","\u304f\u3084\u304f\u3057\u3087","\u304f\u3089\u3059","\u304f\u3089\u3078\u3099\u308b","\u304f\u308b\u307e","\u304f\u308c\u308b","\u304f\u308d\u3046","\u304f\u308f\u3057\u3044","\u304f\u3099\u3093\u304b\u3093","\u304f\u3099\u3093\u3057\u3087\u304f","\u304f\u3099\u3093\u305f\u3044","\u304f\u3099\u3093\u3066","\u3051\u3042\u306a","\u3051\u3044\u304b\u304f","\u3051\u3044\u3051\u3093","\u3051\u3044\u3053","\u3051\u3044\u3055\u3064","\u3051\u3099\u3044\u3057\u3099\u3085\u3064","\u3051\u3044\u305f\u3044","\u3051\u3099\u3044\u306e\u3046\u3057\u3099\u3093","\u3051\u3044\u308c\u304d","\u3051\u3044\u308d","\u3051\u304a\u3068\u3059","\u3051\u304a\u308a\u3082\u306e","\u3051\u3099\u304d\u304b","\u3051\u3099\u304d\u3051\u3099\u3093","\u3051\u3099\u304d\u305f\u3099\u3093","\u3051\u3099\u304d\u3061\u3093","\u3051\u3099\u304d\u3068\u3064","\u3051\u3099\u304d\u306f","\u3051\u3099\u304d\u3084\u304f","\u3051\u3099\u3053\u3046","\u3051\u3099\u3053\u304f\u3057\u3099\u3087\u3046","\u3051\u3099\u3055\u3099\u3044","\u3051\u3055\u304d","\u3051\u3099\u3055\u3099\u3093","\u3051\u3057\u304d","\u3051\u3057\u3053\u3099\u3080","\u3051\u3057\u3087\u3046","\u3051\u3099\u3059\u3068","\u3051\u305f\u306f\u3099","\u3051\u3061\u3083\u3063\u3075\u309a","\u3051\u3061\u3089\u3059","\u3051\u3064\u3042\u3064","\u3051\u3064\u3044","\u3051\u3064\u3048\u304d","\u3051\u3063\u3053\u3093","\u3051\u3064\u3057\u3099\u3087","\u3051\u3063\u305b\u304d","\u3051\u3063\u3066\u3044","\u3051\u3064\u307e\u3064","\u3051\u3099\u3064\u3088\u3046\u3072\u3099","\u3051\u3099\u3064\u308c\u3044","\u3051\u3064\u308d\u3093","\u3051\u3099\u3068\u3099\u304f","\u3051\u3068\u306f\u3099\u3059","\u3051\u3068\u308b","\u3051\u306a\u3051\u3099","\u3051\u306a\u3059","\u3051\u306a\u307f","\u3051\u306c\u304d","\u3051\u3099\u306d\u3064","\u3051\u306d\u3093","\u3051\u306f\u3044","\u3051\u3099\u3072\u3093","\u3051\u3075\u3099\u304b\u3044","\u3051\u3099\u307b\u3099\u304f","\u3051\u307e\u308a","\u3051\u307f\u304b\u308b","\u3051\u3080\u3057","\u3051\u3080\u308a","\u3051\u3082\u306e","\u3051\u3089\u3044","\u3051\u308d\u3051\u308d","\u3051\u308f\u3057\u3044","\u3051\u3093\u3044","\u3051\u3093\u3048\u3064","\u3051\u3093\u304a","\u3051\u3093\u304b","\u3051\u3099\u3093\u304d","\u3051\u3093\u3051\u3099\u3093","\u3051\u3093\u3053\u3046","\u3051\u3093\u3055\u304f","\u3051\u3093\u3057\u3085\u3046","\u3051\u3093\u3059\u3046","\u3051\u3099\u3093\u305d\u3046","\u3051\u3093\u3061\u304f","\u3051\u3093\u3066\u3044","\u3051\u3093\u3068\u3046","\u3051\u3093\u306a\u3044","\u3051\u3093\u306b\u3093","\u3051\u3099\u3093\u3075\u3099\u3064","\u3051\u3093\u307e","\u3051\u3093\u307f\u3093","\u3051\u3093\u3081\u3044","\u3051\u3093\u3089\u3093","\u3051\u3093\u308a","\u3053\u3042\u304f\u307e","\u3053\u3044\u306c","\u3053\u3044\u3072\u3099\u3068","\u3053\u3099\u3046\u3044","\u3053\u3046\u3048\u3093","\u3053\u3046\u304a\u3093","\u3053\u3046\u304b\u3093","\u3053\u3099\u3046\u304d\u3085\u3046","\u3053\u3099\u3046\u3051\u3044","\u3053\u3046\u3053\u3046","\u3053\u3046\u3055\u3044","\u3053\u3046\u3057\u3099","\u3053\u3046\u3059\u3044","\u3053\u3099\u3046\u305b\u3044","\u3053\u3046\u305d\u304f","\u3053\u3046\u305f\u3044","\u3053\u3046\u3061\u3083","\u3053\u3046\u3064\u3046","\u3053\u3046\u3066\u3044","\u3053\u3046\u3068\u3099\u3046","\u3053\u3046\u306a\u3044","\u3053\u3046\u306f\u3044","\u3053\u3099\u3046\u307b\u3046","\u3053\u3099\u3046\u307e\u3093","\u3053\u3046\u3082\u304f","\u3053\u3046\u308a\u3064","\u3053\u3048\u308b","\u3053\u304a\u308a","\u3053\u3099\u304b\u3044","\u3053\u3099\u304b\u3099\u3064","\u3053\u3099\u304b\u3093","\u3053\u304f\u3053\u3099","\u3053\u304f\u3055\u3044","\u3053\u304f\u3068\u3046","\u3053\u304f\u306a\u3044","\u3053\u304f\u306f\u304f","\u3053\u304f\u3099\u307e","\u3053\u3051\u3044","\u3053\u3051\u308b","\u3053\u3053\u306e\u304b","\u3053\u3053\u308d","\u3053\u3055\u3081","\u3053\u3057\u3064","\u3053\u3059\u3046","\u3053\u305b\u3044","\u3053\u305b\u304d","\u3053\u305b\u3099\u3093","\u3053\u305d\u305f\u3099\u3066","\u3053\u305f\u3044","\u3053\u305f\u3048\u308b","\u3053\u305f\u3064","\u3053\u3061\u3087\u3046","\u3053\u3063\u304b","\u3053\u3064\u3053\u3064","\u3053\u3064\u306f\u3099\u3093","\u3053\u3064\u3075\u3099","\u3053\u3066\u3044","\u3053\u3066\u3093","\u3053\u3068\u304b\u3099\u3089","\u3053\u3068\u3057","\u3053\u3068\u306f\u3099","\u3053\u3068\u308a","\u3053\u306a\u3053\u3099\u306a","\u3053\u306d\u3053\u306d","\u3053\u306e\u307e\u307e","\u3053\u306e\u307f","\u3053\u306e\u3088","\u3053\u3099\u306f\u3093","\u3053\u3072\u3064\u3057\u3099","\u3053\u3075\u3046","\u3053\u3075\u3093","\u3053\u307b\u3099\u308c\u308b","\u3053\u3099\u307e\u3042\u3075\u3099\u3089","\u3053\u307e\u304b\u3044","\u3053\u3099\u307e\u3059\u308a","\u3053\u307e\u3064\u306a","\u3053\u307e\u308b","\u3053\u3080\u304d\u3099\u3053","\u3053\u3082\u3057\u3099","\u3053\u3082\u3061","\u3053\u3082\u306e","\u3053\u3082\u3093","\u3053\u3084\u304f","\u3053\u3084\u307e","\u3053\u3086\u3046","\u3053\u3086\u3072\u3099","\u3053\u3088\u3044","\u3053\u3088\u3046","\u3053\u308a\u308b","\u3053\u308c\u304f\u3057\u3087\u3093","\u3053\u308d\u3063\u3051","\u3053\u308f\u3082\u3066","\u3053\u308f\u308c\u308b","\u3053\u3093\u3044\u3093","\u3053\u3093\u304b\u3044","\u3053\u3093\u304d","\u3053\u3093\u3057\u3085\u3046","\u3053\u3093\u3059\u3044","\u3053\u3093\u305f\u3099\u3066","\u3053\u3093\u3068\u3093","\u3053\u3093\u306a\u3093","\u3053\u3093\u3072\u3099\u306b","\u3053\u3093\u307b\u309a\u3093","\u3053\u3093\u307e\u3051","\u3053\u3093\u3084","\u3053\u3093\u308c\u3044","\u3053\u3093\u308f\u304f","\u3055\u3099\u3044\u3048\u304d","\u3055\u3044\u304b\u3044","\u3055\u3044\u304d\u3093","\u3055\u3099\u3044\u3051\u3099\u3093","\u3055\u3099\u3044\u3053","\u3055\u3044\u3057\u3087","\u3055\u3044\u305b\u3044","\u3055\u3099\u3044\u305f\u304f","\u3055\u3099\u3044\u3061\u3085\u3046","\u3055\u3044\u3066\u304d","\u3055\u3099\u3044\u308a\u3087\u3046","\u3055\u3046\u306a","\u3055\u304b\u3044\u3057","\u3055\u304b\u3099\u3059","\u3055\u304b\u306a","\u3055\u304b\u307f\u3061","\u3055\u304b\u3099\u308b","\u3055\u304d\u3099\u3087\u3046","\u3055\u304f\u3057","\u3055\u304f\u3072\u3093","\u3055\u304f\u3089","\u3055\u3053\u304f","\u3055\u3053\u3064","\u3055\u3059\u3099\u304b\u308b","\u3055\u3099\u305b\u304d","\u3055\u305f\u3093","\u3055\u3064\u3048\u3044","\u3055\u3099\u3064\u304a\u3093","\u3055\u3099\u3063\u304b","\u3055\u3099\u3064\u304b\u3099\u304f","\u3055\u3063\u304d\u3087\u304f","\u3055\u3099\u3063\u3057","\u3055\u3064\u3057\u3099\u3093","\u3055\u3099\u3063\u305d\u3046","\u3055\u3064\u305f\u306f\u3099","\u3055\u3064\u307e\u3044\u3082","\u3055\u3066\u3044","\u3055\u3068\u3044\u3082","\u3055\u3068\u3046","\u3055\u3068\u304a\u3084","\u3055\u3068\u3057","\u3055\u3068\u308b","\u3055\u306e\u3046","\u3055\u306f\u3099\u304f","\u3055\u3072\u3099\u3057\u3044","\u3055\u3078\u3099\u3064","\u3055\u307b\u3046","\u3055\u307b\u3068\u3099","\u3055\u307e\u3059","\u3055\u307f\u3057\u3044","\u3055\u307f\u305f\u3099\u308c","\u3055\u3080\u3051","\u3055\u3081\u308b","\u3055\u3084\u3048\u3093\u3068\u3099\u3046","\u3055\u3086\u3046","\u3055\u3088\u3046","\u3055\u3088\u304f","\u3055\u3089\u305f\u3099","\u3055\u3099\u308b\u305d\u306f\u3099","\u3055\u308f\u3084\u304b","\u3055\u308f\u308b","\u3055\u3093\u3044\u3093","\u3055\u3093\u304b","\u3055\u3093\u304d\u3083\u304f","\u3055\u3093\u3053\u3046","\u3055\u3093\u3055\u3044","\u3055\u3099\u3093\u3057\u3087","\u3055\u3093\u3059\u3046","\u3055\u3093\u305b\u3044","\u3055\u3093\u305d","\u3055\u3093\u3061","\u3055\u3093\u307e","\u3055\u3093\u307f","\u3055\u3093\u3089\u3093","\u3057\u3042\u3044","\u3057\u3042\u3051\u3099","\u3057\u3042\u3055\u3063\u3066","\u3057\u3042\u308f\u305b","\u3057\u3044\u304f","\u3057\u3044\u3093","\u3057\u3046\u3061","\u3057\u3048\u3044","\u3057\u304a\u3051","\u3057\u304b\u3044","\u3057\u304b\u304f","\u3057\u3099\u304b\u3093","\u3057\u3053\u3099\u3068","\u3057\u3059\u3046","\u3057\u3099\u305f\u3099\u3044","\u3057\u305f\u3046\u3051","\u3057\u305f\u304d\u3099","\u3057\u305f\u3066","\u3057\u305f\u307f","\u3057\u3061\u3087\u3046","\u3057\u3061\u308a\u3093","\u3057\u3063\u304b\u308a","\u3057\u3064\u3057\u3099","\u3057\u3064\u3082\u3093","\u3057\u3066\u3044","\u3057\u3066\u304d","\u3057\u3066\u3064","\u3057\u3099\u3066\u3093","\u3057\u3099\u3068\u3099\u3046","\u3057\u306a\u304d\u3099\u308c","\u3057\u306a\u3082\u306e","\u3057\u306a\u3093","\u3057\u306d\u307e","\u3057\u306d\u3093","\u3057\u306e\u304f\u3099","\u3057\u306e\u3075\u3099","\u3057\u306f\u3044","\u3057\u306f\u3099\u304b\u308a","\u3057\u306f\u3064","\u3057\u306f\u3089\u3044","\u3057\u306f\u3093","\u3057\u3072\u3087\u3046","\u3057\u3075\u304f","\u3057\u3099\u3075\u3099\u3093","\u3057\u3078\u3044","\u3057\u307b\u3046","\u3057\u307b\u3093","\u3057\u307e\u3046","\u3057\u307e\u308b","\u3057\u307f\u3093","\u3057\u3080\u3051\u308b","\u3057\u3099\u3080\u3057\u3087","\u3057\u3081\u3044","\u3057\u3081\u308b","\u3057\u3082\u3093","\u3057\u3083\u3044\u3093","\u3057\u3083\u3046\u3093","\u3057\u3083\u304a\u3093","\u3057\u3099\u3083\u304b\u3099\u3044\u3082","\u3057\u3084\u304f\u3057\u3087","\u3057\u3083\u304f\u307b\u3046","\u3057\u3083\u3051\u3093","\u3057\u3083\u3053","\u3057\u3083\u3055\u3099\u3044","\u3057\u3083\u3057\u3093","\u3057\u3083\u305b\u3093","\u3057\u3083\u305d\u3046","\u3057\u3083\u305f\u3044","\u3057\u3083\u3061\u3087\u3046","\u3057\u3083\u3063\u304d\u3093","\u3057\u3099\u3083\u307e","\u3057\u3083\u308a\u3093","\u3057\u3083\u308c\u3044","\u3057\u3099\u3086\u3046","\u3057\u3099\u3085\u3046\u3057\u3087","\u3057\u3085\u304f\u306f\u304f","\u3057\u3099\u3085\u3057\u3093","\u3057\u3085\u3063\u305b\u304d","\u3057\u3085\u307f","\u3057\u3085\u3089\u306f\u3099","\u3057\u3099\u3085\u3093\u306f\u3099\u3093","\u3057\u3087\u3046\u304b\u3044","\u3057\u3087\u304f\u305f\u304f","\u3057\u3087\u3063\u3051\u3093","\u3057\u3087\u3068\u3099\u3046","\u3057\u3087\u3082\u3064","\u3057\u3089\u305b\u308b","\u3057\u3089\u3078\u3099\u308b","\u3057\u3093\u304b","\u3057\u3093\u3053\u3046","\u3057\u3099\u3093\u3057\u3099\u3083","\u3057\u3093\u305b\u3044\u3057\u3099","\u3057\u3093\u3061\u304f","\u3057\u3093\u308a\u3093","\u3059\u3042\u3051\u3099","\u3059\u3042\u3057","\u3059\u3042\u306a","\u3059\u3099\u3042\u3093","\u3059\u3044\u3048\u3044","\u3059\u3044\u304b","\u3059\u3044\u3068\u3046","\u3059\u3099\u3044\u3075\u3099\u3093","\u3059\u3044\u3088\u3046\u3072\u3099","\u3059\u3046\u304b\u3099\u304f","\u3059\u3046\u3057\u3099\u3064","\u3059\u3046\u305b\u3093","\u3059\u304a\u3068\u3099\u308a","\u3059\u304d\u307e","\u3059\u304f\u3046","\u3059\u304f\u306a\u3044","\u3059\u3051\u308b","\u3059\u3053\u3099\u3044","\u3059\u3053\u3057","\u3059\u3099\u3055\u3093","\u3059\u3059\u3099\u3057\u3044","\u3059\u3059\u3080","\u3059\u3059\u3081\u308b","\u3059\u3063\u304b\u308a","\u3059\u3099\u3063\u3057\u308a","\u3059\u3099\u3063\u3068","\u3059\u3066\u304d","\u3059\u3066\u308b","\u3059\u306d\u308b","\u3059\u306e\u3053","\u3059\u306f\u305f\u3099","\u3059\u306f\u3099\u3089\u3057\u3044","\u3059\u3099\u3072\u3087\u3046","\u3059\u3099\u3075\u3099\u306c\u308c","\u3059\u3075\u3099\u308a","\u3059\u3075\u308c","\u3059\u3078\u3099\u3066","\u3059\u3078\u3099\u308b","\u3059\u3099\u307b\u3046","\u3059\u307b\u3099\u3093","\u3059\u307e\u3044","\u3059\u3081\u3057","\u3059\u3082\u3046","\u3059\u3084\u304d","\u3059\u3089\u3059\u3089","\u3059\u308b\u3081","\u3059\u308c\u3061\u304b\u3099\u3046","\u3059\u308d\u3063\u3068","\u3059\u308f\u308b","\u3059\u3093\u305b\u3099\u3093","\u3059\u3093\u307b\u309a\u3046","\u305b\u3042\u3075\u3099\u3089","\u305b\u3044\u304b\u3064","\u305b\u3044\u3051\u3099\u3093","\u305b\u3044\u3057\u3099","\u305b\u3044\u3088\u3046","\u305b\u304a\u3046","\u305b\u304b\u3044\u304b\u3093","\u305b\u304d\u306b\u3093","\u305b\u304d\u3080","\u305b\u304d\u3086","\u305b\u304d\u3089\u3093\u3046\u3093","\u305b\u3051\u3093","\u305b\u3053\u3046","\u305b\u3059\u3057\u3099","\u305b\u305f\u3044","\u305b\u305f\u3051","\u305b\u3063\u304b\u304f","\u305b\u3063\u304d\u3083\u304f","\u305b\u3099\u3063\u304f","\u305b\u3063\u3051\u3093","\u305b\u3063\u3053\u3064","\u305b\u3063\u3055\u305f\u304f\u307e","\u305b\u3064\u305d\u3099\u304f","\u305b\u3064\u305f\u3099\u3093","\u305b\u3064\u3066\u3099\u3093","\u305b\u3063\u306f\u309a\u3093","\u305b\u3064\u3072\u3099","\u305b\u3064\u3075\u3099\u3093","\u305b\u3064\u3081\u3044","\u305b\u3064\u308a\u3064","\u305b\u306a\u304b","\u305b\u306e\u3072\u3099","\u305b\u306f\u306f\u3099","\u305b\u3072\u3099\u308d","\u305b\u307b\u3099\u306d","\u305b\u307e\u3044","\u305b\u307e\u308b","\u305b\u3081\u308b","\u305b\u3082\u305f\u308c","\u305b\u308a\u3075","\u305b\u3099\u3093\u3042\u304f","\u305b\u3093\u3044","\u305b\u3093\u3048\u3044","\u305b\u3093\u304b","\u305b\u3093\u304d\u3087","\u305b\u3093\u304f","\u305b\u3093\u3051\u3099\u3093","\u305b\u3099\u3093\u3053\u3099","\u305b\u3093\u3055\u3044","\u305b\u3093\u3057\u3085","\u305b\u3093\u3059\u3044","\u305b\u3093\u305b\u3044","\u305b\u3093\u305d\u3099","\u305b\u3093\u305f\u304f","\u305b\u3093\u3061\u3087\u3046","\u305b\u3093\u3066\u3044","\u305b\u3093\u3068\u3046","\u305b\u3093\u306c\u304d","\u305b\u3093\u306d\u3093","\u305b\u3093\u306f\u309a\u3044","\u305b\u3099\u3093\u3075\u3099","\u305b\u3099\u3093\u307b\u309a\u3046","\u305b\u3093\u3080","\u305b\u3093\u3081\u3093\u3057\u3099\u3087","\u305b\u3093\u3082\u3093","\u305b\u3093\u3084\u304f","\u305b\u3093\u3086\u3046","\u305b\u3093\u3088\u3046","\u305b\u3099\u3093\u3089","\u305b\u3099\u3093\u308a\u3083\u304f","\u305b\u3093\u308c\u3044","\u305b\u3093\u308d","\u305d\u3042\u304f","\u305d\u3044\u3068\u3051\u3099\u308b","\u305d\u3044\u306d","\u305d\u3046\u304b\u3099\u3093\u304d\u3087\u3046","\u305d\u3046\u304d","\u305d\u3046\u3053\u3099","\u305d\u3046\u3057\u3093","\u305d\u3046\u305f\u3099\u3093","\u305d\u3046\u306a\u3093","\u305d\u3046\u3072\u3099","\u305d\u3046\u3081\u3093","\u305d\u3046\u308a","\u305d\u3048\u3082\u306e","\u305d\u3048\u3093","\u305d\u304b\u3099\u3044","\u305d\u3051\u3099\u304d","\u305d\u3053\u3046","\u305d\u3053\u305d\u3053","\u305d\u3055\u3099\u3044","\u305d\u3057\u306a","\u305d\u305b\u3044","\u305d\u305b\u3093","\u305d\u305d\u304f\u3099","\u305d\u305f\u3099\u3066\u308b","\u305d\u3064\u3046","\u305d\u3064\u3048\u3093","\u305d\u3063\u304b\u3093","\u305d\u3064\u304d\u3099\u3087\u3046","\u305d\u3063\u3051\u3064","\u305d\u3063\u3053\u3046","\u305d\u3063\u305b\u3093","\u305d\u3063\u3068","\u305d\u3068\u304b\u3099\u308f","\u305d\u3068\u3064\u3099\u3089","\u305d\u306a\u3048\u308b","\u305d\u306a\u305f","\u305d\u3075\u307b\u3099","\u305d\u307b\u3099\u304f","\u305d\u307b\u3099\u308d","\u305d\u307e\u3064","\u305d\u307e\u308b","\u305d\u3080\u304f","\u305d\u3080\u308a\u3048","\u305d\u3081\u308b","\u305d\u3082\u305d\u3082","\u305d\u3088\u304b\u305b\u3099","\u305d\u3089\u307e\u3081","\u305d\u308d\u3046","\u305d\u3093\u304b\u3044","\u305d\u3093\u3051\u3044","\u305d\u3093\u3055\u3099\u3044","\u305d\u3093\u3057\u3064","\u305d\u3093\u305d\u3099\u304f","\u305d\u3093\u3061\u3087\u3046","\u305d\u3099\u3093\u3072\u3099","\u305d\u3099\u3093\u3075\u3099\u3093","\u305d\u3093\u307f\u3093","\u305f\u3042\u3044","\u305f\u3044\u3044\u3093","\u305f\u3044\u3046\u3093","\u305f\u3044\u3048\u304d","\u305f\u3044\u304a\u3046","\u305f\u3099\u3044\u304b\u3099\u304f","\u305f\u3044\u304d","\u305f\u3044\u304f\u3099\u3046","\u305f\u3044\u3051\u3093","\u305f\u3044\u3053","\u305f\u3044\u3055\u3099\u3044","\u305f\u3099\u3044\u3057\u3099\u3087\u3046\u3075\u3099","\u305f\u3099\u3044\u3059\u304d","\u305f\u3044\u305b\u3064","\u305f\u3044\u305d\u3046","\u305f\u3099\u3044\u305f\u3044","\u305f\u3044\u3061\u3087\u3046","\u305f\u3044\u3066\u3044","\u305f\u3099\u3044\u3068\u3099\u3053\u308d","\u305f\u3044\u306a\u3044","\u305f\u3044\u306d\u3064","\u305f\u3044\u306e\u3046","\u305f\u3044\u306f\u3093","\u305f\u3099\u3044\u3072\u3087\u3046","\u305f\u3044\u3075\u3046","\u305f\u3044\u3078\u3093","\u305f\u3044\u307b","\u305f\u3044\u307e\u3064\u306f\u3099\u306a","\u305f\u3044\u307f\u3093\u304f\u3099","\u305f\u3044\u3080","\u305f\u3044\u3081\u3093","\u305f\u3044\u3084\u304d","\u305f\u3044\u3088\u3046","\u305f\u3044\u3089","\u305f\u3044\u308a\u3087\u304f","\u305f\u3044\u308b","\u305f\u3044\u308f\u3093","\u305f\u3046\u3048","\u305f\u3048\u308b","\u305f\u304a\u3059","\u305f\u304a\u308b","\u305f\u304a\u308c\u308b","\u305f\u304b\u3044","\u305f\u304b\u306d","\u305f\u304d\u3072\u3099","\u305f\u304f\u3055\u3093","\u305f\u3053\u304f","\u305f\u3053\u3084\u304d","\u305f\u3055\u3044","\u305f\u3057\u3055\u3099\u3093","\u305f\u3099\u3057\u3099\u3083\u308c","\u305f\u3059\u3051\u308b","\u305f\u3059\u3099\u3055\u308f\u308b","\u305f\u305d\u304b\u3099\u308c","\u305f\u305f\u304b\u3046","\u305f\u305f\u304f","\u305f\u305f\u3099\u3057\u3044","\u305f\u305f\u307f","\u305f\u3061\u306f\u3099\u306a","\u305f\u3099\u3063\u304b\u3044","\u305f\u3099\u3063\u304d\u3083\u304f","\u305f\u3099\u3063\u3053","\u305f\u3099\u3063\u3057\u3085\u3064","\u305f\u3099\u3063\u305f\u3044","\u305f\u3066\u308b","\u305f\u3068\u3048\u308b","\u305f\u306a\u306f\u3099\u305f","\u305f\u306b\u3093","\u305f\u306c\u304d","\u305f\u306e\u3057\u307f","\u305f\u306f\u3064","\u305f\u3075\u3099\u3093","\u305f\u3078\u3099\u308b","\u305f\u307b\u3099\u3046","\u305f\u307e\u3053\u3099","\u305f\u307e\u308b","\u305f\u3099\u3080\u308b","\u305f\u3081\u3044\u304d","\u305f\u3081\u3059","\u305f\u3081\u308b","\u305f\u3082\u3064","\u305f\u3084\u3059\u3044","\u305f\u3088\u308b","\u305f\u3089\u3059","\u305f\u308a\u304d\u307b\u3093\u304b\u3099\u3093","\u305f\u308a\u3087\u3046","\u305f\u308a\u308b","\u305f\u308b\u3068","\u305f\u308c\u308b","\u305f\u308c\u3093\u3068","\u305f\u308d\u3063\u3068","\u305f\u308f\u3080\u308c\u308b","\u305f\u3099\u3093\u3042\u3064","\u305f\u3093\u3044","\u305f\u3093\u304a\u3093","\u305f\u3093\u304b","\u305f\u3093\u304d","\u305f\u3093\u3051\u3093","\u305f\u3093\u3053\u3099","\u305f\u3093\u3055\u3093","\u305f\u3093\u3057\u3099\u3087\u3046\u3072\u3099","\u305f\u3099\u3093\u305b\u3044","\u305f\u3093\u305d\u304f","\u305f\u3093\u305f\u3044","\u305f\u3099\u3093\u3061","\u305f\u3093\u3066\u3044","\u305f\u3093\u3068\u3046","\u305f\u3099\u3093\u306a","\u305f\u3093\u306b\u3093","\u305f\u3099\u3093\u306d\u3064","\u305f\u3093\u306e\u3046","\u305f\u3093\u3072\u309a\u3093","\u305f\u3099\u3093\u307b\u3099\u3046","\u305f\u3093\u307e\u3064","\u305f\u3093\u3081\u3044","\u305f\u3099\u3093\u308c\u3064","\u305f\u3099\u3093\u308d","\u305f\u3099\u3093\u308f","\u3061\u3042\u3044","\u3061\u3042\u3093","\u3061\u3044\u304d","\u3061\u3044\u3055\u3044","\u3061\u3048\u3093","\u3061\u304b\u3044","\u3061\u304b\u3089","\u3061\u304d\u3085\u3046","\u3061\u304d\u3093","\u3061\u3051\u3044\u3059\u3099","\u3061\u3051\u3093","\u3061\u3053\u304f","\u3061\u3055\u3044","\u3061\u3057\u304d","\u3061\u3057\u308a\u3087\u3046","\u3061\u305b\u3044","\u3061\u305d\u3046","\u3061\u305f\u3044","\u3061\u305f\u3093","\u3061\u3061\u304a\u3084","\u3061\u3064\u3057\u3099\u3087","\u3061\u3066\u304d","\u3061\u3066\u3093","\u3061\u306c\u304d","\u3061\u306c\u308a","\u3061\u306e\u3046","\u3061\u3072\u3087\u3046","\u3061\u3078\u3044\u305b\u3093","\u3061\u307b\u3046","\u3061\u307e\u305f","\u3061\u307f\u3064","\u3061\u307f\u3068\u3099\u308d","\u3061\u3081\u3044\u3068\u3099","\u3061\u3083\u3093\u3053\u306a\u3078\u3099","\u3061\u3085\u3046\u3044","\u3061\u3086\u308a\u3087\u304f","\u3061\u3087\u3046\u3057","\u3061\u3087\u3055\u304f\u3051\u3093","\u3061\u3089\u3057","\u3061\u3089\u307f","\u3061\u308a\u304b\u3099\u307f","\u3061\u308a\u3087\u3046","\u3061\u308b\u3068\u3099","\u3061\u308f\u308f","\u3061\u3093\u305f\u3044","\u3061\u3093\u3082\u304f","\u3064\u3044\u304b","\u3064\u3044\u305f\u3061","\u3064\u3046\u304b","\u3064\u3046\u3057\u3099\u3087\u3046","\u3064\u3046\u306f\u3093","\u3064\u3046\u308f","\u3064\u304b\u3046","\u3064\u304b\u308c\u308b","\u3064\u304f\u306d","\u3064\u304f\u308b","\u3064\u3051\u306d","\u3064\u3051\u308b","\u3064\u3053\u3099\u3046","\u3064\u305f\u3048\u308b","\u3064\u3064\u3099\u304f","\u3064\u3064\u3057\u3099","\u3064\u3064\u3080","\u3064\u3068\u3081\u308b","\u3064\u306a\u304b\u3099\u308b","\u3064\u306a\u307f","\u3064\u306d\u3064\u3099\u306d","\u3064\u306e\u308b","\u3064\u3075\u3099\u3059","\u3064\u307e\u3089\u306a\u3044","\u3064\u307e\u308b","\u3064\u307f\u304d","\u3064\u3081\u305f\u3044","\u3064\u3082\u308a","\u3064\u3082\u308b","\u3064\u3088\u3044","\u3064\u308b\u307b\u3099","\u3064\u308b\u307f\u304f","\u3064\u308f\u3082\u306e","\u3064\u308f\u308a","\u3066\u3042\u3057","\u3066\u3042\u3066","\u3066\u3042\u307f","\u3066\u3044\u304a\u3093","\u3066\u3044\u304b","\u3066\u3044\u304d","\u3066\u3044\u3051\u3044","\u3066\u3044\u3053\u304f","\u3066\u3044\u3055\u3064","\u3066\u3044\u3057","\u3066\u3044\u305b\u3044","\u3066\u3044\u305f\u3044","\u3066\u3044\u3068\u3099","\u3066\u3044\u306d\u3044","\u3066\u3044\u3072\u3087\u3046","\u3066\u3044\u3078\u3093","\u3066\u3044\u307b\u3099\u3046","\u3066\u3046\u3061","\u3066\u304a\u304f\u308c","\u3066\u304d\u3068\u3046","\u3066\u304f\u3072\u3099","\u3066\u3099\u3053\u307b\u3099\u3053","\u3066\u3055\u304d\u3099\u3087\u3046","\u3066\u3055\u3051\u3099","\u3066\u3059\u308a","\u3066\u305d\u3046","\u3066\u3061\u304b\u3099\u3044","\u3066\u3061\u3087\u3046","\u3066\u3064\u304b\u3099\u304f","\u3066\u3064\u3064\u3099\u304d","\u3066\u3099\u3063\u306f\u309a","\u3066\u3064\u307b\u3099\u3046","\u3066\u3064\u3084","\u3066\u3099\u306c\u304b\u3048","\u3066\u306c\u304d","\u3066\u306c\u304f\u3099\u3044","\u3066\u306e\u3072\u3089","\u3066\u306f\u3044","\u3066\u3075\u3099\u304f\u308d","\u3066\u3075\u305f\u3099","\u3066\u307b\u3068\u3099\u304d","\u3066\u307b\u3093","\u3066\u307e\u3048","\u3066\u307e\u304d\u3059\u3099\u3057","\u3066\u307f\u3057\u3099\u304b","\u3066\u307f\u3084\u3051\u3099","\u3066\u3089\u3059","\u3066\u308c\u3072\u3099","\u3066\u308f\u3051","\u3066\u308f\u305f\u3057","\u3066\u3099\u3093\u3042\u3064","\u3066\u3093\u3044\u3093","\u3066\u3093\u304b\u3044","\u3066\u3093\u304d","\u3066\u3093\u304f\u3099","\u3066\u3093\u3051\u3093","\u3066\u3093\u3053\u3099\u304f","\u3066\u3093\u3055\u3044","\u3066\u3093\u3057","\u3066\u3093\u3059\u3046","\u3066\u3099\u3093\u3061","\u3066\u3093\u3066\u304d","\u3066\u3093\u3068\u3046","\u3066\u3093\u306a\u3044","\u3066\u3093\u3075\u309a\u3089","\u3066\u3093\u307b\u3099\u3046\u305f\u3099\u3044","\u3066\u3093\u3081\u3064","\u3066\u3093\u3089\u3093\u304b\u3044","\u3066\u3099\u3093\u308a\u3087\u304f","\u3066\u3099\u3093\u308f","\u3068\u3099\u3042\u3044","\u3068\u3044\u308c","\u3068\u3099\u3046\u304b\u3093","\u3068\u3046\u304d\u3085\u3046","\u3068\u3099\u3046\u304f\u3099","\u3068\u3046\u3057","\u3068\u3046\u3080\u304d\u3099","\u3068\u304a\u3044","\u3068\u304a\u304b","\u3068\u304a\u304f","\u3068\u304a\u3059","\u3068\u304a\u308b","\u3068\u304b\u3044","\u3068\u304b\u3059","\u3068\u304d\u304a\u308a","\u3068\u304d\u3068\u3099\u304d","\u3068\u304f\u3044","\u3068\u304f\u3057\u3085\u3046","\u3068\u304f\u3066\u3093","\u3068\u304f\u306b","\u3068\u304f\u3078\u3099\u3064","\u3068\u3051\u3044","\u3068\u3051\u308b","\u3068\u3053\u3084","\u3068\u3055\u304b","\u3068\u3057\u3087\u304b\u3093","\u3068\u305d\u3046","\u3068\u305f\u3093","\u3068\u3061\u3085\u3046","\u3068\u3063\u304d\u3085\u3046","\u3068\u3063\u304f\u3093","\u3068\u3064\u305b\u3099\u3093","\u3068\u3064\u306b\u3085\u3046","\u3068\u3068\u3099\u3051\u308b","\u3068\u3068\u306e\u3048\u308b","\u3068\u306a\u3044","\u3068\u306a\u3048\u308b","\u3068\u306a\u308a","\u3068\u306e\u3055\u307e","\u3068\u306f\u3099\u3059","\u3068\u3099\u3075\u3099\u304b\u3099\u308f","\u3068\u307b\u3046","\u3068\u307e\u308b","\u3068\u3081\u308b","\u3068\u3082\u305f\u3099\u3061","\u3068\u3082\u308b","\u3068\u3099\u3088\u3046\u3072\u3099","\u3068\u3089\u3048\u308b","\u3068\u3093\u304b\u3064","\u3068\u3099\u3093\u3075\u3099\u308a","\u306a\u3044\u304b\u304f","\u306a\u3044\u3053\u3046","\u306a\u3044\u3057\u3087","\u306a\u3044\u3059","\u306a\u3044\u305b\u3093","\u306a\u3044\u305d\u3046","\u306a\u304a\u3059","\u306a\u304b\u3099\u3044","\u306a\u304f\u3059","\u306a\u3051\u3099\u308b","\u306a\u3053\u3046\u3068\u3099","\u306a\u3055\u3051","\u306a\u305f\u3066\u3099\u3053\u3053","\u306a\u3063\u3068\u3046","\u306a\u3064\u3084\u3059\u307f","\u306a\u306a\u304a\u3057","\u306a\u306b\u3053\u3099\u3068","\u306a\u306b\u3082\u306e","\u306a\u306b\u308f","\u306a\u306e\u304b","\u306a\u3075\u305f\u3099","\u306a\u307e\u3044\u304d","\u306a\u307e\u3048","\u306a\u307e\u307f","\u306a\u307f\u305f\u3099","\u306a\u3081\u3089\u304b","\u306a\u3081\u308b","\u306a\u3084\u3080","\u306a\u3089\u3046","\u306a\u3089\u3072\u3099","\u306a\u3089\u3075\u3099","\u306a\u308c\u308b","\u306a\u308f\u3068\u3072\u3099","\u306a\u308f\u306f\u3099\u308a","\u306b\u3042\u3046","\u306b\u3044\u304b\u3099\u305f","\u306b\u3046\u3051","\u306b\u304a\u3044","\u306b\u304b\u3044","\u306b\u304b\u3099\u3066","\u306b\u304d\u3072\u3099","\u306b\u304f\u3057\u307f","\u306b\u304f\u307e\u3093","\u306b\u3051\u3099\u308b","\u306b\u3055\u3093\u304b\u305f\u3093\u305d","\u306b\u3057\u304d","\u306b\u305b\u3082\u306e","\u306b\u3061\u3057\u3099\u3087\u3046","\u306b\u3061\u3088\u3046\u3072\u3099","\u306b\u3063\u304b","\u306b\u3063\u304d","\u306b\u3063\u3051\u3044","\u306b\u3063\u3053\u3046","\u306b\u3063\u3055\u3093","\u306b\u3063\u3057\u3087\u304f","\u306b\u3063\u3059\u3046","\u306b\u3063\u305b\u304d","\u306b\u3063\u3066\u3044","\u306b\u306a\u3046","\u306b\u307b\u3093","\u306b\u307e\u3081","\u306b\u3082\u3064","\u306b\u3084\u308a","\u306b\u3085\u3046\u3044\u3093","\u306b\u308a\u3093\u3057\u3083","\u306b\u308f\u3068\u308a","\u306b\u3093\u3044","\u306b\u3093\u304b","\u306b\u3093\u304d","\u306b\u3093\u3051\u3099\u3093","\u306b\u3093\u3057\u304d","\u306b\u3093\u3059\u3099\u3046","\u306b\u3093\u305d\u3046","\u306b\u3093\u305f\u3044","\u306b\u3093\u3061","\u306b\u3093\u3066\u3044","\u306b\u3093\u306b\u304f","\u306b\u3093\u3075\u309a","\u306b\u3093\u307e\u308a","\u306b\u3093\u3080","\u306b\u3093\u3081\u3044","\u306b\u3093\u3088\u3046","\u306c\u3044\u304f\u304d\u3099","\u306c\u304b\u3059","\u306c\u304f\u3099\u3044\u3068\u308b","\u306c\u304f\u3099\u3046","\u306c\u304f\u3082\u308a","\u306c\u3059\u3080","\u306c\u307e\u3048\u3072\u3099","\u306c\u3081\u308a","\u306c\u3089\u3059","\u306c\u3093\u3061\u3083\u304f","\u306d\u3042\u3051\u3099","\u306d\u3044\u304d","\u306d\u3044\u308b","\u306d\u3044\u308d","\u306d\u304f\u3099\u305b","\u306d\u304f\u305f\u3044","\u306d\u304f\u3089","\u306d\u3053\u305b\u3099","\u306d\u3053\u3080","\u306d\u3055\u3051\u3099","\u306d\u3059\u3053\u3099\u3059","\u306d\u305d\u3078\u3099\u308b","\u306d\u305f\u3099\u3093","\u306d\u3064\u3044","\u306d\u3063\u3057\u3093","\u306d\u3064\u305d\u3099\u3046","\u306d\u3063\u305f\u3044\u304d\u3099\u3087","\u306d\u3075\u3099\u305d\u304f","\u306d\u3075\u305f\u3099","\u306d\u307b\u3099\u3046","\u306d\u307b\u308a\u306f\u307b\u308a","\u306d\u307e\u304d","\u306d\u307e\u308f\u3057","\u306d\u307f\u307f","\u306d\u3080\u3044","\u306d\u3080\u305f\u3044","\u306d\u3082\u3068","\u306d\u3089\u3046","\u306d\u308f\u3055\u3099","\u306d\u3093\u3044\u308a","\u306d\u3093\u304a\u3057","\u306d\u3093\u304b\u3093","\u306d\u3093\u304d\u3093","\u306d\u3093\u304f\u3099","\u306d\u3093\u3055\u3099","\u306d\u3093\u3057","\u306d\u3093\u3061\u3083\u304f","\u306d\u3093\u3068\u3099","\u306d\u3093\u3072\u309a","\u306d\u3093\u3075\u3099\u3064","\u306d\u3093\u307e\u3064","\u306d\u3093\u308a\u3087\u3046","\u306d\u3093\u308c\u3044","\u306e\u3044\u3059\u3099","\u306e\u304a\u3064\u3099\u307e","\u306e\u304b\u3099\u3059","\u306e\u304d\u306a\u307f","\u306e\u3053\u304d\u3099\u308a","\u306e\u3053\u3059","\u306e\u3053\u308b","\u306e\u305b\u308b","\u306e\u305d\u3099\u304f","\u306e\u305d\u3099\u3080","\u306e\u305f\u307e\u3046","\u306e\u3061\u307b\u3068\u3099","\u306e\u3063\u304f","\u306e\u306f\u3099\u3059","\u306e\u306f\u3089","\u306e\u3078\u3099\u308b","\u306e\u307b\u3099\u308b","\u306e\u307f\u3082\u306e","\u306e\u3084\u307e","\u306e\u3089\u3044\u306c","\u306e\u3089\u306d\u3053","\u306e\u308a\u3082\u306e","\u306e\u308a\u3086\u304d","\u306e\u308c\u3093","\u306e\u3093\u304d","\u306f\u3099\u3042\u3044","\u306f\u3042\u304f","\u306f\u3099\u3042\u3055\u3093","\u306f\u3099\u3044\u304b","\u306f\u3099\u3044\u304f","\u306f\u3044\u3051\u3093","\u306f\u3044\u3053\u3099","\u306f\u3044\u3057\u3093","\u306f\u3044\u3059\u3044","\u306f\u3044\u305b\u3093","\u306f\u3044\u305d\u3046","\u306f\u3044\u3061","\u306f\u3099\u3044\u306f\u3099\u3044","\u306f\u3044\u308c\u3064","\u306f\u3048\u308b","\u306f\u304a\u308b","\u306f\u304b\u3044","\u306f\u3099\u304b\u308a","\u306f\u304b\u308b","\u306f\u304f\u3057\u3085","\u306f\u3051\u3093","\u306f\u3053\u3075\u3099","\u306f\u3055\u307f","\u306f\u3055\u3093","\u306f\u3057\u3053\u3099","\u306f\u3099\u3057\u3087","\u306f\u3057\u308b","\u306f\u305b\u308b","\u306f\u309a\u305d\u3053\u3093","\u306f\u305d\u3093","\u306f\u305f\u3093","\u306f\u3061\u307f\u3064","\u306f\u3064\u304a\u3093","\u306f\u3063\u304b\u304f","\u306f\u3064\u3099\u304d","\u306f\u3063\u304d\u308a","\u306f\u3063\u304f\u3064","\u306f\u3063\u3051\u3093","\u306f\u3063\u3053\u3046","\u306f\u3063\u3055\u3093","\u306f\u3063\u3057\u3093","\u306f\u3063\u305f\u3064","\u306f\u3063\u3061\u3085\u3046","\u306f\u3063\u3066\u3093","\u306f\u3063\u3072\u309a\u3087\u3046","\u306f\u3063\u307b\u309a\u3046","\u306f\u306a\u3059","\u306f\u306a\u3072\u3099","\u306f\u306b\u304b\u3080","\u306f\u3075\u3099\u3089\u3057","\u306f\u307f\u304b\u3099\u304d","\u306f\u3080\u304b\u3046","\u306f\u3081\u3064","\u306f\u3084\u3044","\u306f\u3084\u3057","\u306f\u3089\u3046","\u306f\u308d\u3046\u3043\u3093","\u306f\u308f\u3044","\u306f\u3093\u3044","\u306f\u3093\u3048\u3044","\u306f\u3093\u304a\u3093","\u306f\u3093\u304b\u304f","\u306f\u3093\u304d\u3087\u3046","\u306f\u3099\u3093\u304f\u3099\u307f","\u306f\u3093\u3053","\u306f\u3093\u3057\u3083","\u306f\u3093\u3059\u3046","\u306f\u3093\u305f\u3099\u3093","\u306f\u309a\u3093\u3061","\u306f\u309a\u3093\u3064","\u306f\u3093\u3066\u3044","\u306f\u3093\u3068\u3057","\u306f\u3093\u306e\u3046","\u306f\u3093\u306f\u309a","\u306f\u3093\u3075\u3099\u3093","\u306f\u3093\u3078\u309a\u3093","\u306f\u3093\u307b\u3099\u3046\u304d","\u306f\u3093\u3081\u3044","\u306f\u3093\u3089\u3093","\u306f\u3093\u308d\u3093","\u3072\u3044\u304d","\u3072\u3046\u3093","\u3072\u3048\u308b","\u3072\u304b\u304f","\u3072\u304b\u308a","\u3072\u304b\u308b","\u3072\u304b\u3093","\u3072\u304f\u3044","\u3072\u3051\u3064","\u3072\u3053\u3046\u304d","\u3072\u3053\u304f","\u3072\u3055\u3044","\u3072\u3055\u3057\u3075\u3099\u308a","\u3072\u3055\u3093","\u3072\u3099\u3057\u3099\u3085\u3064\u304b\u3093","\u3072\u3057\u3087","\u3072\u305d\u304b","\u3072\u305d\u3080","\u3072\u305f\u3080\u304d","\u3072\u305f\u3099\u308a","\u3072\u305f\u308b","\u3072\u3064\u304d\u3099","\u3072\u3063\u3053\u3057","\u3072\u3063\u3057","\u3072\u3064\u3057\u3099\u3085\u3072\u3093","\u3072\u3063\u3059","\u3072\u3064\u305b\u3099\u3093","\u3072\u309a\u3063\u305f\u308a","\u3072\u309a\u3063\u3061\u308a","\u3072\u3064\u3088\u3046","\u3072\u3066\u3044","\u3072\u3068\u3053\u3099\u307f","\u3072\u306a\u307e\u3064\u308a","\u3072\u306a\u3093","\u3072\u306d\u308b","\u3072\u306f\u3093","\u3072\u3072\u3099\u304f","\u3072\u3072\u3087\u3046","\u3072\u307b\u3046","\u3072\u307e\u308f\u308a","\u3072\u307e\u3093","\u3072\u307f\u3064","\u3072\u3081\u3044","\u3072\u3081\u3057\u3099\u3057","\u3072\u3084\u3051","\u3072\u3084\u3059","\u3072\u3088\u3046","\u3072\u3099\u3087\u3046\u304d","\u3072\u3089\u304b\u3099\u306a","\u3072\u3089\u304f","\u3072\u308a\u3064","\u3072\u308a\u3087\u3046","\u3072\u308b\u307e","\u3072\u308b\u3084\u3059\u307f","\u3072\u308c\u3044","\u3072\u308d\u3044","\u3072\u308d\u3046","\u3072\u308d\u304d","\u3072\u308d\u3086\u304d","\u3072\u3093\u304b\u304f","\u3072\u3093\u3051\u3064","\u3072\u3093\u3053\u3093","\u3072\u3093\u3057\u3085","\u3072\u3093\u305d\u3046","\u3072\u309a\u3093\u3061","\u3072\u3093\u306f\u309a\u3093","\u3072\u3099\u3093\u307b\u3099\u3046","\u3075\u3042\u3093","\u3075\u3044\u3046\u3061","\u3075\u3046\u3051\u3044","\u3075\u3046\u305b\u3093","\u3075\u309a\u3046\u305f\u308d\u3046","\u3075\u3046\u3068\u3046","\u3075\u3046\u3075","\u3075\u3048\u308b","\u3075\u304a\u3093","\u3075\u304b\u3044","\u3075\u304d\u3093","\u3075\u304f\u3055\u3099\u3064","\u3075\u304f\u3075\u3099\u304f\u308d","\u3075\u3053\u3046","\u3075\u3055\u3044","\u3075\u3057\u304d\u3099","\u3075\u3057\u3099\u307f","\u3075\u3059\u307e","\u3075\u305b\u3044","\u3075\u305b\u304f\u3099","\u3075\u305d\u304f","\u3075\u3099\u305f\u306b\u304f","\u3075\u305f\u3093","\u3075\u3061\u3087\u3046","\u3075\u3064\u3046","\u3075\u3064\u304b","\u3075\u3063\u304b\u3064","\u3075\u3063\u304d","\u3075\u3063\u3053\u304f","\u3075\u3099\u3068\u3099\u3046","\u3075\u3068\u308b","\u3075\u3068\u3093","\u3075\u306e\u3046","\u3075\u306f\u3044","\u3075\u3072\u3087\u3046","\u3075\u3078\u3093","\u3075\u307e\u3093","\u3075\u307f\u3093","\u3075\u3081\u3064","\u3075\u3081\u3093","\u3075\u3088\u3046","\u3075\u308a\u3053","\u3075\u308a\u308b","\u3075\u308b\u3044","\u3075\u3093\u3044\u304d","\u3075\u3099\u3093\u304b\u3099\u304f","\u3075\u3099\u3093\u304f\u3099","\u3075\u3093\u3057\u3064","\u3075\u3099\u3093\u305b\u304d","\u3075\u3093\u305d\u3046","\u3075\u3099\u3093\u307b\u309a\u3046","\u3078\u3044\u3042\u3093","\u3078\u3044\u304a\u3093","\u3078\u3044\u304b\u3099\u3044","\u3078\u3044\u304d","\u3078\u3044\u3051\u3099\u3093","\u3078\u3044\u3053\u3046","\u3078\u3044\u3055","\u3078\u3044\u3057\u3083","\u3078\u3044\u305b\u3064","\u3078\u3044\u305d","\u3078\u3044\u305f\u304f","\u3078\u3044\u3066\u3093","\u3078\u3044\u306d\u3064","\u3078\u3044\u308f","\u3078\u304d\u304b\u3099","\u3078\u3053\u3080","\u3078\u3099\u306b\u3044\u308d","\u3078\u3099\u306b\u3057\u3087\u3046\u304b\u3099","\u3078\u3089\u3059","\u3078\u3093\u304b\u3093","\u3078\u3099\u3093\u304d\u3087\u3046","\u3078\u3099\u3093\u3053\u3099\u3057","\u3078\u3093\u3055\u3044","\u3078\u3093\u305f\u3044","\u3078\u3099\u3093\u308a","\u307b\u3042\u3093","\u307b\u3044\u304f","\u307b\u3099\u3046\u304d\u3099\u3087","\u307b\u3046\u3053\u304f","\u307b\u3046\u305d\u3046","\u307b\u3046\u307b\u3046","\u307b\u3046\u3082\u3093","\u307b\u3046\u308a\u3064","\u307b\u3048\u308b","\u307b\u304a\u3093","\u307b\u304b\u3093","\u307b\u304d\u3087\u3046","\u307b\u3099\u304d\u3093","\u307b\u304f\u308d","\u307b\u3051\u3064","\u307b\u3051\u3093","\u307b\u3053\u3046","\u307b\u3053\u308b","\u307b\u3057\u3044","\u307b\u3057\u3064","\u307b\u3057\u3085","\u307b\u3057\u3087\u3046","\u307b\u305b\u3044","\u307b\u305d\u3044","\u307b\u305d\u304f","\u307b\u305f\u3066","\u307b\u305f\u308b","\u307b\u309a\u3061\u3075\u3099\u304f\u308d","\u307b\u3063\u304d\u3087\u304f","\u307b\u3063\u3055","\u307b\u3063\u305f\u3093","\u307b\u3068\u3093\u3068\u3099","\u307b\u3081\u308b","\u307b\u3093\u3044","\u307b\u3093\u304d","\u307b\u3093\u3051","\u307b\u3093\u3057\u3064","\u307b\u3093\u3084\u304f","\u307e\u3044\u306b\u3061","\u307e\u304b\u3044","\u307e\u304b\u305b\u308b","\u307e\u304b\u3099\u308b","\u307e\u3051\u308b","\u307e\u3053\u3068","\u307e\u3055\u3064","\u307e\u3057\u3099\u3081","\u307e\u3059\u304f","\u307e\u305b\u3099\u308b","\u307e\u3064\u308a","\u307e\u3068\u3081","\u307e\u306a\u3075\u3099","\u307e\u306c\u3051","\u307e\u306d\u304f","\u307e\u307b\u3046","\u307e\u3082\u308b","\u307e\u3086\u3051\u3099","\u307e\u3088\u3046","\u307e\u308d\u3084\u304b","\u307e\u308f\u3059","\u307e\u308f\u308a","\u307e\u308f\u308b","\u307e\u3093\u304b\u3099","\u307e\u3093\u304d\u3064","\u307e\u3093\u305d\u3099\u304f","\u307e\u3093\u306a\u304b","\u307f\u3044\u3089","\u307f\u3046\u3061","\u307f\u3048\u308b","\u307f\u304b\u3099\u304f","\u307f\u304b\u305f","\u307f\u304b\u3093","\u307f\u3051\u3093","\u307f\u3053\u3093","\u307f\u3057\u3099\u304b\u3044","\u307f\u3059\u3044","\u307f\u3059\u3048\u308b","\u307f\u305b\u308b","\u307f\u3063\u304b","\u307f\u3064\u304b\u308b","\u307f\u3064\u3051\u308b","\u307f\u3066\u3044","\u307f\u3068\u3081\u308b","\u307f\u306a\u3068","\u307f\u306a\u307f\u304b\u3055\u3044","\u307f\u306d\u3089\u308b","\u307f\u306e\u3046","\u307f\u306e\u304b\u3099\u3059","\u307f\u307b\u3093","\u307f\u3082\u3068","\u307f\u3084\u3051\u3099","\u307f\u3089\u3044","\u307f\u308a\u3087\u304f","\u307f\u308f\u304f","\u307f\u3093\u304b","\u307f\u3093\u305d\u3099\u304f","\u3080\u3044\u304b","\u3080\u3048\u304d","\u3080\u3048\u3093","\u3080\u304b\u3044","\u3080\u304b\u3046","\u3080\u304b\u3048","\u3080\u304b\u3057","\u3080\u304d\u3099\u3061\u3083","\u3080\u3051\u308b","\u3080\u3051\u3099\u3093","\u3080\u3055\u307b\u3099\u308b","\u3080\u3057\u3042\u3064\u3044","\u3080\u3057\u306f\u3099","\u3080\u3057\u3099\u3085\u3093","\u3080\u3057\u308d","\u3080\u3059\u3046","\u3080\u3059\u3053","\u3080\u3059\u3075\u3099","\u3080\u3059\u3081","\u3080\u305b\u308b","\u3080\u305b\u3093","\u3080\u3061\u3085\u3046","\u3080\u306a\u3057\u3044","\u3080\u306e\u3046","\u3080\u3084\u307f","\u3080\u3088\u3046","\u3080\u3089\u3055\u304d","\u3080\u308a\u3087\u3046","\u3080\u308d\u3093","\u3081\u3044\u3042\u3093","\u3081\u3044\u3046\u3093","\u3081\u3044\u3048\u3093","\u3081\u3044\u304b\u304f","\u3081\u3044\u304d\u3087\u304f","\u3081\u3044\u3055\u3044","\u3081\u3044\u3057","\u3081\u3044\u305d\u3046","\u3081\u3044\u3075\u3099\u3064","\u3081\u3044\u308c\u3044","\u3081\u3044\u308f\u304f","\u3081\u304f\u3099\u307e\u308c\u308b","\u3081\u3055\u3099\u3059","\u3081\u3057\u305f","\u3081\u3059\u3099\u3089\u3057\u3044","\u3081\u305f\u3099\u3064","\u3081\u307e\u3044","\u3081\u3084\u3059","\u3081\u3093\u304d\u3087","\u3081\u3093\u305b\u304d","\u3081\u3093\u3068\u3099\u3046","\u3082\u3046\u3057\u3042\u3051\u3099\u308b","\u3082\u3046\u3068\u3099\u3046\u3051\u3093","\u3082\u3048\u308b","\u3082\u304f\u3057","\u3082\u304f\u3066\u304d","\u3082\u304f\u3088\u3046\u3072\u3099","\u3082\u3061\u308d\u3093","\u3082\u3068\u3099\u308b","\u3082\u3089\u3046","\u3082\u3093\u304f","\u3082\u3093\u305f\u3099\u3044","\u3084\u304a\u3084","\u3084\u3051\u308b","\u3084\u3055\u3044","\u3084\u3055\u3057\u3044","\u3084\u3059\u3044","\u3084\u3059\u305f\u308d\u3046","\u3084\u3059\u307f","\u3084\u305b\u308b","\u3084\u305d\u3046","\u3084\u305f\u3044","\u3084\u3061\u3093","\u3084\u3063\u3068","\u3084\u3063\u306f\u309a\u308a","\u3084\u3075\u3099\u308b","\u3084\u3081\u308b","\u3084\u3084\u3053\u3057\u3044","\u3084\u3088\u3044","\u3084\u308f\u3089\u304b\u3044","\u3086\u3046\u304d","\u3086\u3046\u3072\u3099\u3093\u304d\u3087\u304f","\u3086\u3046\u3078\u3099","\u3086\u3046\u3081\u3044","\u3086\u3051\u3064","\u3086\u3057\u3085\u3064","\u3086\u305b\u3093","\u3086\u305d\u3046","\u3086\u305f\u304b","\u3086\u3061\u3083\u304f","\u3086\u3066\u3099\u308b","\u3086\u306b\u3085\u3046","\u3086\u3072\u3099\u308f","\u3086\u3089\u3044","\u3086\u308c\u308b","\u3088\u3046\u3044","\u3088\u3046\u304b","\u3088\u3046\u304d\u3085\u3046","\u3088\u3046\u3057\u3099","\u3088\u3046\u3059","\u3088\u3046\u3061\u3048\u3093","\u3088\u304b\u305b\u3099","\u3088\u304b\u3093","\u3088\u304d\u3093","\u3088\u304f\u305b\u3044","\u3088\u304f\u307b\u3099\u3046","\u3088\u3051\u3044","\u3088\u3053\u3099\u308c\u308b","\u3088\u3055\u3093","\u3088\u3057\u3085\u3046","\u3088\u305d\u3046","\u3088\u305d\u304f","\u3088\u3063\u304b","\u3088\u3066\u3044","\u3088\u3068\u3099\u304b\u3099\u308f\u304f","\u3088\u306d\u3064","\u3088\u3084\u304f","\u3088\u3086\u3046","\u3088\u308d\u3053\u3075\u3099","\u3088\u308d\u3057\u3044","\u3089\u3044\u3046","\u3089\u304f\u304b\u3099\u304d","\u3089\u304f\u3053\u3099","\u3089\u304f\u3055\u3064","\u3089\u304f\u305f\u3099","\u3089\u3057\u3093\u306f\u3099\u3093","\u3089\u305b\u3093","\u3089\u305d\u3099\u304f","\u3089\u305f\u3044","\u3089\u3063\u304b","\u3089\u308c\u3064","\u308a\u3048\u304d","\u308a\u304b\u3044","\u308a\u304d\u3055\u304f","\u308a\u304d\u305b\u3064","\u308a\u304f\u304f\u3099\u3093","\u308a\u304f\u3064","\u308a\u3051\u3093","\u308a\u3053\u3046","\u308a\u305b\u3044","\u308a\u305d\u3046","\u308a\u305d\u304f","\u308a\u3066\u3093","\u308a\u306d\u3093","\u308a\u3086\u3046","\u308a\u3085\u3046\u304b\u3099\u304f","\u308a\u3088\u3046","\u308a\u3087\u3046\u308a","\u308a\u3087\u304b\u3093","\u308a\u3087\u304f\u3061\u3083","\u308a\u3087\u3053\u3046","\u308a\u308a\u304f","\u308a\u308c\u304d","\u308a\u308d\u3093","\u308a\u3093\u3053\u3099","\u308b\u3044\u3051\u3044","\u308b\u3044\u3055\u3044","\u308b\u3044\u3057\u3099","\u308b\u3044\u305b\u304d","\u308b\u3059\u306f\u3099\u3093","\u308b\u308a\u304b\u3099\u308f\u3089","\u308c\u3044\u304b\u3093","\u308c\u3044\u304d\u3099","\u308c\u3044\u305b\u3044","\u308c\u3044\u305d\u3099\u3046\u3053","\u308c\u3044\u3068\u3046","\u308c\u3044\u307b\u3099\u3046","\u308c\u304d\u3057","\u308c\u304d\u305f\u3099\u3044","\u308c\u3093\u3042\u3044","\u308c\u3093\u3051\u3044","\u308c\u3093\u3053\u3093","\u308c\u3093\u3055\u3044","\u308c\u3093\u3057\u3085\u3046","\u308c\u3093\u305d\u3099\u304f","\u308c\u3093\u3089\u304f","\u308d\u3046\u304b","\u308d\u3046\u3053\u3099","\u308d\u3046\u3057\u3099\u3093","\u308d\u3046\u305d\u304f","\u308d\u304f\u304b\u3099","\u308d\u3053\u3064","\u308d\u3057\u3099\u3046\u3089","\u308d\u3057\u3085\u3064","\u308d\u305b\u3093","\u308d\u3066\u3093","\u308d\u3081\u3093","\u308d\u308c\u3064","\u308d\u3093\u304d\u3099","\u308d\u3093\u306f\u309a","\u308d\u3093\u3075\u3099\u3093","\u308d\u3093\u308a","\u308f\u304b\u3059","\u308f\u304b\u3081","\u308f\u304b\u3084\u307e","\u308f\u304b\u308c\u308b","\u308f\u3057\u3064","\u308f\u3057\u3099\u307e\u3057","\u308f\u3059\u308c\u3082\u306e","\u308f\u3089\u3046","\u308f\u308c\u308b"]')},8013:e=>{"use strict";e.exports=JSON.parse('["\u1100\u1161\u1100\u1167\u11a8","\u1100\u1161\u1101\u1173\u11b7","\u1100\u1161\u1102\u1161\u11ab","\u1100\u1161\u1102\u1173\u11bc","\u1100\u1161\u1103\u1173\u11a8","\u1100\u1161\u1105\u1173\u110e\u1175\u11b7","\u1100\u1161\u1106\u116e\u11b7","\u1100\u1161\u1107\u1161\u11bc","\u1100\u1161\u1109\u1161\u11bc","\u1100\u1161\u1109\u1173\u11b7","\u1100\u1161\u110b\u116e\u11ab\u1103\u1166","\u1100\u1161\u110b\u1173\u11af","\u1100\u1161\u110b\u1175\u1103\u1173","\u1100\u1161\u110b\u1175\u11b8","\u1100\u1161\u110c\u1161\u11bc","\u1100\u1161\u110c\u1165\u11bc","\u1100\u1161\u110c\u1169\u11a8","\u1100\u1161\u110c\u116e\u11a8","\u1100\u1161\u11a8\u110b\u1169","\u1100\u1161\u11a8\u110c\u1161","\u1100\u1161\u11ab\u1100\u1167\u11a8","\u1100\u1161\u11ab\u1107\u116e","\u1100\u1161\u11ab\u1109\u1165\u11b8","\u1100\u1161\u11ab\u110c\u1161\u11bc","\u1100\u1161\u11ab\u110c\u1165\u11b8","\u1100\u1161\u11ab\u1111\u1161\u11ab","\u1100\u1161\u11af\u1103\u1173\u11bc","\u1100\u1161\u11af\u1107\u1175","\u1100\u1161\u11af\u1109\u1162\u11a8","\u1100\u1161\u11af\u110c\u1173\u11bc","\u1100\u1161\u11b7\u1100\u1161\u11a8","\u1100\u1161\u11b7\u1100\u1175","\u1100\u1161\u11b7\u1109\u1169","\u1100\u1161\u11b7\u1109\u116e\u1109\u1165\u11bc","\u1100\u1161\u11b7\u110c\u1161","\u1100\u1161\u11b7\u110c\u1165\u11bc","\u1100\u1161\u11b8\u110c\u1161\u1100\u1175","\u1100\u1161\u11bc\u1102\u1161\u11b7","\u1100\u1161\u11bc\u1103\u1161\u11bc","\u1100\u1161\u11bc\u1103\u1169","\u1100\u1161\u11bc\u1105\u1167\u11a8\u1112\u1175","\u1100\u1161\u11bc\u1107\u1167\u11ab","\u1100\u1161\u11bc\u1107\u116e\u11a8","\u1100\u1161\u11bc\u1109\u1161","\u1100\u1161\u11bc\u1109\u116e\u1105\u1163\u11bc","\u1100\u1161\u11bc\u110b\u1161\u110c\u1175","\u1100\u1161\u11bc\u110b\u116f\u11ab\u1103\u1169","\u1100\u1161\u11bc\u110b\u1174","\u1100\u1161\u11bc\u110c\u1166","\u1100\u1161\u11bc\u110c\u1169","\u1100\u1161\u11c0\u110b\u1175","\u1100\u1162\u1100\u116e\u1105\u1175","\u1100\u1162\u1102\u1161\u1105\u1175","\u1100\u1162\u1107\u1161\u11bc","\u1100\u1162\u1107\u1167\u11af","\u1100\u1162\u1109\u1165\u11ab","\u1100\u1162\u1109\u1165\u11bc","\u1100\u1162\u110b\u1175\u11ab","\u1100\u1162\u11a8\u1100\u116a\u11ab\u110c\u1165\u11a8","\u1100\u1165\u1109\u1175\u11af","\u1100\u1165\u110b\u1162\u11a8","\u1100\u1165\u110b\u116e\u11af","\u1100\u1165\u110c\u1175\u11ba","\u1100\u1165\u1111\u116e\u11b7","\u1100\u1165\u11a8\u110c\u1165\u11bc","\u1100\u1165\u11ab\u1100\u1161\u11bc","\u1100\u1165\u11ab\u1106\u116e\u11af","\u1100\u1165\u11ab\u1109\u1165\u11af","\u1100\u1165\u11ab\u110c\u1169","\u1100\u1165\u11ab\u110e\u116e\u11a8","\u1100\u1165\u11af\u110b\u1173\u11b7","\u1100\u1165\u11b7\u1109\u1161","\u1100\u1165\u11b7\u1110\u1169","\u1100\u1166\u1109\u1175\u1111\u1161\u11ab","\u1100\u1166\u110b\u1175\u11b7","\u1100\u1167\u110b\u116e\u11af","\u1100\u1167\u11ab\u1112\u1162","\u1100\u1167\u11af\u1100\u116a","\u1100\u1167\u11af\u1100\u116e\u11a8","\u1100\u1167\u11af\u1105\u1169\u11ab","\u1100\u1167\u11af\u1109\u1165\u11a8","\u1100\u1167\u11af\u1109\u1173\u11bc","\u1100\u1167\u11af\u1109\u1175\u11b7","\u1100\u1167\u11af\u110c\u1165\u11bc","\u1100\u1167\u11af\u1112\u1169\u11ab","\u1100\u1167\u11bc\u1100\u1168","\u1100\u1167\u11bc\u1100\u1169","\u1100\u1167\u11bc\u1100\u1175","\u1100\u1167\u11bc\u1105\u1167\u11a8","\u1100\u1167\u11bc\u1107\u1169\u11a8\u1100\u116e\u11bc","\u1100\u1167\u11bc\u1107\u1175","\u1100\u1167\u11bc\u1109\u1161\u11bc\u1103\u1169","\u1100\u1167\u11bc\u110b\u1167\u11bc","\u1100\u1167\u11bc\u110b\u116e","\u1100\u1167\u11bc\u110c\u1162\u11bc","\u1100\u1167\u11bc\u110c\u1166","\u1100\u1167\u11bc\u110c\u116e","\u1100\u1167\u11bc\u110e\u1161\u11af","\u1100\u1167\u11bc\u110e\u1175","\u1100\u1167\u11bc\u1112\u1163\u11bc","\u1100\u1167\u11bc\u1112\u1165\u11b7","\u1100\u1168\u1100\u1169\u11a8","\u1100\u1168\u1103\u1161\u11ab","\u1100\u1168\u1105\u1161\u11ab","\u1100\u1168\u1109\u1161\u11ab","\u1100\u1168\u1109\u1169\u11a8","\u1100\u1168\u110b\u1163\u11a8","\u1100\u1168\u110c\u1165\u11af","\u1100\u1168\u110e\u1173\u11bc","\u1100\u1168\u1112\u116c\u11a8","\u1100\u1169\u1100\u1162\u11a8","\u1100\u1169\u1100\u116e\u1105\u1167","\u1100\u1169\u1100\u116e\u11bc","\u1100\u1169\u1100\u1173\u11b8","\u1100\u1169\u1103\u1173\u11bc\u1112\u1161\u11a8\u1109\u1162\u11bc","\u1100\u1169\u1106\u116e\u1109\u1175\u11ab","\u1100\u1169\u1106\u1175\u11ab","\u1100\u1169\u110b\u1163\u11bc\u110b\u1175","\u1100\u1169\u110c\u1161\u11bc","\u1100\u1169\u110c\u1165\u11ab","\u1100\u1169\u110c\u1175\u11b8","\u1100\u1169\u110e\u116e\u11ba\u1100\u1161\u1105\u116e","\u1100\u1169\u1110\u1169\u11bc","\u1100\u1169\u1112\u1163\u11bc","\u1100\u1169\u11a8\u1109\u1175\u11a8","\u1100\u1169\u11af\u1106\u1169\u11a8","\u1100\u1169\u11af\u110d\u1161\u1100\u1175","\u1100\u1169\u11af\u1111\u1173","\u1100\u1169\u11bc\u1100\u1161\u11ab","\u1100\u1169\u11bc\u1100\u1162","\u1100\u1169\u11bc\u1100\u1167\u11a8","\u1100\u1169\u11bc\u1100\u116e\u11ab","\u1100\u1169\u11bc\u1100\u1173\u11b8","\u1100\u1169\u11bc\u1100\u1175","\u1100\u1169\u11bc\u1103\u1169\u11bc","\u1100\u1169\u11bc\u1106\u116e\u110b\u116f\u11ab","\u1100\u1169\u11bc\u1107\u116e","\u1100\u1169\u11bc\u1109\u1161","\u1100\u1169\u11bc\u1109\u1175\u11a8","\u1100\u1169\u11bc\u110b\u1165\u11b8","\u1100\u1169\u11bc\u110b\u1167\u11ab","\u1100\u1169\u11bc\u110b\u116f\u11ab","\u1100\u1169\u11bc\u110c\u1161\u11bc","\u1100\u1169\u11bc\u110d\u1161","\u1100\u1169\u11bc\u110e\u1162\u11a8","\u1100\u1169\u11bc\u1110\u1169\u11bc","\u1100\u1169\u11bc\u1111\u1169","\u1100\u1169\u11bc\u1112\u1161\u11bc","\u1100\u1169\u11bc\u1112\u1172\u110b\u1175\u11af","\u1100\u116a\u1106\u1169\u11a8","\u1100\u116a\u110b\u1175\u11af","\u1100\u116a\u110c\u1161\u11bc","\u1100\u116a\u110c\u1165\u11bc","\u1100\u116a\u1112\u1161\u11a8","\u1100\u116a\u11ab\u1100\u1162\u11a8","\u1100\u116a\u11ab\u1100\u1168","\u1100\u116a\u11ab\u1100\u116a\u11bc","\u1100\u116a\u11ab\u1102\u1167\u11b7","\u1100\u116a\u11ab\u1105\u1161\u11b7","\u1100\u116a\u11ab\u1105\u1167\u11ab","\u1100\u116a\u11ab\u1105\u1175","\u1100\u116a\u11ab\u1109\u1173\u11b8","\u1100\u116a\u11ab\u1109\u1175\u11b7","\u1100\u116a\u11ab\u110c\u1165\u11b7","\u1100\u116a\u11ab\u110e\u1161\u11af","\u1100\u116a\u11bc\u1100\u1167\u11bc","\u1100\u116a\u11bc\u1100\u1169","\u1100\u116a\u11bc\u110c\u1161\u11bc","\u1100\u116a\u11bc\u110c\u116e","\u1100\u116c\u1105\u1169\u110b\u116e\u11b7","\u1100\u116c\u11bc\u110c\u1161\u11bc\u1112\u1175","\u1100\u116d\u1100\u116a\u1109\u1165","\u1100\u116d\u1106\u116e\u11ab","\u1100\u116d\u1107\u1169\u11a8","\u1100\u116d\u1109\u1175\u11af","\u1100\u116d\u110b\u1163\u11bc","\u1100\u116d\u110b\u1172\u11a8","\u1100\u116d\u110c\u1161\u11bc","\u1100\u116d\u110c\u1175\u11a8","\u1100\u116d\u1110\u1169\u11bc","\u1100\u116d\u1112\u116a\u11ab","\u1100\u116d\u1112\u116e\u11ab","\u1100\u116e\u1100\u1167\u11bc","\u1100\u116e\u1105\u1173\u11b7","\u1100\u116e\u1106\u1165\u11bc","\u1100\u116e\u1107\u1167\u11af","\u1100\u116e\u1107\u116e\u11ab","\u1100\u116e\u1109\u1165\u11a8","\u1100\u116e\u1109\u1165\u11bc","\u1100\u116e\u1109\u1169\u11a8","\u1100\u116e\u110b\u1167\u11a8","\u1100\u116e\u110b\u1175\u11b8","\u1100\u116e\u110e\u1165\u11bc","\u1100\u116e\u110e\u1166\u110c\u1165\u11a8","\u1100\u116e\u11a8\u1100\u1161","\u1100\u116e\u11a8\u1100\u1175","\u1100\u116e\u11a8\u1102\u1162","\u1100\u116e\u11a8\u1105\u1175\u11b8","\u1100\u116e\u11a8\u1106\u116e\u11af","\u1100\u116e\u11a8\u1106\u1175\u11ab","\u1100\u116e\u11a8\u1109\u116e","\u1100\u116e\u11a8\u110b\u1165","\u1100\u116e\u11a8\u110b\u116a\u11bc","\u1100\u116e\u11a8\u110c\u1165\u11a8","\u1100\u116e\u11a8\u110c\u1166","\u1100\u116e\u11a8\u1112\u116c","\u1100\u116e\u11ab\u1103\u1162","\u1100\u116e\u11ab\u1109\u1161","\u1100\u116e\u11ab\u110b\u1175\u11ab","\u1100\u116e\u11bc\u1100\u1173\u11a8\u110c\u1165\u11a8","\u1100\u116f\u11ab\u1105\u1175","\u1100\u116f\u11ab\u110b\u1171","\u1100\u116f\u11ab\u1110\u116e","\u1100\u1171\u1100\u116e\u11a8","\u1100\u1171\u1109\u1175\u11ab","\u1100\u1172\u110c\u1165\u11bc","\u1100\u1172\u110e\u1175\u11a8","\u1100\u1172\u11ab\u1112\u1167\u11bc","\u1100\u1173\u1102\u1161\u11af","\u1100\u1173\u1102\u1163\u11bc","\u1100\u1173\u1102\u1173\u11af","\u1100\u1173\u1105\u1165\u1102\u1161","\u1100\u1173\u1105\u116e\u11b8","\u1100\u1173\u1105\u1173\u11ba","\u1100\u1173\u1105\u1175\u11b7","\u1100\u1173\u110c\u1166\u1109\u1165\u110b\u1163","\u1100\u1173\u1110\u1169\u1105\u1169\u11a8","\u1100\u1173\u11a8\u1107\u1169\u11a8","\u1100\u1173\u11a8\u1112\u1175","\u1100\u1173\u11ab\u1100\u1165","\u1100\u1173\u11ab\u1100\u116d","\u1100\u1173\u11ab\u1105\u1162","\u1100\u1173\u11ab\u1105\u1169","\u1100\u1173\u11ab\u1106\u116e","\u1100\u1173\u11ab\u1107\u1169\u11ab","\u1100\u1173\u11ab\u110b\u116f\u11ab","\u1100\u1173\u11ab\u110b\u1172\u11a8","\u1100\u1173\u11ab\u110e\u1165","\u1100\u1173\u11af\u110a\u1175","\u1100\u1173\u11af\u110c\u1161","\u1100\u1173\u11b7\u1100\u1161\u11bc\u1109\u1161\u11ab","\u1100\u1173\u11b7\u1100\u1169","\u1100\u1173\u11b7\u1102\u1167\u11ab","\u1100\u1173\u11b7\u1106\u1166\u1103\u1161\u11af","\u1100\u1173\u11b7\u110b\u1162\u11a8","\u1100\u1173\u11b7\u110b\u1167\u11ab","\u1100\u1173\u11b7\u110b\u116d\u110b\u1175\u11af","\u1100\u1173\u11b7\u110c\u1175","\u1100\u1173\u11bc\u110c\u1165\u11bc\u110c\u1165\u11a8","\u1100\u1175\u1100\u1161\u11ab","\u1100\u1175\u1100\u116a\u11ab","\u1100\u1175\u1102\u1167\u11b7","\u1100\u1175\u1102\u1173\u11bc","\u1100\u1175\u1103\u1169\u11a8\u1100\u116d","\u1100\u1175\u1103\u116e\u11bc","\u1100\u1175\u1105\u1169\u11a8","\u1100\u1175\u1105\u1173\u11b7","\u1100\u1175\u1107\u1165\u11b8","\u1100\u1175\u1107\u1169\u11ab","\u1100\u1175\u1107\u116e\u11ab","\u1100\u1175\u1108\u1173\u11b7","\u1100\u1175\u1109\u116e\u11a8\u1109\u1161","\u1100\u1175\u1109\u116e\u11af","\u1100\u1175\u110b\u1165\u11a8","\u1100\u1175\u110b\u1165\u11b8","\u1100\u1175\u110b\u1169\u11ab","\u1100\u1175\u110b\u116e\u11ab","\u1100\u1175\u110b\u116f\u11ab","\u1100\u1175\u110c\u1165\u11a8","\u1100\u1175\u110c\u116e\u11ab","\u1100\u1175\u110e\u1175\u11b7","\u1100\u1175\u1112\u1169\u11ab","\u1100\u1175\u1112\u116c\u11a8","\u1100\u1175\u11ab\u1100\u1173\u11b8","\u1100\u1175\u11ab\u110c\u1161\u11bc","\u1100\u1175\u11af\u110b\u1175","\u1100\u1175\u11b7\u1107\u1161\u11b8","\u1100\u1175\u11b7\u110e\u1175","\u1100\u1175\u11b7\u1111\u1169\u1100\u1169\u11bc\u1112\u1161\u11bc","\u1101\u1161\u11a8\u1103\u116e\u1100\u1175","\u1101\u1161\u11b7\u1108\u1161\u11a8","\u1101\u1162\u1103\u1161\u11af\u110b\u1173\u11b7","\u1101\u1162\u1109\u1169\u1100\u1173\u11b7","\u1101\u1165\u11b8\u110c\u1175\u11af","\u1101\u1169\u11a8\u1103\u1162\u1100\u1175","\u1101\u1169\u11be\u110b\u1175\u11c1","\u1102\u1161\u1103\u1173\u11af\u110b\u1175","\u1102\u1161\u1105\u1161\u11ab\u1112\u1175","\u1102\u1161\u1106\u1165\u110c\u1175","\u1102\u1161\u1106\u116e\u11af","\u1102\u1161\u110e\u1175\u11b7\u1107\u1161\u11ab","\u1102\u1161\u1112\u1173\u11af","\u1102\u1161\u11a8\u110b\u1167\u11b8","\u1102\u1161\u11ab\u1107\u1161\u11bc","\u1102\u1161\u11af\u1100\u1162","\u1102\u1161\u11af\u110a\u1175","\u1102\u1161\u11af\u110d\u1161","\u1102\u1161\u11b7\u1102\u1167","\u1102\u1161\u11b7\u1103\u1162\u1106\u116e\u11ab","\u1102\u1161\u11b7\u1106\u1162","\u1102\u1161\u11b7\u1109\u1161\u11ab","\u1102\u1161\u11b7\u110c\u1161","\u1102\u1161\u11b7\u1111\u1167\u11ab","\u1102\u1161\u11b7\u1112\u1161\u11a8\u1109\u1162\u11bc","\u1102\u1161\u11bc\u1107\u1175","\u1102\u1161\u11c0\u1106\u1161\u11af","\u1102\u1162\u1102\u1167\u11ab","\u1102\u1162\u110b\u116d\u11bc","\u1102\u1162\u110b\u1175\u11af","\u1102\u1162\u11b7\u1107\u1175","\u1102\u1162\u11b7\u1109\u1162","\u1102\u1162\u11ba\u1106\u116e\u11af","\u1102\u1162\u11bc\u1103\u1169\u11bc","\u1102\u1162\u11bc\u1106\u1167\u11ab","\u1102\u1162\u11bc\u1107\u1161\u11bc","\u1102\u1162\u11bc\u110c\u1161\u11bc\u1100\u1169","\u1102\u1166\u11a8\u1110\u1161\u110b\u1175","\u1102\u1166\u11ba\u110d\u1162","\u1102\u1169\u1103\u1169\u11bc","\u1102\u1169\u1105\u1161\u11ab\u1109\u1162\u11a8","\u1102\u1169\u1105\u1167\u11a8","\u1102\u1169\u110b\u1175\u11ab","\u1102\u1169\u11a8\u110b\u1173\u11b7","\u1102\u1169\u11a8\u110e\u1161","\u1102\u1169\u11a8\u1112\u116a","\u1102\u1169\u11ab\u1105\u1175","\u1102\u1169\u11ab\u1106\u116e\u11ab","\u1102\u1169\u11ab\u110c\u1162\u11bc","\u1102\u1169\u11af\u110b\u1175","\u1102\u1169\u11bc\u1100\u116e","\u1102\u1169\u11bc\u1103\u1161\u11b7","\u1102\u1169\u11bc\u1106\u1175\u11ab","\u1102\u1169\u11bc\u1107\u116e","\u1102\u1169\u11bc\u110b\u1165\u11b8","\u1102\u1169\u11bc\u110c\u1161\u11bc","\u1102\u1169\u11bc\u110e\u1169\u11ab","\u1102\u1169\u11c1\u110b\u1175","\u1102\u116e\u11ab\u1103\u1169\u11bc\u110c\u1161","\u1102\u116e\u11ab\u1106\u116e\u11af","\u1102\u116e\u11ab\u110a\u1165\u11b8","\u1102\u1172\u110b\u116d\u11a8","\u1102\u1173\u1101\u1175\u11b7","\u1102\u1173\u11a8\u1103\u1162","\u1102\u1173\u11bc\u1103\u1169\u11bc\u110c\u1165\u11a8","\u1102\u1173\u11bc\u1105\u1167\u11a8","\u1103\u1161\u1107\u1161\u11bc","\u1103\u1161\u110b\u1163\u11bc\u1109\u1165\u11bc","\u1103\u1161\u110b\u1173\u11b7","\u1103\u1161\u110b\u1175\u110b\u1165\u1110\u1173","\u1103\u1161\u1112\u1162\u11bc","\u1103\u1161\u11ab\u1100\u1168","\u1103\u1161\u11ab\u1100\u1169\u11af","\u1103\u1161\u11ab\u1103\u1169\u11a8","\u1103\u1161\u11ab\u1106\u1161\u11ba","\u1103\u1161\u11ab\u1109\u116e\u11ab","\u1103\u1161\u11ab\u110b\u1165","\u1103\u1161\u11ab\u110b\u1171","\u1103\u1161\u11ab\u110c\u1165\u11b7","\u1103\u1161\u11ab\u110e\u1166","\u1103\u1161\u11ab\u110e\u116e","\u1103\u1161\u11ab\u1111\u1167\u11ab","\u1103\u1161\u11ab\u1111\u116e\u11bc","\u1103\u1161\u11af\u1100\u1163\u11af","\u1103\u1161\u11af\u1105\u1165","\u1103\u1161\u11af\u1105\u1167\u11a8","\u1103\u1161\u11af\u1105\u1175","\u1103\u1161\u11b0\u1100\u1169\u1100\u1175","\u1103\u1161\u11b7\u1103\u1161\u11bc","\u1103\u1161\u11b7\u1107\u1162","\u1103\u1161\u11b7\u110b\u116d","\u1103\u1161\u11b7\u110b\u1175\u11b7","\u1103\u1161\u11b8\u1107\u1167\u11ab","\u1103\u1161\u11b8\u110c\u1161\u11bc","\u1103\u1161\u11bc\u1100\u1173\u11ab","\u1103\u1161\u11bc\u1107\u116e\u11ab\u1100\u1161\u11ab","\u1103\u1161\u11bc\u110b\u1167\u11ab\u1112\u1175","\u1103\u1161\u11bc\u110c\u1161\u11bc","\u1103\u1162\u1100\u1172\u1106\u1169","\u1103\u1162\u1102\u1161\u11bd","\u1103\u1162\u1103\u1161\u11ab\u1112\u1175","\u1103\u1162\u1103\u1161\u11b8","\u1103\u1162\u1103\u1169\u1109\u1175","\u1103\u1162\u1105\u1163\u11a8","\u1103\u1162\u1105\u1163\u11bc","\u1103\u1162\u1105\u1172\u11a8","\u1103\u1162\u1106\u116e\u11ab","\u1103\u1162\u1107\u116e\u1107\u116e\u11ab","\u1103\u1162\u1109\u1175\u11ab","\u1103\u1162\u110b\u1173\u11bc","\u1103\u1162\u110c\u1161\u11bc","\u1103\u1162\u110c\u1165\u11ab","\u1103\u1162\u110c\u1165\u11b8","\u1103\u1162\u110c\u116e\u11bc","\u1103\u1162\u110e\u1162\u11a8","\u1103\u1162\u110e\u116e\u11af","\u1103\u1162\u110e\u116e\u11bc","\u1103\u1162\u1110\u1169\u11bc\u1105\u1167\u11bc","\u1103\u1162\u1112\u1161\u11a8","\u1103\u1162\u1112\u1161\u11ab\u1106\u1175\u11ab\u1100\u116e\u11a8","\u1103\u1162\u1112\u1161\u11b8\u1109\u1175\u11af","\u1103\u1162\u1112\u1167\u11bc","\u1103\u1165\u11bc\u110b\u1165\u1105\u1175","\u1103\u1166\u110b\u1175\u1110\u1173","\u1103\u1169\u1103\u1162\u110e\u1166","\u1103\u1169\u1103\u1165\u11a8","\u1103\u1169\u1103\u116e\u11a8","\u1103\u1169\u1106\u1161\u11bc","\u1103\u1169\u1109\u1165\u1100\u116a\u11ab","\u1103\u1169\u1109\u1175\u11b7","\u1103\u1169\u110b\u116e\u11b7","\u1103\u1169\u110b\u1175\u11b8","\u1103\u1169\u110c\u1161\u1100\u1175","\u1103\u1169\u110c\u1165\u1112\u1175","\u1103\u1169\u110c\u1165\u11ab","\u1103\u1169\u110c\u116e\u11bc","\u1103\u1169\u110e\u1161\u11a8","\u1103\u1169\u11a8\u1100\u1161\u11b7","\u1103\u1169\u11a8\u1105\u1175\u11b8","\u1103\u1169\u11a8\u1109\u1165","\u1103\u1169\u11a8\u110b\u1175\u11af","\u1103\u1169\u11a8\u110e\u1161\u11bc\u110c\u1165\u11a8","\u1103\u1169\u11bc\u1112\u116a\u110e\u1162\u11a8","\u1103\u1171\u11ba\u1106\u1169\u1109\u1173\u11b8","\u1103\u1171\u11ba\u1109\u1161\u11ab","\u1104\u1161\u11af\u110b\u1161\u110b\u1175","\u1106\u1161\u1102\u116e\u1105\u1161","\u1106\u1161\u1102\u1173\u11af","\u1106\u1161\u1103\u1161\u11bc","\u1106\u1161\u1105\u1161\u1110\u1169\u11ab","\u1106\u1161\u1105\u1167\u11ab","\u1106\u1161\u1106\u116e\u1105\u1175","\u1106\u1161\u1109\u1161\u110c\u1175","\u1106\u1161\u110b\u1163\u11a8","\u1106\u1161\u110b\u116d\u1102\u1166\u110c\u1173","\u1106\u1161\u110b\u1173\u11af","\u1106\u1161\u110b\u1173\u11b7","\u1106\u1161\u110b\u1175\u110f\u1173","\u1106\u1161\u110c\u116e\u11bc","\u1106\u1161\u110c\u1175\u1106\u1161\u11a8","\u1106\u1161\u110e\u1161\u11ab\u1100\u1161\u110c\u1175","\u1106\u1161\u110e\u1161\u11af","\u1106\u1161\u1112\u1173\u11ab","\u1106\u1161\u11a8\u1100\u1165\u11af\u1105\u1175","\u1106\u1161\u11a8\u1102\u1162","\u1106\u1161\u11a8\u1109\u1161\u11bc","\u1106\u1161\u11ab\u1102\u1161\u11b7","\u1106\u1161\u11ab\u1103\u116e","\u1106\u1161\u11ab\u1109\u1166","\u1106\u1161\u11ab\u110b\u1163\u11a8","\u1106\u1161\u11ab\u110b\u1175\u11af","\u1106\u1161\u11ab\u110c\u1165\u11b7","\u1106\u1161\u11ab\u110c\u1169\u11a8","\u1106\u1161\u11ab\u1112\u116a","\u1106\u1161\u11ad\u110b\u1175","\u1106\u1161\u11af\u1100\u1175","\u1106\u1161\u11af\u110a\u1173\u11b7","\u1106\u1161\u11af\u1110\u116e","\u1106\u1161\u11b7\u1103\u1162\u1105\u1169","\u1106\u1161\u11bc\u110b\u116f\u11ab\u1100\u1167\u11bc","\u1106\u1162\u1102\u1167\u11ab","\u1106\u1162\u1103\u1161\u11af","\u1106\u1162\u1105\u1167\u11a8","\u1106\u1162\u1107\u1165\u11ab","\u1106\u1162\u1109\u1173\u110f\u1165\u11b7","\u1106\u1162\u110b\u1175\u11af","\u1106\u1162\u110c\u1161\u11bc","\u1106\u1162\u11a8\u110c\u116e","\u1106\u1165\u11a8\u110b\u1175","\u1106\u1165\u11ab\u110c\u1165","\u1106\u1165\u11ab\u110c\u1175","\u1106\u1165\u11af\u1105\u1175","\u1106\u1166\u110b\u1175\u11af","\u1106\u1167\u1102\u1173\u1105\u1175","\u1106\u1167\u110e\u1175\u11af","\u1106\u1167\u11ab\u1103\u1161\u11b7","\u1106\u1167\u11af\u110e\u1175","\u1106\u1167\u11bc\u1103\u1161\u11ab","\u1106\u1167\u11bc\u1105\u1167\u11bc","\u1106\u1167\u11bc\u110b\u1168","\u1106\u1167\u11bc\u110b\u1174","\u1106\u1167\u11bc\u110c\u1165\u11af","\u1106\u1167\u11bc\u110e\u1175\u11bc","\u1106\u1167\u11bc\u1112\u1161\u11b7","\u1106\u1169\u1100\u1173\u11b7","\u1106\u1169\u1102\u1175\u1110\u1165","\u1106\u1169\u1103\u1166\u11af","\u1106\u1169\u1103\u1173\u11ab","\u1106\u1169\u1107\u1165\u11b7","\u1106\u1169\u1109\u1173\u11b8","\u1106\u1169\u110b\u1163\u11bc","\u1106\u1169\u110b\u1175\u11b7","\u1106\u1169\u110c\u1169\u1105\u1175","\u1106\u1169\u110c\u1175\u11b8","\u1106\u1169\u1110\u116e\u11bc\u110b\u1175","\u1106\u1169\u11a8\u1100\u1165\u11af\u110b\u1175","\u1106\u1169\u11a8\u1105\u1169\u11a8","\u1106\u1169\u11a8\u1109\u1161","\u1106\u1169\u11a8\u1109\u1169\u1105\u1175","\u1106\u1169\u11a8\u1109\u116e\u11b7","\u1106\u1169\u11a8\u110c\u1165\u11a8","\u1106\u1169\u11a8\u1111\u116d","\u1106\u1169\u11af\u1105\u1162","\u1106\u1169\u11b7\u1106\u1162","\u1106\u1169\u11b7\u1106\u116e\u1100\u1166","\u1106\u1169\u11b7\u1109\u1161\u11af","\u1106\u1169\u11b7\u1109\u1169\u11a8","\u1106\u1169\u11b7\u110c\u1175\u11ba","\u1106\u1169\u11b7\u1110\u1169\u11bc","\u1106\u1169\u11b8\u1109\u1175","\u1106\u116e\u1100\u116a\u11ab\u1109\u1175\u11b7","\u1106\u116e\u1100\u116e\u11bc\u1112\u116a","\u1106\u116e\u1103\u1165\u110b\u1171","\u1106\u116e\u1103\u1165\u11b7","\u1106\u116e\u1105\u1173\u11c1","\u1106\u116e\u1109\u1173\u11ab","\u1106\u116e\u110b\u1165\u11ba","\u1106\u116e\u110b\u1167\u11a8","\u1106\u116e\u110b\u116d\u11bc","\u1106\u116e\u110c\u1169\u1100\u1165\u11ab","\u1106\u116e\u110c\u1175\u1100\u1162","\u1106\u116e\u110e\u1165\u11a8","\u1106\u116e\u11ab\u1100\u116e","\u1106\u116e\u11ab\u1103\u1173\u11a8","\u1106\u116e\u11ab\u1107\u1165\u11b8","\u1106\u116e\u11ab\u1109\u1165","\u1106\u116e\u11ab\u110c\u1166","\u1106\u116e\u11ab\u1112\u1161\u11a8","\u1106\u116e\u11ab\u1112\u116a","\u1106\u116e\u11af\u1100\u1161","\u1106\u116e\u11af\u1100\u1165\u11ab","\u1106\u116e\u11af\u1100\u1167\u11af","\u1106\u116e\u11af\u1100\u1169\u1100\u1175","\u1106\u116e\u11af\u1105\u1169\u11ab","\u1106\u116e\u11af\u1105\u1175\u1112\u1161\u11a8","\u1106\u116e\u11af\u110b\u1173\u11b7","\u1106\u116e\u11af\u110c\u1175\u11af","\u1106\u116e\u11af\u110e\u1166","\u1106\u1175\u1100\u116e\u11a8","\u1106\u1175\u1103\u1175\u110b\u1165","\u1106\u1175\u1109\u1161\u110b\u1175\u11af","\u1106\u1175\u1109\u116e\u11af","\u1106\u1175\u110b\u1167\u11a8","\u1106\u1175\u110b\u116d\u11bc\u1109\u1175\u11af","\u1106\u1175\u110b\u116e\u11b7","\u1106\u1175\u110b\u1175\u11ab","\u1106\u1175\u1110\u1175\u11bc","\u1106\u1175\u1112\u1169\u11ab","\u1106\u1175\u11ab\u1100\u1161\u11ab","\u1106\u1175\u11ab\u110c\u1169\u11a8","\u1106\u1175\u11ab\u110c\u116e","\u1106\u1175\u11ae\u110b\u1173\u11b7","\u1106\u1175\u11af\u1100\u1161\u1105\u116e","\u1106\u1175\u11af\u1105\u1175\u1106\u1175\u1110\u1165","\u1106\u1175\u11c0\u1107\u1161\u1103\u1161\u11a8","\u1107\u1161\u1100\u1161\u110c\u1175","\u1107\u1161\u1100\u116e\u1102\u1175","\u1107\u1161\u1102\u1161\u1102\u1161","\u1107\u1161\u1102\u1173\u11af","\u1107\u1161\u1103\u1161\u11a8","\u1107\u1161\u1103\u1161\u11ba\u1100\u1161","\u1107\u1161\u1105\u1161\u11b7","\u1107\u1161\u110b\u1175\u1105\u1165\u1109\u1173","\u1107\u1161\u1110\u1161\u11bc","\u1107\u1161\u11a8\u1106\u116e\u11af\u1100\u116a\u11ab","\u1107\u1161\u11a8\u1109\u1161","\u1107\u1161\u11a8\u1109\u116e","\u1107\u1161\u11ab\u1103\u1162","\u1107\u1161\u11ab\u1103\u1173\u1109\u1175","\u1107\u1161\u11ab\u1106\u1161\u11af","\u1107\u1161\u11ab\u1107\u1161\u11af","\u1107\u1161\u11ab\u1109\u1165\u11bc","\u1107\u1161\u11ab\u110b\u1173\u11bc","\u1107\u1161\u11ab\u110c\u1161\u11bc","\u1107\u1161\u11ab\u110c\u116e\u11a8","\u1107\u1161\u11ab\u110c\u1175","\u1107\u1161\u11ab\u110e\u1161\u11ab","\u1107\u1161\u11ae\u110e\u1175\u11b7","\u1107\u1161\u11af\u1100\u1161\u1105\u1161\u11a8","\u1107\u1161\u11af\u1100\u1165\u11af\u110b\u1173\u11b7","\u1107\u1161\u11af\u1100\u1167\u11ab","\u1107\u1161\u11af\u1103\u1161\u11af","\u1107\u1161\u11af\u1105\u1166","\u1107\u1161\u11af\u1106\u1169\u11a8","\u1107\u1161\u11af\u1107\u1161\u1103\u1161\u11a8","\u1107\u1161\u11af\u1109\u1162\u11bc","\u1107\u1161\u11af\u110b\u1173\u11b7","\u1107\u1161\u11af\u110c\u1161\u1100\u116e\u11a8","\u1107\u1161\u11af\u110c\u1165\u11ab","\u1107\u1161\u11af\u1110\u1169\u11b8","\u1107\u1161\u11af\u1111\u116d","\u1107\u1161\u11b7\u1112\u1161\u1102\u1173\u11af","\u1107\u1161\u11b8\u1100\u1173\u1105\u1173\u11ba","\u1107\u1161\u11b8\u1106\u1161\u11ba","\u1107\u1161\u11b8\u1109\u1161\u11bc","\u1107\u1161\u11b8\u1109\u1169\u11c0","\u1107\u1161\u11bc\u1100\u1173\u11b7","\u1107\u1161\u11bc\u1106\u1167\u11ab","\u1107\u1161\u11bc\u1106\u116e\u11ab","\u1107\u1161\u11bc\u1107\u1161\u1103\u1161\u11a8","\u1107\u1161\u11bc\u1107\u1165\u11b8","\u1107\u1161\u11bc\u1109\u1169\u11bc","\u1107\u1161\u11bc\u1109\u1175\u11a8","\u1107\u1161\u11bc\u110b\u1161\u11ab","\u1107\u1161\u11bc\u110b\u116e\u11af","\u1107\u1161\u11bc\u110c\u1175","\u1107\u1161\u11bc\u1112\u1161\u11a8","\u1107\u1161\u11bc\u1112\u1162","\u1107\u1161\u11bc\u1112\u1163\u11bc","\u1107\u1162\u1100\u1167\u11bc","\u1107\u1162\u1101\u1169\u11b8","\u1107\u1162\u1103\u1161\u11af","\u1107\u1162\u1103\u1173\u1106\u1175\u11ab\u1110\u1165\u11ab","\u1107\u1162\u11a8\u1103\u116e\u1109\u1161\u11ab","\u1107\u1162\u11a8\u1109\u1162\u11a8","\u1107\u1162\u11a8\u1109\u1165\u11bc","\u1107\u1162\u11a8\u110b\u1175\u11ab","\u1107\u1162\u11a8\u110c\u1166","\u1107\u1162\u11a8\u1112\u116a\u110c\u1165\u11b7","\u1107\u1165\u1105\u1173\u11ba","\u1107\u1165\u1109\u1165\u11ba","\u1107\u1165\u1110\u1173\u11ab","\u1107\u1165\u11ab\u1100\u1162","\u1107\u1165\u11ab\u110b\u1167\u11a8","\u1107\u1165\u11ab\u110c\u1175","\u1107\u1165\u11ab\u1112\u1169","\u1107\u1165\u11af\u1100\u1173\u11b7","\u1107\u1165\u11af\u1105\u1166","\u1107\u1165\u11af\u110a\u1165","\u1107\u1165\u11b7\u110b\u1171","\u1107\u1165\u11b7\u110b\u1175\u11ab","\u1107\u1165\u11b7\u110c\u116c","\u1107\u1165\u11b8\u1105\u1172\u11af","\u1107\u1165\u11b8\u110b\u116f\u11ab","\u1107\u1165\u11b8\u110c\u1165\u11a8","\u1107\u1165\u11b8\u110e\u1175\u11a8","\u1107\u1166\u110b\u1175\u110c\u1175\u11bc","\u1107\u1166\u11af\u1110\u1173","\u1107\u1167\u11ab\u1100\u1167\u11bc","\u1107\u1167\u11ab\u1103\u1169\u11bc","\u1107\u1167\u11ab\u1106\u1167\u11bc","\u1107\u1167\u11ab\u1109\u1175\u11ab","\u1107\u1167\u11ab\u1112\u1169\u1109\u1161","\u1107\u1167\u11ab\u1112\u116a","\u1107\u1167\u11af\u1103\u1169","\u1107\u1167\u11af\u1106\u1167\u11bc","\u1107\u1167\u11af\u110b\u1175\u11af","\u1107\u1167\u11bc\u1109\u1175\u11af","\u1107\u1167\u11bc\u110b\u1161\u1105\u1175","\u1107\u1167\u11bc\u110b\u116f\u11ab","\u1107\u1169\u1100\u116a\u11ab","\u1107\u1169\u1102\u1165\u1109\u1173","\u1107\u1169\u1105\u1161\u1109\u1162\u11a8","\u1107\u1169\u1105\u1161\u11b7","\u1107\u1169\u1105\u1173\u11b7","\u1107\u1169\u1109\u1161\u11bc","\u1107\u1169\u110b\u1161\u11ab","\u1107\u1169\u110c\u1161\u1100\u1175","\u1107\u1169\u110c\u1161\u11bc","\u1107\u1169\u110c\u1165\u11ab","\u1107\u1169\u110c\u1169\u11ab","\u1107\u1169\u1110\u1169\u11bc","\u1107\u1169\u1111\u1167\u11ab\u110c\u1165\u11a8","\u1107\u1169\u1112\u1165\u11b7","\u1107\u1169\u11a8\u1103\u1169","\u1107\u1169\u11a8\u1109\u1161","\u1107\u1169\u11a8\u1109\u116e\u11bc\u110b\u1161","\u1107\u1169\u11a8\u1109\u1173\u11b8","\u1107\u1169\u11a9\u110b\u1173\u11b7","\u1107\u1169\u11ab\u1100\u1167\u11a8\u110c\u1165\u11a8","\u1107\u1169\u11ab\u1105\u1162","\u1107\u1169\u11ab\u1107\u116e","\u1107\u1169\u11ab\u1109\u1161","\u1107\u1169\u11ab\u1109\u1165\u11bc","\u1107\u1169\u11ab\u110b\u1175\u11ab","\u1107\u1169\u11ab\u110c\u1175\u11af","\u1107\u1169\u11af\u1111\u1166\u11ab","\u1107\u1169\u11bc\u1109\u1161","\u1107\u1169\u11bc\u110c\u1175","\u1107\u1169\u11bc\u1110\u116e","\u1107\u116e\u1100\u1173\u11ab","\u1107\u116e\u1101\u1173\u1105\u1165\u110b\u116e\u11b7","\u1107\u116e\u1103\u1161\u11b7","\u1107\u116e\u1103\u1169\u11bc\u1109\u1161\u11ab","\u1107\u116e\u1106\u116e\u11ab","\u1107\u116e\u1107\u116e\u11ab","\u1107\u116e\u1109\u1161\u11ab","\u1107\u116e\u1109\u1161\u11bc","\u1107\u116e\u110b\u1165\u11bf","\u1107\u116e\u110b\u1175\u11ab","\u1107\u116e\u110c\u1161\u11a8\u110b\u116d\u11bc","\u1107\u116e\u110c\u1161\u11bc","\u1107\u116e\u110c\u1165\u11bc","\u1107\u116e\u110c\u1169\u11a8","\u1107\u116e\u110c\u1175\u1105\u1165\u11ab\u1112\u1175","\u1107\u116e\u110e\u1175\u11ab","\u1107\u116e\u1110\u1161\u11a8","\u1107\u116e\u1111\u116e\u11b7","\u1107\u116e\u1112\u116c\u110c\u1161\u11bc","\u1107\u116e\u11a8\u1107\u116e","\u1107\u116e\u11a8\u1112\u1161\u11ab","\u1107\u116e\u11ab\u1102\u1169","\u1107\u116e\u11ab\u1105\u1163\u11bc","\u1107\u116e\u11ab\u1105\u1175","\u1107\u116e\u11ab\u1106\u1167\u11bc","\u1107\u116e\u11ab\u1109\u1165\u11a8","\u1107\u116e\u11ab\u110b\u1163","\u1107\u116e\u11ab\u110b\u1171\u1100\u1175","\u1107\u116e\u11ab\u1111\u1175\u11af","\u1107\u116e\u11ab\u1112\u1169\u11bc\u1109\u1162\u11a8","\u1107\u116e\u11af\u1100\u1169\u1100\u1175","\u1107\u116e\u11af\u1100\u116a","\u1107\u116e\u11af\u1100\u116d","\u1107\u116e\u11af\u1101\u1169\u11be","\u1107\u116e\u11af\u1106\u1161\u11ab","\u1107\u116e\u11af\u1107\u1165\u11b8","\u1107\u116e\u11af\u1107\u1175\u11be","\u1107\u116e\u11af\u110b\u1161\u11ab","\u1107\u116e\u11af\u110b\u1175\u110b\u1175\u11a8","\u1107\u116e\u11af\u1112\u1162\u11bc","\u1107\u1173\u1105\u1162\u11ab\u1103\u1173","\u1107\u1175\u1100\u1173\u11a8","\u1107\u1175\u1102\u1161\u11ab","\u1107\u1175\u1102\u1175\u11af","\u1107\u1175\u1103\u116e\u11af\u1100\u1175","\u1107\u1175\u1103\u1175\u110b\u1169","\u1107\u1175\u1105\u1169\u1109\u1169","\u1107\u1175\u1106\u1161\u11ab","\u1107\u1175\u1106\u1167\u11bc","\u1107\u1175\u1106\u1175\u11af","\u1107\u1175\u1107\u1161\u1105\u1161\u11b7","\u1107\u1175\u1107\u1175\u11b7\u1107\u1161\u11b8","\u1107\u1175\u1109\u1161\u11bc","\u1107\u1175\u110b\u116d\u11bc","\u1107\u1175\u110b\u1172\u11af","\u1107\u1175\u110c\u116e\u11bc","\u1107\u1175\u1110\u1161\u1106\u1175\u11ab","\u1107\u1175\u1111\u1161\u11ab","\u1107\u1175\u11af\u1103\u1175\u11bc","\u1107\u1175\u11ba\u1106\u116e\u11af","\u1107\u1175\u11ba\u1107\u1161\u11bc\u110b\u116e\u11af","\u1107\u1175\u11ba\u110c\u116e\u11af\u1100\u1175","\u1107\u1175\u11be\u1101\u1161\u11af","\u1108\u1161\u11af\u1100\u1161\u11ab\u1109\u1162\u11a8","\u1108\u1161\u11af\u1105\u1162","\u1108\u1161\u11af\u1105\u1175","\u1109\u1161\u1100\u1165\u11ab","\u1109\u1161\u1100\u1168\u110c\u1165\u11af","\u1109\u1161\u1102\u1161\u110b\u1175","\u1109\u1161\u1102\u1163\u11bc","\u1109\u1161\u1105\u1161\u11b7","\u1109\u1161\u1105\u1161\u11bc","\u1109\u1161\u1105\u1175\u11b8","\u1109\u1161\u1106\u1169\u1102\u1175\u11b7","\u1109\u1161\u1106\u116e\u11af","\u1109\u1161\u1107\u1161\u11bc","\u1109\u1161\u1109\u1161\u11bc","\u1109\u1161\u1109\u1162\u11bc\u1112\u116a\u11af","\u1109\u1161\u1109\u1165\u11af","\u1109\u1161\u1109\u1173\u11b7","\u1109\u1161\u1109\u1175\u11af","\u1109\u1161\u110b\u1165\u11b8","\u1109\u1161\u110b\u116d\u11bc","\u1109\u1161\u110b\u116f\u11af","\u1109\u1161\u110c\u1161\u11bc","\u1109\u1161\u110c\u1165\u11ab","\u1109\u1161\u110c\u1175\u11ab","\u1109\u1161\u110e\u1169\u11ab","\u1109\u1161\u110e\u116e\u11ab\u1100\u1175","\u1109\u1161\u1110\u1161\u11bc","\u1109\u1161\u1110\u116e\u1105\u1175","\u1109\u1161\u1112\u1173\u11af","\u1109\u1161\u11ab\u1100\u1175\u11af","\u1109\u1161\u11ab\u1107\u116e\u110b\u1175\u11ab\u1100\u116a","\u1109\u1161\u11ab\u110b\u1165\u11b8","\u1109\u1161\u11ab\u110e\u1162\u11a8","\u1109\u1161\u11af\u1105\u1175\u11b7","\u1109\u1161\u11af\u110b\u1175\u11ab","\u1109\u1161\u11af\u110d\u1161\u11a8","\u1109\u1161\u11b7\u1100\u1168\u1110\u1161\u11bc","\u1109\u1161\u11b7\u1100\u116e\u11a8","\u1109\u1161\u11b7\u1109\u1175\u11b8","\u1109\u1161\u11b7\u110b\u116f\u11af","\u1109\u1161\u11b7\u110e\u1169\u11ab","\u1109\u1161\u11bc\u1100\u116a\u11ab","\u1109\u1161\u11bc\u1100\u1173\u11b7","\u1109\u1161\u11bc\u1103\u1162","\u1109\u1161\u11bc\u1105\u1172","\u1109\u1161\u11bc\u1107\u1161\u11ab\u1100\u1175","\u1109\u1161\u11bc\u1109\u1161\u11bc","\u1109\u1161\u11bc\u1109\u1175\u11a8","\u1109\u1161\u11bc\u110b\u1165\u11b8","\u1109\u1161\u11bc\u110b\u1175\u11ab","\u1109\u1161\u11bc\u110c\u1161","\u1109\u1161\u11bc\u110c\u1165\u11b7","\u1109\u1161\u11bc\u110e\u1165","\u1109\u1161\u11bc\u110e\u116e","\u1109\u1161\u11bc\u1110\u1162","\u1109\u1161\u11bc\u1111\u116d","\u1109\u1161\u11bc\u1111\u116e\u11b7","\u1109\u1161\u11bc\u1112\u116a\u11bc","\u1109\u1162\u1107\u1167\u11a8","\u1109\u1162\u11a8\u1101\u1161\u11af","\u1109\u1162\u11a8\u110b\u1167\u11ab\u1111\u1175\u11af","\u1109\u1162\u11bc\u1100\u1161\u11a8","\u1109\u1162\u11bc\u1106\u1167\u11bc","\u1109\u1162\u11bc\u1106\u116e\u11af","\u1109\u1162\u11bc\u1107\u1161\u11bc\u1109\u1169\u11bc","\u1109\u1162\u11bc\u1109\u1161\u11ab","\u1109\u1162\u11bc\u1109\u1165\u11ab","\u1109\u1162\u11bc\u1109\u1175\u11ab","\u1109\u1162\u11bc\u110b\u1175\u11af","\u1109\u1162\u11bc\u1112\u116a\u11af","\u1109\u1165\u1105\u1161\u11b8","\u1109\u1165\u1105\u1173\u11ab","\u1109\u1165\u1106\u1167\u11bc","\u1109\u1165\u1106\u1175\u11ab","\u1109\u1165\u1107\u1175\u1109\u1173","\u1109\u1165\u110b\u1163\u11bc","\u1109\u1165\u110b\u116e\u11af","\u1109\u1165\u110c\u1165\u11a8","\u1109\u1165\u110c\u1165\u11b7","\u1109\u1165\u110d\u1169\u11a8","\u1109\u1165\u110f\u1173\u11af","\u1109\u1165\u11a8\u1109\u1161","\u1109\u1165\u11a8\u110b\u1172","\u1109\u1165\u11ab\u1100\u1165","\u1109\u1165\u11ab\u1106\u116e\u11af","\u1109\u1165\u11ab\u1107\u1162","\u1109\u1165\u11ab\u1109\u1162\u11bc","\u1109\u1165\u11ab\u1109\u116e","\u1109\u1165\u11ab\u110b\u116f\u11ab","\u1109\u1165\u11ab\u110c\u1161\u11bc","\u1109\u1165\u11ab\u110c\u1165\u11ab","\u1109\u1165\u11ab\u1110\u1162\u11a8","\u1109\u1165\u11ab\u1111\u116e\u11bc\u1100\u1175","\u1109\u1165\u11af\u1100\u1165\u110c\u1175","\u1109\u1165\u11af\u1102\u1161\u11af","\u1109\u1165\u11af\u1105\u1165\u11bc\u1110\u1161\u11bc","\u1109\u1165\u11af\u1106\u1167\u11bc","\u1109\u1165\u11af\u1106\u116e\u11ab","\u1109\u1165\u11af\u1109\u1161","\u1109\u1165\u11af\u110b\u1161\u11a8\u1109\u1161\u11ab","\u1109\u1165\u11af\u110e\u1175","\u1109\u1165\u11af\u1110\u1161\u11bc","\u1109\u1165\u11b8\u110a\u1175","\u1109\u1165\u11bc\u1100\u1169\u11bc","\u1109\u1165\u11bc\u1103\u1161\u11bc","\u1109\u1165\u11bc\u1106\u1167\u11bc","\u1109\u1165\u11bc\u1107\u1167\u11af","\u1109\u1165\u11bc\u110b\u1175\u11ab","\u1109\u1165\u11bc\u110c\u1161\u11bc","\u1109\u1165\u11bc\u110c\u1165\u11a8","\u1109\u1165\u11bc\u110c\u1175\u11af","\u1109\u1165\u11bc\u1112\u1161\u11b7","\u1109\u1166\u1100\u1173\u11b7","\u1109\u1166\u1106\u1175\u1102\u1161","\u1109\u1166\u1109\u1161\u11bc","\u1109\u1166\u110b\u116f\u11af","\u1109\u1166\u110c\u1169\u11bc\u1103\u1162\u110b\u116a\u11bc","\u1109\u1166\u1110\u1161\u11a8","\u1109\u1166\u11ab\u1110\u1165","\u1109\u1166\u11ab\u1110\u1175\u1106\u1175\u1110\u1165","\u1109\u1166\u11ba\u110d\u1162","\u1109\u1169\u1100\u1172\u1106\u1169","\u1109\u1169\u1100\u1173\u11a8\u110c\u1165\u11a8","\u1109\u1169\u1100\u1173\u11b7","\u1109\u1169\u1102\u1161\u1100\u1175","\u1109\u1169\u1102\u1167\u11ab","\u1109\u1169\u1103\u1173\u11a8","\u1109\u1169\u1106\u1161\u11bc","\u1109\u1169\u1106\u116e\u11ab","\u1109\u1169\u1109\u1165\u11af","\u1109\u1169\u1109\u1169\u11a8","\u1109\u1169\u110b\u1161\u1100\u116a","\u1109\u1169\u110b\u116d\u11bc","\u1109\u1169\u110b\u116f\u11ab","\u1109\u1169\u110b\u1173\u11b7","\u1109\u1169\u110c\u116e\u11bc\u1112\u1175","\u1109\u1169\u110c\u1175\u1111\u116e\u11b7","\u1109\u1169\u110c\u1175\u11af","\u1109\u1169\u1111\u116e\u11bc","\u1109\u1169\u1112\u1167\u11bc","\u1109\u1169\u11a8\u1103\u1161\u11b7","\u1109\u1169\u11a8\u1103\u1169","\u1109\u1169\u11a8\u110b\u1169\u11ba","\u1109\u1169\u11ab\u1100\u1161\u1105\u1161\u11a8","\u1109\u1169\u11ab\u1100\u1175\u11af","\u1109\u1169\u11ab\u1102\u1167","\u1109\u1169\u11ab\u1102\u1175\u11b7","\u1109\u1169\u11ab\u1103\u1173\u11bc","\u1109\u1169\u11ab\u1106\u1169\u11a8","\u1109\u1169\u11ab\u1108\u1167\u11a8","\u1109\u1169\u11ab\u1109\u1175\u11af","\u1109\u1169\u11ab\u110c\u1175\u11af","\u1109\u1169\u11ab\u1110\u1169\u11b8","\u1109\u1169\u11ab\u1112\u1162","\u1109\u1169\u11af\u110c\u1175\u11a8\u1112\u1175","\u1109\u1169\u11b7\u110a\u1175","\u1109\u1169\u11bc\u110b\u1161\u110c\u1175","\u1109\u1169\u11bc\u110b\u1175","\u1109\u1169\u11bc\u1111\u1167\u11ab","\u1109\u116c\u1100\u1169\u1100\u1175","\u1109\u116d\u1111\u1175\u11bc","\u1109\u116e\u1100\u1165\u11ab","\u1109\u116e\u1102\u1167\u11ab","\u1109\u116e\u1103\u1161\u11ab","\u1109\u116e\u1103\u1169\u11ba\u1106\u116e\u11af","\u1109\u116e\u1103\u1169\u11bc\u110c\u1165\u11a8","\u1109\u116e\u1106\u1167\u11ab","\u1109\u116e\u1106\u1167\u11bc","\u1109\u116e\u1107\u1161\u11a8","\u1109\u116e\u1109\u1161\u11bc","\u1109\u116e\u1109\u1165\u11a8","\u1109\u116e\u1109\u116e\u11af","\u1109\u116e\u1109\u1175\u1105\u1169","\u1109\u116e\u110b\u1165\u11b8","\u1109\u116e\u110b\u1167\u11b7","\u1109\u116e\u110b\u1167\u11bc","\u1109\u116e\u110b\u1175\u11b8","\u1109\u116e\u110c\u116e\u11ab","\u1109\u116e\u110c\u1175\u11b8","\u1109\u116e\u110e\u116e\u11af","\u1109\u116e\u110f\u1165\u11ba","\u1109\u116e\u1111\u1175\u11af","\u1109\u116e\u1112\u1161\u11a8","\u1109\u116e\u1112\u1165\u11b7\u1109\u1162\u11bc","\u1109\u116e\u1112\u116a\u1100\u1175","\u1109\u116e\u11a8\u1102\u1167","\u1109\u116e\u11a8\u1109\u1169","\u1109\u116e\u11a8\u110c\u1166","\u1109\u116e\u11ab\u1100\u1161\u11ab","\u1109\u116e\u11ab\u1109\u1165","\u1109\u116e\u11ab\u1109\u116e","\u1109\u116e\u11ab\u1109\u1175\u11a8\u1100\u1161\u11ab","\u1109\u116e\u11ab\u110b\u1171","\u1109\u116e\u11ae\u1100\u1161\u1105\u1161\u11a8","\u1109\u116e\u11af\u1107\u1167\u11bc","\u1109\u116e\u11af\u110c\u1175\u11b8","\u1109\u116e\u11ba\u110c\u1161","\u1109\u1173\u1102\u1175\u11b7","\u1109\u1173\u1106\u116e\u11af","\u1109\u1173\u1109\u1173\u1105\u1169","\u1109\u1173\u1109\u1173\u11bc","\u1109\u1173\u110b\u1170\u1110\u1165","\u1109\u1173\u110b\u1171\u110e\u1175","\u1109\u1173\u110f\u1166\u110b\u1175\u1110\u1173","\u1109\u1173\u1110\u1172\u1103\u1175\u110b\u1169","\u1109\u1173\u1110\u1173\u1105\u1166\u1109\u1173","\u1109\u1173\u1111\u1169\u110e\u1173","\u1109\u1173\u11af\u110d\u1165\u11a8","\u1109\u1173\u11af\u1111\u1173\u11b7","\u1109\u1173\u11b8\u1100\u116a\u11ab","\u1109\u1173\u11b8\u1100\u1175","\u1109\u1173\u11bc\u1100\u1162\u11a8","\u1109\u1173\u11bc\u1105\u1175","\u1109\u1173\u11bc\u1107\u116e","\u1109\u1173\u11bc\u110b\u116d\u11bc\u110e\u1161","\u1109\u1173\u11bc\u110c\u1175\u11ab","\u1109\u1175\u1100\u1161\u11a8","\u1109\u1175\u1100\u1161\u11ab","\u1109\u1175\u1100\u1169\u11af","\u1109\u1175\u1100\u1173\u11b7\u110e\u1175","\u1109\u1175\u1102\u1161\u1105\u1175\u110b\u1169","\u1109\u1175\u1103\u1162\u11a8","\u1109\u1175\u1105\u1175\u110c\u1173","\u1109\u1175\u1106\u1166\u11ab\u1110\u1173","\u1109\u1175\u1106\u1175\u11ab","\u1109\u1175\u1107\u116e\u1106\u1169","\u1109\u1175\u1109\u1165\u11ab","\u1109\u1175\u1109\u1165\u11af","\u1109\u1175\u1109\u1173\u1110\u1166\u11b7","\u1109\u1175\u110b\u1161\u1107\u1165\u110c\u1175","\u1109\u1175\u110b\u1165\u1106\u1165\u1102\u1175","\u1109\u1175\u110b\u116f\u11af","\u1109\u1175\u110b\u1175\u11ab","\u1109\u1175\u110b\u1175\u11af","\u1109\u1175\u110c\u1161\u11a8","\u1109\u1175\u110c\u1161\u11bc","\u1109\u1175\u110c\u1165\u11af","\u1109\u1175\u110c\u1165\u11b7","\u1109\u1175\u110c\u116e\u11bc","\u1109\u1175\u110c\u1173\u11ab","\u1109\u1175\u110c\u1175\u11b8","\u1109\u1175\u110e\u1165\u11bc","\u1109\u1175\u1112\u1161\u11b8","\u1109\u1175\u1112\u1165\u11b7","\u1109\u1175\u11a8\u1100\u116e","\u1109\u1175\u11a8\u1100\u1175","\u1109\u1175\u11a8\u1103\u1161\u11bc","\u1109\u1175\u11a8\u1105\u1163\u11bc","\u1109\u1175\u11a8\u1105\u116d\u1111\u116e\u11b7","\u1109\u1175\u11a8\u1106\u116e\u11af","\u1109\u1175\u11a8\u1108\u1161\u11bc","\u1109\u1175\u11a8\u1109\u1161","\u1109\u1175\u11a8\u1109\u1162\u11bc\u1112\u116a\u11af","\u1109\u1175\u11a8\u110e\u1169","\u1109\u1175\u11a8\u1110\u1161\u11a8","\u1109\u1175\u11a8\u1111\u116e\u11b7","\u1109\u1175\u11ab\u1100\u1169","\u1109\u1175\u11ab\u1100\u1172","\u1109\u1175\u11ab\u1102\u1167\u11b7","\u1109\u1175\u11ab\u1106\u116e\u11ab","\u1109\u1175\u11ab\u1107\u1161\u11af","\u1109\u1175\u11ab\u1107\u1175","\u1109\u1175\u11ab\u1109\u1161","\u1109\u1175\u11ab\u1109\u1166","\u1109\u1175\u11ab\u110b\u116d\u11bc","\u1109\u1175\u11ab\u110c\u1166\u1111\u116e\u11b7","\u1109\u1175\u11ab\u110e\u1165\u11bc","\u1109\u1175\u11ab\u110e\u1166","\u1109\u1175\u11ab\u1112\u116a","\u1109\u1175\u11af\u1100\u1161\u11b7","\u1109\u1175\u11af\u1102\u1162","\u1109\u1175\u11af\u1105\u1167\u11a8","\u1109\u1175\u11af\u1105\u1168","\u1109\u1175\u11af\u1106\u1161\u11bc","\u1109\u1175\u11af\u1109\u116e","\u1109\u1175\u11af\u1109\u1173\u11b8","\u1109\u1175\u11af\u1109\u1175","\u1109\u1175\u11af\u110c\u1161\u11bc","\u1109\u1175\u11af\u110c\u1165\u11bc","\u1109\u1175\u11af\u110c\u1175\u11af\u110c\u1165\u11a8","\u1109\u1175\u11af\u110e\u1165\u11ab","\u1109\u1175\u11af\u110e\u1166","\u1109\u1175\u11af\u110f\u1165\u11ba","\u1109\u1175\u11af\u1110\u1162","\u1109\u1175\u11af\u1111\u1162","\u1109\u1175\u11af\u1112\u1165\u11b7","\u1109\u1175\u11af\u1112\u1167\u11ab","\u1109\u1175\u11b7\u1105\u1175","\u1109\u1175\u11b7\u1107\u116e\u1105\u1173\u11b7","\u1109\u1175\u11b7\u1109\u1161","\u1109\u1175\u11b7\u110c\u1161\u11bc","\u1109\u1175\u11b7\u110c\u1165\u11bc","\u1109\u1175\u11b7\u1111\u1161\u11ab","\u110a\u1161\u11bc\u1103\u116e\u11bc\u110b\u1175","\u110a\u1175\u1105\u1173\u11b7","\u110a\u1175\u110b\u1161\u11ba","\u110b\u1161\u1100\u1161\u110a\u1175","\u110b\u1161\u1102\u1161\u110b\u116e\u11ab\u1109\u1165","\u110b\u1161\u1103\u1173\u1102\u1175\u11b7","\u110b\u1161\u1103\u1173\u11af","\u110b\u1161\u1109\u1171\u110b\u116e\u11b7","\u110b\u1161\u1109\u1173\u1111\u1161\u11af\u1110\u1173","\u110b\u1161\u1109\u1175\u110b\u1161","\u110b\u1161\u110b\u116e\u11af\u1105\u1165","\u110b\u1161\u110c\u1165\u110a\u1175","\u110b\u1161\u110c\u116e\u11b7\u1106\u1161","\u110b\u1161\u110c\u1175\u11a8","\u110b\u1161\u110e\u1175\u11b7","\u110b\u1161\u1111\u1161\u1110\u1173","\u110b\u1161\u1111\u1173\u1105\u1175\u110f\u1161","\u110b\u1161\u1111\u1173\u11b7","\u110b\u1161\u1112\u1169\u11b8","\u110b\u1161\u1112\u1173\u11ab","\u110b\u1161\u11a8\u1100\u1175","\u110b\u1161\u11a8\u1106\u1169\u11bc","\u110b\u1161\u11a8\u1109\u116e","\u110b\u1161\u11ab\u1100\u1162","\u110b\u1161\u11ab\u1100\u1167\u11bc","\u110b\u1161\u11ab\u1100\u116a","\u110b\u1161\u11ab\u1102\u1162","\u110b\u1161\u11ab\u1102\u1167\u11bc","\u110b\u1161\u11ab\u1103\u1169\u11bc","\u110b\u1161\u11ab\u1107\u1161\u11bc","\u110b\u1161\u11ab\u1107\u116e","\u110b\u1161\u11ab\u110c\u116e","\u110b\u1161\u11af\u1105\u116e\u1106\u1175\u1102\u1172\u11b7","\u110b\u1161\u11af\u110f\u1169\u110b\u1169\u11af","\u110b\u1161\u11b7\u1109\u1175","\u110b\u1161\u11b7\u110f\u1165\u11ba","\u110b\u1161\u11b8\u1105\u1167\u11a8","\u110b\u1161\u11c1\u1102\u1161\u11af","\u110b\u1161\u11c1\u1106\u116e\u11ab","\u110b\u1162\u110b\u1175\u11ab","\u110b\u1162\u110c\u1165\u11bc","\u110b\u1162\u11a8\u1109\u116e","\u110b\u1162\u11af\u1107\u1165\u11b7","\u110b\u1163\u1100\u1161\u11ab","\u110b\u1163\u1103\u1161\u11ab","\u110b\u1163\u110b\u1169\u11bc","\u110b\u1163\u11a8\u1100\u1161\u11ab","\u110b\u1163\u11a8\u1100\u116e\u11a8","\u110b\u1163\u11a8\u1109\u1169\u11a8","\u110b\u1163\u11a8\u1109\u116e","\u110b\u1163\u11a8\u110c\u1165\u11b7","\u110b\u1163\u11a8\u1111\u116e\u11b7","\u110b\u1163\u11a8\u1112\u1169\u11ab\u1102\u1167","\u110b\u1163\u11bc\u1102\u1167\u11b7","\u110b\u1163\u11bc\u1105\u1167\u11a8","\u110b\u1163\u11bc\u1106\u1161\u11af","\u110b\u1163\u11bc\u1107\u1162\u110e\u116e","\u110b\u1163\u11bc\u110c\u116e","\u110b\u1163\u11bc\u1111\u1161","\u110b\u1165\u1103\u116e\u11b7","\u110b\u1165\u1105\u1167\u110b\u116e\u11b7","\u110b\u1165\u1105\u1173\u11ab","\u110b\u1165\u110c\u1166\u11ba\u1107\u1161\u11b7","\u110b\u1165\u110d\u1162\u11bb\u1103\u1173\u11ab","\u110b\u1165\u110d\u1165\u1103\u1161\u1100\u1161","\u110b\u1165\u110d\u1165\u11ab\u110c\u1175","\u110b\u1165\u11ab\u1102\u1175","\u110b\u1165\u11ab\u1103\u1165\u11a8","\u110b\u1165\u11ab\u1105\u1169\u11ab","\u110b\u1165\u11ab\u110b\u1165","\u110b\u1165\u11af\u1100\u116e\u11af","\u110b\u1165\u11af\u1105\u1173\u11ab","\u110b\u1165\u11af\u110b\u1173\u11b7","\u110b\u1165\u11af\u1111\u1175\u11ba","\u110b\u1165\u11b7\u1106\u1161","\u110b\u1165\u11b8\u1106\u116e","\u110b\u1165\u11b8\u110c\u1169\u11bc","\u110b\u1165\u11b8\u110e\u1166","\u110b\u1165\u11bc\u1103\u1165\u11bc\u110b\u1175","\u110b\u1165\u11bc\u1106\u1161\u11bc","\u110b\u1165\u11bc\u1110\u1165\u1105\u1175","\u110b\u1165\u11bd\u1100\u1173\u110c\u1166","\u110b\u1166\u1102\u1165\u110c\u1175","\u110b\u1166\u110b\u1165\u110f\u1165\u11ab","\u110b\u1166\u11ab\u110c\u1175\u11ab","\u110b\u1167\u1100\u1165\u11ab","\u110b\u1167\u1100\u1169\u1109\u1162\u11bc","\u110b\u1167\u1100\u116a\u11ab","\u110b\u1167\u1100\u116e\u11ab","\u110b\u1167\u1100\u116f\u11ab","\u110b\u1167\u1103\u1162\u1109\u1162\u11bc","\u110b\u1167\u1103\u1165\u11b2","\u110b\u1167\u1103\u1169\u11bc\u1109\u1162\u11bc","\u110b\u1167\u1103\u1173\u11ab","\u110b\u1167\u1105\u1169\u11ab","\u110b\u1167\u1105\u1173\u11b7","\u110b\u1167\u1109\u1165\u11ba","\u110b\u1167\u1109\u1165\u11bc","\u110b\u1167\u110b\u116a\u11bc","\u110b\u1167\u110b\u1175\u11ab","\u110b\u1167\u110c\u1165\u11ab\u1112\u1175","\u110b\u1167\u110c\u1175\u11a8\u110b\u116f\u11ab","\u110b\u1167\u1112\u1161\u11a8\u1109\u1162\u11bc","\u110b\u1167\u1112\u1162\u11bc","\u110b\u1167\u11a8\u1109\u1161","\u110b\u1167\u11a8\u1109\u1175","\u110b\u1167\u11a8\u1112\u1161\u11af","\u110b\u1167\u11ab\u1100\u1167\u11af","\u110b\u1167\u11ab\u1100\u116e","\u110b\u1167\u11ab\u1100\u1173\u11a8","\u110b\u1167\u11ab\u1100\u1175","\u110b\u1167\u11ab\u1105\u1161\u11a8","\u110b\u1167\u11ab\u1109\u1165\u11af","\u110b\u1167\u11ab\u1109\u1166","\u110b\u1167\u11ab\u1109\u1169\u11a8","\u110b\u1167\u11ab\u1109\u1173\u11b8","\u110b\u1167\u11ab\u110b\u1162","\u110b\u1167\u11ab\u110b\u1168\u110b\u1175\u11ab","\u110b\u1167\u11ab\u110b\u1175\u11ab","\u110b\u1167\u11ab\u110c\u1161\u11bc","\u110b\u1167\u11ab\u110c\u116e","\u110b\u1167\u11ab\u110e\u116e\u11af","\u110b\u1167\u11ab\u1111\u1175\u11af","\u110b\u1167\u11ab\u1112\u1161\u11b8","\u110b\u1167\u11ab\u1112\u1172","\u110b\u1167\u11af\u1100\u1175","\u110b\u1167\u11af\u1106\u1162","\u110b\u1167\u11af\u1109\u116c","\u110b\u1167\u11af\u1109\u1175\u11b7\u1112\u1175","\u110b\u1167\u11af\u110c\u1165\u11bc","\u110b\u1167\u11af\u110e\u1161","\u110b\u1167\u11af\u1112\u1173\u11af","\u110b\u1167\u11b7\u1105\u1167","\u110b\u1167\u11b8\u1109\u1165","\u110b\u1167\u11bc\u1100\u116e\u11a8","\u110b\u1167\u11bc\u1102\u1161\u11b7","\u110b\u1167\u11bc\u1109\u1161\u11bc","\u110b\u1167\u11bc\u110b\u1163\u11bc","\u110b\u1167\u11bc\u110b\u1167\u11a8","\u110b\u1167\u11bc\u110b\u116e\u11bc","\u110b\u1167\u11bc\u110b\u116f\u11ab\u1112\u1175","\u110b\u1167\u11bc\u1112\u1161","\u110b\u1167\u11bc\u1112\u1163\u11bc","\u110b\u1167\u11bc\u1112\u1169\u11ab","\u110b\u1167\u11bc\u1112\u116a","\u110b\u1167\u11c1\u1100\u116e\u1105\u1175","\u110b\u1167\u11c1\u1107\u1161\u11bc","\u110b\u1167\u11c1\u110c\u1175\u11b8","\u110b\u1168\u1100\u1161\u11b7","\u110b\u1168\u1100\u1173\u11b7","\u110b\u1168\u1107\u1161\u11bc","\u110b\u1168\u1109\u1161\u11ab","\u110b\u1168\u1109\u1161\u11bc","\u110b\u1168\u1109\u1165\u11ab","\u110b\u1168\u1109\u116e\u11af","\u110b\u1168\u1109\u1173\u11b8","\u110b\u1168\u1109\u1175\u11a8\u110c\u1161\u11bc","\u110b\u1168\u110b\u1163\u11a8","\u110b\u1168\u110c\u1165\u11ab","\u110b\u1168\u110c\u1165\u11af","\u110b\u1168\u110c\u1165\u11bc","\u110b\u1168\u110f\u1165\u11ab\u1103\u1162","\u110b\u1168\u11ba\u1102\u1161\u11af","\u110b\u1169\u1102\u1173\u11af","\u110b\u1169\u1105\u1161\u11a8","\u110b\u1169\u1105\u1162\u11ba\u1103\u1169\u11bc\u110b\u1161\u11ab","\u110b\u1169\u1105\u1166\u11ab\u110c\u1175","\u110b\u1169\u1105\u1169\u110c\u1175","\u110b\u1169\u1105\u1173\u11ab\u1107\u1161\u11af","\u110b\u1169\u1107\u1173\u11ab","\u110b\u1169\u1109\u1175\u11b8","\u110b\u1169\u110b\u1167\u11b7","\u110b\u1169\u110b\u116f\u11af","\u110b\u1169\u110c\u1165\u11ab","\u110b\u1169\u110c\u1175\u11a8","\u110b\u1169\u110c\u1175\u11bc\u110b\u1165","\u110b\u1169\u1111\u1166\u1105\u1161","\u110b\u1169\u1111\u1175\u1109\u1173\u1110\u1166\u11af","\u110b\u1169\u1112\u1175\u1105\u1167","\u110b\u1169\u11a8\u1109\u1161\u11bc","\u110b\u1169\u11a8\u1109\u116e\u1109\u116e","\u110b\u1169\u11ab\u1100\u1161\u11bd","\u110b\u1169\u11ab\u1105\u1161\u110b\u1175\u11ab","\u110b\u1169\u11ab\u1106\u1169\u11b7","\u110b\u1169\u11ab\u110c\u1169\u11bc\u110b\u1175\u11af","\u110b\u1169\u11ab\u1110\u1169\u11bc","\u110b\u1169\u11af\u1100\u1161\u110b\u1173\u11af","\u110b\u1169\u11af\u1105\u1175\u11b7\u1111\u1175\u11a8","\u110b\u1169\u11af\u1112\u1162","\u110b\u1169\u11ba\u110e\u1161\u1105\u1175\u11b7","\u110b\u116a\u110b\u1175\u1109\u1167\u110e\u1173","\u110b\u116a\u110b\u1175\u11ab","\u110b\u116a\u11ab\u1109\u1165\u11bc","\u110b\u116a\u11ab\u110c\u1165\u11ab","\u110b\u116a\u11bc\u1107\u1175","\u110b\u116a\u11bc\u110c\u1161","\u110b\u116b\u1102\u1163\u1112\u1161\u1106\u1167\u11ab","\u110b\u116b\u11ab\u110c\u1175","\u110b\u116c\u1100\u1161\u11ba\u110c\u1175\u11b8","\u110b\u116c\u1100\u116e\u11a8","\u110b\u116c\u1105\u1169\u110b\u116e\u11b7","\u110b\u116c\u1109\u1161\u11b7\u110e\u1169\u11ab","\u110b\u116c\u110e\u116e\u11af","\u110b\u116c\u110e\u1175\u11b7","\u110b\u116c\u1112\u1161\u11af\u1106\u1165\u1102\u1175","\u110b\u116c\u11ab\u1107\u1161\u11af","\u110b\u116c\u11ab\u1109\u1169\u11ab","\u110b\u116c\u11ab\u110d\u1169\u11a8","\u110b\u116d\u1100\u1173\u11b7","\u110b\u116d\u110b\u1175\u11af","\u110b\u116d\u110c\u1173\u11b7","\u110b\u116d\u110e\u1165\u11bc","\u110b\u116d\u11bc\u1100\u1175","\u110b\u116d\u11bc\u1109\u1165","\u110b\u116d\u11bc\u110b\u1165","\u110b\u116e\u1109\u1161\u11ab","\u110b\u116e\u1109\u1165\u11ab","\u110b\u116e\u1109\u1173\u11bc","\u110b\u116e\u110b\u1167\u11ab\u1112\u1175","\u110b\u116e\u110c\u1165\u11bc","\u110b\u116e\u110e\u1166\u1100\u116e\u11a8","\u110b\u116e\u1111\u1167\u11ab","\u110b\u116e\u11ab\u1103\u1169\u11bc","\u110b\u116e\u11ab\u1106\u1167\u11bc","\u110b\u116e\u11ab\u1107\u1161\u11ab","\u110b\u116e\u11ab\u110c\u1165\u11ab","\u110b\u116e\u11ab\u1112\u1162\u11bc","\u110b\u116e\u11af\u1109\u1161\u11ab","\u110b\u116e\u11af\u110b\u1173\u11b7","\u110b\u116e\u11b7\u110c\u1175\u11a8\u110b\u1175\u11b7","\u110b\u116e\u11ba\u110b\u1165\u1105\u1173\u11ab","\u110b\u116e\u11ba\u110b\u1173\u11b7","\u110b\u116f\u1102\u1161\u11a8","\u110b\u116f\u11ab\u1100\u1169","\u110b\u116f\u11ab\u1105\u1162","\u110b\u116f\u11ab\u1109\u1165","\u110b\u116f\u11ab\u1109\u116e\u11bc\u110b\u1175","\u110b\u116f\u11ab\u110b\u1175\u11ab","\u110b\u116f\u11ab\u110c\u1161\u11bc","\u110b\u116f\u11ab\u1111\u1175\u1109\u1173","\u110b\u116f\u11af\u1100\u1173\u11b8","\u110b\u116f\u11af\u1103\u1173\u110f\u1165\u11b8","\u110b\u116f\u11af\u1109\u1166","\u110b\u116f\u11af\u110b\u116d\u110b\u1175\u11af","\u110b\u1170\u110b\u1175\u1110\u1165","\u110b\u1171\u1107\u1161\u11ab","\u110b\u1171\u1107\u1165\u11b8","\u110b\u1171\u1109\u1165\u11bc","\u110b\u1171\u110b\u116f\u11ab","\u110b\u1171\u1112\u1165\u11b7","\u110b\u1171\u1112\u1167\u11b8","\u110b\u1171\u11ba\u1109\u1161\u1105\u1161\u11b7","\u110b\u1172\u1102\u1161\u11ab\u1112\u1175","\u110b\u1172\u1105\u1165\u11b8","\u110b\u1172\u1106\u1167\u11bc","\u110b\u1172\u1106\u116e\u11af","\u110b\u1172\u1109\u1161\u11ab","\u110b\u1172\u110c\u1165\u11a8","\u110b\u1172\u110e\u1175\u110b\u116f\u11ab","\u110b\u1172\u1112\u1161\u11a8","\u110b\u1172\u1112\u1162\u11bc","\u110b\u1172\u1112\u1167\u11bc","\u110b\u1172\u11a8\u1100\u116e\u11ab","\u110b\u1172\u11a8\u1109\u1161\u11bc","\u110b\u1172\u11a8\u1109\u1175\u11b8","\u110b\u1172\u11a8\u110e\u1166","\u110b\u1173\u11ab\u1112\u1162\u11bc","\u110b\u1173\u11b7\u1105\u1167\u11a8","\u110b\u1173\u11b7\u1105\u116d","\u110b\u1173\u11b7\u1107\u1161\u11ab","\u110b\u1173\u11b7\u1109\u1165\u11bc","\u110b\u1173\u11b7\u1109\u1175\u11a8","\u110b\u1173\u11b7\u110b\u1161\u11a8","\u110b\u1173\u11b7\u110c\u116e","\u110b\u1174\u1100\u1167\u11ab","\u110b\u1174\u1102\u1169\u11ab","\u110b\u1174\u1106\u116e\u11ab","\u110b\u1174\u1107\u1169\u11a8","\u110b\u1174\u1109\u1175\u11a8","\u110b\u1174\u1109\u1175\u11b7","\u110b\u1174\u110b\u116c\u1105\u1169","\u110b\u1174\u110b\u116d\u11a8","\u110b\u1174\u110b\u116f\u11ab","\u110b\u1174\u1112\u1161\u11a8","\u110b\u1175\u1100\u1165\u11ba","\u110b\u1175\u1100\u1169\u11ba","\u110b\u1175\u1102\u1167\u11b7","\u110b\u1175\u1102\u1169\u11b7","\u110b\u1175\u1103\u1161\u11af","\u110b\u1175\u1103\u1162\u1105\u1169","\u110b\u1175\u1103\u1169\u11bc","\u110b\u1175\u1105\u1165\u11c2\u1100\u1166","\u110b\u1175\u1105\u1167\u11a8\u1109\u1165","\u110b\u1175\u1105\u1169\u11ab\u110c\u1165\u11a8","\u110b\u1175\u1105\u1173\u11b7","\u110b\u1175\u1106\u1175\u11ab","\u110b\u1175\u1107\u1161\u11af\u1109\u1169","\u110b\u1175\u1107\u1167\u11af","\u110b\u1175\u1107\u116e\u11af","\u110b\u1175\u1108\u1161\u11af","\u110b\u1175\u1109\u1161\u11bc","\u110b\u1175\u1109\u1165\u11bc","\u110b\u1175\u1109\u1173\u11af","\u110b\u1175\u110b\u1163\u1100\u1175","\u110b\u1175\u110b\u116d\u11bc","\u110b\u1175\u110b\u116e\u11ba","\u110b\u1175\u110b\u116f\u11af","\u110b\u1175\u110b\u1173\u11a8\u1100\u1169","\u110b\u1175\u110b\u1175\u11a8","\u110b\u1175\u110c\u1165\u11ab","\u110b\u1175\u110c\u116e\u11bc","\u110b\u1175\u1110\u1173\u11ae\u1102\u1161\u11af","\u110b\u1175\u1110\u1173\u11af","\u110b\u1175\u1112\u1169\u11ab","\u110b\u1175\u11ab\u1100\u1161\u11ab","\u110b\u1175\u11ab\u1100\u1167\u11a8","\u110b\u1175\u11ab\u1100\u1169\u11bc","\u110b\u1175\u11ab\u1100\u116e","\u110b\u1175\u11ab\u1100\u1173\u11ab","\u110b\u1175\u11ab\u1100\u1175","\u110b\u1175\u11ab\u1103\u1169","\u110b\u1175\u11ab\u1105\u1172","\u110b\u1175\u11ab\u1106\u116e\u11af","\u110b\u1175\u11ab\u1109\u1162\u11bc","\u110b\u1175\u11ab\u1109\u116b","\u110b\u1175\u11ab\u110b\u1167\u11ab","\u110b\u1175\u11ab\u110b\u116f\u11ab","\u110b\u1175\u11ab\u110c\u1162","\u110b\u1175\u11ab\u110c\u1169\u11bc","\u110b\u1175\u11ab\u110e\u1165\u11ab","\u110b\u1175\u11ab\u110e\u1166","\u110b\u1175\u11ab\u1110\u1165\u1102\u1166\u11ba","\u110b\u1175\u11ab\u1112\u1161","\u110b\u1175\u11ab\u1112\u1167\u11bc","\u110b\u1175\u11af\u1100\u1169\u11b8","\u110b\u1175\u11af\u1100\u1175","\u110b\u1175\u11af\u1103\u1161\u11ab","\u110b\u1175\u11af\u1103\u1162","\u110b\u1175\u11af\u1103\u1173\u11bc","\u110b\u1175\u11af\u1107\u1161\u11ab","\u110b\u1175\u11af\u1107\u1169\u11ab","\u110b\u1175\u11af\u1107\u116e","\u110b\u1175\u11af\u1109\u1161\u11bc","\u110b\u1175\u11af\u1109\u1162\u11bc","\u110b\u1175\u11af\u1109\u1169\u11ab","\u110b\u1175\u11af\u110b\u116d\u110b\u1175\u11af","\u110b\u1175\u11af\u110b\u116f\u11af","\u110b\u1175\u11af\u110c\u1165\u11bc","\u110b\u1175\u11af\u110c\u1169\u11bc","\u110b\u1175\u11af\u110c\u116e\u110b\u1175\u11af","\u110b\u1175\u11af\u110d\u1175\u11a8","\u110b\u1175\u11af\u110e\u1166","\u110b\u1175\u11af\u110e\u1175","\u110b\u1175\u11af\u1112\u1162\u11bc","\u110b\u1175\u11af\u1112\u116c\u110b\u116d\u11bc","\u110b\u1175\u11b7\u1100\u1173\u11b7","\u110b\u1175\u11b7\u1106\u116e","\u110b\u1175\u11b8\u1103\u1162","\u110b\u1175\u11b8\u1105\u1167\u11a8","\u110b\u1175\u11b8\u1106\u1161\u11ba","\u110b\u1175\u11b8\u1109\u1161","\u110b\u1175\u11b8\u1109\u116e\u11af","\u110b\u1175\u11b8\u1109\u1175","\u110b\u1175\u11b8\u110b\u116f\u11ab","\u110b\u1175\u11b8\u110c\u1161\u11bc","\u110b\u1175\u11b8\u1112\u1161\u11a8","\u110c\u1161\u1100\u1161\u110b\u116d\u11bc","\u110c\u1161\u1100\u1167\u11a8","\u110c\u1161\u1100\u1173\u11a8","\u110c\u1161\u1103\u1169\u11bc","\u110c\u1161\u1105\u1161\u11bc","\u110c\u1161\u1107\u116e\u1109\u1175\u11b7","\u110c\u1161\u1109\u1175\u11a8","\u110c\u1161\u1109\u1175\u11ab","\u110c\u1161\u110b\u1167\u11ab","\u110c\u1161\u110b\u116f\u11ab","\u110c\u1161\u110b\u1172\u11af","\u110c\u1161\u110c\u1165\u11ab\u1100\u1165","\u110c\u1161\u110c\u1165\u11bc","\u110c\u1161\u110c\u1169\u11ab\u1109\u1175\u11b7","\u110c\u1161\u1111\u1161\u11ab","\u110c\u1161\u11a8\u1100\u1161","\u110c\u1161\u11a8\u1102\u1167\u11ab","\u110c\u1161\u11a8\u1109\u1165\u11bc","\u110c\u1161\u11a8\u110b\u1165\u11b8","\u110c\u1161\u11a8\u110b\u116d\u11bc","\u110c\u1161\u11a8\u110b\u1173\u11ab\u1104\u1161\u11af","\u110c\u1161\u11a8\u1111\u116e\u11b7","\u110c\u1161\u11ab\u1103\u1175","\u110c\u1161\u11ab\u1104\u1173\u11a8","\u110c\u1161\u11ab\u110e\u1175","\u110c\u1161\u11af\u1106\u1169\u11ba","\u110c\u1161\u11b7\u1101\u1161\u11ab","\u110c\u1161\u11b7\u1109\u116e\u1112\u1161\u11b7","\u110c\u1161\u11b7\u1109\u1175","\u110c\u1161\u11b7\u110b\u1169\u11ba","\u110c\u1161\u11b7\u110c\u1161\u1105\u1175","\u110c\u1161\u11b8\u110c\u1175","\u110c\u1161\u11bc\u1100\u116a\u11ab","\u110c\u1161\u11bc\u1100\u116e\u11ab","\u110c\u1161\u11bc\u1100\u1175\u1100\u1161\u11ab","\u110c\u1161\u11bc\u1105\u1162","\u110c\u1161\u11bc\u1105\u1168","\u110c\u1161\u11bc\u1105\u1173","\u110c\u1161\u11bc\u1106\u1161","\u110c\u1161\u11bc\u1106\u1167\u11ab","\u110c\u1161\u11bc\u1106\u1169","\u110c\u1161\u11bc\u1106\u1175","\u110c\u1161\u11bc\u1107\u1175","\u110c\u1161\u11bc\u1109\u1161","\u110c\u1161\u11bc\u1109\u1169","\u110c\u1161\u11bc\u1109\u1175\u11a8","\u110c\u1161\u11bc\u110b\u1162\u110b\u1175\u11ab","\u110c\u1161\u11bc\u110b\u1175\u11ab","\u110c\u1161\u11bc\u110c\u1165\u11b7","\u110c\u1161\u11bc\u110e\u1161","\u110c\u1161\u11bc\u1112\u1161\u11a8\u1100\u1173\u11b7","\u110c\u1162\u1102\u1173\u11bc","\u110c\u1162\u1108\u1161\u11af\u1105\u1175","\u110c\u1162\u1109\u1161\u11ab","\u110c\u1162\u1109\u1162\u11bc","\u110c\u1162\u110c\u1161\u11a8\u1102\u1167\u11ab","\u110c\u1162\u110c\u1165\u11bc","\u110c\u1162\u110e\u1162\u1100\u1175","\u110c\u1162\u1111\u1161\u11ab","\u110c\u1162\u1112\u1161\u11a8","\u110c\u1162\u1112\u116a\u11af\u110b\u116d\u11bc","\u110c\u1165\u1100\u1165\u11ba","\u110c\u1165\u1100\u1169\u1105\u1175","\u110c\u1165\u1100\u1169\u11ba","\u110c\u1165\u1102\u1167\u11a8","\u110c\u1165\u1105\u1165\u11ab","\u110c\u1165\u1105\u1165\u11c2\u1100\u1166","\u110c\u1165\u1107\u1165\u11ab","\u110c\u1165\u110b\u116e\u11af","\u110c\u1165\u110c\u1165\u11af\u1105\u1169","\u110c\u1165\u110e\u116e\u11a8","\u110c\u1165\u11a8\u1100\u1173\u11a8","\u110c\u1165\u11a8\u1103\u1161\u11bc\u1112\u1175","\u110c\u1165\u11a8\u1109\u1165\u11bc","\u110c\u1165\u11a8\u110b\u116d\u11bc","\u110c\u1165\u11a8\u110b\u1173\u11bc","\u110c\u1165\u11ab\u1100\u1162","\u110c\u1165\u11ab\u1100\u1169\u11bc","\u110c\u1165\u11ab\u1100\u1175","\u110c\u1165\u11ab\u1103\u1161\u11af","\u110c\u1165\u11ab\u1105\u1161\u1103\u1169","\u110c\u1165\u11ab\u1106\u1161\u11bc","\u110c\u1165\u11ab\u1106\u116e\u11ab","\u110c\u1165\u11ab\u1107\u1161\u11ab","\u110c\u1165\u11ab\u1107\u116e","\u110c\u1165\u11ab\u1109\u1166","\u110c\u1165\u11ab\u1109\u1175","\u110c\u1165\u11ab\u110b\u116d\u11bc","\u110c\u1165\u11ab\u110c\u1161","\u110c\u1165\u11ab\u110c\u1162\u11bc","\u110c\u1165\u11ab\u110c\u116e","\u110c\u1165\u11ab\u110e\u1165\u11af","\u110c\u1165\u11ab\u110e\u1166","\u110c\u1165\u11ab\u1110\u1169\u11bc","\u110c\u1165\u11ab\u1112\u1167","\u110c\u1165\u11ab\u1112\u116e","\u110c\u1165\u11af\u1103\u1162","\u110c\u1165\u11af\u1106\u1161\u11bc","\u110c\u1165\u11af\u1107\u1161\u11ab","\u110c\u1165\u11af\u110b\u1163\u11a8","\u110c\u1165\u11af\u110e\u1161","\u110c\u1165\u11b7\u1100\u1165\u11b7","\u110c\u1165\u11b7\u1109\u116e","\u110c\u1165\u11b7\u1109\u1175\u11b7","\u110c\u1165\u11b7\u110b\u116f\u11ab","\u110c\u1165\u11b7\u110c\u1165\u11b7","\u110c\u1165\u11b7\u110e\u1161","\u110c\u1165\u11b8\u1100\u1173\u11ab","\u110c\u1165\u11b8\u1109\u1175","\u110c\u1165\u11b8\u110e\u1169\u11a8","\u110c\u1165\u11ba\u1100\u1161\u1105\u1161\u11a8","\u110c\u1165\u11bc\u1100\u1165\u110c\u1161\u11bc","\u110c\u1165\u11bc\u1103\u1169","\u110c\u1165\u11bc\u1105\u1172\u110c\u1161\u11bc","\u110c\u1165\u11bc\u1105\u1175","\u110c\u1165\u11bc\u1106\u1161\u11af","\u110c\u1165\u11bc\u1106\u1167\u11ab","\u110c\u1165\u11bc\u1106\u116e\u11ab","\u110c\u1165\u11bc\u1107\u1161\u11ab\u1103\u1162","\u110c\u1165\u11bc\u1107\u1169","\u110c\u1165\u11bc\u1107\u116e","\u110c\u1165\u11bc\u1107\u1175","\u110c\u1165\u11bc\u1109\u1161\u11bc","\u110c\u1165\u11bc\u1109\u1165\u11bc","\u110c\u1165\u11bc\u110b\u1169","\u110c\u1165\u11bc\u110b\u116f\u11ab","\u110c\u1165\u11bc\u110c\u1161\u11bc","\u110c\u1165\u11bc\u110c\u1175","\u110c\u1165\u11bc\u110e\u1175","\u110c\u1165\u11bc\u1112\u116a\u11a8\u1112\u1175","\u110c\u1166\u1100\u1169\u11bc","\u110c\u1166\u1100\u116a\u110c\u1165\u11b7","\u110c\u1166\u1103\u1162\u1105\u1169","\u110c\u1166\u1106\u1169\u11a8","\u110c\u1166\u1107\u1161\u11af","\u110c\u1166\u1107\u1165\u11b8","\u110c\u1166\u1109\u1161\u11ba\u1102\u1161\u11af","\u110c\u1166\u110b\u1161\u11ab","\u110c\u1166\u110b\u1175\u11af","\u110c\u1166\u110c\u1161\u11a8","\u110c\u1166\u110c\u116e\u1103\u1169","\u110c\u1166\u110e\u116e\u11af","\u110c\u1166\u1111\u116e\u11b7","\u110c\u1166\u1112\u1161\u11ab","\u110c\u1169\u1100\u1161\u11a8","\u110c\u1169\u1100\u1165\u11ab","\u110c\u1169\u1100\u1173\u11b7","\u110c\u1169\u1100\u1175\u11bc","\u110c\u1169\u1106\u1167\u11bc","\u110c\u1169\u1106\u1175\u1105\u116d","\u110c\u1169\u1109\u1161\u11bc","\u110c\u1169\u1109\u1165\u11ab","\u110c\u1169\u110b\u116d\u11bc\u1112\u1175","\u110c\u1169\u110c\u1165\u11af","\u110c\u1169\u110c\u1165\u11bc","\u110c\u1169\u110c\u1175\u11a8","\u110c\u1169\u11ab\u1103\u1162\u11ba\u1106\u1161\u11af","\u110c\u1169\u11ab\u110c\u1162","\u110c\u1169\u11af\u110b\u1165\u11b8","\u110c\u1169\u11af\u110b\u1173\u11b7","\u110c\u1169\u11bc\u1100\u116d","\u110c\u1169\u11bc\u1105\u1169","\u110c\u1169\u11bc\u1105\u1172","\u110c\u1169\u11bc\u1109\u1169\u1105\u1175","\u110c\u1169\u11bc\u110b\u1165\u11b8\u110b\u116f\u11ab","\u110c\u1169\u11bc\u110c\u1169\u11bc","\u110c\u1169\u11bc\u1112\u1161\u11b8","\u110c\u116a\u1109\u1165\u11a8","\u110c\u116c\u110b\u1175\u11ab","\u110c\u116e\u1100\u116a\u11ab\u110c\u1165\u11a8","\u110c\u116e\u1105\u1173\u11b7","\u110c\u116e\u1106\u1161\u11af","\u110c\u116e\u1106\u1165\u1102\u1175","\u110c\u116e\u1106\u1165\u11a8","\u110c\u116e\u1106\u116e\u11ab","\u110c\u116e\u1106\u1175\u11ab","\u110c\u116e\u1107\u1161\u11bc","\u110c\u116e\u1107\u1167\u11ab","\u110c\u116e\u1109\u1175\u11a8","\u110c\u116e\u110b\u1175\u11ab","\u110c\u116e\u110b\u1175\u11af","\u110c\u116e\u110c\u1161\u11bc","\u110c\u116e\u110c\u1165\u11ab\u110c\u1161","\u110c\u116e\u1110\u1162\u11a8","\u110c\u116e\u11ab\u1107\u1175","\u110c\u116e\u11af\u1100\u1165\u1105\u1175","\u110c\u116e\u11af\u1100\u1175","\u110c\u116e\u11af\u1106\u116e\u1102\u1174","\u110c\u116e\u11bc\u1100\u1161\u11ab","\u110c\u116e\u11bc\u1100\u1168\u1107\u1161\u11bc\u1109\u1169\u11bc","\u110c\u116e\u11bc\u1100\u116e\u11a8","\u110c\u116e\u11bc\u1102\u1167\u11ab","\u110c\u116e\u11bc\u1103\u1161\u11ab","\u110c\u116e\u11bc\u1103\u1169\u11a8","\u110c\u116e\u11bc\u1107\u1161\u11ab","\u110c\u116e\u11bc\u1107\u116e","\u110c\u116e\u11bc\u1109\u1166","\u110c\u116e\u11bc\u1109\u1169\u1100\u1175\u110b\u1165\u11b8","\u110c\u116e\u11bc\u1109\u116e\u11ab","\u110c\u116e\u11bc\u110b\u1161\u11bc","\u110c\u116e\u11bc\u110b\u116d","\u110c\u116e\u11bc\u1112\u1161\u11a8\u1100\u116d","\u110c\u1173\u11a8\u1109\u1165\u11a8","\u110c\u1173\u11a8\u1109\u1175","\u110c\u1173\u11af\u1100\u1165\u110b\u116e\u11b7","\u110c\u1173\u11bc\u1100\u1161","\u110c\u1173\u11bc\u1100\u1165","\u110c\u1173\u11bc\u1100\u116f\u11ab","\u110c\u1173\u11bc\u1109\u1161\u11bc","\u110c\u1173\u11bc\u1109\u1166","\u110c\u1175\u1100\u1161\u11a8","\u110c\u1175\u1100\u1161\u11b8","\u110c\u1175\u1100\u1167\u11bc","\u110c\u1175\u1100\u1173\u11a8\u1112\u1175","\u110c\u1175\u1100\u1173\u11b7","\u110c\u1175\u1100\u1173\u11b8","\u110c\u1175\u1102\u1173\u11bc","\u110c\u1175\u1105\u1173\u11b7\u1100\u1175\u11af","\u110c\u1175\u1105\u1175\u1109\u1161\u11ab","\u110c\u1175\u1107\u1161\u11bc","\u110c\u1175\u1107\u116e\u11bc","\u110c\u1175\u1109\u1175\u11a8","\u110c\u1175\u110b\u1167\u11a8","\u110c\u1175\u110b\u116e\u1100\u1162","\u110c\u1175\u110b\u116f\u11ab","\u110c\u1175\u110c\u1165\u11a8","\u110c\u1175\u110c\u1165\u11b7","\u110c\u1175\u110c\u1175\u11ab","\u110c\u1175\u110e\u116e\u11af","\u110c\u1175\u11a8\u1109\u1165\u11ab","\u110c\u1175\u11a8\u110b\u1165\u11b8","\u110c\u1175\u11a8\u110b\u116f\u11ab","\u110c\u1175\u11a8\u110c\u1161\u11bc","\u110c\u1175\u11ab\u1100\u1173\u11b8","\u110c\u1175\u11ab\u1103\u1169\u11bc","\u110c\u1175\u11ab\u1105\u1169","\u110c\u1175\u11ab\u1105\u116d","\u110c\u1175\u11ab\u1105\u1175","\u110c\u1175\u11ab\u110d\u1161","\u110c\u1175\u11ab\u110e\u1161\u11af","\u110c\u1175\u11ab\u110e\u116e\u11af","\u110c\u1175\u11ab\u1110\u1169\u11bc","\u110c\u1175\u11ab\u1112\u1162\u11bc","\u110c\u1175\u11af\u1106\u116e\u11ab","\u110c\u1175\u11af\u1107\u1167\u11bc","\u110c\u1175\u11af\u1109\u1165","\u110c\u1175\u11b7\u110c\u1161\u11a8","\u110c\u1175\u11b8\u1103\u1161\u11ab","\u110c\u1175\u11b8\u110b\u1161\u11ab","\u110c\u1175\u11b8\u110c\u116e\u11bc","\u110d\u1161\u110c\u1173\u11bc","\u110d\u1175\u1101\u1165\u1100\u1175","\u110e\u1161\u1102\u1161\u11b7","\u110e\u1161\u1105\u1161\u1105\u1175","\u110e\u1161\u1105\u1163\u11bc","\u110e\u1161\u1105\u1175\u11b7","\u110e\u1161\u1107\u1167\u11af","\u110e\u1161\u1109\u1165\u11ab","\u110e\u1161\u110e\u1173\u11b7","\u110e\u1161\u11a8\u1100\u1161\u11a8","\u110e\u1161\u11ab\u1106\u116e\u11af","\u110e\u1161\u11ab\u1109\u1165\u11bc","\u110e\u1161\u11b7\u1100\u1161","\u110e\u1161\u11b7\u1100\u1175\u1105\u1173\u11b7","\u110e\u1161\u11b7\u1109\u1162","\u110e\u1161\u11b7\u1109\u1165\u11a8","\u110e\u1161\u11b7\u110b\u1167","\u110e\u1161\u11b7\u110b\u116c","\u110e\u1161\u11b7\u110c\u1169","\u110e\u1161\u11ba\u110c\u1161\u11ab","\u110e\u1161\u11bc\u1100\u1161","\u110e\u1161\u11bc\u1100\u1169","\u110e\u1161\u11bc\u1100\u116e","\u110e\u1161\u11bc\u1106\u116e\u11ab","\u110e\u1161\u11bc\u1107\u1161\u11a9","\u110e\u1161\u11bc\u110c\u1161\u11a8","\u110e\u1161\u11bc\u110c\u1169","\u110e\u1162\u1102\u1165\u11af","\u110e\u1162\u110c\u1165\u11b7","\u110e\u1162\u11a8\u1100\u1161\u1107\u1161\u11bc","\u110e\u1162\u11a8\u1107\u1161\u11bc","\u110e\u1162\u11a8\u1109\u1161\u11bc","\u110e\u1162\u11a8\u110b\u1175\u11b7","\u110e\u1162\u11b7\u1111\u1175\u110b\u1165\u11ab","\u110e\u1165\u1107\u1165\u11af","\u110e\u1165\u110b\u1173\u11b7","\u110e\u1165\u11ab\u1100\u116e\u11a8","\u110e\u1165\u11ab\u1103\u116e\u11bc","\u110e\u1165\u11ab\u110c\u1161\u11bc","\u110e\u1165\u11ab\u110c\u1162","\u110e\u1165\u11ab\u110e\u1165\u11ab\u1112\u1175","\u110e\u1165\u11af\u1103\u1169","\u110e\u1165\u11af\u110c\u1165\u1112\u1175","\u110e\u1165\u11af\u1112\u1161\u11a8","\u110e\u1165\u11ba\u1102\u1161\u11af","\u110e\u1165\u11ba\u110d\u1162","\u110e\u1165\u11bc\u1102\u1167\u11ab","\u110e\u1165\u11bc\u1107\u1161\u110c\u1175","\u110e\u1165\u11bc\u1109\u1169","\u110e\u1165\u11bc\u110e\u116e\u11ab","\u110e\u1166\u1100\u1168","\u110e\u1166\u1105\u1167\u11a8","\u110e\u1166\u110b\u1169\u11ab","\u110e\u1166\u110b\u1172\u11a8","\u110e\u1166\u110c\u116e\u11bc","\u110e\u1166\u1112\u1165\u11b7","\u110e\u1169\u1103\u1173\u11bc\u1112\u1161\u11a8\u1109\u1162\u11bc","\u110e\u1169\u1107\u1161\u11ab","\u110e\u1169\u1107\u1161\u11b8","\u110e\u1169\u1109\u1161\u11bc\u1112\u116a","\u110e\u1169\u1109\u116e\u11ab","\u110e\u1169\u110b\u1167\u1105\u1173\u11b7","\u110e\u1169\u110b\u116f\u11ab","\u110e\u1169\u110c\u1165\u1102\u1167\u11a8","\u110e\u1169\u110c\u1165\u11b7","\u110e\u1169\u110e\u1165\u11bc","\u110e\u1169\u110f\u1169\u11af\u1105\u1175\u11ba","\u110e\u1169\u11ba\u1107\u116e\u11af","\u110e\u1169\u11bc\u1100\u1161\u11a8","\u110e\u1169\u11bc\u1105\u1175","\u110e\u1169\u11bc\u110c\u1161\u11bc","\u110e\u116a\u11af\u110b\u1167\u11bc","\u110e\u116c\u1100\u1173\u11ab","\u110e\u116c\u1109\u1161\u11bc","\u110e\u116c\u1109\u1165\u11ab","\u110e\u116c\u1109\u1175\u11ab","\u110e\u116c\u110b\u1161\u11a8","\u110e\u116c\u110c\u1169\u11bc","\u110e\u116e\u1109\u1165\u11a8","\u110e\u116e\u110b\u1165\u11a8","\u110e\u116e\u110c\u1175\u11ab","\u110e\u116e\u110e\u1165\u11ab","\u110e\u116e\u110e\u1173\u11a8","\u110e\u116e\u11a8\u1100\u116e","\u110e\u116e\u11a8\u1109\u1169","\u110e\u116e\u11a8\u110c\u1166","\u110e\u116e\u11a8\u1112\u1161","\u110e\u116e\u11af\u1100\u1173\u11ab","\u110e\u116e\u11af\u1107\u1161\u11af","\u110e\u116e\u11af\u1109\u1161\u11ab","\u110e\u116e\u11af\u1109\u1175\u11ab","\u110e\u116e\u11af\u110b\u1167\u11ab","\u110e\u116e\u11af\u110b\u1175\u11b8","\u110e\u116e\u11af\u110c\u1161\u11bc","\u110e\u116e\u11af\u1111\u1161\u11ab","\u110e\u116e\u11bc\u1100\u1167\u11a8","\u110e\u116e\u11bc\u1100\u1169","\u110e\u116e\u11bc\u1103\u1169\u11af","\u110e\u116e\u11bc\u1107\u116e\u11ab\u1112\u1175","\u110e\u116e\u11bc\u110e\u1165\u11bc\u1103\u1169","\u110e\u1171\u110b\u1165\u11b8","\u110e\u1171\u110c\u1175\u11a8","\u110e\u1171\u1112\u1163\u11bc","\u110e\u1175\u110b\u1163\u11a8","\u110e\u1175\u11ab\u1100\u116e","\u110e\u1175\u11ab\u110e\u1165\u11a8","\u110e\u1175\u11af\u1109\u1175\u11b8","\u110e\u1175\u11af\u110b\u116f\u11af","\u110e\u1175\u11af\u1111\u1161\u11ab","\u110e\u1175\u11b7\u1103\u1162","\u110e\u1175\u11b7\u1106\u116e\u11a8","\u110e\u1175\u11b7\u1109\u1175\u11af","\u110e\u1175\u11ba\u1109\u1169\u11af","\u110e\u1175\u11bc\u110e\u1161\u11ab","\u110f\u1161\u1106\u1166\u1105\u1161","\u110f\u1161\u110b\u116e\u11ab\u1110\u1165","\u110f\u1161\u11af\u1100\u116e\u11a8\u1109\u116e","\u110f\u1162\u1105\u1175\u11a8\u1110\u1165","\u110f\u1162\u11b7\u1111\u1165\u1109\u1173","\u110f\u1162\u11b7\u1111\u1166\u110b\u1175\u11ab","\u110f\u1165\u1110\u1173\u11ab","\u110f\u1165\u11ab\u1103\u1175\u1109\u1167\u11ab","\u110f\u1165\u11af\u1105\u1165","\u110f\u1165\u11b7\u1111\u1172\u1110\u1165","\u110f\u1169\u1101\u1175\u1105\u1175","\u110f\u1169\u1106\u1175\u1103\u1175","\u110f\u1169\u11ab\u1109\u1165\u1110\u1173","\u110f\u1169\u11af\u1105\u1161","\u110f\u1169\u11b7\u1111\u1173\u11af\u1105\u1166\u11a8\u1109\u1173","\u110f\u1169\u11bc\u1102\u1161\u1106\u116e\u11af","\u110f\u116b\u1100\u1161\u11b7","\u110f\u116e\u1103\u1166\u1110\u1161","\u110f\u1173\u1105\u1175\u11b7","\u110f\u1173\u11ab\u1100\u1175\u11af","\u110f\u1173\u11ab\u1104\u1161\u11af","\u110f\u1173\u11ab\u1109\u1169\u1105\u1175","\u110f\u1173\u11ab\u110b\u1161\u1103\u1173\u11af","\u110f\u1173\u11ab\u110b\u1165\u1106\u1165\u1102\u1175","\u110f\u1173\u11ab\u110b\u1175\u11af","\u110f\u1173\u11ab\u110c\u1165\u11af","\u110f\u1173\u11af\u1105\u1162\u1109\u1175\u11a8","\u110f\u1173\u11af\u1105\u1165\u11b8","\u110f\u1175\u11af\u1105\u1169","\u1110\u1161\u110b\u1175\u11b8","\u1110\u1161\u110c\u1161\u1100\u1175","\u1110\u1161\u11a8\u1100\u116e","\u1110\u1161\u11a8\u110c\u1161","\u1110\u1161\u11ab\u1109\u1162\u11bc","\u1110\u1162\u1100\u116f\u11ab\u1103\u1169","\u1110\u1162\u110b\u1163\u11bc","\u1110\u1162\u1111\u116e\u11bc","\u1110\u1162\u11a8\u1109\u1175","\u1110\u1162\u11af\u1105\u1165\u11ab\u1110\u1173","\u1110\u1165\u1102\u1165\u11af","\u1110\u1165\u1106\u1175\u1102\u1165\u11af","\u1110\u1166\u1102\u1175\u1109\u1173","\u1110\u1166\u1109\u1173\u1110\u1173","\u1110\u1166\u110b\u1175\u1107\u1173\u11af","\u1110\u1166\u11af\u1105\u1166\u1107\u1175\u110c\u1165\u11ab","\u1110\u1169\u1105\u1169\u11ab","\u1110\u1169\u1106\u1161\u1110\u1169","\u1110\u1169\u110b\u116d\u110b\u1175\u11af","\u1110\u1169\u11bc\u1100\u1168","\u1110\u1169\u11bc\u1100\u116a","\u1110\u1169\u11bc\u1105\u1169","\u1110\u1169\u11bc\u1109\u1175\u11ab","\u1110\u1169\u11bc\u110b\u1167\u11a8","\u1110\u1169\u11bc\u110b\u1175\u11af","\u1110\u1169\u11bc\u110c\u1161\u11bc","\u1110\u1169\u11bc\u110c\u1166","\u1110\u1169\u11bc\u110c\u1173\u11bc","\u1110\u1169\u11bc\u1112\u1161\u11b8","\u1110\u1169\u11bc\u1112\u116a","\u1110\u116c\u1100\u1173\u11ab","\u1110\u116c\u110b\u116f\u11ab","\u1110\u116c\u110c\u1175\u11a8\u1100\u1173\u11b7","\u1110\u1171\u1100\u1175\u11b7","\u1110\u1173\u1105\u1165\u11a8","\u1110\u1173\u11a8\u1100\u1173\u11b8","\u1110\u1173\u11a8\u1107\u1167\u11af","\u1110\u1173\u11a8\u1109\u1165\u11bc","\u1110\u1173\u11a8\u1109\u116e","\u1110\u1173\u11a8\u110c\u1175\u11bc","\u1110\u1173\u11a8\u1112\u1175","\u1110\u1173\u11ab\u1110\u1173\u11ab\u1112\u1175","\u1110\u1175\u1109\u1167\u110e\u1173","\u1111\u1161\u1105\u1161\u11ab\u1109\u1162\u11a8","\u1111\u1161\u110b\u1175\u11af","\u1111\u1161\u110e\u116e\u11af\u1109\u1169","\u1111\u1161\u11ab\u1100\u1167\u11af","\u1111\u1161\u11ab\u1103\u1161\u11ab","\u1111\u1161\u11ab\u1106\u1162","\u1111\u1161\u11ab\u1109\u1161","\u1111\u1161\u11af\u1109\u1175\u11b8","\u1111\u1161\u11af\u110b\u116f\u11af","\u1111\u1161\u11b8\u1109\u1169\u11bc","\u1111\u1162\u1109\u1167\u11ab","\u1111\u1162\u11a8\u1109\u1173","\u1111\u1162\u11a8\u1109\u1175\u1106\u1175\u11af\u1105\u1175","\u1111\u1162\u11ab\u1110\u1175","\u1111\u1165\u1109\u1166\u11ab\u1110\u1173","\u1111\u1166\u110b\u1175\u11ab\u1110\u1173","\u1111\u1167\u11ab\u1100\u1167\u11ab","\u1111\u1167\u11ab\u110b\u1174","\u1111\u1167\u11ab\u110c\u1175","\u1111\u1167\u11ab\u1112\u1175","\u1111\u1167\u11bc\u1100\u1161","\u1111\u1167\u11bc\u1100\u1172\u11ab","\u1111\u1167\u11bc\u1109\u1162\u11bc","\u1111\u1167\u11bc\u1109\u1169","\u1111\u1167\u11bc\u110b\u1163\u11bc","\u1111\u1167\u11bc\u110b\u1175\u11af","\u1111\u1167\u11bc\u1112\u116a","\u1111\u1169\u1109\u1173\u1110\u1165","\u1111\u1169\u110b\u1175\u11ab\u1110\u1173","\u1111\u1169\u110c\u1161\u11bc","\u1111\u1169\u1112\u1161\u11b7","\u1111\u116d\u1106\u1167\u11ab","\u1111\u116d\u110c\u1165\u11bc","\u1111\u116d\u110c\u116e\u11ab","\u1111\u116d\u1112\u1167\u11ab","\u1111\u116e\u11b7\u1106\u1169\u11a8","\u1111\u116e\u11b7\u110c\u1175\u11af","\u1111\u116e\u11bc\u1100\u1167\u11bc","\u1111\u116e\u11bc\u1109\u1169\u11a8","\u1111\u116e\u11bc\u1109\u1173\u11b8","\u1111\u1173\u1105\u1161\u11bc\u1109\u1173","\u1111\u1173\u1105\u1175\u11ab\u1110\u1165","\u1111\u1173\u11af\u1105\u1161\u1109\u1173\u1110\u1175\u11a8","\u1111\u1175\u1100\u1169\u11ab","\u1111\u1175\u1106\u1161\u11bc","\u1111\u1175\u110b\u1161\u1102\u1169","\u1111\u1175\u11af\u1105\u1173\u11b7","\u1111\u1175\u11af\u1109\u116e","\u1111\u1175\u11af\u110b\u116d","\u1111\u1175\u11af\u110c\u1161","\u1111\u1175\u11af\u1110\u1169\u11bc","\u1111\u1175\u11bc\u1100\u1168","\u1112\u1161\u1102\u1173\u1102\u1175\u11b7","\u1112\u1161\u1102\u1173\u11af","\u1112\u1161\u1103\u1173\u110b\u1170\u110b\u1165","\u1112\u1161\u1105\u116e\u11ba\u1107\u1161\u11b7","\u1112\u1161\u1107\u1161\u11ab\u1100\u1175","\u1112\u1161\u1109\u116e\u11a8\u110c\u1175\u11b8","\u1112\u1161\u1109\u116e\u11ab","\u1112\u1161\u110b\u1167\u1110\u1173\u11ab","\u1112\u1161\u110c\u1175\u1106\u1161\u11ab","\u1112\u1161\u110e\u1165\u11ab","\u1112\u1161\u1111\u116e\u11b7","\u1112\u1161\u1111\u1175\u11af","\u1112\u1161\u11a8\u1100\u116a","\u1112\u1161\u11a8\u1100\u116d","\u1112\u1161\u11a8\u1100\u1173\u11b8","\u1112\u1161\u11a8\u1100\u1175","\u1112\u1161\u11a8\u1102\u1167\u11ab","\u1112\u1161\u11a8\u1105\u1167\u11a8","\u1112\u1161\u11a8\u1107\u1165\u11ab","\u1112\u1161\u11a8\u1107\u116e\u1106\u1169","\u1112\u1161\u11a8\u1107\u1175","\u1112\u1161\u11a8\u1109\u1162\u11bc","\u1112\u1161\u11a8\u1109\u116e\u11af","\u1112\u1161\u11a8\u1109\u1173\u11b8","\u1112\u1161\u11a8\u110b\u116d\u11bc\u1111\u116e\u11b7","\u1112\u1161\u11a8\u110b\u116f\u11ab","\u1112\u1161\u11a8\u110b\u1171","\u1112\u1161\u11a8\u110c\u1161","\u1112\u1161\u11a8\u110c\u1165\u11b7","\u1112\u1161\u11ab\u1100\u1168","\u1112\u1161\u11ab\u1100\u1173\u11af","\u1112\u1161\u11ab\u1101\u1165\u1107\u1165\u11ab\u110b\u1166","\u1112\u1161\u11ab\u1102\u1161\u11bd","\u1112\u1161\u11ab\u1102\u116e\u11ab","\u1112\u1161\u11ab\u1103\u1169\u11bc\u110b\u1161\u11ab","\u1112\u1161\u11ab\u1104\u1162","\u1112\u1161\u11ab\u1105\u1161\u1109\u1161\u11ab","\u1112\u1161\u11ab\u1106\u1161\u1103\u1175","\u1112\u1161\u11ab\u1106\u116e\u11ab","\u1112\u1161\u11ab\u1107\u1165\u11ab","\u1112\u1161\u11ab\u1107\u1169\u11a8","\u1112\u1161\u11ab\u1109\u1175\u11a8","\u1112\u1161\u11ab\u110b\u1167\u1105\u1173\u11b7","\u1112\u1161\u11ab\u110d\u1169\u11a8","\u1112\u1161\u11af\u1106\u1165\u1102\u1175","\u1112\u1161\u11af\u110b\u1161\u1107\u1165\u110c\u1175","\u1112\u1161\u11af\u110b\u1175\u11ab","\u1112\u1161\u11b7\u1101\u1166","\u1112\u1161\u11b7\u1107\u116e\u1105\u1169","\u1112\u1161\u11b8\u1100\u1167\u11a8","\u1112\u1161\u11b8\u1105\u1175\u110c\u1165\u11a8","\u1112\u1161\u11bc\u1100\u1169\u11bc","\u1112\u1161\u11bc\u1100\u116e","\u1112\u1161\u11bc\u1109\u1161\u11bc","\u1112\u1161\u11bc\u110b\u1174","\u1112\u1162\u1100\u1167\u11af","\u1112\u1162\u1100\u116e\u11ab","\u1112\u1162\u1103\u1161\u11b8","\u1112\u1162\u1103\u1161\u11bc","\u1112\u1162\u1106\u116e\u11af","\u1112\u1162\u1109\u1165\u11a8","\u1112\u1162\u1109\u1165\u11af","\u1112\u1162\u1109\u116e\u110b\u116d\u11a8\u110c\u1161\u11bc","\u1112\u1162\u110b\u1161\u11ab","\u1112\u1162\u11a8\u1109\u1175\u11b7","\u1112\u1162\u11ab\u1103\u1173\u1107\u1162\u11a8","\u1112\u1162\u11b7\u1107\u1165\u1100\u1165","\u1112\u1162\u11ba\u1107\u1167\u11c0","\u1112\u1162\u11ba\u1109\u1161\u11af","\u1112\u1162\u11bc\u1103\u1169\u11bc","\u1112\u1162\u11bc\u1107\u1169\u11a8","\u1112\u1162\u11bc\u1109\u1161","\u1112\u1162\u11bc\u110b\u116e\u11ab","\u1112\u1162\u11bc\u110b\u1171","\u1112\u1163\u11bc\u1100\u1175","\u1112\u1163\u11bc\u1109\u1161\u11bc","\u1112\u1163\u11bc\u1109\u116e","\u1112\u1165\u1105\u1161\u11a8","\u1112\u1165\u110b\u116d\u11bc","\u1112\u1166\u11af\u1100\u1175","\u1112\u1167\u11ab\u1100\u116a\u11ab","\u1112\u1167\u11ab\u1100\u1173\u11b7","\u1112\u1167\u11ab\u1103\u1162","\u1112\u1167\u11ab\u1109\u1161\u11bc","\u1112\u1167\u11ab\u1109\u1175\u11af","\u1112\u1167\u11ab\u110c\u1161\u11bc","\u1112\u1167\u11ab\u110c\u1162","\u1112\u1167\u11ab\u110c\u1175","\u1112\u1167\u11af\u110b\u1162\u11a8","\u1112\u1167\u11b8\u1105\u1167\u11a8","\u1112\u1167\u11bc\u1107\u116e","\u1112\u1167\u11bc\u1109\u1161","\u1112\u1167\u11bc\u1109\u116e","\u1112\u1167\u11bc\u1109\u1175\u11a8","\u1112\u1167\u11bc\u110c\u1166","\u1112\u1167\u11bc\u1110\u1162","\u1112\u1167\u11bc\u1111\u1167\u11ab","\u1112\u1168\u1110\u1162\u11a8","\u1112\u1169\u1100\u1175\u1109\u1175\u11b7","\u1112\u1169\u1102\u1161\u11b7","\u1112\u1169\u1105\u1161\u11bc\u110b\u1175","\u1112\u1169\u1107\u1161\u11a8","\u1112\u1169\u1110\u1166\u11af","\u1112\u1169\u1112\u1173\u11b8","\u1112\u1169\u11a8\u1109\u1175","\u1112\u1169\u11af\u1105\u1169","\u1112\u1169\u11b7\u1111\u1166\u110b\u1175\u110c\u1175","\u1112\u1169\u11bc\u1107\u1169","\u1112\u1169\u11bc\u1109\u116e","\u1112\u1169\u11bc\u110e\u1161","\u1112\u116a\u1106\u1167\u11ab","\u1112\u116a\u1107\u116e\u11ab","\u1112\u116a\u1109\u1161\u11af","\u1112\u116a\u110b\u116d\u110b\u1175\u11af","\u1112\u116a\u110c\u1161\u11bc","\u1112\u116a\u1112\u1161\u11a8","\u1112\u116a\u11a8\u1107\u1169","\u1112\u116a\u11a8\u110b\u1175\u11ab","\u1112\u116a\u11a8\u110c\u1161\u11bc","\u1112\u116a\u11a8\u110c\u1165\u11bc","\u1112\u116a\u11ab\u1100\u1161\u11b8","\u1112\u116a\u11ab\u1100\u1167\u11bc","\u1112\u116a\u11ab\u110b\u1167\u11bc","\u1112\u116a\u11ab\u110b\u1172\u11af","\u1112\u116a\u11ab\u110c\u1161","\u1112\u116a\u11af\u1100\u1175","\u1112\u116a\u11af\u1103\u1169\u11bc","\u1112\u116a\u11af\u1107\u1161\u11af\u1112\u1175","\u1112\u116a\u11af\u110b\u116d\u11bc","\u1112\u116a\u11af\u110d\u1161\u11a8","\u1112\u116c\u1100\u1167\u11ab","\u1112\u116c\u1100\u116a\u11ab","\u1112\u116c\u1107\u1169\u11a8","\u1112\u116c\u1109\u1162\u11a8","\u1112\u116c\u110b\u116f\u11ab","\u1112\u116c\u110c\u1161\u11bc","\u1112\u116c\u110c\u1165\u11ab","\u1112\u116c\u11ba\u1109\u116e","\u1112\u116c\u11bc\u1103\u1161\u11ab\u1107\u1169\u1103\u1169","\u1112\u116d\u110b\u1172\u11af\u110c\u1165\u11a8","\u1112\u116e\u1107\u1161\u11ab","\u1112\u116e\u110e\u116e\u11ba\u1100\u1161\u1105\u116e","\u1112\u116e\u11ab\u1105\u1167\u11ab","\u1112\u116f\u11af\u110a\u1175\u11ab","\u1112\u1172\u1109\u1175\u11a8","\u1112\u1172\u110b\u1175\u11af","\u1112\u1172\u11bc\u1102\u1162","\u1112\u1173\u1105\u1173\u11b7","\u1112\u1173\u11a8\u1107\u1162\u11a8","\u1112\u1173\u11a8\u110b\u1175\u11ab","\u1112\u1173\u11ab\u110c\u1165\u11a8","\u1112\u1173\u11ab\u1112\u1175","\u1112\u1173\u11bc\u1106\u1175","\u1112\u1173\u11bc\u1107\u116e\u11ab","\u1112\u1174\u1100\u1169\u11a8","\u1112\u1174\u1106\u1161\u11bc","\u1112\u1174\u1109\u1162\u11bc","\u1112\u1174\u11ab\u1109\u1162\u11a8","\u1112\u1175\u11b7\u1101\u1165\u11ba"]')},1945:e=>{"use strict";e.exports=JSON.parse('["abacate","abaixo","abalar","abater","abduzir","abelha","aberto","abismo","abotoar","abranger","abreviar","abrigar","abrupto","absinto","absoluto","absurdo","abutre","acabado","acalmar","acampar","acanhar","acaso","aceitar","acelerar","acenar","acervo","acessar","acetona","achatar","acidez","acima","acionado","acirrar","aclamar","aclive","acolhida","acomodar","acoplar","acordar","acumular","acusador","adaptar","adega","adentro","adepto","adequar","aderente","adesivo","adeus","adiante","aditivo","adjetivo","adjunto","admirar","adorar","adquirir","adubo","adverso","advogado","aeronave","afastar","aferir","afetivo","afinador","afivelar","aflito","afluente","afrontar","agachar","agarrar","agasalho","agenciar","agilizar","agiota","agitado","agora","agradar","agreste","agrupar","aguardar","agulha","ajoelhar","ajudar","ajustar","alameda","alarme","alastrar","alavanca","albergue","albino","alcatra","aldeia","alecrim","alegria","alertar","alface","alfinete","algum","alheio","aliar","alicate","alienar","alinhar","aliviar","almofada","alocar","alpiste","alterar","altitude","alucinar","alugar","aluno","alusivo","alvo","amaciar","amador","amarelo","amassar","ambas","ambiente","ameixa","amenizar","amido","amistoso","amizade","amolador","amontoar","amoroso","amostra","amparar","ampliar","ampola","anagrama","analisar","anarquia","anatomia","andaime","anel","anexo","angular","animar","anjo","anomalia","anotado","ansioso","anterior","anuidade","anunciar","anzol","apagador","apalpar","apanhado","apego","apelido","apertada","apesar","apetite","apito","aplauso","aplicada","apoio","apontar","aposta","aprendiz","aprovar","aquecer","arame","aranha","arara","arcada","ardente","areia","arejar","arenito","aresta","argiloso","argola","arma","arquivo","arraial","arrebate","arriscar","arroba","arrumar","arsenal","arterial","artigo","arvoredo","asfaltar","asilado","aspirar","assador","assinar","assoalho","assunto","astral","atacado","atadura","atalho","atarefar","atear","atender","aterro","ateu","atingir","atirador","ativo","atoleiro","atracar","atrevido","atriz","atual","atum","auditor","aumentar","aura","aurora","autismo","autoria","autuar","avaliar","avante","avaria","avental","avesso","aviador","avisar","avulso","axila","azarar","azedo","azeite","azulejo","babar","babosa","bacalhau","bacharel","bacia","bagagem","baiano","bailar","baioneta","bairro","baixista","bajular","baleia","baliza","balsa","banal","bandeira","banho","banir","banquete","barato","barbado","baronesa","barraca","barulho","baseado","bastante","batata","batedor","batida","batom","batucar","baunilha","beber","beijo","beirada","beisebol","beldade","beleza","belga","beliscar","bendito","bengala","benzer","berimbau","berlinda","berro","besouro","bexiga","bezerro","bico","bicudo","bienal","bifocal","bifurcar","bigorna","bilhete","bimestre","bimotor","biologia","biombo","biosfera","bipolar","birrento","biscoito","bisneto","bispo","bissexto","bitola","bizarro","blindado","bloco","bloquear","boato","bobagem","bocado","bocejo","bochecha","boicotar","bolada","boletim","bolha","bolo","bombeiro","bonde","boneco","bonita","borbulha","borda","boreal","borracha","bovino","boxeador","branco","brasa","braveza","breu","briga","brilho","brincar","broa","brochura","bronzear","broto","bruxo","bucha","budismo","bufar","bule","buraco","busca","busto","buzina","cabana","cabelo","cabide","cabo","cabrito","cacau","cacetada","cachorro","cacique","cadastro","cadeado","cafezal","caiaque","caipira","caixote","cajado","caju","calafrio","calcular","caldeira","calibrar","calmante","calota","camada","cambista","camisa","camomila","campanha","camuflar","canavial","cancelar","caneta","canguru","canhoto","canivete","canoa","cansado","cantar","canudo","capacho","capela","capinar","capotar","capricho","captador","capuz","caracol","carbono","cardeal","careca","carimbar","carneiro","carpete","carreira","cartaz","carvalho","casaco","casca","casebre","castelo","casulo","catarata","cativar","caule","causador","cautelar","cavalo","caverna","cebola","cedilha","cegonha","celebrar","celular","cenoura","censo","centeio","cercar","cerrado","certeiro","cerveja","cetim","cevada","chacota","chaleira","chamado","chapada","charme","chatice","chave","chefe","chegada","cheiro","cheque","chicote","chifre","chinelo","chocalho","chover","chumbo","chutar","chuva","cicatriz","ciclone","cidade","cidreira","ciente","cigana","cimento","cinto","cinza","ciranda","circuito","cirurgia","citar","clareza","clero","clicar","clone","clube","coado","coagir","cobaia","cobertor","cobrar","cocada","coelho","coentro","coeso","cogumelo","coibir","coifa","coiote","colar","coleira","colher","colidir","colmeia","colono","coluna","comando","combinar","comentar","comitiva","comover","complexo","comum","concha","condor","conectar","confuso","congelar","conhecer","conjugar","consumir","contrato","convite","cooperar","copeiro","copiador","copo","coquetel","coragem","cordial","corneta","coronha","corporal","correio","cortejo","coruja","corvo","cosseno","costela","cotonete","couro","couve","covil","cozinha","cratera","cravo","creche","credor","creme","crer","crespo","criada","criminal","crioulo","crise","criticar","crosta","crua","cruzeiro","cubano","cueca","cuidado","cujo","culatra","culminar","culpar","cultura","cumprir","cunhado","cupido","curativo","curral","cursar","curto","cuspir","custear","cutelo","damasco","datar","debater","debitar","deboche","debulhar","decalque","decimal","declive","decote","decretar","dedal","dedicado","deduzir","defesa","defumar","degelo","degrau","degustar","deitado","deixar","delator","delegado","delinear","delonga","demanda","demitir","demolido","dentista","depenado","depilar","depois","depressa","depurar","deriva","derramar","desafio","desbotar","descanso","desenho","desfiado","desgaste","desigual","deslize","desmamar","desova","despesa","destaque","desviar","detalhar","detentor","detonar","detrito","deusa","dever","devido","devotado","dezena","diagrama","dialeto","didata","difuso","digitar","dilatado","diluente","diminuir","dinastia","dinheiro","diocese","direto","discreta","disfarce","disparo","disquete","dissipar","distante","ditador","diurno","diverso","divisor","divulgar","dizer","dobrador","dolorido","domador","dominado","donativo","donzela","dormente","dorsal","dosagem","dourado","doutor","drenagem","drible","drogaria","duelar","duende","dueto","duplo","duquesa","durante","duvidoso","eclodir","ecoar","ecologia","edificar","edital","educado","efeito","efetivar","ejetar","elaborar","eleger","eleitor","elenco","elevador","eliminar","elogiar","embargo","embolado","embrulho","embutido","emenda","emergir","emissor","empatia","empenho","empinado","empolgar","emprego","empurrar","emulador","encaixe","encenado","enchente","encontro","endeusar","endossar","enfaixar","enfeite","enfim","engajado","engenho","englobar","engomado","engraxar","enguia","enjoar","enlatar","enquanto","enraizar","enrolado","enrugar","ensaio","enseada","ensino","ensopado","entanto","enteado","entidade","entortar","entrada","entulho","envergar","enviado","envolver","enxame","enxerto","enxofre","enxuto","epiderme","equipar","ereto","erguido","errata","erva","ervilha","esbanjar","esbelto","escama","escola","escrita","escuta","esfinge","esfolar","esfregar","esfumado","esgrima","esmalte","espanto","espelho","espiga","esponja","espreita","espumar","esquerda","estaca","esteira","esticar","estofado","estrela","estudo","esvaziar","etanol","etiqueta","euforia","europeu","evacuar","evaporar","evasivo","eventual","evidente","evoluir","exagero","exalar","examinar","exato","exausto","excesso","excitar","exclamar","executar","exemplo","exibir","exigente","exonerar","expandir","expelir","expirar","explanar","exposto","expresso","expulsar","externo","extinto","extrato","fabricar","fabuloso","faceta","facial","fada","fadiga","faixa","falar","falta","familiar","fandango","fanfarra","fantoche","fardado","farelo","farinha","farofa","farpa","fartura","fatia","fator","favorita","faxina","fazenda","fechado","feijoada","feirante","felino","feminino","fenda","feno","fera","feriado","ferrugem","ferver","festejar","fetal","feudal","fiapo","fibrose","ficar","ficheiro","figurado","fileira","filho","filme","filtrar","firmeza","fisgada","fissura","fita","fivela","fixador","fixo","flacidez","flamingo","flanela","flechada","flora","flutuar","fluxo","focal","focinho","fofocar","fogo","foguete","foice","folgado","folheto","forjar","formiga","forno","forte","fosco","fossa","fragata","fralda","frango","frasco","fraterno","freira","frente","fretar","frieza","friso","fritura","fronha","frustrar","fruteira","fugir","fulano","fuligem","fundar","fungo","funil","furador","furioso","futebol","gabarito","gabinete","gado","gaiato","gaiola","gaivota","galega","galho","galinha","galocha","ganhar","garagem","garfo","gargalo","garimpo","garoupa","garrafa","gasoduto","gasto","gata","gatilho","gaveta","gazela","gelado","geleia","gelo","gemada","gemer","gemido","generoso","gengiva","genial","genoma","genro","geologia","gerador","germinar","gesso","gestor","ginasta","gincana","gingado","girafa","girino","glacial","glicose","global","glorioso","goela","goiaba","golfe","golpear","gordura","gorjeta","gorro","gostoso","goteira","governar","gracejo","gradual","grafite","gralha","grampo","granada","gratuito","graveto","graxa","grego","grelhar","greve","grilo","grisalho","gritaria","grosso","grotesco","grudado","grunhido","gruta","guache","guarani","guaxinim","guerrear","guiar","guincho","guisado","gula","guloso","guru","habitar","harmonia","haste","haver","hectare","herdar","heresia","hesitar","hiato","hibernar","hidratar","hiena","hino","hipismo","hipnose","hipoteca","hoje","holofote","homem","honesto","honrado","hormonal","hospedar","humorado","iate","ideia","idoso","ignorado","igreja","iguana","ileso","ilha","iludido","iluminar","ilustrar","imagem","imediato","imenso","imersivo","iminente","imitador","imortal","impacto","impedir","implante","impor","imprensa","impune","imunizar","inalador","inapto","inativo","incenso","inchar","incidir","incluir","incolor","indeciso","indireto","indutor","ineficaz","inerente","infantil","infestar","infinito","inflamar","informal","infrator","ingerir","inibido","inicial","inimigo","injetar","inocente","inodoro","inovador","inox","inquieto","inscrito","inseto","insistir","inspetor","instalar","insulto","intacto","integral","intimar","intocado","intriga","invasor","inverno","invicto","invocar","iogurte","iraniano","ironizar","irreal","irritado","isca","isento","isolado","isqueiro","italiano","janeiro","jangada","janta","jararaca","jardim","jarro","jasmim","jato","javali","jazida","jejum","joaninha","joelhada","jogador","joia","jornal","jorrar","jovem","juba","judeu","judoca","juiz","julgador","julho","jurado","jurista","juro","justa","labareda","laboral","lacre","lactante","ladrilho","lagarta","lagoa","laje","lamber","lamentar","laminar","lampejo","lanche","lapidar","lapso","laranja","lareira","largura","lasanha","lastro","lateral","latido","lavanda","lavoura","lavrador","laxante","lazer","lealdade","lebre","legado","legendar","legista","leigo","leiloar","leitura","lembrete","leme","lenhador","lentilha","leoa","lesma","leste","letivo","letreiro","levar","leveza","levitar","liberal","libido","liderar","ligar","ligeiro","limitar","limoeiro","limpador","linda","linear","linhagem","liquidez","listagem","lisura","litoral","livro","lixa","lixeira","locador","locutor","lojista","lombo","lona","longe","lontra","lorde","lotado","loteria","loucura","lousa","louvar","luar","lucidez","lucro","luneta","lustre","lutador","luva","macaco","macete","machado","macio","madeira","madrinha","magnata","magreza","maior","mais","malandro","malha","malote","maluco","mamilo","mamoeiro","mamute","manada","mancha","mandato","manequim","manhoso","manivela","manobrar","mansa","manter","manusear","mapeado","maquinar","marcador","maresia","marfim","margem","marinho","marmita","maroto","marquise","marreco","martelo","marujo","mascote","masmorra","massagem","mastigar","matagal","materno","matinal","matutar","maxilar","medalha","medida","medusa","megafone","meiga","melancia","melhor","membro","memorial","menino","menos","mensagem","mental","merecer","mergulho","mesada","mesclar","mesmo","mesquita","mestre","metade","meteoro","metragem","mexer","mexicano","micro","migalha","migrar","milagre","milenar","milhar","mimado","minerar","minhoca","ministro","minoria","miolo","mirante","mirtilo","misturar","mocidade","moderno","modular","moeda","moer","moinho","moita","moldura","moleza","molho","molinete","molusco","montanha","moqueca","morango","morcego","mordomo","morena","mosaico","mosquete","mostarda","motel","motim","moto","motriz","muda","muito","mulata","mulher","multar","mundial","munido","muralha","murcho","muscular","museu","musical","nacional","nadador","naja","namoro","narina","narrado","nascer","nativa","natureza","navalha","navegar","navio","neblina","nebuloso","negativa","negociar","negrito","nervoso","neta","neural","nevasca","nevoeiro","ninar","ninho","nitidez","nivelar","nobreza","noite","noiva","nomear","nominal","nordeste","nortear","notar","noticiar","noturno","novelo","novilho","novo","nublado","nudez","numeral","nupcial","nutrir","nuvem","obcecado","obedecer","objetivo","obrigado","obscuro","obstetra","obter","obturar","ocidente","ocioso","ocorrer","oculista","ocupado","ofegante","ofensiva","oferenda","oficina","ofuscado","ogiva","olaria","oleoso","olhar","oliveira","ombro","omelete","omisso","omitir","ondulado","oneroso","ontem","opcional","operador","oponente","oportuno","oposto","orar","orbitar","ordem","ordinal","orfanato","orgasmo","orgulho","oriental","origem","oriundo","orla","ortodoxo","orvalho","oscilar","ossada","osso","ostentar","otimismo","ousadia","outono","outubro","ouvido","ovelha","ovular","oxidar","oxigenar","pacato","paciente","pacote","pactuar","padaria","padrinho","pagar","pagode","painel","pairar","paisagem","palavra","palestra","palheta","palito","palmada","palpitar","pancada","panela","panfleto","panqueca","pantanal","papagaio","papelada","papiro","parafina","parcial","pardal","parede","partida","pasmo","passado","pastel","patamar","patente","patinar","patrono","paulada","pausar","peculiar","pedalar","pedestre","pediatra","pedra","pegada","peitoral","peixe","pele","pelicano","penca","pendurar","peneira","penhasco","pensador","pente","perceber","perfeito","pergunta","perito","permitir","perna","perplexo","persiana","pertence","peruca","pescado","pesquisa","pessoa","petiscar","piada","picado","piedade","pigmento","pilastra","pilhado","pilotar","pimenta","pincel","pinguim","pinha","pinote","pintar","pioneiro","pipoca","piquete","piranha","pires","pirueta","piscar","pistola","pitanga","pivete","planta","plaqueta","platina","plebeu","plumagem","pluvial","pneu","poda","poeira","poetisa","polegada","policiar","poluente","polvilho","pomar","pomba","ponderar","pontaria","populoso","porta","possuir","postal","pote","poupar","pouso","povoar","praia","prancha","prato","praxe","prece","predador","prefeito","premiar","prensar","preparar","presilha","pretexto","prevenir","prezar","primata","princesa","prisma","privado","processo","produto","profeta","proibido","projeto","prometer","propagar","prosa","protetor","provador","publicar","pudim","pular","pulmonar","pulseira","punhal","punir","pupilo","pureza","puxador","quadra","quantia","quarto","quase","quebrar","queda","queijo","quente","querido","quimono","quina","quiosque","rabanada","rabisco","rachar","racionar","radial","raiar","rainha","raio","raiva","rajada","ralado","ramal","ranger","ranhura","rapadura","rapel","rapidez","raposa","raquete","raridade","rasante","rascunho","rasgar","raspador","rasteira","rasurar","ratazana","ratoeira","realeza","reanimar","reaver","rebaixar","rebelde","rebolar","recado","recente","recheio","recibo","recordar","recrutar","recuar","rede","redimir","redonda","reduzida","reenvio","refinar","refletir","refogar","refresco","refugiar","regalia","regime","regra","reinado","reitor","rejeitar","relativo","remador","remendo","remorso","renovado","reparo","repelir","repleto","repolho","represa","repudiar","requerer","resenha","resfriar","resgatar","residir","resolver","respeito","ressaca","restante","resumir","retalho","reter","retirar","retomada","retratar","revelar","revisor","revolta","riacho","rica","rigidez","rigoroso","rimar","ringue","risada","risco","risonho","robalo","rochedo","rodada","rodeio","rodovia","roedor","roleta","romano","roncar","rosado","roseira","rosto","rota","roteiro","rotina","rotular","rouco","roupa","roxo","rubro","rugido","rugoso","ruivo","rumo","rupestre","russo","sabor","saciar","sacola","sacudir","sadio","safira","saga","sagrada","saibro","salada","saleiro","salgado","saliva","salpicar","salsicha","saltar","salvador","sambar","samurai","sanar","sanfona","sangue","sanidade","sapato","sarda","sargento","sarjeta","saturar","saudade","saxofone","sazonal","secar","secular","seda","sedento","sediado","sedoso","sedutor","segmento","segredo","segundo","seiva","seleto","selvagem","semanal","semente","senador","senhor","sensual","sentado","separado","sereia","seringa","serra","servo","setembro","setor","sigilo","silhueta","silicone","simetria","simpatia","simular","sinal","sincero","singular","sinopse","sintonia","sirene","siri","situado","soberano","sobra","socorro","sogro","soja","solda","soletrar","solteiro","sombrio","sonata","sondar","sonegar","sonhador","sono","soprano","soquete","sorrir","sorteio","sossego","sotaque","soterrar","sovado","sozinho","suavizar","subida","submerso","subsolo","subtrair","sucata","sucesso","suco","sudeste","sufixo","sugador","sugerir","sujeito","sulfato","sumir","suor","superior","suplicar","suposto","suprimir","surdina","surfista","surpresa","surreal","surtir","suspiro","sustento","tabela","tablete","tabuada","tacho","tagarela","talher","talo","talvez","tamanho","tamborim","tampa","tangente","tanto","tapar","tapioca","tardio","tarefa","tarja","tarraxa","tatuagem","taurino","taxativo","taxista","teatral","tecer","tecido","teclado","tedioso","teia","teimar","telefone","telhado","tempero","tenente","tensor","tentar","termal","terno","terreno","tese","tesoura","testado","teto","textura","texugo","tiara","tigela","tijolo","timbrar","timidez","tingido","tinteiro","tiragem","titular","toalha","tocha","tolerar","tolice","tomada","tomilho","tonel","tontura","topete","tora","torcido","torneio","torque","torrada","torto","tostar","touca","toupeira","toxina","trabalho","tracejar","tradutor","trafegar","trajeto","trama","trancar","trapo","traseiro","tratador","travar","treino","tremer","trepidar","trevo","triagem","tribo","triciclo","tridente","trilogia","trindade","triplo","triturar","triunfal","trocar","trombeta","trova","trunfo","truque","tubular","tucano","tudo","tulipa","tupi","turbo","turma","turquesa","tutelar","tutorial","uivar","umbigo","unha","unidade","uniforme","urologia","urso","urtiga","urubu","usado","usina","usufruir","vacina","vadiar","vagaroso","vaidoso","vala","valente","validade","valores","vantagem","vaqueiro","varanda","vareta","varrer","vascular","vasilha","vassoura","vazar","vazio","veado","vedar","vegetar","veicular","veleiro","velhice","veludo","vencedor","vendaval","venerar","ventre","verbal","verdade","vereador","vergonha","vermelho","verniz","versar","vertente","vespa","vestido","vetorial","viaduto","viagem","viajar","viatura","vibrador","videira","vidraria","viela","viga","vigente","vigiar","vigorar","vilarejo","vinco","vinheta","vinil","violeta","virada","virtude","visitar","visto","vitral","viveiro","vizinho","voador","voar","vogal","volante","voleibol","voltagem","volumoso","vontade","vulto","vuvuzela","xadrez","xarope","xeque","xeretar","xerife","xingar","zangado","zarpar","zebu","zelador","zombar","zoologia","zumbido"]')},659:e=>{"use strict";e.exports=JSON.parse('["a\u0301baco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","accio\u0301n","aceite","acelga","acento","aceptar","a\u0301cido","aclarar","acne\u0301","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","ae\u0301reo","afectar","aficio\u0301n","afinar","afirmar","a\u0301gil","agitar","agoni\u0301a","agosto","agotar","agregar","agrio","agua","agudo","a\u0301guila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacra\u0301n","alambre","alarma","alba","a\u0301lbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodo\u0301n","aliado","aliento","alivio","alma","almeja","almi\u0301bar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","a\u0301mbar","a\u0301mbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","ande\u0301n","anemia","a\u0301ngulo","anillo","a\u0301nimo","ani\u0301s","anotar","antena","antiguo","antojo","anual","anular","anuncio","an\u0303adir","an\u0303ejo","an\u0303o","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","aran\u0303a","arar","a\u0301rbitro","a\u0301rbol","arbusto","archivo","arco","arder","ardilla","arduo","a\u0301rea","a\u0301rido","aries","armoni\u0301a","arne\u0301s","aroma","arpa","arpo\u0301n","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","a\u0301spero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","a\u0301tico","atleta","a\u0301tomo","atraer","atroz","atu\u0301n","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avio\u0301n","aviso","ayer","ayuda","ayuno","azafra\u0301n","azar","azote","azu\u0301car","azufre","azul","baba","babor","bache","bahi\u0301a","baile","bajar","balanza","balco\u0301n","balde","bambu\u0301","banco","banda","ban\u0303o","barba","barco","barniz","barro","ba\u0301scula","basto\u0301n","basura","batalla","bateri\u0301a","batir","batuta","bau\u0301l","bazar","bebe\u0301","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsa\u0301i","borde","borrar","bosque","bote","boti\u0301n","bo\u0301veda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufo\u0301n","bu\u0301ho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzo\u0301n","caballo","cabeza","cabina","cabra","cacao","cada\u0301ver","cadena","caer","cafe\u0301","cai\u0301da","caima\u0301n","caja","cajo\u0301n","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","ca\u0301ncer","candil","canela","canguro","canica","canto","can\u0303a","can\u0303o\u0301n","caoba","caos","capaz","capita\u0301n","capote","captar","capucha","cara","carbo\u0301n","ca\u0301rcel","careta","carga","carin\u0303o","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","ce\u0301lebre","celoso","ce\u0301lula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","ce\u0301sped","cetro","chacal","chaleco","champu\u0301","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclo\u0301n","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","cipre\u0301s","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","cli\u0301nica","cobre","coccio\u0301n","cochino","cocina","coco","co\u0301digo","codo","cofre","coger","cohete","coji\u0301n","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","co\u0301modo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazo\u0301n","corbata","corcho","cordo\u0301n","corona","correr","coser","cosmos","costa","cra\u0301neo","cra\u0301ter","crear","crecer","crei\u0301do","crema","cri\u0301a","crimen","cripta","crisis","cromo","cro\u0301nica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupo\u0301n","cu\u0301pula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","da\u0301til","deber","de\u0301bil","de\u0301cada","decir","dedo","defensa","definir","dejar","delfi\u0301n","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvi\u0301o","detalle","detener","deuda","di\u0301a","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difi\u0301cil","digno","dilema","diluir","dinero","directo","dirigir","disco","disen\u0303o","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","drago\u0301n","droga","ducha","duda","duelo","duen\u0303o","dulce","du\u0301o","duque","durar","dureza","duro","e\u0301bano","ebrio","echar","eco","ecuador","edad","edicio\u0301n","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","e\u0301lite","elixir","elogio","eludir","embudo","emitir","emocio\u0301n","empate","empen\u0303o","empleo","empresa","enano","encargo","enchufe","enci\u0301a","enemigo","enero","enfado","enfermo","engan\u0303o","enigma","enlace","enorme","enredo","ensayo","ensen\u0303ar","entero","entrar","envase","envi\u0301o","e\u0301poca","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espi\u0301a","esposa","espuma","esqui\u0301","estar","este","estilo","estufa","etapa","eterno","e\u0301tica","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","e\u0301xito","experto","explicar","exponer","extremo","fa\u0301brica","fa\u0301bula","fachada","fa\u0301cil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","farao\u0301n","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fe\u0301rtil","fervor","festi\u0301n","fiable","fianza","fiar","fibra","ficcio\u0301n","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flu\u0301or","fobia","foca","fogata","fogo\u0301n","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","fra\u0301gil","franja","frase","fraude","frei\u0301r","freno","fresa","fri\u0301o","frito","fruta","fuego","fuente","fuerza","fuga","fumar","funcio\u0301n","funda","furgo\u0301n","furia","fusil","fu\u0301tbol","futuro","gacela","gafas","gaita","gajo","gala","galeri\u0301a","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavila\u0301n","gemelo","gemir","gen","ge\u0301nero","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gra\u0301fico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","gru\u0301a","grueso","grumo","grupo","guante","guapo","guardia","guerra","gui\u0301a","guin\u0303o","guion","guiso","guitarra","gusano","gustar","haber","ha\u0301bil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazan\u0303a","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","he\u0301roe","hervir","hielo","hierro","hi\u0301gado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","hu\u0301medo","humilde","humo","hundir","huraca\u0301n","hurto","icono","ideal","idioma","i\u0301dolo","iglesia","iglu\u0301","igual","ilegal","ilusio\u0301n","imagen","ima\u0301n","imitar","impar","imperio","imponer","impulso","incapaz","i\u0301ndice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","intere\u0301s","i\u0301ntimo","intuir","inu\u0301til","invierno","ira","iris","ironi\u0301a","isla","islote","jabali\u0301","jabo\u0301n","jamo\u0301n","jarabe","jardi\u0301n","jarra","jaula","jazmi\u0301n","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","ju\u0301piter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladro\u0301n","lagarto","la\u0301grima","laguna","laico","lamer","la\u0301mina","la\u0301mpara","lana","lancha","langosta","lanza","la\u0301piz","largo","larva","la\u0301stima","lata","la\u0301tex","latir","laurel","lavar","lazo","leal","leccio\u0301n","leche","lector","leer","legio\u0301n","legumbre","lejano","lengua","lento","len\u0303a","leo\u0301n","leopardo","lesio\u0301n","letal","letra","leve","leyenda","libertad","libro","licor","li\u0301der","lidiar","lienzo","liga","ligero","lima","li\u0301mite","limo\u0301n","limpio","lince","lindo","li\u0301nea","lingote","lino","linterna","li\u0301quido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","locio\u0301n","loco","locura","lo\u0301gica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","mai\u0301z","maldad","maleta","malla","malo","mama\u0301","mambo","mamut","manco","mando","manejar","manga","maniqui\u0301","manjar","mano","manso","manta","man\u0303ana","mapa","ma\u0301quina","mar","marco","marea","marfil","margen","marido","ma\u0301rmol","marro\u0301n","martes","marzo","masa","ma\u0301scara","masivo","matar","materia","matiz","matriz","ma\u0301ximo","mayor","mazorca","mecha","medalla","medio","me\u0301dula","mejilla","mejor","melena","melo\u0301n","memoria","menor","mensaje","mente","menu\u0301","mercado","merengue","me\u0301rito","mes","meso\u0301n","meta","meter","me\u0301todo","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millo\u0301n","mimo","mina","minero","mi\u0301nimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","mocio\u0301n","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","mon\u0303o","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","mo\u0301vil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","mun\u0303eca","mural","muro","mu\u0301sculo","museo","musgo","mu\u0301sica","muslo","na\u0301car","nacio\u0301n","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","na\u0301usea","naval","nave","navidad","necio","ne\u0301ctar","negar","negocio","negro","neo\u0301n","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","nin\u0303ez","nin\u0303o","ni\u0301tido","nivel","nobleza","noche","no\u0301mina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","nu\u0301cleo","nudillo","nudo","nuera","nueve","nuez","nulo","nu\u0301mero","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","oce\u0301ano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oi\u0301do","oi\u0301r","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opcio\u0301n","o\u0301pera","opinar","oponer","optar","o\u0301ptica","opuesto","oracio\u0301n","orador","oral","o\u0301rbita","orca","orden","oreja","o\u0301rgano","orgi\u0301a","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadi\u0301a","oscuro","osezno","oso","ostra","oton\u0303o","otro","oveja","o\u0301vulo","o\u0301xido","oxi\u0301geno","oyente","ozono","pacto","padre","paella","pa\u0301gina","pago","pai\u0301s","pa\u0301jaro","palabra","palco","paleta","pa\u0301lido","palma","paloma","palpar","pan","panal","pa\u0301nico","pantera","pan\u0303uelo","papa\u0301","papel","papilla","paquete","parar","parcela","pared","parir","paro","pa\u0301rpado","parque","pa\u0301rrafo","parte","pasar","paseo","pasio\u0301n","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peato\u0301n","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldan\u0303o","pelea","peligro","pellejo","pelo","peluca","pena","pensar","pen\u0303o\u0301n","peo\u0301n","peor","pepino","pequen\u0303o","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pe\u0301simo","pestan\u0303a","pe\u0301talo","petro\u0301leo","pez","pezun\u0303a","picar","picho\u0301n","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","pin\u0303a","piojo","pipa","pirata","pisar","piscina","piso","pista","pito\u0301n","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesi\u0301a","poeta","polen","polici\u0301a","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porcio\u0301n","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","pri\u0301ncipe","prisio\u0301n","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","pro\u0301ximo","prueba","pu\u0301blico","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmo\u0301n","pulpo","pulso","puma","punto","pun\u0303al","pun\u0303o","pupa","pupila","pure\u0301","quedar","queja","quemar","querer","queso","quieto","qui\u0301mica","quince","quitar","ra\u0301bano","rabia","rabo","racio\u0301n","radical","rai\u0301z","rama","rampa","rancho","rango","rapaz","ra\u0301pido","rapto","rasgo","raspa","rato","rayo","raza","razo\u0301n","reaccio\u0301n","realidad","reban\u0303o","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refra\u0301n","refugio","regalo","regir","regla","regreso","rehe\u0301n","reino","rei\u0301r","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","reve\u0301s","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","ri\u0301gido","rigor","rinco\u0301n","rin\u0303o\u0301n","ri\u0301o","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubi\u0301","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sa\u0301bado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmo\u0301n","salo\u0301n","salsa","salto","salud","salvar","samba","sancio\u0301n","sandi\u0301a","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sarte\u0301n","sastre","sata\u0301n","sauna","saxofo\u0301n","seccio\u0301n","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","sen\u0303al","sen\u0303or","separar","sepia","sequi\u0301a","ser","serie","sermo\u0301n","servir","sesenta","sesio\u0301n","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","si\u0301laba","silbar","silencio","silla","si\u0301mbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","so\u0301lido","soltar","solucio\u0301n","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","soste\u0301n","so\u0301tano","suave","subir","suceso","sudor","suegra","suelo","suen\u0303o","suerte","sufrir","sujeto","sulta\u0301n","sumar","superar","suplir","suponer","supremo","sur","surco","suren\u0303o","surgir","susto","sutil","tabaco","tabique","tabla","tabu\u0301","taco","tacto","tajo","talar","talco","talento","talla","talo\u0301n","taman\u0303o","tambor","tango","tanque","tapa","tapete","tapia","tapo\u0301n","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazo\u0301n","teatro","techo","tecla","te\u0301cnica","tejado","tejer","tejido","tela","tele\u0301fono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teori\u0301a","terapia","terco","te\u0301rmino","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburo\u0301n","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","ti\u0301mido","timo","tinta","ti\u0301o","ti\u0301pico","tipo","tira","tiro\u0301n","tita\u0301n","ti\u0301tere","ti\u0301tulo","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","to\u0301rax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","to\u0301xico","trabajo","tractor","traer","tra\u0301fico","trago","traje","tramo","trance","trato","trauma","trazar","tre\u0301bol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tuberi\u0301a","tubo","tuerto","tumba","tumor","tu\u0301nel","tu\u0301nica","turbina","turismo","turno","tutor","ubicar","u\u0301lcera","umbral","unidad","unir","universo","uno","untar","un\u0303a","urbano","urbe","urgente","urna","usar","usuario","u\u0301til","utopi\u0301a","uva","vaca","vaci\u0301o","vacuna","vagar","vago","vaina","vajilla","vale","va\u0301lido","valle","valor","va\u0301lvula","vampiro","vara","variar","varo\u0301n","vaso","vecino","vector","vehi\u0301culo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vi\u0301a","viaje","vibrar","vicio","vi\u0301ctima","vida","vi\u0301deo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","vin\u0303edo","violi\u0301n","viral","virgo","virtud","visor","vi\u0301spera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volca\u0301n","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]')},8597:e=>{"use strict";e.exports={i8:"6.5.4"}}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(n,i){if(1&i&&(n=this(n)),8&i)return n;if("object"===typeof n&&n){if(4&i&&n.__esModule)return n;if(16&i&&"function"===typeof n.then)return n}var o=Object.create(null);r.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&i&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>a[e]=()=>n[e]));return a.default=()=>n,r.d(o,a),o}})(),r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="./",r.nc=void 0,(()=>{"use strict";var e={};r.r(e),r.d(e,{Decoder:()=>h8,Encoder:()=>u8,PacketType:()=>l8,protocol:()=>c8});var t=r(3358),n=r.t(t,2),i=r(8194);const o=(0,t.createContext)(null),a={didCatch:!1,error:null};class s extends t.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=a}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,i=new Array(n),o=0;o0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some(((e,r)=>!Object.is(e,t[r])))}(e.resetKeys,n)&&(null===(i=(o=this.props).onReset)||void 0===i||i.call(o,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(a))}render(){const{children:e,fallbackRender:r,FallbackComponent:n,fallback:i}=this.props,{didCatch:a,error:s}=this.state;let c=e;if(a){const e={error:s,resetErrorBoundary:this.resetErrorBoundary};if("function"===typeof r)c=r(e);else if(n)c=(0,t.createElement)(n,e);else{if(null!==i&&!(0,t.isValidElement)(i))throw s;c=i}}return(0,t.createElement)(o.Provider,{value:{didCatch:a,error:s,resetErrorBoundary:this.resetErrorBoundary}},c)}}var c="persist:",l="persist/FLUSH",u="persist/REHYDRATE",d="persist/PAUSE",h="persist/PERSIST",f="persist/PURGE",p="persist/REGISTER";function m(e){return m="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e,t,r,n){n.debug;var i=function(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function A(e,t){var r=void 0!==e.version?e.version:-1,n=(e.debug,void 0===e.stateReconciler?y:e.stateReconciler),i=e.getStoredState||x,o=void 0!==e.timeout?e.timeout:5e3,a=null,s=!1,p=!0,m=function(e){return e._persist.rehydrated&&a&&!p&&a.update(e),e};return function(g,v){var y=g||{},w=y._persist,x=O(y,["_persist"]);if(v.type===h){var _=!1,k=function(t,r){_||(v.rehydrate(e.key,t,r),_=!0)};if(o&&setTimeout((function(){!_&&k(void 0,new Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))}),o),p=!1,a||(a=b(e)),w)return E({},t(x,v),{_persist:w});if("function"!==typeof v.rehydrate||"function"!==typeof v.register)throw new Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return v.register(e.key),i(e).then((function(t){var n=e.migrate||function(e,t){return Promise.resolve(e)};n(t,r).then((function(e){k(e)}),(function(e){k(void 0,e)}))}),(function(e){k(void 0,e)})),E({},t(x,v),{_persist:{version:r,rehydrated:!1}})}if(v.type===f)return s=!0,v.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:c).concat(e.key);return t.removeItem(r,S)}(e)),E({},t(x,v),{_persist:w});if(v.type===l)return v.result(a&&a.flush()),E({},t(x,v),{_persist:w});if(v.type===d)p=!0;else if(v.type===u){if(s)return E({},x,{_persist:E({},w,{rehydrated:!0})});if(v.key===e.key){var P=t(x,v),A=v.payload,T=E({},!1!==n&&void 0!==A?n(A,g,P,e):P,{_persist:E({},w,{rehydrated:!0})});return m(T)}}if(!w)return t(g,v);var j=t(x,v);return j===x?g:m(E({},j,{_persist:w}))}}function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function j(e){var t=function(e,t){if("object"!==T(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==T(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===T(t)?t:String(t)}function C(e,t,r){return(t=j(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function R(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function I(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:W,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case p:return q({},e,{registry:[].concat(H(e.registry),[t.key])});case u:var r=e.registry.indexOf(t.key),n=H(e.registry);return n.splice(r,1),q({},e,{registry:n,bootstrapped:0===n.length});default:return e}};function Y(e){return Y="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Y(e)}function Z(e,t){for(var r=0;re.filter(Boolean).join(" ");function ie(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)&&!Array.isArray(e)}var oe=e=>{const{condition:t,message:r}=e};function ae(e,...t){return se(e)?e(...t):e}var se=e=>"function"===typeof e,ce=e=>e?"":void 0,le=e=>!!e||void 0;function ue(...e){return function(t){e.some((e=>(null==e||e(t),null==t?void 0:t.defaultPrevented)))}}function de(...e){return function(t){e.forEach((e=>{null==e||e(t)}))}}var he=r(4387),fe=e=>"string"===typeof e?e.replace(/!(important)?$/,"").trim():e,pe=(e,t)=>r=>{const n=String(t),i=(e=>/!(important)?$/.test(e))(n),o=fe(n),a=e?`${e}.${o}`:o;let s=ie(r.__cssMap)&&a in r.__cssMap?r.__cssMap[a].varRef:t;return s=fe(s),i?`${s} !important`:s};function me(e){const{scale:t,transform:r,compose:n}=e;return(e,i)=>{var o;const a=pe(t,e)(i);let s=null!=(o=null==r?void 0:r(a,i))?o:a;return n&&(s=n(s,i)),s}}var ge=(...e)=>t=>e.reduce(((e,t)=>t(e)),t);function ve(e,t){return r=>{const n={property:r,scale:e};return n.transform=me({scale:e,transform:t}),n}}var ye=({rtl:e,ltr:t})=>r=>"rtl"===r.direction?e:t;var be=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];var we={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},xe={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};var _e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},Se={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},ke=new Set(Object.values(Se)),Ee=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Pe=e=>e.trim();var Oe=e=>"string"===typeof e&&e.includes("(")&&e.includes(")");var Ae=e=>t=>`${e}(${t})`,Te={filter:e=>"auto"!==e?e:we,backdropFilter:e=>"auto"!==e?e:xe,ring:e=>function(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}(Te.px(e)),bgClip:e=>"text"===e?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e},transform:e=>"auto"===e?["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...be].join(" "):"auto-gpu"===e?["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...be].join(" "):e,vh:e=>"$100vh"===e?"var(--chakra-vh)":e,px(e){if(null==e)return e;const{unitless:t}=(e=>{const t=parseFloat(e.toString()),r=e.toString().replace(String(t),"");return{unitless:!r,value:t,unit:r}})(e);return t||"number"===typeof e?`${e}px`:e},fraction:e=>"number"!==typeof e||e>1?e:100*e+"%",float:(e,t)=>"rtl"===t.direction?{left:"right",right:"left"}[e]:e,degree(e){if(function(e){return/^var\(--.+\)$/.test(e)}(e)||null==e)return e;const t="string"===typeof e&&!e.endsWith("deg");return"number"===typeof e||t?`${e}deg`:e},gradient:(e,t)=>function(e,t){if(null==e||Ee.has(e))return e;if(!Oe(e)&&!Ee.has(e))return`url('${e}')`;const r=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),n=null==r?void 0:r[1],i=null==r?void 0:r[2];if(!n||!i)return e;const o=n.includes("-gradient")?n:`${n}-gradient`,[a,...s]=i.split(",").map(Pe).filter(Boolean);if(0===(null==s?void 0:s.length))return e;const c=a in Se?Se[a]:a;return s.unshift(c),`${o}(${s.map((e=>{if(ke.has(e))return e;const r=e.indexOf(" "),[n,i]=-1!==r?[e.substr(0,r),e.substr(r+1)]:[e],o=Oe(i)?i:i&&i.split(" "),a=`colors.${n}`,s=a in t.__cssMap?t.__cssMap[a].varRef:n;return o?[s,...Array.isArray(o)?o:[o]].join(" "):s})).join(", ")})`}(e,null!=t?t:{}),blur:Ae("blur"),opacity:Ae("opacity"),brightness:Ae("brightness"),contrast:Ae("contrast"),dropShadow:Ae("drop-shadow"),grayscale:Ae("grayscale"),hueRotate:e=>Ae("hue-rotate")(Te.degree(e)),invert:Ae("invert"),saturate:Ae("saturate"),sepia:Ae("sepia"),bgImage(e){if(null==e)return e;return Oe(e)||Ee.has(e)?e:`url(${e})`},outline(e){const t="0"===String(e)||"none"===String(e);return null!==e&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:r,divide:n}=null!=(t=_e[e])?t:{},i={flexDirection:e};return r&&(i[r]=1),n&&(i[n]=1),i}},je={borderWidths:ve("borderWidths"),borderStyles:ve("borderStyles"),colors:ve("colors"),borders:ve("borders"),gradients:ve("gradients",Te.gradient),radii:ve("radii",Te.px),space:ve("space",ge(Te.vh,Te.px)),spaceT:ve("space",ge(Te.vh,Te.px)),degreeT:e=>({property:e,transform:Te.degree}),prop:(e,t,r)=>({property:e,scale:t,...t&&{transform:me({scale:t,transform:r})}}),propT:(e,t)=>({property:e,transform:t}),sizes:ve("sizes",ge(Te.vh,Te.px)),sizesT:ve("sizes",ge(Te.vh,Te.fraction)),shadows:ve("shadows"),logical:function(e){const{property:t,scale:r,transform:n}=e;return{scale:r,property:ye(t),transform:r?me({scale:r,compose:n}):n}},blur:ve("blur",Te.blur)},Ce={background:je.colors("background"),backgroundColor:je.colors("backgroundColor"),backgroundImage:je.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:Te.bgClip},bgSize:je.prop("backgroundSize"),bgPosition:je.prop("backgroundPosition"),bg:je.colors("background"),bgColor:je.colors("backgroundColor"),bgPos:je.prop("backgroundPosition"),bgRepeat:je.prop("backgroundRepeat"),bgAttachment:je.prop("backgroundAttachment"),bgGradient:je.gradients("backgroundImage"),bgClip:{transform:Te.bgClip}};Object.assign(Ce,{bgImage:Ce.backgroundImage,bgImg:Ce.backgroundImage});var Re={border:je.borders("border"),borderWidth:je.borderWidths("borderWidth"),borderStyle:je.borderStyles("borderStyle"),borderColor:je.colors("borderColor"),borderRadius:je.radii("borderRadius"),borderTop:je.borders("borderTop"),borderBlockStart:je.borders("borderBlockStart"),borderTopLeftRadius:je.radii("borderTopLeftRadius"),borderStartStartRadius:je.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:je.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:je.radii("borderTopRightRadius"),borderStartEndRadius:je.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:je.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:je.borders("borderRight"),borderInlineEnd:je.borders("borderInlineEnd"),borderBottom:je.borders("borderBottom"),borderBlockEnd:je.borders("borderBlockEnd"),borderBottomLeftRadius:je.radii("borderBottomLeftRadius"),borderBottomRightRadius:je.radii("borderBottomRightRadius"),borderLeft:je.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:je.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:je.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:je.borders(["borderLeft","borderRight"]),borderInline:je.borders("borderInline"),borderY:je.borders(["borderTop","borderBottom"]),borderBlock:je.borders("borderBlock"),borderTopWidth:je.borderWidths("borderTopWidth"),borderBlockStartWidth:je.borderWidths("borderBlockStartWidth"),borderTopColor:je.colors("borderTopColor"),borderBlockStartColor:je.colors("borderBlockStartColor"),borderTopStyle:je.borderStyles("borderTopStyle"),borderBlockStartStyle:je.borderStyles("borderBlockStartStyle"),borderBottomWidth:je.borderWidths("borderBottomWidth"),borderBlockEndWidth:je.borderWidths("borderBlockEndWidth"),borderBottomColor:je.colors("borderBottomColor"),borderBlockEndColor:je.colors("borderBlockEndColor"),borderBottomStyle:je.borderStyles("borderBottomStyle"),borderBlockEndStyle:je.borderStyles("borderBlockEndStyle"),borderLeftWidth:je.borderWidths("borderLeftWidth"),borderInlineStartWidth:je.borderWidths("borderInlineStartWidth"),borderLeftColor:je.colors("borderLeftColor"),borderInlineStartColor:je.colors("borderInlineStartColor"),borderLeftStyle:je.borderStyles("borderLeftStyle"),borderInlineStartStyle:je.borderStyles("borderInlineStartStyle"),borderRightWidth:je.borderWidths("borderRightWidth"),borderInlineEndWidth:je.borderWidths("borderInlineEndWidth"),borderRightColor:je.colors("borderRightColor"),borderInlineEndColor:je.colors("borderInlineEndColor"),borderRightStyle:je.borderStyles("borderRightStyle"),borderInlineEndStyle:je.borderStyles("borderInlineEndStyle"),borderTopRadius:je.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:je.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:je.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:je.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Re,{rounded:Re.borderRadius,roundedTop:Re.borderTopRadius,roundedTopLeft:Re.borderTopLeftRadius,roundedTopRight:Re.borderTopRightRadius,roundedTopStart:Re.borderStartStartRadius,roundedTopEnd:Re.borderStartEndRadius,roundedBottom:Re.borderBottomRadius,roundedBottomLeft:Re.borderBottomLeftRadius,roundedBottomRight:Re.borderBottomRightRadius,roundedBottomStart:Re.borderEndStartRadius,roundedBottomEnd:Re.borderEndEndRadius,roundedLeft:Re.borderLeftRadius,roundedRight:Re.borderRightRadius,roundedStart:Re.borderInlineStartRadius,roundedEnd:Re.borderInlineEndRadius,borderStart:Re.borderInlineStart,borderEnd:Re.borderInlineEnd,borderTopStartRadius:Re.borderStartStartRadius,borderTopEndRadius:Re.borderStartEndRadius,borderBottomStartRadius:Re.borderEndStartRadius,borderBottomEndRadius:Re.borderEndEndRadius,borderStartRadius:Re.borderInlineStartRadius,borderEndRadius:Re.borderInlineEndRadius,borderStartWidth:Re.borderInlineStartWidth,borderEndWidth:Re.borderInlineEndWidth,borderStartColor:Re.borderInlineStartColor,borderEndColor:Re.borderInlineEndColor,borderStartStyle:Re.borderInlineStartStyle,borderEndStyle:Re.borderInlineEndStyle});var Ie={color:je.colors("color"),textColor:je.colors("color"),fill:je.colors("fill"),stroke:je.colors("stroke")},Me={boxShadow:je.shadows("boxShadow"),mixBlendMode:!0,blendMode:je.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:je.prop("backgroundBlendMode"),opacity:!0};Object.assign(Me,{shadow:Me.boxShadow});var Le={filter:{transform:Te.filter},blur:je.blur("--chakra-blur"),brightness:je.propT("--chakra-brightness",Te.brightness),contrast:je.propT("--chakra-contrast",Te.contrast),hueRotate:je.propT("--chakra-hue-rotate",Te.hueRotate),invert:je.propT("--chakra-invert",Te.invert),saturate:je.propT("--chakra-saturate",Te.saturate),dropShadow:je.propT("--chakra-drop-shadow",Te.dropShadow),backdropFilter:{transform:Te.backdropFilter},backdropBlur:je.blur("--chakra-backdrop-blur"),backdropBrightness:je.propT("--chakra-backdrop-brightness",Te.brightness),backdropContrast:je.propT("--chakra-backdrop-contrast",Te.contrast),backdropHueRotate:je.propT("--chakra-backdrop-hue-rotate",Te.hueRotate),backdropInvert:je.propT("--chakra-backdrop-invert",Te.invert),backdropSaturate:je.propT("--chakra-backdrop-saturate",Te.saturate)},Ne={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:Te.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:je.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:je.space("gap"),rowGap:je.space("rowGap"),columnGap:je.space("columnGap")};Object.assign(Ne,{flexDir:Ne.flexDirection});var De={gridGap:je.space("gridGap"),gridColumnGap:je.space("gridColumnGap"),gridRowGap:je.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},Be={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:Te.outline},outlineOffset:!0,outlineColor:je.colors("outlineColor")},ze={width:je.sizesT("width"),inlineSize:je.sizesT("inlineSize"),height:je.sizes("height"),blockSize:je.sizes("blockSize"),boxSize:je.sizes(["width","height"]),minWidth:je.sizes("minWidth"),minInlineSize:je.sizes("minInlineSize"),minHeight:je.sizes("minHeight"),minBlockSize:je.sizes("minBlockSize"),maxWidth:je.sizes("maxWidth"),maxInlineSize:je.sizes("maxInlineSize"),maxHeight:je.sizes("maxHeight"),maxBlockSize:je.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var r,n,i;return{[`@media screen and (min-width: ${null!=(i=null==(n=null==(r=t.__breakpoints)?void 0:r.get(e))?void 0:n.minW)?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var r,n,i;return{[`@media screen and (max-width: ${null!=(i=null==(n=null==(r=t.__breakpoints)?void 0:r.get(e))?void 0:n._minW)?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:je.propT("float",Te.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ze,{w:ze.width,h:ze.height,minW:ze.minWidth,maxW:ze.maxWidth,minH:ze.minHeight,maxH:ze.maxHeight,overscroll:ze.overscrollBehavior,overscrollX:ze.overscrollBehaviorX,overscrollY:ze.overscrollBehaviorY});var Ue={listStyleType:!0,listStylePosition:!0,listStylePos:je.prop("listStylePosition"),listStyleImage:!0,listStyleImg:je.prop("listStyleImage")};var Fe=(e=>{const t=new WeakMap;return(r,n,i,o)=>{if("undefined"===typeof r)return e(r,n,i);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(n))return a.get(n);const s=e(r,n,i,o);return a.set(n,s),s}})((function(e,t,r,n){const i="string"===typeof t?t.split("."):[t];for(n=0;n{const n={},i=Fe(e,t,{});for(const o in i){o in r&&null!=r[o]||(n[o]=i[o])}return n},qe={srOnly:{transform:e=>!0===e?$e:"focusable"===e?He:{}},layerStyle:{processResult:!0,transform:(e,t,r)=>Ve(t,`layerStyles.${e}`,r)},textStyle:{processResult:!0,transform:(e,t,r)=>Ve(t,`textStyles.${e}`,r)},apply:{processResult:!0,transform:(e,t,r)=>Ve(t,e,r)}},Ke={position:!0,pos:je.prop("position"),zIndex:je.prop("zIndex","zIndices"),inset:je.spaceT("inset"),insetX:je.spaceT(["left","right"]),insetInline:je.spaceT("insetInline"),insetY:je.spaceT(["top","bottom"]),insetBlock:je.spaceT("insetBlock"),top:je.spaceT("top"),insetBlockStart:je.spaceT("insetBlockStart"),bottom:je.spaceT("bottom"),insetBlockEnd:je.spaceT("insetBlockEnd"),left:je.spaceT("left"),insetInlineStart:je.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:je.spaceT("right"),insetInlineEnd:je.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Ke,{insetStart:Ke.insetInlineStart,insetEnd:Ke.insetInlineEnd});var We={ring:{transform:Te.ring},ringColor:je.colors("--chakra-ring-color"),ringOffset:je.prop("--chakra-ring-offset-width"),ringOffsetColor:je.colors("--chakra-ring-offset-color"),ringInset:je.prop("--chakra-ring-inset")},Ge={margin:je.spaceT("margin"),marginTop:je.spaceT("marginTop"),marginBlockStart:je.spaceT("marginBlockStart"),marginRight:je.spaceT("marginRight"),marginInlineEnd:je.spaceT("marginInlineEnd"),marginBottom:je.spaceT("marginBottom"),marginBlockEnd:je.spaceT("marginBlockEnd"),marginLeft:je.spaceT("marginLeft"),marginInlineStart:je.spaceT("marginInlineStart"),marginX:je.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:je.spaceT("marginInline"),marginY:je.spaceT(["marginTop","marginBottom"]),marginBlock:je.spaceT("marginBlock"),padding:je.space("padding"),paddingTop:je.space("paddingTop"),paddingBlockStart:je.space("paddingBlockStart"),paddingRight:je.space("paddingRight"),paddingBottom:je.space("paddingBottom"),paddingBlockEnd:je.space("paddingBlockEnd"),paddingLeft:je.space("paddingLeft"),paddingInlineStart:je.space("paddingInlineStart"),paddingInlineEnd:je.space("paddingInlineEnd"),paddingX:je.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:je.space("paddingInline"),paddingY:je.space(["paddingTop","paddingBottom"]),paddingBlock:je.space("paddingBlock")};Object.assign(Ge,{m:Ge.margin,mt:Ge.marginTop,mr:Ge.marginRight,me:Ge.marginInlineEnd,marginEnd:Ge.marginInlineEnd,mb:Ge.marginBottom,ml:Ge.marginLeft,ms:Ge.marginInlineStart,marginStart:Ge.marginInlineStart,mx:Ge.marginX,my:Ge.marginY,p:Ge.padding,pt:Ge.paddingTop,py:Ge.paddingY,px:Ge.paddingX,pb:Ge.paddingBottom,pl:Ge.paddingLeft,ps:Ge.paddingInlineStart,paddingStart:Ge.paddingInlineStart,pr:Ge.paddingRight,pe:Ge.paddingInlineEnd,paddingEnd:Ge.paddingInlineEnd});var Ye={textDecorationColor:je.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:je.shadows("textShadow")},Ze={clipPath:!0,transform:je.propT("transform",Te.transform),transformOrigin:!0,translateX:je.spaceT("--chakra-translate-x"),translateY:je.spaceT("--chakra-translate-y"),skewX:je.degreeT("--chakra-skew-x"),skewY:je.degreeT("--chakra-skew-y"),scaleX:je.prop("--chakra-scale-x"),scaleY:je.prop("--chakra-scale-y"),scale:je.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:je.degreeT("--chakra-rotate")},Xe={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:je.prop("transitionDuration","transition.duration"),transitionProperty:je.prop("transitionProperty","transition.property"),transitionTimingFunction:je.prop("transitionTimingFunction","transition.easing")},Je={fontFamily:je.prop("fontFamily","fonts"),fontSize:je.prop("fontSize","fontSizes",Te.px),fontWeight:je.prop("fontWeight","fontWeights"),lineHeight:je.prop("lineHeight","lineHeights"),letterSpacing:je.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(!0===e)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},Qe={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:je.spaceT("scrollMargin"),scrollMarginTop:je.spaceT("scrollMarginTop"),scrollMarginBottom:je.spaceT("scrollMarginBottom"),scrollMarginLeft:je.spaceT("scrollMarginLeft"),scrollMarginRight:je.spaceT("scrollMarginRight"),scrollMarginX:je.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:je.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:je.spaceT("scrollPadding"),scrollPaddingTop:je.spaceT("scrollPaddingTop"),scrollPaddingBottom:je.spaceT("scrollPaddingBottom"),scrollPaddingLeft:je.spaceT("scrollPaddingLeft"),scrollPaddingRight:je.spaceT("scrollPaddingRight"),scrollPaddingX:je.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:je.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function et(e){return ie(e)&&e.reference?e.reference:String(e)}var tt=(e,...t)=>t.map(et).join(` ${e} `).replace(/calc/g,""),rt=(...e)=>`calc(${tt("+",...e)})`,nt=(...e)=>`calc(${tt("-",...e)})`,it=(...e)=>`calc(${tt("*",...e)})`,ot=(...e)=>`calc(${tt("/",...e)})`,at=e=>{const t=et(e);return null==t||Number.isNaN(parseFloat(t))?it(t,-1):String(t).startsWith("-")?String(t).slice(1):`-${t}`},st=Object.assign((e=>({add:(...t)=>st(rt(e,...t)),subtract:(...t)=>st(nt(e,...t)),multiply:(...t)=>st(it(e,...t)),divide:(...t)=>st(ot(e,...t)),negate:()=>st(at(e)),toString:()=>e.toString()})),{add:rt,subtract:nt,multiply:it,divide:ot,negate:at});function ct(e){return function(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}(function(e){if(e.includes("\\."))return e;const t=!Number.isInteger(parseFloat(e.toString()));return t?e.replace(".","\\."):e}(function(e,t="-"){return e.replace(/\s+/g,t)}(e.toString())))}function lt(e,t){return`var(${e}${t?`, ${t}`:""})`}function ut(e,t=""){return ct(`--${function(e,t=""){return[t,e].filter(Boolean).join("-")}(e,t)}`)}function dt(e,t,r){const n=ut(e,r);return{variable:n,reference:lt(n,t)}}function ht(e){const t=null==e?0:e.length;return t?e[t-1]:void 0}function ft(e){if(null==e)return e;const{unitless:t}=function(e){const t=parseFloat(e.toString()),r=e.toString().replace(String(t),"");return{unitless:!r,value:t,unit:r}}(e);return t||"number"===typeof e?`${e}px`:e}var pt=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,mt=e=>Object.fromEntries(Object.entries(e).sort(pt));function gt(e){const t=mt(e);return Object.assign(Object.values(t),t)}function vt(e){var t;if(!e)return e;e=null!=(t=ft(e))?t:e;return"number"===typeof e?`${e+-.02}`:e.replace(/(\d+\.?\d*)/u,(e=>`${parseFloat(e)+-.02}`))}function yt(e,t){const r=["@media screen"];return e&&r.push("and",`(min-width: ${ft(e)})`),t&&r.push("and",`(max-width: ${ft(t)})`),r.join(" ")}function bt(e){var t;if(!e)return null;e.base=null!=(t=e.base)?t:"0px";const r=gt(e),n=Object.entries(e).sort(pt).map((([e,t],r,n)=>{var i;let[,o]=null!=(i=n[r+1])?i:[];return o=parseFloat(o)>0?vt(o):void 0,{_minW:vt(t),breakpoint:e,minW:t,maxW:o,maxWQuery:yt(null,o),minWQuery:yt(t),minMaxQuery:yt(t,o)}})),i=function(e){const t=Object.keys(mt(e));return new Set(t)}(e),o=Array.from(i.values());return{keys:i,normalized:r,isResponsive(e){const t=Object.keys(e);return t.length>0&&t.every((e=>i.has(e)))},asObject:mt(e),asArray:gt(e),details:n,get:e=>n.find((t=>t.breakpoint===e)),media:[null,...r.map((e=>yt(e))).slice(1)],toArrayValue(e){if(!ie(e))throw new Error("toArrayValue: value must be an object");const t=o.map((t=>{var r;return null!=(r=e[t])?r:null}));for(;null===ht(t);)t.pop();return t},toObjectValue(e){if(!Array.isArray(e))throw new Error("toObjectValue: value must be an array");return e.reduce(((e,t,r)=>{const n=o[r];return null!=n&&null!=t&&(e[n]=t),e}),{})}}}var wt=(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,xt=(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,_t=(e,t)=>`${e}:focus-visible ${t}`,St=(e,t)=>`${e}:focus-within ${t}`,kt=(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,Et=(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,Pt=(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,Ot=(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,At=(e,t)=>`${e}:placeholder-shown ${t}`,Tt=e=>Ct((t=>e(t,"&")),"[role=group]","[data-group]",".group"),jt=e=>Ct((t=>e(t,"~ &")),"[data-peer]",".peer"),Ct=(e,...t)=>t.map(e).join(", "),Rt={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:Tt(wt),_peerHover:jt(wt),_groupFocus:Tt(xt),_peerFocus:jt(xt),_groupFocusVisible:Tt(_t),_peerFocusVisible:jt(_t),_groupActive:Tt(kt),_peerActive:jt(kt),_groupDisabled:Tt(Et),_peerDisabled:jt(Et),_groupInvalid:Tt(Pt),_peerInvalid:jt(Pt),_groupChecked:Tt(Ot),_peerChecked:jt(Ot),_groupFocusWithin:Tt(St),_peerFocusWithin:jt(St),_peerPlaceholderShown:jt(At),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},It=Object.keys(Rt);function Mt(e,t){return dt(String(e).replace(/\./g,"-"),void 0,t)}function Lt(e,t,r={}){const{stop:n,getKey:i}=r;return function e(r,o=[]){var a;if(function(e){return"object"===typeof e&&null!=e&&!Array.isArray(e)}(r)||Array.isArray(r)){const s={};for(const[c,l]of Object.entries(r)){const u=null!=(a=null==i?void 0:i(c))?a:c,d=[...o,u];if(null==n?void 0:n(r,d))return t(r,o);s[u]=e(l,d)}return s}return t(r,o)}(e)}var Nt=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];var Dt=e=>It.includes(e)||"default"===e;function Bt(e){var t;const r=function(e){const{__cssMap:t,__cssVars:r,__breakpoints:n,...i}=e;return i}(e),n=function(e){return function(e,t){const r={};for(const n of t)n in e&&(r[n]=e[n]);return r}(e,Nt)}(r),i=function(e){return e.semanticTokens}(r),o=function({tokens:e,semanticTokens:t}){const r={};return Lt(e,((e,t)=>{null!=e&&(r[t.join(".")]={isSemantic:!1,value:e})})),Lt(t,((e,t)=>{null!=e&&(r[t.join(".")]={isSemantic:!0,value:e})}),{stop:e=>Object.keys(e).every(Dt)}),r}({tokens:n,semanticTokens:i}),a=null==(t=r.config)?void 0:t.cssVarPrefix,{cssMap:s,cssVars:c}=function(e,t){let r={};const n={};for(const[i,o]of Object.entries(e)){const{isSemantic:a,value:s}=o,{variable:c,reference:l}=Mt(i,null==t?void 0:t.cssVarPrefix);if(!a){if(i.startsWith("space")){const e=i.split("."),[t,...r]=e,o=`${t}.-${r.join(".")}`,a=st.negate(s),u=st.negate(l);n[o]={value:a,var:c,varRef:u}}r[c]=s,n[i]={value:s,var:c,varRef:l};continue}const u=r=>{const n=[String(i).split(".")[0],r].join(".");if(!e[n])return r;const{reference:o}=Mt(n,null==t?void 0:t.cssVarPrefix);return o},d=ie(s)?s:{default:s};r=he(r,Object.entries(d).reduce(((e,[t,r])=>{var n,i;if(!r)return e;const o=u(`${r}`);return"default"===t?(e[c]=o,e):(e[null!=(i=null==(n=Rt)?void 0:n[t])?i:t]={[c]:o},e)}),{})),n[i]={value:l,var:c,varRef:l}}return{cssVars:r,cssMap:n}}(o,{cssVarPrefix:a});return Object.assign(r,{__cssVars:{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0",...c},__cssMap:s,__breakpoints:bt(r.breakpoints)}),r}var zt=he({},Ce,Re,Ie,Ne,ze,Le,We,Be,De,qe,Ke,Me,Ge,Qe,Je,Ye,Ze,Ue,Xe),Ut=Object.assign({},Ge,ze,Ne,De,Ke),Ft=Object.keys(Ut),$t=[...Object.keys(zt),...It],Ht={...zt,...Rt},Vt=e=>e in Ht;var qt=(e,t)=>e.startsWith("--")&&"string"===typeof t&&!function(e){return/^var\(--.+\)$/.test(e)}(t),Kt=(e,t)=>{var r,n;if(null==t)return t;const i=t=>{var r,n;return null==(n=null==(r=e.__cssMap)?void 0:r[t])?void 0:n.varRef},o=e=>{var t;return null!=(t=i(e))?t:e},[a,s]=function(e){const t=[];let r="",n=!1;for(let i=0;i{var a,s,c;const l=ae(e,n),u=(e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:r,toArrayValue:n,media:i}=t.__breakpoints,o={};for(const a in e){let s=ae(e[a],t);if(null==s)continue;if(s=ie(s)&&r(s)?n(s):s,!Array.isArray(s)){o[a]=s;continue}const c=s.slice(0,i.length).length;for(let e=0;et=>Wt({theme:t,pseudos:Rt,configs:zt})(e);function Yt(e){return{definePartsStyle:e=>e,defineMultiStyleConfig:t=>({parts:e,...t})}}function Zt(e,t){for(let r=t+1;r{he(s,{[e]:u?p[e]:{[f]:p[e]}})})):d?s[f]=p:u?he(s,p):s[f]=p)}return s}}function Jt(e){return function(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}(e,["styleConfig","size","variant","colorScheme"])}var Qt=new Set([...$t,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),er=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function tr(e){return er.has(e)||!Qt.has(e)}var rr=(0,t.createContext)({});function nr(){const e=(0,t.useContext)(rr);if(void 0===e)throw new Error("useColorMode must be used within a ColorModeProvider");return e}rr.displayName="ColorModeContext";var ir=(e=>{const t=new WeakMap;return(r,n,i,o)=>{if("undefined"===typeof r)return e(r,n,i);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(n))return a.get(n);const s=e(r,n,i,o);return a.set(n,s),s}})((function(e,t,r,n){const i="string"===typeof t?t.split("."):[t];for(n=0;n{const i=e[n];t(i,n,e)&&(r[n]=i)})),r}var ar=e=>or(e,(e=>null!==e&&void 0!==e));function sr(e,...t){return function(e){return"function"===typeof e}(e)?e(...t):e}function cr(...e){return function(t){e.some((e=>(null==e||e(t),null==t?void 0:t.defaultPrevented)))}}function lr(){return lr=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?wr(jr,--Ar):0,Pr--,10===Tr&&(Pr=1,Er--),Tr}function Mr(){return Tr=Ar2||Br(Tr)>3?"":" "}function Hr(e,t){for(;--t&&Mr()&&!(Tr<48||Tr>102||Tr>57&&Tr<65||Tr>70&&Tr<97););return Dr(e,Nr()+(t<6&&32==Lr()&&32==Mr()))}function Vr(e){for(;Mr();)switch(Tr){case e:return Ar;case 34:case 39:34!==e&&39!==e&&Vr(Tr);break;case 40:41===e&&Vr(e);break;case 92:Mr()}return Ar}function qr(e,t){for(;Mr()&&e+Tr!==57&&(e+Tr!==84||47!==Lr()););return"/*"+Dr(t,Ar-1)+"*"+mr(47===e?e:Mr())}function Kr(e){for(;!Br(Lr());)Mr();return Dr(e,Ar)}var Wr="-ms-",Gr="-moz-",Yr="-webkit-",Zr="comm",Xr="rule",Jr="decl",Qr="@keyframes";function en(e,t){for(var r="",n=Sr(e),i=0;i0&&_r(S)-d&&kr(f>32?sn(S+";",n,r,d-1):sn(yr(S," ","")+";",n,r,d-2),c);break;case 59:S+=";";default:if(kr(_=on(S,t,r,l,u,i,s,b,w=[],x=[],d),o),123===y)if(0===u)nn(S,t,_,_,w,o,d,s,x);else switch(99===h&&110===wr(S,3)?100:h){case 100:case 108:case 109:case 115:nn(e,_,_,n&&kr(on(e,_,_,0,0,i,s,b,i,w=[],d),x),i,x,d,s,n?w:x);break;default:nn(S,_,_,_,[""],x,0,s,x)}}l=u=f=0,m=v=1,b=S="",d=a;break;case 58:d=1+_r(S),f=p;default:if(m<1)if(123==y)--m;else if(125==y&&0==m++&&125==Ir())continue;switch(S+=mr(y),y*m){case 38:v=u>0?1:(S+="\f",-1);break;case 44:s[l++]=(_r(S)-1)*v,v=1;break;case 64:45===Lr()&&(S+=Fr(Mr())),h=Lr(),u=d=_r(b=S+=Kr(Nr())),y++;break;case 45:45===p&&2==_r(S)&&(m=0)}}return o}function on(e,t,r,n,i,o,a,s,c,l,u){for(var d=i-1,h=0===i?o:[""],f=Sr(h),p=0,m=0,g=0;p0?h[v]+" "+y:yr(y,/&\f/g,h[v])))&&(c[g++]=b);return Cr(e,t,r,0===i?Xr:s,c,l,u)}function an(e,t,r){return Cr(e,t,r,Zr,mr(Tr),xr(e,2,-2),0)}function sn(e,t,r,n){return Cr(e,t,r,Jr,xr(e,0,n),xr(e,n+1,-1),n)}var cn=function(e,t,r){for(var n=0,i=0;n=i,i=Lr(),38===n&&12===i&&(t[r]=1),!Br(i);)Mr();return Dr(e,Ar)},ln=function(e,t){return Ur(function(e,t){var r=-1,n=44;do{switch(Br(n)){case 0:38===n&&12===Lr()&&(t[r]=1),e[r]+=cn(Ar-1,t,r);break;case 2:e[r]+=Fr(n);break;case 4:if(44===n){e[++r]=58===Lr()?"&\f":"",t[r]=e[r].length;break}default:e[r]+=mr(n)}}while(n=Mr());return e}(zr(e),t))},un=new WeakMap,dn=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,r=e.parent,n=e.column===r.column&&e.line===r.line;"rule"!==r.type;)if(!(r=r.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||un.get(r))&&!n){un.set(e,!0);for(var i=[],o=ln(t,i),a=r.props,s=0,c=0;s6)switch(wr(e,t+1)){case 109:if(45!==wr(e,t+4))break;case 102:return yr(e,/(.+:)(.+)-([^]+)/,"$1"+Yr+"$2-$3$1"+Gr+(108==wr(e,t+3)?"$3":"$2-$3"))+e;case 115:return~br(e,"stretch")?fn(yr(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==wr(e,t+1))break;case 6444:switch(wr(e,_r(e)-3-(~br(e,"!important")&&10))){case 107:return yr(e,":",":"+Yr)+e;case 101:return yr(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Yr+(45===wr(e,14)?"inline-":"")+"box$3$1"+Yr+"$2$3$1"+Wr+"$2box$3")+e}break;case 5936:switch(wr(e,t+11)){case 114:return Yr+e+Wr+yr(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Yr+e+Wr+yr(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Yr+e+Wr+yr(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Yr+e+Wr+e+e}return e}var pn=[function(e,t,r,n){if(e.length>-1&&!e.return)switch(e.type){case Jr:e.return=fn(e.value,e.length);break;case Qr:return en([Rr(e,{value:yr(e.value,"@","@"+Yr)})],n);case Xr:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return en([Rr(e,{props:[yr(t,/:(read-\w+)/,":-moz-$1")]})],n);case"::placeholder":return en([Rr(e,{props:[yr(t,/:(plac\w+)/,":"+Yr+"input-$1")]}),Rr(e,{props:[yr(t,/:(plac\w+)/,":-moz-$1")]}),Rr(e,{props:[yr(t,/:(plac\w+)/,Wr+"input-$1")]})],n)}return""}))}}],mn=function(e){var t=e.key;if("css"===t){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var n=e.stylisPlugins||pn;var i,o,a={},s=[];i=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),r=1;r=4;++n,i-=4)t=1540483477*(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))+(59797*(t>>>16)<<16),r=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&r)+(59797*(r>>>16)<<16);switch(i){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(n)))+(59797*(r>>>16)<<16)}return(((r=1540483477*(65535&(r^=r>>>13))+(59797*(r>>>16)<<16))^r>>>15)>>>0).toString(36)}(i)+c;return{name:l,styles:i,next:En}},An=!!n.useInsertionEffect&&n.useInsertionEffect,Tn=An||function(e){return e()},jn=An||t.useLayoutEffect,Cn=t.createContext("undefined"!==typeof HTMLElement?mn({key:"css"}):null);Cn.Provider;var Rn=function(e){return(0,t.forwardRef)((function(r,n){var i=(0,t.useContext)(Cn);return e(r,i,n)}))};var In=t.createContext({});var Mn=gn((function(e){return gn((function(t){return function(e,t){return"function"===typeof t?t(e):lr({},e,t)}(e,t)}))})),Ln=function(e){var r=t.useContext(In);return e.theme!==r&&(r=Mn(r)(e.theme)),t.createElement(In.Provider,{value:r},e.children)};var Nn,Dn=function(e,t,r){var n=e.key+"-"+t.name;!1===r&&void 0===e.registered[n]&&(e.registered[n]=t.styles)},Bn=function(e,t,r){Dn(e,t,r);var n=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var i=t;do{e.insert(t===i?"."+n:"",i,e.sheet,!0),i=i.next}while(void 0!==i)}},zn=hr,Un=function(e){return"theme"!==e},Fn=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?zn:Un},$n=function(e,t,r){var n;if(t){var i=t.shouldForwardProp;n=e.__emotion_forwardProp&&i?function(t){return e.__emotion_forwardProp(t)&&i(t)}:i}return"function"!==typeof n&&r&&(n=e.__emotion_forwardProp),n},Hn=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return Dn(t,r,n),Tn((function(){return Bn(t,r,n)})),null},Vn=function e(r,n){var i,o,a=r.__emotion_real===r,s=a&&r.__emotion_base||r;void 0!==n&&(i=n.label,o=n.target);var c=$n(r,n,a),l=c||Fn(s),u=!l("as");return function(){var d=arguments,h=a&&void 0!==r.__emotion_styles?r.__emotion_styles.slice(0):[];if(void 0!==i&&h.push("label:"+i+";"),null==d[0]||void 0===d[0].raw)h.push.apply(h,d);else{0,h.push(d[0][0]);for(var f=d.length,p=1;pt=>{const{theme:r,css:n,__css:i,sx:o,...a}=t,s=or(a,((e,t)=>Vt(t))),c=function(e,...t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");const r={...e};for(const n of t)if(null!=n)for(const e in n)Object.prototype.hasOwnProperty.call(n,e)&&(e in r&&delete r[e],r[e]=n[e]);return r}({},i,sr(e,t),ar(s),o),l=Gt(c)(t.theme);return n?[l,n]:l};function Wn(e,r){const{baseStyle:n,...i}=null!=r?r:{};i.shouldForwardProp||(i.shouldForwardProp=tr);const o=Kn({baseStyle:n}),a=qn(e,i)(o);return t.forwardRef((function(e,r){const{colorMode:n,forced:i}=nr();return t.createElement(a,{ref:r,"data-theme":i?n:void 0,...e})}))}var Gn=function(){const e=new Map;return new Proxy(Wn,{apply:(e,t,r)=>Wn(...r),get:(t,r)=>(e.has(r)||e.set(r,Wn(r)),e.get(r))})}(),Yn=r(2885),Zn=re((function(e,t){const{direction:r,align:n,justify:i,wrap:o,basis:a,grow:s,shrink:c,...l}=e,u={display:"flex",flexDirection:r,alignItems:n,justifyContent:i,flexWrap:o,flexBasis:a,flexGrow:s,flexShrink:c};return(0,Yn.jsx)(Gn.div,{ref:t,__css:u,...l})}));Zn.displayName="Flex";var Xn=Gn("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});Xn.displayName="Center";var Jn={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}},Qn=(re((function(e,t){const{axis:r="both",...n}=e;return(0,Yn.jsx)(Gn.div,{ref:t,__css:Jn[r],...n,position:"absolute"})})),Gn("div"));Qn.displayName="Box";var ei=re((function(e,t){const{size:r,centerContent:n=!0,...i}=e,o=n?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return(0,Yn.jsx)(Qn,{ref:t,boxSize:r,__css:{...o,flexShrink:0,flexGrow:0},...i})}));ei.displayName="Square";var ti=re((function(e,t){const{size:r,...n}=e;return(0,Yn.jsx)(ei,{size:r,ref:t,borderRadius:"9999px",...n})}));function ri(){const e=(0,t.useContext)(In);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}function ni(){return{...nr(),theme:ri()}}function ii(e,t,r){const n=Array.isArray(t)?t:[t],i=Array.isArray(r)?r:[r];return r=>{const o=i.filter(Boolean),a=n.map(((t,n)=>{var i,a;if("breakpoints"===e)return function(e,t,r){var n,i;if(null==t)return t;const o=t=>{var r,n;return null==(n=null==(r=e.__breakpoints)?void 0:r.asArray)?void 0:n[t]};return null!=(i=null!=(n=o(t))?n:o(r))?i:r}(r,t,null!=(i=o[n])?i:t);return function(e,t,r){var n,i;if(null==t)return t;const o=t=>{var r,n;return null==(n=null==(r=e.__cssMap)?void 0:r[t])?void 0:n.value};return null!=(i=null!=(n=o(t))?n:o(r))?i:r}(r,`${e}.${t}`,null!=(a=o[n])?a:t)}));return Array.isArray(t)?a:a[0]}}ti.displayName="Circle";var oi=r(9131);function ai(e,r={}){var n;const{styleConfig:i,...o}=r,{theme:a,colorMode:s}=ni(),c=e?ir(a,`components.${e}`):void 0,l=i||c,u=he({theme:a,colorMode:s},null!=(n=null==l?void 0:l.defaultProps)?n:{},ar(function(e,t){const r={};return Object.keys(e).forEach((n=>{t.includes(n)||(r[n]=e[n])})),r}(o,["children"]))),d=(0,t.useRef)({});if(l){const e=function(e){return t=>{var r;const{variant:n,size:i,theme:o}=t,a=Xt(o);return he({},ae(null!=(r=e.baseStyle)?r:{},t),a(e,"sizes",i,t),a(e,"variants",n,t))}}(l),t=e(u);oi(d.current,t)||(d.current=t)}return d.current}function si(e,t={}){return ai(e,t)}function ci(e,t={}){return ai(e,t)}var li=re((function(e,t){const r=si("Heading",e),{className:n,...i}=Jt(e);return(0,Yn.jsx)(Gn.h2,{ref:t,className:ne("chakra-heading",e.className),...i,__css:r})}));function ui(e={}){const{name:r,strict:n=!0,hookName:i="useContext",providerName:o="Provider",errorMessage:a,defaultValue:s}=e,c=(0,t.createContext)(s);return c.displayName=r,[c.Provider,function e(){var r;const s=(0,t.useContext)(c);if(!s&&n){const t=new Error(null!=a?a:`${i} returned \`undefined\`. Seems you forgot to wrap component within ${o}`);throw t.name="ContextError",null==(r=Error.captureStackTrace)||r.call(Error,t,e),t}return s},c]}li.displayName="Heading";var[di,hi]=ui({strict:!1,name:"ButtonGroupContext"});function fi(e){const{children:r,className:n,...i}=e,o=(0,t.isValidElement)(r)?(0,t.cloneElement)(r,{"aria-hidden":!0,focusable:!1}):r,a=ne("chakra-button__icon",n);return(0,Yn.jsx)(Gn.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...i,className:a,children:o})}fi.displayName="ButtonIcon";r(5419);var pi=Rn((function(e,r){var n=e.styles,i=On([n],void 0,t.useContext(In)),o=t.useRef();return jn((function(){var e=r.key+"-global",t=new r.sheet.constructor({key:e,nonce:r.sheet.nonce,container:r.sheet.container,speedy:r.sheet.isSpeedy}),n=!1,a=document.querySelector('style[data-emotion="'+e+" "+i.name+'"]');return r.sheet.tags.length&&(t.before=r.sheet.tags[0]),null!==a&&(n=!0,a.setAttribute("data-emotion",e),t.hydrate([a])),o.current=[t,n],function(){t.flush()}}),[r]),jn((function(){var e=o.current,t=e[0];if(e[1])e[1]=!1;else{if(void 0!==i.next&&Bn(r,i.next,!0),t.tags.length){var n=t.tags[t.tags.length-1].nextElementSibling;t.before=n,t.flush()}r.insert("",i,t,!1)}}),[r,i.name]),null}));function mi(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=si("Spinner",e),{label:n="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:a="transparent",className:s,...c}=Jt(e),l=ne("chakra-spinner",s),u={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:a,borderLeftColor:a,animation:`${vi} ${o} linear infinite`,...r};return(0,Yn.jsx)(Gn.div,{ref:t,__css:u,className:l,...c,children:n&&(0,Yn.jsx)(Gn.span,{srOnly:!0,children:n})})}));function bi(e){const{label:r,placement:n,spacing:i="0.5rem",children:o=(0,Yn.jsx)(yi,{color:"currentColor",width:"1em",height:"1em"}),className:a,__css:s,...c}=e,l=ne("chakra-button__spinner",a),u="start"===n?"marginEnd":"marginStart",d=(0,t.useMemo)((()=>({display:"flex",alignItems:"center",position:r?"relative":"absolute",[u]:r?i:0,fontSize:"1em",lineHeight:"normal",...s})),[s,r,u,i]);return(0,Yn.jsx)(Gn.div,{className:l,...c,__css:d,children:o})}function wi(...e){return t=>{e.forEach((e=>{!function(e,t){if(null!=e)if("function"!==typeof e)try{e.current=t}catch(r){throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}else e(t)}(e,t)}))}}function xi(...e){return(0,t.useMemo)((()=>wi(...e)),e)}yi.displayName="Spinner",bi.displayName="ButtonSpinner";var _i=re(((e,r)=>{const n=hi(),i=si("Button",{...n,...e}),{isDisabled:o=(null==n?void 0:n.isDisabled),isLoading:a,isActive:s,children:c,leftIcon:l,rightIcon:u,loadingText:d,iconSpacing:h="0.5rem",type:f,spinner:p,spinnerPlacement:m="start",className:g,as:v,...y}=Jt(e),b=(0,t.useMemo)((()=>{const e={...null==i?void 0:i._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...i,...!!n&&{_focus:e}}}),[i,n]),{ref:w,type:x}=function(e){const[r,n]=(0,t.useState)(!e),i=(0,t.useCallback)((e=>{e&&n("BUTTON"===e.tagName)}),[]);return{ref:i,type:r?"button":void 0}}(v),_={rightIcon:u,leftIcon:l,iconSpacing:h,children:c};return(0,Yn.jsxs)(Gn.button,{ref:xi(r,w),as:v,type:null!=f?f:x,"data-active":ce(s),"data-loading":ce(a),__css:b,className:ne("chakra-button",g),...y,disabled:o||a,children:[a&&"start"===m&&(0,Yn.jsx)(bi,{className:"chakra-button__spinner--start",label:d,placement:"start",spacing:h,children:p}),a?d||(0,Yn.jsx)(Gn.span,{opacity:0,children:(0,Yn.jsx)(Si,{..._})}):(0,Yn.jsx)(Si,{..._}),a&&"end"===m&&(0,Yn.jsx)(bi,{className:"chakra-button__spinner--end",label:d,placement:"end",spacing:h,children:p})]})}));function Si(e){const{leftIcon:t,rightIcon:r,children:n,iconSpacing:i}=e;return(0,Yn.jsxs)(Yn.Fragment,{children:[t&&(0,Yn.jsx)(fi,{marginEnd:i,children:t}),n,r&&(0,Yn.jsx)(fi,{marginStart:i,children:r})]})}_i.displayName="Button";var ki=re((function(e,t){const r=si("Link",e),{className:n,isExternal:i,...o}=Jt(e);return(0,Yn.jsx)(Gn.a,{target:i?"_blank":void 0,rel:i?"noopener":void 0,ref:t,className:ne("chakra-link",n),...o,__css:r})}));ki.displayName="Link";const Ei="What is it about? (if a bug report please consider including your account address) %0A PLEASE FILL %0A%0A What is the feedback? %0A PLEASE FILL",Pi=()=>{const e=()=>{window.location.reload()};return(0,Yn.jsx)(Zn,{alignItems:"stretch",children:(0,Yn.jsx)(Xn,{width:"100%",marginTop:"200px",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(li,{marginBottom:3,textAlign:"center",children:"Ooops, something went wrong!"}),(0,Yn.jsx)(_i,{marginRight:2,onClick:e,children:"Refresh the page"}),(0,Yn.jsx)(_i,{marginRight:2,onClick:()=>{const e=`data:text/json;chatset=utf-8,${encodeURIComponent(JSON.stringify(window.localStorage))}`,t=document.createElement("a");t.href=e,t.download="data.json",t.click()},variant:"secondary",children:"Download Backup"}),(0,Yn.jsx)(_i,{marginRight:2,onClick:()=>{window.localStorage.clear(),e()},variant:"warning",children:"Offboard"}),(0,Yn.jsx)(_i,{variant:"tertiary",children:(0,Yn.jsx)(ki,{href:`mailto:umami-support@trili.tech?subject=Umami V2 feedback&body=${Ei}`,rel:"noopener noreferrer",target:"_blank",children:"Report Error"})})]})})})};var Oi=r(5323);const Ai=new Oi.QueryClient,Ti=e=>(0,Yn.jsx)(Oi.QueryClientProvider,{client:Ai,children:e.children});var ji=r(3331),Ci=r(2223),Ri=r(9339),Ii=r.t(Ri,2);let Mi=function(e){e()};const Li=()=>Mi,Ni=Symbol.for("react-redux-context"),Di="undefined"!==typeof globalThis?globalThis:{};function Bi(){var e;if(!t.createContext)return{};const r=null!=(e=Di[Ni])?e:Di[Ni]=new Map;let n=r.get(t.createContext);return n||(n=t.createContext(null),r.set(t.createContext,n)),n}const zi=Bi();function Ui(e=zi){return function(){return(0,t.useContext)(e)}}const Fi=Ui();let $i=()=>{throw new Error("uSES not initialized!")};const Hi=(e,t)=>e===t;function Vi(e=zi){const r=e===zi?Fi:Ui(e);return function(e,n={}){const{equalityFn:i=Hi,stabilityCheck:o,noopCheck:a}="function"===typeof n?{equalityFn:n}:n;const{store:s,subscription:c,getServerState:l,stabilityCheck:u,noopCheck:d}=r(),h=((0,t.useRef)(!0),(0,t.useCallback)({[e.name]:t=>e(t)}[e.name],[e,u,o])),f=$i(c.addNestedSub,s.getState,l||s.getState,h,i);return(0,t.useDebugValue)(f),f}}const qi=Vi();r(9667);const Ki={notify(){},get:()=>[]};function Wi(e,t){let r,n=Ki,i=0,o=!1;function a(){l.onStateChange&&l.onStateChange()}function s(){i++,r||(r=t?t.addNestedSub(a):e.subscribe(a),n=function(){const e=Li();let t=null,r=null;return{clear(){t=null,r=null},notify(){e((()=>{let e=t;for(;e;)e.callback(),e=e.next}))},get(){let e=[],r=t;for(;r;)e.push(r),r=r.next;return e},subscribe(e){let n=!0,i=r={callback:e,next:null,prev:r};return i.prev?i.prev.next=i:t=i,function(){n&&null!==t&&(n=!1,i.next?i.next.prev=i.prev:r=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}())}function c(){i--,r&&0===i&&(r(),r=void 0,n.clear(),n=Ki)}const l={addNestedSub:function(e){s();const t=n.subscribe(e);let r=!1;return()=>{r||(r=!0,t(),c())}},notifyNestedSubs:function(){n.notify()},handleChangeWrapper:a,isSubscribed:function(){return o},trySubscribe:function(){o||(o=!0,s())},tryUnsubscribe:function(){o&&(o=!1,c())},getListeners:()=>n};return l}const Gi=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement)?t.useLayoutEffect:t.useEffect;let Yi=null;const Zi=function({store:e,context:r,children:n,serverState:i,stabilityCheck:o="once",noopCheck:a="once"}){const s=t.useMemo((()=>{const t=Wi(e);return{store:e,subscription:t,getServerState:i?()=>i:void 0,stabilityCheck:o,noopCheck:a}}),[e,i,o,a]),c=t.useMemo((()=>e.getState()),[e]);Gi((()=>{const{subscription:t}=s;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),c!==e.getState()&&t.notifyNestedSubs(),()=>{t.tryUnsubscribe(),t.onStateChange=void 0}}),[s,c]);const l=r||zi;return t.createElement(l.Provider,{value:s},n)};function Xi(e=zi){const t=e===zi?Fi:Ui(e);return function(){const{store:e}=t();return e}}const Ji=Xi();function Qi(e=zi){const t=e===zi?Ji:Xi(e);return function(){return t().dispatch}}const eo=Qi();var to;function ro(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n3?t.i-4:t.i:Array.isArray(e)?1:ho(e)?2:fo(e)?3:0}function so(e,t){return 2===ao(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function co(e,t){return 2===ao(e)?e.get(t):e[t]}function lo(e,t,r){var n=ao(e);2===n?e.set(t,r):3===n?e.add(r):e[t]=r}function uo(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function ho(e){return $o&&e instanceof Map}function fo(e){return Ho&&e instanceof Set}function po(e){return e.o||e.t}function mo(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Zo(e);delete t[Wo];for(var r=Yo(t),n=0;n1&&(e.set=e.add=e.clear=e.delete=vo),Object.freeze(e),t&&oo(e,(function(e,t){return go(t,!0)}),!0)),e}function vo(){ro(2)}function yo(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function bo(e){var t=Xo[e];return t||ro(18,e),t}function wo(e,t){Xo[e]||(Xo[e]=t)}function xo(){return Uo}function _o(e,t){t&&(bo("Patches"),e.u=[],e.s=[],e.v=t)}function So(e){ko(e),e.p.forEach(Po),e.p=null}function ko(e){e===Uo&&(Uo=e.l)}function Eo(e){return Uo={p:[],l:Uo,h:e,m:!0,_:0}}function Po(e){var t=e[Wo];0===t.i||1===t.i?t.j():t.g=!0}function Oo(e,t){t._=t.p.length;var r=t.p[0],n=void 0!==e&&e!==r;return t.h.O||bo("ES5").S(t,e,n),n?(r[Wo].P&&(So(t),ro(4)),io(e)&&(e=Ao(t,e),t.l||jo(t,e)),t.u&&bo("Patches").M(r[Wo].t,e,t.u,t.s)):e=Ao(t,r,[]),So(t),t.u&&t.v(t.u,t.s),e!==qo?e:void 0}function Ao(e,t,r){if(yo(t))return t;var n=t[Wo];if(!n)return oo(t,(function(i,o){return To(e,n,t,i,o,r)}),!0),t;if(n.A!==e)return t;if(!n.P)return jo(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var i=4===n.i||5===n.i?n.o=mo(n.k):n.o,o=i,a=!1;3===n.i&&(o=new Set(i),i.clear(),a=!0),oo(o,(function(t,o){return To(e,n,i,t,o,r,a)})),jo(e,i,!1),r&&e.u&&bo("Patches").N(n,r,e.u,e.s)}return n.o}function To(e,t,r,n,i,o,a){if(no(i)){var s=Ao(e,i,o&&t&&3!==t.i&&!so(t.R,n)?o.concat(n):void 0);if(lo(r,n,s),!no(s))return;e.m=!1}else a&&r.add(i);if(io(i)&&!yo(i)){if(!e.h.D&&e._<1)return;Ao(e,i),t&&t.A.l||jo(e,i)}}function jo(e,t,r){void 0===r&&(r=!1),!e.l&&e.h.D&&e.m&&go(t,r)}function Co(e,t){var r=e[Wo];return(r?po(r):e)[t]}function Ro(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function Io(e){e.P||(e.P=!0,e.l&&Io(e.l))}function Mo(e){e.o||(e.o=mo(e.t))}function Lo(e,t,r){var n=ho(t)?bo("MapSet").F(t,r):fo(t)?bo("MapSet").T(t,r):e.O?function(e,t){var r=Array.isArray(e),n={i:r?1:0,A:t?t.A:xo(),P:!1,I:!1,R:{},l:t,t:e,k:null,o:null,j:null,C:!1},i=n,o=Jo;r&&(i=[n],o=Qo);var a=Proxy.revocable(i,o),s=a.revoke,c=a.proxy;return n.k=c,n.j=s,c}(t,r):bo("ES5").J(t,r);return(r?r.A:xo()).p.push(n),n}function No(e){return no(e)||ro(22,e),function e(t){if(!io(t))return t;var r,n=t[Wo],i=ao(t);if(n){if(!n.P&&(n.i<4||!bo("ES5").K(n)))return n.t;n.I=!0,r=Do(t,i),n.I=!1}else r=Do(t,i);return oo(r,(function(t,i){n&&co(n.t,t)===i||lo(r,t,e(i))})),3===i?new Set(r):r}(e)}function Do(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return mo(e)}function Bo(){function e(e,t){var r=i[e];return r?r.enumerable=t:i[e]=r={configurable:!0,enumerable:t,get:function(){var t=this[Wo];return Jo.get(t,e)},set:function(t){var r=this[Wo];Jo.set(r,e,t)}},r}function t(e){for(var t=e.length-1;t>=0;t--){var i=e[t][Wo];if(!i.P)switch(i.i){case 5:n(i)&&Io(i);break;case 4:r(i)&&Io(i)}}}function r(e){for(var t=e.t,r=e.k,n=Yo(r),i=n.length-1;i>=0;i--){var o=n[i];if(o!==Wo){var a=t[o];if(void 0===a&&!so(t,o))return!0;var s=r[o],c=s&&s[Wo];if(c?c.t!==a:!uo(s,a))return!0}}var l=!!t[Wo];return n.length!==Yo(t).length+(l?0:1)}function n(e){var t=e.k;if(t.length!==e.t.length)return!0;var r=Object.getOwnPropertyDescriptor(t,t.length-1);if(r&&!r.get)return!0;for(var n=0;n{$i=e})(Ci.useSyncExternalStoreWithSelector),(e=>{Yi=e})(ji.useSyncExternalStore),to=Ri.unstable_batchedUpdates,Mi=to;var zo,Uo,Fo="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),$o="undefined"!=typeof Map,Ho="undefined"!=typeof Set,Vo="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,qo=Fo?Symbol.for("immer-nothing"):((zo={})["immer-nothing"]=!0,zo),Ko=Fo?Symbol.for("immer-draftable"):"__$immer_draftable",Wo=Fo?Symbol.for("immer-state"):"__$immer_state",Go=("undefined"!=typeof Symbol&&Symbol.iterator,""+Object.prototype.constructor),Yo="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Zo=Object.getOwnPropertyDescriptors||function(e){var t={};return Yo(e).forEach((function(r){t[r]=Object.getOwnPropertyDescriptor(e,r)})),t},Xo={},Jo={get:function(e,t){if(t===Wo)return e;var r=po(e);if(!so(r,t))return function(e,t,r){var n,i=Ro(t,r);return i?"value"in i?i.value:null===(n=i.get)||void 0===n?void 0:n.call(e.k):void 0}(e,r,t);var n=r[t];return e.I||!io(n)?n:n===Co(e.t,t)?(Mo(e),e.o[t]=Lo(e.A.h,n,e)):n},has:function(e,t){return t in po(e)},ownKeys:function(e){return Reflect.ownKeys(po(e))},set:function(e,t,r){var n=Ro(po(e),t);if(null==n?void 0:n.set)return n.set.call(e.k,r),!0;if(!e.P){var i=Co(po(e),t),o=null==i?void 0:i[Wo];if(o&&o.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(uo(r,i)&&(void 0!==r||so(e.t,t)))return!0;Mo(e),Io(e)}return e.o[t]===r&&(void 0!==r||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return void 0!==Co(e.t,t)||t in e.t?(e.R[t]=!1,Mo(e),Io(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=po(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:n.enumerable,value:r[t]}:n},defineProperty:function(){ro(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){ro(12)}},Qo={};oo(Jo,(function(e,t){Qo[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),Qo.deleteProperty=function(e,t){return Qo.set.call(this,e,t,void 0)},Qo.set=function(e,t,r){return Jo.set.call(this,e[0],t,r,e[0])};var ea=function(){function e(e){var t=this;this.O=Vo,this.D=!0,this.produce=function(e,r,n){if("function"==typeof e&&"function"!=typeof r){var i=r;r=e;var o=t;return function(e){var t=this;void 0===e&&(e=i);for(var n=arguments.length,a=Array(n>1?n-1:0),s=1;s1?n-1:0),o=1;o=0;r--){var n=t[r];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}r>-1&&(t=t.slice(r+1));var i=bo("Patches").$;return no(e)?i(e,t):this.produce(e,(function(e){return i(e,t)}))},e}(),ta=new ea,ra=ta.produce;ta.produceWithPatches.bind(ta),ta.setAutoFreeze.bind(ta),ta.setUseProxies.bind(ta),ta.applyPatches.bind(ta),ta.createDraft.bind(ta),ta.finishDraft.bind(ta);const na=ra;function ia(e){return function(t){var r=t.dispatch,n=t.getState;return function(t){return function(i){return"function"===typeof i?i(r,n,e):t(i)}}}}var oa=ia();oa.withExtraArgument=ia;const aa=oa;r(4501);var sa=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)};return function(t,r){if("function"!==typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ca=function(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"===typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0||e===t?t:t-1}function Os(e){for(var t,r,n=1,i=e.length,o=e[0]+"";nl^r?1:-1;for(s=(c=i.length)<(l=o.length)?c:l,a=0;ao[a]^r?1:-1;return c==l?0:c>l^r?1:-1}function Ts(e,t,r,n){if(er||e!==vs(e))throw Error(ys+(n||"Argument")+("number"==typeof e?er?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function js(e){var t=e.c.length-1;return Ps(e.e/xs)==t&&e.c[t]%2!=0}function Cs(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function Rs(e,t,r){var n,i;if(t<0){for(i=r+".";++t;i+=r);e=i+e}else if(++t>(n=e.length)){for(i=r,t-=n;--t;i+=r);e+=i}else th?g.c=g.e=null:e.e=10;u/=10,l++);return void(l>h?g.c=g.e=null:(g.e=l,g.c=[e]))}m=String(e)}else{if(!ms.test(m=String(e)))return i(g,m,f);g.s=45==m.charCodeAt(0)?(m=m.slice(1),-1):1}(l=m.indexOf("."))>-1&&(m=m.replace(".","")),(u=m.search(/e/i))>0?(l<0&&(l=u),l+=+m.slice(u+1),m=m.substring(0,u)):l<0&&(l=m.length)}else{if(Ts(t,2,v.length,"Base"),10==t&&y)return S(g=new b(e),s+g.e+1,c);if(m=String(e),f="number"==typeof e){if(0*e!=0)return i(g,m,f,t);if(g.s=1/e<0?(m=m.slice(1),-1):1,b.DEBUG&&m.replace(/^0\.0*|\./,"").length>15)throw Error(bs+e)}else g.s=45===m.charCodeAt(0)?(m=m.slice(1),-1):1;for(r=v.slice(0,t),l=u=0,p=m.length;ul){l=p;continue}}else if(!a&&(m==m.toUpperCase()&&(m=m.toLowerCase())||m==m.toLowerCase()&&(m=m.toUpperCase()))){a=!0,u=-1,l=0;continue}return i(g,String(e),f,t)}f=!1,(l=(m=n(m,t,10,g.s)).indexOf("."))>-1?m=m.replace(".",""):l=m.length}for(u=0;48===m.charCodeAt(u);u++);for(p=m.length;48===m.charCodeAt(--p););if(m=m.slice(u,++p)){if(p-=u,f&&b.DEBUG&&p>15&&(e>_s||e!==vs(e)))throw Error(bs+g.s*e);if((l=l-u-1)>h)g.c=g.e=null;else if(l=u)?Cs(d,a):Rs(d,a,"0");else if(o=(e=S(new b(e),t,r)).e,s=(d=Os(e.c)).length,1==n||2==n&&(t<=o||o<=l)){for(;ss){if(--t>0)for(d+=".";t--;d+="0");}else if((t+=o-s)>0)for(o+1==s&&(d+=".");t--;d+="0");return e.s<0&&i?"-"+d:d}function x(e,t){for(var r,n,i=1,o=new b(e[0]);i=10;i/=10,n++);return(r=n+r*xs-1)>h?e.c=e.e=null:r=10;s/=10,i++);if((o=t-i)<0)o+=xs,a=t,c=f[l=0],u=vs(c/p[i-a-1]%10);else if((l=gs((o+1)/xs))>=f.length){if(!n)break e;for(;f.length<=l;f.push(0));c=u=0,i=1,a=(o%=xs)-xs+1}else{for(c=s=f[l],i=1;s>=10;s/=10,i++);u=(a=(o%=xs)-xs+i)<0?0:vs(c/p[i-a-1]%10)}if(n=n||t<0||null!=f[l+1]||(a<0?c:c%p[i-a-1]),n=r<4?(u||n)&&(0==r||r==(e.s<0?3:2)):u>5||5==u&&(4==r||n||6==r&&(o>0?a>0?c/p[i-a]:0:f[l-1])%10&1||r==(e.s<0?8:7)),t<1||!f[0])return f.length=0,n?(t-=e.e+1,f[0]=p[(xs-t%xs)%xs],e.e=-t||0):f[0]=e.e=0,e;if(0==o?(f.length=l,s=1,l--):(f.length=l+1,s=p[xs-o],f[l]=a>0?vs(c/p[i-a]%p[a])*s:0),n)for(;;){if(0==l){for(o=1,a=f[0];a>=10;a/=10,o++);for(a=f[0]+=s,s=1;a>=10;a/=10,s++);o!=s&&(e.e++,f[0]==ws&&(f[0]=1));break}if(f[l]+=s,f[l]!=ws)break;f[l--]=0,s=1}for(o=f.length;0===f[--o];f.pop());}e.e>h?e.c=e.e=null:e.e=u?Cs(t,r):Rs(t,r,"0"),e.s<0?"-"+t:t)}return b.clone=e,b.ROUND_UP=0,b.ROUND_DOWN=1,b.ROUND_CEIL=2,b.ROUND_FLOOR=3,b.ROUND_HALF_UP=4,b.ROUND_HALF_DOWN=5,b.ROUND_HALF_EVEN=6,b.ROUND_HALF_CEIL=7,b.ROUND_HALF_FLOOR=8,b.EUCLID=9,b.config=b.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error(ys+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(Ts(r=e[t],0,Es,t),s=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(Ts(r=e[t],0,8,t),c=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(Ts(r[0],-Es,0,t),Ts(r[1],0,Es,t),l=r[0],u=r[1]):(Ts(r,-Es,Es,t),l=-(u=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)Ts(r[0],-Es,-1,t),Ts(r[1],1,Es,t),d=r[0],h=r[1];else{if(Ts(r,-Es,Es,t),!r)throw Error(ys+t+" cannot be zero: "+r);d=-(h=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(ys+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw f=!r,Error(ys+"crypto unavailable");f=r}else f=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(Ts(r=e[t],0,9,t),p=r),e.hasOwnProperty(t="POW_PRECISION")&&(Ts(r=e[t],0,Es,t),m=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error(ys+t+" not an object: "+r);g=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(ys+t+" invalid: "+r);y="0123456789"==r.slice(0,10),v=r}}return{DECIMAL_PLACES:s,ROUNDING_MODE:c,EXPONENTIAL_AT:[l,u],RANGE:[d,h],CRYPTO:f,MODULO_MODE:p,POW_PRECISION:m,FORMAT:g,ALPHABET:v}},b.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!b.DEBUG)return!0;var t,r,n=e.c,i=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===o||-1===o)&&i>=-Es&&i<=Es&&i===vs(i)){if(0===n[0]){if(0===i&&1===n.length)return!0;break e}if((t=(i+1)%xs)<1&&(t+=xs),String(n[0]).length==t){for(t=0;t=ws||r!==vs(r))break e;if(0!==r)return!0}}}else if(null===n&&null===i&&(null===o||1===o||-1===o))return!0;throw Error(ys+"Invalid BigNumber: "+e)},b.maximum=b.max=function(){return x(arguments,-1)},b.minimum=b.min=function(){return x(arguments,1)},b.random=function(){var e=9007199254740992,t=Math.random()*e&2097151?function(){return vs(Math.random()*e)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)};return function(e){var r,n,i,o,c,l=0,u=[],d=new b(a);if(null==e?e=s:Ts(e,0,Es),o=gs(e/xs),f)if(crypto.getRandomValues){for(r=crypto.getRandomValues(new Uint32Array(o*=2));l>>11))>=9e15?(n=crypto.getRandomValues(new Uint32Array(2)),r[l]=n[0],r[l+1]=n[1]):(u.push(c%1e14),l+=2);l=o/2}else{if(!crypto.randomBytes)throw f=!1,Error(ys+"crypto unavailable");for(r=crypto.randomBytes(o*=7);l=9e15?crypto.randomBytes(7).copy(r,l):(u.push(c%1e14),l+=7);l=o/7}if(!f)for(;l=10;c/=10,l++);lr-1&&(null==a[i+1]&&(a[i+1]=0),a[i+1]+=a[i]/r|0,a[i]%=r)}return a.reverse()}return function(n,i,o,a,l){var u,d,h,f,p,g,y,w,x=n.indexOf("."),_=s,S=c;for(x>=0&&(f=m,m=0,n=n.replace(".",""),g=(w=new b(i)).pow(n.length-x),m=f,w.c=t(Rs(Os(g.c),g.e,"0"),10,o,e),w.e=w.c.length),h=f=(y=t(n,i,o,l?(u=v,e):(u=e,v))).length;0==y[--f];y.pop());if(!y[0])return u.charAt(0);if(x<0?--h:(g.c=y,g.e=h,g.s=a,y=(g=r(g,w,_,S,o)).c,p=g.r,h=g.e),x=y[d=h+_+1],f=o/2,p=p||d<0||null!=y[d+1],p=S<4?(null!=x||p)&&(0==S||S==(g.s<0?3:2)):x>f||x==f&&(4==S||p||6==S&&1&y[d-1]||S==(g.s<0?8:7)),d<1||!y[0])n=p?Rs(u.charAt(1),-_,u.charAt(0)):u.charAt(0);else{if(y.length=d,p)for(--o;++y[--d]>o;)y[d]=0,d||(++h,y=[1].concat(y));for(f=y.length;!y[--f];);for(x=0,n="";x<=f;n+=u.charAt(y[x++]));n=Rs(n,h,u.charAt(0))}return n}}(),r=function(){function e(e,t,r){var n,i,o,a,s=0,c=e.length,l=t%ks,u=t/ks|0;for(e=e.slice();c--;)s=((i=l*(o=e[c]%ks)+(n=u*o+(a=e[c]/ks|0)*l)%ks*ks+s)/r|0)+(n/ks|0)+u*a,e[c]=i%r;return s&&(e=[s].concat(e)),e}function t(e,t,r,n){var i,o;if(r!=n)o=r>n?1:-1;else for(i=o=0;it[i]?1:-1;break}return o}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]1;e.splice(0,1));}return function(n,i,o,a,s){var c,l,u,d,h,f,p,m,g,v,y,w,x,_,k,E,P,O=n.s==i.s?1:-1,A=n.c,T=i.c;if(!A||!A[0]||!T||!T[0])return new b(n.s&&i.s&&(A?!T||A[0]!=T[0]:T)?A&&0==A[0]||!T?0*O:O/0:NaN);for(g=(m=new b(O)).c=[],O=o+(l=n.e-i.e)+1,s||(s=ws,l=Ps(n.e/xs)-Ps(i.e/xs),O=O/xs|0),u=0;T[u]==(A[u]||0);u++);if(T[u]>(A[u]||0)&&l--,O<0)g.push(1),d=!0;else{for(_=A.length,E=T.length,u=0,O+=2,(h=vs(s/(T[0]+1)))>1&&(T=e(T,h,s),A=e(A,h,s),E=T.length,_=A.length),x=E,y=(v=A.slice(0,E)).length;y=s/2&&k++;do{if(h=0,(c=t(T,v,E,y))<0){if(w=v[0],E!=y&&(w=w*s+(v[1]||0)),(h=vs(w/k))>1)for(h>=s&&(h=s-1),p=(f=e(T,h,s)).length,y=v.length;1==t(f,v,p,y);)h--,r(f,E=10;O/=10,u++);S(m,o+(m.e=u+l*xs-1)+1,a,d)}else m.e=l,m.r=+d;return m}}(),i=function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,t=/^([^.]+)\.$/,r=/^\.([^.]+)$/,n=/^-?(Infinity|NaN)$/,i=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(o,a,s,c){var l,u=s?a:a.replace(i,"");if(n.test(u))o.s=isNaN(u)?null:u<0?-1:1;else{if(!s&&(u=u.replace(e,(function(e,t,r){return l="x"==(r=r.toLowerCase())?16:"b"==r?2:8,c&&c!=l?e:t})),c&&(l=c,u=u.replace(t,"$1").replace(r,"0.$1")),a!=u))return new b(u,l);if(b.DEBUG)throw Error(ys+"Not a"+(c?" base "+c:"")+" number: "+a);o.s=null}o.c=o.e=null}}(),o.absoluteValue=o.abs=function(){var e=new b(this);return e.s<0&&(e.s=1),e},o.comparedTo=function(e,t){return As(this,new b(e,t))},o.decimalPlaces=o.dp=function(e,t){var r,n,i,o=this;if(null!=e)return Ts(e,0,Es),null==t?t=c:Ts(t,0,8),S(new b(o),e+o.e+1,t);if(!(r=o.c))return null;if(n=((i=r.length-1)-Ps(this.e/xs))*xs,i=r[i])for(;i%10==0;i/=10,n--);return n<0&&(n=0),n},o.dividedBy=o.div=function(e,t){return r(this,new b(e,t),s,c)},o.dividedToIntegerBy=o.idiv=function(e,t){return r(this,new b(e,t),0,1)},o.exponentiatedBy=o.pow=function(e,t){var r,n,i,o,s,l,u,d,h=this;if((e=new b(e)).c&&!e.isInteger())throw Error(ys+"Exponent not an integer: "+k(e));if(null!=t&&(t=new b(t)),s=e.e>14,!h.c||!h.c[0]||1==h.c[0]&&!h.e&&1==h.c.length||!e.c||!e.c[0])return d=new b(Math.pow(+k(h),s?e.s*(2-js(e)):+k(e))),t?d.mod(t):d;if(l=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new b(NaN);(n=!l&&h.isInteger()&&t.isInteger())&&(h=h.mod(t))}else{if(e.e>9&&(h.e>0||h.e<-1||(0==h.e?h.c[0]>1||s&&h.c[1]>=24e7:h.c[0]<8e13||s&&h.c[0]<=9999975e7)))return o=h.s<0&&js(e)?-0:0,h.e>-1&&(o=1/o),new b(l?1/o:o);m&&(o=gs(m/xs+2))}for(s?(r=new b(.5),l&&(e.s=1),u=js(e)):u=(i=Math.abs(+k(e)))%2,d=new b(a);;){if(u){if(!(d=d.times(h)).c)break;o?d.c.length>o&&(d.c.length=o):n&&(d=d.mod(t))}if(i){if(0===(i=vs(i/2)))break;u=i%2}else if(S(e=e.times(r),e.e+1,1),e.e>14)u=js(e);else{if(0===(i=+k(e)))break;u=i%2}h=h.times(h),o?h.c&&h.c.length>o&&(h.c.length=o):n&&(h=h.mod(t))}return n?d:(l&&(d=a.div(d)),t?d.mod(t):o?S(d,m,c,undefined):d)},o.integerValue=function(e){var t=new b(this);return null==e?e=c:Ts(e,0,8),S(t,t.e+1,e)},o.isEqualTo=o.eq=function(e,t){return 0===As(this,new b(e,t))},o.isFinite=function(){return!!this.c},o.isGreaterThan=o.gt=function(e,t){return As(this,new b(e,t))>0},o.isGreaterThanOrEqualTo=o.gte=function(e,t){return 1===(t=As(this,new b(e,t)))||0===t},o.isInteger=function(){return!!this.c&&Ps(this.e/xs)>this.c.length-2},o.isLessThan=o.lt=function(e,t){return As(this,new b(e,t))<0},o.isLessThanOrEqualTo=o.lte=function(e,t){return-1===(t=As(this,new b(e,t)))||0===t},o.isNaN=function(){return!this.s},o.isNegative=function(){return this.s<0},o.isPositive=function(){return this.s>0},o.isZero=function(){return!!this.c&&0==this.c[0]},o.minus=function(e,t){var r,n,i,o,a=this,s=a.s;if(t=(e=new b(e,t)).s,!s||!t)return new b(NaN);if(s!=t)return e.s=-t,a.plus(e);var l=a.e/xs,u=e.e/xs,d=a.c,h=e.c;if(!l||!u){if(!d||!h)return d?(e.s=-t,e):new b(h?a:NaN);if(!d[0]||!h[0])return h[0]?(e.s=-t,e):new b(d[0]?a:3==c?-0:0)}if(l=Ps(l),u=Ps(u),d=d.slice(),s=l-u){for((o=s<0)?(s=-s,i=d):(u=l,i=h),i.reverse(),t=s;t--;i.push(0));i.reverse()}else for(n=(o=(s=d.length)<(t=h.length))?s:t,s=t=0;t0)for(;t--;d[r++]=0);for(t=ws-1;n>s;){if(d[--n]=0;){for(r=0,h=w[i]%g,f=w[i]/g|0,o=i+(a=c);o>i;)r=((l=h*(l=y[--a]%g)+(s=f*l+(u=y[a]/g|0)*h)%g*g+p[o]+r)/m|0)+(s/g|0)+f*u,p[o--]=l%m;p[o]=r}return r?++n:p.splice(0,1),_(e,p,n)},o.negated=function(){var e=new b(this);return e.s=-e.s||null,e},o.plus=function(e,t){var r,n=this,i=n.s;if(t=(e=new b(e,t)).s,!i||!t)return new b(NaN);if(i!=t)return e.s=-t,n.minus(e);var o=n.e/xs,a=e.e/xs,s=n.c,c=e.c;if(!o||!a){if(!s||!c)return new b(i/0);if(!s[0]||!c[0])return c[0]?e:new b(s[0]?n:0*i)}if(o=Ps(o),a=Ps(a),s=s.slice(),i=o-a){for(i>0?(a=o,r=c):(i=-i,r=s),r.reverse();i--;r.push(0));r.reverse()}for((i=s.length)-(t=c.length)<0&&(r=c,c=s,s=r,t=i),i=0;t;)i=(s[--t]=s[t]+c[t]+i)/ws|0,s[t]=ws===s[t]?0:s[t]%ws;return i&&(s=[i].concat(s),++a),_(e,s,a)},o.precision=o.sd=function(e,t){var r,n,i,o=this;if(null!=e&&e!==!!e)return Ts(e,1,Es),null==t?t=c:Ts(t,0,8),S(new b(o),e,t);if(!(r=o.c))return null;if(n=(i=r.length-1)*xs+1,i=r[i]){for(;i%10==0;i/=10,n--);for(i=r[0];i>=10;i/=10,n++);}return e&&o.e+1>n&&(n=o.e+1),n},o.shiftedBy=function(e){return Ts(e,-9007199254740991,_s),this.times("1e"+e)},o.squareRoot=o.sqrt=function(){var e,t,n,i,o,a=this,l=a.c,u=a.s,d=a.e,h=s+4,f=new b("0.5");if(1!==u||!l||!l[0])return new b(!u||u<0&&(!l||l[0])?NaN:l?a:1/0);if(0==(u=Math.sqrt(+k(a)))||u==1/0?(((t=Os(l)).length+d)%2==0&&(t+="0"),u=Math.sqrt(+t),d=Ps((d+1)/2)-(d<0||d%2),n=new b(t=u==1/0?"5e"+d:(t=u.toExponential()).slice(0,t.indexOf("e")+1)+d)):n=new b(u+""),n.c[0])for((u=(d=n.e)+h)<3&&(u=0);;)if(o=n,n=f.times(o.plus(r(a,o,h,1))),Os(o.c).slice(0,u)===(t=Os(n.c)).slice(0,u)){if(n.e0&&p>0){for(o=p%s||s,u=f.substr(0,o);o0&&(u+=l+f.slice(o)),h&&(u="-"+u)}n=d?u+(r.decimalSeparator||"")+((c=+r.fractionGroupSize)?d.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):d):u}return(r.prefix||"")+n+(r.suffix||"")},o.toFraction=function(e){var t,n,i,o,s,l,u,d,f,p,m,g,v=this,y=v.c;if(null!=e&&(!(u=new b(e)).isInteger()&&(u.c||1!==u.s)||u.lt(a)))throw Error(ys+"Argument "+(u.isInteger()?"out of range: ":"not an integer: ")+k(u));if(!y)return new b(v);for(t=new b(a),f=n=new b(a),i=d=new b(a),g=Os(y),s=t.e=g.length-v.e-1,t.c[0]=Ss[(l=s%xs)<0?xs+l:l],e=!e||u.comparedTo(t)>0?s>0?t:f:u,l=h,h=1/0,u=new b(g),d.c[0]=0;p=r(u,t,0,1),1!=(o=n.plus(p.times(i))).comparedTo(e);)n=i,i=o,f=d.plus(p.times(o=f)),d=o,t=u.minus(p.times(o=t)),u=o;return o=r(e.minus(n),i,0,1),d=d.plus(o.times(f)),n=n.plus(o.times(i)),d.s=f.s=v.s,m=r(f,i,s*=2,c).minus(v).abs().comparedTo(r(d,n,s,c).minus(v).abs())<1?[f,i]:[d,n],h=l,m},o.toNumber=function(){return+k(this)},o.toPrecision=function(e,t){return null!=e&&Ts(e,1,Es),w(this,e,t,2)},o.toString=function(e){var t,r=this,i=r.s,o=r.e;return null===o?i?(t="Infinity",i<0&&(t="-"+t)):t="NaN":(null==e?t=o<=l||o>=u?Cs(Os(r.c),o):Rs(Os(r.c),o,"0"):10===e&&y?t=Rs(Os((r=S(new b(r),s+o+1,c)).c),r.e,"0"):(Ts(e,2,v.length,"Base"),t=n(Rs(Os(r.c),o,"0"),10,e,i,!0)),i<0&&r.c[0]&&(t="-"+t)),t},o.valueOf=o.toJSON=function(){return k(this)},o._isBigNumber=!0,o[Symbol.toStringTag]="BigNumber",o[Symbol.for("nodejs.util.inspect.custom")]=o.valueOf,null!=t&&b.set(t),b}();const Ms=Is;var Ls,Ns=r(632),Ds=r.n(Ns),Bs=r(8179),zs=r.n(Bs);!function(e){e.TZ1="tz1",e.TZ2="tz2",e.TZ3="tz3",e.TZ4="tz4",e.KT="KT",e.KT1="KT1",e.EDSK2="edsk2",e.SPSK="spsk",e.P2SK="p2sk",e.EDPK="edpk",e.SPPK="sppk",e.P2PK="p2pk",e.BLPK="BLpk",e.EDESK="edesk",e.SPESK="spesk",e.P2ESK="p2esk",e.EDSK="edsk",e.EDSIG="edsig",e.SPSIG="spsig",e.P2SIG="p2sig",e.SIG="sig",e.NET="Net",e.NCE="nce",e.B="B",e.O="o",e.LO="Lo",e.LLO="LLo",e.P="P",e.CO="Co",e.ID="id",e.EXPR="expr",e.TZ="TZ",e.VH="vh",e.SASK="sask",e.ZET1="zet1",e.TXR1="txr1",e.TXI="txi",e.TXM="txm",e.TXC="txc",e.TXMR="txmr",e.TXRL="txM",e.TXW="txw",e.SR1="sr1",e.SRC1="src1"}(Ls||(Ls={}));const Us={[Ls.TZ1]:new Uint8Array([6,161,159]),[Ls.TZ2]:new Uint8Array([6,161,161]),[Ls.TZ3]:new Uint8Array([6,161,164]),[Ls.TZ4]:new Uint8Array([6,161,166]),[Ls.KT]:new Uint8Array([2,90,121]),[Ls.KT1]:new Uint8Array([2,90,121]),[Ls.EDSK]:new Uint8Array([43,246,78,7]),[Ls.EDSK2]:new Uint8Array([13,15,58,7]),[Ls.SPSK]:new Uint8Array([17,162,224,201]),[Ls.P2SK]:new Uint8Array([16,81,238,189]),[Ls.EDPK]:new Uint8Array([13,15,37,217]),[Ls.SPPK]:new Uint8Array([3,254,226,86]),[Ls.P2PK]:new Uint8Array([3,178,139,127]),[Ls.BLPK]:new Uint8Array([6,149,135,204]),[Ls.EDESK]:new Uint8Array([7,90,60,179,41]),[Ls.SPESK]:new Uint8Array([9,237,241,174,150]),[Ls.P2ESK]:new Uint8Array([9,48,57,115,171]),[Ls.EDSIG]:new Uint8Array([9,245,205,134,18]),[Ls.SPSIG]:new Uint8Array([13,115,101,19,63]),[Ls.P2SIG]:new Uint8Array([54,240,44,52]),[Ls.SIG]:new Uint8Array([4,130,43]),[Ls.NET]:new Uint8Array([87,82,0]),[Ls.NCE]:new Uint8Array([69,220,169]),[Ls.B]:new Uint8Array([1,52]),[Ls.O]:new Uint8Array([5,116]),[Ls.LO]:new Uint8Array([133,233]),[Ls.LLO]:new Uint8Array([29,159,109]),[Ls.P]:new Uint8Array([2,170]),[Ls.CO]:new Uint8Array([79,179]),[Ls.ID]:new Uint8Array([153,103]),[Ls.EXPR]:new Uint8Array([13,44,64,27]),[Ls.TZ]:new Uint8Array([2,90,121]),[Ls.VH]:new Uint8Array([1,106,242]),[Ls.SASK]:new Uint8Array([11,237,20,92]),[Ls.ZET1]:new Uint8Array([18,71,40,223]),[Ls.TXR1]:new Uint8Array([1,128,120,31]),[Ls.TXI]:new Uint8Array([79,148,196]),[Ls.TXM]:new Uint8Array([79,149,30]),[Ls.TXC]:new Uint8Array([79,148,17]),[Ls.TXMR]:new Uint8Array([18,7,206,87]),[Ls.TXRL]:new Uint8Array([79,146,82]),[Ls.TXW]:new Uint8Array([79,150,72]),[Ls.SR1]:new Uint8Array([6,124,117]),[Ls.SRC1]:new Uint8Array([17,165,134,138])},Fs={[Ls.TZ1]:20,[Ls.TZ2]:20,[Ls.TZ3]:20,[Ls.TZ4]:20,[Ls.KT]:20,[Ls.KT1]:20,[Ls.EDPK]:32,[Ls.SPPK]:33,[Ls.P2PK]:33,[Ls.BLPK]:48,[Ls.EDSIG]:64,[Ls.SPSIG]:64,[Ls.P2SIG]:64,[Ls.SIG]:64,[Ls.NET]:4,[Ls.B]:32,[Ls.P]:32,[Ls.O]:32,[Ls.VH]:32,[Ls.SASK]:169,[Ls.ZET1]:43,[Ls.TXR1]:20,[Ls.TXI]:32,[Ls.TXM]:32,[Ls.TXC]:32,[Ls.TXMR]:32,[Ls.TXRL]:32,[Ls.TXW]:32,[Ls.SR1]:20,[Ls.SRC1]:32};class $s extends Za{constructor(e,t){super(),this.value=e,this.desiredType=t,this.name="ValueConversionError",this.message=`Unable to convert ${e} to a ${t}`}}var Hs;function Vs(e){return"string"===typeof e&&e in Us}function qs(e,t){const r=new RegExp(`^(${t.join("|")})`).exec(e);if(!r||0===r.length)return Hs.NO_PREFIX_MATCHED;const n=r[0];if(!Vs(n))return Hs.NO_PREFIX_MATCHED;e.includes("%")&&(e=e.split("%")[0]);if(!/^(KT1\w{33})$/.test(e)&&"KT1"===n)return Hs.INVALID_CHECKSUM;let i=qa().decodeUnsafe(e);return i?(i=i.slice(Us[n].length),i.length!==Fs[n]?Hs.INVALID_LENGTH:Hs.VALID):Hs.INVALID_CHECKSUM}!function(e){e[e.NO_PREFIX_MATCHED=0]="NO_PREFIX_MATCHED",e[e.INVALID_CHECKSUM=1]="INVALID_CHECKSUM",e[e.INVALID_LENGTH=2]="INVALID_LENGTH",e[e.VALID=3]="VALID"}(Hs||(Hs={}));const Ks=[Ls.TZ1,Ls.TZ2,Ls.TZ3,Ls.TZ4],Ws=[Ls.KT1,Ls.TXR1],Gs=[Ls.EDSIG,Ls.P2SIG,Ls.SPSIG,Ls.SIG],Ys=[Ls.EDPK,Ls.SPPK,Ls.P2PK,Ls.BLPK],Zs=[Ls.O],Xs=(Ls.P,[Ls.B]),Js=[Ls.SR1];function Qs(e){return qs(e,[...Ks,...Ws,...Js])}function ec(e){return qs(e,[Ls.NET])}function tc(e){return qs(e,Ws)}function rc(e){return qs(e,Ks)}function nc(e){return qs(e,Gs)}function ic(e){return qs(e,Ys)}function oc(e){return qs(e,Zs)}function ac(e){switch(e){case Hs.NO_PREFIX_MATCHED:return"with unsupported prefix";case Hs.INVALID_CHECKSUM:return"failed checksum";case Hs.INVALID_LENGTH:return"with incorrect length";default:return""}}const sc=6,cc=3;function lc(e){switch(e){case"tz":return sc;case"mtz":return cc;default:return 0}}function uc(e="mutez",t="mutez",r){const n=new Ms(r);return n.isNaN()?r:n.multipliedBy(Math.pow(10,lc(e))).dividedBy(Math.pow(10,lc(t)))}function dc(e,t){const r="string"===typeof e?Uint8Array.from(za.Buffer.from(e,"hex")):e,n=new Uint8Array(t.length+r.length);return n.set(t),n.set(r,t.length),qa().encode(za.Buffer.from(n.buffer))}const hc=(e,t)=>qa().decode(e).slice(t.length);function fc(e){if("00"===e.substring(0,2)){const t={"0000":Us.tz1,"0001":Us.tz2,"0002":Us.tz3};return dc(e.substring(4),t[e.substring(0,4)])}return"02"===e.substring(0,2)?dc(e.substring(2,e.length-2),Us.txr1):dc(e.substring(2,42),Us.KT)}function pc(e){return dc(e,Us.tz4)}function mc(e){if("0"===e[0]){const t={"00":new Uint8Array([6,161,159]),"01":new Uint8Array([6,161,161]),"02":new Uint8Array([6,161,164])};return dc(e.substring(2),t[e.substring(0,2)])}}const gc=e=>{if(e.length%2!==0)throw new rs(e,": Expecting even number of characters");const t=wc(e);if(!t.match(/^([\da-f]{2})*$/gi))throw new rs(e,": Only characters 0-9, a-f and A-F are expected. Optionally, it can be prefixed with '0x'");const r=new Uint8Array(t.length/2);let n=0;for(let i=0;i{const r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r},yc=e=>{const t=[];return e.forEach((e=>{const r=`00${e.toString(16)}`.slice(-2);t.push(r)})),t.join("")};function bc(e){const t=wc(e);if(!t.match(/^(0x)?([\da-f]{2})*$/gi))throw new rs(e,": Expecting even number of characters: 0-9, a-z, A-Z, optionally prefixed with 0x");return za.Buffer.from(t,"hex")}function wc(e){return e.startsWith("0x")?e.slice(2):e}var xc=r(261).Buffer;const _c=async(e,t)=>Sc(xc.from(e,"utf-8"),t,6e5),Sc=async(e,t,r)=>{const n={name:"PBKDF2",salt:t,iterations:r,hash:"SHA-256"},i=await crypto.subtle.importKey("raw",e,n.name,!1,["deriveKey"]);return await crypto.subtle.deriveKey(n,i,{name:Ec,length:256},!1,["encrypt","decrypt"])};var kc=r(261).Buffer;const Ec="AES-GCM",Pc=async(e,t)=>{const r=crypto.getRandomValues(new Uint8Array(32)),n=await _c(t,r),i=crypto.getRandomValues(new Uint8Array(12)),o=await crypto.subtle.encrypt({name:Ec,iv:i},n,kc.from(e,"utf-8"));return{iv:yc(kc.from(i)),salt:yc(kc.from(r)),data:yc(kc.from(o))}},Oc=async(e,t,r="V2")=>{const{iv:n,salt:i,data:o}=e;try{const e="V2"===r?await _c(t,bc(i)):await(async(e,t)=>Sc(xc.alloc(32,e,"utf-8"),t,1e4))(t,bc(i)),a=await crypto.subtle.decrypt({name:Ec,iv:bc(n)},e,bc(o));return kc.from(a).toString("utf-8")}catch(a){throw new Error("Error decrypting data: Invalid password")}};var Ac=r(1298),Tc=r(7062),jc=r(3130),Cc=r(6555),Rc=r(9764),Ic=r(5081),Mc=r.n(Ic);function Lc(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))}"function"===typeof SuppressedError&&SuppressedError;class Nc{constructor(e,t,r){this.key=e;const n=e.substring(0,t?5:4);if(!Vs(n))throw new os(`${ac(Hs.NO_PREFIX_MATCHED)} expecting either '${Ls.EDESK}' or '${Ls.EDSK}'.`);if(this._key=r(hc(this.key,Us[n])),this._publicKey=this._key.slice(32),!this._key)throw new os("unable to decode");this.isInit=this.init()}init(){return Lc(this,void 0,void 0,(function*(){if(64!==this._key.length){const{publicKey:e,secretKey:t}=(0,Ua._w)(new Uint8Array(this._key));this._publicKey=e,this._key=t}return!0}))}sign(e,t){return Lc(this,void 0,void 0,(function*(){yield this.isInit;const r=(0,Ua.Xx)(new Uint8Array(this._key),new Uint8Array(t)),n=zs()(r),i=e+yc(n);return{bytes:e,sig:dc(r,Us.sig),prefixSig:dc(r,Us.edsig),sbytes:i}}))}publicKey(){return Lc(this,void 0,void 0,(function*(){return yield this.isInit,dc(this._publicKey,Us.edpk)}))}publicKeyHash(){return Lc(this,void 0,void 0,(function*(){return yield this.isInit,dc((0,Fa.hash)(new Uint8Array(this._publicKey),20),Us.tz1)}))}secretKey(){return Lc(this,void 0,void 0,(function*(){yield this.isInit;let e=this._key;const{secretKey:t}=(0,Ua._w)(new Uint8Array(e).slice(0,32));return e=zs()(t),dc(e,Us.edsk)}))}}const Dc={p256:{pk:Us.p2pk,sk:Us.p2sk,pkh:Us.tz3,sig:Us.p2sig},secp256k1:{pk:Us.sppk,sk:Us.spsk,pkh:Us.tz2,sig:Us.spsig}};class Bc{constructor(e,t,r,n){this.curve=e,this.key=t;const i=t.substring(0,r?5:4);if(!Vs(i))throw new os(ac(Hs.NO_PREFIX_MATCHED)+` expecting one of the following prefix '${Ls.SPSK}', '${Ls.SPESK}', '${Ls.P2SK}' or '${Ls.P2ESK}'.`);this._key=n(hc(this.key,Us[i]));const o=new(Ds().ec)(this.curve).keyFromPrivate(this._key),a=o.getPublic().getY().toArray(),s=(a.length<32?a[a.length-1]:a[31])%2?3:2,c=new Array(32).fill(0);this._publicKey=zs()(new Uint8Array([s].concat(c.concat(o.getPublic().getX().toArray()).slice(-32))))}sign(e,t){return Lc(this,void 0,void 0,(function*(){const r=new(Ds().ec)(this.curve).keyFromPrivate(this._key).sign(t,{canonical:!0}),n=r.r.toString("hex",64)+r.s.toString("hex",64),i=e+n;return{bytes:e,sig:dc(n,Us.sig),prefixSig:dc(n,Dc[this.curve].sig),sbytes:i}}))}publicKey(){return Lc(this,void 0,void 0,(function*(){return dc(this._publicKey,Dc[this.curve].pk)}))}publicKeyHash(){return Lc(this,void 0,void 0,(function*(){return dc((0,Fa.hash)(new Uint8Array(this._publicKey),20),Dc[this.curve].pkh)}))}secretKey(){return Lc(this,void 0,void 0,(function*(){return dc(this._key,Dc[this.curve].sk)}))}}const zc=Bc.bind(null,"p256"),Uc=Bc.bind(null,"secp256k1");function Fc(e){const t=[];for(let r=0;r64)throw new qc(o.length);if(!Object.prototype.hasOwnProperty.call(Gc,r))throw new Vc(`Unsupported curve "${r}" expecting either "p256" or "secp256k1"`);const a=new Ns.ec(r);if(256!==(null===(n=a.n)||void 0===n?void 0:n.bitLength()))throw new Hc(`Invalid curve "${r}" with bit size "${null===(i=a.n)||void 0===i?void 0:i.bitLength()}" expecting bit size "256"`);const s=(new TextEncoder).encode(Gc[r]);let c=null,l=new Uint8Array,u=0;for(;0===u;){const e=new Cc.zU(Rc.SHA512,s).update(o).digest();c=new(Mc())(e.subarray(0,32)),l=e.subarray(32),c.isZero()||c.cmp(a.n)>=0?o=e:u++}const d=a.keyPair({});return d.priv=c,new e(d,l)}derive(t){const r=new Uint8Array(37);0!==(t&Zc)?r.set(this.keyPair.getPrivate().toArray(),1):r.set(this.keyPair.getPublic().encodeCompressed(),0),new DataView(r.buffer).setUint32(33,t);let n=new(Mc())(0),i=new Uint8Array,o=0;for(;0===o;){const e=new Cc.zU(Rc.SHA512,this.chainCode).update(r).digest();n=new(Mc())(e.subarray(0,32)),i=e.subarray(32),this.keyPair.ec.n&&n.cmp(this.keyPair.ec.n)<0&&(n=n.add(this.keyPair.getPrivate()).mod(this.keyPair.ec.n),n.isZero()||o++),r.set(i,1),r[0]=1}const a=this.keyPair.ec.keyPair({});return a.priv=n,new e(a,i)}derivePath(e){let t=this;for(const r of e)t=t.derive(r);return t}bytes(){if(!this.keyPair.priv)throw new os("missing private key");const e=this.keyPair.priv.toArray(),t=new Uint8Array(32);return t.set(e,t.length-e.length),t}};const Zc=2147483648;class Xc extends Array{static from(e){return super.from(e).map((e=>e>>>0))}static fromString(e){if(0===e.length)return new Xc;let t=e.split("/");const r=[];"m"===t[0]&&(t=t.slice(1));for(let n of t){if(0===n.length)throw new ts(e,": Invalid BIP32 path");let t=0;const i=n[n.length-1];"'"!==i&&"h"!==i&&"H"!==i||(t=Zc,n=n.slice(0,n.length-1));const o=(parseInt(n,10)|t)>>>0;r.push(o)}return Xc.from(r)}}class Jc{constructor(e,t){this.priv=e,this.chainCode=t}static fromSeed(e){const t="string"===typeof e?Fc(e):e;if(t.length<16||t.length>64)throw new qc(t.length);const r=(new TextEncoder).encode("ed25519 seed"),n=new Cc.zU(Rc.SHA512,r).update(t).digest();return new Jc((0,Ua._w)(n.subarray(0,32)).secretKey,n.subarray(32))}seed(){return this.priv.subarray(0,32)}derive(e){if(0===(e&Zc))throw new ts(e.toString(),": Non-hardened derivation path.");const t=new Uint8Array(37);t.set(this.seed(),1),new DataView(t.buffer).setUint32(33,e);const r=new Cc.zU(Rc.SHA512,this.chainCode).update(t).digest();return new Jc((0,Ua._w)(r.subarray(0,32)).secretKey,r.subarray(32))}derivePath(e){let t=this;for(const r of e)t=t.derive(r);return t}}class Qc{static fromFundraiser(e,t,r){if(!jc._I(r))throw new $c(r);const n=dc(jc.Z1(r,`${e}${t}`).slice(0,32),Us.edsk2);return new Qc(n)}static fromSecretKey(e,t){return Lc(this,void 0,void 0,(function*(){return new Qc(e,t)}))}static fromMnemonic({mnemonic:e,password:t="",derivationPath:r="44'/1729'/0'/0'",curve:n="ed25519"}){if(!jc._I(e))throw new $c(e);const i=((e,t,r)=>{const n=Xc.fromString(t);let i;switch(r){case"ed25519":return i=Jc.fromSeed(e).derivePath(n),dc(i.seed().slice(0,32),Us.edsk2);case"secp256k1":case"p256":{const t="secp256k1"===r?Us.spsk:Us.p2sk;let i=Yc.fromSeed(e,r);return i=i.derivePath(n),dc(new Uint8Array(i.keyPair.getPrivate().toArray()),t)}case"bip25519":throw new Kc;default:throw new Vc(`Unsupported curve "${r}" expecting one of the following "ed25519", "secp256k1", "p256"`)}})(jc.Z1(e,t),r,n);return new Qc(i)}constructor(e,t){const r="e"===e.substring(2,3);let n=e=>e;if(r){if(!t)throw new Wc("No passphrase provided to decrypt encrypted key");n=e=>{const r=zs()(e.slice(0,8)),n=e.slice(8),i=Tc.pbkdf2Sync(t,r,32768,32,"sha512");return(0,Ac.openSecretBox)(new Uint8Array(i),new Uint8Array(24),new Uint8Array(n))}}switch(e.substring(0,4)){case"edes":case"edsk":this._key=new Nc(e,r,n);break;case"spsk":case"spes":this._key=new Uc(e,r,n);break;case"p2sk":case"p2es":this._key=new zc(e,r,n);break;default:throw new os(`${ac(Hs.NO_PREFIX_MATCHED)} expecting one of the following '${Ls.EDESK}', '${Ls.EDSK}', '${Ls.SPSK}', '${Ls.SPESK}', '${Ls.P2SK}' or '${Ls.P2ESK}'.`)}}sign(e,t){return Lc(this,void 0,void 0,(function*(){let r=gc(e);"undefined"!==typeof t&&(r=vc(t,r));const n=(0,Fa.hash)(r,32);return this._key.sign(e,n)}))}publicKey(){return Lc(this,void 0,void 0,(function*(){return this._key.publicKey()}))}publicKeyHash(){return Lc(this,void 0,void 0,(function*(){return this._key.publicKeyHash()}))}secretKey(){return Lc(this,void 0,void 0,(function*(){return this._key.secretKey()}))}}const el="44'/1729'/?'/0'",tl={label:"Default - m/44'/1729'/?'/0'",value:el},rl=[tl,{label:"m/44'/1729'/0'/?'",value:"44'/1729'/0'/?'"},{label:"m/44'/1729'/?'/0'/0'",value:"44'/1729'/?'/0'/0'"},{label:"m/44'/1729'/0'/0'/?'",value:"44'/1729'/0'/0'/?'"}],nl=(e,t)=>e.replace("?",t.toString());var il,ol;!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const r of e)t[r]=r;return t},e.getValidEnumValues=t=>{const r=e.objectKeys(t).filter((e=>"number"!==typeof t[t[e]])),n={};for(const e of r)n[e]=t[e];return e.objectValues(n)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"===typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},e.find=(e,t)=>{for(const r of e)if(t(r))return r},e.isInteger="function"===typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"===typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"===typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"===typeof t?t.toString():t}(il||(il={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(ol||(ol={}));const al=il.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),sl=e=>{switch(typeof e){case"undefined":return al.undefined;case"string":return al.string;case"number":return isNaN(e)?al.nan:al.number;case"boolean":return al.boolean;case"function":return al.function;case"bigint":return al.bigint;case"symbol":return al.symbol;case"object":return Array.isArray(e)?al.array:null===e?al.null:e.then&&"function"===typeof e.then&&e.catch&&"function"===typeof e.catch?al.promise:"undefined"!==typeof Map&&e instanceof Map?al.map:"undefined"!==typeof Set&&e instanceof Set?al.set:"undefined"!==typeof Date&&e instanceof Date?al.date:al.object;default:return al.unknown}},cl=il.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ll extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},r={_errors:[]},n=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(n);else if("invalid_return_type"===i.code)n(i.returnTypeError);else if("invalid_arguments"===i.code)n(i.argumentsError);else if(0===i.path.length)r._errors.push(t(i));else{let e=r,n=0;for(;ne.message)){const t={},r=[];for(const n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):r.push(e(n));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}ll.create=e=>new ll(e);const ul=(e,t)=>{let r;switch(e.code){case cl.invalid_type:r=e.received===al.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case cl.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,il.jsonStringifyReplacer)}`;break;case cl.unrecognized_keys:r=`Unrecognized key(s) in object: ${il.joinValues(e.keys,", ")}`;break;case cl.invalid_union:r="Invalid input";break;case cl.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${il.joinValues(e.options)}`;break;case cl.invalid_enum_value:r=`Invalid enum value. Expected ${il.joinValues(e.options)}, received '${e.received}'`;break;case cl.invalid_arguments:r="Invalid function arguments";break;case cl.invalid_return_type:r="Invalid function return type";break;case cl.invalid_date:r="Invalid date";break;case cl.invalid_string:"object"===typeof e.validation?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,"number"===typeof e.validation.position&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:il.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case cl.too_small:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case cl.too_big:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case cl.custom:r="Invalid input";break;case cl.invalid_intersection_types:r="Intersection results could not be merged";break;case cl.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case cl.not_finite:r="Number must be finite";break;default:r=t.defaultError,il.assertNever(e)}return{message:r}};let dl=ul;function hl(){return dl}const fl=e=>{const{data:t,path:r,errorMaps:n,issueData:i}=e,o=[...r,...i.path||[]],a={...i,path:o};let s="";const c=n.filter((e=>!!e)).slice().reverse();for(const l of c)s=l(a,{data:t,defaultError:s}).message;return{...i,path:o,message:i.message||s}};function pl(e,t){const r=fl({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,hl(),ul].filter((e=>!!e))});e.common.issues.push(r)}class ml{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const r=[];for(const n of t){if("aborted"===n.status)return gl;"dirty"===n.status&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){const r=[];for(const n of t)r.push({key:await n.key,value:await n.value});return ml.mergeObjectSync(e,r)}static mergeObjectSync(e,t){const r={};for(const n of t){const{key:t,value:i}=n;if("aborted"===t.status)return gl;if("aborted"===i.status)return gl;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||"undefined"===typeof i.value&&!n.alwaysSet||(r[t.value]=i.value)}return{status:e.value,value:r}}}const gl=Object.freeze({status:"aborted"}),vl=e=>({status:"dirty",value:e}),yl=e=>({status:"valid",value:e}),bl=e=>"aborted"===e.status,wl=e=>"dirty"===e.status,xl=e=>"valid"===e.status,_l=e=>"undefined"!==typeof Promise&&e instanceof Promise;var Sl;!function(e){e.errToObj=e=>"string"===typeof e?{message:e}:e||{},e.toString=e=>"string"===typeof e?e:null===e||void 0===e?void 0:e.message}(Sl||(Sl={}));class kl{constructor(e,t,r,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const El=(e,t)=>{if(xl(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new ll(e.common.issues);return this._error=t,this._error}}};function Pl(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(e,t)=>"invalid_type"!==e.code?{message:t.defaultError}:"undefined"===typeof t.data?{message:null!==n&&void 0!==n?n:t.defaultError}:{message:null!==r&&void 0!==r?r:t.defaultError},description:i}}class Ol{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return sl(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:sl(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ml,ctx:{common:e.parent.common,data:e.data,parsedType:sl(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(_l(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const n={common:{issues:[],async:null!==(r=null===t||void 0===t?void 0:t.async)&&void 0!==r&&r,contextualErrorMap:null===t||void 0===t?void 0:t.errorMap},path:(null===t||void 0===t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sl(e)},i=this._parseSync({data:e,path:n.path,parent:n});return El(n,i)}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={common:{issues:[],contextualErrorMap:null===t||void 0===t?void 0:t.errorMap,async:!0},path:(null===t||void 0===t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sl(e)},n=this._parse({data:e,path:r.path,parent:r}),i=await(_l(n)?n:Promise.resolve(n));return El(r,i)}refine(e,t){const r=e=>"string"===typeof t||"undefined"===typeof t?{message:t}:"function"===typeof t?t(e):t;return this._refinement(((t,n)=>{const i=e(t),o=()=>n.addIssue({code:cl.custom,...r(t)});return"undefined"!==typeof Promise&&i instanceof Promise?i.then((e=>!!e||(o(),!1))):!!i||(o(),!1)}))}refinement(e,t){return this._refinement(((r,n)=>!!e(r)||(n.addIssue("function"===typeof t?t(r,n):t),!1)))}_refinement(e){return new pu({schema:this,typeName:Pu.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return mu.create(this,this._def)}nullable(){return gu.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yl.create(this,this._def)}promise(){return fu.create(this,this._def)}or(e){return Jl.create([this,e],this._def)}and(e){return ru.create(this,e,this._def)}transform(e){return new pu({...Pl(this._def),schema:this,typeName:Pu.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"===typeof e?e:()=>e;return new vu({...Pl(this._def),innerType:this,defaultValue:t,typeName:Pu.ZodDefault})}brand(){return new xu({typeName:Pu.ZodBranded,type:this,...Pl(this._def)})}catch(e){const t="function"===typeof e?e:()=>e;return new yu({...Pl(this._def),innerType:this,catchValue:t,typeName:Pu.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return _u.create(this,e)}readonly(){return Su.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Al=/^c[^\s-]{8,}$/i,Tl=/^[a-z][a-z0-9]*$/,jl=/^[0-9A-HJKMNP-TV-Z]{26}$/,Cl=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Rl=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Il;const Ml=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,Ll=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;class Nl extends Ol{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==al.string){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.string,received:t.parsedType}),gl}const t=new ml;let r;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(r=this._getOrReturnCtx(e,r),pl(r,{code:cl.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const n=e.data.length>a.value,i=e.data.lengthe.test(t)),{validation:t,code:cl.invalid_string,...Sl.errToObj(r)})}_addCheck(e){return new Nl({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Sl.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Sl.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Sl.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Sl.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Sl.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Sl.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Sl.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Sl.errToObj(e)})}datetime(e){var t;return"string"===typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:"undefined"===typeof(null===e||void 0===e?void 0:e.precision)?null:null===e||void 0===e?void 0:e.precision,offset:null!==(t=null===e||void 0===e?void 0:e.offset)&&void 0!==t&&t,...Sl.errToObj(null===e||void 0===e?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Sl.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null===t||void 0===t?void 0:t.position,...Sl.errToObj(null===t||void 0===t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Sl.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Sl.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Sl.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Sl.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Sl.errToObj(t)})}nonempty(e){return this.min(1,Sl.errToObj(e))}trim(){return new Nl({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Nl({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Nl({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuen?r:n;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Nl.create=e=>{var t;return new Nl({checks:[],typeName:Pu.ZodString,coerce:null!==(t=null===e||void 0===e?void 0:e.coerce)&&void 0!==t&&t,...Pl(e)})};class Bl extends Ol{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==al.number){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.number,received:t.parsedType}),gl}let t;const r=new ml;for(const n of this._def.checks)if("int"===n.kind)il.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),pl(t,{code:cl.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty());else if("min"===n.kind){(n.inclusive?e.datan.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),pl(t,{code:cl.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty())}else"multipleOf"===n.kind?0!==Dl(e.data,n.value)&&(t=this._getOrReturnCtx(e,t),pl(t,{code:cl.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),pl(t,{code:cl.not_finite,message:n.message}),r.dirty()):il.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Sl.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Sl.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Sl.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Sl.toString(t))}setLimit(e,t,r,n){return new Bl({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:Sl.toString(n)}]})}_addCheck(e){return new Bl({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Sl.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Sl.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Sl.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Sl.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Sl.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Sl.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Sl.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Sl.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Sl.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&il.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if("finite"===r.kind||"int"===r.kind||"multipleOf"===r.kind)return!0;"min"===r.kind?(null===t||r.value>t)&&(t=r.value):"max"===r.kind&&(null===e||r.valuenew Bl({checks:[],typeName:Pu.ZodNumber,coerce:(null===e||void 0===e?void 0:e.coerce)||!1,...Pl(e)});class zl extends Ol{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==al.bigint){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.bigint,received:t.parsedType}),gl}let t;const r=new ml;for(const n of this._def.checks)if("min"===n.kind){(n.inclusive?e.datan.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),pl(t,{code:cl.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty())}else"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),pl(t,{code:cl.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):il.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Sl.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Sl.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Sl.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Sl.toString(t))}setLimit(e,t,r,n){return new zl({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:Sl.toString(n)}]})}_addCheck(e){return new zl({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Sl.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Sl.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Sl.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Sl.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Sl.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new zl({checks:[],typeName:Pu.ZodBigInt,coerce:null!==(t=null===e||void 0===e?void 0:e.coerce)&&void 0!==t&&t,...Pl(e)})};class Ul extends Ol{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==al.boolean){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.boolean,received:t.parsedType}),gl}return yl(e.data)}}Ul.create=e=>new Ul({typeName:Pu.ZodBoolean,coerce:(null===e||void 0===e?void 0:e.coerce)||!1,...Pl(e)});class Fl extends Ol{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==al.date){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.date,received:t.parsedType}),gl}if(isNaN(e.data.getTime())){return pl(this._getOrReturnCtx(e),{code:cl.invalid_date}),gl}const t=new ml;let r;for(const n of this._def.checks)"min"===n.kind?e.data.getTime()n.value&&(r=this._getOrReturnCtx(e,r),pl(r,{code:cl.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),t.dirty()):il.assertNever(n);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Fl({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Sl.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Sl.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Fl({checks:[],coerce:(null===e||void 0===e?void 0:e.coerce)||!1,typeName:Pu.ZodDate,...Pl(e)});class $l extends Ol{_parse(e){if(this._getType(e)!==al.symbol){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.symbol,received:t.parsedType}),gl}return yl(e.data)}}$l.create=e=>new $l({typeName:Pu.ZodSymbol,...Pl(e)});class Hl extends Ol{_parse(e){if(this._getType(e)!==al.undefined){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.undefined,received:t.parsedType}),gl}return yl(e.data)}}Hl.create=e=>new Hl({typeName:Pu.ZodUndefined,...Pl(e)});class Vl extends Ol{_parse(e){if(this._getType(e)!==al.null){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.null,received:t.parsedType}),gl}return yl(e.data)}}Vl.create=e=>new Vl({typeName:Pu.ZodNull,...Pl(e)});class ql extends Ol{constructor(){super(...arguments),this._any=!0}_parse(e){return yl(e.data)}}ql.create=e=>new ql({typeName:Pu.ZodAny,...Pl(e)});class Kl extends Ol{constructor(){super(...arguments),this._unknown=!0}_parse(e){return yl(e.data)}}Kl.create=e=>new Kl({typeName:Pu.ZodUnknown,...Pl(e)});class Wl extends Ol{_parse(e){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.never,received:t.parsedType}),gl}}Wl.create=e=>new Wl({typeName:Pu.ZodNever,...Pl(e)});class Gl extends Ol{_parse(e){if(this._getType(e)!==al.undefined){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.void,received:t.parsedType}),gl}return yl(e.data)}}Gl.create=e=>new Gl({typeName:Pu.ZodVoid,...Pl(e)});class Yl extends Ol{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==al.array)return pl(t,{code:cl.invalid_type,expected:al.array,received:t.parsedType}),gl;if(null!==n.exactLength){const e=t.data.length>n.exactLength.value,i=t.data.lengthn.maxLength.value&&(pl(t,{code:cl.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map(((e,r)=>n.type._parseAsync(new kl(t,e,t.path,r))))).then((e=>ml.mergeArray(r,e)));const i=[...t.data].map(((e,r)=>n.type._parseSync(new kl(t,e,t.path,r))));return ml.mergeArray(r,i)}get element(){return this._def.type}min(e,t){return new Yl({...this._def,minLength:{value:e,message:Sl.toString(t)}})}max(e,t){return new Yl({...this._def,maxLength:{value:e,message:Sl.toString(t)}})}length(e,t){return new Yl({...this._def,exactLength:{value:e,message:Sl.toString(t)}})}nonempty(e){return this.min(1,e)}}function Zl(e){if(e instanceof Xl){const t={};for(const r in e.shape){const n=e.shape[r];t[r]=mu.create(Zl(n))}return new Xl({...e._def,shape:()=>t})}return e instanceof Yl?new Yl({...e._def,type:Zl(e.element)}):e instanceof mu?mu.create(Zl(e.unwrap())):e instanceof gu?gu.create(Zl(e.unwrap())):e instanceof nu?nu.create(e.items.map((e=>Zl(e)))):e}Yl.create=(e,t)=>new Yl({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Pu.ZodArray,...Pl(t)});class Xl extends Ol{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=il.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==al.object){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.object,received:t.parsedType}),gl}const{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof Wl&&"strip"===this._def.unknownKeys))for(const s in r.data)i.includes(s)||o.push(s);const a=[];for(const s of i){const e=n[s],t=r.data[s];a.push({key:{status:"valid",value:s},value:e._parse(new kl(r,t,r.path,s)),alwaysSet:s in r.data})}if(this._def.catchall instanceof Wl){const e=this._def.unknownKeys;if("passthrough"===e)for(const t of o)a.push({key:{status:"valid",value:t},value:{status:"valid",value:r.data[t]}});else if("strict"===e)o.length>0&&(pl(r,{code:cl.unrecognized_keys,keys:o}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of o){const n=r.data[t];a.push({key:{status:"valid",value:t},value:e._parse(new kl(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of a){const r=await t.key;e.push({key:r,value:await t.value,alwaysSet:t.alwaysSet})}return e})).then((e=>ml.mergeObjectSync(t,e))):ml.mergeObjectSync(t,a)}get shape(){return this._def.shape()}strict(e){return Sl.errToObj,new Xl({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,r)=>{var n,i,o,a;const s=null!==(o=null===(i=(n=this._def).errorMap)||void 0===i?void 0:i.call(n,t,r).message)&&void 0!==o?o:r.defaultError;return"unrecognized_keys"===t.code?{message:null!==(a=Sl.errToObj(e).message)&&void 0!==a?a:s}:{message:s}}}:{}})}strip(){return new Xl({...this._def,unknownKeys:"strip"})}passthrough(){return new Xl({...this._def,unknownKeys:"passthrough"})}extend(e){return new Xl({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Xl({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Pu.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Xl({...this._def,catchall:e})}pick(e){const t={};return il.objectKeys(e).forEach((r=>{e[r]&&this.shape[r]&&(t[r]=this.shape[r])})),new Xl({...this._def,shape:()=>t})}omit(e){const t={};return il.objectKeys(this.shape).forEach((r=>{e[r]||(t[r]=this.shape[r])})),new Xl({...this._def,shape:()=>t})}deepPartial(){return Zl(this)}partial(e){const t={};return il.objectKeys(this.shape).forEach((r=>{const n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()})),new Xl({...this._def,shape:()=>t})}required(e){const t={};return il.objectKeys(this.shape).forEach((r=>{if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof mu;)e=e._def.innerType;t[r]=e}})),new Xl({...this._def,shape:()=>t})}keyof(){return uu(il.objectKeys(this.shape))}}Xl.create=(e,t)=>new Xl({shape:()=>e,unknownKeys:"strip",catchall:Wl.create(),typeName:Pu.ZodObject,...Pl(t)}),Xl.strictCreate=(e,t)=>new Xl({shape:()=>e,unknownKeys:"strict",catchall:Wl.create(),typeName:Pu.ZodObject,...Pl(t)}),Xl.lazycreate=(e,t)=>new Xl({shape:e,unknownKeys:"strip",catchall:Wl.create(),typeName:Pu.ZodObject,...Pl(t)});class Jl extends Ol{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map((async e=>{const r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const r=e.map((e=>new ll(e.ctx.common.issues)));return pl(t,{code:cl.invalid_union,unionErrors:r}),gl}));{let e;const n=[];for(const o of r){const r={...t,common:{...t.common,issues:[]},parent:null},i=o._parseSync({data:t.data,path:t.path,parent:r});if("valid"===i.status)return i;"dirty"!==i.status||e||(e={result:i,ctx:r}),r.common.issues.length&&n.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=n.map((e=>new ll(e)));return pl(t,{code:cl.invalid_union,unionErrors:i}),gl}}get options(){return this._def.options}}Jl.create=(e,t)=>new Jl({options:e,typeName:Pu.ZodUnion,...Pl(t)});const Ql=e=>e instanceof cu?Ql(e.schema):e instanceof pu?Ql(e.innerType()):e instanceof lu?[e.value]:e instanceof du?e.options:e instanceof hu?Object.keys(e.enum):e instanceof vu?Ql(e._def.innerType):e instanceof Hl?[void 0]:e instanceof Vl?[null]:null;class eu extends Ol{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==al.object)return pl(t,{code:cl.invalid_type,expected:al.object,received:t.parsedType}),gl;const r=this.discriminator,n=t.data[r],i=this.optionsMap.get(n);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(pl(t,{code:cl.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),gl)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){const n=new Map;for(const i of t){const t=Ql(i.shape[e]);if(!t)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const r of t){if(n.has(r))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(r)}`);n.set(r,i)}}return new eu({typeName:Pu.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...Pl(r)})}}function tu(e,t){const r=sl(e),n=sl(t);if(e===t)return{valid:!0,data:e};if(r===al.object&&n===al.object){const r=il.objectKeys(t),n=il.objectKeys(e).filter((e=>-1!==r.indexOf(e))),i={...e,...t};for(const o of n){const r=tu(e[o],t[o]);if(!r.valid)return{valid:!1};i[o]=r.data}return{valid:!0,data:i}}if(r===al.array&&n===al.array){if(e.length!==t.length)return{valid:!1};const r=[];for(let n=0;n{if(bl(e)||bl(n))return gl;const i=tu(e.value,n.value);return i.valid?((wl(e)||wl(n))&&t.dirty(),{status:t.value,value:i.data}):(pl(r,{code:cl.invalid_intersection_types}),gl)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then((([e,t])=>n(e,t))):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ru.create=(e,t,r)=>new ru({left:e,right:t,typeName:Pu.ZodIntersection,...Pl(r)});class nu extends Ol{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==al.array)return pl(r,{code:cl.invalid_type,expected:al.array,received:r.parsedType}),gl;if(r.data.lengththis._def.items.length&&(pl(r,{code:cl.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const n=[...r.data].map(((e,t)=>{const n=this._def.items[t]||this._def.rest;return n?n._parse(new kl(r,e,r.path,t)):null})).filter((e=>!!e));return r.common.async?Promise.all(n).then((e=>ml.mergeArray(t,e))):ml.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new nu({...this._def,rest:e})}}nu.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new nu({items:e,typeName:Pu.ZodTuple,rest:null,...Pl(t)})};class iu extends Ol{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==al.object)return pl(r,{code:cl.invalid_type,expected:al.object,received:r.parsedType}),gl;const n=[],i=this._def.keyType,o=this._def.valueType;for(const a in r.data)n.push({key:i._parse(new kl(r,a,r.path,a)),value:o._parse(new kl(r,r.data[a],r.path,a))});return r.common.async?ml.mergeObjectAsync(t,n):ml.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new iu(t instanceof Ol?{keyType:e,valueType:t,typeName:Pu.ZodRecord,...Pl(r)}:{keyType:Nl.create(),valueType:e,typeName:Pu.ZodRecord,...Pl(t)})}}class ou extends Ol{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==al.map)return pl(r,{code:cl.invalid_type,expected:al.map,received:r.parsedType}),gl;const n=this._def.keyType,i=this._def.valueType,o=[...r.data.entries()].map((([e,t],o)=>({key:n._parse(new kl(r,e,r.path,[o,"key"])),value:i._parse(new kl(r,t,r.path,[o,"value"]))})));if(r.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const r of o){const n=await r.key,i=await r.value;if("aborted"===n.status||"aborted"===i.status)return gl;"dirty"!==n.status&&"dirty"!==i.status||t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const r of o){const n=r.key,i=r.value;if("aborted"===n.status||"aborted"===i.status)return gl;"dirty"!==n.status&&"dirty"!==i.status||t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}ou.create=(e,t,r)=>new ou({valueType:t,keyType:e,typeName:Pu.ZodMap,...Pl(r)});class au extends Ol{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==al.set)return pl(r,{code:cl.invalid_type,expected:al.set,received:r.parsedType}),gl;const n=this._def;null!==n.minSize&&r.data.sizen.maxSize.value&&(pl(r,{code:cl.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());const i=this._def.valueType;function o(e){const r=new Set;for(const n of e){if("aborted"===n.status)return gl;"dirty"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}const a=[...r.data.values()].map(((e,t)=>i._parse(new kl(r,e,r.path,t))));return r.common.async?Promise.all(a).then((e=>o(e))):o(a)}min(e,t){return new au({...this._def,minSize:{value:e,message:Sl.toString(t)}})}max(e,t){return new au({...this._def,maxSize:{value:e,message:Sl.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}au.create=(e,t)=>new au({valueType:e,minSize:null,maxSize:null,typeName:Pu.ZodSet,...Pl(t)});class su extends Ol{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==al.function)return pl(t,{code:cl.invalid_type,expected:al.function,received:t.parsedType}),gl;function r(e,r){return fl({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,hl(),ul].filter((e=>!!e)),issueData:{code:cl.invalid_arguments,argumentsError:r}})}function n(e,r){return fl({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,hl(),ul].filter((e=>!!e)),issueData:{code:cl.invalid_return_type,returnTypeError:r}})}const i={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof fu){const e=this;return yl((async function(...t){const a=new ll([]),s=await e._def.args.parseAsync(t,i).catch((e=>{throw a.addIssue(r(t,e)),a})),c=await Reflect.apply(o,this,s),l=await e._def.returns._def.type.parseAsync(c,i).catch((e=>{throw a.addIssue(n(c,e)),a}));return l}))}{const e=this;return yl((function(...t){const a=e._def.args.safeParse(t,i);if(!a.success)throw new ll([r(t,a.error)]);const s=Reflect.apply(o,this,a.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new ll([n(s,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new su({...this._def,args:nu.create(e).rest(Kl.create())})}returns(e){return new su({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new su({args:e||nu.create([]).rest(Kl.create()),returns:t||Kl.create(),typeName:Pu.ZodFunction,...Pl(r)})}}class cu extends Ol{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}cu.create=(e,t)=>new cu({getter:e,typeName:Pu.ZodLazy,...Pl(t)});class lu extends Ol{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return pl(t,{received:t.data,code:cl.invalid_literal,expected:this._def.value}),gl}return{status:"valid",value:e.data}}get value(){return this._def.value}}function uu(e,t){return new du({values:e,typeName:Pu.ZodEnum,...Pl(t)})}lu.create=(e,t)=>new lu({value:e,typeName:Pu.ZodLiteral,...Pl(t)});class du extends Ol{_parse(e){if("string"!==typeof e.data){const t=this._getOrReturnCtx(e),r=this._def.values;return pl(t,{expected:il.joinValues(r),received:t.parsedType,code:cl.invalid_type}),gl}if(-1===this._def.values.indexOf(e.data)){const t=this._getOrReturnCtx(e),r=this._def.values;return pl(t,{received:t.data,code:cl.invalid_enum_value,options:r}),gl}return yl(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return du.create(e)}exclude(e){return du.create(this.options.filter((t=>!e.includes(t))))}}du.create=uu;class hu extends Ol{_parse(e){const t=il.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==al.string&&r.parsedType!==al.number){const e=il.objectValues(t);return pl(r,{expected:il.joinValues(e),received:r.parsedType,code:cl.invalid_type}),gl}if(-1===t.indexOf(e.data)){const e=il.objectValues(t);return pl(r,{received:r.data,code:cl.invalid_enum_value,options:e}),gl}return yl(e.data)}get enum(){return this._def.values}}hu.create=(e,t)=>new hu({values:e,typeName:Pu.ZodNativeEnum,...Pl(t)});class fu extends Ol{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==al.promise&&!1===t.common.async)return pl(t,{code:cl.invalid_type,expected:al.promise,received:t.parsedType}),gl;const r=t.parsedType===al.promise?t.data:Promise.resolve(t.data);return yl(r.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}fu.create=(e,t)=>new fu({type:e,typeName:Pu.ZodPromise,...Pl(t)});class pu extends Ol{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Pu.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e),n=this._def.effect||null,i={addIssue:e=>{pl(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===n.type){const e=n.transform(r.data,i);return r.common.issues.length?{status:"dirty",value:r.data}:r.common.async?Promise.resolve(e).then((e=>this._def.schema._parseAsync({data:e,path:r.path,parent:r}))):this._def.schema._parseSync({data:e,path:r.path,parent:r})}if("refinement"===n.type){const e=e=>{const t=n.refinement(e,i);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===r.common.async){const n=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===n.status?gl:("dirty"===n.status&&t.dirty(),e(n.value),{status:t.value,value:n.value})}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((r=>"aborted"===r.status?gl:("dirty"===r.status&&t.dirty(),e(r.value).then((()=>({status:t.value,value:r.value}))))))}if("transform"===n.type){if(!1===r.common.async){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!xl(e))return e;const o=n.transform(e.value,i);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>xl(e)?Promise.resolve(n.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}il.assertNever(n)}}pu.create=(e,t,r)=>new pu({schema:e,typeName:Pu.ZodEffects,effect:t,...Pl(r)}),pu.createWithPreprocess=(e,t,r)=>new pu({schema:t,effect:{type:"preprocess",transform:e},typeName:Pu.ZodEffects,...Pl(r)});class mu extends Ol{_parse(e){return this._getType(e)===al.undefined?yl(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}mu.create=(e,t)=>new mu({innerType:e,typeName:Pu.ZodOptional,...Pl(t)});class gu extends Ol{_parse(e){return this._getType(e)===al.null?yl(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}gu.create=(e,t)=>new gu({innerType:e,typeName:Pu.ZodNullable,...Pl(t)});class vu extends Ol{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;return t.parsedType===al.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}vu.create=(e,t)=>new vu({innerType:e,typeName:Pu.ZodDefault,defaultValue:"function"===typeof t.default?t.default:()=>t.default,...Pl(t)});class yu extends Ol{_parse(e){const{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return _l(n)?n.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new ll(r.common.issues)},input:r.data})}))):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new ll(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}yu.create=(e,t)=>new yu({innerType:e,typeName:Pu.ZodCatch,catchValue:"function"===typeof t.catch?t.catch:()=>t.catch,...Pl(t)});class bu extends Ol{_parse(e){if(this._getType(e)!==al.nan){const t=this._getOrReturnCtx(e);return pl(t,{code:cl.invalid_type,expected:al.nan,received:t.parsedType}),gl}return{status:"valid",value:e.data}}}bu.create=e=>new bu({typeName:Pu.ZodNaN,...Pl(e)});const wu=Symbol("zod_brand");class xu extends Ol{_parse(e){const{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class _u extends Ol{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?gl:"dirty"===e.status?(t.dirty(),vl(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})()}{const e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?gl:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new _u({in:e,out:t,typeName:Pu.ZodPipeline})}}class Su extends Ol{_parse(e){const t=this._def.innerType._parse(e);return xl(t)&&(t.value=Object.freeze(t.value)),t}}Su.create=(e,t)=>new Su({innerType:e,typeName:Pu.ZodReadonly,...Pl(t)});const ku=(e,t={},r)=>e?ql.create().superRefine(((n,i)=>{var o,a;if(!e(n)){const e="function"===typeof t?t(n):"string"===typeof t?{message:t}:t,s=null===(a=null!==(o=e.fatal)&&void 0!==o?o:r)||void 0===a||a,c="string"===typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:s})}})):ql.create(),Eu={object:Xl.lazycreate};var Pu;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Pu||(Pu={}));const Ou=Nl.create,Au=Bl.create,Tu=bu.create,ju=zl.create,Cu=Ul.create,Ru=Fl.create,Iu=$l.create,Mu=Hl.create,Lu=Vl.create,Nu=ql.create,Du=Kl.create,Bu=Wl.create,zu=Gl.create,Uu=Yl.create,Fu=Xl.create,$u=Xl.strictCreate,Hu=Jl.create,Vu=eu.create,qu=ru.create,Ku=nu.create,Wu=iu.create,Gu=ou.create,Yu=au.create,Zu=su.create,Xu=cu.create,Ju=lu.create,Qu=du.create,ed=hu.create,td=fu.create,rd=pu.create,nd=mu.create,id=gu.create,od=pu.createWithPreprocess,ad=_u.create,sd={string:e=>Nl.create({...e,coerce:!0}),number:e=>Bl.create({...e,coerce:!0}),boolean:e=>Ul.create({...e,coerce:!0}),bigint:e=>zl.create({...e,coerce:!0}),date:e=>Fl.create({...e,coerce:!0})},cd=gl;var ld=Object.freeze({__proto__:null,defaultErrorMap:ul,setErrorMap:function(e){dl=e},getErrorMap:hl,makeIssue:fl,EMPTY_PATH:[],addIssueToContext:pl,ParseStatus:ml,INVALID:gl,DIRTY:vl,OK:yl,isAborted:bl,isDirty:wl,isValid:xl,isAsync:_l,get util(){return il},get objectUtil(){return ol},ZodParsedType:al,getParsedType:sl,ZodType:Ol,ZodString:Nl,ZodNumber:Bl,ZodBigInt:zl,ZodBoolean:Ul,ZodDate:Fl,ZodSymbol:$l,ZodUndefined:Hl,ZodNull:Vl,ZodAny:ql,ZodUnknown:Kl,ZodNever:Wl,ZodVoid:Gl,ZodArray:Yl,ZodObject:Xl,ZodUnion:Jl,ZodDiscriminatedUnion:eu,ZodIntersection:ru,ZodTuple:nu,ZodRecord:iu,ZodMap:ou,ZodSet:au,ZodFunction:su,ZodLazy:cu,ZodLiteral:lu,ZodEnum:du,ZodNativeEnum:hu,ZodPromise:fu,ZodEffects:pu,ZodTransformer:pu,ZodOptional:mu,ZodNullable:gu,ZodDefault:vu,ZodCatch:yu,ZodNaN:bu,BRAND:wu,ZodBranded:xu,ZodPipeline:_u,ZodReadonly:Su,custom:ku,Schema:Ol,ZodSchema:Ol,late:Eu,get ZodFirstPartyTypeKind(){return Pu},coerce:sd,any:Nu,array:Uu,bigint:ju,boolean:Cu,date:Ru,discriminatedUnion:Vu,effect:rd,enum:Qu,function:Zu,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>ku((t=>t instanceof e),t),intersection:qu,lazy:Xu,literal:Ju,map:Gu,nan:Tu,nativeEnum:ed,never:Bu,null:Lu,nullable:id,number:Au,object:Fu,oboolean:()=>Cu().optional(),onumber:()=>Au().optional(),optional:nd,ostring:()=>Ou().optional(),pipeline:ad,preprocess:od,promise:td,record:Wu,set:Yu,strictObject:$u,string:Ou,symbol:Iu,transformer:rd,tuple:Ku,undefined:Mu,union:Hu,unknown:Du,void:zu,NEVER:cd,ZodIssueCode:cl,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:ll});const ud=ld.object({address:ld.string()}),dd=e=>{if(fd(e))return md(e);if(pd(e))return gd(e);throw new Error(`Cannot parse address type: ${e}`)},hd=e=>Qs(e)===Hs.VALID,fd=e=>hd(e)&&e.match(/^KT1\w+/),pd=e=>hd(e)&&e.match(/^tz[1234]\w+/),md=e=>{if(fd(e))return{type:"contract",pkh:e};throw new Error(`Invalid contract address: ${e}`)},gd=e=>{if(pd(e))return{type:"implicit",pkh:e};throw new Error(`Invalid implicit address: ${e}`)},vd=(e,t,r,n,i,o)=>({curve:"ed25519",derivationPath:r,derivationPathPattern:n,pk:e,address:gd(t),seedFingerPrint:i,label:o,type:"mnemonic"});var yd=r(5121),bd=r.n(yd);const wd={},xd={},_d=(e,t)=>{xd[e]=t},Sd=e=>{class t extends Error{constructor(r,n,i){if(super(r||e,i),Object.setPrototypeOf(this,t.prototype),this.name=e,n)for(const e in n)this[e]=n[e];if(i&&function(e){return"object"===typeof e}(i)&&"cause"in i&&!("cause"in this)){const e=i.cause;this.cause=e,"stack"in e&&(this.stack=this.stack+"\nCAUSE: "+e.stack)}}}return wd[e]=t,t};Sd("AccountNameRequired"),Sd("AccountNotSupported"),Sd("AmountRequired"),Sd("BluetoothRequired"),Sd("BtcUnmatchedApp"),Sd("CantOpenDevice"),Sd("CashAddrNotSupported"),Sd("ClaimRewardsFeesWarning"),Sd("CurrencyNotSupported"),Sd("DeviceAppVerifyNotSupported"),Sd("DeviceGenuineSocketEarlyClose"),Sd("DeviceNotGenuine"),Sd("DeviceOnDashboardExpected"),Sd("DeviceOnDashboardUnexpected"),Sd("DeviceInOSUExpected"),Sd("DeviceHalted"),Sd("DeviceNameInvalid"),Sd("DeviceSocketFail"),Sd("DeviceSocketNoBulkStatus");const kd=Sd("LockedDeviceError"),Ed=(Sd("UnresponsiveDeviceError"),Sd("DisconnectedDevice")),Pd=Sd("DisconnectedDeviceDuringOperation"),Od=(Sd("DeviceExtractOnboardingStateError"),Sd("DeviceOnboardingStatePollingError"),Sd("EnpointConfig"),Sd("EthAppPleaseEnableContractData"),Sd("FeeEstimationFailed"),Sd("FirmwareNotRecognized"),Sd("HardResetFail"),Sd("InvalidXRPTag"),Sd("InvalidAddress"),Sd("InvalidNonce"),Sd("InvalidAddressBecauseDestinationIsAlsoSource"),Sd("LatestMCUInstalledError"),Sd("UnknownMCU"),Sd("LedgerAPIError"),Sd("LedgerAPIErrorWithMessage"),Sd("LedgerAPINotAvailable"),Sd("ManagerAppAlreadyInstalled"),Sd("ManagerAppRelyOnBTC"),Sd("ManagerAppDepInstallRequired"),Sd("ManagerAppDepUninstallRequired"),Sd("ManagerDeviceLocked"),Sd("ManagerFirmwareNotEnoughSpace"),Sd("ManagerNotEnoughSpace"),Sd("ManagerUninstallBTCDep"),Sd("NetworkDown"),Sd("NoAddressesFound"),Sd("NotEnoughBalance"),Sd("NotEnoughBalanceToDelegate"),Sd("NotEnoughBalanceInParentAccount"),Sd("NotEnoughSpendableBalance"),Sd("NotEnoughBalanceBecauseDestinationNotCreated"),Sd("NoAccessToCamera"),Sd("NotEnoughGas"),Sd("NotEnoughGasSwap"),Sd("NotSupportedLegacyAddress"),Sd("GasLessThanEstimate"),Sd("PriorityFeeTooLow"),Sd("PriorityFeeTooHigh"),Sd("PriorityFeeHigherThanMaxFee"),Sd("MaxFeeTooLow"),Sd("PasswordsDontMatch"),Sd("PasswordIncorrect"),Sd("RecommendSubAccountsToEmpty"),Sd("RecommendUndelegation"),Sd("TimeoutTagged"),Sd("UnexpectedBootloader"),Sd("MCUNotGenuineToDashboard"),Sd("RecipientRequired"),Sd("UnavailableTezosOriginatedAccountReceive"),Sd("UnavailableTezosOriginatedAccountSend"),Sd("UpdateFetchFileFail"),Sd("UpdateIncorrectHash"),Sd("UpdateIncorrectSig"),Sd("UpdateYourApp"),Sd("UserRefusedDeviceNameChange"),Sd("UserRefusedAddress"),Sd("UserRefusedFirmwareUpdate"),Sd("UserRefusedAllowManager"),Sd("UserRefusedOnDevice"),Sd("TransportOpenUserCancelled")),Ad=Sd("TransportInterfaceNotAvailable"),Td=Sd("TransportRaceCondition"),jd=Sd("TransportWebUSBGestureRequired");Sd("TransactionHasBeenValidatedError"),Sd("DeviceShouldStayInApp"),Sd("WebsocketConnectionError"),Sd("WebsocketConnectionFailed"),Sd("WrongDeviceForAccount"),Sd("WrongAppForCurrency"),Sd("ETHAddressNonEIP"),Sd("CantScanQRCode"),Sd("FeeNotLoaded"),Sd("FeeRequired"),Sd("FeeTooHigh"),Sd("PendingOperation"),Sd("SyncError"),Sd("PairingFailed"),Sd("PeerRemovedPairing"),Sd("GenuineCheckFailed"),Sd("LedgerAPI4xx"),Sd("LedgerAPI5xx"),Sd("FirmwareOrAppUpdateRequired"),Sd("OpReturnSizeLimit"),Sd("DustLimit"),Sd("LanguageNotFound"),Sd("NoDBPathGiven"),Sd("DBWrongPassword"),Sd("DBNotReset");var Cd;!function(e){e.Unknown="Unknown",e.LocationServicesDisabled="LocationServicesDisabled",e.LocationServicesUnauthorized="LocationServicesUnauthorized",e.BluetoothScanStartFailed="BluetoothScanStartFailed"}(Cd||(Cd={}));class Rd extends Error{constructor(e,t){const r="TransportError";super(e||r),this.name=r,this.message=e,this.stack=new Error(e).stack,this.id=t}}_d("TransportError",(e=>new Rd(e.message,e.id)));const Id={ACCESS_CONDITION_NOT_FULFILLED:38916,ALGORITHM_NOT_SUPPORTED:38020,CLA_NOT_SUPPORTED:28160,CODE_BLOCKED:38976,CODE_NOT_INITIALIZED:38914,COMMAND_INCOMPATIBLE_FILE_STRUCTURE:27009,CONDITIONS_OF_USE_NOT_SATISFIED:27013,CONTRADICTION_INVALIDATION:38928,CONTRADICTION_SECRET_CODE_STATUS:38920,CUSTOM_IMAGE_BOOTLOADER:26159,CUSTOM_IMAGE_EMPTY:26158,FILE_ALREADY_EXISTS:27273,FILE_NOT_FOUND:37892,GP_AUTH_FAILED:25344,HALTED:28586,INCONSISTENT_FILE:37896,INCORRECT_DATA:27264,INCORRECT_LENGTH:26368,INCORRECT_P1_P2:27392,INS_NOT_SUPPORTED:27904,DEVICE_NOT_ONBOARDED:27911,DEVICE_NOT_ONBOARDED_2:26129,INVALID_KCV:38021,INVALID_OFFSET:37890,LICENSING:28482,LOCKED_DEVICE:21781,MAX_VALUE_REACHED:38992,MEMORY_PROBLEM:37440,MISSING_CRITICAL_PARAMETER:26624,NO_EF_SELECTED:37888,NOT_ENOUGH_MEMORY_SPACE:27268,OK:36864,PIN_REMAINING_ATTEMPTS:25536,REFERENCED_DATA_NOT_FOUND:27272,SECURITY_STATUS_NOT_SATISFIED:27010,TECHNICAL_PROBLEM:28416,UNKNOWN_APDU:27906,USER_REFUSED_ON_DEVICE:21761,NOT_ENOUGH_SPACE:20738};function Md(e){const t=Object.keys(Id).find((t=>Id[t]===e))||"UNKNOWN_ERROR",r=function(e){switch(e){case 26368:return"Incorrect length";case 26624:return"Missing critical parameter";case 27010:return"Security not satisfied (dongle locked or have invalid access rights)";case 27013:return"Condition of use not satisfied (denied by the user?)";case 27264:return"Invalid data received";case 27392:return"Invalid parameter received";case 21781:return"Locked device"}if(28416<=e&&e<=28671)return"Internal error, please report"}(e)||t,n=`Ledger device: ${r} (0x${e.toString(16)})`;if(e===Id.LOCKED_DEVICE)throw new kd(n);this.name="TransportStatusError",this.message=n,this.stack=new Error(n).stack,this.statusCode=e,this.statusText=t}Md.prototype=new Error,_d("TransportStatusError",(e=>new Md(e.statusCode)));var Ld=r(261).Buffer,Nd=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class Dd{constructor(){this.exchangeTimeout=3e4,this.unresponsiveTimeout=15e3,this.deviceModel=null,this._events=new(bd()),this.send=(e,t,r,n,i=Ld.alloc(0),o=[Id.OK])=>Nd(this,void 0,void 0,(function*(){if(i.length>=256)throw new Rd("data.length exceed 256 bytes limit. Got: "+i.length,"DataLengthTooBig");const a=yield this.exchange(Ld.concat([Ld.from([e,t,r,n]),Ld.from([i.length]),i])),s=a.readUInt16BE(a.length-2);if(!o.some((e=>e===s)))throw new Md(s);return a})),this.exchangeAtomicImpl=e=>Nd(this,void 0,void 0,(function*(){if(this.exchangeBusyPromise)throw new Td("An action was already pending on the Ledger device. Please deny or reconnect.");let t;const r=new Promise((e=>{t=e}));this.exchangeBusyPromise=r;let n=!1;const i=setTimeout((()=>{n=!0,this.emit("unresponsive")}),this.unresponsiveTimeout);try{const t=yield e();return n&&this.emit("responsive"),t}finally{clearTimeout(i),t&&t(),this.exchangeBusyPromise=null}})),this._appAPIlock=null}exchange(e){throw new Error("exchange not implemented")}exchangeBulk(e,t){let r=!1;return(()=>Nd(this,void 0,void 0,(function*(){if(!r)for(const n of e){const e=yield this.exchange(n);if(r)return;const i=e.readUInt16BE(e.length-2);if(i!==Id.OK)throw new Md(i);t.next(e)}})))().then((()=>!r&&t.complete()),(e=>!r&&t.error(e))),{unsubscribe:()=>{r=!0}}}setScrambleKey(e){}close(){return Promise.resolve()}on(e,t){this._events.on(e,t)}off(e,t){this._events.removeListener(e,t)}emit(e,...t){this._events.emit(e,...t)}setDebugMode(){console.warn("setDebugMode is deprecated. use @ledgerhq/logs instead. No logs are emitted in this anymore.")}setExchangeTimeout(e){this.exchangeTimeout=e}setExchangeUnresponsiveTimeout(e){this.unresponsiveTimeout=e}static create(e=3e3,t){return new Promise(((r,n)=>{let i=!1;const o=this.listen({next:t=>{i=!0,o&&o.unsubscribe(),a&&clearTimeout(a),this.open(t.descriptor,e).then(r,n)},error:e=>{a&&clearTimeout(a),n(e)},complete:()=>{a&&clearTimeout(a),i||n(new Rd(this.ErrorMessage_NoDeviceFound,"NoDeviceFound"))}}),a=t?setTimeout((()=>{o.unsubscribe(),n(new Rd(this.ErrorMessage_ListenTimeout,"ListenTimeout"))}),t):null}))}decorateAppAPIMethods(e,t,r){for(const n of t)e[n]=this.decorateAppAPIMethod(n,e[n],e,r)}decorateAppAPIMethod(e,t,r,n){return(...i)=>Nd(this,void 0,void 0,(function*(){const{_appAPIlock:o}=this;if(o)return Promise.reject(new Rd("Ledger Device is busy (lock "+o+")","TransportLocked"));try{return this._appAPIlock=e,this.setScrambleKey(n),yield t.apply(r,i)}finally{this._appAPIlock=null}}))}}Dd.ErrorMessage_ListenTimeout="No Ledger device found (timeout)",Dd.ErrorMessage_NoDeviceFound="No Ledger device found";const Bd=Dd;var zd=r(261).Buffer;function Ud(e){const t=zd.alloc(2);return t.writeUInt16BE(e,0),t}const Fd={data:zd.alloc(0),dataLength:0,sequence:0},$d=(e,t)=>({makeBlocks(r){let n=zd.concat([Ud(r.length),r]);const i=t-5,o=Math.ceil(n.length/i);n=zd.concat([n,zd.alloc(o*i-n.length+1).fill(0)]);const a=[];for(let t=0;ti&&(n=n.slice(0,i)),{data:n,dataLength:i,sequence:o}},getReducedResult(e){if(e&&e.dataLength===e.data.length)return e.data}});var Hd=r(7345),Vd=r.n(Hd);var qd;!function(e){e.blue="blue",e.nanoS="nanoS",e.nanoSP="nanoSP",e.nanoX="nanoX",e.stax="stax"}(qd||(qd={}));const Kd={[qd.blue]:{id:qd.blue,productName:"Ledger\xa0Blue",productIdMM:0,legacyUsbProductId:0,usbOnly:!0,memorySize:491520,masks:[822083584,822149120],getBlockSize:e=>4096},[qd.nanoS]:{id:qd.nanoS,productName:"Ledger\xa0Nano\xa0S",productIdMM:16,legacyUsbProductId:1,usbOnly:!0,memorySize:327680,masks:[823132160],getBlockSize:e=>{var t;return Vd().lt(null!==(t=Vd().coerce(e))&&void 0!==t?t:"","2.0.0")?4096:2048}},[qd.nanoSP]:{id:qd.nanoSP,productName:"Ledger Nano S Plus",productIdMM:80,legacyUsbProductId:5,usbOnly:!0,memorySize:1572864,masks:[856686592],getBlockSize:e=>32},[qd.nanoX]:{id:qd.nanoX,productName:"Ledger\xa0Nano\xa0X",productIdMM:64,legacyUsbProductId:4,usbOnly:!1,memorySize:2097152,masks:[855638016],getBlockSize:e=>4096,bluetoothSpec:[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",notifyUuid:"13d63400-2c97-0004-0001-4c6564676572",writeUuid:"13d63400-2c97-0004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-0004-0003-4c6564676572"}]},[qd.stax]:{id:qd.stax,productName:"Ledger\xa0Stax",productIdMM:96,legacyUsbProductId:6,usbOnly:!1,memorySize:1572864,masks:[857735168],getBlockSize:e=>32,bluetoothSpec:[{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",notifyUuid:"13d63400-2c97-6004-0001-4c6564676572",writeUuid:"13d63400-2c97-6004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-6004-0003-4c6564676572"}]}},Wd=(qd.blue,qd.nanoS,qd.nanoSP,qd.nanoX,qd.stax,Object.values(Kd)),Gd=11415,Yd=e=>{const t=Wd.find((t=>t.legacyUsbProductId===e));if(t)return t;const r=e>>8,n=Wd.find((e=>e.productIdMM===r));return n},Zd=[],Xd={};for(const r in Kd){const e=Kd[r],{bluetoothSpec:t}=e;if(t)for(let r=0;re.vendorId===Gd))}))}var oh=r(261).Buffer,ah=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class sh extends Bd{constructor(e,t){super(),this.channel=Math.floor(65535*Math.random()),this.packetSize=64,this._disconnectEmitted=!1,this._emitDisconnect=e=>{this._disconnectEmitted||(this._disconnectEmitted=!0,this.emit("disconnect",e))},this.device=e,this.interfaceNumber=t,this.deviceModel=Yd(e.productId)}static request(){return ah(this,void 0,void 0,(function*(){const e=yield nh();return sh.open(e)}))}static openConnected(){return ah(this,void 0,void 0,(function*(){const e=yield ih();return 0===e.length?null:sh.open(e[0])}))}static open(e){return ah(this,void 0,void 0,(function*(){yield e.open(),null===e.configuration&&(yield e.selectConfiguration(1)),yield lh(e);const t=e.configurations[0].interfaces.find((({alternates:e})=>e.some((e=>255===e.interfaceClass))));if(!t)throw new Ad("No WebUSB interface found for your Ledger device. Please upgrade firmware or contact techsupport.");const r=t.interfaceNumber;try{yield e.claimInterface(r)}catch(o){throw yield e.close(),new Ad(o.message)}const n=new sh(e,r),i=t=>{e===t.device&&(navigator.usb.removeEventListener("disconnect",i),n._emitDisconnect(new Ed))};return navigator.usb.addEventListener("disconnect",i),n}))}close(){return ah(this,void 0,void 0,(function*(){yield this.exchangeBusyPromise,yield this.device.releaseInterface(this.interfaceNumber),yield lh(this.device),yield this.device.close()}))}exchange(e){return ah(this,void 0,void 0,(function*(){const t=yield this.exchangeAtomicImpl((()=>ah(this,void 0,void 0,(function*(){const{channel:t,packetSize:r}=this;eh("apdu","=> "+e.toString("hex"));const n=$d(t,r),i=n.makeBlocks(e);for(let e=0;e{if(e&&e.message&&e.message.includes("disconnected"))throw this._emitDisconnect(e),new Pd(e.message);throw e}));return t}))}setScrambleKey(){}}sh.isSupported=()=>Promise.resolve(!!navigator&&!!navigator.usb&&"function"===typeof navigator.usb.getDevices),sh.list=ih,sh.listen=e=>{let t=!1;return function(){return th(this,void 0,void 0,(function*(){const e=yield ih();return e.length>0?e[0]:nh()}))}().then((r=>{if(!t){const t=Yd(r.productId);e.next({type:"add",descriptor:r,deviceModel:t}),e.complete()}}),(t=>{window.DOMException&&t instanceof window.DOMException&&18===t.code?e.error(new jd(t.message)):e.error(new Od(t.message))})),{unsubscribe:function(){t=!0}}};const ch=sh;function lh(e){return ah(this,void 0,void 0,(function*(){try{yield e.reset()}catch(t){console.warn(t)}}))}var uh=r(261).Buffer;function dh(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))}"function"===typeof SuppressedError&&SuppressedError;function hh(e){const t=[];e.split("/").forEach((e=>{let r=parseInt(e,10);Number.isNaN(r)||(e.length>1&&"'"===e[e.length-1]&&(r+=2147483648),t.push(r))}));const r=uh.alloc(1+4*t.length);return r[0]=t.length,t.forEach(((e,t)=>{r.writeUInt32BE(e,1+4*t)})),r}function fh(e,t){const r=uh.alloc(32);r.fill(0);let n=t[e],i=e+1;return n>32&&(i+=n-32,n=32),t.copy(r,32-n,i,i+n),{buffer:r,idxValueStart:i,length:n}}class ph extends Ka{constructor(e){super(),this.message=e,this.name="InvalidLedgerResponseError"}}class mh extends Ka{constructor(e){super(),this.cause=e,this.name="PublicKeyRetrievalError",this.message="Unable to retrieve Public Key from Ledger"}}class gh extends Ka{constructor(){super(),this.name="PublicKeyHashRetrievalError",this.message="Unable to retrieve Public Key Hash from Ledger"}}class vh extends Wa{constructor(e){super(),this.derivationType=e,this.name="InvalidDerivationTypeError",this.message=`Invalid derivation type ${e} expecting one of the following: DerivationType.ED25519, DerivationType.SECP256K1, DerivationType.P256 or DerivationType.BIP32_ED25519`}}var yh;!function(e){e[e.ED25519=0]="ED25519",e[e.SECP256K1=1]="SECP256K1",e[e.P256=2]="P256",e[e.BIP32_ED25519=3]="BIP32_ED25519"}(yh||(yh={}));class bh{constructor(e,t="44'/1729'/0'/0'",r=!0,n=yh.ED25519){if(this.transport=e,this.path=t,this.prompt=r,this.derivationType=n,this.CLA=128,this.INS_GET_PUBLIC_KEY=2,this.INS_PROMPT_PUBLIC_KEY=3,this.INS_SIGN=4,this.FIRST_MESSAGE_SEQUENCE=0,this.LAST_MESSAGE_SEQUENCE=129,this.OTHER_MESSAGE_SEQUENCE=1,this.transport.setScrambleKey("XTZ"),!t.startsWith("44'/1729'"))throw new ts(t,`${ac(Hs.NO_PREFIX_MATCHED)} expecting prefix "44'/1729'".`);if(!Object.values(yh).includes(n))throw new vh(n.toString())}publicKeyHash(){return dh(this,void 0,void 0,(function*(){if(this._publicKeyHash||(yield this.publicKey()),this._publicKeyHash)return this._publicKeyHash;throw new gh}))}publicKey(){return dh(this,void 0,void 0,(function*(){if(this._publicKey)return this._publicKey;const e=yield this.getLedgerPublicKey(),t=e[0],r=function(e,t){return 0===t||3===t?e=e.slice(1):(e[0]=2+(1&e[64]),e=e.slice(0,33)),e}(e.slice(1,1+t),this.derivationType),n=this.getPrefixes(),i=dc(r,n.prefPk),o=dc((0,Fa.hash)(r,20),n.prefPkh);return this._publicKey=i,this._publicKeyHash=o,i}))}getLedgerPublicKey(){return dh(this,void 0,void 0,(function*(){try{let e=this.INS_PROMPT_PUBLIC_KEY;!1===this.prompt&&(e=this.INS_GET_PUBLIC_KEY);return yield this.transport.send(this.CLA,e,this.FIRST_MESSAGE_SEQUENCE,this.derivationType,hh(this.path))}catch(e){throw new mh(e)}}))}secretKey(){return dh(this,void 0,void 0,(function*(){throw new fs("Secret key cannot be exposed")}))}sign(e,t){return dh(this,void 0,void 0,(function*(){const r=function(e,t){let r=e;"undefined"!==typeof t&&(r=uh.from(t).toString("hex").concat(e));return r}(e,t),n=uh.from(r,"hex");let i=[];i.push(hh(this.path)),i=function(e,t){let r=0;for(;r!==t.length;){const n=r+230>=t.length?t.length-r:230,i=uh.alloc(n);t.copy(i,0,r,r+n),e.push(i),r+=n}return e}(i,n);const o=yield this.signWithLedger(i);let a;if(this.derivationType===yh.ED25519||this.derivationType===yh.BIP32_ED25519)a=o.slice(0,o.length-2).toString("hex");else{if(!function(e){let t=!0;49!==e[0]&&48!==e[0]&&(t=!1),e[1]+4!==e.length&&(t=!1),2!==e[2]&&(t=!1);const r=e[3];2!==e[4+r]&&(t=!1);const n=5+r;return n+1+e[n]+2!==e.length&&(t=!1),t}(o))throw new ph("Invalid signature return by ledger unable to parse the response");const e=fh(3,o),t=fh(e.idxValueStart+e.length+1,o);a=uh.concat([e.buffer,t.buffer]).toString("hex")}return{bytes:e,sig:dc(a,Us[Ls.SIG]),prefixSig:dc(a,this.getPrefixes().prefSig),sbytes:e+a}}))}signWithLedger(e){return dh(this,void 0,void 0,(function*(){let t=yield this.transport.send(this.CLA,this.INS_SIGN,this.FIRST_MESSAGE_SEQUENCE,this.derivationType,e[0]);for(let r=1;r{t.push(encodeURIComponent(n)+"="+encodeURIComponent(e))}));continue}t.push(encodeURIComponent(n)+"="+encodeURIComponent(r))}const r=t.join("&");return r?`?${r}`:""}createRequest({url:e,method:t,timeout:r=this.timeout,query:n,headers:i={},json:o=!0},a){return _h(this,void 0,void 0,(function*(){const s=e+this.serialize(n);i["Content-Type"]||(i["Content-Type"]="application/json");const c=new AbortController,l=setTimeout((()=>c.abort()),r);try{const e=yield Oh(s,{method:t,headers:i,body:JSON.stringify(a),signal:c.signal});if("undefined"===typeof e)throw new Error("Response is undefined");if(e.status>=400){const t=yield e.text();throw new kh(`Http error response: (${e.status}) ${t}`,e.status,e.statusText,t,s)}return o?e.json():e.text()}catch(u){throw u instanceof Error&&"AbortError"===u.name?new Eh(r,s):u instanceof kh?u:new Sh(String(t),s,u)}finally{clearTimeout(l)}}))}}function Th(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i{const r=e[t];let i;if("undefined"!==typeof r){if(Array.isArray(r))return i=Ih(r),void(n[t]=i);i=new Ms(r),n[t]=i}})),n}!function(e){e.GET_BAKING_RIGHTS="getBakingRights",e.GET_BALLOTS="getBallots",e.GET_BALLOT_LIST="getBallotList",e.GET_BIG_MAP_KEY="getBigMapKey",e.GET_BIG_MAP_EXPR="getBigMapExpr",e.GET_BLOCK_HASH="getBlockHash",e.GET_BLOCK="getBlock",e.GET_BLOCK_HEADER="getBlockHeader",e.GET_BLOCK_METADATA="getBlockMetadata",e.GET_BALANCE="getBalance",e.GET_CHAIN_ID="getChainId",e.GET_CONSTANTS="getConstants",e.GET_CONTRACT="getContract",e.GET_CURRENT_PERIOD="getCurrentPeriod",e.GET_CURRENT_PROPOSAL="getCurrentProposal",e.GET_CURRENT_QUORUM="getCurrentQuorum",e.GET_DELEGATE="getDelegate",e.GET_DELEGATES="getDelegates",e.GET_VOTING_INFO="getVotingInfo",e.GET_ENDORSING_RIGHTS="getEndorsingRights",e.GET_ENTRYPOINTS="getEntrypoints",e.GET_LIVE_BLOCKS="getLiveBlocks",e.GET_MANAGER_KEY="getManagerKey",e.GET_NORMALIZED_SCRIPT="getNormalizedScript",e.GET_PROPOSALS="getProposals",e.GET_PROTOCOLS="getProtocols",e.GET_SAPLING_DIFF_BY_CONTRACT="getSaplingDiffByContract",e.GET_SAPLING_DIFF_BY_ID="getSaplingDiffById",e.GET_SCRIPT="getScript",e.GET_STORAGE="getStorage",e.GET_SUCCESSOR_PERIOD="getSuccessorPeriod",e.GET_TX_ROLLUP_INBOX="getTxRollupInbox",e.GET_TX_ROLLUP_STATE="getTxRollupState",e.GET_VOTES_LISTINGS="getVotesListings",e.PACK_DATA="packData",e.GET_STORAGE_USED_SPACE="getStorageUsedSpace",e.GET_STORAGE_PAID_SPACE="getStoragePaidSpace",e.GET_TICKET_BALANCE="getTicketBalance",e.GET_ALL_TICKET_BALANCES="getAllTicketBalances",e.GET_PENDING_OPERATIONS="getPendingOperations",e.GET_ORIGINATION_PROOF="getOriginationProof"}(Rh||(Rh={}));var Mh,Lh,Nh,Dh,Bh,zh,Uh,Fh,$h,Hh;!function(e){e.TOO_LARGE="too large"}(Mh||(Mh={})),function(e){e.BAKING_REWARDS="baking rewards",e.REWARDS="rewards",e.FEES="fees",e.DEPOSITS="deposits",e.LEGACY_REWARDS="legacy_rewards",e.LEGACY_FEES="legacy_fees",e.LEGACY_DEPOSITS="legacy_deposits",e.BLOCK_FEES="block fees",e.NONCE_REVELATION_REWARDS="nonce revelation rewards",e.DOUBLE_SIGNING_EVIDENCE_REWARDS="double signing evidence rewards",e.ENDORSING_REWARDS="endorsing rewards",e.BAKING_BONUSES="baking bonuses",e.STORAGE_FEES="storage fees",e.PUNISHMENTS="punishments",e.LOST_ENDORSING_REWARDS="lost endorsing rewards",e.SUBSIDY="subsidy",e.BURNED="burned",e.COMMITMENT="commitment",e.BOOTSTRAP="bootstrap",e.INVOICE="invoice",e.MINTED="minted",e.TX_ROLLUP_REJECTION_REWARDS="tx_rollup_rejection_rewards",e.TX_ROLLUP_REJECTION_PUNISHMENTS="tx_rollup_rejection_punishments",e.BONDS="bonds"}(Lh||(Lh={})),function(e){e.WASM2="wasm_2_0_0",e.ARITH="arith"}(Nh||(Nh={})),function(e){e.START="start",e.MOVE="move"}(Dh||(Dh={})),function(e){e.INBOX_PROOF="inbox_proof",e.REVEAL_PROOF="reveal_proof",e.FIRST_INPUT="first_input"}(Bh||(Bh={})),function(e){e.RAW_DATA_PROOF="raw_data_proof",e.METADATA_PROOF="metadata_proof",e.DAL_PAGE_PROOF="dal_page_proof"}(zh||(zh={})),function(e){e.ONGOING="ongoing",e.ENDED="ended"}(Uh||(Uh={})),function(e){e.LOSER="loser",e.DRAW="draw"}(Fh||(Fh={})),function(e){e.CONFLICT_RESOLVED="conflict_resolved",e.TIMEOUT="timeout"}($h||($h={})),function(e){e.ORIGINATION="origination",e.DELEGATION="delegation",e.REVEAL="reveal",e.TRANSACTION="transaction",e.ACTIVATION="activate_account",e.ENDORSEMENT="endorsement",e.PREENDORSEMENT="preendorsement",e.SET_DEPOSITS_LIMIT="set_deposits_limit",e.DOUBLE_PREENDORSEMENT_EVIDENCE="double_preendorsement_evidence",e.ENDORSEMENT_WITH_SLOT="endorsement_with_slot",e.SEED_NONCE_REVELATION="seed_nonce_revelation",e.DOUBLE_ENDORSEMENT_EVIDENCE="double_endorsement_evidence",e.DOUBLE_BAKING_EVIDENCE="double_baking_evidence",e.PROPOSALS="proposals",e.BALLOT="ballot",e.FAILING_NOOP="failing_noop",e.REGISTER_GLOBAL_CONSTANT="register_global_constant",e.TX_ROLLUP_ORIGINATION="tx_rollup_origination",e.TX_ROLLUP_SUBMIT_BATCH="tx_rollup_submit_batch",e.TX_ROLLUP_COMMIT="tx_rollup_commit",e.TX_ROLLUP_RETURN_BOND="tx_rollup_return_bond",e.TX_ROLLUP_FINALIZE_COMMITMENT="tx_rollup_finalize_commitment",e.TX_ROLLUP_REMOVE_COMMITMENT="tx_rollup_remove_commitment",e.TX_ROLLUP_REJECTION="tx_rollup_rejection",e.TX_ROLLUP_DISPATCH_TICKETS="tx_rollup_dispatch_tickets",e.TRANSFER_TICKET="transfer_ticket",e.INCREASE_PAID_STORAGE="increase_paid_storage",e.UPDATE_CONSENSUS_KEY="update_consensus_key",e.DRAIN_DELEGATE="drain_delegate",e.VDF_REVELATION="vdf_revelation",e.EVENT="event",e.TICKET_UPDATES="ticket_updates",e.SMART_ROLLUP_ORIGINATE="smart_rollup_originate",e.SMART_ROLLUP_ADD_MESSAGES="smart_rollup_add_messages",e.SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE="smart_rollup_execute_outbox_message",e.SMART_ROLLUP_PUBLISH="smart_rollup_publish",e.SMART_ROLLUP_CEMENT="smart_rollup_cement",e.SMART_ROLLUP_RECOVER_BOND="smart_rollup_recover_bond",e.SMART_ROLLUP_REFUTE="smart_rollup_refute",e.SMART_ROLLUP_TIMEOUT="smart_rollup_timeout"}(Hh||(Hh={}));class Vh{constructor(e,t="main",r=new Ah){this.url=e,this.chain=t,this.httpBackend=r}createURL(e){let t=this.url;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}${e}`}validateAddress(e){const t=Qs(e);if(t!==Hs.VALID)throw new Ja(e,ac(t))}validateContract(e){const t=tc(e);if(t!==Hs.VALID)throw new ss(e,ac(t))}getBlockHash({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/hash`),method:"GET"})}))}getLiveBlocks({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/live_blocks`),method:"GET"})}))}getBalance(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){this.validateAddress(e);const r=yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/balance`),method:"GET"});return new Ms(r)}))}getStorage(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.validateContract(e),this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/storage`),method:"GET"})}))}getScript(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.validateContract(e),this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/script`),method:"GET"})}))}getNormalizedScript(e,t={unparsing_mode:"Readable"},{block:r}=Ch){return jh(this,void 0,void 0,(function*(){return this.validateContract(e),this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${r}/context/contracts/${e}/script/normalized`),method:"POST"},t)}))}getContract(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){this.validateAddress(e);const r=yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}`),method:"GET"});return Object.assign(Object.assign({},r),{balance:new Ms(r.balance)})}))}getManagerKey(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.validateAddress(e),this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/manager_key`),method:"GET"})}))}getDelegate(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){let r;this.validateAddress(e);try{r=yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/delegate`),method:"GET"})}catch(n){if(!(n instanceof kh&&n.status===wh.NOT_FOUND))throw n;r=null}return r}))}getBigMapKey(e,t,{block:r}=Ch){return jh(this,void 0,void 0,(function*(){return this.validateAddress(e),this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${r}/context/contracts/${e}/big_map_get`),method:"POST"},t)}))}getBigMapExpr(e,t,{block:r}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${r}/context/big_maps/${e}/${t}`),method:"GET"})}))}getDelegates(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){this.validateAddress(e);const r=yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/delegates/${e}`),method:"GET"}),n=Ih(r,["balance","full_balance","current_frozen_deposits","frozen_deposits","frozen_balance","frozen_deposits_limit","staking_balance","delegated_balance","voting_power"]);return Object.assign(Object.assign(Object.assign({},r),n),{frozen_balance_by_cycle:r.frozen_balance_by_cycle?r.frozen_balance_by_cycle.map((e=>{var{deposit:t,deposits:r,fees:n,rewards:i}=e,o=Th(e,["deposit","deposits","fees","rewards"]);const a=Ih({deposit:t,deposits:r,fees:n,rewards:i},["deposit","deposits","fees","rewards"]);return Object.assign(Object.assign({},o),{deposit:a.deposit,deposits:a.deposits,fees:a.fees,rewards:a.rewards})})):void 0})}))}getVotingInfo(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.validateAddress(e),yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/delegates/${e}/voting_info`),method:"GET"})}))}getConstants({block:e}=Ch){return jh(this,void 0,void 0,(function*(){const t=yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/context/constants`),method:"GET"}),r=Ih(t,["time_between_blocks","hard_gas_limit_per_operation","hard_gas_limit_per_block","proof_of_work_threshold","tokens_per_roll","seed_nonce_revelation_tip","block_security_deposit","endorsement_security_deposit","block_reward","endorsement_reward","cost_per_byte","hard_storage_limit_per_operation","test_chain_duration","baking_reward_per_endorsement","delay_per_missing_endorsement","minimal_block_delay","liquidity_baking_subsidy","cache_layout","baking_reward_fixed_portion","baking_reward_bonus_per_slot","endorsing_reward_per_slot","double_baking_punishment","delay_increment_per_round","tx_rollup_commitment_bond","vdf_difficulty","sc_rollup_stake_amount","minimal_stake"]);return Object.assign(Object.assign({},t),r)}))}getBlock({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}`),method:"GET"})}))}getBlockHeader({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/header`),method:"GET"})}))}getBlockMetadata({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/metadata`),method:"GET"})}))}getBakingRights(e={},{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/helpers/baking_rights`),method:"GET",query:e})}))}getEndorsingRights(e={},{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/helpers/endorsing_rights`),method:"GET",query:e})}))}getBallotList({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/votes/ballot_list`),method:"GET"})}))}getBallots({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return Ih(yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/votes/ballots`),method:"GET"}),["yay","nay","pass"])}))}getCurrentProposal({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/votes/current_proposal`),method:"GET"})}))}getCurrentQuorum({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/votes/current_quorum`),method:"GET"})}))}getVotesListings({block:e}=Ch){return jh(this,void 0,void 0,(function*(){const t=yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/votes/listings`),method:"GET"});return t.map((e=>(e.voting_power&&(e.voting_power=new Ms(e.voting_power)),e))),t}))}getProposals({block:e}=Ch){return jh(this,void 0,void 0,(function*(){const t=yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/votes/proposals`),method:"GET"});return t.map((e=>e[1]=new Ms(e[1]))),t}))}forgeOperations(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/helpers/forge/operations`),method:"POST"},e)}))}injectOperation(e){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL("/injection/operation"),method:"POST"},e)}))}preapplyOperations(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/helpers/preapply/operations`),method:"POST"},e)}))}getEntrypoints(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){this.validateContract(e);return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/entrypoints`),method:"GET"})}))}runOperation(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/helpers/scripts/run_operation`),method:"POST"},e)}))}simulateOperation(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/helpers/scripts/simulate_operation`),method:"POST"},e)}))}runCode(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/helpers/scripts/run_code`),method:"POST"},e)}))}runScriptView(e,t){var{unparsing_mode:r="Readable"}=e,n=Th(e,["unparsing_mode"]),i=(void 0===t?Ch:t).block;return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${i}/helpers/scripts/run_script_view`),method:"POST"},Object.assign({unparsing_mode:r},n))}))}runView(e,t){var{unparsing_mode:r="Readable"}=e,n=Th(e,["unparsing_mode"]),i=(void 0===t?Ch:t).block;return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${i}/helpers/scripts/run_view`),method:"POST"},Object.assign({unparsing_mode:r},n))}))}getChainId(){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/chain_id`),method:"GET"})}))}packData(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){const r=yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/helpers/scripts/pack_data`),method:"POST"},e),{gas:n}=r,i=Th(r,["gas"]);let o=n;const a=new Ms(n||"");return a.isNaN()||(o=a),Object.assign({gas:o},i)}))}getRpcUrl(){return this.url}getCurrentPeriod({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/votes/current_period`),method:"GET"})}))}getSuccessorPeriod({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return yield this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/votes/successor_period`),method:"GET"})}))}getSaplingDiffById(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/sapling/${e}/get_diff`),method:"GET"})}))}getSaplingDiffByContract(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/single_sapling_get_diff`),method:"GET"})}))}getProtocols({block:e}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${e}/protocols`),method:"GET"})}))}getTxRollupState(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/tx_rollup/${e}/state`),method:"GET"})}))}getTxRollupInbox(e,t,{block:r}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${r}/context/tx_rollup/${e}/inbox/${t}`),method:"GET"})}))}getStorageUsedSpace(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/storage/used_space`),method:"GET"})}))}getStoragePaidSpace(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/storage/paid_space`),method:"GET"})}))}getTicketBalance(e,t,{block:r}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${r}/context/contracts/${e}/ticket_balance`),method:"POST"},t)}))}getAllTicketBalances(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/contracts/${e}/all_ticket_balances`),method:"GET"})}))}getPendingOperations(e={}){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/mempool/pending_operations`),method:"GET",query:e})}))}getOriginationProof(e,{block:t}=Ch){return jh(this,void 0,void 0,(function*(){return this.httpBackend.createRequest({url:this.createURL(`/chains/${this.chain}/blocks/${t}/context/smart_rollups/all/origination_proof`),method:"POST"},e)}))}}var qh=function(e,t){return qh=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},qh(e,t)};function Kh(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}qh(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var Wh=function(){return Wh=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&i[i.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Jh(e,t){var r="function"===typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function Qh(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof ef?Promise.resolve(e.value.v).then(c,l):u(o[0][2],e)}(i[e](t))}catch(r){u(o[0][3],r)}}function c(e){s("next",e)}function l(e){s("throw",e)}function u(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function rf(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=Xh(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}}Object.create;"function"===typeof SuppressedError&&SuppressedError;function nf(e){return"function"===typeof e}function of(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var af=of((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));function sf(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var cf=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,r,n,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=Xh(o),s=a.next();!s.done;s=a.next()){s.value.remove(this)}}catch(f){e={error:f}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(nf(c))try{c()}catch(p){i=p instanceof af?p.errors:[p]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=Xh(l),d=u.next();!d.done;d=u.next()){var h=d.value;try{df(h)}catch(m){i=null!==i&&void 0!==i?i:[],m instanceof af?i=Qh(Qh([],Jh(i)),Jh(m.errors)):i.push(m)}}}catch(g){r={error:g}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}}if(i)throw new af(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)df(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&sf(t,e)},e.prototype.remove=function(t){var r=this._finalizers;r&&sf(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}(),lf=cf.EMPTY;function uf(e){return e instanceof cf||e&&"closed"in e&&nf(e.remove)&&nf(e.add)&&nf(e.unsubscribe)}function df(e){nf(e)?e():e.unsubscribe()}var hf={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ff={setTimeout:function(e,t){for(var r=[],n=2;n0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,r=this,n=r.hasError,i=r.isStopped,o=r.observers;return n||i?lf:(this.currentObservers=null,o.push(e),new cf((function(){t.currentObservers=null,sf(o,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this,r=t.hasError,n=t.thrownError,i=t.isStopped;r?e.error(n):i&&e.complete()},t.prototype.asObservable=function(){var e=new Cf;return e.source=this,e},t.create=function(e,t){return new Lf(e,t)},t}(Cf),Lf=function(e){function t(t,r){var n=e.call(this)||this;return n.destination=t,n.source=r,n}return Kh(t,e),t.prototype.next=function(e){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,e)},t.prototype.error=function(e){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==r?r:lf},t}(Mf),Nf={now:function(){return(Nf.delegate||Date).now()},delegate:void 0},Df=function(e){function t(t,r,n){void 0===t&&(t=1/0),void 0===r&&(r=1/0),void 0===n&&(n=Nf);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=r,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=r===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,r),i}return Kh(t,e),t.prototype.next=function(t){var r=this,n=r.isStopped,i=r._buffer,o=r._infiniteTimeWindow,a=r._timestampProvider,s=r._windowTime;n||(i.push(t),!o&&i.push(a.now()+s)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),r=this._infiniteTimeWindow,n=this._buffer.slice(),i=0;i0&&d(i)}),void 0,void 0,(function(){(null===o||void 0===o?void 0:o.closed)||null===o||void 0===o||o.unsubscribe(),s=null}))),!l&&d(null!=n?"number"===typeof n?n:+n-c.now():i)}))}function Up(e){throw new Bp(e)}function Fp(e,t){return nf(t)?kp(e,t,1):kp(e,1)}function $p(){for(var e=[],t=0;t0&&(t=new kf({next:function(e){return m.next(e)},error:function(e){u=!0,d(),n=qp(h,i,e),m.error(e)},complete:function(){l=!0,d(),n=qp(h,a),m.complete()}}),Yf(e).subscribe(t))}))(e)}}function qp(e,t){for(var r=[],n=2;n=2;return function(n){return n.pipe(e?Wp((function(t,r){return e(t,r,n)})):Tf,(o=1)<=0?function(){return Jf}:op((function(e,t){var r=0;e.subscribe(ap(t,(function(e){++r<=o&&(t.next(e),o<=r&&t.complete())})))})),r?function(e){return op((function(t,r){var n=!1;t.subscribe(ap(r,(function(e){n=!0,r.next(e)}),(function(){n||r.next(e),r.complete()})))}))}(t):(void 0===(i=function(){return new Gp})&&(i=Yp),op((function(e,t){var r=!1;e.subscribe(ap(t,(function(e){r=!0,t.next(e)}),(function(){return r?t.complete():t.error(i())})))}))));var i,o}}function Xp(e){return op((function(t,r){var n,i=null,o=!1;i=t.subscribe(ap(r,void 0,void 0,(function(a){n=Yf(e(a,Xp(e)(t))),i?(i.unsubscribe(),i=null,n.subscribe(r)):o=!0}))),o&&(i.unsubscribe(),i=null,n.subscribe(r))}))}function Jp(e,t){return void 0===t&&(t=Tf),e=null!==e&&void 0!==e?e:Qp,op((function(r,n){var i,o=!0;r.subscribe(ap(n,(function(r){var a=t(r);!o&&e(i,a)||(o=!1,i=a,n.next(r))})))}))}function Qp(e,t){return e===t}function em(e){var t;void 0===e&&(e=1/0);var r=(t=e&&"object"===typeof e?e:{count:e}).count,n=void 0===r?1/0:r,i=t.delay,o=t.resetOnSuccess,a=void 0!==o&&o;return n<=0?Tf:op((function(e,t){var r,o=0,s=function(){var c=!1;r=e.subscribe(ap(t,(function(e){a&&(o=0),t.next(e)}),void 0,(function(e){if(o++{r.set(t,e[t])})),r}typecheckKey(e){this.keySchema&&this.keySchema.Typecheck(e)}typecheckValue(e){this.valueSchema&&this.valueSchema.Typecheck(e)}assertTypecheckValue(e){try{this.typecheckValue(e)}catch(t){throw new fm(e,this.valueSchema,"value",t)}}assertTypecheckKey(e){try{this.typecheckKey(e)}catch(t){throw new fm(e,this.keySchema,"key",t)}}serializeDeterministically(e){return lm()(e)}*keys(){for(const[e]of this.entries())yield e}*values(){for(const[,e]of this.entries())yield e}*entries(){for(const e of this.valueMap.keys())yield[this.keyMap.get(e),this.valueMap.get(e)]}get(e){this.assertTypecheckKey(e);const t=this.serializeDeterministically(e);return this.valueMap.get(t)}set(e,t){this.assertTypecheckKey(e),this.assertTypecheckValue(t);const r=this.serializeDeterministically(e);this.keyMap.set(r,e),this.valueMap.set(r,t)}delete(e){this.assertTypecheckKey(e),this.keyMap.delete(this.serializeDeterministically(e)),this.valueMap.delete(this.serializeDeterministically(e))}has(e){this.assertTypecheckKey(e);const t=this.serializeDeterministically(e);return this.keyMap.has(t)&&this.valueMap.has(t)}clear(){this.keyMap.clear(),this.valueMap.clear()}get size(){return this.keyMap.size}forEach(e){for(const[t,r]of this.entries())e(r,t,this)}}sm=hm;class mm extends Ka{constructor(e,t,r){super(),this.value=e,this.token=t,this.name="TokenValidationError";const n=this.token.annot(),i=n?`[${n}] `:"";this.message=`${i}${r}`}}class gm{constructor(e,t,r){this.val=e,this.idx=t,this.fac=r,this.createToken=this.fac}typeWithoutAnnotations(){const e=t=>{if("object"===typeof t){if(Array.isArray(t)){return t.map((t=>e(t)))}const r=t;return r.args?{prim:r.prim,args:r.args.map((t=>e(t)))}:{prim:r.prim}}return t};return(t=this.val).args?{prim:t.prim,args:t.args.map((t=>e(t)))}:{prim:t.prim};var t}annot(){return(Array.isArray(this.val.annots)&&this.val.annots.length>0?this.val.annots[0]:String(this.idx)).replace(/(%|:)(_Liq_entry_)?/,"")}hasAnnotations(){return Array.isArray(this.val.annots)&&this.val.annots.length}get tokenVal(){return this.val}ExtractSignature(){return[[this.ExtractSchema()]]}}class vm extends gm{compare(e,t){return e===t?0:ethis.KeySchema.compare(e,t))).map((e=>({prim:"Elt",args:[this.KeySchema.EncodeObject(e),this.ValueSchema.EncodeObject(t.get(e))]})))}EncodeObject(e,t){const r=this.objLitToMichelsonMap(e);return this.validate(r),t&&t[bm.prim]?t[bm.prim](r,this.val):Array.from(r.keys()).sort(((e,t)=>this.KeySchema.compare(e,t))).map((e=>({prim:"Elt",args:[this.KeySchema.EncodeObject(e),this.ValueSchema.EncodeObject(r.get(e))]})))}Execute(e,t){if(t&&t[bm.prim])return t[bm.prim](e,this.val);if(Array.isArray(e)){const t=new pm(this.val);return e.forEach((e=>{t.set(this.KeySchema.ToKey(e.args[0]),this.ValueSchema.Execute(e.args[1]))})),t}if("int"in e)return e.int;throw new ym(e,this,`Big map is expecting either an array (Athens) or an object with an int property (Babylon). Got ${JSON.stringify(e)}`)}findAndReturnTokens(e,t){return bm.prim===e&&t.push(this),this.KeySchema.findAndReturnTokens(e,t),this.ValueSchema.findAndReturnTokens(e,t),t}}bm.prim="big_map";class wm extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="OrValidationError"}}class xm extends vm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}Encode(e){const t=e[e.length-1],r=this.createToken(this.val.args[0],this.idx);let n=1;r instanceof xm&&(n=Object.keys(r.ExtractSchema()).length);const i=this.createToken(this.val.args[1],this.idx+n);if(String(r.annot())!==String(t)||r instanceof xm){if(String(i.annot())!==String(t)||i instanceof xm){if(r instanceof xm){const t=r.Encode(e);if(t)return{prim:"Left",args:[t]}}if(i instanceof xm){const t=i.Encode(e);if(t)return{prim:"Right",args:[t]}}return null}return e.pop(),{prim:"Right",args:[i.Encode(e)]}}return e.pop(),{prim:"Left",args:[r.Encode(e)]}}ExtractSignature(){const e=this.createToken(this.val.args[0],this.idx);let t=1;e instanceof xm&&(t=Object.keys(e.ExtractSchema()).length);const r=this.createToken(this.val.args[1],this.idx+t),n=[];if(e instanceof xm)n.push(...e.ExtractSignature());else for(const i of e.ExtractSignature())n.push([e.annot(),...i]);if(r instanceof xm)n.push(...r.ExtractSignature());else for(const i of r.ExtractSignature())n.push([r.annot(),...i]);return n}EncodeObject(e,t){this.validateJavascriptObject(e);const r=Object.keys(e)[0],n=this.createToken(this.val.args[0],this.idx);let i=1;n instanceof xm&&(i=Object.keys(n.ExtractSchema()).length);const o=this.createToken(this.val.args[1],this.idx+i);if(String(n.annot())!==String(r)||n instanceof xm){if(String(o.annot())!==String(r)||o instanceof xm){if(n instanceof xm){const r=n.EncodeObject(e,t);if(r)return{prim:"Left",args:[r]}}if(o instanceof xm){const r=o.EncodeObject(e,t);if(r)return{prim:"Right",args:[r]}}return null}return{prim:"Right",args:[o.EncodeObject(e[r],t)]}}return{prim:"Left",args:[n.EncodeObject(e[r],t)]}}validateJavascriptObject(e){if("object"!==typeof e||Array.isArray(e)||null===e||1!==Object.keys(e).length)throw new wm(e,this,`EncodeObject expects an object with a single key but got: ${JSON.stringify(e)}`)}Execute(e,t){const r=this.createToken(this.val.args[0],this.idx);let n=1;r instanceof xm&&(n=Object.keys(r.ExtractSchema()).length);const i=this.createToken(this.val.args[1],this.idx+n);if("Right"===e.prim)return i instanceof xm?i.Execute(e.args[0],t):{[i.annot()]:i.Execute(e.args[0],t)};if("Left"===e.prim)return r instanceof xm?r.Execute(e.args[0],t):{[r.annot()]:r.Execute(e.args[0],t)};throw new wm(e,this,`Was expecting Left or Right prim but got: ${JSON.stringify(e.prim)}`)}traversal(e,t,r){const n=this.createToken(this.val.args[0],this.idx);let i,o=1;n instanceof xm?(i=e(n),o=Object.keys(n.ExtractSchema()).length):i={[n.annot()]:e(n)};const a=this.createToken(this.val.args[1],this.idx+o);let s;s=a instanceof xm?t(a):{[a.annot()]:t(a)};return r(i,s)}ExtractSchema(){return this.traversal((e=>e.ExtractSchema()),(e=>e.ExtractSchema()),((e,t)=>Object.assign(Object.assign({},e),t)))}generateSchema(){return{__michelsonType:xm.prim,schema:this.traversal((e=>e instanceof xm?e.generateSchema().schema:e.generateSchema()),(e=>e instanceof xm?e.generateSchema().schema:e.generateSchema()),((e,t)=>Object.assign(Object.assign({},e),t)))}}findToken(e){const t=this.createToken(this.val.args[0],this.idx);let r=1;t instanceof xm&&(r=Object.keys(t.ExtractSchema()).length);const n=this.createToken(this.val.args[1],this.idx+r);if(String(t.annot())===String(e)&&!(t instanceof xm)&&t instanceof vm)return t;if(String(n.annot())===String(e)&&!(n instanceof xm)&&n instanceof vm)return n;if(t instanceof xm){const r=t.findToken(e);if(r)return r}if(n instanceof xm){const t=n.findToken(e);if(t)return t}return null}compare(e,t){const r=Object.keys(e)[0];if(r!==Object.keys(t)[0]){return JSON.stringify(this.EncodeObject(e))r.findAndReturnTokens(e,t)),(r=>r.findAndReturnTokens(e,t)),((e,t)=>Object.assign(Object.assign({},e),t))),t}}xm.prim="or";class _m extends Ka{constructor(e){super(e),this.message=e,this.name="TokenArgumentValidationError"}}class Sm extends Ka{constructor(e,t){super(),this.val1=e,this.val2=t,this.name="TokenComparisonError",this.message=`Tokens ${JSON.stringify(e)} and ${JSON.stringify(t)} are not comparable`}}function km(e,t=Em.prim){if(Array.isArray(e))return km({prim:t,args:e},t);if(void 0===e.args)throw new _m(`The value ${JSON.stringify(e)} is an invalid PairToken with no arguments, a pair must have two or more arguments.`);return e.args.length>2?[e.args[0],{prim:t,args:e.args.slice(1)}]:[e.args[0],e.args[1]]}class Em extends vm{constructor(e,t,r){super(Array.isArray(e)?{prim:Em.prim,args:e}:e.prim?e:{prim:Em.prim,args:e},t,r)}args(){return km(this.val)}tokens(){let e=0;return this.args().map((t=>{const r=this.createToken(t,this.idx+e);return r instanceof Em?e+=Object.keys(r.ExtractSchema()).length:e++,r}))}Encode(e){return{prim:"Pair",args:this.tokens().map((t=>t.Encode(e)))}}ExtractSignature(){const e=this.args(),t=this.createToken(e[0],this.idx);let r=1;t instanceof xm&&(r=Object.keys(t.ExtractSchema()).length);const n=this.createToken(e[1],this.idx+r),i=[];for(const o of t.ExtractSignature())for(const e of n.ExtractSignature())i.push([...o,...e]);return i}ToBigMapKey(e){return{key:this.EncodeObject(e),type:this.typeWithoutAnnotations()}}ToKey(e){return this.Execute(e)}EncodeObject(e,t){const[r,n]=this.tokens();let i,o;return i=r instanceof Em&&!r.hasAnnotations()?e:e[r.annot()],o=n instanceof Em&&!n.hasAnnotations()?e:e[n.annot()],{prim:"Pair",args:[r.EncodeObject(i,t),n.EncodeObject(o,t)]}}traversal(e,t){const r=this.args(),n=this.createToken(r[0],this.idx);let i,o=1;n instanceof Em&&!n.hasAnnotations()?(i=e(n),n instanceof Em&&(o=Object.keys(n.ExtractSchema()).length)):i={[n.annot()]:e(n)};const a=this.createToken(r[1],this.idx+o);let s;s=a instanceof Em&&!a.hasAnnotations()?t(a):{[a.annot()]:t(a)};return Object.assign(Object.assign({},i),s)}Execute(e,t){const r=km(e,"Pair");return this.traversal((e=>e.Execute(r[0],t)),(e=>e.Execute(r[1],t)))}ExtractSchema(){return this.traversal((e=>e.ExtractSchema()),(e=>e.ExtractSchema()))}generateSchema(){return{__michelsonType:Em.prim,schema:this.traversal((e=>e instanceof Em&&!e.hasAnnotations()?e.generateSchema().schema:e.generateSchema()),(e=>e instanceof Em&&!e.hasAnnotations()?e.generateSchema().schema:e.generateSchema()))}}compare(e,t){const[r,n]=this.tokens(),i=(e,t)=>e instanceof Em&&!e.hasAnnotations()?t:t[e.annot()];if(r instanceof vm&&n instanceof vm){const o=r.compare(i(r,e),i(r,t));return 0===o?n.compare(i(n,e),i(n,t)):o}throw new Sm(e,t)}findAndReturnTokens(e,t){return Em.prim===e&&t.push(this),this.tokens().map((r=>r.findAndReturnTokens(e,t))),t}}Em.prim="pair";class Pm extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="NatValidationError"}}class Om extends vm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}Execute(e){return new Ms(e[Object.keys(e)[0]])}Encode(e){const t=e.pop();return this.validate(t),{int:new Ms(t).toFixed()}}validate(e){const t=new Ms(e);if(t.isNaN())throw new Pm(e,this,`Value is not a number: ${JSON.stringify(e)}`);if(t.isNegative())throw new Pm(e,this,`Value cannot be negative: ${JSON.stringify(e)}`)}EncodeObject(e,t){return this.validate(e),t&&t[Om.prim]?t[Om.prim](e):{int:new Ms(e).toFixed()}}ExtractSchema(){return Om.prim}generateSchema(){return{__michelsonType:Om.prim,schema:Om.prim}}ToBigMapKey(e){return{key:{int:String(e)},type:{prim:Om.prim}}}ToKey({int:e}){return new Ms(e)}compare(e,t){const r=Number(e),n=Number(t);return r===n?0:re.startsWith("tz"),n=r(e),i=r(t);return n&&!i?-1:i&&!n?1:super.compare(e,t)}findAndReturnTokens(e,t){return jm.prim===e&&t.push(this),t}}jm.prim="address";class Cm extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="MapValidationError"}}class Rm extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}get ValueSchema(){return this.createToken(this.val.args[1],0)}get KeySchema(){return this.createToken(this.val.args[0],0)}validate(e){if(!pm.isMichelsonMap(e))throw new Cm(e,this,`Value ${JSON.stringify(e)} is not a valid MichelsonMap`)}Execute(e,t){const r=new pm(this.val);return e.forEach((e=>{r.set(this.KeySchema.ToKey(e.args[0]),this.ValueSchema.Execute(e.args[1],t))})),r}objLitToMichelsonMap(e){return e instanceof pm?e:"object"===typeof e?0===Object.keys(e).length?new pm:pm.fromLiteral(e):e}Encode(e){const t=this.objLitToMichelsonMap(e.pop());return this.validate(t),Array.from(t.keys()).sort(((e,t)=>this.KeySchema.compare(e,t))).map((e=>({prim:"Elt",args:[this.KeySchema.EncodeObject(e),this.ValueSchema.EncodeObject(t.get(e))]})))}EncodeObject(e,t){const r=this.objLitToMichelsonMap(e);return this.validate(r),t&&t[Rm.prim]?t[Rm.prim](r):Array.from(r.keys()).sort(((e,t)=>this.KeySchema.compare(e,t))).map((e=>({prim:"Elt",args:[this.KeySchema.EncodeObject(e),this.ValueSchema.EncodeObject(r.get(e))]})))}ExtractSchema(){return{map:{key:this.KeySchema.ExtractSchema(),value:this.ValueSchema.ExtractSchema()}}}generateSchema(){return{__michelsonType:Rm.prim,schema:{key:this.KeySchema.generateSchema(),value:this.ValueSchema.generateSchema()}}}findAndReturnTokens(e,t){return Rm.prim===e&&t.push(this),this.KeySchema.findAndReturnTokens(e,t),this.ValueSchema.findAndReturnTokens(e,t),t}}Rm.prim="map";class Im extends vm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}Execute(e){return"true"===String(e.prim).toLowerCase()}Encode(e){return{prim:e.pop()?"True":"False"}}EncodeObject(e,t){return t&&t[Im.prim]?t[Im.prim](e):{prim:e?"True":"False"}}ExtractSchema(){return Im.prim}generateSchema(){return{__michelsonType:Im.prim,schema:Im.prim}}ToBigMapKey(e){return{key:this.EncodeObject(e),type:{prim:Im.prim}}}ToKey(e){return this.EncodeObject(e)}compare(e,t){return e&&t||!e&&!t?0:e?1:-1}findAndReturnTokens(e,t){return Im.prim===e&&t.push(this),t}}Im.prim="bool";class Mm extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="TxRollupL2AddressValidationError"}}class Lm extends vm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}ToBigMapKey(e){return{key:{bytes:function(e){const t=qa().decode(e);return yc(t.slice(3,42))}(e)},type:{prim:"bytes"}}}validate(e){if(Qs(e)!==Hs.VALID)throw new Mm(e,this,`tx_rollup_l2_address is not valid: ${JSON.stringify(e)}`)}Encode(e){const t=e.pop();if(!t)throw new Mm(t,this,`arg missing to encode: this -> "${JSON.stringify(t)}"`);return this.validate(t),{string:t}}EncodeObject(e,t){return this.validate(e),t&&t[Lm.prim]?t[Lm.prim](e):{string:e}}Execute(e){if(e.string)return e.string;if(!e.bytes)throw new Mm(e,this,`value cannot be missing string and byte value. must have one ${JSON.stringify(e)}`);return pc(e.bytes)}ExtractSchema(){return Lm.prim}generateSchema(){return{__michelsonType:Lm.prim,schema:Lm.prim}}ToKey({bytes:e,string:t}){if(t)return t;if(!e)throw new Mm(e,this,`value cannot be missing string and byte value. must have one: bytes = ${JSON.stringify(e)}`);return pc(e)}findAndReturnTokens(e,t){return Lm.prim===e&&t.push(this),t}}Lm.prim="tx_rollup_l2_address";class Nm extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="ContractValidationError"}}class Dm extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}validate(e){if(Qs(e)!==Hs.VALID)throw new Nm(e,this,`Value ${JSON.stringify(e)} is not a valid contract address.`);return null}Execute(e){if(e.string)return e.string;if(!e.bytes)throw new Nm(e,this,`Value ${JSON.stringify(e)} is not a valid contract address. must contain bytes or string.`);return fc(e.bytes)}Encode(e){const t=e.pop();return this.validate(t),{string:t}}EncodeObject(e,t){return this.validate(e),t&&t[Dm.prim]?t[Dm.prim](e):{string:e}}ExtractSchema(){return Dm.prim}generateSchema(){const e=this.createToken(this.val.args[0],0);return{__michelsonType:Dm.prim,schema:{parameter:this.val.args[0]?e.generateSchema():{}}}}findAndReturnTokens(e,t){return Dm.prim===e&&t.push(this),t}}Dm.prim="contract";class Bm extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="ListValidationError"}}class zm extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}get valueSchema(){return this.createToken(this.val.args[0],this.idx)}validate(e){if(!Array.isArray(e))throw new Bm(e,this,`Value ${JSON.stringify(e)} is not a valid array`)}Encode(e){const t=e.pop();this.validate(t);const r=this.createToken(this.val.args[0],0);return t.reduce(((e,t)=>[...e,r.EncodeObject(t)]),[])}Execute(e,t){const r=this.createToken(this.val.args[0],0);return this.validate(e),e.reduce(((e,n)=>[...e,r.Execute(n,t)]),[])}EncodeObject(e,t){const r=this.createToken(this.val.args[0],0);return this.validate(e),t&&t[zm.prim]?t[zm.prim](e):e.reduce(((e,t)=>[...e,r.EncodeObject(t)]),[])}ExtractSchema(){return{[zm.prim]:this.valueSchema.ExtractSchema()}}generateSchema(){return{__michelsonType:zm.prim,schema:this.valueSchema.generateSchema()}}findAndReturnTokens(e,t){return zm.prim===e&&t.push(this),this.createToken(this.val.args[0],this.idx).findAndReturnTokens(e,t),t}}zm.prim="list";class Um extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="MutezValidationError"}}class Fm extends vm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}Execute(e){return new Ms(e[Object.keys(e)[0]])}ExtractSchema(){return Fm.prim}generateSchema(){return{__michelsonType:Fm.prim,schema:Fm.prim}}validate(e){if(new Ms(e).isNaN())throw new Um(e,this,`Value is not a number: ${e}`)}Encode(e){const t=e.pop();return this.validate(t),{int:String(t).toString()}}EncodeObject(e,t){return this.validate(e),t&&t[Fm.prim]?t[Fm.prim](e):{int:String(e).toString()}}ToBigMapKey(e){return{key:{int:String(e)},type:{prim:Fm.prim}}}ToKey({int:e}){return e}compare(e,t){const r=Number(e),n=Number(t);return r===n?0:rthis.KeySchema.compare(e,t))).reduce(((e,t)=>[...e,this.KeySchema.EncodeObject(t)]),[])}Execute(e,t){return e.reduce(((e,r)=>[...e,this.KeySchema.Execute(r,t)]),[])}EncodeObject(e,t){return this.validate(e),t&&t[ig.prim]?t[ig.prim](e):e.sort(((e,t)=>this.KeySchema.compare(e,t))).reduce(((e,t)=>[...e,this.KeySchema.EncodeObject(t)]),[])}ExtractSchema(){return ig.prim}generateSchema(){return{__michelsonType:ig.prim,schema:this.KeySchema.generateSchema()}}findAndReturnTokens(e,t){return ig.prim===e&&t.push(this),this.KeySchema.findAndReturnTokens(e,t),t}}ig.prim="set";class og extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="ChainIDValidationError"}}class ag extends vm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}validate(e){if(ec(e)!==Hs.VALID)throw new og(e,this,`Value ${JSON.stringify(e)} is not a valid ChainID`)}Execute(e){return e[Object.keys(e)[0]]}ExtractSchema(){return ag.prim}generateSchema(){return{__michelsonType:ag.prim,schema:ag.prim}}Encode(e){const t=e.pop();return this.validate(t),{string:t}}EncodeObject(e,t){return this.validate(e),t&&t[ag.prim]?t[ag.prim](e):{string:e}}ToKey({string:e}){return e}ToBigMapKey(e){return{key:{string:e},type:{prim:ag.prim}}}findAndReturnTokens(e,t){return ag.prim===e&&t.push(this),t}}ag.prim="chain_id";class sg extends Ka{constructor(){super(),this.name="TicketEncodeError",this.message="Tickets cannot be sent to the blockchain; they are created on-chain"}}const cg={prim:"contract"},lg={prim:"int"};class ug extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}get valueToken(){return this.createToken(this.val.args[0],this.idx)}Encode(e){throw new sg}EncodeObject(e,t){if(t&&t[ug.prim])return t[ug.prim](e,this.val);throw new sg}Execute(e,t){if(t&&t[ug.prim])return t[ug.prim](e,this.val);const r=this.createToken(cg,this.idx),n=this.valueToken,i=this.createToken(lg,this.idx);return void 0===e.args[2]&&void 0!==e.args[1].args?{ticketer:r.Execute(e.args[0],t),value:n.Execute(e.args[1].args[0],t),amount:i.Execute(e.args[1].args[1],t)}:{ticketer:r.Execute(e.args[0],t),value:n.Execute(e.args[1],t),amount:i.Execute(e.args[2],t)}}ExtractSchema(){return{ticketer:Dm.prim,value:this.valueToken.ExtractSchema(),amount:Wm.prim}}generateSchema(){return{__michelsonType:ug.prim,schema:{value:this.valueToken.generateSchema(),ticketer:{__michelsonType:Dm.prim,schema:Dm.prim},amount:{__michelsonType:Wm.prim,schema:Wm.prim}}}}findAndReturnTokens(e,t){return ug.prim===e&&t.push(this),this.valueToken.findAndReturnTokens(e,t),t}}ug.prim="ticket";class dg extends Ka{constructor(){super(),this.name="TicketDeprecatedEncodeError",this.message="Ticket_deprecated cannot be sent to the blockchain; they are created on-chain"}}const hg={prim:"contract"},fg={prim:"int"};class pg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}get valueToken(){return this.createToken(this.val.args[0],this.idx)}Encode(e){throw new dg}EncodeObject(e,t){if(t&&t[pg.prim])return t[pg.prim](e,this.val);throw new dg}Execute(e,t){if(t&&t[pg.prim])return t[pg.prim](e,this.val);const r=this.createToken(hg,this.idx),n=this.valueToken,i=this.createToken(fg,this.idx);return void 0===e.args[2]&&void 0!==e.args[1].args?{ticketer:r.Execute(e.args[0],t),value:n.Execute(e.args[1].args[0],t),amount:i.Execute(e.args[1].args[1],t)}:{ticketer:r.Execute(e.args[0],t),value:n.Execute(e.args[1],t),amount:i.Execute(e.args[2],t)}}ExtractSchema(){return{ticketer:Dm.prim,value:this.valueToken.ExtractSchema(),amount:Wm.prim}}generateSchema(){return{__michelsonType:pg.prim,schema:{value:this.valueToken.generateSchema(),ticketer:{__michelsonType:Dm.prim,schema:Dm.prim},amount:{__michelsonType:Wm.prim,schema:Wm.prim}}}}findAndReturnTokens(e,t){return pg.prim===e&&t.push(this),this.valueToken.findAndReturnTokens(e,t),t}}pg.prim="ticket_deprecated";class mg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="NeverTokenError"}}class gg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}Encode(e){const t=e.pop();throw new mg(t,this,`Assigning a value to the type never is forbidden. Trying to assign ${JSON.stringify(t)}.`)}EncodeObject(e,t){if(t&&t[gg.prim])return t[gg.prim](e);throw new mg(e,this,`Assigning a value to the type never is forbidden. Trying to assign ${JSON.stringify(e)}.`)}Execute(e){throw new mg(e,this,`There is no literal value for the type never. Trying to execute ${JSON.stringify(e)}.`)}ExtractSchema(){return gg.prim}generateSchema(){return{__michelsonType:gg.prim,schema:gg.prim}}findAndReturnTokens(e,t){return gg.prim===e&&t.push(this),t}}gg.prim="never";class vg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="SaplingStateValidationError"}}class yg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}isValid(e){return"object"===typeof e&&0===Object.keys(e).length}Execute(e,t){if(t&&t[yg.prim])return t[yg.prim](e,this.val);if("int"in e)return e.int;throw new vg(e,this,`Sapling state is expecting an object with an int property. Got ${JSON.stringify(e)}`)}Encode(e){const t=e.pop();if(this.isValid(t))return[];throw new vg(t,this,`Invalid sapling_state. Received: ${JSON.stringify(t)} while expecting: {}`)}EncodeObject(e,t){if(t&&t[yg.prim])return t[yg.prim](e);if(this.isValid(e))return[];throw new vg(e,this,`Invalid sapling_state. Received: ${JSON.stringify(e)} while expecting: {}`)}ExtractSchema(){return{[yg.prim]:{"memo-size":Number(this.val.args[0].int)}}}generateSchema(){return{__michelsonType:yg.prim,schema:{memoSize:this.val.args[0].int}}}findAndReturnTokens(e,t){return yg.prim===e&&t.push(this),t}}yg.prim="sapling_state";class bg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="SaplingTransactionValidationError"}}class wg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}Execute(e){throw new bg(e,this,`There is no literal value for the sapling_transaction type. Got: ${JSON.stringify(e)}.`)}validateBytes(e){const t=/^(0x|0X)?([0-9a-fA-F]*$)/.exec(e);if(t&&t[2].length%2===0)return t[2];throw new bg(e,this,`Invalid bytes: ${JSON.stringify(e)}`)}convertUint8ArrayToHexString(e){return e.constructor===Uint8Array?um.from(e).toString("hex"):e}Encode(e){let t=e.pop();return t=this.validateBytes(this.convertUint8ArrayToHexString(t)),{bytes:String(t).toString()}}EncodeObject(e,t){return e=this.validateBytes(this.convertUint8ArrayToHexString(e)),t&&t[wg.prim]?t[wg.prim](e):{bytes:String(e).toString()}}ExtractSchema(){return{[wg.prim]:{"memo-size":Number(this.val.args[0].int)}}}generateSchema(){return{__michelsonType:wg.prim,schema:{memoSize:this.val.args[0].int}}}findAndReturnTokens(e,t){return wg.prim===e&&t.push(this),t}}wg.prim="sapling_transaction";class xg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="SaplingTransactionDeprecatedValidationError"}}class _g extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}Execute(e){throw new xg(e,this,`There is no literal value for the sapling_transaction_deprecated type. Got: ${JSON.stringify(e)}.`)}validateBytes(e){const t=/^(0x|0X)?([0-9a-fA-F]*$)/.exec(e);if(t&&t[2].length%2===0)return t[2];throw new xg(e,this,`Invalid bytes: ${JSON.stringify(e)}`)}convertUint8ArrayToHexString(e){return e.constructor===Uint8Array?um.from(e).toString("hex"):e}Encode(e){let t=e.pop();return t=this.validateBytes(this.convertUint8ArrayToHexString(t)),{bytes:String(t).toString()}}EncodeObject(e,t){return e=this.validateBytes(this.convertUint8ArrayToHexString(e)),t&&t[_g.prim]?t[_g.prim](e):{bytes:String(e).toString()}}ExtractSchema(){return{[_g.prim]:{"memo-size":Number(this.val.args[0].int)}}}generateSchema(){return{__michelsonType:_g.prim,schema:{memoSize:this.val.args[0].int}}}findAndReturnTokens(e,t){return _g.prim===e&&t.push(this),t}}_g.prim="sapling_transaction_deprecated";class Sg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="Bls12381frValidationError"}}class kg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}validate(e){if(!/^[0-9a-fA-F]*$/.test(e)||e.length%2!==0)throw new Sg(e,this,`Invalid bytes: ${JSON.stringify(e)}`)}convertUint8ArrayToHexString(e){return e.constructor===Uint8Array?um.from(e).toString("hex"):e}Encode(e){let t=e.pop();return"number"===typeof t?{int:t.toString()}:(t=this.convertUint8ArrayToHexString(t),this.validate(t),{bytes:t})}EncodeObject(e,t){return t&&t[kg.prim]?t[kg.prim](e):"number"===typeof e?{int:e.toString()}:(e=this.convertUint8ArrayToHexString(e),this.validate(e),{bytes:e})}Execute(e){return e.bytes}ExtractSchema(){return kg.prim}generateSchema(){return{__michelsonType:kg.prim,schema:kg.prim}}findAndReturnTokens(e,t){return kg.prim===e&&t.push(this),t}}kg.prim="bls12_381_fr";class Eg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="Bls12381g1ValidationError"}}class Pg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}validate(e){if(!/^[0-9a-fA-F]*$/.test(e)||e.length%2!==0)throw new Eg(e,this,`Invalid bytes: ${JSON.stringify(e)}`)}convertUint8ArrayToHexString(e){return e.constructor===Uint8Array?um.from(e).toString("hex"):e}Encode(e){let t=e.pop();return t=this.convertUint8ArrayToHexString(t),this.validate(t),{bytes:t}}EncodeObject(e,t){return e=this.convertUint8ArrayToHexString(e),this.validate(e),t&&t[Pg.prim]?t[Pg.prim](e):{bytes:e}}Execute(e){return e.bytes}ExtractSchema(){return Pg.prim}generateSchema(){return{__michelsonType:Pg.prim,schema:Pg.prim}}findAndReturnTokens(e,t){return Pg.prim===e&&t.push(this),t}}Pg.prim="bls12_381_g1";class Og extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="Bls12381g2ValidationError"}}class Ag extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}validate(e){if(!/^[0-9a-fA-F]*$/.test(e)||e.length%2!==0)throw new Og(e,this,`Invalid bytes: ${JSON.stringify(e)}`)}convertUint8ArrayToHexString(e){return e.constructor===Uint8Array?um.from(e).toString("hex"):e}Encode(e){let t=e.pop();return t=this.convertUint8ArrayToHexString(t),this.validate(t),{bytes:t}}EncodeObject(e,t){return e=this.convertUint8ArrayToHexString(e),this.validate(e),t&&t[Ag.prim]?t[Ag.prim](e):{bytes:e}}Execute(e){return e.bytes}ExtractSchema(){return Ag.prim}generateSchema(){return{__michelsonType:Ag.prim,schema:Ag.prim}}findAndReturnTokens(e,t){return Ag.prim===e&&t.push(this),t}}Ag.prim="bls12_381_g2";class Tg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="ChestValidationError"}}class jg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}validate(e){if(!/^[0-9a-fA-F]*$/.test(e)||e.length%2!=0)throw new Tg(e,this,`Invalid bytes: ${JSON.stringify(e)}`)}convertUint8ArrayToHexString(e){return e.constructor===Uint8Array?um.from(e).toString("hex"):e}Encode(e){let t=e.pop();return t=this.convertUint8ArrayToHexString(t),this.validate(t),{bytes:t}}EncodeObject(e,t){return e=this.convertUint8ArrayToHexString(e),this.validate(e),t&&t[jg.prim]?t[jg.prim](e):{bytes:e}}Execute(e){return e.bytes}ExtractSchema(){return jg.prim}generateSchema(){return{__michelsonType:jg.prim,schema:jg.prim}}findAndReturnTokens(e,t){return jg.prim===e&&t.push(this),t}}jg.prim="chest";class Cg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="ChestKeyValidationError"}}class Rg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}validate(e){if(!/^[0-9a-fA-F]*$/.test(e)||e.length%2!==0)throw new Cg(e,this,`Invalid bytes: ${JSON.stringify(e)}`)}convertUint8ArrayToHexString(e){return e.constructor===Uint8Array?um.from(e).toString("hex"):e}Encode(e){let t=e.pop();return t=this.convertUint8ArrayToHexString(t),this.validate(t),{bytes:t}}EncodeObject(e,t){return e=this.convertUint8ArrayToHexString(e),this.validate(e),t&&t[Rg.prim]?t[Rg.prim](e):{bytes:e}}Execute(e){return e.bytes}ExtractSchema(){return Rg.prim}generateSchema(){return{__michelsonType:Rg.prim,schema:Rg.prim}}findAndReturnTokens(e,t){return Rg.prim===e&&t.push(this),t}}Rg.prim="chest_key";class Ig extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="GlobalConstantEncodingError"}}class Mg extends mm{constructor(e,t,r){super(e,t,r),this.value=e,this.token=t,this.name="GlobalConstantDecodingError"}}class Lg extends gm{constructor(e,t,r){super(e,t,r),this.val=e,this.idx=t,this.fac=r}Execute(e,t){if(t&&t[Lg.prim])return t[Lg.prim](e,this.val);throw new Mg(e,this,`Unable to decode a value represented by a global constants. Please provide an expanded script to the Michelson-Encoder or semantics for the decoding. The following global constant hash was encountered: ${this.val.args[0].string}.`)}Encode(e){throw new Ig(e,this,`Unable to encode a script containing global constants. Please provide an expanded script to the Michelson-Encoder. The following global constant hash was encountered: ${this.val.args[0].string}.`)}EncodeObject(e,t){if(t&&t[Lg.prim])return t[Lg.prim](e);throw new Ig(e,this,`Unable to encode a script containing global constants. Please provide an expanded script to the Michelson-Encoder. The following global constant hash was encountered: ${this.val.args[0].string}.`)}ExtractSchema(){return Lg.prim}generateSchema(){return{__michelsonType:Lg.prim,schema:{hash:this.val.args[0].string}}}findAndReturnTokens(e,t){return Lg.prim===e&&t.push(this),t}}Lg.prim="constant";const Ng=[Em,Om,Am,bm,jm,Lm,Rm,Im,xm,Dm,zm,Fm,Hm,Vm,qm,Wm,Gm,Zm,Jm,eg,tg,rg,ig,ag,ug,pg,gg,yg,wg,_g,kg,Pg,Ag,jg,Rg,Lg];class Dg extends Ka{constructor(e,t){super(e),this.message=e,this.data=t,this.name="Invalid token error"}}function Bg(e,t){if(Array.isArray(e))return new Em(e,t,Bg);const r=Ng.find((t=>t.prim===e.prim));if(!r)throw new Dg(`Malformed data: ${JSON.stringify(e)}. Expected a value with a valid prim property`,e);return new r(e,t,Bg)}class zg extends is{constructor(e,t,r,n){super(e,t,r,n),this.viewName=e,this.sigs=t,this.args=r,this.cause=n,this.name="ParameterEncodingError",this.message=`Could not encode parameter ${JSON.stringify(r)} received for name "${e}" expecting one of the following signatures ${JSON.stringify(t)}`}}class Ug extends Ka{constructor(e,t){super(),this.script=e,this.reason=t,this.name="InvalidScriptError";let r="Invalid on-chain view found in the following script.";t&&(r+=` Reason: ${t}.`),r+=`Script: ${JSON.stringify(e)}`,this.message=r}}class Fg extends Ka{constructor(e,t){super(),this.script=e,this.reason=t,this.name="InvalidRpcResponseError";let r="Invalid RPC response passed as argument(s).";t&&(r+=` Reason: ${t}.`),r+=` Received: ${JSON.stringify(e)}`,this.message=r}}class $g extends Ka{constructor(e){super(e),this.message=e,this.name="InvalidBigMapSchemaError"}}class Hg extends Ka{constructor(e,t){super(e),this.message=e,this.value=t,this.name="InvalidBigMapDiffError"}}class Vg extends Ka{constructor(e,t,r,n){super(),this.details=t,this.schema=r,this.value=n,this.name="BigMapEncodingError",this.message=`Unable to encode the big map ${e}. Schema is: ${JSON.stringify(r)}. The ${e} is: ${JSON.stringify(n)}. Error details: ${t}`}}class qg extends Ka{constructor(e,t,r,n,i){super(),this.details=t,this.schema=r,this.value=n,this.semantics=i,this.name="StorageEncodingError",this.message=`Unable to encode ${e}. The schema is: ${JSON.stringify(r)}, the value is: ${JSON.stringify(n)}.${i?`And the semantic is: ${JSON.stringify(i)}`:""}. Error details: ${t}`}}class Kg extends Ka{constructor(e){super(e),this.message=e,this.name="MissingArgumentError"}}var Wg;const Gg=Symbol.for("taquito-schema-type-symbol");function Yg(e,t=Em.prim){var r,n;if(Array.isArray(e))return Yg({prim:t,args:e},t);const i=e;return i.prim===t&&i.args&&i.args.length>2?Object.assign(Object.assign({},i),{args:[null===(r=i.args)||void 0===r?void 0:r[0],{prim:t,args:null===(n=i.args)||void 0===n?void 0:n.slice(1)}]}):i}function Zg(e,t){if(void 0===e||void 0===t)return e===t;const r=Yg(e),n=Yg(t);return r.prim===n.prim&&(void 0===r.args&&void 0===n.args||void 0!==r.args&&void 0!==n.args&&r.args.length===n.args.length&&r.args.every(((e,t)=>{var r,i;return Zg(e,null!==(i=null===(r=n.args)||void 0===r?void 0:r[t])&&void 0!==i?i:{})})))&&(void 0===r.annots&&void 0===n.annots||void 0!==r.annots&&void 0!==n.annots&&r.annots.length===n.annots.length&&r.annots.every(((e,t)=>{var r;return e===(null===(r=n.annots)||void 0===r?void 0:r[t])})))}class Xg{static isSchema(e){return e&&!0===e[Gg]}static fromRPCResponse(e){if(!e)throw new Fg(e,"the RPC response is empty");if(!e.script)throw new Fg(e,"the RPC response has no script");if(!Array.isArray(e.script.code))throw new Fg(e,"The response.script.code should be an array");let t=e.script.code;for(;1===t.length&&Array.isArray(t[0]);)t=t[0];const r=t.find((e=>"prim"in e&&"storage"===e.prim));if(!r||!Array.isArray(r.args))throw new Fg(e,'The response.script.code has an element of type {prim: "storage"}, but its args is not an array');return new Xg(r.args[0])}isExpressionExtended(e){return"prim"in e&&Array.isArray(e.args)}constructor(e){if(this.val=e,this[Wg]=!0,this.root=Bg(e,0),this.root instanceof bm)this.bigMap=this.root;else if(this.isExpressionExtended(e)&&"pair"===e.prim){const t=e.args[0];this.isExpressionExtended(t)&&"big_map"===t.prim&&(this.bigMap=new bm(t,0,Bg))}}removeTopLevelAnnotation(e){return(this.root instanceof Em||this.root instanceof xm)&&this.root.hasAnnotations()&&"object"===typeof e&&1===Object.keys(e).length?e[Object.keys(e)[0]]:e}Execute(e,t){const r=this.root.Execute(e,t);return this.removeTopLevelAnnotation(r)}Typecheck(e){this.root instanceof bm&&Number.isInteger(Number(e))||this.root instanceof ug&&e.ticketer&&e.value&&e.amount||this.root instanceof pg&&e.ticketer&&e.value&&e.amount||this.root instanceof Rm&&this.root.ValueSchema instanceof bm||this.root.EncodeObject(e)}ExecuteOnBigMapDiff(e,t){if(!this.bigMap)throw new $g("Big map schema is undefined");if(!Array.isArray(e))throw new Hg(`Big map diff must be an array, got: ${JSON.stringify(e)}`,e);const r=e.map((({key:e,value:t})=>({args:[e,t]})));return this.bigMap.Execute(r,t)}ExecuteOnBigMapValue(e,t){if(!this.bigMap)throw new $g("Big map schema is undefined");return this.bigMap.ValueSchema.Execute(e,t)}EncodeBigMapKey(e){if(!this.bigMap)throw new $g("Big map schema is undefined");try{return this.bigMap.KeySchema.ToBigMapKey(e)}catch(t){throw new Vg("key",t,this.bigMap.KeySchema,e)}}Encode(e,t){try{return this.root.EncodeObject(e,t)}catch(r){if(r instanceof mm)throw r;throw new qg("storage object",r,this.root,e,t)}}ExtractSchema(){return this.removeTopLevelAnnotation(this.root.ExtractSchema())}generateSchema(){return this.removeTopLevelAnnotation(this.root.generateSchema())}ComputeState(e,t){if(!this.bigMap)throw new $g("Big map schema is undefined");const r=e.reduce(((e,t)=>Object.assign(Object.assign({},e),this.ExecuteOnBigMapDiff(t.contents[0].metadata.operation_result.big_map_diff))),{});return Object.assign(Object.assign({},this.Execute(t)),{[this.bigMap.annot()]:r})}FindFirstInTopLevelPair(e,t){return this.findValue(this.root.val,e,t)}findValue(e,t,r){if(Zg(r,e))return t;if(Array.isArray(e)||"pair"===e.prim){const n=Yg(e),i=Yg(t,"Pair");if(void 0===n.args||void 0===i.args)throw new Kg("Tokens have no arguments");if(n.args[0])return this.findValue(n.args[0],i.args[0],r)||this.findValue(n.args[1],i.args[1],r)}}findToken(e){return this.root.findAndReturnTokens(e,[])}}Wg=Gg;class Jg{static fromRPCResponse(e){if(!e)throw new Fg(e,"the RPC response is empty");if(!e.script)throw new Fg(e,"the RPC response has no script");if(!Array.isArray(e.script.code))throw new Fg(e,"The response.script.code should be an array");const t=e.script.code.find((e=>"prim"in e&&"parameter"===e.prim));if(!t)throw new Fg(e,'The response.script.code should have an element of type {prim: "parameter"}');if(!Array.isArray(t.args))throw new Fg(e,'The response.script.code has an element of type {prim: "parameter"}, but its args is not an array');return new Jg(t.args[0])}get isMultipleEntryPoint(){return this.root instanceof xm||this.root instanceof Vm&&this.root.subToken()instanceof xm}get hasAnnotation(){return!this.isMultipleEntryPoint||"0"!==Object.keys(this.ExtractSchema())[0]}constructor(e){this.root=Bg(e,0)}Execute(e,t){return this.root.Execute(e,t)}Encode(...e){try{return this.root.Encode(e.reverse())}catch(t){if(t instanceof mm)throw t;throw new zg("Unable to encode parameter",this.root,e,t)}}EncodeObject(e,t){try{return this.root.EncodeObject(e,t)}catch(r){if(r instanceof mm)throw r;throw new zg("Unable to encode parameter object",this.root,e,r)}}ExtractSchema(){return this.root.ExtractSchema()}generateSchema(){return this.root.generateSchema()}ExtractSignatures(){return this.root.ExtractSignature()}}class Qg{static fromRPCResponse(e){const t=[],r=e&&e.script&&Array.isArray(e.script.code)&&e.script.code.filter((e=>"view"===e.prim));return r&&r.forEach((e=>{t.push(new Qg(e.args))})),t}constructor(e){if(!e)throw new Ug(e,"the args are not defined");if(4!==e.length)throw new Ug(e,"there should be exactly 4 arguments");if(!("string"in e[0])||!e[0].string)throw new Ug(e,"The first argument should be a string, representing the view name. It should be in the form: { string: 'viewName' }");this.viewName=e[0].string,this.viewArgsType=e[1],this.viewReturnType=e[2],this.instructions=e[3],this.rootArgsType=Bg(this.viewArgsType,0),this.rootReturnType=Bg(this.viewReturnType,0)}encodeViewArgs(e){try{return this.rootArgsType.EncodeObject(e)}catch(t){throw new zg(this.viewName,void 0,e,t)}}decodeViewResult(e,t){return this.rootReturnType.Execute(e,t)}extractArgsSchema(){return this.rootArgsType.ExtractSchema()}extractResultSchema(){return this.rootReturnType.ExtractSchema()}}class ev{constructor(e,t){this.tag=e,this.type=t}static fromMichelineValue(e){var t,r;return new ev(null===(t=e.annots)||void 0===t?void 0:t[0],null===(r=e.args)||void 0===r?void 0:r[0])}static fromRPCResponse(e){const t=[];return e.script.code.forEach((e=>{"prim"in e&&"code"===e.prim&&"args"in e&&e.args&&t.push(...ev.extractEventsRecursively(e.args))})),ev.removeDuplicates(t)}static removeDuplicates(e){const t=[];return e.forEach((e=>{const r=t.findIndex((t=>t.tag===e.tag&&Zg(t.type,e.type)));-1===r&&t.push(e)})),t}static extractEventsRecursively(e){return Array.isArray(e)?e.flatMap((e=>ev.extractEventsRecursively(e))):"prim"in e?"EMIT"===e.prim?[ev.fromMichelineValue(e)]:"args"in e&&e.args?e.args.flatMap((e=>ev.extractEventsRecursively(e))):[]:[]}}const tv=Symbol(),rv=Symbol("source_reference");class nv extends Ka{constructor(e,t,r){super(),this.src=e,this.idx=t,this.message=r,this.name="ScanError"}}var iv;!function(e){e[e.Comment=0]="Comment",e[e.Number=1]="Number",e[e.String=2]="String",e[e.Bytes=3]="Bytes",e[e.Ident=4]="Ident"}(iv||(iv={}));const ov=new RegExp("\\s"),av=new RegExp("[:@%_A-Za-z]"),sv=new RegExp("[@%_\\.A-Za-z0-9]"),cv=new RegExp("[0-9]"),lv=new RegExp("[0-9a-fA-F]");function*uv(e,t=!1){let r=0;for(;r1&&"0x"===e.substring(r,r+2)){for(r+=2;r1&&"/*"===e.substring(r,r+2)){for(r+=2;r1&&"*/"===e.substring(r,r+2));)r++;if(r===e.length)throw new nv(e,r,"Unterminated C style comment");r+=2,t&&(yield{t:iv.Comment,v:e.slice(i,r),first:i,last:r})}else{if("("!==n&&")"!==n&&"{"!==n&&"}"!==n&&";"!==n)throw new nv(e,r,`Invalid character at offset ${r}: \`${n}'`);r++,yield{t:n,v:n,first:i,last:r}}}}const dv=Symbol("ref_contract");var hv;!function(e){e.Ps9mPmXa="Ps9mPmXaRzmzk35gbAYNCAw6UXdE2qoABTHbN2oEEc1qM7CwT9P",e.PtCJ7pwo="PtCJ7pwoxe8JasnHY8YonnLYjcVHmhiARPJvqcC6VfHT5s8k8sY",e.PsYLVpVv="PsYLVpVvgbLhAhoqAkMFUo6gudkJ9weNXhUYCiLDzcUpFpkk8Wt",e.PsddFKi3="PsddFKi32cMJ2qPjf43Qv5GDWLDPZb3T3bF6fLKiF5HtvHNU7aP",e.Pt24m4xi="Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd",e.PsBABY5H="PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU",e.PsBabyM1="PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS",e.PsCARTHA="PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb",e.PsDELPH1="PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",e.PtEdoTez="PtEdoTezd3RHSC31mpxxo1npxFjoWWcFgQtxapi51Z8TLu6v6Uq",e.PtEdo2Zk="PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",e.PsFLorena="PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i",e.PtGRANADs="PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV",e.PtHangzH="PtHangzHogokSuiMHemCuowEavgYTP8J5qQ9fQS793MHYFpCY3r",e.PtHangz2="PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx",e.PsiThaCa="PsiThaCaT47Zboaw71QWScM8sXeMM7bbQFncK9FLqYc6EKdpjVP",e.Psithaca2="Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A",e.PtJakarta="PtJakartaiDz69SfDDLXJSiuZqTSeSKRDbKVZC8MNzJnvRjvnGw",e.PtJakart2="PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY",e.PtKathman="PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg",e.PtLimaPtL="PtLimaPtLMwfNinJi9rCfDPWea8dFgTZ1MeJ9f1m2SRic6ayiwW",e.PtMumbaii="PtMumbaiiFFEGbew1rRjzSPyzRbA51Tm3RVZL5suHPxSZYDhCEc",e.PtMumbai2="PtMumbai2TmsJHNGRkD8v8YDbtao7BLUC3wjASn1inAKLFCjaH1",e.PtNairobi="PtNairobiyssHuh87hEhfVBGCVrK3WnS8Z2FT4ymB5tAa4r1nQf",e.ProtoALpha="ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK"}(hv||(hv={}));const fv=hv.Psithaca2,pv={Ps9mPmXaRzmzk35gbAYNCAw6UXdE2qoABTHbN2oEEc1qM7CwT9P:0,PtCJ7pwoxe8JasnHY8YonnLYjcVHmhiARPJvqcC6VfHT5s8k8sY:1,PsYLVpVvgbLhAhoqAkMFUo6gudkJ9weNXhUYCiLDzcUpFpkk8Wt:2,PsddFKi32cMJ2qPjf43Qv5GDWLDPZb3T3bF6fLKiF5HtvHNU7aP:3,Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd:4,PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU:5,PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS:5,PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb:6,PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo:7,PtEdoTezd3RHSC31mpxxo1npxFjoWWcFgQtxapi51Z8TLu6v6Uq:8,PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA:8,PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i:9,PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV:10,PtHangzHogokSuiMHemCuowEavgYTP8J5qQ9fQS793MHYFpCY3r:11,PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx:11,PsiThaCaT47Zboaw71QWScM8sXeMM7bbQFncK9FLqYc6EKdpjVP:12,Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A:12,PtJakartaiDz69SfDDLXJSiuZqTSeSKRDbKVZC8MNzJnvRjvnGw:13,PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY:13,PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg:14,PtLimaPtLMwfNinJi9rCfDPWea8dFgTZ1MeJ9f1m2SRic6ayiwW:15,PtMumbaiiFFEGbew1rRjzSPyzRbA51Tm3RVZL5suHPxSZYDhCEc:16,PtMumbai2TmsJHNGRkD8v8YDbtao7BLUC3wjASn1inAKLFCjaH1:16,PtNairobiyssHuh87hEhfVBGCVrK3WnS8Z2FT4ymB5tAa4r1nQf:17,ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK:18};function mv(e,t){return pv[e][e+1,t])),i+=s,o+=l;break}case"I":o!==r.length&&(a[1]=r[o++]);break;default:throw new gv(e,`${e.prim}: unexpected character: ${l}`)}return{r:n(s,c,[0,a]),n:i,an:o}}function xv(e,t,r,n){const i=t[0];switch(i){case"A":return t.length>1?[{prim:"DUP"},{prim:"DIP",args:[[{prim:"CAR",annots:["@%%"]},xv(e,t.slice(1),[],n)]]},{prim:"CDR",annots:["@%%"]},{prim:"SWAP"},{prim:"PAIR",annots:["%@","%@",...r]}]:n.a;case"D":return t.length>1?[{prim:"DUP"},{prim:"DIP",args:[[{prim:"CDR",annots:["@%%"]},xv(e,t.slice(1),[],n)]]},{prim:"CAR",annots:["@%%"]},{prim:"PAIR",annots:["%@","%@",...r]}]:n.d;default:throw new gv(e,`${e.prim}: unexpected character: ${i}`)}}function _v(e,t){let r=e.length;for(;r>0&&e[r-1]===t;)r--;return e.slice(0,r)}function Sv(e){const t=[],r=[];if(void 0!==e)for(const n of e)(0!==n.length&&"%"===n[0]?t:r).push(n);return{fields:t,rest:r}}function kv({prim:e,annots:t,args:r}){return Object.assign(Object.assign({prim:e},t&&{annots:t}),r&&{args:r})}const Ev=/^P[PAI]{3,}R$/,Pv=/^UNP[PAI]{2,}R$/,Ov=/^C[AD]{2,}R$/,Av=/^SET_C[AD]+R$/,Tv=/^MAP_C[AD]+R$/,jv=/^DI{2,}P$/,Cv=/^DU+P$/;class Rv extends Ka{constructor(e,t){super(),this.token=e,this.message=t,this.name="MichelineParseError"}}class Iv extends Ka{constructor(e,t){super(),this.node=e,this.message=t,this.name="JSONParseError"}}const Mv=new Rv(null,"Unexpected EOF");function Lv(e){return e.t===iv.Ident&&("@"===e.v[0]||"%"===e.v[0]||":"===e.v[0])}const Nv=new RegExp("^-?[0-9]+$"),Dv=new RegExp("^([0-9a-fA-F]{2})*$");class Bv{constructor(e){this.opt=e}expand(e){var t,r,n;if(void 0!==(null===(t=this.opt)||void 0===t?void 0:t.expandGlobalConstant)&&"constant"===e.prim){const t=function(e,t){return void 0!==e.args&&1===e.args.length&&"string"in e.args[0]&&e.args[0].string in t?t[e.args[0].string]:e}(e,this.opt.expandGlobalConstant);return t!==e&&(t[rv]=Object.assign(Object.assign({},e[rv]||{first:0,last:0}),{globalConstant:e})),t}if(void 0===(null===(r=this.opt)||void 0===r?void 0:r.expandMacros)||(null===(n=this.opt)||void 0===n?void 0:n.expandMacros)){const t=function(e,t){const r=(null===t||void 0===t?void 0:t.protocol)||fv;function n(e){return void 0!==e?[{prim:"RENAME",annots:e}]:[]}switch(e.prim){case"CMPEQ":case"CMPNEQ":case"CMPLT":case"CMPGT":case"CMPLE":case"CMPGE":if(vv(e,0))return[{prim:"COMPARE"},kv({prim:e.prim.slice(3),annots:e.annots})];break;case"IFEQ":case"IFNEQ":case"IFLT":case"IFGT":case"IFLE":case"IFGE":if(vv(e,2))return[{prim:e.prim.slice(2)},kv({prim:"IF",annots:e.annots,args:e.args})];break;case"IFCMPEQ":case"IFCMPNEQ":case"IFCMPLT":case"IFCMPGT":case"IFCMPLE":case"IFCMPGE":if(vv(e,2))return[{prim:"COMPARE"},{prim:e.prim.slice(5)},kv({prim:"IF",annots:e.annots,args:e.args})];break;case"FAIL":if(vv(e,0)&&yv(e))return[{prim:"UNIT"},{prim:"FAILWITH"}];break;case"ASSERT":if(vv(e,0)&&yv(e))return[{prim:"IF",args:[[],[[{prim:"UNIT"},{prim:"FAILWITH"}]]]}];break;case"ASSERT_EQ":case"ASSERT_NEQ":case"ASSERT_LT":case"ASSERT_GT":case"ASSERT_LE":case"ASSERT_GE":if(vv(e,0)&&yv(e))return[{prim:e.prim.slice(7)},{prim:"IF",args:[[],[[{prim:"UNIT"},{prim:"FAILWITH"}]]]}];break;case"ASSERT_CMPEQ":case"ASSERT_CMPNEQ":case"ASSERT_CMPLT":case"ASSERT_CMPGT":case"ASSERT_CMPLE":case"ASSERT_CMPGE":if(vv(e,0)&&yv(e))return[[{prim:"COMPARE"},{prim:e.prim.slice(10)}],{prim:"IF",args:[[],[[{prim:"UNIT"},{prim:"FAILWITH"}]]]}];break;case"ASSERT_NONE":if(vv(e,0)&&yv(e))return[{prim:"IF_NONE",args:[[],[[{prim:"UNIT"},{prim:"FAILWITH"}]]]}];break;case"ASSERT_SOME":if(vv(e,0))return[{prim:"IF_NONE",args:[[[{prim:"UNIT"},{prim:"FAILWITH"}]],n(e.annots)]}];break;case"ASSERT_LEFT":if(vv(e,0))return[{prim:"IF_LEFT",args:[n(e.annots),[[{prim:"UNIT"},{prim:"FAILWITH"}]]]}];break;case"ASSERT_RIGHT":if(vv(e,0))return[{prim:"IF_LEFT",args:[[[{prim:"UNIT"},{prim:"FAILWITH"}]],n(e.annots)]}];break;case"IF_SOME":if(vv(e,2))return[kv({prim:"IF_NONE",annots:e.annots,args:[e.args[1],e.args[0]]})];break;case"IF_RIGHT":if(vv(e,2))return[kv({prim:"IF_LEFT",annots:e.annots,args:[e.args[1],e.args[0]]})];break;case"CAR":case"CDR":if(void 0===e.args)return e;if(vv(e,1)&&bv(e,e.args[0])){const t=parseInt(e.args[0].int,10);return kv({prim:"GET",args:[{int:"CAR"===e.prim?String(2*t+1):String(2*t)}],annots:e.annots})}}if(Ev.test(e.prim)&&vv(e,0)){const{fields:t,rest:r}=Sv(e.annots),{r:n}=wv(e,e.prim.slice(1),t,((e,t,r)=>[...e||[],...t||[],r]));return n.map((([e,t],i)=>{const o=[..._v(t,null).map((e=>null===e?"%":e)),...0===e&&i===n.length-1?r:[]],a=kv({prim:"PAIR",annots:0!==o.length?o:void 0});return 0===e?a:{prim:"DIP",args:1===e?[[a]]:[{int:String(e)},[a]]}}))}if(Pv.test(e.prim)){if(mv(r,hv.PtEdo2Zk)&&vv(e,0)){const{r:t}=wv(e,e.prim.slice(3),e.annots||[],((e,t,r)=>[r,...t||[],...e||[]]));return t.map((([e,t])=>{const r=[{prim:"DUP"},kv({prim:"CAR",annots:null!==t[0]?[t[0]]:void 0}),{prim:"DIP",args:[[kv({prim:"CDR",annots:null!==t[1]?[t[1]]:void 0})]]}];return 0===e?r:{prim:"DIP",args:1===e?[[r]]:[{int:String(e)},[r]]}}))}if("UNPAIR"===e.prim)return e;if(vv(e,0)){const{r:t}=wv(e,e.prim.slice(3),[],((e,t,r)=>[r,...t||[],...e||[]]));return t.map((([e])=>{const t=kv({prim:"UNPAIR"});return 0===e?t:{prim:"DIP",args:1===e?[[t]]:[{int:String(e)},[t]]}}))}}if(Ov.test(e.prim)&&vv(e,0)){const t=[...e.prim.slice(1,e.prim.length-1)];return t.map(((r,n)=>{const i=n===t.length-1?e.annots:void 0;switch(r){case"A":return kv({prim:"CAR",annots:i});case"D":return kv({prim:"CDR",annots:i});default:throw new gv(e,`unexpected character: ${r}`)}}))}if(Av.test(e.prim)&&vv(e,0)){const{fields:t,rest:r}=Sv(e.annots);if(t.length>1)throw new gv(e,`unexpected annotation on macro ${e.prim}: ${t}`);const n=0!==t.length?{a:[{prim:"DUP"},{prim:"CAR",annots:t},{prim:"DROP"},{prim:"CDR",annots:["@%%"]},{prim:"SWAP"},{prim:"PAIR",annots:[t[0],"%@"]}],d:[{prim:"DUP"},{prim:"CDR",annots:t},{prim:"DROP"},{prim:"CAR",annots:["@%%"]},{prim:"PAIR",annots:["%@",t[0]]}]}:{a:[{prim:"CDR",annots:["@%%"]},{prim:"SWAP"},{prim:"PAIR",annots:["%","%@"]}],d:[{prim:"CAR",annots:["@%%"]},{prim:"PAIR",annots:["%@","%"]}]};return xv(e,e.prim.slice(5,e.prim.length-1),r,n)}if(Tv.test(e.prim)&&vv(e,1)){const{fields:t}=Sv(e.annots);if(t.length>1)throw new gv(e,`unexpected annotation on macro ${e.prim}: ${t}`);const r={a:[{prim:"DUP"},{prim:"CDR",annots:["@%%"]},{prim:"DIP",args:[[kv({prim:"CAR",annots:0!==t.length?["@"+t[0].slice(1)]:void 0}),e.args[0]]]},{prim:"SWAP"},{prim:"PAIR",annots:[0!==t.length?t[0]:"%","%@"]}],d:[{prim:"DUP"},kv({prim:"CDR",annots:0!==t.length?["@"+t[0].slice(1)]:void 0}),e.args[0],{prim:"SWAP"},{prim:"CAR",annots:["@%%"]},{prim:"PAIR",annots:["%@",0!==t.length?t[0]:"%"]}]};return xv(e,e.prim.slice(5,e.prim.length-1),[],r)}if(jv.test(e.prim)&&vv(e,1)){let t=0;for(;"I"===e.prim[1+t];)t++;return kv({prim:"DIP",args:[{int:String(t)},e.args[0]]})}if(Cv.test(e.prim)){let t=0;for(;"U"===e.prim[1+t];)t++;if(mv(r,hv.PtEdo2Zk)){if(1===t){if(void 0===e.args)return e;vv(e,1)&&bv(e,e.args[0])&&(t=parseInt(e.args[0].int,10))}else vv(e,0);return 1===t?[kv({prim:"DUP",annots:e.annots})]:2===t?[{prim:"DIP",args:[[kv({prim:"DUP",annots:e.annots})]]},{prim:"SWAP"}]:[{prim:"DIP",args:[{int:String(t-1)},[kv({prim:"DUP",annots:e.annots})]]},{prim:"DIG",args:[{int:String(t)}]}]}if(1===t)return e;if(vv(e,0))return kv({prim:"DUP",args:[{int:String(t)}],annots:e.annots})}return e}(e,this.opt);return t!==e&&(t[rv]=Object.assign(Object.assign({},e[rv]||{first:0,last:0}),{macro:e})),t}return e}parseListExpr(e,t){var r;const n={first:t.first,last:t.last},i="("===t.t;let o;if(i){if(o=e.next(),o.done)throw Mv;n.last=o.value.last}else o={value:t};if(o.value.t!==iv.Ident)throw new Rv(o.value,`not an identifier: ${o.value.v}`);const a={prim:o.value.v,[rv]:n};for(;;){const t=e.next();if(t.done){if(i)throw Mv;break}if(")"===t.value.t){if(!i)throw new Rv(t.value,"unexpected closing bracket");n.last=t.value.last;break}if(Lv(t.value))a.annots=a.annots||[],a.annots.push(t.value.v),n.last=t.value.last;else{a.args=a.args||[];const i=this.parseExpr(e,t.value);n.last=(null===(r=i[rv])||void 0===r?void 0:r.last)||n.last,a.args.push(i)}}return this.expand(a)}parseArgs(e,t){var r;const n={first:t.first,last:t.last},i={prim:t.v,[rv]:n};for(;;){const t=e.next();if(t.done||"}"===t.value.t||";"===t.value.t)return[i,t];if(Lv(t.value))n.last=t.value.last,i.annots=i.annots||[],i.annots.push(t.value.v);else{const o=this.parseExpr(e,t.value);n.last=(null===(r=o[rv])||void 0===r?void 0:r.last)||n.last,i.args=i.args||[],i.args.push(o)}}}parseSequenceExpr(e,t){var r,n;const i={first:t.first,last:t.last},o=[];o[rv]=i;const a="{"===t.t;let s="{"===t.t?null:{value:t};for(;;){if(null===s&&(s=e.next(),s.done||(i.last=s.value.last)),s.done){if(a)throw Mv;return o}if("}"===s.value.t){if(a)return o;throw new Rv(s.value,"unexpected closing bracket")}if(s.value.t===iv.Ident){const[t,n]=this.parseArgs(e,s.value);i.last=(null===(r=t[rv])||void 0===r?void 0:r.last)||i.last,o.push(this.expand(t)),s=n}else{const t=this.parseExpr(e,s.value);i.last=(null===(n=t[rv])||void 0===n?void 0:n.last)||i.last,o.push(t),s=null}null===s&&(s=e.next(),s.done||(i.last=s.value.last)),s.done||";"!==s.value.t||(s=null)}}parseExpr(e,t){switch(t.t){case iv.Ident:return this.expand({prim:t.v,[rv]:{first:t.first,last:t.last}});case iv.Number:return{int:t.v,[rv]:{first:t.first,last:t.last}};case iv.String:return{string:JSON.parse(t.v),[rv]:{first:t.first,last:t.last}};case iv.Bytes:return{bytes:t.v.slice(2),[rv]:{first:t.first,last:t.last}};case"{":return this.parseSequenceExpr(e,t);default:return this.parseListExpr(e,t)}}parseSequence(e){if("string"!==typeof e)throw new TypeError(`string type was expected, got ${typeof e} instead`);const t=uv(e),r=t.next();return r.done?null:this.parseSequenceExpr(t,r.value)}parseList(e){if("string"!==typeof e)throw new TypeError(`string type was expected, got ${typeof e} instead`);const t=uv(e),r=t.next();return r.done?null:this.parseListExpr(t,r.value)}parseMichelineExpression(e){if("string"!==typeof e)throw new TypeError(`string type was expected, got ${typeof e} instead`);const t=uv(e),r=t.next();return r.done?null:this.parseExpr(t,r.value)}parseScript(e){return this.parseSequence(e)}parseData(e){return this.parseList(e)}parseJSON(e){if("object"!==typeof e)throw new TypeError(`object type was expected, got ${typeof e} instead`);if(Array.isArray(e)){const t=[];for(const r of e){if(null===r||"object"!==typeof r)throw new Iv(r,`unexpected sequence element: ${r}`);t.push(this.parseJSON(r))}return t}if("prim"in e){const t=e;if("string"===typeof t.prim&&(void 0===t.annots||Array.isArray(t.annots))&&(void 0===t.args||Array.isArray(t.args))){const e={prim:t.prim};if(void 0!==t.annots){for(const e of t.annots)if("string"!==typeof e)throw new Iv(e,`string expected: ${e}`);e.annots=t.annots}if(void 0!==t.args){e.args=[];for(const r of t.args){if(null===r||"object"!==typeof r)throw new Iv(r,`unexpected argument: ${r}`);e.args.push(this.parseJSON(r))}}return this.expand(e)}throw new Iv(e,`malformed prim expression: ${e}`)}if("string"in e){if("string"===typeof e.string)return{string:e.string};throw new Iv(e,`malformed string literal: ${e}`)}if("int"in e){if("string"===typeof e.int&&Nv.test(e.int))return{int:e.int};throw new Iv(e,`malformed int literal: ${e}`)}if("bytes"in e){if("string"===typeof e.bytes&&Dv.test(e.bytes))return{bytes:e.bytes};throw new Iv(e,`malformed bytes literal: ${e}`)}throw new Iv(e,`unexpected object: ${e}`)}}const zv=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Uv=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998];class Fv extends Ka{constructor(e){super(),this.message=e,this.name="Base58DecodingError"}}function $v(e){const t=(e.length+9)%64,r=0===t?0:64-t;if(e.length>268435455)throw new ns("",`: Invalid length ${e.length} is too big -- SHA-256.`);const n=e.length<<3,i=[...e,128,...new Array(r).fill(0),0,0,0,0,n>>24&255,n>>16&255,n>>8&255,255&n];function o(e,t){return e>>>t|e<<32-t}const a=[...zv],s=new Array(64),c=new Array(8);for(let u=0;u>>3,r=o(s[t-2],17)^o(s[t-2],19)^s[t-2]>>>10;s[t]=(0|r)+s[t-7]+e+s[t-16]|0,t++}for(let r=0;r<8;r++)c[r]=a[r];for(let r=0;r<64;r++){const e=o(c[0],2)^o(c[0],13)^o(c[0],22),t=o(c[4],6)^o(c[4],11)^o(c[4],25),n=c[7]+t+(c[4]&c[5]^~c[4]&c[6])+Uv[r]+s[r]|0,i=e+(c[0]&c[1]^c[0]&c[2]^c[1]&c[2])|0;c[7]=c[6],c[6]=c[5],c[5]=c[4],c[4]=c[3]+n|0,c[3]=c[2],c[2]=c[1],c[1]=c[0],c[0]=n+i|0}for(let r=0;r<8;r++)a[r]=a[r]+c[r]|0}const l=[];for(const u of a)l.push(u>>24&255),l.push(u>>16&255),l.push(u>>8&255),l.push(255&u);return l}const Hv=[0,1,2,3,4,5,6,7,8,-1,-1,-1,-1,-1,-1,-1,9,10,11,12,13,14,15,16,-1,17,18,19,20,21,-1,22,23,24,25,26,27,28,29,30,31,32,-1,-1,-1,-1,-1,-1,33,34,35,36,37,38,39,40,41,42,43,-1,44,45,46,47,48,49,50,51,52,53,54,55,56,57];function Vv(e,t){const r=e.charCodeAt(t)-49;if(r>=Hv.length||-1===Hv[r])throw new Fv(`Unexpected character at position ${t}: ${e[t]}`);return Hv[r]}function qv(e){const t=function(e){const t=[];let r=0;for(;r0;)t.push(0);return t.reverse()}(e);if(t.length<4)throw new Fv(`Data is too short ${t.length}`);const r=t.slice(0,t.length-4),n=t.slice(t.length-4),i=$v($v(r));if(n[0]!==i[0]||n[1]!==i[1]||n[2]!==i[2]||n[3]!==i[3])throw new Fv("Invalid checksum");return r}class Kv extends Wa{constructor(e){super(),this.message=e,this.name="InvalidMichelsonError"}}class Wv extends Wa{constructor(e){super(),this.message=e,this.name="InvalidTypeExpressionError"}}class Gv extends Wa{constructor(e){super(),this.message=e,this.name="InvalidDataExpressionError"}}class Yv extends Wa{constructor(e){super(),this.entrypoint=e,this.name="InvalidEntrypointError",this.message=`Contract has no entrypoint named: "${e}"`}}class Zv extends Ka{constructor(e){super(),this.message=e,this.name="LongIntegerError"}}class Xv extends Ka{constructor(e,t){super(),this.val=e,this.message=t,this.name="MichelsonError"}}class Jv extends Xv{constructor(e,t,r){super(e,t),this.val=e,this.message=t,this.name="MichelsonTypeError",void 0!==r&&(this.data=r)}}class Qv{append(e){let t=0;for(;0!==e||t57)throw new Zv(`unexpected character in integer constant "${e[t]}"`);this.append(r-48)}}else e<0?(this.neg=!0,this.append(-e)):this.append(e)}cmp(e){if(this.neg!==e.neg)return(e.neg?1:0)-(this.neg?1:0);{let t=0;if(this.buf.length!==e.buf.length)t=this.buf.length=0&&this.buf[r]===e.buf[r];)r--;t=r<0?0:this.buf[r]=0}catch(Nn){return!1}}const ny=/^(@%|@%%|%@|[@:%]([_0-9a-zA-Z][_0-9a-zA-Z.%@]*)?)$/;function iy(e,t){if(Array.isArray(e))return{};let r,n,i;if(void 0!==e.annots)for(const o of e.annots)if(0!==o.length){if(!ny.test(o)||!(null===t||void 0===t?void 0:t.specialVar)&&("@%"===o||"@%%"===o)||!(null===t||void 0===t?void 0:t.specialFields)&&"%@"===o)throw new Xv(e,`${e.prim}: unexpected annotation: ${o}`);switch(o[0]){case"%":((null===t||void 0===t?void 0:t.emptyFields)||o.length>1)&&(r=r||[],r.push(o));break;case":":o.length>1&&(n=n||[],n.push(o));break;case"@":((null===t||void 0===t?void 0:t.emptyVar)||o.length>1)&&(i=i||[],i.push(o))}}return{f:r,t:n,v:i}}const oy={BlockHash:[32,[1,52]],OperationHash:[32,[5,116]],OperationListHash:[32,[133,233]],OperationListListHash:[32,[29,159,109]],ProtocolHash:[32,[2,170]],ContextHash:[32,[79,199]],ED25519PublicKeyHash:[20,[6,161,159]],SECP256K1PublicKeyHash:[20,[6,161,161]],P256PublicKeyHash:[20,[6,161,164]],ContractHash:[20,[2,90,121]],CryptoboxPublicKeyHash:[16,[153,103]],ED25519Seed:[32,[13,15,58,7]],ED25519PublicKey:[32,[13,15,37,217]],SECP256K1SecretKey:[32,[17,162,224,201]],P256SecretKey:[32,[16,81,238,189]],ED25519EncryptedSeed:[56,[7,90,60,179,41]],SECP256K1EncryptedSecretKey:[56,[9,237,241,174,150]],P256EncryptedSecretKey:[56,[9,48,57,115,171]],SECP256K1PublicKey:[33,[3,254,226,86]],P256PublicKey:[33,[3,178,139,127]],SECP256K1Scalar:[33,[38,248,136]],SECP256K1Element:[33,[5,92,0]],ED25519SecretKey:[64,[43,246,78,7]],ED25519Signature:[64,[9,245,205,134,18]],SECP256K1Signature:[64,[13,115,101,19,63]],P256Signature:[64,[54,240,44,52]],GenericSignature:[64,[4,130,43]],ChainID:[4,[87,82,0]],RollupAddress:[20,[1,128,120,31]],TxRollupL2Address:[20,[6,161,166]]};function ay(e,...t){const r=qv(e);for(const n of t){const[e,t]=oy[n];if(r.length===e+t.length){let e=0;for(;e0?Ey(e,1):Ey(e,0);break;default:throw new vy(e,"instruction expected")}}return!0}function Oy(e){if(xy(e))if(Array.isArray(e)||"pair"===e.prim||"or"===e.prim||"option"===e.prim)Ny(e,(e=>Oy(e)));else if(!Object.prototype.hasOwnProperty.call(my,e.prim))throw new vy(e,`${e.prim}: type is not comparable`);return!0}function Ay(e){if(xy(e)&&yy(e)){if(!Object.prototype.hasOwnProperty.call(gy,e.prim)||"big_map"===e.prim||"operation"===e.prim||"sapling_state"===e.prim||"ticket"===e.prim)throw new vy(e,`${e.prim}: type can't be used inside PACK/UNPACK instructions`);Ny(e,(e=>Ay(e)))}return!0}function Ty(e){if(xy(e)&&yy(e)){if(!Object.prototype.hasOwnProperty.call(gy,e.prim)||"big_map"===e.prim||"operation"===e.prim||"sapling_state"===e.prim||"ticket"===e.prim||"contract"===e.prim)throw new vy(e,`${e.prim}: type can't be pushed`);Ny(e,(e=>Ty(e)))}return!0}function jy(e){if(xy(e)&&yy(e)){if(!Object.prototype.hasOwnProperty.call(gy,e.prim)||"operation"===e.prim||"contract"===e.prim)throw new vy(e,`${e.prim}: type can't be used as part of a storage`);Ny(e,(e=>jy(e)))}return!0}function Cy(e){if(xy(e)&&yy(e)){if(!Object.prototype.hasOwnProperty.call(gy,e.prim)||"operation"===e.prim)throw new vy(e,`${e.prim}: type can't be used as part of a parameter`);Ny(e,(e=>Cy(e)))}return!0}function Ry(e){if(xy(e)&&yy(e)){if(!Object.prototype.hasOwnProperty.call(gy,e.prim)||"big_map"===e.prim||"operation"===e.prim||"sapling_state"===e.prim)throw new vy(e,`${e.prim}: type can't be used inside a big_map`);Ny(e,(e=>Ry(e)))}return!0}const Iy=new RegExp("^[a-zA-Z0-9_.%@]*$");function My(e){if(e.string.length>hy)throw new vy(e,`view name too long: ${e.string}`);if(!Iy.test(e.string))throw new vy(e,`invalid character(s) in view name: ${e.string}`)}function Ly(e){if(xy(e)&&yy(e)){if(!Object.prototype.hasOwnProperty.call(gy,e.prim))throw new vy(e,"type expected");Ny(e,(e=>Ly(e)))}return!0}function Ny(e,t){if(Array.isArray(e)||"pair"===e.prim){const r=Array.isArray(e)?e:e.args;if(void 0===r||r.length<2)throw new vy(e,"at least 2 arguments expected");return r.forEach((e=>{xy(e)&&t(e)})),!0}switch(e.prim){case"option":case"list":Ey(e,1)&&xy(e.args[0])&&t(e.args[0]);break;case"contract":Ey(e,1)&&Cy(e.args[0]);break;case"or":Ey(e,2)&&xy(e.args[0])&&xy(e.args[1])&&(t(e.args[0]),t(e.args[1]));break;case"lambda":Ey(e,2)&&(Ly(e.args[0]),Ly(e.args[1]));break;case"set":Ey(e,1)&&Oy(e.args[0]);break;case"map":Ey(e,2)&&xy(e.args[0])&&xy(e.args[1])&&(Oy(e.args[0]),t(e.args[1]));break;case"big_map":Ey(e,2)&&xy(e.args[0])&&xy(e.args[1])&&(Oy(e.args[0]),Ry(e.args[1]),t(e.args[1]));break;case"ticket":Ey(e,1)&&xy(e.args[0])&&Oy(e.args[0]);break;case"sapling_state":case"sapling_transaction":Ey(e,1)&&Sy(e.args[0]);break;default:Ey(e,0)}return!0}function Dy(e){if("int"in e||"string"in e||"bytes"in e)return!0;if(Array.isArray(e)){let t=0;for(const r of e)yy(r)&&"Elt"===r.prim?(Ey(r,2)&&(Dy(r.args[0]),Dy(r.args[1])),t++):Dy(r);if(0!==t&&t!==e.length)throw new vy(e,"data entries and map elements can't be intermixed");return!0}if(!yy(e))throw new vy(e,"data entry expected");switch(e.prim){case"Unit":case"True":case"False":case"None":Ey(e,0);break;case"Pair":if(void 0===e.args||e.args.length<2)throw new vy(e,"at least 2 arguments expected");for(const t of e.args)Dy(t);break;case"Left":case"Right":case"Some":Ey(e,1)&&Dy(e.args[0]);break;case"Lambda_rec":e.args&&Py(e.args);break;default:if(!Object.prototype.hasOwnProperty.call(py,e.prim))throw new vy(e,"data entry or instruction expected");Py(e)}return!0}function By(e){if(wy(e)){const t={},r={};for(const n of e)if(by(n)){if("view"!==n.prim){if(n.prim in t)throw new vy(e,`duplicate contract section: ${n.prim}`);t[n.prim]=!0}switch(n.prim){case"code":Ey(n,1)&&wy(n.args[0])&&Py(n.args[0]);break;case"parameter":if(Ey(n,1)&&Cy(n.args[0]),n.annots)throw new vy(n,"Annotation must be part of the parameter type");break;case"storage":Ey(n,1)&&jy(n.args[0]);break;case"view":if(Ey(n,4)){if(ky(n.args[0])){const t=n.args[0];if(t.string in r)throw new vy(e,`duplicate view name: ${t.string}`);r[t.string]=!0,My(t)}Ty(n.args[1]),Ty(n.args[2]),wy(n.args[3])&&Py(n.args[3])}break;default:throw new vy(e,`unexpected contract section: ${n.prim}`)}}}return!0}function zy(e){return Object.prototype.hasOwnProperty.call(py,e.prim)}function Uy(e){if(!Array.isArray(e))return!1;for(const t of e)if("prim"in t){if(zy(t))throw new Xv(e,`Instruction outside of a lambda: ${JSON.stringify(e)}`);if("Elt"===t.prim)throw new Xv(e,`Elt item outside of a map literal: ${JSON.stringify(e)}`)}return!0}"function"===typeof SuppressedError&&SuppressedError;const Fy=["parameter","storage","code","False","Elt","Left","None","Pair","Right","Some","True","Unit","PACK","UNPACK","BLAKE2B","SHA256","SHA512","ABS","ADD","AMOUNT","AND","BALANCE","CAR","CDR","CHECK_SIGNATURE","COMPARE","CONCAT","CONS","CREATE_ACCOUNT","CREATE_CONTRACT","IMPLICIT_ACCOUNT","DIP","DROP","DUP","EDIV","EMPTY_MAP","EMPTY_SET","EQ","EXEC","FAILWITH","GE","GET","GT","HASH_KEY","IF","IF_CONS","IF_LEFT","IF_NONE","INT","LAMBDA","LE","LEFT","LOOP","LSL","LSR","LT","MAP","MEM","MUL","NEG","NEQ","NIL","NONE","NOT","NOW","OR","PAIR","PUSH","RIGHT","SIZE","SOME","SOURCE","SENDER","SELF","STEPS_TO_QUOTA","SUB","SWAP","TRANSFER_TOKENS","SET_DELEGATE","UNIT","UPDATE","XOR","ITER","LOOP_LEFT","ADDRESS","CONTRACT","ISNAT","CAST","RENAME","bool","contract","int","key","key_hash","lambda","list","map","big_map","nat","option","or","pair","set","signature","string","bytes","mutez","timestamp","unit","operation","address","SLICE","DIG","DUG","EMPTY_BIG_MAP","APPLY","chain_id","CHAIN_ID","LEVEL","SELF_ADDRESS","never","NEVER","UNPAIR","VOTING_POWER","TOTAL_VOTING_POWER","KECCAK","SHA3","PAIRING_CHECK","bls12_381_g1","bls12_381_g2","bls12_381_fr","sapling_state","sapling_transaction_deprecated","SAPLING_EMPTY_STATE","SAPLING_VERIFY_UPDATE","ticket","TICKET_DEPRECATED","READ_TICKET","SPLIT_TICKET","JOIN_TICKETS","GET_AND_UPDATE","chest","chest_key","OPEN_CHEST","VIEW","view","constant","SUB_MUTEZ","tx_rollup_l2_address","MIN_BLOCK_TIME","sapling_transaction","EMIT","Lambda_rec","LAMBDA_REC","TICKET","BYTES","NAT"];Object.assign({},...Fy.map(((e,t)=>({[e]:t}))));var $y;!function(e){e[e.Int=0]="Int",e[e.String=1]="String",e[e.Sequence=2]="Sequence",e[e.Prim0=3]="Prim0",e[e.Prim0Annot=4]="Prim0Annot",e[e.Prim1=5]="Prim1",e[e.Prim1Annot=6]="Prim1Annot",e[e.Prim2=7]="Prim2",e[e.Prim2Annot=8]="Prim2Annot",e[e.Prim=9]="Prim",e[e.Bytes=10]="Bytes"}($y||($y={}));const Hy=new Error("bounds out of range");class Vy{constructor(e,t=0,r=e.length){this.buffer=e,this.idx=t,this.cap=r}get length(){return this.cap-this.idx}readBytes(e){if(this.cap-this.idx>>0}readUint16(){if(this.cap-this.idx<2)throw Hy;return(this.buffer[this.idx++]<<8|this.buffer[this.idx++])>>>0}readUint32(){if(this.cap-this.idx<4)throw Hy;return(this.buffer[this.idx++]<<24|this.buffer[this.idx++]<<16|this.buffer[this.idx++]<<8|this.buffer[this.idx++])>>>0}readInt8(){if(this.cap-this.idx<1)throw Hy;return this.buffer[this.idx++]<<24>>24}readInt16(){if(this.cap-this.idx<2)throw Hy;return(this.buffer[this.idx++]<<8|this.buffer[this.idx++])<<16>>16}readInt32(){if(this.cap-this.idx<4)throw Hy;return this.buffer[this.idx++]<<24|this.buffer[this.idx++]<<16|this.buffer[this.idx++]<<8|this.buffer[this.idx++]}}var qy,Ky,Wy;function Gy(e){let t;const r=e.readUint8();switch(r){case Ky.ED25519:t="ED25519PublicKeyHash";break;case Ky.SECP256K1:t="SECP256K1PublicKeyHash";break;case Ky.P256:t="P256PublicKeyHash";break;default:throw new Error(`unknown public key hash tag: ${r}`)}return{type:t,hash:e.readBytes(20)}}function Yy(e){let t;const r=e.readUint8();switch(r){case qy.Implicit:t=Gy(e);break;case qy.Originated:t={type:"ContractHash",hash:e.readBytes(20)},e.readBytes(1);break;default:throw new Error(`unknown address tag: ${r}`)}if(0!==e.length){const r=new TextDecoder;t.entryPoint=r.decode(new Uint8Array(e.readBytes(e.length)))}return t}function Zy(e){let t,r;const n=e.readUint8();switch(n){case Wy.ED25519:r="ED25519PublicKey",t=32;break;case Wy.SECP256K1:r="SECP256K1PublicKey",t=33;break;case Wy.P256:r="P256PublicKey",t=33;break;default:throw new Error(`unknown public key tag: ${n}`)}return{type:r,publicKey:e.readBytes(t)}}!function(e){e[e.Implicit=0]="Implicit",e[e.Originated=1]="Originated"}(qy||(qy={})),function(e){e[e.ED25519=0]="ED25519",e[e.SECP256K1=1]="SECP256K1",e[e.P256=2]="P256"}(Ky||(Ky={})),function(e){e[e.ED25519=0]="ED25519",e[e.SECP256K1=1]="SECP256K1",e[e.P256=2]="P256"}(Wy||(Wy={}));class Xy extends Xv{constructor(e,t,r){super(e,r),this.val=e,this.stackState=t,this.message=r,this.name="MichelsonInstructionError"}}function Jy(e){return Array.isArray(e)?"pair":e.prim}function Qy(e){return"prim"in e?e.args:e}function eb(e,t,r=!1){if(Jy(e)!==Jy(t))throw new Jv(e,`types mismatch: ${Jy(e)} != ${Jy(t)}`,void 0);const n=[iy(e),iy(t)];if(n[0].t&&n[1].t&&n[0].t[0]!==n[1].t[0])throw new Jv(e,`${Jy(e)}: type names mismatch: ${n[0].t[0]} != ${n[1].t[0]}`,void 0);if(r&&n[0].f&&n[1].f&&n[0].f[0]!==n[1].f[0])throw new Jv(e,`${Jy(e)}: field names mismatch: ${n[0].f[0]} != ${n[1].f}`,void 0);if(cy(e)){const r=sy("pair",e),n=sy("pair",t);return eb(r.args[0],n.args[0],!0),void eb(r.args[1],n.args[1],!0)}switch(e.prim){case"option":case"list":case"contract":case"set":case"ticket":eb(e.args[0],t.args[0]);break;case"or":eb(e.args[0],t.args[0],!0),eb(e.args[1],t.args[1],!0);break;case"lambda":case"map":case"big_map":eb(e.args[0],t.args[0]),eb(e.args[1],t.args[1]);break;case"sapling_state":case"sapling_transaction":if(parseInt(e.args[0].int,10)!==parseInt(t.args[0].int,10))throw new Jv(e,`${Jy(e)}: type argument mismatch: ${e.args[0].int} != ${t.args[0].int}`,void 0)}}function tb(e,t){if(e.length!==t.length)throw new Jv(e,`stack length mismatch: ${e.length} != ${t.length}`,void 0);for(let r=0;r1)throw new Jv(e,`${e.prim}: at most one type annotation allowed: ${e.annots}`,void 0);if(t){if(((null===(n=o.f)||void 0===n?void 0:n.length)||0)>1)throw new Jv(e,`${e.prim}: at most one field annotation allowed: ${e.annots}`,void 0)}else if(((null===(i=o.f)||void 0===i?void 0:i.length)||0)>0)throw new Jv(e,`${e.prim}: field annotations aren't allowed: ${e.annots}`,void 0)}if(cy(e)){const t=Qy(e);for(const e of t)rb(e,!0)}else switch(e.prim){case"option":case"list":case"contract":case"set":rb(e.args[0]);break;case"or":for(const t of e.args)rb(t,!0);break;case"lambda":case"map":case"big_map":rb(e.args[0]),rb(e.args[1])}}function nb(e){if(!Array.isArray(e))return!1;for(const t of e)if(!(Array.isArray(t)&&nb(t)||"prim"in t&&zy(t)))return!1;return!0}function ib(e,t,r){if(cy(t)){if(ly(e)){Uy(e);const n=sy("Pair",e),i=sy("pair",t);return ib(n.args[0],i.args[0],r),void ib(n.args[1],i.args[1],r)}throw new Jv(t,`pair expected: ${JSON.stringify(e)}`,e)}switch(t.prim){case"int":if("int"in e&&ty(e.int))return;throw new Jv(t,`integer value expected: ${JSON.stringify(e)}`,e);case"nat":case"mutez":if("int"in e&&ry(e.int))return;throw new Jv(t,`natural value expected: ${JSON.stringify(e)}`,e);case"string":if("string"in e)return;throw new Jv(t,`string value expected: ${JSON.stringify(e)}`,e);case"bytes":case"bls12_381_g1":case"bls12_381_g2":if("bytes"in e&&null!==ey(e.bytes))return;throw new Jv(t,`bytes value expected: ${JSON.stringify(e)}`,e);case"bool":if("prim"in e&&("True"===e.prim||"False"===e.prim))return;throw new Jv(t,`boolean value expected: ${JSON.stringify(e)}`,e);case"key_hash":if("string"in e&&null!==ay(e.string,"ED25519PublicKeyHash","SECP256K1PublicKeyHash","P256PublicKeyHash"))return;if("bytes"in e)try{return void function(e){const t=ey(e.bytes);if(null===t)throw new Error(`can't parse bytes: "${e.bytes}"`);Gy(new Vy(new Uint8Array(t)))}(e)}catch(n){}throw new Jv(t,`key hash expected: ${JSON.stringify(e)}`,e);case"timestamp":if(("string"in e||"int"in e)&&null!==dy(e))return;throw new Jv(t,`timestamp expected: ${JSON.stringify(e)}`,e);case"address":if("string"in e){let t=e.string;const r=e.string.indexOf("%");if(r>=0&&(t=e.string.slice(0,r)),null!==ay(t,"ED25519PublicKeyHash","SECP256K1PublicKeyHash","P256PublicKeyHash","ContractHash","TxRollupL2Address","RollupAddress"))return}else if("bytes"in e)try{return void function(e){const t=ey(e.bytes);if(null===t)throw new Error(`can't parse bytes: "${e.bytes}"`);Yy(new Vy(new Uint8Array(t)))}(e)}catch(n){}throw new Jv(t,`address expected: ${JSON.stringify(e)}`,e);case"key":if("string"in e&&null!==ay(e.string,"ED25519PublicKey","SECP256K1PublicKey","P256PublicKey"))return;if("bytes"in e)try{return void function(e){const t=ey(e.bytes);if(null===t)throw new Error(`can't parse bytes: "${e.bytes}"`);Zy(new Vy(new Uint8Array(t)))}(e)}catch(n){}throw new Jv(t,`public key expected: ${JSON.stringify(e)}`,e);case"unit":if("prim"in e&&"Unit"===e.prim)return;throw new Jv(t,`unit value expected: ${JSON.stringify(e)}`,e);case"signature":if("bytes"in e||"string"in e&&null!==ay(e.string,"ED25519Signature","SECP256K1Signature","P256Signature","GenericSignature"))return;throw new Jv(t,`signature expected: ${JSON.stringify(e)}`,e);case"chain_id":if("bytes"in e||"string"in e){if(null!==("string"in e?qv(e.string):ey(e.bytes)))return}throw new Jv(t,`chain id expected: ${JSON.stringify(e)}`,e);case"option":if("prim"in e){if("None"===e.prim)return;if("Some"===e.prim)return void ib(e.args[0],t.args[0],r)}throw new Jv(t,`option expected: ${JSON.stringify(e)}`,e);case"list":case"set":if(Uy(e)){for(const n of e)ib(n,t.args[0],r);return}throw new Jv(t,`${t.prim} expected: ${JSON.stringify(e)}`,e);case"or":if("prim"in e){if("Left"===e.prim)return void ib(e.args[0],t.args[0],r);if("Right"===e.prim)return void ib(e.args[0],t.args[1],r)}throw new Jv(t,`union (or) expected: ${JSON.stringify(e)}`,e);case"lambda":if(nb(e)){const n=ob(e,[t.args[0]],r);if("failed"in n)throw new Jv(t,`function is failed with error type: ${n.failed}`,e);if(1!==n.length)throw new Jv(t,"function must return a value",e);return void eb(t.args[1],n[0])}throw new Jv(t,`function expected: ${JSON.stringify(e)}`,e);case"map":case"big_map":if(Array.isArray(e)){for(const n of e){if(!("prim"in n)||"Elt"!==n.prim)throw new Jv(t,`map elements expected: ${JSON.stringify(e)}`,e);ib(n.args[0],t.args[0],r),ib(n.args[1],t.args[1],r)}return}throw new Jv(t,`${t.prim} expected: ${JSON.stringify(e)}`,e);case"bls12_381_fr":if("int"in e&&ty(e.int)||"bytes"in e&&null!==ey(e.bytes))return;throw new Jv(t,`BLS12-381 element expected: ${JSON.stringify(e)}`,e);case"sapling_state":if(Array.isArray(e))return;throw new Jv(t,`sapling state expected: ${JSON.stringify(e)}`,e);case"ticket":return void ib(e,{prim:"pair",args:[{prim:"address"},t.args[0],{prim:"nat"}]},r);default:throw new Jv(t,`type ${Jy(t)} don't have Michelson literal representation`,e)}}function ob(e,t,r){const n=(null===r||void 0===r?void 0:r.protocol)||fv;if(Array.isArray(e))return function(e,t,r){let n=t,i=t,o=0;for(const a of e){const e=ob(a,i,r);if(n=e,"failed"in e)break;i=e,o++}if("failed"in n&&0==n.level&&(!("prim"in n.failed)||"never"!==n.failed.prim)&&o!==e.length-1)throw new Xy(e,n,"FAIL must appear in a tail position");if(void 0!==(null===r||void 0===r?void 0:r.traceCallback)){const i={op:e,in:t,out:n};r.traceCallback(i)}return"failed"in n?{failed:n.failed,level:n.level+1}:n}(e,t,r);const i=e;function o(e,...r){if(t.length{try{return e(...r)}catch(n){throw n instanceof Xv?new Xy(i,t,n.message):n}}}function s(e){return r=>{try{return e(r)}catch(n){throw n instanceof Xv?new Xy(i,t,n.message):n}}}const c=a(iy),l=a(tb),u=a(eb),d=s(Oy),h=s(Ay),f=s(jy),p=s(Ty),m=s(Ry);function g(e,r){const n=c(i,Object.assign(Object.assign({},r),{emptyFields:void 0!==e.f&&e.f>1,emptyVar:void 0!==e.v&&e.v>1})),o=(e,r,n)=>{if(e&&e.length>(r||0))throw new Xy(i,t,`${i.prim}: at most ${r||0} ${n} annotations allowed`)};return o(n.f,e.f,"field"),o(n.t,e.t,"type"),o(n.v,e.v,"variable"),n}function v(e,t){const r=e,n=Array.isArray(r)?{prim:"pair",args:r}:r,i=c(n),o=void 0!==t.v||void 0!==t.t||void 0!==t.f?[...(null===t.v?i.v:t.v)||[],...(null===t.t?i.t:t.t)||[],...(null===t.f?i.f:t.f)||[]]:void 0,a=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i["@"+(e.v?e.v[0].slice(1)+".":"")+t];function k(e,t){return"failed"in e||"failed"in t?"failed"in e?t:e:(l(e,t),e)}const E=(e=>{var i,a,s,E,P;switch(e.prim){case"DUP":{const r=e.args?parseInt(e.args[0].int,10):1;if(0===r)throw new Xy(e,t,"DUP 0 is forbidden");const n=o(r-1,null)[0];if("ticket"===Jy(n))throw new Xy(e,t,"ticket can't be DUPed");return[n,...t]}case"SWAP":{const e=o(0,null,null);return g({}),[e[1],e[0],...t.slice(2)]}case"SOME":return[v({prim:"option",args:[o(0,null)[0]]},g({t:1,v:1})),...t.slice(1)];case"UNIT":return[v({prim:"unit"},g({v:1,t:1})),...t];case"PAIR":{const r=e.args?parseInt(e.args[0].int,10):2;if(r<2)throw new Xy(e,t,`PAIR ${r} is forbidden`);const n=o(0,...new Array(r).fill(null)),i=g({f:r,t:1,v:1},{specialFields:!0}),a=e=>{const t=e.lastIndexOf(".");return e.slice(t>0?t+1:1)},s=n.map(((e,t)=>{var r;const n=c(e);return v(e,{v:null,t:null,f:i.f&&i.f.length>t&&"%"!==i.f[t]?"%@"===i.f[t]?n.v?["%"+a((null===(r=n.v)||void 0===r?void 0:r[0])||"")]:void 0:[i.f[t]]:void 0})}));return[v({prim:"pair",args:s},{t:i.t,v:i.v}),...t.slice(r)]}case"UNPAIR":{const r=e.args?parseInt(e.args[0].int,10):2;if(r<2)throw new Xy(e,t,`UNPAIR ${r} is forbidden`);const n=o(0,["pair"])[0],i=g({f:2,v:2},{specialVar:!0});return[...w(n,r).map(((e,t)=>b(n,e,i,t,0===t?"car":"cdr"))),...t.slice(1)]}case"CAR":case"CDR":{const r=sy("pair",o(0,["pair"])[0]);return[b(r,r.args["CAR"===e.prim?0:1],g({f:1,v:1},{specialVar:!0}),0,e.prim.toLocaleLowerCase()),...t.slice(1)]}case"CONS":{const e=o(0,null,["list"]);return u(e[0],e[1].args[0]),[y({prim:"list",args:[e[1].args[0]]}),...t.slice(2)]}case"SIZE":return o(0,["string","list","set","map","bytes"]),[y({prim:"nat"}),...t.slice(1)];case"MEM":{const e=o(0,null,["set","map","big_map"]);return d(e[0]),u(e[0],e[1].args[0]),[y({prim:"bool"}),...t.slice(2)]}case"GET":if(e.args){const r=parseInt(e.args[0].int,10);return[y(x(o(0,["pair"])[0],r)),...t.slice(1)]}{const e=o(0,null,["map","big_map"]);return d(e[0]),u(e[0],e[1].args[0]),[y({prim:"option",args:[e[1].args[1]]}),...t.slice(2)]}case"UPDATE":if(e.args){const r=parseInt(e.args[0].int,10),n=o(0,null,["pair"]);return[y(_(n[1],n[0],r)),...t.slice(2)]}{const e=o(0,null,["bool","option"]);if(d(e[0]),"bool"===e[1].prim){const r=o(2,["set"]);return u(e[0],r[0].args[0]),[y({prim:"set",args:[v(e[0],{t:null})]}),...t.slice(3)]}const r=o(2,["map","big_map"]);return u(e[0],r[0].args[0]),"map"===r[0].prim?[y({prim:"map",args:[v(e[0],{t:null}),v(e[1].args[0],{t:null})]}),...t.slice(3)]:(m(e[1].args[0]),[y({prim:"big_map",args:[v(e[0],{t:null}),v(e[1].args[0],{t:null})]}),...t.slice(3)])}case"GET_AND_UPDATE":{const e=g({v:2}),r=o(0,null,["option"],["map","big_map"]);d(r[0]),u(r[0],r[2].args[0]),u(r[1].args[0],r[2].args[1]);const n=null===(i=e.v)||void 0===i?void 0:i.map((e=>"@"!==e?[e]:void 0));return"map"===r[2].prim?[v({prim:"option",args:[r[2].args[1]]},{v:null===n||void 0===n?void 0:n[0]}),v({prim:"map",args:[v(r[0],{t:null}),v(r[1].args[0],{t:null})]},{v:null===n||void 0===n?void 0:n[1]}),...t.slice(3)]:(m(r[1].args[0]),[v({prim:"option",args:[r[2].args[1]]},{v:null===n||void 0===n?void 0:n[0]}),v({prim:"big_map",args:[v(r[0],{t:null}),v(r[1].args[0],{t:null})]},{v:null===n||void 0===n?void 0:n[1]}),...t.slice(3)])}case"EXEC":{const e=o(0,null,["lambda"]);return u(e[0],e[1].args[0]),[y(e[1].args[1]),...t.slice(2)]}case"APPLY":{const r=o(0,null,["lambda"]);if(f(r[0]),p(r[0]),!cy(r[1].args[0]))throw new Xy(e,t,`${e.prim}: function's argument must be a pair: ${Jy(r[1].args[0])}`);const n=r[1].args[0];return u(r[0],Qy(n)[0]),[y({prim:"lambda",args:[Qy(n)[1],r[1].args[1]]}),...t.slice(2)]}case"FAILWITH":{const e=o(0,null)[0];return mv(n,hv.PtEdo2Zk)||h(e),{failed:e,level:0}}case"NEVER":return o(0,["never"]),{failed:{prim:"never"},level:0};case"RENAME":return[y(o(0,null)[0]),...t.slice(1)];case"CONCAT":{const r=o(0,["string","list","bytes"]);if("list"===r[0].prim){if("string"!==Jy(r[0].args[0])&&"bytes"!==Jy(r[0].args[0]))throw new Xy(e,t,`${e.prim}: can't concatenate list of ${Jy(r[0].args[0])}'s`);return[y(r[0].args[0]),...t.slice(1)]}const n=o(1,["string","bytes"]);if(r[0].prim!==n[0].prim)throw new Xy(e,t,`${e.prim}: can't concatenate ${r[0].prim} with ${n[0].prim}`);return[y(n[0]),...t.slice(2)]}case"SLICE":return[y({prim:"option",args:[o(0,["nat"],["nat"],["string","bytes"])[2]]},"@slice"),...t.slice(3)];case"PACK":{const e=o(0,null)[0];return h(e),[y({prim:"bytes"},"@packed"),...t.slice(1)]}case"ADD":{const r=o(0,["nat","int","timestamp","mutez","bls12_381_g1","bls12_381_g2","bls12_381_fr"],["nat","int","timestamp","mutez","bls12_381_g1","bls12_381_g2","bls12_381_fr"]);if("nat"===r[0].prim&&"int"===r[1].prim||"int"===r[0].prim&&"nat"===r[1].prim)return[y({prim:"int"}),...t.slice(2)];if("int"===r[0].prim&&"timestamp"===r[1].prim||"timestamp"===r[0].prim&&"int"===r[1].prim)return[y({prim:"timestamp"}),...t.slice(2)];if(("int"===r[0].prim||"nat"===r[0].prim||"mutez"===r[0].prim||"bls12_381_g1"===r[0].prim||"bls12_381_g2"===r[0].prim||"bls12_381_fr"===r[0].prim)&&r[0].prim===r[1].prim)return[y(r[0]),...t.slice(2)];throw new Xy(e,t,`${e.prim}: can't add ${r[0].prim} to ${r[1].prim}`)}case"SUB":{const r=mv(n,hv.PsiThaCa)?o(0,["nat","int","timestamp","mutez"],["nat","int","timestamp","mutez"]):o(0,["nat","int","timestamp"],["nat","int","timestamp"]);if(("nat"===r[0].prim||"int"===r[0].prim)&&("nat"===r[1].prim||"int"===r[1].prim)||"timestamp"===r[0].prim&&"timestamp"===r[1].prim)return[y({prim:"int"}),...t.slice(2)];if("timestamp"===r[0].prim&&"int"===r[1].prim)return[y({prim:"timestamp"}),...t.slice(2)];if("mutez"===r[0].prim&&"mutez"===r[1].prim)return[y({prim:"mutez"}),...t.slice(2)];throw new Xy(e,t,`${e.prim}: can't subtract ${r[0].prim} from ${r[1].prim}`)}case"SUB_MUTEZ":return o(0,["mutez"],["mutez"]),[y({prim:"option",args:[{prim:"mutez"}]}),...t.slice(2)];case"MUL":{const r=o(0,["nat","int","mutez","bls12_381_g1","bls12_381_g2","bls12_381_fr"],["nat","int","mutez","bls12_381_g1","bls12_381_g2","bls12_381_fr"]);if("nat"===r[0].prim&&"int"===r[1].prim||"int"===r[0].prim&&"nat"===r[1].prim)return[y({prim:"int"}),...t.slice(2)];if("nat"===r[0].prim&&"mutez"===r[1].prim||"mutez"===r[0].prim&&"nat"===r[1].prim)return[y({prim:"mutez"}),...t.slice(2)];if(("bls12_381_g1"===r[0].prim||"bls12_381_g2"===r[0].prim||"bls12_381_fr"===r[0].prim)&&"bls12_381_fr"===r[1].prim||("nat"===r[0].prim||"int"===r[0].prim)&&r[0].prim===r[1].prim)return[y(r[0]),...t.slice(2)];if(("nat"===r[0].prim||"int"===r[0].prim)&&"bls12_381_fr"===r[1].prim||("nat"===r[1].prim||"int"===r[1].prim)&&"bls12_381_fr"===r[0].prim)return[y({prim:"bls12_381_fr"}),...t.slice(2)];throw new Xy(e,t,`${e.prim}: can't multiply ${r[0].prim} by ${r[1].prim}`)}case"EDIV":{const r=(e,t)=>({prim:"option",args:[{prim:"pair",args:[{prim:e},{prim:t}]}]}),n=o(0,["nat","int","mutez"],["nat","int","mutez"]);if("nat"===n[0].prim&&"nat"===n[1].prim)return[y(r("nat","nat")),...t.slice(2)];if(!("nat"!==n[0].prim&&"int"!==n[0].prim||"nat"!==n[1].prim&&"int"!==n[1].prim))return[y(r("int","nat")),...t.slice(2)];if("mutez"===n[0].prim&&"nat"===n[1].prim)return[y(r("mutez","mutez")),...t.slice(2)];if("mutez"===n[0].prim&&"mutez"===n[1].prim)return[y(r("nat","mutez")),...t.slice(2)];throw new Xy(e,t,`${e.prim}: can't euclideally divide ${n[0].prim} by ${n[1].prim}`)}case"ABS":return o(0,["int"]),[y({prim:"nat"}),...t.slice(1)];case"ISNAT":return o(0,["int"]),[y({prim:"option",args:[{prim:"nat"}]}),...t.slice(1)];case"INT":return o(0,["nat","bls12_381_fr","bytes"]),[y({prim:"int"}),...t.slice(1)];case"BYTES":return o(0,["nat","int"]),[y({prim:"bytes"}),...t.slice(1)];case"NAT":return o(0,["bytes"]),[y({prim:"nat"}),...t.slice(1)];case"NEG":{const e=o(0,["nat","int","bls12_381_g1","bls12_381_g2","bls12_381_fr"])[0];return"nat"===e.prim||"int"===e.prim?[y({prim:"int"}),...t.slice(1)]:[y(e),...t.slice(1)]}case"LSL":case"LSR":return o(0,["nat","bytes"],["nat","bytes"]),[y({prim:"nat"}),...t.slice(2)];case"OR":case"XOR":{const r=o(0,["nat","bytes","bool"],["nat","bytes","bool"]);if(r[0].prim!==r[1].prim)throw new Xy(e,t,`${e.prim}: both arguments must be of the same type: ${r[0].prim}, ${r[1].prim}`);return[y(r[1]),...t.slice(2)]}case"AND":{const r=o(0,["nat","bytes","bool","int"],["nat","bytes","bool"]);if(("int"!==r[0].prim||"nat"!==r[1].prim)&&r[0].prim!==r[1].prim)throw new Xy(e,t,`${e.prim}: both arguments must be of the same type: ${r[0].prim}, ${r[1].prim}`);return[y(r[1]),...t.slice(2)]}case"NOT":return"bool"===o(0,["nat","bytes","bool","int"])[0].prim?[y({prim:"bool"}),...t.slice(1)]:[y({prim:"int"}),...t.slice(1)];case"COMPARE":{const e=o(0,null,null);return d(e[0]),d(e[1]),[y({prim:"int"}),...t.slice(2)]}case"EQ":case"NEQ":case"LT":case"GT":case"LE":case"GE":return o(0,["int"]),[y({prim:"bool"}),...t.slice(1)];case"SELF":{if(void 0===(null===r||void 0===r?void 0:r.contract))throw new Xy(e,t,`${e.prim}: contract required`);const n=g({f:1,v:1}),i=cb(r.contract,null===(a=n.f)||void 0===a?void 0:a[0]);if(null===i)throw new Xy(e,t,`${e.prim}: contract has no entrypoint ${i}`);return[v({prim:"contract",args:[i]},{v:n.v?n.v:["@self"]}),...t]}case"TRANSFER_TOKENS":{const e=o(0,null,["mutez"],["contract"]);return u(e[0],e[2].args[0]),[y({prim:"operation"}),...t.slice(3)]}case"SET_DELEGATE":{const r=o(0,["option"])[0];if("key_hash"!==Jy(r.args[0]))throw new Xy(e,t,`${e.prim}: key hash expected: ${Jy(r.args[0])}`);return[y({prim:"operation"}),...t.slice(1)]}case"IMPLICIT_ACCOUNT":return o(0,["key_hash"]),[y({prim:"contract",args:[{prim:"unit"}]}),...t.slice(1)];case"NOW":return[y({prim:"timestamp"},"@now"),...t];case"AMOUNT":return[y({prim:"mutez"},"@amount"),...t];case"BALANCE":return[y({prim:"mutez"},"@balance"),...t];case"CHECK_SIGNATURE":return o(0,["key"],["signature"],["bytes"]),[y({prim:"bool"}),...t.slice(3)];case"BLAKE2B":case"SHA256":case"SHA512":case"KECCAK":case"SHA3":return o(0,["bytes"]),[y({prim:"bytes"}),...t.slice(1)];case"HASH_KEY":return o(0,["key"]),[y({prim:"key_hash"}),...t.slice(1)];case"SOURCE":return[y({prim:"address"},"@source"),...t];case"SENDER":return[y({prim:"address"},"@sender"),...t];case"ADDRESS":{const e=o(0,["contract"])[0],r=g({v:1});return[v({prim:"address",[dv]:e},{v:r.v?r.v:S(c(e),"address")}),...t.slice(1)]}case"SELF_ADDRESS":{const e={prim:"address"};return void 0!==(null===r||void 0===r?void 0:r.contract)&&(e[dv]={prim:"contract",args:[ab(r.contract,"parameter").args[0]]}),[y(e,"@address"),...t]}case"CHAIN_ID":return[y({prim:"chain_id"}),...t];case"DROP":{g({});const r=void 0!==e.args?parseInt(e.args[0].int,10):1;return o(r-1,null),t.slice(r)}case"DIG":{g({});const r=parseInt(e.args[0].int,10);return[o(r,null)[0],...t.slice(0,r),...t.slice(r+1)]}case"DUG":{g({});const r=parseInt(e.args[0].int,10);return[...t.slice(1,r+1),o(0,null)[0],...t.slice(r+1)]}case"NONE":return rb(e.args[0]),[v({prim:"option",args:[e.args[0]]},g({t:1,v:1})),...t];case"LEFT":case"RIGHT":{const r=o(0,null)[0],n=g({f:2,t:1,v:1},{specialFields:!0}),i=c(r),a=[v(r,{t:null,v:null,f:n.f&&n.f.length>0&&"%"!==n.f[0]?"%@"===n.f[0]?i.v?["%"+i.v[0].slice(1)]:void 0:n.f:void 0}),v(e.args[0],{t:null,f:n.f&&n.f.length>1&&"%"!==n.f[1]?n.f:void 0})];return[v({prim:"or",args:"LEFT"===e.prim?a:[a[1],a[0]]},{t:n.t,v:n.v}),...t.slice(1)]}case"NIL":return rb(e.args[0]),[v({prim:"list",args:[e.args[0]]},g({t:1,v:1})),...t];case"UNPACK":return o(0,["bytes"]),rb(e.args[0]),[y({prim:"option",args:[e.args[0]]},"@unpacked"),...t.slice(1)];case"CONTRACT":{const r=o(0,["address"])[0];rb(e.args[0]);const n=g({v:1,f:1}),i=r[dv];if(void 0!==i){const r=cb(i,null===(s=n.f)||void 0===s?void 0:s[0]);if(null===r)throw new Xy(e,t,`${e.prim}: contract has no entrypoint ${r}`);u(r,e.args[0])}return[v({prim:"option",args:[{prim:"contract",args:[e.args[0]]}]},{v:n.v?n.v:S(c(r),"contract")}),...t.slice(1)]}case"CAST":{g({});const r=o(0,null)[0];return rb(e.args[0]),u(e.args[0],r),[e.args[0],...t.slice(1)]}case"IF_NONE":{g({});const n=o(0,["option"])[0],i=t.slice(1);return k(ob(e.args[0],i,r),ob(e.args[1],[v(n.args[0],{t:null,v:S(c(n),"some")}),...i],r))}case"IF_LEFT":{g({});const n=o(0,["or"])[0],i=c(n),a=c(n.args[0]),s=c(n.args[1]),l=t.slice(1);return k(ob(e.args[0],[v(n.args[0],{t:null,v:S(i,a.f?a.f[0].slice(1):"left")}),...l],r),ob(e.args[1],[v(n.args[1],{t:null,v:S(i,s.f?s.f[0].slice(1):"right")}),...l],r))}case"IF_CONS":{g({});const n=o(0,["list"])[0],i=c(n),a=t.slice(1);return k(ob(e.args[0],[v(n.args[0],{t:null,v:S(i,"hd")}),v(n,{t:null,v:S(i,"tl")}),...a],r),ob(e.args[1],a,r))}case"IF":{g({}),o(0,["bool"]);const n=t.slice(1);return k(ob(e.args[0],n,r),ob(e.args[1],n,r))}case"MAP":{const n=o(0,["list","map","option"])[0],i=t.slice(1),a="map"===n.prim?{prim:"pair",args:n.args}:n.args[0],s=ob(e.args[0],[v(a,{t:null,v:S(c(n),"elt")}),...i],r);if("failed"in s){if(!("prim"in s.failed)||"never"!==s.failed.prim)throw new Xy(e,t,`${e.prim}: FAIL is not allowed in MAP`);return{failed:s.failed,level:s.level+1}}if(s.length<1)throw new Xy(e,t,`${e.prim}: function must return a value`);return l(s.slice(1),i),"list"===n.prim?[y({prim:"list",args:[s[0]]}),...i]:"map"===n.prim?[y({prim:"map",args:[n.args[0],s[0]]}),...i]:[y({prim:"option",args:[s[0]]}),...i]}case"ITER":{g({});const n=o(0,["set","list","map"])[0],i=t.slice(1),a="map"===n.prim?{prim:"pair",args:n.args}:n.args[0],s=ob(e.args[0],[v(a,{t:null,v:S(c(n),"elt")}),...i],r);return"failed"in s?{failed:s.failed,level:s.level+1}:(l(s,i),i)}case"LOOP":{g({}),o(0,["bool"]);const n=t.slice(1),i=ob(e.args[0],n,r);return"failed"in i?{failed:i.failed,level:i.level+1}:(l(i,[{prim:"bool"},...n]),n)}case"LOOP_LEFT":{g({});const n=o(0,["or"])[0],i=t.slice(1),a=ob(e.args[0],[v(n.args[0],{t:null,v:S(c(n),"left")}),...i],r);return"failed"in a?{failed:a.failed,level:a.level+1}:(l(a,[n,...i]),[v(n.args[1],{t:null,v:g({v:1}).v}),...i])}case"DIP":{g({});const n=2===e.args.length?parseInt(e.args[0].int,10):1;o(n-1,null);const i=t.slice(0,n),a=t.slice(n),s=2===e.args.length?ob(e.args[1],a,r):ob(e.args[0],a,r);return"failed"in s?{failed:s.failed,level:s.level+1}:[...i,...s]}case"CREATE_CONTRACT":{const r=g({v:2}),n=o(0,["option"],["mutez"],null);if("key_hash"!==Jy(n[0].args[0]))throw new Xy(e,t,`${e.prim}: key hash expected: ${Jy(n[0].args[0])}`);f(n[2])&&(ub(e.args[0]),eb(ab(e.args[0],"storage").args[0],n[2]));const i=null===(E=r.v)||void 0===E?void 0:E.map((e=>"@"!==e?[e]:void 0));return[v({prim:"operation"},{v:null===i||void 0===i?void 0:i[0]}),v({prim:"address",[dv]:{prim:"contract",args:[ab(e.args[0],"parameter").args[0]]}},{v:null===i||void 0===i?void 0:i[1]}),...t.slice(3)]}case"PUSH":return rb(e.args[0]),ib(e.args[1],e.args[0],Object.assign(Object.assign({},r),{contract:void 0})),[y(e.args[0]),...t];case"EMPTY_SET":return rb(e.args[0]),d(e.args[0]),[v({prim:"set",args:e.args},g({t:1,v:1})),...t];case"EMPTY_MAP":return rb(e.args[0]),d(e.args[0]),rb(e.args[1]),[v({prim:"map",args:e.args},g({t:1,v:1})),...t];case"EMPTY_BIG_MAP":return rb(e.args[0]),d(e.args[0]),rb(e.args[1]),m(e.args[0]),[v({prim:"big_map",args:e.args},g({t:1,v:1})),...t];case"LAMBDA_REC":case"LAMBDA":{rb(e.args[0]),rb(e.args[1]);const n=[e.args[0]];"LAMBDA_REC"===e.prim&&n.push({prim:"lambda",args:[e.args[0],e.args[1]]});const i=ob(e.args[2],n,Object.assign(Object.assign({},r),{contract:void 0}));if("failed"in i)return{failed:i.failed,level:i.level+1};if(1!==i.length)throw new Xy(e,t,`${e.prim}: function must return a value`);return u(e.args[1],i[0]),[y({prim:"lambda",args:[e.args[0],e.args[1]]}),...t]}case"LEVEL":return[y({prim:"nat"},"@level"),...t];case"TOTAL_VOTING_POWER":case"MIN_BLOCK_TIME":return[y({prim:"nat"}),...t];case"VOTING_POWER":return o(0,["key_hash"]),[y({prim:"nat"}),...t.slice(1)];case"TICKET":{const e=o(0,null,["nat"])[0];return d(e),mv(n,hv.PtLimaPtL)?[v({prim:"ticket",args:[e]},g({t:1,v:1})),...t.slice(2)]:[y({prim:"option",args:[v({prim:"ticket",args:[e]},g({t:1,v:1}))]}),...t.slice(2)]}case"JOIN_TICKETS":{const r=sy("pair",o(0,["pair"])[0]);if("ticket"!==Jy(r.args[0]))throw new Xy(e,t,`${e.prim}: ticket expected: ${Jy(r.args[0])}`);return u(r.args[0],r.args[1]),[y({prim:"option",args:[v(r.args[0],{t:null})]}),...t.slice(1)]}case"SPLIT_TICKET":{const r=o(0,["ticket"],["pair"]),n=sy("pair",r[1]);if("nat"!==Jy(n.args[0]))throw new Xy(e,t,`${e.prim}: nat expected: ${Jy(n.args[0])}`);return u(n.args[0],n.args[1]),[y({prim:"option",args:[{prim:"pair",args:[v(r[0],{t:null}),v(r[0],{t:null})]}]}),...t.slice(2)]}case"READ_TICKET":{const e=g({v:2}),r=o(0,["ticket"])[0],n=null===(P=e.v)||void 0===P?void 0:P.map((e=>"@"!==e?[e]:void 0));return[v({prim:"pair",args:[{prim:"address"},v(r.args[0],{t:null}),{prim:"nat"}]},{v:null===n||void 0===n?void 0:n[0]}),v(r,{v:null===n||void 0===n?void 0:n[1],t:null}),...t.slice(1)]}case"PAIRING_CHECK":{const r=o(0,["list"])[0].args[0];if(!cy(r))throw new Xy(e,t,`${e.prim}: pair expected: ${Jy(r)}`);const n=sy("pair",r);if("bls12_381_g1"!==Jy(n.args[0]))throw new Xy(e,t,`${e.prim}: bls12_381_g1 expected: ${Jy(n.args[0])}`);if("bls12_381_g2"!==Jy(n.args[1]))throw new Xy(e,t,`${e.prim}: bls12_381_g2 expected: ${Jy(n.args[1])}`);return[y({prim:"bool"}),...t.slice(1)]}case"SAPLING_EMPTY_STATE":return[v({prim:"sapling_state",args:[e.args[0]]},g({v:1,t:1})),...t];case"SAPLING_VERIFY_UPDATE":{const r=o(0,["sapling_transaction"],["sapling_state"]);if(parseInt(r[0].args[0].int,10)!==parseInt(r[1].args[0].int,10))throw new Xy(e,t,`${e.prim}: sapling memo size mismatch: ${r[0].args[0].int} != ${r[1].args[0].int}`);return mv(n,hv.PtJakarta)?[y({prim:"option",args:[{prim:"pair",args:[{prim:"int"},v(r[1],{t:null})]}]}),...t.slice(2)]:[y({prim:"option",args:[{prim:"pair",args:[{prim:"bytes"},{prim:"pair",args:[{prim:"int"},v(r[1],{t:null})]}]}]}),...t.slice(2)]}case"OPEN_CHEST":return o(0,["chest_key"],["chest"],["nat"]),[y({prim:"or",args:[{prim:"bytes"},{prim:"bool"}]}),...t.slice(3)];case"VIEW":{const r=o(0,null,["address"]);return p(r[0]),[y({prim:"option",args:[e.args[1]]}),...t.slice(2)]}case"EMIT":{const r=g({f:1,t:1});if(e.args){const n=o(0,null);return u(n[0],e.args[0]),[v({prim:"operation"},r),...t.slice(1)]}return[v({prim:"operation"},r),...t.slice(1)]}default:throw new Xv(e,`unexpected instruction: ${e.prim}`)}})(i);if(void 0!==(null===r||void 0===r?void 0:r.traceCallback)){const e={op:i,in:t,out:E};r.traceCallback(e)}return E}function ab(e,t){for(const r of e)if(r.prim===t)return r;throw new Xv(e,`missing contract section: ${t}`)}function sb(e){if(Array.isArray(e))for(const t of e)if("prim"in t&&("parameter"===t.prim||"storage"===t.prim||"code"===t.prim))return!0;return!1}function cb(e,t){t=t||"%default";const r=lb(e).find((e=>e[0]===t));return void 0!==r?r[1]:"%default"===t?sb(e)?ab(e,"parameter").args[0]:e:null}function lb(e){if(sb(e)){const t=ab(e,"parameter"),r=lb(t.args[0]),n=iy(t);return n.f?[[n.f[0],t.args[0]],...r]:r}if(function(e){return Array.isArray(e)||"or"===e.prim}(e)){const t=Qy(e),r=e=>{const r=iy(t[e]);if("or"===Jy(t[e])){const n=lb(t[e]);return r.f?[[r.f[0],t[e]],...n]:n}return r.f?[[r.f[0],t[e]]]:[]};return[...r(0),...r(1)]}return[]}function ub(e,t){const r=(r,n,i,o)=>{rb(r,!0),rb(n);const a=ob(o,[{prim:"pair",args:[Object.assign(Object.assign({},r),{annots:["@parameter"]}),Object.assign(Object.assign({},n),{annots:["@storage"]})]}],Object.assign(Object.assign({},t),{contract:e}));if("failed"in a)return a;try{tb(a,[i])}catch(s){throw s instanceof Xv?new Xy(o,a,s.message):s}return a},n=ab(e,"parameter").args[0],i=ab(e,"storage").args[0],o=r(n,i,{prim:"pair",args:[{prim:"list",args:[{prim:"operation"}]},i]},ab(e,"code").args[0]);for(const a of Object.values(function(e){const t={};for(const r of e)"view"===r.prim&&(t[r.args[0].string]=r);return t}(e)))r(a.args[1],i,a.args[2],a.args[3]);return o}function db(e,t,r){rb(t),ib(e,t,r||null)}class hb{constructor(e,t){this.contract=e,this.ctx=Object.assign({contract:e},t),this.output=ub(e,this.ctx)}static parse(e,t){const r=new Bv(t),n="string"===typeof e?r.parseScript(e):r.parseJSON(e);if(null===n)throw new Kv("empty Michelson");if(By(n))return new hb(n,t)}static parseTypeExpression(e,t){const r=new Bv(t),n="string"===typeof e?r.parseScript(e):r.parseJSON(e);if(null===n)throw new Wv("empty type expression");if(Ly(n))return rb(n),n}static parseDataExpression(e,t){const r=new Bv(t),n="string"===typeof e?r.parseScript(e):r.parseJSON(e);if(null===n)throw new Gv("empty data expression");if(Dy(n))return n;throw void 0}section(e){return ab(this.contract,e)}entryPoints(){return lb(this.contract)}entryPoint(e){return cb(this.contract,e)}assertDataValid(e,t){db(e,t,this.ctx)}isDataValid(e,t){return function(e,t,r){try{return db(e,t,r),!0}catch(Nn){return!1}}(e,t,this.ctx)}assertParameterValid(e,t){const r=this.entryPoint(e||void 0);if(null===r)throw new Yv(null===e||void 0===e?void 0:e.toString());this.assertDataValid(t,r)}isParameterValid(e,t){try{return this.assertParameterValid(e,t),!0}catch(Nn){return!1}}functionType(e,t){return function(e,t,r){for(const n of t)rb(n);if(void 0!==(null===r||void 0===r?void 0:r.contract))for(const n of["parameter","storage"])rb(ab(r.contract,n).args[0]);return ob(e,t,r||null)}(e,t,this.ctx)}}new hb([{prim:"parameter",args:[{prim:"unit"}]},{prim:"storage",args:[{prim:"unit"}]},{prim:"code",args:[[{prim:"CAR"},{prim:"NIL",args:[{prim:"operation"}]},{prim:"PAIR"}]]}]);var fb=r(261).Buffer;const pb=e=>e.reduce(((e,t)=>e+t.toString(16).padStart(2,"0")),""),mb=(e,t=8)=>e.toString(16).padStart(t,"0");var gb;!function(e){e.SECRET="secret",e.RAW="raw",e.TZ1="tz1",e.BRANCH="branch",e.ZARITH="zarith",e.PUBLIC_KEY="public_key",e.PKH="pkh",e.DELEGATE="delegate",e.SCRIPT="script",e.BALLOT_STATEMENT="ballotStmt",e.PROPOSAL="proposal",e.PROPOSAL_ARR="proposalArr",e.INT32="int32",e.INT16="int16",e.PARAMETERS="parameters",e.ADDRESS="address",e.SMART_CONTRACT_ADDRESS="smart_contract_address",e.SMART_ROLLUP_ADDRESS="smart_rollup_address",e.SMART_ROLLUP_COMMITMENT_HASH="smart_rollup_commitment_hash",e.VALUE="value",e.PADDED_BYTES="padded_bytes",e.SMART_ROLLUP_MESSAGE="smart_rollup_message",e.MANAGER="manager",e.BLOCK_PAYLOAD_HASH="blockPayloadHash",e.ENTRYPOINT="entrypoint",e.OPERATION="operation",e.OP_ACTIVATE_ACCOUNT="activate_account",e.OP_DELEGATION="delegation",e.OP_TRANSACTION="transaction",e.OP_ORIGINATION="origination",e.OP_BALLOT="ballot",e.OP_FAILING_NOOP="failing_noop",e.OP_ENDORSEMENT="endorsement",e.OP_SEED_NONCE_REVELATION="seed_nonce_revelation",e.OP_REVEAL="reveal",e.OP_PROPOSALS="proposals",e.OP_REGISTER_GLOBAL_CONSTANT="register_global_constant",e.OP_TRANSFER_TICKET="transfer_ticket",e.OP_TX_ROLLUP_ORIGINATION="tx_rollup_origination",e.OP_TX_ROLLUP_SUBMIT_BATCH="tx_rollup_submit_batch",e.BURN_LIMIT="burn_limit",e.TX_ROLLUP_ORIGINATION_PARAM="tx_rollup_origination_param",e.TX_ROLLUP_ID="tx_rollup_id",e.TX_ROLLUP_BATCH_CONTENT="tx_rollup_batch_content",e.OP_INCREASE_PAID_STORAGE="increase_paid_storage",e.OP_UPDATE_CONSENSUS_KEY="update_consensus_key",e.OP_DRAIN_DELEGATE="drain_delegate",e.DEPOSITS_LIMIT="deposits_limit",e.OP_SET_DEPOSITS_LIMIT="set_deposits_limit",e.OP_SMART_ROLLUP_ORIGINATE="smart_rollup_originate",e.PVM_KIND="pvm_kind",e.OP_SMART_ROLLUP_ADD_MESSAGES="smart_rollup_add_messages",e.OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE="smart_rollup_execute_outbox_message"}(gb||(gb={}));const vb={"00":"parameter","01":"storage","02":"code","03":"False","04":"Elt","05":"Left","06":"None","07":"Pair","08":"Right","09":"Some","0a":"True","0b":"Unit","0c":"PACK","0d":"UNPACK","0e":"BLAKE2B","0f":"SHA256",10:"SHA512",11:"ABS",12:"ADD",13:"AMOUNT",14:"AND",15:"BALANCE",16:"CAR",17:"CDR",18:"CHECK_SIGNATURE",19:"COMPARE","1a":"CONCAT","1b":"CONS","1c":"CREATE_ACCOUNT","1d":"CREATE_CONTRACT","1e":"IMPLICIT_ACCOUNT","1f":"DIP",20:"DROP",21:"DUP",22:"EDIV",23:"EMPTY_MAP",24:"EMPTY_SET",25:"EQ",26:"EXEC",27:"FAILWITH",28:"GE",29:"GET","2a":"GT","2b":"HASH_KEY","2c":"IF","2d":"IF_CONS","2e":"IF_LEFT","2f":"IF_NONE",30:"INT",31:"LAMBDA",32:"LE",33:"LEFT",34:"LOOP",35:"LSL",36:"LSR",37:"LT",38:"MAP",39:"MEM","3a":"MUL","3b":"NEG","3c":"NEQ","3d":"NIL","3e":"NONE","3f":"NOT",40:"NOW",41:"OR",42:"PAIR",43:"PUSH",44:"RIGHT",45:"SIZE",46:"SOME",47:"SOURCE",48:"SENDER",49:"SELF","4a":"STEPS_TO_QUOTA","4b":"SUB","4c":"SWAP","4d":"TRANSFER_TOKENS","4e":"SET_DELEGATE","4f":"UNIT",50:"UPDATE",51:"XOR",52:"ITER",53:"LOOP_LEFT",54:"ADDRESS",55:"CONTRACT",56:"ISNAT",57:"CAST",58:"RENAME",59:"bool","5a":"contract","5b":"int","5c":"key","5d":"key_hash","5e":"lambda","5f":"list",60:"map",61:"big_map",62:"nat",63:"option",64:"or",65:"pair",66:"set",67:"signature",68:"string",69:"bytes","6a":"mutez","6b":"timestamp","6c":"unit","6d":"operation","6e":"address","6f":"SLICE",70:"DIG",71:"DUG",72:"EMPTY_BIG_MAP",73:"APPLY",74:"chain_id",75:"CHAIN_ID",76:"LEVEL",77:"SELF_ADDRESS",78:"never",79:"NEVER","7a":"UNPAIR","7b":"VOTING_POWER","7c":"TOTAL_VOTING_POWER","7d":"KECCAK","7e":"SHA3","7f":"PAIRING_CHECK",80:"bls12_381_g1",81:"bls12_381_g2",82:"bls12_381_fr",83:"sapling_state",84:"sapling_transaction_deprecated",85:"SAPLING_EMPTY_STATE",86:"SAPLING_VERIFY_UPDATE",87:"ticket",88:"TICKET_DEPRECATED",89:"READ_TICKET","8a":"SPLIT_TICKET","8b":"JOIN_TICKETS","8c":"GET_AND_UPDATE","8d":"chest","8e":"chest_key","8f":"OPEN_CHEST",90:"VIEW",91:"view",92:"constant",93:"SUB_MUTEZ",94:"tx_rollup_l2_address",95:"MIN_BLOCK_TIME",96:"sapling_transaction",97:"EMIT",98:"Lambda_rec",99:"LAMBDA_REC","9a":"TICKET","9b":"BYTES","9c":"NAT"},yb=(()=>{const e={};return Object.keys(vb).forEach((t=>{e[vb[t]]=t})),e})(),bb={4:"activate_account",107:"reveal",110:"delegation",108:"transaction",109:"origination",6:"ballot",21:"endorsement",1:"seed_nonce_revelation",5:"proposals",111:"register_global_constant",150:"tx_rollup_origination",151:"tx_rollup_submit_batch",158:"transfer_ticket",112:"set_deposits_limit",113:"increase_paid_storage",114:"update_consensus_key",9:"drain_delegate",200:"smart_rollup_originate",201:"smart_rollup_add_messages",206:"smart_rollup_execute_outbox_message",17:"failing_noop"},wb=(()=>{const e={};return Object.keys(bb).forEach((t=>{const r="string"===typeof t?parseInt(t,10):t;e[bb[r]]=mb(r,2)})),e})(),xb={"00":"default","01":"root","02":"do","03":"set_delegate","04":"remove_delegate","05":"deposit"},_b=(()=>{const e={};return Object.keys(xb).forEach((t=>{e[xb[t]]=t})),e})();class Sb extends Wa{constructor(e,t){super(),this.operation=e,this.errorDetail=t,this.name="InvalidOperationSchemaError",this.message="Invalid operation content recevied",t&&(this.message+=` ${t}.`)}}class kb extends Wa{constructor(e){super(),this.entrypoint=e,this.name="OversizedEntryPointError",this.message=`Invalid entrypoint length "${e.length}", maximum length is "31".`}}class Eb extends Wa{constructor(e){super(),this.ballotValue=e,this.name="InvalidBallotValueError",this.message=`Invalid ballot value "${e}" expecting one of the following: "yay", "nay", "pass".`}}class Pb extends Wa{constructor(e){super(),this.ballotValue=e,this.name="DecodeBallotValueError",this.message=`Invalid ballot value "${e}", cannot be decoded.`}}class Ob extends Wa{constructor(e){super(),this.value=e,this.name="UnexpectedMichelsonValueError",this.message=`Invalid Michelson value "${e}", unalbe to encode.`}}class Ab extends Wa{constructor(e){super(),this.message=e,this.name="OperationDecodingError"}}class Tb extends Wa{constructor(e){super(),this.message=e,this.name="OperationEncodingError"}}class jb extends Wa{constructor(e){super(),this.op=e,this.name="UnsupportedOperationError",this.message=`Unsupported operation "${e}", can submit an issue on our github for feature request.`}}class Cb extends Wa{constructor(e){super(),this.pvm=e,this.name="UnsupportedPvmKindError",this.message=`Invalid Pvm kind "${e}" expecting either "arith" or "wasm_2_0_0".`}}class Rb extends Wa{constructor(e){super(),this.pvm=e,this.name="DecodePvmKindError",this.message=`Invalid Pvm kind "${e}", cannot be decoded.`}}class Ib extends Wa{constructor(e,t){super(),this.address=e,this.errorDetail=t,this.name="InvalidSmartRollupAddress",this.message=`Invalid smart rollup address "${e}"`,t&&(this.message+=` ${t}.`)}}class Mb extends Wa{constructor(e,t){super(),this.hash=e,this.errorDetail=t,this.name="InvalidSmartRollupCommitmentHashError",this.message=`Invalid smart rollup commitment hash "${e}"`,t&&(this.message+=` ${t}.`)}}class Lb{static fromHexString(e){const t=e.toLowerCase();if(/^(([a-f]|\d){2})*$/.test(t)){const e=new Uint8Array((t.match(/([a-z]|\d){2}/g)||[]).map((e=>parseInt(e,16))));return new Lb(e)}throw new rs(t)}constructor(e,t=0){this.arr=e,this.offset=t}consume(e){const t=this.arr.subarray(this.offset,this.offset+e);return this.offset+=e,t}get(e){return this.arr[this.offset+e]}length(){return this.arr.length-this.offset}slice(e,t){return new Lb(this.arr.slice(e,t))}}const Nb=e=>{if(Array.isArray(e)){const t=e.map((e=>Nb(e))).join(""),r=t.length/2;return`02${mb(r)}${t}`}if((e=>"prim"in e)(e))return qb(e);if((e=>"bytes"in e&&"string"===typeof e.bytes)(e))return zb(e);if((e=>"string"in e&&"string"===typeof e.string)(e))return Fb(e);if((e=>"int"in e&&"string"===typeof e.int)(e))return Hb(e);throw new Ob(JSON.stringify(e))},Db=e=>{const t=e.consume(1);switch(t[0]){case 10:return Ub(e);case 1:return $b(e);case 0:return Vb(e);case 2:{const t=new Lb(Bb(e)),r=[];for(;t.length()>0;)r.push(Db(t));return r}default:return Kb(e,t)}},Bb=(e,t=4)=>{const r=e.consume(t),n=parseInt(fb.from(r).toString("hex"),16);return e.consume(n)},zb=e=>{if(!/^([A-Fa-f0-9]{2})*$/.test(e.bytes))throw new rs(e.bytes);const t=e.bytes.length/2;return`0a${mb(t)}${e.bytes}`},Ub=e=>{const t=Bb(e);return{bytes:fb.from(t).toString("hex")}},Fb=e=>{const t=fb.from(e.string,"utf8").toString("hex"),r=t.length/2;return`01${mb(r)}${t}`},$b=e=>{const t=Bb(e);return{string:fb.from(t).toString("utf8")}},Hb=({int:e})=>{const t=new Is(e,10),r="-"===t.toString(2)[0]?"1":"0",n=t.toString(2).replace(/-/g,""),i=n.length<=6?6:(n.length-6)%7?n.length+7-(n.length-6)%7:n.length,o=n.padStart(i,"0").match(/\d{6,7}/g).reverse();o[0]=r+o[0];const a=o.map(((e,t)=>parseInt((t===o.length-1?"0":"1")+e,2).toString(16).padStart(2,"0")));return`00${a.join("")}`},Vb=e=>{let t=e.consume(1)[0];const r=[];for(;128&t;)r.push(t),t=e.consume(1)[0];r.push(t);const n=!!(64&r[0]);r[0]=127&r[0];const i=r.map(((e,t)=>e.toString(2).slice(0===t?-6:-7).padStart(0===t?6:7,"0"))).reverse();let o=new Is(i.join(""),2);return n&&(o=o.times(-1)),{int:o.toFixed()}},qb=e=>{const t=+Array.isArray(e.annots),r=Array.isArray(e.args)?e.args.length:0,n=mb(Math.min(2*r+t+3,9),2),i=yb[e.prim];let o=(e.args||[]).map((e=>Nb(e))).join("");const a=Array.isArray(e.annots)?Yb(e.annots):"";return"LAMBDA"!==e.prim&&"LAMBDA_REC"!==e.prim||!r||(o=mb(o.length/2)+o+mb(0)),("pair"===e.prim||"Pair"===e.prim)&&r>2&&(o=""===a?mb(o.length/2)+o+mb(0):mb(o.length/2)+o),"view"===e.prim&&e.args&&(o=mb(o.length/2)+o+mb(0)),`${n}${i}${o}${a}`},Kb=(e,t)=>{const r=(t[0]-3)%2===1;let n=Math.floor((t[0]-3)/2);const i=e.consume(1)[0].toString(16).padStart(2,"0"),o={prim:vb[i]};if("LAMBDA"!==vb[i]&&"LAMBDA_REC"!==vb[i]||e.consume(4),"view"===vb[i])return 0!=n?Wb(e,o):o;let a,s;("pair"===vb[i]||"Pair"===vb[i])&&n>2&&(a=Gb(e),n=0,s=Zb(e));const c=new Array(n).fill(0).map((()=>Db(e)));return"LAMBDA"!==vb[i]&&"LAMBDA_REC"!==vb[i]||e.consume(4),a?o.args=a:c.length&&(o.args=c),s&&""!==s[0]?o.annots=s:r&&(o.annots=Zb(e)),o},Wb=(e,t)=>(e.consume(4),t.args=new Array(4).fill(0).map((()=>Db(e))),e.consume(4),t),Gb=e=>{const t=new Lb(Bb(e)),r=[];for(;t.length()>0;)r.push(Db(t));return r},Yb=e=>{const t=e.map((e=>fb.from(e,"utf8").toString("hex"))).join("20"),r=t.length/2;return`${mb(r)}${t}`},Zb=e=>{const t=e.consume(4),r=parseInt(fb.from(t).toString("hex"),16),n=e.consume(r);return fb.from(n).toString("hex").split("20").map((e=>fb.from(e,"hex").toString("utf8")))},Xb=e=>t=>yc(fb.from(hc(t,Us[e]))),Jb=e=>t=>dc(t.consume(Fs[e]),Us[e]),Qb=Jb(Ls.TZ1),ew=Jb(Ls.B),tw=e=>{const t=e.consume(1);return 0===t[0]?Jb(Ls.TZ1)(e):1===t[0]?Jb(Ls.TZ2)(e):2===t[0]?Jb(Ls.TZ3)(e):void 0},rw=Xb(Ls.B),nw=Xb(Ls.TZ1),iw=e=>e?"ff":"00",ow=e=>Xb(Ls.P)(e),aw=e=>Jb(Ls.P)(e),sw=e=>{switch(e.substring(0,3)){case Ls.TZ1:return"00"+Xb(Ls.TZ1)(e);case Ls.TZ2:return"01"+Xb(Ls.TZ2)(e);case Ls.TZ3:return"02"+Xb(Ls.TZ3)(e);case Ls.TZ4:return"03"+Xb(Ls.TZ4)(e);default:throw new ls(e,ac(Hs.NO_PREFIX_MATCHED)+` expecting one for the following "${Ls.TZ1}", "${Ls.TZ2}", "${Ls.TZ3}" or "${Ls.TZ4}".`)}},cw=e=>{const t=[];let r=new Ms(e,10);if(r.isNaN())throw new TypeError(`Invalid zarith number ${e}`);for(;;){if(r.lt(128)){r.lt(16)&&t.push("0"),t.push(r.toString(16));break}{let e=r.mod(128);r=r.minus(e),r=r.dividedBy(128),e=e.plus(128),t.push(e.toString(16))}}return t.join("")},lw=e=>{let t=0;for(;t=0;n-=1){const t=127&e.get(n);r=r.multipliedBy(128),r=r.plus(t)}return e.consume(t+1),new Ms(r).toString()},uw=Xb(Ls.VH),dw=Jb(Ls.VH),hw=Xb(Ls.TXR1),fw=Jb(Ls.TXR1),pw={branch:gb.BRANCH,contents:[gb.OPERATION]},mw={pkh:gb.TZ1,secret:gb.SECRET},gw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,public_key:gb.PUBLIC_KEY},vw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,delegate:gb.DELEGATE},yw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,amount:gb.ZARITH,destination:gb.ADDRESS,parameters:gb.PARAMETERS},bw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,balance:gb.ZARITH,delegate:gb.DELEGATE,script:gb.SCRIPT},ww={source:gb.PKH,period:gb.INT32,proposal:gb.PROPOSAL,ballot:gb.BALLOT_STATEMENT},xw={slot:gb.INT16,level:gb.INT32,round:gb.INT32,block_payload_hash:gb.BLOCK_PAYLOAD_HASH},_w={level:gb.INT32,nonce:gb.RAW},Sw={source:gb.PKH,period:gb.INT32,proposals:gb.PROPOSAL_ARR},kw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,value:gb.VALUE},Ew={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,ticket_contents:gb.VALUE,ticket_ty:gb.VALUE,ticket_ticketer:gb.ADDRESS,ticket_amount:gb.ZARITH,destination:gb.ADDRESS,entrypoint:gb.ENTRYPOINT},Pw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,tx_rollup_origination:gb.TX_ROLLUP_ORIGINATION_PARAM},Ow={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,rollup:gb.TX_ROLLUP_ID,content:gb.TX_ROLLUP_BATCH_CONTENT,burn_limit:gb.BURN_LIMIT},Aw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,amount:gb.ZARITH,destination:gb.SMART_CONTRACT_ADDRESS},Tw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,pk:gb.PUBLIC_KEY},jw={consensus_key:gb.PKH,delegate:gb.PKH,destination:gb.PKH},Cw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,limit:gb.DEPOSITS_LIMIT},Rw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,pvm_kind:gb.PVM_KIND,kernel:gb.PADDED_BYTES,origination_proof:gb.PADDED_BYTES,parameters_ty:gb.VALUE},Iw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,message:gb.SMART_ROLLUP_MESSAGE},Mw={source:gb.PKH,fee:gb.ZARITH,counter:gb.ZARITH,gas_limit:gb.ZARITH,storage_limit:gb.ZARITH,rollup:gb.SMART_ROLLUP_ADDRESS,cemented_commitment:gb.SMART_ROLLUP_COMMITMENT_HASH,output_proof:gb.PADDED_BYTES},Lw={arbitrary:gb.PADDED_BYTES},Nw=e=>t=>r=>Object.keys(t).reduce(((n,i)=>{const o=t[i];if(r&&Array.isArray(o)){const t=e[o[0]],a=r[i];if(!Array.isArray(a))throw new Tb(`Invalid operation value "${JSON.stringify(a)}" of key "${i}, expected value to be Array.`);return n+a.reduce(((e,r)=>e+t(r)),"")}return n+(0,e[o])(r[i])}),""),Dw=e=>t=>r=>Object.keys(t).reduce(((n,i)=>{const o=t[i];if(Array.isArray(o)){const t=e[o[0]],a=[],s=r.length();for(;r.length()>0;)if(a.push(t(r)),s===r.length())throw new Ab("Unable to decode value");return Object.assign(Object.assign({},n),{[i]:a})}{const t=(0,e[o])(r);return"undefined"!==typeof t?Object.assign(Object.assign({},n),{[i]:t}):Object.assign({},n)}}),{}),Bw={[gb.SECRET]:e=>pb(e.consume(20)),[gb.RAW]:e=>pb(e.consume(32)),[gb.TZ1]:Qb,[gb.BRANCH]:ew,[gb.ZARITH]:lw,[gb.PUBLIC_KEY]:e=>{switch(e.consume(1)[0]){case 0:return Jb(Ls.EDPK)(e);case 1:return Jb(Ls.SPPK)(e);case 2:return Jb(Ls.P2PK)(e);default:throw new as(e.toString(),ac(Hs.NO_PREFIX_MATCHED))}},[gb.PKH]:tw,[gb.DELEGATE]:e=>{const t=(e=>255===e.consume(1)[0])(e);if(t)return tw(e)},[gb.INT32]:e=>{const t=e.consume(4);let r=0;for(let n=0;n{const t=Bb(e),r=Bb(e);return{code:Db(new Lb(t)),storage:Db(new Lb(r))}},[gb.BALLOT_STATEMENT]:e=>{const t=e.consume(1);switch(t[0]){case 0:return"yay";case 1:return"nay";case 2:return"pass";default:throw new Pb(t[0].toString())}},[gb.PROPOSAL]:aw,[gb.PROPOSAL_ARR]:e=>{const t=[];for(e.consume(4);e.length()>0;)t.push(aw(e));return t},[gb.PARAMETERS]:e=>{if(0!==e.consume(1)[0]){const t=(e=>{const t=mb(e.consume(1)[0],2);if(t in xb)return xb[t];{const t=Bb(e,1),r=fb.from(t).toString("utf8");if(r.length>31)throw new kb(r);return r}})(e),r=Bb(e);return{entrypoint:t,value:Db(new Lb(r))}}},[gb.ADDRESS]:e=>{switch(e.consume(1)[0]){case 0:return tw(e);case 1:{const t=Jb(Ls.KT1)(e);return e.consume(1),t}default:throw new Ja(e.toString(),": Unable to decode.")}},[gb.SMART_ROLLUP_ADDRESS]:e=>{const t=Jb(Ls.SR1)(e);if(t.substring(0,3)!==Ls.SR1)throw new Ib(t,ac(Hs.NO_PREFIX_MATCHED)+` expecting prefix '${Ls.SR1}'.`);return t},[gb.SMART_CONTRACT_ADDRESS]:e=>{if(1===e.consume(1)[0]){const t=Jb(Ls.KT1)(e);return e.consume(1),t}throw new ss(e.toString(),ac(Hs.NO_PREFIX_MATCHED))},[gb.SMART_ROLLUP_COMMITMENT_HASH]:e=>{const t=Jb(Ls.SRC1)(e);if(t.substring(0,4)!==Ls.SRC1)throw new Mb(t,ac(Hs.NO_PREFIX_MATCHED)+` expecting prefix '${Ls.SRC1}'`);return t},[gb.VALUE]:e=>{const t=Bb(e);return Db(new Lb(t))},[gb.INT16]:e=>{const t=e.consume(2);let r=0;for(let n=0;n{const t=Bb(e);return fb.from(t).toString("utf8")},[gb.TX_ROLLUP_ORIGINATION_PARAM]:e=>({}),[gb.TX_ROLLUP_ID]:fw,[gb.TX_ROLLUP_BATCH_CONTENT]:e=>{const t=Bb(e);return fb.from(t).toString("hex")},[gb.BURN_LIMIT]:e=>{const t=e.consume(1);if("00"!==fb.from(t).toString("hex"))return lw(e)},[gb.DEPOSITS_LIMIT]:e=>{const t=e.consume(1);if("00"!==fb.from(t).toString("hex"))return lw(e)},[gb.PVM_KIND]:e=>{const t=e.consume(1);switch(t[0]){case 0:return"arith";case 1:return"wasm_2_0_0";default:throw new Rb(t[0].toString())}},[gb.PADDED_BYTES]:e=>{const t=Bb(e);return fb.from(t).toString("hex")},[gb.SMART_ROLLUP_MESSAGE]:e=>{const t=Bb(e),r=((e,t=4)=>{const r=[];let n=e;for(;n.length();){const e=n.consume(t),i=parseInt(fb.from(e).toString("hex"),16);r.push(n.consume(i)),n=n.slice(i+t)}return r})(new Lb(t));return r.map((e=>fb.from(e).toString("hex")))}};Bw[gb.OPERATION]=(e=>t=>{const r=t.consume(1),n=bb[r[0]];if(void 0===n)throw new jb(r[0].toString());const i=e[n](t);if("object"!==typeof i)throw new Ab("Invalid operation, cannot be decoded.");return Object.assign({kind:n},i)})(Bw),Bw[gb.OP_ACTIVATE_ACCOUNT]=e=>Dw(Bw)(mw)(e),Bw[gb.OP_FAILING_NOOP]=e=>Dw(Bw)(Lw)(e),Bw[gb.OP_DELEGATION]=e=>Dw(Bw)(vw)(e),Bw[gb.OP_TRANSACTION]=e=>Dw(Bw)(yw)(e),Bw[gb.OP_ORIGINATION]=e=>Dw(Bw)(bw)(e),Bw[gb.OP_BALLOT]=e=>Dw(Bw)(ww)(e),Bw[gb.OP_ENDORSEMENT]=e=>Dw(Bw)(xw)(e),Bw[gb.OP_SEED_NONCE_REVELATION]=e=>Dw(Bw)(_w)(e),Bw[gb.OP_PROPOSALS]=e=>Dw(Bw)(Sw)(e),Bw[gb.OP_REVEAL]=e=>Dw(Bw)(gw)(e),Bw[gb.OP_REGISTER_GLOBAL_CONSTANT]=e=>Dw(Bw)(kw)(e),Bw[gb.OP_TRANSFER_TICKET]=e=>Dw(Bw)(Ew)(e),Bw[gb.OP_TX_ROLLUP_ORIGINATION]=e=>Dw(Bw)(Pw)(e),Bw[gb.OP_TX_ROLLUP_SUBMIT_BATCH]=e=>Dw(Bw)(Ow)(e),Bw[gb.OP_INCREASE_PAID_STORAGE]=e=>Dw(Bw)(Aw)(e),Bw[gb.OP_UPDATE_CONSENSUS_KEY]=e=>Dw(Bw)(Tw)(e),Bw[gb.OP_DRAIN_DELEGATE]=e=>Dw(Bw)(jw)(e),Bw[gb.OP_SMART_ROLLUP_ORIGINATE]=e=>Dw(Bw)(Rw)(e),Bw[gb.OP_SMART_ROLLUP_ADD_MESSAGES]=e=>Dw(Bw)(Iw)(e),Bw[gb.OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE]=e=>Dw(Bw)(Mw)(e),Bw[gb.MANAGER]=Dw(Bw)(pw),Bw[gb.OP_SET_DEPOSITS_LIMIT]=e=>Dw(Bw)(Cw)(e);const zw={[gb.SECRET]:e=>e,[gb.RAW]:e=>e,[gb.TZ1]:nw,[gb.BRANCH]:rw,[gb.ZARITH]:cw,[gb.PUBLIC_KEY]:e=>{switch(e.substring(0,4)){case Ls.EDPK:return"00"+Xb(Ls.EDPK)(e);case Ls.SPPK:return"01"+Xb(Ls.SPPK)(e);case Ls.P2PK:return"02"+Xb(Ls.P2PK)(e);default:throw new as(e,ac(Hs.NO_PREFIX_MATCHED)+` expecting one of the following '${Ls.EDPK}', '${Ls.SPPK}', '${Ls.P2PK}' or '${Ls.BLPK}'.`)}},[gb.PKH]:sw,[gb.DELEGATE]:e=>e?iw(!0)+sw(e):iw(!1),[gb.SCRIPT]:e=>{const t=Nb(e.code),r=Nb(e.storage);return`${mb(t.length/2,8)}${t}${mb(r.length/2,8)}${r}`},[gb.BALLOT_STATEMENT]:e=>{switch(e){case"yay":return"00";case"nay":return"01";case"pass":return"02";default:throw new Eb(e)}},[gb.PROPOSAL]:ow,[gb.PROPOSAL_ARR]:e=>mb(32*e.length)+e.map((e=>ow(e))).join(""),[gb.INT32]:e=>{const t=parseInt(String(e),10),r=[];for(let n=0;n<4;n++){const e=8*(4-(n+1));r.push((t&255<>e)}return fb.from(r).toString("hex")},[gb.PARAMETERS]:e=>{if(!e||"default"===e.entrypoint&&"prim"in e.value&&"Unit"===e.value.prim)return"00";const t=(e=>{if(e in _b)return`${_b[e]}`;if(e.length>31)throw new kb(e);return`ff${Nb({string:e}).slice(8)}`})(e.entrypoint),r=Nb(e.value);return`ff${t}${(r.length/2).toString(16).padStart(8,"0")}${r}`},[gb.ADDRESS]:e=>{switch(e.substring(0,3)){case Ls.TZ1:case Ls.TZ2:case Ls.TZ3:case Ls.TZ4:return"00"+sw(e);case Ls.KT1:return"01"+Xb(Ls.KT1)(e)+"00";default:throw new Ja(e,ac(Hs.NO_PREFIX_MATCHED)+` expecting one of the following prefix '${Ls.TZ1}', ${Ls.TZ2}', '${Ls.TZ3}', '${Ls.TZ4}' or '${Ls.KT1}'.`)}},[gb.SMART_ROLLUP_ADDRESS]:e=>{if(e.substring(0,3)!==Ls.SR1)throw new Ib(e,ac(Hs.NO_PREFIX_MATCHED)+` expecting prefix '${Ls.SR1}'.`);return Xb(Ls.SR1)(e)},[gb.SMART_CONTRACT_ADDRESS]:e=>{if(e.substring(0,3)===Ls.KT1)return"01"+Xb(Ls.KT1)(e)+"00";throw new ss(e,ac(Hs.NO_PREFIX_MATCHED)+` expecting prefix '${Ls.KT1}'.`)},[gb.SMART_ROLLUP_COMMITMENT_HASH]:e=>{if(e.substring(0,4)===Ls.SRC1)return Xb(Ls.SRC1)(e);throw new Mb(e,ac(Hs.NO_PREFIX_MATCHED)+` expecting prefix '${Ls.SRC1}'`)},[gb.VALUE]:e=>{const t=Nb(e);return`${mb(t.length/2)}${t}`},[gb.INT16]:e=>{const t=parseInt(String(e),10),r=[];for(let n=0;n<2;n++){const e=8*(2-(n+1));r.push((t&255<>e)}return fb.from(r).toString("hex")},[gb.BLOCK_PAYLOAD_HASH]:uw,[gb.ENTRYPOINT]:e=>`${Nb({string:e}).slice(2)}`,[gb.TX_ROLLUP_ORIGINATION_PARAM]:e=>"",[gb.TX_ROLLUP_ID]:hw,[gb.TX_ROLLUP_BATCH_CONTENT]:e=>`${mb(e.length/2)}${e}`,[gb.BURN_LIMIT]:e=>e?`ff${cw(e)}`:"00",[gb.DEPOSITS_LIMIT]:e=>e?`ff${cw(e)}`:"00",[gb.PVM_KIND]:e=>{switch(e){case"arith":return"00";case"wasm_2_0_0":return"01";default:throw new Cb(e)}},[gb.PADDED_BYTES]:(e,t=8)=>`${mb(e.length/2,t)}${e}`,[gb.SMART_ROLLUP_MESSAGE]:e=>{const t=e.reduce(((e,t)=>e+`${mb(t.length/2)}${t}`),"");return`${mb(t.length/2)}${t}`}};zw[gb.OPERATION]=(e=>t=>{if(!(t.kind in e)||!(t.kind in wb))throw new ds(t.kind);return wb[t.kind]+e[t.kind](t)})(zw),zw[gb.OP_ACTIVATE_ACCOUNT]=e=>Nw(zw)(mw)(e),zw[gb.OP_DELEGATION]=e=>Nw(zw)(vw)(e),zw[gb.OP_TRANSACTION]=e=>Nw(zw)(yw)(e),zw[gb.OP_ORIGINATION]=e=>Nw(zw)(bw)(e),zw[gb.OP_BALLOT]=e=>Nw(zw)(ww)(e),zw[gb.OP_ENDORSEMENT]=e=>Nw(zw)(xw)(e),zw[gb.OP_SEED_NONCE_REVELATION]=e=>Nw(zw)(_w)(e),zw[gb.OP_PROPOSALS]=e=>Nw(zw)(Sw)(e),zw[gb.OP_REVEAL]=e=>Nw(zw)(gw)(e),zw[gb.OP_REGISTER_GLOBAL_CONSTANT]=e=>Nw(zw)(kw)(e),zw[gb.OP_TRANSFER_TICKET]=e=>Nw(zw)(Ew)(e),zw[gb.OP_TX_ROLLUP_ORIGINATION]=e=>Nw(zw)(Pw)(e),zw[gb.OP_TX_ROLLUP_SUBMIT_BATCH]=e=>Nw(zw)(Ow)(e),zw[gb.OP_INCREASE_PAID_STORAGE]=e=>Nw(zw)(Aw)(e),zw[gb.OP_UPDATE_CONSENSUS_KEY]=e=>Nw(zw)(Tw)(e),zw[gb.OP_DRAIN_DELEGATE]=e=>Nw(zw)(jw)(e),zw[gb.OP_SMART_ROLLUP_ORIGINATE]=e=>Nw(zw)(Rw)(e),zw[gb.OP_SMART_ROLLUP_ADD_MESSAGES]=e=>Nw(zw)(Iw)(e),zw[gb.OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE]=e=>Nw(zw)(Mw)(e),zw[gb.MANAGER]=Nw(zw)(pw),zw[gb.OP_SET_DEPOSITS_LIMIT]=e=>Nw(zw)(Cw)(e),zw[gb.OP_FAILING_NOOP]=e=>Nw(zw)(Lw)(e);const Uw={activate_account:mw,reveal:gw,delegation:vw,transaction:yw,origination:bw,ballot:ww,endorsement:xw,seed_nonce_revelation:_w,proposals:Sw,register_global_constant:kw,transfer_ticket:Ew,tx_rollup_origination:Pw,tx_rollup_submit_batch:Ow,increase_paid_storage:Aw,update_consensus_key:Tw,drain_delegate:jw,set_deposits_limit:Cw,smart_rollup_originate:Rw,smart_rollup_add_messages:Iw,smart_rollup_execute_outbox_message:Mw,failing_noop:Lw},Fw=e=>{const t=e.kind,r=Object.keys(e),n=(i="kind",r.filter((e=>e!==i)));var i;const o=Object.keys(Uw[t]);return a=n,o.filter((e=>!a.includes(e)));var a};var $w;!function(e){e.Pt24m4xi="Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd",e.PsBABY5H="PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU",e.PsBabyM1="PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS",e.PsCARTHA="PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb",e.PsDELPH1="PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",e.PtEdo2Zk="PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",e.PsFLorena="PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i",e.PtGRANADs="PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV",e.PtHangz2="PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx",e.Psithaca2="Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A",e.PtJakart2="PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY",e.PtKathman="PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg",e.PtLimaPtL="PtLimaPtLMwfNinJi9rCfDPWea8dFgTZ1MeJ9f1m2SRic6ayiwW",e.PtMumbaii="PtMumbaiiFFEGbew1rRjzSPyzRbA51Tm3RVZL5suHPxSZYDhCEc",e.PtMumbai2="PtMumbai2TmsJHNGRkD8v8YDbtao7BLUC3wjASn1inAKLFCjaH1",e.PtNairobi="PtNairobiyssHuh87hEhfVBGCVrK3WnS8Z2FT4ymB5tAa4r1nQf",e.ProtoALpha="ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK"}($w||($w={}));const Hw=$w.PtMumbai2;class Vw{constructor(e=Hw){var t;this.protocolHash=e,this.codec=(t=gb.MANAGER,this.protocolHash,{encoder:zw[t],decoder:e=>{const r=Lb.fromHexString(e);return Bw[t](r)}})}forge(e){const t=function(e){return qs(e,Xs)}(e.branch);if(t!==Hs.VALID)throw new Qa(e.branch,ac(t));for(const i of e.contents){if(r=i.kind,!Object.keys(Uw).includes(r))throw new ds(i.kind);const e=Fw(i);if(1===e.length){if("delegation"===i.kind&&"delegate"===e[0])continue;if("origination"===i.kind&&"delegate"===e[0])continue;if("transaction"===i.kind&&"parameters"===e[0])continue;if("set_deposits_limit"===i.kind&&"limit"===e[0])continue;if("tx_rollup_submit_batch"===i.kind&&"burn_limit"===e[0])continue;throw new Sb(i,`missing properties "${e.join(", ")}"`)}if(e.length>1)throw new Sb(i,`missing properties "${e.join(", ")}"`)}var r;const n=this.codec.encoder(e).toLowerCase();return Promise.resolve(n)}parse(e){return Promise.resolve(this.codec.decoder(e))}}new Vw;function qw(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i(e.on("data",(e=>{t.next(e)})),e.on("error",(e=>{t.error(e)})),e.on("close",(()=>{t.complete()})),()=>{e.close()})))}const Qw=10600,ex=10600,tx=10600,rx=1e3,nx=1e3,ix=2e3,ox=2e3,ax=1257,sx=1e4,cx=1e4,lx=374,ux=0,dx=257,hx=257,fx=0;var px;!function(e){e.Pt24m4xi="Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd",e.PsBABY5H="PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU",e.PsBabyM1="PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS",e.PsCARTHA="PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb",e.PsDELPH1="PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",e.PtEdo2Zk="PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",e.PsFLorena="PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i",e.PtGRANADs="PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV",e.PtHangz2="PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx",e.PsiThaCa="PsiThaCaT47Zboaw71QWScM8sXeMM7bbQFncK9FLqYc6EKdpjVP",e.Psithaca2="Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A",e.PtJakart2="PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY",e.PtKathman="PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg",e.PtLimaPtL="PtLimaPtLMwfNinJi9rCfDPWea8dFgTZ1MeJ9f1m2SRic6ayiwW",e.PtMumbaii="PtMumbaiiFFEGbew1rRjzSPyzRbA51Tm3RVZL5suHPxSZYDhCEc",e.PtMumbai2="PtMumbai2TmsJHNGRkD8v8YDbtao7BLUC3wjASn1inAKLFCjaH1",e.PtNairobi="PtNairobiyssHuh87hEhfVBGCVrK3WnS8Z2FT4ymB5tAa4r1nQf",e.ProtoALpha="ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK"}(px||(px={}));px.Pt24m4xi,px.PsBABY5H,px.PsBabyM1,px.PsCARTHA,px.PsDELPH1,px.PtEdo2Zk,px.PsFLorena,px.PtGRANADs,px.PtHangz2,px.PsiThaCa,px.Psithaca2,px.PtJakart2,px.PtKathman,px.PtLimaPtL,px.PtMumbai2,px.PtNairobi,px.ProtoALpha;var mx;!function(e){e.MAINNET="NetXdQprcVkpaWU",e.CARTHAGENET="NetXjD3HPJJjmcd",e.DELPHINET="NetXm8tYqnMWky1",e.EDONET="NetXSgo1ZT2DRUG",e.FLORENCENET="NetXxkAx4woPLyu",e.GRANADANET="NetXz969SFaFn8k",e.HANGZHOUNET="NetXZSsxBpMQeAT",e.ITHACANET="NetXbhmtAbMukLc",e.ITHACANET2="NetXnHfVqm9iesp",e.JAKARTANET2="NetXLH1uAxK7CCh",e.KATHMANDUNET="NetXazhm4yetmff",e.LIMANET="NetXizpkH94bocH",e.MUMBAINET="NetXQw6nWSnrJ5t",e.MUMBAINET2="NetXgbcrNtXD2yA",e.NAIROBINET="NetXyuzvDo2Ugzb"}(mx||(mx={}));const gx=e=>Math.round(11*vx(e)/10),vx=e=>{switch(e.substring(0,3)){case"tz1":return rx;case"tz2":return nx;case"tz3":return ix;case"tz4":return ox;default:throw new Error(`Cannot estimate reveal gas limit for ${e}`)}};class yx extends Wa{constructor(e,t,r){super(),this.smartContractMethodName=e,this.sigs=t,this.invalidParams=r,this.name="InvalidParameterError",this.message=`${e} Received ${r.length} arguments while expecting one of the following signatures (${JSON.stringify(t)})`}}class bx extends Wa{constructor(e){super(),this.source=e,this.name="InvalidDelegationSource",this.message=`Since Babylon delegation source can no longer be a contract address ${e}. Please use the smart contract abstraction to set your delegate.`}}class wx extends Wa{constructor(e,t){super(),this.message=e,this.data=t,this.name="InvalidCodeParameter"}}class xx extends Wa{constructor(e,t){super(),this.message=e,this.data=t,this.name="InvalidInitParameter"}}class _x extends Ga{constructor(e,t,r,n){super(),this.message=e,this.viewName=t,this.failWith=r,this.cause=n,this.name="ViewSimulationError"}}const Sx=e=>{try{JSON.parse(e)}catch(t){return!1}return!0};class kx extends Wa{constructor(e){super(),this.info=e,this.name="InvalidViewSimulationContext",this.message=`${e} Please configure the context of the view execution in the executeView method.`}}class Ex extends Ga{constructor(e){super(),this.message=e,this.name="RevealOperationError"}}class Px extends Wa{constructor(e){super(),this.message=e,this.name}}class Ox extends Wa{constructor(e){super(),this.message=e,this.name="InvalidBalanceError"}}const Ax=({code:e,init:t,balance:r="0",delegate:n,storage:i,fee:o=sx,gasLimit:a=ex,storageLimit:s=dx,mutez:c=!1})=>Kw(void 0,void 0,void 0,(function*(){if(void 0!==i&&void 0!==t)throw new Px("Storage and Init cannot be set a the same time. Please either use storage or init but not both.");if(!Array.isArray(e))throw new wx("Wrong code parameter type, expected an array",e);let l;if(void 0!==i){const t=e.find((e=>"prim"in e&&"storage"===e.prim));if(void 0===(null===t||void 0===t?void 0:t.args))throw new wx("The storage section is missing from the script",e);l=new Xg(t.args[0]).Encode(i)}else{if(void 0===t||"object"!==typeof t)throw new xx("Wrong init parameter type, expected JSON Michelson",t);l=t}const u={code:e,storage:l};if(isNaN(Number(r)))throw new Ox(`Invalid Balance "${r}", cannot be converted to a number`);const d={kind:Hh.ORIGINATION,fee:o,gas_limit:a,storage_limit:s,balance:c?r.toString():uc("tz","mutez",r).toString(),script:u};return n&&(d.delegate=n),d})),Tx=({to:e,amount:t,parameter:r,fee:n=cx,gasLimit:i=tx,storageLimit:o=hx,mutez:a=!1})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.TRANSACTION,fee:n,gas_limit:i,storage_limit:o,amount:a?t.toString():uc("tz","mutez",t).toString(),destination:e,parameters:r}})),jx=({delegate:e,source:t,fee:r=ax,gasLimit:n=Qw,storageLimit:i=ux})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.DELEGATION,source:t,fee:r,gas_limit:n,storage_limit:i,delegate:e}})),Cx=({fee:e=lx,gasLimit:t,storageLimit:r=fx},n,i)=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.REVEAL,fee:e,public_key:i,source:n,gas_limit:null!==t&&void 0!==t?t:gx(n),storage_limit:r}})),Rx=({value:e,source:t,fee:r,gasLimit:n,storageLimit:i})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.REGISTER_GLOBAL_CONSTANT,value:e,fee:r,gas_limit:n,storage_limit:i,source:t}})),Ix=({ticketContents:e,ticketTy:t,ticketTicketer:r,ticketAmount:n,destination:i,entrypoint:o,source:a,fee:s,gasLimit:c,storageLimit:l})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.TRANSFER_TICKET,fee:s,gas_limit:c,storage_limit:l,source:a,ticket_contents:e,ticket_ty:t,ticket_ticketer:r,ticket_amount:n,destination:i,entrypoint:o}})),Mx=({source:e,fee:t,gasLimit:r,storageLimit:n,amount:i,destination:o})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.INCREASE_PAID_STORAGE,source:e,fee:t,gas_limit:r,storage_limit:n,amount:i,destination:o}})),Lx=({source:e,fee:t,gasLimit:r,storageLimit:n,message:i})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.SMART_ROLLUP_ADD_MESSAGES,source:e,fee:t,gas_limit:r,storage_limit:n,message:i}})),Nx=({source:e,fee:t,gasLimit:r,storageLimit:n,pvmKind:i,kernel:o,originationProof:a,parametersType:s})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.SMART_ROLLUP_ORIGINATE,source:e,fee:t,gas_limit:r,storage_limit:n,pvm_kind:i,kernel:o,origination_proof:a,parameters_ty:s}})),Dx=(e,t)=>Object.assign(Object.assign({},e),{kind:t}),Bx=(e,t)=>{if(Array.isArray(e)){const r=e.find((e=>e.kind===t));if(r&&zx(r,t))return r}},zx=(e,t)=>e.kind===t,Ux=e=>-1!==["transaction","delegation","origination","reveal","register_global_constant","increase_paid_storage","tx_rollup_origination","tx_rollup_submit_batch","transfer_ticket","update_consensus_key","smart_rollup_add_messages","smart_rollup_originate"].indexOf(e.kind),Fx=e=>-1!==["transaction","delegation","origination","register_global_constant","increase_paid_storage","tx_rollup_origination","tx_rollup_submit_batch","transfer_ticket","update_consensus_key","smart_rollup_add_messages","smart_rollup_originate"].indexOf(e.kind),$x=e=>"metadata"in e,Hx=e=>$x(e)&&"operation_result"in e.metadata;class Vx extends Ga{constructor(e,t){super(),this.errors=e,this.errorDetails=t,this.name="TezosOperationError";const r=e[e.length-1];this.id=r.id,this.kind=r.kind,this.message=`(${this.kind}) ${this.id}`,(e=>"with"in e)(r)&&(r.with.string?this.message=r.with.string:r.with.int?this.message=r.with.int:this.message=JSON.stringify(r.with))}}class qx extends Error{constructor(e){super(),this.result=e,this.name="TezosPreapplyFailureError",this.message="Preapply returned an unexpected result"}}const Kx=e=>{const t=Array.isArray(e)?e:[e],r=[];for(let n=0;nr.push(e.result))))}return r},Wx=(e,t="failed")=>{const r=Array.isArray(e)?e:[e];let n=[];for(let o=0;onew Bf(e).pipe(zp({each:1e3*e.timeout,with:()=>zf((()=>new Xx("Confirmation polling timed out")))})))),Dp((()=>Xf((()=>Jw(this.context.stream.subscribeBlock("head")))).pipe(Dp((e=>{var t,r;const n=null!==(r=null===(t=this.lastHead)||void 0===t?void 0:t.header.level)&&void 0!==r?r:e.header.level-1;return Qf(n+1,e.header.level-n-1).pipe(Fp((e=>this.context.readProvider.getBlock(e))),$p(e))})),Hp((e=>this.lastHead=e))))),Kp({refCount:!0})),this.confirmed$=this.currentHead$.pipe(bp((e=>{for(let t=3;t>=0;t--)e.operations[t].forEach((t=>{t.hash===this.hash&&(this._foundAt=e.header.level)}));if(e.header.level-this._foundAt>=0)return this._foundAt})),Wp((e=>void 0!==e)),Zp(),Kp()),this._foundAt=Number.POSITIVE_INFINITY,oc(this.hash)!==Hs.VALID)throw new us(this.hash);this.confirmed$.pipe(Zp(),Xp((()=>fp(Jf)))).subscribe()}get revealOperation(){return Array.isArray(this.results)&&this.results.find((e=>"reveal"===e.kind))}get revealStatus(){return this.revealOperation?this.revealOperation.metadata.operation_result.status:"unknown"}get status(){return this.results.map((e=>Hx(e)?e.metadata.operation_result.status:"unknown"))[0]||"unknown"}confirmation(e,t){return Kw(this,void 0,void 0,(function*(){if("undefined"!==typeof e&&e<1)throw new Zx(e);const{defaultConfirmationCount:r,confirmationPollingTimeoutSecond:n}=this.context.config;this._pollingConfig$.next({timeout:t||n});const i=void 0!==e?e:r;return new Promise(((e,t)=>{this.confirmed$.pipe(Dp((()=>this.currentHead$)),Wp((e=>e.header.level-this._foundAt>=i-1)),Zp()).subscribe((t=>{e(this._foundAt+(i-1))}),t)}))}))}}class e_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}sumProp(e,t){return e.reduce(((e,r)=>t in r?Number(r[t])+e:e),0)}getOriginatedContractAddresses(){const e=this.results.filter((e=>"origination"===e.kind));let t=[];for(const r of e)r.metadata.operation_result.originated_contracts&&(t=[...t,...r.metadata.operation_result.originated_contracts]);return t}get status(){return this.results.filter((e=>-1!==A_.indexOf(e.kind))).map((e=>{if(Hx(e)){return e.metadata.operation_result.status}return"unknown"}))[0]||"unknown"}get fee(){return this.sumProp(this.params,"fee")}get gasLimit(){return this.sumProp(this.params,"gas_limit")}get storageLimit(){return this.sumProp(this.params,"storage_limit")}get consumedGas(){return Ms.config({DECIMAL_PLACES:0,ROUNDING_MODE:Ms.ROUND_UP}),new Ms(this.consumedMilliGas).dividedBy(1e3).toString()}get consumedMilliGas(){return String(this.sumProp(Kx({contents:this.results}),"consumed_milligas"))}get storageDiff(){return String(this.sumProp(Kx({contents:this.results}),"paid_storage_size_diff"))}get errors(){return Wx({contents:this.results})}}class t_{get rpc(){return this.context.rpc}get signer(){return this.context.signer}constructor(e){this.context=e}forge({opOb:{branch:e,contents:t,protocol:r},counter:n}){return Kw(this,void 0,void 0,(function*(){return{opbytes:yield this.context.forger.forge({branch:e,contents:t}),opOb:{branch:e,contents:t,protocol:r},counter:n}}))}estimate(e,t){var{fee:r,gasLimit:n,storageLimit:i}=e,o=qw(e,["fee","gasLimit","storageLimit"]);return Kw(this,void 0,void 0,(function*(){let e=r,a=n,s=i;if(e&&e%1!==0)throw new Yx(`Fee value must not be a decimal: ${e}`);if(a&&a%1!==0)throw new Yx(`Gas Limit value must not be a decimal: ${a}`);if(s&&s%1!==0)throw new Yx(`Storage Limit value must not be a decimal: ${s}`);if(void 0===r||void 0===n||void 0===i){const c=yield t(Object.assign({fee:r,gasLimit:n,storageLimit:i},o));null!==e&&void 0!==e||(e=c.suggestedFeeMutez),null!==a&&void 0!==a||(a=c.gasLimit),null!==s&&void 0!==s||(s=c.storageLimit)}return{fee:e,gasLimit:a,storageLimit:s}}))}getRPCOp(e){return Kw(this,void 0,void 0,(function*(){switch(e.kind){case Hh.TRANSACTION:return Tx(Object.assign({},e));case Hh.ORIGINATION:return Ax(yield this.context.parser.prepareCodeOrigination(Object.assign({},e)));case Hh.DELEGATION:return jx(Object.assign({},e));case Hh.REGISTER_GLOBAL_CONSTANT:return Rx(Object.assign({},e));case Hh.INCREASE_PAID_STORAGE:return Mx(Object.assign({},e));case Hh.TRANSFER_TICKET:return Ix(Object.assign({},e));case Hh.SMART_ROLLUP_ADD_MESSAGES:return Lx(Object.assign({},e));case Hh.SMART_ROLLUP_ORIGINATE:return Nx(Object.assign({},e));default:throw new ds(e.kind)}}))}runOperation(e){return Kw(this,void 0,void 0,(function*(){return{opResponse:yield this.rpc.runOperation(e),op:e,context:this.context.clone()}}))}simulate(e){return Kw(this,void 0,void 0,(function*(){return{opResponse:yield this.rpc.simulateOperation(e),op:e,context:this.context.clone()}}))}isRevealOpNeeded(e,t){return Kw(this,void 0,void 0,(function*(){return!(!(yield this.isAccountRevealRequired(t))||!this.isRevealRequiredForOpType(e))}))}isAccountRevealRequired(e){return Kw(this,void 0,void 0,(function*(){return!(yield this.context.readProvider.isAccountRevealed(e,"head"))}))}isRevealRequiredForOpType(e){let t=!1;for(const r of e)Fx(r)&&(t=!0);return t}signAndInject(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.signer.sign(e.opbytes,new Uint8Array([3]));e.opbytes=t.sbytes,e.opOb.signature=t.prefixSig;const r=[],n=yield this.rpc.preapplyOperations([e.opOb]);if(!Array.isArray(n))throw new qx(n);for(let e=0;eKw(this,void 0,void 0,(function*(){return e}))));case Hh.ORIGINATION:return this.walletProvider.mapOriginateParamsToWalletParams((()=>Kw(this,void 0,void 0,(function*(){return this.context.parser.prepareCodeOrigination(Object.assign({},e))}))));case Hh.DELEGATION:return this.walletProvider.mapDelegateParamsToWalletParams((()=>Kw(this,void 0,void 0,(function*(){return e}))));case Hh.INCREASE_PAID_STORAGE:return this.walletProvider.mapIncreasePaidStorageWalletParams((()=>Kw(this,void 0,void 0,(function*(){return e}))));default:throw new ds(JSON.stringify(e.kind))}}))}with(e){for(const t of e)switch(t.kind){case Hh.TRANSACTION:this.withTransfer(t);break;case Hh.ORIGINATION:this.withOrigination(t);break;case Hh.DELEGATION:this.withDelegation(t);break;case Hh.INCREASE_PAID_STORAGE:this.withIncreasePaidStorage(t);break;default:throw new ds(JSON.stringify(t.kind))}return this}send(){return Kw(this,void 0,void 0,(function*(){const e=[];for(const r of this.operations)e.push(yield this.mapOperation(r));const t=yield this.walletProvider.sendOperations(e);return this.context.operationFactory.createBatchOperation(t)}))}}class n_{constructor(e){this.context=e,this.walletCommand=e=>({send:e})}get walletProvider(){return this.context.walletProvider}pkh({forceRefetch:e}={}){return Kw(this,void 0,void 0,(function*(){return this._pkh&&!e||(this._pkh=yield this.walletProvider.getPKH()),this._pkh}))}originate(e){return this.walletCommand((()=>Kw(this,void 0,void 0,(function*(){const t=yield this.walletProvider.mapOriginateParamsToWalletParams((()=>this.context.parser.prepareCodeOrigination(Object.assign({},e)))),r=yield this.walletProvider.sendOperations([t]);return this.context.operationFactory.createOriginationOperation(r)}))))}setDelegate(e){var t;const r=Qs(null!==(t=e.delegate)&&void 0!==t?t:"");if(e.delegate&&r!==Hs.VALID)throw new Ja(e.delegate,ac(r));return this.walletCommand((()=>Kw(this,void 0,void 0,(function*(){const t=yield this.walletProvider.mapDelegateParamsToWalletParams((()=>Kw(this,void 0,void 0,(function*(){return e})))),r=yield this.walletProvider.sendOperations([t]);return this.context.operationFactory.createDelegationOperation(r)}))))}signFailingNoop(e){return Kw(this,void 0,void 0,(function*(){const t={kind:Hh.FAILING_NOOP,arbitrary:e.arbitrary},r=yield this.context.readProvider.getBlockHash(e.basedOnBlock),n=yield this.context.forger.forge({branch:r,contents:[t]});return{signature:yield this.walletProvider.sign(n,Uint8Array.from([3])),bytes:n,signedContent:{branch:r,contents:[{kind:Hh.FAILING_NOOP,arbitrary:e.arbitrary}]}}}))}registerDelegate(){return this.walletCommand((()=>Kw(this,void 0,void 0,(function*(){const e=yield this.walletProvider.mapDelegateParamsToWalletParams((()=>Kw(this,void 0,void 0,(function*(){return{delegate:yield this.pkh()}})))),t=yield this.walletProvider.sendOperations([e]);return this.context.operationFactory.createDelegationOperation(t)}))))}transfer(e){const t=Qs(e.to);if(t!==Hs.VALID)throw new Ja(e.to,ac(t));return this.walletCommand((()=>Kw(this,void 0,void 0,(function*(){const t=yield this.walletProvider.mapTransferParamsToWalletParams((()=>Kw(this,void 0,void 0,(function*(){return e})))),r=yield this.walletProvider.sendOperations([t]);return this.context.operationFactory.createTransactionOperation(r)}))))}increasePaidStorage(e){const t=Qs(e.destination);if(t!==Hs.VALID)throw new Ja(e.destination,ac(t));return this.walletCommand((()=>Kw(this,void 0,void 0,(function*(){const t=yield this.walletProvider.mapIncreasePaidStorageWalletParams((()=>Kw(this,void 0,void 0,(function*(){return e})))),r=yield this.walletProvider.sendOperations([t]);return this.context.operationFactory.createIncreasePaidStorageOperation(r)}))))}batch(e){const t=new r_(this.walletProvider,this.context);return Array.isArray(e)&&t.with(e),t}at(e,t=(e=>e)){return Kw(this,void 0,void 0,(function*(){const r=tc(e);if(r!==Hs.VALID)throw new ss(e,ac(r));const n=this.context.withExtensions().rpc,i=this.context.withExtensions().readProvider,o=yield i.getScript(e,"head"),a=yield i.getEntrypoints(e),s=new v_(e,o,this,this.context.contract,a,n,i);return t(s,this.context)}))}getPK(){return this.walletProvider.getPK()}}class i_ extends Ya{constructor(){super(),this.name="ConfirmationUndefinedError",this.message="Default confirmation count can not be undefined"}}class o_ extends Xa{constructor(e){super(),this.message=e,this.name="ObservableError"}}class a_{operationResults(){return Kw(this,void 0,void 0,(function*(){return this._operationResult.pipe(Zp()).toPromise()}))}receipt(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(!e)throw new o_("Unable to get operation results");return((e,{ALLOCATION_BURN:t,ORIGINATION_BURN:r}={ALLOCATION_BURN:257,ORIGINATION_BURN:257})=>{Ms.config({DECIMAL_PLACES:0,ROUNDING_MODE:Ms.ROUND_UP});const n=Kx({contents:e});let i=new Ms(0),o=new Ms(0),a=new Ms(0),s=new Ms(0),c=new Ms(0),l=new Ms(0);return n.forEach((e=>{a=a.plus(e.fee||0),s=s.plus(Array.isArray(e.originated_contracts)?e.originated_contracts.length*r:0),c=c.plus("allocated_destination_contract"in e?t:0),i=i.plus(e.consumed_milligas||0),l=l.plus("paid_storage_size_diff"in e&&Number(e.paid_storage_size_diff)||0)})),o=o.plus(c).plus(s).plus(l),{totalFee:a,totalMilliGas:i,totalGas:i.dividedBy(1e3),totalStorage:o,totalAllocationBurn:c,totalOriginationBurn:s,totalPaidStorageDiff:l,totalStorageBurn:new Ms(o.multipliedBy(250))}})(e)}))}constructor(e,t,r){if(this.opHash=e,this.context=t,this._newHead$=r,this._operationResult=new Df(1),this._includedInBlock=new Df(1),this._included=!1,this.newHead$=this._newHead$.pipe(Dp((e=>{var t,r;const n=null!==(r=null===(t=this.lastHead)||void 0===t?void 0:t.header.level)&&void 0!==r?r:e.header.level-1;return Qf(n+1,e.header.level-n-1).pipe(Fp((e=>this.context.readProvider.getBlock(e))),$p(e))})),Hp((e=>this.lastHead=e)),Vp({connector:()=>new Df(1),resetOnError:!1,resetOnComplete:!1,resetOnRefCountZero:!1})),this.confirmed$=this.newHead$.pipe(bp((e=>{for(const t of e.operations)for(const r of t)if(r.hash===this.opHash)return this._included=!0,this._includedInBlock.next(e),this._operationResult.next(r.contents),e})),Wp((e=>"undefined"!==typeof e)),Zp(),Vp({connector:()=>new Df(1),resetOnError:!1,resetOnComplete:!1,resetOnRefCountZero:!1})),oc(this.opHash)!==Hs.VALID)throw new us(this.opHash);this.confirmed$.pipe(Zp(),Xp((()=>fp(void 0)))).subscribe()}getCurrentConfirmation(){return Kw(this,void 0,void 0,(function*(){return this._included?_p([this._includedInBlock,hp(this.context.readProvider.getBlock("head"))]).pipe(bp((([e,t])=>t.header.level-e.header.level+1)),Zp()).toPromise():0}))}isInCurrentBranch(e="head"){return Kw(this,void 0,void 0,(function*(){if(!this._included)return!0;const t=yield this.context.readProvider.getBlockLevel(e),r=yield this._includedInBlock.pipe(Zp()).toPromise();if(!r)throw new o_("Inclusion block is undefined");const n=t-r.header.level;if(n<=0)return!0;const i=Math.min(r.header.level+n,r.header.level+60);return new Set(yield this.context.readProvider.getLiveBlocks(i)).has(r.hash)}))}confirmationObservable(e){if("undefined"!==typeof e&&e<1)throw new Zx(e);const{defaultConfirmationCount:t}=this.context.config,r=void 0!==e?e:t;if(void 0===r)throw new i_;return _p([this._includedInBlock,this.newHead$]).pipe(Jp((([,e],[,t])=>e.hash===t.hash)),bp((([e,t])=>({block:t,expectedConfirmation:r,currentConfirmation:t.header.level-e.header.level+1,completed:t.header.level-e.header.level>=r-1,isInCurrentBranch:()=>this.isInCurrentBranch(t.hash)}))),(n=({completed:e})=>!e,void 0===(i=!0)&&(i=!1),op((function(e,t){var r=0;e.subscribe(ap(t,(function(e){var o=n(e,r++);(o||i)&&t.next(e),!o&&t.complete()})))}))));var n,i}confirmation(e){return this.confirmationObservable(e).toPromise()}}class s_ extends a_{constructor(e,t,r){super(e,t,r),this.opHash=e,this.context=t}revealOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(!e)throw new o_("operationResult returned undefined");return e.find((e=>e.kind===Hh.REVEAL))}))}transactionOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(!e)throw new o_("operationResult returned undefined");return e.find((e=>e.kind===Hh.TRANSACTION))}))}status(){return Kw(this,void 0,void 0,(function*(){if(!this._included)return"pending";const e=yield this.transactionOperation();return e?e.metadata.operation_result.status:"unknown"}))}}class c_ extends a_{constructor(e,t,r){super(e,t,r),this.opHash=e,this.context=t}originationOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(e)return Bx(e,Hh.ORIGINATION);throw new o_("Unable to fetch operation result")}))}revealOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(e)return Bx(e,Hh.REVEAL);throw new o_("Unable to fetch operation result")}))}status(){return Kw(this,void 0,void 0,(function*(){if(!this._included)return"pending";const e=yield this.originationOperation();return e?e.metadata.operation_result.status:"unknown"}))}contract(){return Kw(this,void 0,void 0,(function*(){const e=yield this.originationOperation(),t=((null===e||void 0===e?void 0:e.metadata.operation_result.originated_contracts)||[])[0];return this.context.wallet.at(t)}))}}class l_ extends a_{constructor(e,t,r){super(e,t,r),this.opHash=e,this.context=t}revealOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(e)return e.find((e=>e.kind===Hh.REVEAL));throw new o_("Unable to fetch operation result")}))}delegationOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(e)return e.find((e=>e.kind===Hh.DELEGATION));throw new o_("Unable to fetch operation result")}))}status(){return Kw(this,void 0,void 0,(function*(){if(!this._included)return"pending";const e=yield this.delegationOperation();return e?e.metadata.operation_result.status:"unknown"}))}}class u_{constructor(e){this.context=e}getPKH(){return Kw(this,void 0,void 0,(function*(){return this.context.signer.publicKeyHash()}))}mapTransferParamsToWalletParams(e){return Kw(this,void 0,void 0,(function*(){return Dx(yield e(),Hh.TRANSACTION)}))}mapOriginateParamsToWalletParams(e){return Kw(this,void 0,void 0,(function*(){return Dx(yield e(),Hh.ORIGINATION)}))}mapDelegateParamsToWalletParams(e){return Kw(this,void 0,void 0,(function*(){return Dx(yield e(),Hh.DELEGATION)}))}mapIncreasePaidStorageWalletParams(e){return Kw(this,void 0,void 0,(function*(){return Dx(yield e(),Hh.INCREASE_PAID_STORAGE)}))}sendOperations(e){return Kw(this,void 0,void 0,(function*(){return(yield this.context.batch.batch(e).send()).hash}))}sign(e,t){return Kw(this,void 0,void 0,(function*(){const{prefixSig:r}=yield this.context.signer.sign(e,t);return r}))}getPK(){return this.context.signer.publicKey()}}class d_{constructor(e,t,r,n,i="unit",o=!0,a=!1){this.provider=e,this.address=t,this.parameterSchema=r,this.name=n,this.args=i,this.isMultipleEntrypoint=o,this.isAnonymous=a}getSignature(){return this.isAnonymous?this.parameterSchema.ExtractSchema()[this.name]:this.parameterSchema.ExtractSchema()}send(e={}){return this.provider instanceof n_?this.provider.transfer(this.toTransferParams(e)).send():this.provider.transfer(this.toTransferParams(e))}toTransferParams({fee:e,gasLimit:t,storageLimit:r,source:n,amount:i=0,mutez:o=!1}={}){return{to:this.address,amount:i,fee:e,mutez:o,source:n,gasLimit:t,storageLimit:r,parameter:{entrypoint:this.isMultipleEntrypoint?this.name:m_,value:this.isAnonymous?this.parameterSchema.EncodeObject({[this.name]:this.args}):this.parameterSchema.EncodeObject(this.args)}}}}class h_{constructor(e,t,r,n,i,o=!0,a=!1){this.provider=e,this.address=t,this.parameterSchema=r,this.name=n,this.args=i,this.isMultipleEntrypoint=o,this.isAnonymous=a}validateArgs(e,t,r){const n=t.ExtractSignatures();if(!n.find((t=>t.length===e.length)))throw new yx(r,n,e)}get schema(){return this.isAnonymous?this.parameterSchema.ExtractSchema()[this.name]:this.parameterSchema.ExtractSchema()}getSignature(){if(!this.isAnonymous){const e=this.parameterSchema.ExtractSignatures();return 1==e.length?e[0]:e}{const e=this.parameterSchema.ExtractSignatures().find((e=>e[0]===this.name));if(e)return e.shift(),e}}send(e={}){return this.provider instanceof n_?this.provider.transfer(this.toTransferParams(e)).send():this.provider.transfer(this.toTransferParams(e))}toTransferParams({fee:e,gasLimit:t,storageLimit:r,source:n,amount:i=0,mutez:o=!1}={}){return{to:this.address,amount:i,fee:e,mutez:o,source:n,gasLimit:t,storageLimit:r,parameter:{entrypoint:this.isMultipleEntrypoint?this.name:m_,value:this.isAnonymous?this.parameterSchema.Encode(this.name,...this.args):this.parameterSchema.Encode(...this.args)}}}}class f_{constructor(e,t,r,n,i,o="Unit"){this._rpc=e,this._readProvider=t,this._contractAddress=r,this._smartContractViewSchema=n,this._contractStorageType=i,this._args=o}getSignature(){return{parameter:this._smartContractViewSchema.extractArgsSchema(),result:this._smartContractViewSchema.extractResultSchema()}}executeView(e){return Kw(this,void 0,void 0,(function*(){this.verifyContextExecution(e);const t=yield this._readProvider.getChainId(),r=this.transformArgsToMichelson(),n={contract:this._contractAddress,view:this._smartContractViewSchema.viewName,input:r,chain_id:t,source:e.viewCaller};return e.source&&(n.payer=e.source),this.executeViewAndDecodeResult(n)}))}verifyContextExecution(e){if(e.source&&Qs(e.source)!==Hs.VALID)throw new kx(`The source account who initialized the view execution is invalid: ${e.source}.`);if(!e.viewCaller||Qs(e.viewCaller)!==Hs.VALID)throw new kx(`The contract which is the caller of view is invalid: ${e.viewCaller}.`)}transformArgsToMichelson(){try{return this._smartContractViewSchema.encodeViewArgs(this._args)}catch(e){throw new is(this._smartContractViewSchema.viewName,this.getSignature(),this._args,e)}}adaptViewCodeToContext(e,t,r){const n={BALANCE:[{prim:"PUSH",args:[{prim:"mutez"},{int:r}]}],SENDER:[{prim:"PUSH",args:[{prim:"address"},{string:t}]}],SELF_ADDRESS:[{prim:"PUSH",args:[{prim:"address"},{string:this._contractAddress}]}],AMOUNT:[{prim:"PUSH",args:[{prim:"mutez"},{int:"0"}]}]};return e.forEach(((i,o)=>{i.prim in n&&(e[o]=Object(n)[i.prim]),i.args&&0!==i.args.length?this.adaptViewCodeToContext(i.args,t,r):Array.isArray(i)&&this.adaptViewCodeToContext(i,t,r)})),e}executeViewAndDecodeResult(e){return Kw(this,void 0,void 0,(function*(){let t;try{t=(yield this._rpc.runScriptView(e)).data}catch(r){const e=(e=>{if(Sx(e.body)){const t=JSON.parse(e.body);if(Array.isArray(t)&&"with"in t[t.length-1])return t[t.length-1].with}})(r);throw e?new _x(`The simulation of the on-chain view named ${this._smartContractViewSchema.viewName} failed with: ${JSON.stringify(e)}`,this._smartContractViewSchema.viewName,e,r):r}return this._smartContractViewSchema.decodeViewResult(t)}))}}class p_{constructor(e,t){this.provider=e,this.contractAddress=t}createContractMethodFlatParams(e,t,r,n=!0,i=!1){return new h_(this.provider,this.contractAddress,e,t,r,n,i)}createContractMethodObjectParam(e,t,r,n=!0,i=!1){return new d_(this.provider,this.contractAddress,e,t,r,n,i)}createContractViewObjectParam(e,t,r,n,i){return new f_(e,t,this.contractAddress,r,n,i)}}const m_="default";class g_{constructor(e,t,r,n,i,o,a){this.currentContract=e,this.name=t,this.callbackParametersSchema=r,this.parameterSchema=n,this.args=i,this.rpc=o,this.readProvider=a}read(e){return Kw(this,void 0,void 0,(function*(){const t=ec(null!==e&&void 0!==e?e:"");if(tc(null!==e&&void 0!==e?e:"")==Hs.VALID)throw new hs("Since version 12, the lambda view no longer depends on a lambda contract. The read method no longer accepts a contract address as a parameter.");if(e&&t!==Hs.VALID)throw new cs(e,ac(t));const r=this.parameterSchema.Encode(...this.args),n=yield this.rpc.runView({contract:this.currentContract.address,entrypoint:this.name,input:r,chain_id:e||(yield this.readProvider.getChainId())});return this.callbackParametersSchema.Execute(n.data)}))}}class v_{constructor(e,t,r,n,i,o,a){this.address=e,this.script=t,this.storageProvider=n,this.entrypoints=i,this.rpc=o,this.readProvider=a,this.methods={},this.methodsObject={},this.views={},this.contractViews={},this.contractMethodFactory=new p_(r,e),this.schema=Xg.fromRPCResponse({script:this.script}),this.parameterSchema=Jg.fromRPCResponse({script:this.script}),this.viewSchema=Qg.fromRPCResponse({script:this.script}),0!==this.viewSchema.length&&this._initializeOnChainViews(this,o,this.readProvider,this.viewSchema),this.eventSchema=ev.fromRPCResponse({script:this.script}),this._initializeMethods(this,this.entrypoints.entrypoints,this.rpc,this.readProvider)}_initializeMethods(e,t,r,n){const i=this.parameterSchema,o=Object.keys(t);if(i.isMultipleEntryPoint){o.forEach((i=>{const o=new Jg(t[i]);if(this.methods[i]=function(...t){return e.contractMethodFactory.createContractMethodFlatParams(o,i,t)},this.methodsObject[i]=function(t){return e.contractMethodFactory.createContractMethodObjectParam(o,i,t)},(e=>{let t=!1;if("prim"in e&&"pair"===e.prim&&e.args){const r=e.args[e.args.length-1];"prim"in r&&"contract"===r.prim&&(t=!0)}return t})(t[i])){const o=function(...o){const a=t[i].args[0],s=new Jg(a),c=t[i].args[1].args[0],l=new Jg(c);return((e,t,r)=>{const n=t.ExtractSignatures();if(!n.find((t=>t.length===e.length)))throw new yx(r,n,e)})(o,s,i),new g_(e,i,l,s,o,r,n)};this.views[i]=o}}));Object.keys(i.ExtractSchema()).filter((e=>-1===Object.keys(t).indexOf(e))).forEach((t=>{this.methods[t]=function(...r){return e.contractMethodFactory.createContractMethodFlatParams(i,t,r,!1,!0)},this.methodsObject[t]=function(r){return e.contractMethodFactory.createContractMethodObjectParam(i,t,r,!1,!0)}}))}else{const t=this.parameterSchema;this.methods[m_]=function(...r){return e.contractMethodFactory.createContractMethodFlatParams(t,m_,r,!1)},this.methodsObject[m_]=function(r){return e.contractMethodFactory.createContractMethodObjectParam(t,m_,r,!1)}}}_initializeOnChainViews(e,t,r,n){const i=this.schema.val;n.forEach((n=>{this.contractViews[n.viewName]=function(o){return e.contractMethodFactory.createContractViewObjectParam(t,r,n,i,o)}}))}storage(){return this.storageProvider.getStorage(this.address,this.schema)}bigMap(e){return this.storageProvider.getBigMapKey(this.address,e,this.schema)}}const y_=e=>[{prim:"DROP"},{prim:"NIL",args:[{prim:"operation"}]},{prim:"PUSH",args:[{prim:"key_hash"},{string:e}]},{prim:"SOME"},{prim:"SET_DELEGATE"},{prim:"CONS"}],b_=()=>[{prim:"DROP"},{prim:"NIL",args:[{prim:"operation"}]},{prim:"NONE",args:[{prim:"key_hash"}]},{prim:"SET_DELEGATE"},{prim:"CONS"}],w_=(e,t)=>[{prim:"DROP"},{prim:"NIL",args:[{prim:"operation"}]},{prim:"PUSH",args:[{prim:"key_hash"},{string:e}]},{prim:"IMPLICIT_ACCOUNT"},{prim:"PUSH",args:[{prim:"mutez"},{int:`${t}`}]},{prim:"UNIT"},{prim:"TRANSFER_TOKENS"},{prim:"CONS"}],x_=(e,t)=>[{prim:"DROP"},{prim:"NIL",args:[{prim:"operation"}]},{prim:"PUSH",args:[{prim:"address"},{string:e}]},{prim:"CONTRACT",args:[{prim:"unit"}]},{prim:"IF_NONE",args:[[{prim:"UNIT"},{prim:"FAILWITH"}],[]]},{prim:"PUSH",args:[{prim:"mutez"},{int:`${t}`}]},{prim:"UNIT"},{prim:"TRANSFER_TOKENS"},{prim:"CONS"}];class __{constructor(e,t){this.id=e,this.provider=t}getSaplingDiff(e){return Kw(this,void 0,void 0,(function*(){return this.provider.getSaplingDiffByID(this.id.toString(),e)}))}getId(){return this.id.toString()}}class S_{constructor(e,t,r){this.id=e,this.schema=t,this.provider=r}get(e,t){return Kw(this,void 0,void 0,(function*(){try{return yield this.provider.getBigMapKeyByID(this.id.toString(),e,this.schema,t)}catch(r){if(r instanceof kh&&r.status===wh.NOT_FOUND)return;throw r}}))}getMultipleValues(e,t,r=5){return Kw(this,void 0,void 0,(function*(){return this.provider.getBigMapKeysByID(this.id.toString(),e,this.schema,t,r)}))}toJSON(){return this.id.toString()}toString(){return this.id.toString()}}const k_=e=>({big_map:(t,r)=>{if(t&&"int"in t&&void 0!==t.int){const n=new Xg(r);return new S_(new Ms(t.int),n,e)}return{}},sapling_state:t=>t&&"int"in t&&void 0!==t.int?new __(new Ms(t.int),e):{}});var E_;const P_=(e,t)=>{var r,n,i;return{fee:null!==(r=e.fee)&&void 0!==r?r:t.fee,gasLimit:null!==(n=e.gasLimit)&&void 0!==n?n:t.gasLimit,storageLimit:null!==(i=e.storageLimit)&&void 0!==i?i:t.storageLimit}};class O_ extends t_{constructor(e){super(e),this.context=e,E_.set(this,void 0),Gw(this,E_,{},"f")}getBlockHash(e){return Kw(this,void 0,void 0,(function*(){return this.context.readProvider.getBlockHash(null!==e&&void 0!==e?e:"head~2")}))}getProtocolHash(){return Kw(this,void 0,void 0,(function*(){return this.context.readProvider.getNextProtocol("head")}))}getHeadCounter(e){var t;return Kw(this,void 0,void 0,(function*(){return null!==(t=this.context.readProvider.getCounter(e,"head"))&&void 0!==t?t:"0"}))}adjustGasForBatchOperation(e,t,r){return Ms.min(t,e.div(r+1))}getAccountLimits(e,t,r){return Kw(this,void 0,void 0,(function*(){const n=yield this.context.readProvider.getBalance(e,"head"),{hard_gas_limit_per_operation:i,hard_gas_limit_per_block:o,hard_storage_limit_per_operation:a,cost_per_byte:s}=t;return{fee:0,gasLimit:r?Math.floor(this.adjustGasForBatchOperation(o,i,r).toNumber()):i.toNumber(),storageLimit:Math.floor(Ms.min(n.dividedBy(s),a).toNumber())}}))}getFee(e,t,r){(!Ww(this,E_,"f")[t]||Ww(this,E_,"f")[t]{switch(e.kind){case Hh.ACTIVATION:case Hh.DRAIN_DELEGATE:return Object.assign({},e);case Hh.ORIGINATION:return Object.assign(Object.assign(Object.assign(Object.assign({},e),{balance:"undefined"!==typeof e.balance?`${e.balance}`:"0"}),this.getSource(e,r,n)),this.getFee(e,r,t));case Hh.TRANSACTION:{const i=Object.assign(Object.assign(Object.assign(Object.assign({},e),{amount:"undefined"!==typeof e.amount?`${e.amount}`:"0"}),this.getSource(e,r,n)),this.getFee(e,r,t));if(i.source.toLowerCase().startsWith("kt1"))throw new hs(`KT1 addresses are not supported as source since ${px.PsBabyM1}`);return i}case Hh.REVEAL:case Hh.DELEGATION:case Hh.REGISTER_GLOBAL_CONSTANT:case Hh.UPDATE_CONSENSUS_KEY:case Hh.SMART_ROLLUP_ADD_MESSAGES:case Hh.SMART_ROLLUP_ORIGINATE:return Object.assign(Object.assign(Object.assign({},e),this.getSource(e,r,n)),this.getFee(e,r,t));case Hh.TRANSFER_TICKET:return Object.assign(Object.assign(Object.assign(Object.assign({},e),{ticket_amount:`${e.ticket_amount}`}),this.getSource(e,r,n)),this.getFee(e,r,t));case Hh.INCREASE_PAID_STORAGE:return Object.assign(Object.assign(Object.assign(Object.assign({},e),{amount:`${e.amount}`}),this.getSource(e,r,n)),this.getFee(e,r,t));case Hh.BALLOT:case Hh.PROPOSALS:if(void 0===i)throw new Jx("Failed to get the current voting period index");return Object.assign(Object.assign({},e),{period:null===i||void 0===i?void 0:i.voting_period.index});default:throw new ds(e.kind)}}))}activate({pkh:e,secret:t}){return Kw(this,void 0,void 0,(function*(){const r=yield(({pkh:e,secret:t})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.ACTIVATION,pkh:e,secret:t}})))({pkh:e,secret:t}),n=this.convertIntoArray(r),i=yield this.getBlockHash(),o=yield this.getProtocolHash();Gw(this,E_,{},"f");const a=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:i,contents:this.constructOpContents(n,a,e),protocol:o},counter:a}}))}reveal({fee:e,gasLimit:t,storageLimit:r}){return Kw(this,void 0,void 0,(function*(){const{pkh:n,publicKey:i}=yield this.getKeys();if(!i)throw new ps(n);const o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.getAccountLimits(n,o),s=P_({fee:e,storageLimit:r,gasLimit:t},a),c=yield Cx({fee:s.fee,gasLimit:s.gasLimit,storageLimit:s.storageLimit},n,i),l=this.convertIntoArray(c),u=yield this.getBlockHash(),d=yield this.getProtocolHash();Gw(this,E_,{},"f");const h=parseInt(yield this.getHeadCounter(n),10);return{opOb:{branch:u,contents:this.constructOpContents(l,h,n),protocol:d},counter:h}}))}originate(e,t){var{fee:r,storageLimit:n,gasLimit:i}=e,o=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),a=yield this.context.readProvider.getProtocolConstants("head"),s=yield this.getAccountLimits(e,a),c=yield Ax(yield this.context.parser.prepareCodeOrigination(Object.assign(Object.assign({},o),P_({fee:r,storageLimit:n,gasLimit:i},s)))),l=yield this.addRevealOperationIfNeeded(c,e),u=this.convertIntoArray(l),d=yield this.getBlockHash(),h=yield this.getProtocolHash();Gw(this,E_,{},"f");const f=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:d,contents:this.constructOpContents(u,f,e,t),protocol:h},counter:f}}))}transaction(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.getAccountLimits(e,o),s=yield Tx(Object.assign(Object.assign({},i),P_({fee:t,storageLimit:r,gasLimit:n},a))),c=yield this.addRevealOperationIfNeeded(s,e),l=this.convertIntoArray(c),u=yield this.getBlockHash(),d=yield this.getProtocolHash();Gw(this,E_,{},"f");const h=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:u,contents:this.constructOpContents(l,h,e,i.source),protocol:d},counter:h}}))}delegation(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.getAccountLimits(e,o),s=yield jx(Object.assign(Object.assign({},i),P_({fee:t,storageLimit:r,gasLimit:n},a))),c=yield this.addRevealOperationIfNeeded(s,e),l=this.convertIntoArray(c),u=yield this.getBlockHash(),d=yield this.getProtocolHash();Gw(this,E_,{},"f");const h=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:u,contents:this.constructOpContents(l,h,e,i.source),protocol:d},counter:h}}))}registerDelegate({fee:e,storageLimit:t,gasLimit:r},n){return Kw(this,void 0,void 0,(function*(){const{pkh:i}=yield this.getKeys(),o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.getAccountLimits(i,o),s=P_({fee:e,storageLimit:t,gasLimit:r},a),c=yield(({fee:e=ax,gasLimit:t=Qw,storageLimit:r=ux},n)=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.DELEGATION,fee:e,gas_limit:t,storage_limit:r,delegate:n}})))({fee:s.fee,storageLimit:s.storageLimit,gasLimit:s.gasLimit},i),l=yield this.addRevealOperationIfNeeded(c,i),u=this.convertIntoArray(l),d=yield this.getBlockHash(),h=yield this.getProtocolHash();Gw(this,E_,{},"f");const f=parseInt(yield this.getHeadCounter(i),10);return{opOb:{branch:d,contents:this.constructOpContents(u,f,i,n),protocol:h},counter:f}}))}registerGlobalConstant(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.getAccountLimits(e,o),s=yield Rx(Object.assign(Object.assign({},i),P_({fee:t,storageLimit:r,gasLimit:n},a))),c=yield this.addRevealOperationIfNeeded(s,e),l=this.convertIntoArray(c),u=yield this.getBlockHash(),d=yield this.getProtocolHash();Gw(this,E_,{},"f");const h=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:u,contents:this.constructOpContents(l,h,e,i.source),protocol:d},counter:h}}))}updateConsensusKey(e,t){var{fee:r,storageLimit:n,gasLimit:i}=e,o=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),a=yield this.context.readProvider.getProtocolConstants("head"),s=yield this.getAccountLimits(e,a),c=yield(({source:e,fee:t,gasLimit:r,storageLimit:n,pk:i})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.UPDATE_CONSENSUS_KEY,source:e,fee:t,gas_limit:r,storage_limit:n,pk:i}})))(Object.assign(Object.assign({},o),P_({fee:r,storageLimit:n,gasLimit:i},s))),l=yield this.addRevealOperationIfNeeded(c,e),u=this.convertIntoArray(l),d=yield this.getBlockHash(),h=yield this.getProtocolHash();Gw(this,E_,{},"f");const f=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:d,contents:this.constructOpContents(u,f,e,t),protocol:h},counter:f}}))}increasePaidStorage(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.getAccountLimits(e,o),s=yield Mx(Object.assign(Object.assign({},i),P_({fee:t,storageLimit:r,gasLimit:n},a))),c=yield this.addRevealOperationIfNeeded(s,e),l=this.convertIntoArray(c),u=yield this.getBlockHash(),d=yield this.getProtocolHash();Gw(this,E_,{},"f");const h=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:u,contents:this.constructOpContents(l,h,e,i.source),protocol:d},counter:h}}))}ballot(e){return Kw(this,void 0,void 0,(function*(){const{pkh:t}=yield this.getKeys(),r=yield(({source:e,proposal:t,ballot:r})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.BALLOT,source:e,proposal:t,ballot:r}})))(Object.assign({},e)),n=this.convertIntoArray(r),i=yield this.getBlockHash(),o=yield this.getProtocolHash();Gw(this,E_,{},"f");const a=parseInt(yield this.getHeadCounter(t),10);let s;try{s=yield this.rpc.getCurrentPeriod()}catch(c){throw new Jx("Failed to get the current voting period index")}return{opOb:{branch:i,contents:this.constructOpContents(n,a,t,void 0,s),protocol:o},counter:a}}))}proposals(e){return Kw(this,void 0,void 0,(function*(){const{pkh:t}=yield this.getKeys(),r=yield(({source:e,proposals:t})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.PROPOSALS,source:e,proposals:t}})))(Object.assign({},e)),n=this.convertIntoArray(r),i=yield this.getBlockHash(),o=yield this.getProtocolHash();Gw(this,E_,{},"f");const a=parseInt(yield this.getHeadCounter(t),10);let s;try{s=yield this.rpc.getCurrentPeriod()}catch(c){throw new Jx("Failed to get the current voting period index")}return{opOb:{branch:i,contents:this.constructOpContents(n,a,t,void 0,s),protocol:o},counter:a}}))}drainDelegate(e,t){return Kw(this,void 0,void 0,(function*(){const{pkh:r}=yield this.getKeys(),n=yield(({consensus_key:e,delegate:t,destination:r})=>Kw(void 0,void 0,void 0,(function*(){return{kind:Hh.DRAIN_DELEGATE,consensus_key:e,delegate:t,destination:r}})))(Object.assign({},e)),i=this.convertIntoArray(n),o=yield this.getBlockHash(),a=yield this.getProtocolHash();Gw(this,E_,{},"f");const s=parseInt(yield this.getHeadCounter(r),10);return{opOb:{branch:o,contents:this.constructOpContents(i,s,r,t),protocol:a},counter:s}}))}transferTicket(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.getAccountLimits(e,o),s=yield Ix(Object.assign(Object.assign({},i),P_({fee:t,storageLimit:r,gasLimit:n},a))),c=yield this.addRevealOperationIfNeeded(s,e),l=this.convertIntoArray(c),u=yield this.getBlockHash(),d=yield this.getProtocolHash();Gw(this,E_,{},"f");const h=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:u,contents:this.constructOpContents(l,h,e,i.source),protocol:d},counter:h}}))}smartRollupAddMessages(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.getAccountLimits(e,o),s=yield Lx(Object.assign(Object.assign({},i),P_({fee:t,storageLimit:r,gasLimit:n},a))),c=yield this.addRevealOperationIfNeeded(s,e),l=this.convertIntoArray(c),u=yield this.getBlockHash(),d=yield this.getProtocolHash();Gw(this,E_,{},"f");const h=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:u,contents:this.constructOpContents(l,h,e,i.source),protocol:d},counter:h}}))}smartRollupOriginate(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const{pkh:e}=yield this.getKeys(),o=yield this.rpc.getOriginationProof({kind:i.pvmKind,kernel:i.kernel}),a=yield this.context.readProvider.getProtocolConstants("head"),s=yield this.getAccountLimits(e,a),c=yield Nx(Object.assign(Object.assign(Object.assign({},P_({fee:t,storageLimit:r,gasLimit:n},s)),i),{originationProof:o})),l=yield this.addRevealOperationIfNeeded(c,e),u=this.convertIntoArray(l),d=yield this.getBlockHash(),h=yield this.getProtocolHash();Gw(this,E_,{},"f");const f=parseInt(yield this.getHeadCounter(e),10);return{opOb:{branch:d,contents:this.constructOpContents(u,f,e,i.source),protocol:h},counter:f}}))}batch(e,t){return Kw(this,void 0,void 0,(function*(){const{pkh:r,publicKey:n}=yield this.getKeys(),i=yield this.context.readProvider.getProtocolConstants("head"),o=yield this.getAccountLimits(r,i,e.length),a=yield this.isRevealOpNeeded(e,r),s=[];if(t)for(const d of e)if(Ux(d)){const e=t.shift(),r=P_(d,{fee:e.suggestedFeeMutez,storageLimit:e.storageLimit,gasLimit:e.gasLimit});s.push(yield this.getRPCOp(Object.assign(Object.assign({},d),r)))}else s.push(Object.assign({},d));else for(const t of e)if(Ux(t)){const e=P_(t,o);s.push(yield this.getRPCOp(Object.assign(Object.assign({},t),e)))}else s.push(Object.assign({},t));if(a){if(!n)throw new ps(r);s.unshift(yield Cx({fee:lx,storageLimit:fx,gasLimit:gx(r)},r,n))}const c=yield this.getBlockHash(),l=yield this.getProtocolHash();Gw(this,E_,{},"f");const u=parseInt(yield this.getHeadCounter(r),10);return{opOb:{branch:c,contents:this.constructOpContents(s,u,r),protocol:l},counter:u}}))}contractCall(e){var t,r,n;return Kw(this,void 0,void 0,(function*(){const i=yield this.getBlockHash(),o=yield this.getProtocolHash(),{pkh:a}=yield this.getKeys();Gw(this,E_,{},"f");const s=parseInt(yield this.getHeadCounter(a),10),c=e.toTransferParams(),l=yield this.context.readProvider.getProtocolConstants("head"),u=yield this.getAccountLimits(a,l),d=P_({fee:c.fee,storageLimit:c.storageLimit,gasLimit:c.gasLimit},u),h={kind:Hh.TRANSACTION,fee:null!==(t=c.fee)&&void 0!==t?t:d.fee,gas_limit:null!==(r=c.gasLimit)&&void 0!==r?r:d.gasLimit,storage_limit:null!==(n=c.storageLimit)&&void 0!==n?n:d.storageLimit,amount:String(c.amount),destination:c.to,parameters:c.parameter},f=yield this.addRevealOperationIfNeeded(h,a),p=this.convertIntoArray(f);return{opOb:{branch:i,contents:this.constructOpContents(p,s,a),protocol:o},counter:s}}))}toPreapply(e){return Kw(this,void 0,void 0,(function*(){const{opOb:{contents:t,branch:r,protocol:n}}=e,i=this.toForge(e),o=yield this.context.forger.forge(i);return[{contents:t,branch:r,protocol:n,signature:(yield this.context.signer.sign(o,new Uint8Array([3]))).prefixSig}]}))}toForge({opOb:{contents:e,branch:t}}){return{branch:t,contents:e}}}E_=new WeakMap;const A_=[Hh.ACTIVATION,Hh.ORIGINATION,Hh.TRANSACTION,Hh.DELEGATION];class T_ extends t_{constructor(e,t){super(e),this.estimator=t,this.operations=[],this.prepare=new O_(this.context)}withTransfer(e){const t=Qs(e.to);if(e.amount<0)throw new es(e.amount.toString());if(t!==Hs.VALID)throw new Ja(e.to,ac(t));return this.operations.push(Object.assign({kind:Hh.TRANSACTION},e)),this}withTransferTicket(e){const t=Qs(e.destination);if(t!==Hs.VALID)throw new Ja(e.destination,ac(t));return this.operations.push(Object.assign({kind:Hh.TRANSFER_TICKET},e)),this}withContractCall(e,t={}){return this.withTransfer(e.toTransferParams(t))}withDelegation(e){var t;const r=Qs(e.source);if(e.source&&r!==Hs.VALID)throw new Ja(e.source,ac(r));const n=Qs(null!==(t=e.delegate)&&void 0!==t?t:"");if(e.delegate&&n!==Hs.VALID)throw new Ja(e.delegate,ac(n));return this.operations.push(Object.assign({kind:Hh.DELEGATION},e)),this}withActivation({pkh:e,secret:t}){const r=rc(e);if(r!==Hs.VALID)throw new ls(e,ac(r));return this.operations.push({kind:Hh.ACTIVATION,pkh:e,secret:t}),this}withOrigination(e){return this.operations.push(Object.assign({kind:Hh.ORIGINATION},e)),this}withRegisterGlobalConstant(e){return this.operations.push(Object.assign({kind:Hh.REGISTER_GLOBAL_CONSTANT},e)),this}withIncreasePaidStorage(e){return this.operations.push(Object.assign({kind:Hh.INCREASE_PAID_STORAGE},e)),this}withSmartRollupAddMessages(e){return this.operations.push(Object.assign({kind:Hh.SMART_ROLLUP_ADD_MESSAGES},e)),this}withSmartRollupOriginate(e){return this.operations.push(Object.assign({kind:Hh.SMART_ROLLUP_ORIGINATE},e)),this}getRPCOp(e){return Kw(this,void 0,void 0,(function*(){switch(e.kind){case Hh.TRANSACTION:return Tx(Object.assign({},e));case Hh.ORIGINATION:return Ax(yield this.context.parser.prepareCodeOrigination(Object.assign({},e)));case Hh.DELEGATION:return jx(Object.assign({},e));case Hh.REGISTER_GLOBAL_CONSTANT:return Rx(Object.assign({},e));case Hh.INCREASE_PAID_STORAGE:return Mx(Object.assign({},e));case Hh.TRANSFER_TICKET:return Ix(Object.assign({},e));case Hh.SMART_ROLLUP_ADD_MESSAGES:return Lx(Object.assign({},e));case Hh.SMART_ROLLUP_ORIGINATE:return Nx(Object.assign({},e));default:throw new ds(JSON.stringify(e.kind))}}))}with(e){for(const t of e)switch(t.kind){case Hh.TRANSACTION:this.withTransfer(t);break;case Hh.ORIGINATION:this.withOrigination(t);break;case Hh.DELEGATION:this.withDelegation(t);break;case Hh.ACTIVATION:this.withActivation(t);break;case Hh.REGISTER_GLOBAL_CONSTANT:this.withRegisterGlobalConstant(t);break;case Hh.INCREASE_PAID_STORAGE:this.withIncreasePaidStorage(t);break;case Hh.TRANSFER_TICKET:this.withTransferTicket(t);break;case Hh.SMART_ROLLUP_ADD_MESSAGES:this.withSmartRollupAddMessages(t);break;case Hh.SMART_ROLLUP_ORIGINATE:this.withSmartRollupOriginate(t);break;default:throw new ds(JSON.stringify(t.kind))}return this}send(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.signer.publicKeyHash(),r=e&&e.source||t,n=yield this.estimator.batch(this.operations);n.length!==this.operations.length&&n.shift();const i=yield this.prepare.batch(this.operations,n),o=yield this.forge(i),{hash:a,context:s,forgedBytes:c,opResponse:l}=yield this.signAndInject(o);return new e_(a,i.opOb.contents,r,c,l,s)}))}}class j_{constructor(e,t){this.context=e,this.estimator=t}batch(e){const t=new T_(this.context,this.estimator);return Array.isArray(e)&&t.with(e),t}}class C_ extends a_{constructor(e,t,r){super(e,t,r),this.opHash=e,this.context=t,this.getOriginatedContractAddresses=()=>Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(e){const t=e.filter((e=>"origination"===e.kind));let r=[];for(const e of t)e.metadata.operation_result.originated_contracts&&(r=[...r,...e.metadata.operation_result.originated_contracts]);return r}throw new o_("Unable to fetch operation results")}))}revealOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(e)return e.find((e=>e.kind===Hh.REVEAL));throw new o_("Unable to fetch operation results")}))}status(){return Kw(this,void 0,void 0,(function*(){if(!this._included)return"pending";const e=yield this.operationResults();if(e)return e.filter((e=>-1!==A_.indexOf(e.kind))).map((e=>{if(Hx(e)){return e.metadata.operation_result.status}return"unknown"}))[0]||"unknown";throw new o_("Unable to fetch operation results")}))}}class R_ extends a_{constructor(e,t,r){super(e,t,r),this.opHash=e,this.context=t}revealOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(e)return e.find((e=>e.kind===Hh.REVEAL));throw new o_("Unable to fetch operation result")}))}increasePaidStorageOperation(){return Kw(this,void 0,void 0,(function*(){const e=yield this.operationResults();if(e)return e.find((e=>e.kind===Hh.INCREASE_PAID_STORAGE));throw new o_("Unable to fetch operation result")}))}status(){return Kw(this,void 0,void 0,(function*(){if(!this._included)return"pending";const e=yield this.increasePaidStorageOperation();return e?e.metadata.operation_result.status:"unknown"}))}}const I_=(e,t,r)=>{return e.pipe((n=1e3*t.config.confirmationPollingTimeoutSecond,function(e){return new Bf(null).pipe(zp({each:n,with:()=>zf((()=>new Xx("Confirmation polling timed out")))}),kp((()=>e)))}),Vp({connector:()=>new Df(1),resetOnError:!1,resetOnComplete:!1,resetOnRefCountZero:!1}));var n};class M_{constructor(e){this.context=e,this.sharedHeadObs=Xf((()=>Jw(this.context.stream.subscribeBlock("head"))))}createNewHeadObservable(){return Kw(this,void 0,void 0,(function*(){return I_(this.sharedHeadObs,this.context)}))}createPastBlockWalker(e,t=1){return hp(this.context.readProvider.getBlock(e)).pipe(Dp((e=>1===t?fp(e):Qf(e.header.level,t-1).pipe(function(){for(var e=[],t=0;tKw(this,void 0,void 0,(function*(){return this.context.readProvider.getBlock("number"===typeof e?e:e.header.level)}))))))))}createHeadObservableFromConfig({blockIdentifier:e}){return Kw(this,void 0,void 0,(function*(){const t=[];return e&&t.push(this.createPastBlockWalker(e)),t.push(yield this.createNewHeadObservable()),Pp(...t)}))}createOperation(e,t={}){return Kw(this,void 0,void 0,(function*(){return new a_(e,this.context.clone(),yield this.createHeadObservableFromConfig(t))}))}createBatchOperation(e,t={}){return Kw(this,void 0,void 0,(function*(){return new C_(e,this.context.clone(),yield this.createHeadObservableFromConfig(t))}))}createTransactionOperation(e,t={}){return Kw(this,void 0,void 0,(function*(){return new s_(e,this.context.clone(),yield this.createHeadObservableFromConfig(t))}))}createDelegationOperation(e,t={}){return Kw(this,void 0,void 0,(function*(){return new l_(e,this.context.clone(),yield this.createHeadObservableFromConfig(t))}))}createOriginationOperation(e,t={}){return Kw(this,void 0,void 0,(function*(){return new c_(e,this.context.clone(),yield this.createHeadObservableFromConfig(t))}))}createIncreasePaidStorageOperation(e,t={}){return Kw(this,void 0,void 0,(function*(){return new R_(e,this.context.clone(),yield this.createHeadObservableFromConfig(t))}))}}class L_ extends t_{constructor(e){super(e),this.prepare=new O_(this.context)}getBalance(e){return Kw(this,void 0,void 0,(function*(){const t=Qs(e);if(t!==Hs.VALID)throw new Ja(e,ac(t));return this.context.readProvider.getBalance(e,"head")}))}getDelegate(e){return Kw(this,void 0,void 0,(function*(){const t=Qs(e);if(t!==Hs.VALID)throw new Ja(e,ac(t));return this.context.readProvider.getDelegate(e,"head")}))}activate(e,t){return Kw(this,void 0,void 0,(function*(){const r=rc(e);if(r!==Hs.VALID)throw new ls(e,ac(r));const n=yield this.prepare.activate({pkh:e,secret:t}),i=yield this.forge(n),o=`${i.opbytes}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`;return new Qx(yield this.rpc.injectOperation(o),Object.assign(Object.assign({},i),{opbytes:o}),[],this.context.clone())}))}}const N_=100;class D_{constructor(e,t,r,n,i=100){this._milligasLimit=e,this._storageLimit=t,this.opSize=r,this.minimalFeePerStorageByteMutez=n,this.baseFeeMutez=i}get burnFeeMutez(){return this.roundUp(Number(this.storageLimit)*Number(this.minimalFeePerStorageByteMutez))}get storageLimit(){const e=Math.max(Number(this._storageLimit),0);return e>0?e:0}get gasLimit(){return this.roundUp(Number(this._milligasLimit)/1e3+100)}get operationFeeMutez(){return.1*(Number(this._milligasLimit)/1e3+100)+1*Number(this.opSize)}roundUp(e){return Math.ceil(Number(e))}get minimalFeeMutez(){return this.roundUp(N_+this.operationFeeMutez)}get suggestedFeeMutez(){return this.roundUp(this.operationFeeMutez+200)}get usingBaseFeeMutez(){return Math.max(Number(this.baseFeeMutez),N_)+this.roundUp(this.operationFeeMutez)}get totalCost(){return this.minimalFeeMutez+this.burnFeeMutez}get consumedMilligas(){return Number(this._milligasLimit)}static createEstimateInstanceFromProperties(e){let t,r=0,n=0,i=0,o=0;return e.forEach((e=>{r+=e.milligasLimit,n+=e.storageLimit,i+=e.opSize,o=Math.max(e.minimalFeePerStorageByteMutez,o),e.baseFeeMutez&&(t=t?t+e.baseFeeMutez:e.baseFeeMutez)})),new D_(r,n,i,o,t)}static createArrayEstimateInstancesFromProperties(e){return e.map((e=>new D_(e.milligasLimit,e.storageLimit,e.opSize,e.minimalFeePerStorageByteMutez,e.baseFeeMutez)))}}class B_ extends Ka{constructor(){super(),this.name="RevealEstimateError",this.message="Public key is unknown, unable to estimate the reveal operation in Wallet API."}}class z_ extends t_{constructor(){super(...arguments),this.ALLOCATION_STORAGE=257,this.ORIGINATION_STORAGE=257,this.OP_SIZE_REVEAL=128,this.prepare=new O_(this.context)}getKeys(){return Kw(this,void 0,void 0,(function*(){const e=this.context.isAnySignerConfigured();return{publicKeyHash:e?yield this.signer.publicKeyHash():yield this.context.walletProvider.getPKH(),publicKey:e?yield this.signer.publicKey():void 0}}))}getEstimationPropertiesFromOperationContent(e,t,r){const n=Kx({contents:[e]});let i=0,o=0;return n.forEach((e=>{o+="originated_contracts"in e&&"undefined"!==typeof e.originated_contracts?e.originated_contracts.length*this.ORIGINATION_STORAGE:0,o+="allocated_destination_contract"in e?this.ALLOCATION_STORAGE:0,i+=Number(e.consumed_milligas)||0,o+="paid_storage_size_diff"in e&&Number(e.paid_storage_size_diff)||0,o+="storage_size"in e&&"global_address"in e&&Number(e.storage_size)||0,o+="genesis_commitment_hash"in e?Number(e.size):0})),Ux(e)?{milligasLimit:i||0,storageLimit:Number(o||0),opSize:t,minimalFeePerStorageByteMutez:r.toNumber()}:{milligasLimit:0,storageLimit:0,opSize:t,minimalFeePerStorageByteMutez:r.toNumber(),baseFeeMutez:0}}calculateEstimates(e,t){return Kw(this,void 0,void 0,(function*(){const{opbytes:r,opOb:{branch:n,contents:i}}=yield this.forge(e),o={operation:{branch:n,contents:i},chain_id:yield this.context.readProvider.getChainId()},{opResponse:a}=yield this.simulate(o),{cost_per_byte:s}=t,c=[...Wx(a,"backtracked"),...Wx(a)];if(c.length)throw new Vx(c,"Error occurred during estimation");let l=1;return Array.isArray(e.opOb.contents)&&e.opOb.contents.length>1&&(l="reveal"===a.contents[0].kind?e.opOb.contents.length-1:e.opOb.contents.length),a.contents.map((e=>this.getEstimationPropertiesFromOperationContent(e,"reveal"===e.kind?this.OP_SIZE_REVEAL/2:r.length/2/l,s)))}))}originate(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.prepare.originate(e),r=yield this.context.readProvider.getProtocolConstants("head"),n=yield this.calculateEstimates(t,r);return"reveal"===t.opOb.contents[0].kind&&n.shift(),D_.createEstimateInstanceFromProperties(n)}))}transfer(e){var t,{fee:r,storageLimit:n,gasLimit:i}=e,o=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const e=Qs(o.to);if(e!==Hs.VALID)throw new Ja(o.to,ac(e));const a=Qs(null!==(t=o.source)&&void 0!==t?t:"");if(o.source&&a!==Hs.VALID)throw new Ja(o.source,ac(a));if(o.amount<0)throw new es(o.amount.toString());const s=yield this.prepare.transaction(Object.assign({fee:r,storageLimit:n,gasLimit:i},o)),c=yield this.context.readProvider.getProtocolConstants("head"),l=yield this.calculateEstimates(s,c);return"reveal"===s.opOb.contents[0].kind&&l.shift(),D_.createEstimateInstanceFromProperties(l)}))}transferTicket(e){var t,{fee:r,storageLimit:n,gasLimit:i}=e,o=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const e=Qs(o.destination);if(e!==Hs.VALID)throw new Ja(o.destination,ac(e));const a=Qs(null!==(t=o.source)&&void 0!==t?t:"");if(o.source&&a!==Hs.VALID)throw new Ja(o.source,ac(a));const s=yield this.context.readProvider.getProtocolConstants("head"),c=yield this.prepare.transferTicket(Object.assign({fee:r,storageLimit:n,gasLimit:i},o)),l=yield this.calculateEstimates(c,s);return"reveal"===c.opOb.contents[0].kind&&l.shift(),D_.createEstimateInstanceFromProperties(l)}))}setDelegate(e){var t,{fee:r,gasLimit:n,storageLimit:i}=e,o=qw(e,["fee","gasLimit","storageLimit"]);return Kw(this,void 0,void 0,(function*(){const e=Qs(o.source);if(o.source&&e!==Hs.VALID)throw new Ja(o.source,ac(e));const a=Qs(null!==(t=o.delegate)&&void 0!==t?t:"");if(o.delegate&&a!==Hs.VALID)throw new Ja(o.delegate,ac(a));const s=yield this.prepare.delegation(Object.assign({fee:r,storageLimit:i,gasLimit:n},o)),c=yield this.context.readProvider.getProtocolConstants("head"),l=yield this.calculateEstimates(s,c);return"reveal"===s.opOb.contents[0].kind&&l.shift(),D_.createEstimateInstanceFromProperties(l)}))}batch(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.context.readProvider.getProtocolConstants("head"),r=yield this.prepare.batch(e),n=yield this.calculateEstimates(r,t);return D_.createArrayEstimateInstancesFromProperties(n)}))}registerDelegate(e,t){var{fee:r,storageLimit:n,gasLimit:i}=e,o=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const e=(yield this.getKeys()).publicKeyHash,a=yield this.context.readProvider.getProtocolConstants("head"),s=t||e,c=yield this.prepare.registerDelegate(Object.assign({fee:r,storageLimit:n,gasLimit:i},o),s),l=yield this.calculateEstimates(c,a);return"reveal"===c.opOb.contents[0].kind&&l.shift(),D_.createEstimateInstanceFromProperties(l)}))}reveal(e){return Kw(this,void 0,void 0,(function*(){const{publicKeyHash:t,publicKey:r}=yield this.getKeys();if(!r)throw new B_;if(yield this.isAccountRevealRequired(t)){const t=yield this.context.readProvider.getProtocolConstants("head"),r=e?yield this.prepare.reveal(e):yield this.prepare.reveal({}),n=yield this.calculateEstimates(r,t);return D_.createEstimateInstanceFromProperties(n)}}))}registerGlobalConstant(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){const e=yield this.prepare.registerGlobalConstant(Object.assign({fee:t,storageLimit:r,gasLimit:n},i)),o=yield this.context.readProvider.getProtocolConstants("head"),a=yield this.calculateEstimates(e,o);return"reveal"===e.opOb.contents[0].kind&&a.shift(),D_.createEstimateInstanceFromProperties(a)}))}increasePaidStorage(e){var{fee:t,storageLimit:r,gasLimit:n}=e,i=qw(e,["fee","storageLimit","gasLimit"]);return Kw(this,void 0,void 0,(function*(){if(i.amount<0)throw new es(i.amount.toString());const e=yield this.context.readProvider.getProtocolConstants("head"),o=yield this.prepare.increasePaidStorage(Object.assign({fee:t,storageLimit:r,gasLimit:n},i)),a=yield this.calculateEstimates(o,e);return"reveal"===o.opOb.contents[0].kind&&a.shift(),D_.createEstimateInstanceFromProperties(a)}))}updateConsensusKey(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.context.readProvider.getProtocolConstants("head"),r=yield this.prepare.updateConsensusKey(e),n=yield this.calculateEstimates(r,t);return"reveal"===r.opOb.contents[0].kind&&n.shift(),D_.createEstimateInstanceFromProperties(n)}))}smartRollupAddMessages(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.context.readProvider.getProtocolConstants("head"),r=yield this.prepare.smartRollupAddMessages(e),n=yield this.calculateEstimates(r,t);return"reveal"===r.opOb.contents[0].kind&&n.shift(),D_.createEstimateInstanceFromProperties(n)}))}smartRollupOriginate(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.context.readProvider.getProtocolConstants("head"),r=yield this.prepare.smartRollupOriginate(e),n=yield this.calculateEstimates(r,t);return"reveal"===r.opOb.contents[0].kind&&n.shift(),D_.createEstimateInstanceFromProperties(n)}))}contractCall(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.context.readProvider.getProtocolConstants("head"),r=yield this.prepare.contractCall(e),n=yield this.calculateEstimates(r,t);return"reveal"===r.opOb.contents[0].kind&&n.shift(),D_.createEstimateInstanceFromProperties(n)}))}}class U_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"delegation"===e.kind)),t=e&&e.metadata&&e.metadata.operation_result;return t||void 0}get status(){var e,t;return null!==(t=null===(e=this.operationResults)||void 0===e?void 0:e.status)&&void 0!==t?t:"unknown"}get delegate(){return this.params.delegate}get isRegisterOperation(){return this.delegate===this.source}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get consumedGas(){return Is.config({DECIMAL_PLACES:0,ROUNDING_MODE:Is.ROUND_UP}),this.consumedMilliGas?new Is(this.consumedMilliGas).dividedBy(1e3).toString():void 0}get consumedMilliGas(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.consumed_milligas}get errors(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.errors}}class F_ extends Qx{constructor(e,t,r,n,i,o){super(e,r,n,i),this.params=t,this.contractProvider=o;const a=this.operationResults&&this.operationResults.originated_contracts;Array.isArray(a)&&(this.contractAddress=a[0])}get status(){var e,t;return null!==(t=null===(e=this.operationResults)||void 0===e?void 0:e.status)&&void 0!==t?t:"unknown"}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"origination"===e.kind)),t=e&&Hx(e)&&e.metadata.operation_result;return t||void 0}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get consumedGas(){return Is.config({DECIMAL_PLACES:0,ROUNDING_MODE:Is.ROUND_UP}),this.consumedMilliGas?new Is(this.consumedMilliGas).dividedBy(1e3).toString():void 0}get consumedMilliGas(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.consumed_milligas}get storageDiff(){const e=this.operationResults&&this.operationResults.paid_storage_size_diff;return e||void 0}get storageSize(){const e=this.operationResults&&this.operationResults.storage_size;return e||void 0}get errors(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.errors}contract(e,t){return Kw(this,void 0,void 0,(function*(){if(!this.contractAddress)throw new Gx("No contract was originated in this operation");return yield this.confirmation(e,t),this.contractProvider.at(this.contractAddress)}))}}class $_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r,this.globalConstantHash=this.operationResults&&this.operationResults.global_address}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"register_global_constant"===e.kind)),t=e&&e.metadata&&e.metadata.operation_result;return t||void 0}get status(){var e,t;return null!==(t=null===(e=this.operationResults)||void 0===e?void 0:e.status)&&void 0!==t?t:"unknown"}get registeredExpression(){return this.params.value}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get errors(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.errors}get consumedGas(){return Is.config({DECIMAL_PLACES:0,ROUNDING_MODE:Is.ROUND_UP}),this.consumedMilliGas?new Is(this.consumedMilliGas).dividedBy(1e3).toString():void 0}get consumedMilliGas(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.consumed_milligas}}class H_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"reveal"===e.kind));return e?[e]:[]}get status(){const e=this.operationResults[0];return e?e.metadata.operation_result.status:"unknown"}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get publicKey(){return this.params.public_key}sumProp(e,t){return e.reduce(((e,r)=>t in r?Number(r[t])+e:e),0)}get consumedGas(){return Is.config({DECIMAL_PLACES:0,ROUNDING_MODE:Is.ROUND_UP}),new Is(this.consumedMilliGas).dividedBy(1e3).toString()}get consumedMilliGas(){return String(this.sumProp(Kx({contents:this.operationResults}),"consumed_milligas"))}get storageDiff(){return String(this.sumProp(Kx({contents:this.operationResults}),"paid_storage_size_diff"))}get storageSize(){return String(this.sumProp(Kx({contents:this.operationResults}),"storage_size"))}get errors(){return Wx({contents:this.operationResults})}}class V_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"transaction"===e.kind));return e?[e]:[]}get status(){const e=this.operationResults[0];return e?e.metadata.operation_result.status:"unknown"}get amount(){return new Ms(this.params.amount)}get destination(){return this.params.destination}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}sumProp(e,t){return e.reduce(((e,r)=>t in r?Number(r[t])+e:e),0)}get consumedGas(){return Ms.config({DECIMAL_PLACES:0,ROUNDING_MODE:Ms.ROUND_UP}),new Ms(this.consumedMilliGas).dividedBy(1e3).toString()}get consumedMilliGas(){return String(this.sumProp(Kx({contents:this.operationResults}),"consumed_milligas"))}get storageDiff(){return String(this.sumProp(Kx({contents:this.operationResults}),"paid_storage_size_diff"))}get storageSize(){return String(this.sumProp(Kx({contents:this.operationResults}),"storage_size"))}get errors(){return Wx({contents:this.operationResults})}}class q_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"ballot"===e.kind));return e||void 0}get period(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.period}get proposal(){return this.params.proposal}get ballot(){return this.params.ballot}}class K_ extends Qx{constructor(e,t,r,n,i){super(e,r,n,i),this.params=t}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"drain_delegate"===e.kind)),t=e&&e.metadata&&e.metadata.balance_updates;return t||void 0}get consensusKey(){return this.params.consensus_key}get delegate(){return this.params.delegate}get destination(){return this.params.destination}}class W_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>e.kind===Hh.TRANSFER_TICKET)),t=e&&e.metadata&&e.metadata.operation_result;return t||void 0}get status(){var e,t;return null!==(t=null===(e=this.operationResults)||void 0===e?void 0:e.status)&&void 0!==t?t:"unknown"}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get consumedGas(){return Is.config({DECIMAL_PLACES:0,ROUNDING_MODE:Is.ROUND_UP}),this.consumedMilliGas?new Is(this.consumedMilliGas).dividedBy(1e3).toString():void 0}get consumedMilliGas(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.consumed_milligas}}class G_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"increase_paid_storage"===e.kind)),t=e&&e.metadata&&e.metadata.operation_result;return t||void 0}get status(){var e,t;return null!==(t=null===(e=this.operationResults)||void 0===e?void 0:e.status)&&void 0!==t?t:"unknown"}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get errors(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.errors}get consumedMilliGas(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.consumed_milligas}get amount(){return this.params.amount}get destination(){return this.params.destination}}class Y_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"proposals"===e.kind));return e||void 0}get proposals(){return this.params.proposals}get period(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.period}}class Z_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"update_consensus_key"===e.kind)),t=e&&e.metadata&&e.metadata.operation_result;return t||void 0}get status(){var e,t;return null!==(t=null===(e=this.operationResults)||void 0===e?void 0:e.status)&&void 0!==t?t:"unknown"}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get pk(){return this.params.pk}get consumedMilliGas(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.consumed_milligas}get errors(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.errors}}class X_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>"smart_rollup_add_messages"===e.kind)),t=e&&e.metadata&&e.metadata.operation_result;return t||void 0}get status(){var e,t;return null!==(t=null===(e=this.operationResults)||void 0===e?void 0:e.status)&&void 0!==t?t:"unknown"}get message(){return this.params.message}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get consumedMilliGas(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.consumed_milligas}get errors(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.errors}}class J_ extends Qx{constructor(e,t,r,n,i,o){super(e,n,i,o),this.params=t,this.source=r}get operationResults(){const e=Array.isArray(this.results)&&this.results.find((e=>e.kind===Hh.SMART_ROLLUP_ORIGINATE)),t=e&&e.metadata&&e.metadata.operation_result;return t||void 0}get status(){var e,t;return null!==(t=null===(e=this.operationResults)||void 0===e?void 0:e.status)&&void 0!==t?t:"unknown"}get fee(){return Number(this.params.fee)}get gasLimit(){return Number(this.params.gas_limit)}get storageLimit(){return Number(this.params.storage_limit)}get consumedMilliGas(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.consumed_milligas}get pvmKind(){return this.params.pvm_kind}get kernel(){return this.params.kernel}get originationProof(){return this.params.origination_proof}get errors(){var e;return null===(e=this.operationResults)||void 0===e?void 0:e.errors}}class Q_ extends t_{constructor(e,t){super(e),this.estimator=t,this.contractProviderTypeSymbol=Symbol.for("taquito-contract-provider-type-symbol"),this.prepare=new O_(this.context)}getStorage(e,t){return Kw(this,void 0,void 0,(function*(){const r=tc(e);if(r!==Hs.VALID)throw new ss(e,ac(r));const n=yield this.context.readProvider.getScript(e,"head");let i;return t||(t=n),i=Xg.isSchema(t)?t:Xg.fromRPCResponse({script:t}),i.Execute(n.storage,k_(this))}))}getBigMapKey(e,t,r){return Kw(this,void 0,void 0,(function*(){const n=tc(e);if(n!==Hs.VALID)throw new ss(e,ac(n));let i;r||(r=(yield this.rpc.getContract(e)).script),i=Xg.isSchema(r)?r:Xg.fromRPCResponse({script:r});const o=i.EncodeBigMapKey(t),a=yield this.rpc.getBigMapKey(e,o);return i.ExecuteOnBigMapValue(a)}))}getBigMapKeyByID(e,t,r,n){return Kw(this,void 0,void 0,(function*(){const{key:i,type:o}=r.EncodeBigMapKey(t),{packed:a}=yield this.context.packer.packData({data:i,type:o}),s=function(e){return dc(Ha().blake2b(gc(e),void 0,32),Us.expr)}(a),c=n?yield this.context.readProvider.getBigMapValue({id:e.toString(),expr:s},n):yield this.context.readProvider.getBigMapValue({id:e.toString(),expr:s},"head");return r.ExecuteOnBigMapValue(c,k_(this))}))}getBigMapKeysByID(e,t,r,n,i=5){return Kw(this,void 0,void 0,(function*(){const o=yield this.getBlockForRequest(t,n),a=new pm;let s=0,c=[];for(;sthis.getBigMapValueOrUndefined(t,e,r,o)));c=[...c,...yield Promise.all(n)],s+=i}for(let e=0;ee.kind===Hh.ORIGINATION)),i=yield this.forge(r),{hash:o,context:a,forgedBytes:s,opResponse:c}=yield this.signAndInject(i);return new F_(o,n,s,c,a,this)}))}setDelegate(e){var t;return Kw(this,void 0,void 0,(function*(){const r=Qs(e.source);if(e.source&&r!==Hs.VALID)throw new Ja(e.source,ac(r));const n=Qs(null!==(t=e.delegate)&&void 0!==t?t:"");if(e.delegate&&n!==Hs.VALID)throw new Ja(e.delegate,ac(n));if(/kt1/i.test(e.source))throw new bx(e.source);const i=yield this.signer.publicKeyHash(),o=e.source||i,a=yield this.estimate(e,this.estimator.setDelegate.bind(this.estimator)),s=yield this.prepare.delegation(Object.assign(Object.assign({},e),a)),c=s.opOb.contents.find((e=>e.kind===Hh.DELEGATION)),l=yield this.forge(s),{hash:u,context:d,forgedBytes:h,opResponse:f}=yield this.signAndInject(l);return new U_(u,c,o,h,f,d)}))}registerDelegate(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.estimate(e,this.estimator.registerDelegate.bind(this.estimator)),r=yield this.signer.publicKeyHash(),n=yield this.prepare.registerDelegate(Object.assign(Object.assign({},e),t)),i=n.opOb.contents.find((e=>e.kind===Hh.DELEGATION)),o=yield this.forge(n),{hash:a,context:s,forgedBytes:c,opResponse:l}=yield this.signAndInject(o);return new U_(a,i,r,c,l,s)}))}transfer(e){var t;return Kw(this,void 0,void 0,(function*(){const r=Qs(e.to);if(r!==Hs.VALID)throw new Ja(e.to,ac(r));const n=Qs(null!==(t=e.source)&&void 0!==t?t:"");if(e.source&&n!==Hs.VALID)throw new Ja(e.source,ac(n));if(e.amount<0)throw new es(e.amount.toString());const i=yield this.signer.publicKeyHash(),o=yield this.estimate(e,this.estimator.transfer.bind(this.estimator)),a=e.source||i,s=yield this.prepare.transaction(Object.assign(Object.assign({},e),o)),c=s.opOb.contents.find((e=>e.kind===Hh.TRANSACTION)),l=yield this.forge(s),{hash:u,context:d,forgedBytes:h,opResponse:f}=yield this.signAndInject(l);return new V_(u,c,a,h,f,d)}))}transferTicket(e){var t,r;return Kw(this,void 0,void 0,(function*(){const n=Qs(e.destination);if(n!==Hs.VALID)throw new Ja(e.destination,ac(n));const i=Qs(null!==(t=e.source)&&void 0!==t?t:"");if(e.source&&i!==Hs.VALID)throw new Ja(e.source,ac(i));const o=yield this.signer.publicKeyHash(),a=null!==(r=e.source)&&void 0!==r?r:o,s=yield this.estimate(e,this.estimator.transferTicket.bind(this.estimator)),c=yield this.prepare.transferTicket(Object.assign(Object.assign({},e),s)),l=c.opOb.contents.find((e=>e.kind===Hh.TRANSFER_TICKET)),u=yield this.forge(c),{hash:d,context:h,forgedBytes:f,opResponse:p}=yield this.signAndInject(u);return new W_(d,l,a,f,p,h)}))}reveal(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.signer.publicKeyHash(),r=yield this.estimator.reveal(e);if(r){const n=yield this.estimate(e,(()=>Kw(this,void 0,void 0,(function*(){return r})))),i=yield this.prepare.reveal(Object.assign(Object.assign({},e),n)),o=i.opOb.contents.find((e=>e.kind===Hh.REVEAL)),a=yield this.forge(i),{hash:s,context:c,forgedBytes:l,opResponse:u}=yield this.signAndInject(a);return new H_(s,o,t,l,u,c)}throw new Ex(`The publicKeyHash '${t}' has already been revealed.`)}))}registerGlobalConstant(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.signer.publicKeyHash(),r=yield this.estimate(e,this.estimator.registerGlobalConstant.bind(this.estimator)),n=yield this.prepare.registerGlobalConstant(Object.assign(Object.assign({},e),r)),i=n.opOb.contents.find((e=>e.kind===Hh.REGISTER_GLOBAL_CONSTANT)),o=yield this.forge(n),{hash:a,context:s,forgedBytes:c,opResponse:l}=yield this.signAndInject(o);return new $_(a,i,t,c,l,s)}))}increasePaidStorage(e){return Kw(this,void 0,void 0,(function*(){if(e.amount<0)throw new es(e.amount.toString());const t=yield this.signer.publicKeyHash(),r=yield this.estimate(e,this.estimator.increasePaidStorage.bind(this.estimator)),n=yield this.prepare.increasePaidStorage(Object.assign(Object.assign({},e),r)),i=n.opOb.contents.find((e=>e.kind===Hh.INCREASE_PAID_STORAGE)),o=yield this.forge(n),{hash:a,context:s,forgedBytes:c,opResponse:l}=yield this.signAndInject(o);return new G_(a,i,t,c,l,s)}))}drainDelegate(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.prepare.drainDelegate(e),r=t.opOb.contents.find((e=>e.kind===Hh.DRAIN_DELEGATE)),n=yield this.forge(t),{hash:i,context:o,forgedBytes:a,opResponse:s}=yield this.signAndInject(n);return new K_(i,r,a,s,o)}))}ballot(e){var t,r;return Kw(this,void 0,void 0,(function*(){const n=yield this.signer.publicKeyHash(),i=Qs(null!==(t=e.source)&&void 0!==t?t:"");if(e.source&&i!==Hs.VALID)throw new Ja(e.source,ac(i));const o=null!==(r=e.source)&&void 0!==r?r:n,a=yield this.prepare.ballot(Object.assign(Object.assign({},e),{source:o})),s=a.opOb.contents.find((e=>e.kind===Hh.BALLOT)),c=yield this.forge(a),{hash:l,context:u,forgedBytes:d,opResponse:h}=yield this.signAndInject(c);return new q_(l,s,n,d,h,u)}))}proposals(e){var t,r;return Kw(this,void 0,void 0,(function*(){const n=yield this.signer.publicKeyHash(),i=Qs(null!==(t=e.source)&&void 0!==t?t:"");if(e.source&&i!==Hs.VALID)throw new Ja(e.source,ac(i));const o=null!==(r=e.source)&&void 0!==r?r:n,a=yield this.prepare.proposals(Object.assign(Object.assign({},e),{source:o})),s=a.opOb.contents.find((e=>e.kind===Hh.PROPOSALS)),c=yield this.forge(a),{hash:l,context:u,forgedBytes:d,opResponse:h}=yield this.signAndInject(c);return new Y_(l,s,n,d,h,u)}))}updateConsensusKey(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.signer.publicKeyHash(),r=yield this.estimate(e,this.estimator.updateConsensusKey.bind(this.estimator)),n=yield this.prepare.updateConsensusKey(Object.assign(Object.assign({},e),r)),i=n.opOb.contents.find((e=>e.kind===Hh.UPDATE_CONSENSUS_KEY)),o=yield this.forge(n),{hash:a,context:s,forgedBytes:c,opResponse:l}=yield this.signAndInject(o);return new Z_(a,i,t,c,l,s)}))}smartRollupAddMessages(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.signer.publicKeyHash(),r=yield this.estimate(e,this.estimator.smartRollupAddMessages.bind(this.estimator)),n=yield this.prepare.smartRollupAddMessages(Object.assign(Object.assign({},e),r)),i=n.opOb.contents.find((e=>e.kind===Hh.SMART_ROLLUP_ADD_MESSAGES)),o=yield this.forge(n),{hash:a,context:s,forgedBytes:c,opResponse:l}=yield this.signAndInject(o);return new X_(a,i,t,c,l,s)}))}smartRollupOriginate(e){return Kw(this,void 0,void 0,(function*(){const t=yield this.signer.publicKeyHash(),r=yield this.estimate(e,this.estimator.smartRollupOriginate.bind(this.estimator)),n=yield this.rpc.getOriginationProof({kind:e.pvmKind,kernel:e.kernel}),i=Object.assign(Object.assign({},e),{originationProof:n}),o=yield this.prepare.smartRollupOriginate(Object.assign(Object.assign({},i),r)),a=o.opOb.contents.find((e=>e.kind===Hh.SMART_ROLLUP_ORIGINATE)),s=yield this.forge(o),{hash:c,context:l,forgedBytes:u,opResponse:d}=yield this.signAndInject(s);return new J_(c,a,t,u,d,l)}))}failingNoop(e){return Kw(this,void 0,void 0,(function*(){const t={kind:Hh.FAILING_NOOP,arbitrary:e.arbitrary},r=yield this.context.readProvider.getBlockHash(e.basedOnBlock),n=yield this.context.forger.forge({branch:r,contents:[t]}),{prefixSig:i}=yield this.signer.sign(n,new Uint8Array([3]));return{signature:i,bytes:n,signedContent:{branch:r,contents:[{kind:Hh.FAILING_NOOP,arbitrary:e.arbitrary}]}}}))}at(e,t=(e=>e)){return Kw(this,void 0,void 0,(function*(){const r=tc(e);if(r!==Hs.VALID)throw new ss(e,ac(r));const n=this.context.withExtensions().rpc,i=this.context.withExtensions().readProvider,o=yield i.getScript(e,"head"),a=yield i.getEntrypoints(e),s=new v_(e,o,this,this,a,n,i);return t(s,this.context)}))}batch(e){const t=new T_(this.context,this.estimator);return Array.isArray(e)&&t.with(e),t}}class eS{constructor(e){this.context=e}getNextProto(){return Kw(this,void 0,void 0,(function*(){if(!this.context.proto){const e=yield this.context.readProvider.getNextProtocol("head");this.context.proto=e}return this.context.proto}))}parseScript(e){return Kw(this,void 0,void 0,(function*(){return new Bv({protocol:yield this.getNextProto()}).parseScript(e)}))}parseMichelineExpression(e){return Kw(this,void 0,void 0,(function*(){return new Bv({protocol:yield this.getNextProto()}).parseMichelineExpression(e)}))}parseJSON(e){return Kw(this,void 0,void 0,(function*(){return new Bv({protocol:yield this.getNextProto()}).parseJSON(e)}))}prepareCodeOrigination(e){return Kw(this,void 0,void 0,(function*(){const t=e;if(t.code=yield this.formatCodeParam(e.code),e.init)t.init=yield this.formatInitParam(e.init);else if(e.storage){const r=t.code.find((e=>"prim"in e&&"storage"===e.prim));if(!(null===r||void 0===r?void 0:r.args))throw new wx("The storage section is missing from the script",e.code);const n=new Xg(r.args[0]),i=yield this.findGlobalConstantsHashAndValue(n);if(0!==Object.keys(i).length){const n=new Bv({expandGlobalConstant:i}).parseJSON(r.args[0]),o=new Xg(n);t.init=o.Encode(e.storage)}else t.init=n.Encode(e.storage);delete t.storage}return t}))}formatCodeParam(e){return Kw(this,void 0,void 0,(function*(){let t;if("string"===typeof e){const r=yield this.parseScript(e);if(null===r)throw new wx("Unable to parse",e);t=r}else{const r=yield this.parseJSON(e),n=["parameter","storage","code"];t=r.sort(((e,t)=>n.indexOf(e.prim)-n.indexOf(t.prim)))}return t}))}formatInitParam(e){return Kw(this,void 0,void 0,(function*(){let t;if("string"===typeof e){const r=yield this.parseMichelineExpression(e);if(null===r)throw new xx("Invalid init parameter",e);t=r}else t=yield this.parseJSON(e);return t}))}findGlobalConstantsHashAndValue(e){return Kw(this,void 0,void 0,(function*(){const t=e.findToken("constant"),r={};if(0!==t.length)for(const e of t){const t=e.tokenVal.args;if(t){const e=t[0];if(e.string){const t=e.string,n=yield this.context.globalConstantsProvider.getGlobalConstantByHash(t);Object.assign(r,{[t]:n})}}}return r}))}}class tS{constructor(e){this.context=e}packData(e){return Kw(this,void 0,void 0,(function*(){return this.context.rpc.packData(e)}))}}class rS extends Ya{constructor(){super(),this.name="UnconfiguredGlobalConstantsProviderError",this.message="No global constants provider has been configured. Please configure one by calling setGlobalConstantsProvider({globalConstantsProvider}) on your TezosToolkit instance."}}class nS{getGlobalConstantByHash(e){return Kw(this,void 0,void 0,(function*(){throw new rS}))}}class iS{constructor(e){this.rpc=e}getBalance(e,t){return Kw(this,void 0,void 0,(function*(){return this.rpc.getBalance(e,{block:String(t)})}))}getDelegate(e,t){return Kw(this,void 0,void 0,(function*(){return this.rpc.getDelegate(e,{block:String(t)})}))}getNextProtocol(e){return Kw(this,void 0,void 0,(function*(){return(yield this.rpc.getProtocols({block:String(e)})).next_protocol}))}getProtocolConstants(e){return Kw(this,void 0,void 0,(function*(){const{time_between_blocks:t,minimal_block_delay:r,hard_gas_limit_per_operation:n,hard_gas_limit_per_block:i,hard_storage_limit_per_operation:o,cost_per_byte:a,tx_rollup_origination_size:s,smart_rollup_origination_size:c}=yield this.rpc.getConstants({block:String(e)});return{time_between_blocks:t,minimal_block_delay:r,hard_gas_limit_per_operation:n,hard_gas_limit_per_block:i,hard_storage_limit_per_operation:o,cost_per_byte:a,tx_rollup_origination_size:s,smart_rollup_origination_size:c}}))}getScript(e,t){return Kw(this,void 0,void 0,(function*(){const{script:r}=yield this.rpc.getContract(e,{block:String(t)});return r}))}getStorage(e,t){return Kw(this,void 0,void 0,(function*(){return this.rpc.getStorage(e,{block:String(t)})}))}getBlockHash(e){return Kw(this,void 0,void 0,(function*(){const{hash:t}=yield this.rpc.getBlockHeader({block:String(e)});return t}))}getBlockLevel(e){return Kw(this,void 0,void 0,(function*(){const{level:t}=yield this.rpc.getBlockHeader({block:String(e)});return t}))}getCounter(e,t){return Kw(this,void 0,void 0,(function*(){const{counter:r}=yield this.rpc.getContract(e,{block:String(t)});return r||"0"}))}getBlockTimestamp(e){return Kw(this,void 0,void 0,(function*(){const{timestamp:t}=yield this.rpc.getBlockHeader({block:String(e)});return t}))}getBigMapValue(e,t){return Kw(this,void 0,void 0,(function*(){return this.rpc.getBigMapExpr(e.id,e.expr,{block:String(t)})}))}getSaplingDiffById(e,t){return Kw(this,void 0,void 0,(function*(){return this.rpc.getSaplingDiffById(e.id,{block:String(t)})}))}getSaplingDiffByContract(e,t){return Kw(this,void 0,void 0,(function*(){return this.rpc.getSaplingDiffByContract(e,{block:String(t)})}))}getEntrypoints(e){return Kw(this,void 0,void 0,(function*(){return this.rpc.getEntrypoints(e)}))}getChainId(){return Kw(this,void 0,void 0,(function*(){return this.rpc.getChainId()}))}isAccountRevealed(e,t){return Kw(this,void 0,void 0,(function*(){const r=yield this.rpc.getManagerKey(e,{block:String(t)});return r&&"object"===typeof r?!!r.key:!!r}))}getBlock(e){return Kw(this,void 0,void 0,(function*(){return this.rpc.getBlock({block:String(e)})}))}getLiveBlocks(e){return this.rpc.getLiveBlocks({block:String(e)})}}class oS extends Wa{constructor(e){super(),this.type=e,this.name="UnsupportedEventError",this.message=`Unsupported event type "${e}" expecting one of the "data", "error", or "close".`}}class aS extends Wa{constructor(e){super(),this.invalidExpression=e,this.name="InvalidFilterExpressionError",this.message="Invalid filter expression expecting the object to contain either and/or property"}}const sS=(e,t)=>"opHash"in t?((e,t)=>e.hash===t.opHash)(e,t):"source"in t?((e,t)=>{switch(e.kind){case"endorsement":return"metadata"in e&&e.metadata.delegate===t.source;case"activate_account":return"metadata"in e&&e.pkh===t.source;default:return"source"in e&&e.source===t.source}})(e,t):"kind"in t?((e,t)=>"kind"in e&&e.kind===t.kind)(e,t):"destination"in t&&((e,t)=>{switch(e.kind){case"delegation":return e.delegate===t.destination;case"origination":if("metadata"in e&&"operation_result"in e.metadata&&"originated_contracts"in e.metadata.operation_result&&Array.isArray(e.metadata.operation_result.originated_contracts))return e.metadata.operation_result.originated_contracts.some((e=>e===t.destination));break;case"transaction":return e.destination===t.destination;default:return!1}})(e,t),cS=(e,t)=>{const r=[];return Array.isArray(t)?r.push(...t):r.push(t),r.every((t=>"and"in t||"or"in t?((e,t)=>{if(Array.isArray(t.and))return t.and.every((t=>cS(e,t)));if(Array.isArray(t.or))return t.or.some((t=>cS(e,t)));throw new aS(t)})(e,t):sS(e,t)))};class lS{constructor(e,t=!1,r=em()){var n;this.shouldRetry=t,this.operatorFunction=r,this.errorListeners=[],this.messageListeners=[],this.closeListeners=[],this.completed$=new Mf,e.pipe((n=this.completed$,op((function(e,t){Yf(n).subscribe(ap(t,(function(){return t.complete()}),mf)),!t.closed&&e.subscribe(t)}))),Hp((e=>{this.call(this.messageListeners,e)}),(e=>{this.call(this.errorListeners,e)}),(()=>{this.call(this.closeListeners)})),this.shouldRetry?r:Hp(),Xp((()=>Op))).subscribe()}call(e,t){for(const n of e)try{n(t)}catch(r){console.error(r)}}remove(e,t){const r=e.indexOf(t);-1!==r&&e.splice(r,1)}on(e,t){switch(e){case"data":this.messageListeners.push(t);break;case"error":this.errorListeners.push(t);break;case"close":this.closeListeners.push(t);break;default:throw new oS(e)}}off(e,t){switch(e){case"data":this.remove(this.messageListeners,t);break;case"error":this.remove(this.errorListeners,t);break;case"close":this.remove(this.closeListeners,t);break;default:throw new oS(e)}}close(){this.completed$.next()}}const uS={shouldObservableSubscriptionRetry:!1,observableSubscriptionRetryFunction:em()},dS=e=>Fp((t=>new Cf((r=>{for(const s of t.operations)for(const c of s)for(const s of c.contents){const l=s.metadata.internal_operation_results;if(l)for(const s of l)n=s,i=null===e||void 0===e?void 0:e.address,o=null===e||void 0===e?void 0:e.tag,a=null===e||void 0===e?void 0:e.excludeFailedOperations,"event"!==n.kind||o&&n.tag!==o||i&&n.source!==i||a&&"applied"!==n.result.status||r.next(Object.assign({opHash:c.hash,blockHash:t.hash,level:t.header.level},s))}var n,i,o,a;r.complete()}))));class hS{constructor(e,t={}){this.context=e,this._config$=new Bf(Object.assign(Object.assign({},uS),t)),this.timer$=this._config$.pipe(tm("pollingIntervalMilliseconds"),Dp((e=>e?Np(0,e):hp(this.getConfirmationPollingInterval()).pipe(Dp((e=>Np(0,e))))))),this.newBlock$=this.timer$.pipe(Dp((()=>(e=>hp(e.rpc.getBlock()).pipe(Zp()))(this.context))),function(e,t){return Jp((function(r,n){return t?t(r[e],n[e]):r[e]===n[e]}))}("hash"),am(),rm())}get config(){return this._config$.getValue()}getConfirmationPollingInterval(){return Kw(this,void 0,void 0,(function*(){if(!this.config.pollingIntervalMilliseconds){const t=5e3,r=1e3;try{const e=yield this.context.readProvider.getProtocolConstants("head"),n=(e.minimal_block_delay?e.minimal_block_delay.multipliedBy(1e3):e.time_between_blocks?e.time_between_blocks[0].multipliedBy(1e3):new Ms(t)).dividedBy(3);this.config.pollingIntervalMilliseconds=0===n.toNumber()?r:n.toNumber()}catch(e){return t}}return this.config.pollingIntervalMilliseconds}))}subscribeBlock(e){return new lS(this.newBlock$,this.config.shouldObservableSubscriptionRetry,this.config.observableSubscriptionRetryFunction)}subscribe(e){return new lS(this.newBlock$.pipe(tm("hash")),this.config.shouldObservableSubscriptionRetry,this.config.observableSubscriptionRetryFunction)}subscribeOperation(e){return new lS(this.newBlock$.pipe((e=>Fp((t=>new Cf((r=>{for(const n of t.operations)for(const t of n)for(const n of t.contents)cS(Object.assign({hash:t.hash},n),e)&&r.next(Object.assign({hash:t.hash},n));r.complete()})))))(e)),this.config.shouldObservableSubscriptionRetry,this.config.observableSubscriptionRetryFunction)}subscribeEvent(e){return new lS(this.newBlock$.pipe(dS(e)),this.config.shouldObservableSubscriptionRetry,this.config.observableSubscriptionRetryFunction)}}class fS{constructor(e){this.context=e}getNextProto(){return Kw(this,void 0,void 0,(function*(){if(!this.context.proto){const e=yield this.context.readProvider.getNextProtocol("head");this.context.proto=e}return this.context.proto}))}forge({branch:e,contents:t}){return Kw(this,void 0,void 0,(function*(){return new Vw(yield this.getNextProto()).forge({branch:e,contents:t})}))}}const pS={defaultConfirmationCount:1,confirmationPollingTimeoutSecond:180};class mS{constructor(e,t=new Xw,r,n=new Bf(Object.assign({},pS)),i,o,a,s,c,l,u,d){this._rpc=e,this._signer=t,this._proto=r,this._config=n,this.providerDecorator=[],this.tz=new L_(this),this.estimate=new z_(this),this.contract=new Q_(this,this.estimate),this.prepare=new O_(this),this.batch=new j_(this,this.estimate),this.wallet=new n_(this),this.withExtensions=()=>{let e=this.clone();return this.providerDecorator.forEach((t=>{e=t(e)})),e},"string"===typeof this._rpc?this._rpcClient=new Vh(this._rpc):this._rpcClient=this._rpc,this._forger=i||new fS(this),this._injector=o||new Yw(this),this.operationFactory=new M_(this),this._walletProvider=s||new u_(this),this._parser=c||new eS(this),this._packer=a||new tS(this),this._globalConstantsProvider=l||new nS,this._readProvider=u||new iS(this._rpcClient),this._stream=d||new hS(this)}get config(){return this._config.getValue()}set config(e){this._config.next(Object.assign({},e))}setPartialConfig(e){this._config.next(Object.assign(Object.assign({},this._config.getValue()),e))}get rpc(){return this._rpcClient}set rpc(e){this._rpcClient=e}get injector(){return this._injector}set injector(e){this._injector=e}get forger(){return this._forger}set forger(e){this._forger=e}get signer(){return this._signer}set signer(e){this._signer=e}get walletProvider(){return this._walletProvider}set walletProvider(e){this._walletProvider=e}set proto(e){this._proto=e}get proto(){return this._proto}get parser(){return this._parser}set parser(e){this._parser=e}get packer(){return this._packer}set packer(e){this._packer=e}get globalConstantsProvider(){return this._globalConstantsProvider}set globalConstantsProvider(e){this._globalConstantsProvider=e}get readProvider(){return this._readProvider}set readProvider(e){this._readProvider=e}get stream(){return this._stream}set stream(e){this._stream=e}isAnyProtocolActive(e=[]){return Kw(this,void 0,void 0,(function*(){if(this._proto)return e.includes(this._proto);{const t=yield this.readProvider.getNextProtocol("head");return e.includes(t)}}))}isAnySignerConfigured(){return!(this.signer instanceof Xw)}clone(){return new mS(this.rpc,this.signer,this.proto,this._config,this.forger,this._injector,this.packer,this._walletProvider,this._parser,this._globalConstantsProvider,this._readProvider,this._stream)}registerProviderDecorator(e){this.providerDecorator.push(e)}}const gS={commitHash:"ff6c3b619e314a09bb0aa65d711ef9eaf81a0ee9",version:"17.5.0"};class vS{constructor(e){this._rpc=e,this._options={},this.format=uc,"string"===typeof this._rpc?this._rpcClient=new Vh(this._rpc):this._rpcClient=this._rpc,this._context=new mS(e),this._wallet=new n_(this._context),this.setProvider({rpc:this._rpcClient}),this.batch=this._context.batch.batch.bind(this._context.batch)}setProvider({rpc:e,stream:t,signer:r,protocol:n,config:i,forger:o,wallet:a,packer:s,globalConstantsProvider:c,readProvider:l,parserProvider:u,injectorProvider:d}){this.setRpcProvider(e),this.setStreamProvider(t),this.setSignerProvider(r),this.setForgerProvider(o),this.setWalletProvider(a),this.setPackerProvider(s),this.setGlobalConstantsProvider(c),this.setReadProvider(l),this.setParserProvider(u),this.setInjectorProvider(d),this._context.proto=n,i&&this._context.setPartialConfig(i)}setSignerProvider(e){this._options.signer||"undefined"!==typeof e?"undefined"!==typeof e&&(this._context.signer=e,this._options.signer=e):(this._context.signer=new Xw,this._options.signer=e)}setRpcProvider(e){"string"===typeof e?this._rpcClient=new Vh(e):void 0===e||(this._rpcClient=e),this._options.rpc=this._rpcClient,this._context.rpc=this._rpcClient}setForgerProvider(e){if("undefined"!==typeof e)this._options.forger=e,this._context.forger=e;else if(void 0===this._options.forger){const e=this.getFactory(fS)();this._options.forger=e,this._context.forger=e}}setStreamProvider(e){if("string"===typeof e){const t=new hS(new mS(new Vh(e)));this._options.stream=t,this._context.stream=t}else if("undefined"!==typeof e)this._options.stream=e,this._context.stream=e;else if(void 0===this._options.stream){const e=this.getFactory(hS)();this._options.stream=e,this._context.stream=e}}setWalletProvider(e){if(this._options.wallet||"undefined"!==typeof e)"undefined"!==typeof e&&(this._options.wallet=e,this._context.walletProvider=e);else{const e=this.getFactory(u_)();this._options.wallet=e,this._context.walletProvider=e}}setPackerProvider(e){if(this._options.packer||"undefined"!==typeof e)"undefined"!==typeof e&&(this._context.packer=e,this._options.packer=e);else{const e=this.getFactory(tS)();this._context.packer=e,this._options.packer=e}}setGlobalConstantsProvider(e){if(this._options.globalConstantsProvider||"undefined"!==typeof e)"undefined"!==typeof e&&(this._context.globalConstantsProvider=e,this._options.globalConstantsProvider=e);else{const e=new nS;this._context.globalConstantsProvider=e,this._options.globalConstantsProvider=e}}setReadProvider(e){const t=e||new iS(this._context.rpc);this._options.readProvider=t,this._context.readProvider=t}setParserProvider(e){if(this._options.parserProvider||"undefined"!==typeof e)"undefined"!==typeof e&&(this._context.parser=e,this._options.parserProvider=e);else{const e=new eS(this._context);this._context.parser=e,this._options.parserProvider=e}}setInjectorProvider(e){if(this._options.injectorProvider||"undefined"!==typeof e)"undefined"!==typeof e&&(this._context.injector=e,this._options.injectorProvider=e);else{const e=new Yw(this._context);this._context.injector=e,this._options.injectorProvider=e}}get tz(){return this._context.tz}get contract(){return this._context.contract}get prepare(){return this._context.prepare}get wallet(){return this._wallet}get operation(){return this._context.operationFactory}get estimate(){return this._context.estimate}get stream(){return this._context.stream}get rpc(){return this._context.rpc}get signer(){return this._context.signer}get globalConstants(){return this._context.globalConstantsProvider}addExtension(e){Array.isArray(e)?e.forEach((e=>e.configureContext(this._context))):e.configureContext(this._context)}getFactory(e){return(...t)=>new e(this._context,...t)}getVersionInfo(){return gS}}function yS(e,t){return function(){return e.apply(t,arguments)}}const{toString:bS}=Object.prototype,{getPrototypeOf:wS}=Object,xS=(e=>t=>{const r=bS.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),_S=e=>(e=e.toLowerCase(),t=>xS(t)===e),SS=e=>t=>typeof t===e,{isArray:kS}=Array,ES=SS("undefined");const PS=_S("ArrayBuffer");const OS=SS("string"),AS=SS("function"),TS=SS("number"),jS=e=>null!==e&&"object"===typeof e,CS=e=>{if("object"!==xS(e))return!1;const t=wS(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},RS=_S("Date"),IS=_S("File"),MS=_S("Blob"),LS=_S("FileList"),NS=_S("URLSearchParams");function DS(e,t,{allOwnKeys:r=!1}={}){if(null===e||"undefined"===typeof e)return;let n,i;if("object"!==typeof e&&(e=[e]),kS(e))for(n=0,i=e.length;n0;)if(n=r[i],t===n.toLowerCase())return n;return null}const zS="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global,US=e=>!ES(e)&&e!==zS;const FS=($S="undefined"!==typeof Uint8Array&&wS(Uint8Array),e=>$S&&e instanceof $S);var $S;const HS=_S("HTMLFormElement"),VS=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),qS=_S("RegExp"),KS=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};DS(r,((r,i)=>{let o;!1!==(o=t(r,i,e))&&(n[i]=o||r)})),Object.defineProperties(e,n)},WS="abcdefghijklmnopqrstuvwxyz",GS="0123456789",YS={DIGIT:GS,ALPHA:WS,ALPHA_DIGIT:WS+WS.toUpperCase()+GS};const ZS=_S("AsyncFunction"),XS={isArray:kS,isArrayBuffer:PS,isBuffer:function(e){return null!==e&&!ES(e)&&null!==e.constructor&&!ES(e.constructor)&&AS(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||AS(e.append)&&("formdata"===(t=xS(e))||"object"===t&&AS(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&PS(e.buffer),t},isString:OS,isNumber:TS,isBoolean:e=>!0===e||!1===e,isObject:jS,isPlainObject:CS,isUndefined:ES,isDate:RS,isFile:IS,isBlob:MS,isRegExp:qS,isFunction:AS,isStream:e=>jS(e)&&AS(e.pipe),isURLSearchParams:NS,isTypedArray:FS,isFileList:LS,forEach:DS,merge:function e(){const{caseless:t}=US(this)&&this||{},r={},n=(n,i)=>{const o=t&&BS(r,i)||i;CS(r[o])&&CS(n)?r[o]=e(r[o],n):CS(n)?r[o]=e({},n):kS(n)?r[o]=n.slice():r[o]=n};for(let i=0,o=arguments.length;i(DS(t,((t,n)=>{r&&AS(t)?e[n]=yS(t,r):e[n]=t}),{allOwnKeys:n}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:(e,t,r,n)=>{let i,o,a;const s={};if(t=t||{},null==e)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)a=i[o],n&&!n(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==r&&wS(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:xS,kindOfTest:_S,endsWith:(e,t,r)=>{e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return-1!==n&&n===r},toArray:e=>{if(!e)return null;if(kS(e))return e;let t=e.length;if(!TS(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},forEachEntry:(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let n;for(;(n=r.next())&&!n.done;){const r=n.value;t.call(e,r[0],r[1])}},matchAll:(e,t)=>{let r;const n=[];for(;null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:HS,hasOwnProperty:VS,hasOwnProp:VS,reduceDescriptors:KS,freezeMethods:e=>{KS(e,((t,r)=>{if(AS(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=e[r];AS(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(e,t)=>{const r={},n=e=>{e.forEach((e=>{r[e]=!0}))};return kS(e)?n(e):n(String(e).split(t)),r},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:BS,global:zS,isContextDefined:US,ALPHABET:YS,generateString:(e=16,t=YS.ALPHA_DIGIT)=>{let r="";const{length:n}=t;for(;e--;)r+=t[Math.random()*n|0];return r},isSpecCompliantForm:function(e){return!!(e&&AS(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),r=(e,n)=>{if(jS(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[n]=e;const i=kS(e)?[]:{};return DS(e,((e,t)=>{const o=r(e,n+1);!ES(o)&&(i[t]=o)})),t[n]=void 0,i}}return e};return r(e,0)},isAsyncFn:ZS,isThenable:e=>e&&(jS(e)||AS(e))&&AS(e.then)&&AS(e.catch)};function JS(e,t,r,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}XS.inherits(JS,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:XS.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const QS=JS.prototype,ek={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{ek[e]={value:e}})),Object.defineProperties(JS,ek),Object.defineProperty(QS,"isAxiosError",{value:!0}),JS.from=(e,t,r,n,i,o)=>{const a=Object.create(QS);return XS.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),JS.call(a,e.message,t,r,n,i),a.cause=e,a.name=e.name,o&&Object.assign(a,o),a};const tk=JS;var rk=r(261).Buffer;function nk(e){return XS.isPlainObject(e)||XS.isArray(e)}function ik(e){return XS.endsWith(e,"[]")?e.slice(0,-2):e}function ok(e,t,r){return e?e.concat(t).map((function(e,t){return e=ik(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}const ak=XS.toFlatObject(XS,{},null,(function(e){return/^is[A-Z]/.test(e)}));const sk=function(e,t,r){if(!XS.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const n=(r=XS.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!XS.isUndefined(t[e])}))).metaTokens,i=r.visitor||l,o=r.dots,a=r.indexes,s=(r.Blob||"undefined"!==typeof Blob&&Blob)&&XS.isSpecCompliantForm(t);if(!XS.isFunction(i))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(XS.isDate(e))return e.toISOString();if(!s&&XS.isBlob(e))throw new tk("Blob is not supported. Use a Buffer instead.");return XS.isArrayBuffer(e)||XS.isTypedArray(e)?s&&"function"===typeof Blob?new Blob([e]):rk.from(e):e}function l(e,r,i){let s=e;if(e&&!i&&"object"===typeof e)if(XS.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else if(XS.isArray(e)&&function(e){return XS.isArray(e)&&!e.some(nk)}(e)||(XS.isFileList(e)||XS.endsWith(r,"[]"))&&(s=XS.toArray(e)))return r=ik(r),s.forEach((function(e,n){!XS.isUndefined(e)&&null!==e&&t.append(!0===a?ok([r],n,o):null===a?r:r+"[]",c(e))})),!1;return!!nk(e)||(t.append(ok(i,r,o),c(e)),!1)}const u=[],d=Object.assign(ak,{defaultVisitor:l,convertValue:c,isVisitable:nk});if(!XS.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!XS.isUndefined(r)){if(-1!==u.indexOf(r))throw Error("Circular reference detected in "+n.join("."));u.push(r),XS.forEach(r,(function(r,o){!0===(!(XS.isUndefined(r)||null===r)&&i.call(t,r,XS.isString(o)?o.trim():o,n,d))&&e(r,n?n.concat(o):[o])})),u.pop()}}(e),t};function ck(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function lk(e,t){this._pairs=[],e&&sk(e,this,t)}const uk=lk.prototype;uk.append=function(e,t){this._pairs.push([e,t])},uk.toString=function(e){const t=e?function(t){return e.call(this,t,ck)}:ck;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const dk=lk;function hk(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function fk(e,t,r){if(!t)return e;const n=r&&r.encode||hk,i=r&&r.serialize;let o;if(o=i?i(t,r):XS.isURLSearchParams(t)?t.toString():new dk(t,r).toString(n),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}const pk=class{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){XS.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},mk={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},gk={isBrowser:!0,classes:{URLSearchParams:"undefined"!==typeof URLSearchParams?URLSearchParams:dk,FormData:"undefined"!==typeof FormData?FormData:null,Blob:"undefined"!==typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return("undefined"===typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&("undefined"!==typeof window&&"undefined"!==typeof document)})(),isStandardBrowserWebWorkerEnv:"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts,protocols:["http","https","file","blob","url","data"]};const vk=function(e){function t(e,r,n,i){let o=e[i++];const a=Number.isFinite(+o),s=i>=e.length;if(o=!o&&XS.isArray(n)?n.length:o,s)return XS.hasOwnProp(n,o)?n[o]=[n[o],r]:n[o]=r,!a;n[o]&&XS.isObject(n[o])||(n[o]=[]);return t(e,r,n[o],i)&&XS.isArray(n[o])&&(n[o]=function(e){const t={},r=Object.keys(e);let n;const i=r.length;let o;for(n=0;n{t(function(e){return XS.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),n,r,0)})),r}return null};const yk={transitional:mk,adapter:["xhr","http"],transformRequest:[function(e,t){const r=t.getContentType()||"",n=r.indexOf("application/json")>-1,i=XS.isObject(e);i&&XS.isHTMLForm(e)&&(e=new FormData(e));if(XS.isFormData(e))return n&&n?JSON.stringify(vk(e)):e;if(XS.isArrayBuffer(e)||XS.isBuffer(e)||XS.isStream(e)||XS.isFile(e)||XS.isBlob(e))return e;if(XS.isArrayBufferView(e))return e.buffer;if(XS.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return sk(e,new gk.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,n){return gk.isNode&&XS.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((o=XS.isFileList(e))||r.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return sk(o?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||n?(t.setContentType("application/json",!1),function(e,t,r){if(XS.isString(e))try{return(t||JSON.parse)(e),XS.trim(e)}catch(n){if("SyntaxError"!==n.name)throw n}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||yk.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(e&&XS.isString(e)&&(r&&!this.responseType||n)){const r=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(i){if(r){if("SyntaxError"===i.name)throw tk.from(i,tk.ERR_BAD_RESPONSE,this,null,this.response);throw i}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:gk.classes.FormData,Blob:gk.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};XS.forEach(["delete","get","head","post","put","patch"],(e=>{yk.headers[e]={}}));const bk=yk,wk=XS.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),xk=Symbol("internals");function _k(e){return e&&String(e).trim().toLowerCase()}function Sk(e){return!1===e||null==e?e:XS.isArray(e)?e.map(Sk):String(e)}function kk(e,t,r,n,i){return XS.isFunction(n)?n.call(this,t,r):(i&&(t=r),XS.isString(t)?XS.isString(n)?-1!==t.indexOf(n):XS.isRegExp(n)?n.test(t):void 0:void 0)}class Ek{constructor(e){e&&this.set(e)}set(e,t,r){const n=this;function i(e,t,r){const i=_k(t);if(!i)throw new Error("header name must be a non-empty string");const o=XS.findKey(n,i);(!o||void 0===n[o]||!0===r||void 0===r&&!1!==n[o])&&(n[o||t]=Sk(e))}const o=(e,t)=>XS.forEach(e,((e,r)=>i(e,r,t)));return XS.isPlainObject(e)||e instanceof this.constructor?o(e,t):XS.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?o((e=>{const t={};let r,n,i;return e&&e.split("\n").forEach((function(e){i=e.indexOf(":"),r=e.substring(0,i).trim().toLowerCase(),n=e.substring(i+1).trim(),!r||t[r]&&wk[r]||("set-cookie"===r?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)})),t})(e),t):null!=e&&i(t,e,r),this}get(e,t){if(e=_k(e)){const r=XS.findKey(this,e);if(r){const e=this[r];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}(e);if(XS.isFunction(t))return t.call(this,e,r);if(XS.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=_k(e)){const r=XS.findKey(this,e);return!(!r||void 0===this[r]||t&&!kk(0,this[r],r,t))}return!1}delete(e,t){const r=this;let n=!1;function i(e){if(e=_k(e)){const i=XS.findKey(r,e);!i||t&&!kk(0,r[i],i,t)||(delete r[i],n=!0)}}return XS.isArray(e)?e.forEach(i):i(e),n}clear(e){const t=Object.keys(this);let r=t.length,n=!1;for(;r--;){const i=t[r];e&&!kk(0,this[i],i,e,!0)||(delete this[i],n=!0)}return n}normalize(e){const t=this,r={};return XS.forEach(this,((n,i)=>{const o=XS.findKey(r,i);if(o)return t[o]=Sk(n),void delete t[i];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,r)=>t.toUpperCase()+r))}(i):String(i).trim();a!==i&&delete t[i],t[a]=Sk(n),r[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return XS.forEach(this,((r,n)=>{null!=r&&!1!==r&&(t[n]=e&&XS.isArray(r)?r.join(", "):r)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach((e=>r.set(e))),r}static accessor(e){const t=(this[xk]=this[xk]={accessors:{}}).accessors,r=this.prototype;function n(e){const n=_k(e);t[n]||(!function(e,t){const r=XS.toCamelCase(" "+t);["get","set","has"].forEach((n=>{Object.defineProperty(e,n+r,{value:function(e,r,i){return this[n].call(this,t,e,r,i)},configurable:!0})}))}(r,e),t[n]=!0)}return XS.isArray(e)?e.forEach(n):n(e),this}}Ek.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),XS.reduceDescriptors(Ek.prototype,(({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}})),XS.freezeMethods(Ek);const Pk=Ek;function Ok(e,t){const r=this||bk,n=t||r,i=Pk.from(n.headers);let o=n.data;return XS.forEach(e,(function(e){o=e.call(r,o,i.normalize(),t?t.status:void 0)})),i.normalize(),o}function Ak(e){return!(!e||!e.__CANCEL__)}function Tk(e,t,r){tk.call(this,null==e?"canceled":e,tk.ERR_CANCELED,t,r),this.name="CanceledError"}XS.inherits(Tk,tk,{__CANCEL__:!0});const jk=Tk;const Ck=gk.isStandardBrowserEnv?{write:function(e,t,r,n,i,o){const a=[];a.push(e+"="+encodeURIComponent(t)),XS.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),XS.isString(n)&&a.push("path="+n),XS.isString(i)&&a.push("domain="+i),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Rk(e,t){return e&&!function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Ik=gk.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let r;function n(r){let n=r;return e&&(t.setAttribute("href",n),n=t.href),t.setAttribute("href",n),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return r=n(window.location.href),function(e){const t=XS.isString(e)?n(e):e;return t.protocol===r.protocol&&t.host===r.host}}():function(){return!0};const Mk=function(e,t){e=e||10;const r=new Array(e),n=new Array(e);let i,o=0,a=0;return t=void 0!==t?t:1e3,function(s){const c=Date.now(),l=n[a];i||(i=c),r[o]=s,n[o]=c;let u=a,d=0;for(;u!==o;)d+=r[u++],u%=e;if(o=(o+1)%e,o===a&&(a=(a+1)%e),c-i{const o=i.loaded,a=i.lengthComputable?i.total:void 0,s=o-r,c=n(s);r=o;const l={loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&o<=a?(a-o)/c:void 0,event:i};l[t?"download":"upload"]=!0,e(l)}}const Nk="undefined"!==typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){let n=e.data;const i=Pk.from(e.headers).normalize(),o=e.responseType;let a,s;function c(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}XS.isFormData(n)&&(gk.isStandardBrowserEnv||gk.isStandardBrowserWebWorkerEnv?i.setContentType(!1):i.getContentType(/^\s*multipart\/form-data/)?XS.isString(s=i.getContentType())&&i.setContentType(s.replace(/^\s*(multipart\/form-data);+/,"$1")):i.setContentType("multipart/form-data"));let l=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",r=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(t+":"+r))}const u=Rk(e.baseURL,e.url);function d(){if(!l)return;const n=Pk.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(e,t,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new tk("Request failed with status code "+r.status,[tk.ERR_BAD_REQUEST,tk.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}((function(e){t(e),c()}),(function(e){r(e),c()}),{data:o&&"text"!==o&&"json"!==o?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:n,config:e,request:l}),l=null}if(l.open(e.method.toUpperCase(),fk(u,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,"onloadend"in l?l.onloadend=d:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(d)},l.onabort=function(){l&&(r(new tk("Request aborted",tk.ECONNABORTED,e,l)),l=null)},l.onerror=function(){r(new tk("Network Error",tk.ERR_NETWORK,e,l)),l=null},l.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const n=e.transitional||mk;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(new tk(t,n.clarifyTimeoutError?tk.ETIMEDOUT:tk.ECONNABORTED,e,l)),l=null},gk.isStandardBrowserEnv){const t=Ik(u)&&e.xsrfCookieName&&Ck.read(e.xsrfCookieName);t&&i.set(e.xsrfHeaderName,t)}void 0===n&&i.setContentType(null),"setRequestHeader"in l&&XS.forEach(i.toJSON(),(function(e,t){l.setRequestHeader(t,e)})),XS.isUndefined(e.withCredentials)||(l.withCredentials=!!e.withCredentials),o&&"json"!==o&&(l.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&l.addEventListener("progress",Lk(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",Lk(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=t=>{l&&(r(!t||t.type?new jk(null,e,l):t),l.abort(),l=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const h=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(u);h&&-1===gk.protocols.indexOf(h)?r(new tk("Unsupported protocol "+h+":",tk.ERR_BAD_REQUEST,e)):l.send(n||null)}))},Dk={http:null,xhr:Nk};XS.forEach(Dk,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(r){}Object.defineProperty(e,"adapterName",{value:t})}}));const Bk=e=>`- ${e}`,zk=e=>XS.isFunction(e)||null===e||!1===e,Uk=e=>{e=XS.isArray(e)?e:[e];const{length:t}=e;let r,n;const i={};for(let o=0;o`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let r=t?e.length>1?"since :\n"+e.map(Bk).join("\n"):" "+Bk(e[0]):"as no adapter specified";throw new tk("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return n};function Fk(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new jk(null,e)}function $k(e){Fk(e),e.headers=Pk.from(e.headers),e.data=Ok.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return Uk(e.adapter||bk.adapter)(e).then((function(t){return Fk(e),t.data=Ok.call(e,e.transformResponse,t),t.headers=Pk.from(t.headers),t}),(function(t){return Ak(t)||(Fk(e),t&&t.response&&(t.response.data=Ok.call(e,e.transformResponse,t.response),t.response.headers=Pk.from(t.response.headers))),Promise.reject(t)}))}const Hk=e=>e instanceof Pk?e.toJSON():e;function Vk(e,t){t=t||{};const r={};function n(e,t,r){return XS.isPlainObject(e)&&XS.isPlainObject(t)?XS.merge.call({caseless:r},e,t):XS.isPlainObject(t)?XS.merge({},t):XS.isArray(t)?t.slice():t}function i(e,t,r){return XS.isUndefined(t)?XS.isUndefined(e)?void 0:n(void 0,e,r):n(e,t,r)}function o(e,t){if(!XS.isUndefined(t))return n(void 0,t)}function a(e,t){return XS.isUndefined(t)?XS.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function s(r,i,o){return o in t?n(r,i):o in e?n(void 0,r):void 0}const c={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>i(Hk(e),Hk(t),!0)};return XS.forEach(Object.keys(Object.assign({},e,t)),(function(n){const o=c[n]||i,a=o(e[n],t[n],n);XS.isUndefined(a)&&o!==s||(r[n]=a)})),r}const qk="1.6.0",Kk={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Kk[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));const Wk={};Kk.transitional=function(e,t,r){function n(e,t){return"[Axios v1.6.0] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,i,o)=>{if(!1===e)throw new tk(n(i," has been removed"+(t?" in "+t:"")),tk.ERR_DEPRECATED);return t&&!Wk[i]&&(Wk[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,i,o)}};const Gk={assertOptions:function(e,t,r){if("object"!==typeof e)throw new tk("options must be an object",tk.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let i=n.length;for(;i-- >0;){const o=n[i],a=t[o];if(a){const t=e[o],r=void 0===t||a(t,o,e);if(!0!==r)throw new tk("option "+o+" must be "+r,tk.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new tk("Unknown option "+o,tk.ERR_BAD_OPTION)}},validators:Kk},Yk=Gk.validators;class Zk{constructor(e){this.defaults=e,this.interceptors={request:new pk,response:new pk}}request(e,t){"string"===typeof e?(t=t||{}).url=e:t=e||{},t=Vk(this.defaults,t);const{transitional:r,paramsSerializer:n,headers:i}=t;void 0!==r&&Gk.assertOptions(r,{silentJSONParsing:Yk.transitional(Yk.boolean),forcedJSONParsing:Yk.transitional(Yk.boolean),clarifyTimeoutError:Yk.transitional(Yk.boolean)},!1),null!=n&&(XS.isFunction(n)?t.paramsSerializer={serialize:n}:Gk.assertOptions(n,{encode:Yk.function,serialize:Yk.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=i&&XS.merge(i.common,i[t.method]);i&&XS.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete i[e]})),t.headers=Pk.concat(o,i);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let u,d=0;if(!s){const e=[$k.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,c),u=e.length,l=Promise.resolve(t);d{if(!r._listeners)return;let t=r._listeners.length;for(;t-- >0;)r._listeners[t](e);r._listeners=null})),this.promise.then=e=>{let t;const n=new Promise((e=>{r.subscribe(e),t=e})).then(e);return n.cancel=function(){r.unsubscribe(t)},n},e((function(e,n,i){r.reason||(r.reason=new jk(e,n,i),t(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;const t=new Jk((function(t){e=t}));return{token:t,cancel:e}}}const Qk=Jk;const eE={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(eE).forEach((([e,t])=>{eE[t]=e}));const tE=eE;const rE=function e(t){const r=new Xk(t),n=yS(Xk.prototype.request,r);return XS.extend(n,Xk.prototype,r,{allOwnKeys:!0}),XS.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(Vk(t,r))},n}(bk);rE.Axios=Xk,rE.CanceledError=jk,rE.CancelToken=Qk,rE.isCancel=Ak,rE.VERSION=qk,rE.toFormData=sk,rE.AxiosError=tk,rE.Cancel=rE.CanceledError,rE.all=function(e){return Promise.all(e)},rE.spread=function(e){return function(t){return e.apply(null,t)}},rE.isAxiosError=function(e){return XS.isObject(e)&&!0===e.isAxiosError},rE.mergeConfig=Vk,rE.AxiosHeaders=Pk,rE.formToJSON=e=>vk(XS.isHTMLForm(e)?new FormData(e):e),rE.getAdapter=Uk,rE.HttpStatusCode=tE,rE.default=rE;const nE=rE;var iE=r(8206);class oE{constructor(e,t){this.pk=void 0,this.pkh=void 0,this.pk=e,this.pkh=t}async publicKey(){return this.pk}async publicKeyHash(){return this.pkh}async sign(){throw new Error("`sign` method not available")}async secretKey(){throw new Error("empty secret key")}}const aE={args:[{args:[{annots:["%from_"],prim:"address"},{annots:["%txs"],args:[{args:[{annots:["%to_"],prim:"address"},{args:[{annots:["%token_id"],prim:"nat"},{annots:["%amount"],prim:"nat"}],prim:"pair"}],prim:"pair"}],prim:"list"}],prim:"pair"}],prim:"list"},sE={args:[{annots:[":from"],prim:"address"},{args:[{annots:[":to"],prim:"address"},{annots:[":value"],prim:"nat"}],prim:"pair"}],prim:"pair"},cE=(e,t,r)=>[...lE,{prim:"PUSH",args:[{prim:"address"},{string:e.contract.pkh+"%"+r.entrypoint}]},{prim:"CONTRACT",args:[t]},[{prim:"IF_NONE",args:[[{prim:"UNIT"},{prim:"FAILWITH"}],[]]}],{prim:"PUSH",args:[{prim:"mutez"},{int:"0"}]},{prim:"PUSH",args:[t,r.value]},{prim:"TRANSFER_TOKENS"},{prim:"CONS"}],lE=[{prim:"DROP"},{prim:"NIL",args:[{prim:"operation"}]}],uE=e=>(0,iE.isEqual)(e.slice(0,2),lE)?e.slice(2):e,dE=e=>{const t=e.map((e=>(e=>{switch(e.type){case"tez":switch(e.recipient.type){case"implicit":return w_(e.recipient.pkh,Number(e.amount));case"contract":return x_(e.recipient.pkh,Number(e.amount))}case"fa1.2":return cE(e,sE,bE(e));case"fa2":return cE(e,aE,wE(e));case"delegation":return y_(e.recipient.pkh);case"undelegation":return b_();case"contract_origination":case"contract_call":throw new Error(`${e.type} is not supported yet`)}})(e))).flatMap(uE);return[...lE,...t]},hE=(e,t,r)=>pE(e,t,{int:r}),fE=(e,t)=>{const r=dE(t);return pE(e,"propose",r)},pE=(e,t,r,n="0")=>({type:"contract_call",contract:e,entrypoint:t,args:r,amount:n}),mE=async(e,t)=>{try{const r=`${t.tzktApiUrl}/v1/accounts/${e}`,{data:{type:n}}=await nE.get(r);return"empty"!==n}catch(r){throw new Error(`Error fetching account from tzkt ${r.message}`)}},gE=async e=>{const t=(new TextEncoder).encode(e),r=await crypto.subtle.digest("SHA-256",t),n=Array.from(new Uint8Array(r)).map((e=>e.toString(16).padStart(2,"0"))).join("").slice(0,8);return n},vE=async e=>{switch(e.type){case"social":case"mnemonic":case"secret_key":return new Qc(e.secretKey);case"ledger":{const t=await ch.list();for(let e=0;e{switch(e){case"ed25519":return yh.ED25519;case"secp256k1":return yh.SECP256K1;case"p256":return yh.P256;case"bip25519":throw new Error("bip25519 is not supported in Tezos")}})(e.account.curve))}case"fake":return new oE(e.signer.pk,e.signer.address.pkh)}},yE=async e=>{const t=new vS(e.network.rpcUrl),r=await vE(e);return t.setSignerProvider(r),t},bE=({sender:e,recipient:t,amount:r})=>({entrypoint:"transfer",value:{prim:"Pair",args:[{string:e.pkh},{prim:"Pair",args:[{string:t.pkh},{int:r}]}]}}),wE=({sender:e,recipient:t,tokenId:r,amount:n})=>({entrypoint:"transfer",value:[{prim:"Pair",args:[{string:e.pkh},[{prim:"Pair",args:[{string:t.pkh},{prim:"Pair",args:[{int:r},{int:n}]}]}]]}]}),xE=e=>{switch(e.type){case"tez":return{kind:Hh.TRANSACTION,to:e.recipient.pkh,amount:parseInt(e.amount),mutez:!0};case"contract_call":return{kind:Hh.TRANSACTION,to:e.contract.pkh,amount:parseInt(e.amount),mutez:!0,parameter:{entrypoint:e.entrypoint,value:e.args}};case"delegation":return{kind:Hh.DELEGATION,source:e.sender.pkh,delegate:e.recipient.pkh};case"undelegation":return{kind:Hh.DELEGATION,source:e.sender.pkh,delegate:void 0};case"fa1.2":return{kind:Hh.TRANSACTION,amount:0,to:e.contract.pkh,parameter:bE(e)};case"fa2":return{kind:Hh.TRANSACTION,amount:0,to:e.contract.pkh,parameter:wE(e)};case"contract_origination":return{kind:Hh.ORIGINATION,...e}}},_E=({type:e,operations:t,sender:r})=>("implicit"===e?t:[fE(r.address,t)]).map(xE),SE=_E,kE=async(e,t)=>{const r=await yE({type:"fake",signer:e.signer,network:t});try{const t=await r.estimate.batch(_E(e));return n=t.map((e=>Math.max(e.suggestedFeeMutez,e.totalCost).toString())),n.reduce(((e,t)=>e.plus(t)),new Ms(0))}catch(i){if(!await mE(e.signer.address.pkh,t))throw new Error(`Signer address is not revealed on the ${t.name}.`);throw new Error(EE(i))}var n},EE=e=>{let t="";return e.message.includes("subtraction_underflow")?t="Insufficient balance, please make sure you have enough funds.":e.message.includes("contract.non_existing_contract")&&(t="Contract does not exist, please check if the correct network is selected."),t||e};class PE{constructor(e){this.queue=void 0,this.maxConcurrent=void 0,this.count=void 0,this.queue=[],this.maxConcurrent=e,this.count=0}get canAcquire(){return this.countthis.queue.push(e)))}release(){const e=this.queue.shift();e?setTimeout(e,0):this.count--}}const OE="_default";const AE=[encodeURIComponent,encodeURIComponent];encodeURIComponent,encodeURI;function TE(e,t=","){return(r,...n)=>r.reduce(((r,i,o)=>`${r}${i}${((r,n)=>{const i=e[n%e.length];if("undefined"===typeof r)return"";if("object"===typeof r)return Array.isArray(r)?r.map(i).join(t):Object.entries(r).reduce(((e,t)=>[...e,...t]),[]).map(i).join(t);return i(String(r))})(n[o],o)}`),"")}function jE(e=","){return(t,r=AE)=>Object.entries(t).filter((([,e])=>void 0!==e)).map((([t,n])=>TE(r,e)`${t}=${n}`)).join("&")}function CE(...e){const t=e.filter(Boolean).join("&");return t&&`?${t}`}function RE(e,t=AE){const r=TE(t);return Object.entries(e).filter((([,e])=>void 0!==e)).map((([e,n])=>Array.isArray(n)?n.map((t=>r`${e}=${t}`)).join("&"):"object"===typeof n?RE(n,t):r`${e}=${n}`)).join("&")}const IE=jE();jE("|"),jE("%20");const ME=[200,201,202,204];async function LE(e){const t=await e;if(ME.some((e=>e==t.status)))return t.data;throw new NE(t.status,t.data)}class NE extends Error{status;data;constructor(e,t){super(`Error: ${e}`),this.status=e,this.data=t}}const DE={jsonParameter:(e,t)=>{if(!t)return{};const r={};return Object.entries(t).forEach((([t,n])=>{if(!(n instanceof Object))throw new Error(`Expected ${e} value to be object, received ${typeof n}`);const{jsonPath:i,jsonValue:o}=n;if(void 0===o||null===o)throw new Error(`Expected jsonValue in ${e} -> ${t}, found: ${o}`);const a=[e,i,t].filter((e=>void 0!==e)).join(".");r[a]=o})),r},queryParameter:(e,t)=>{if(!t)return{};const r={};return Object.entries(t).forEach((([t,n])=>{r[`${e}.${t}`]=n})),r},anyofParameter:(e,t)=>{if(!t)return{};const{fields:r}=t;if(!(t=>{if(!Array.isArray(t))throw new Error(`Expected ${e} fields to be Array. Received ${typeof t}.`);return t.forEach((t=>{if("string"!==typeof t)throw new Error(`Expected ${e} fields to be strings. Received ${typeof t}`)})),!0})(r))return{};const n={},i=r.join(".");if(t.value){n[`${e}.${i}`]=t.value}for(const o of["in","eq","null"])if(t[o]){return n[`${e}.${i}.${o}`]=Array.isArray(t[o])?t[o].join(","):t[o],n}return n}},BE=DE,zE=function(e){async function t(e,t){const n=await r(e,t);let i;try{i=await n.text()}catch(o){}return{status:n.status,headers:n.headers,contentType:n.headers.get("content-type"),data:i}}async function r(t,r={}){const{baseUrl:n,headers:i,fetch:o,...a}={...e,...r},s=function(...e){return e.filter(Boolean).map(((e,t)=>0===t?e:e.replace(/^\/+/,""))).map(((e,t,r)=>t===r.length-1?e:e.replace(/\/+$/,""))).join("/")}(n,t);var c;return await(o||fetch)(s,{...a,headers:(c={...e.headers,...i},c&&JSON.parse(JSON.stringify(c)))})}return{ok:LE,fetchText:t,fetchJson:async function(e,r={}){const{status:n,headers:i,contentType:o,data:a}=await t(e,{...r,headers:{Accept:"application/json",...r.headers}});return!!o&&o.includes("json")?{status:n,headers:i,data:a?JSON.parse(a):null}:{status:n,headers:i,data:a}},fetchBlob:async function(e,t={}){const n=await r(e,t);let i;try{i=await n.blob()}catch(o){}return{status:n.status,headers:n.headers,data:i}},json:({body:e,headers:t,...r})=>({...r,...null!=e&&{body:JSON.stringify(e)},headers:{...t,"Content-Type":"application/json"}}),form:({body:e,headers:t,...r})=>({...r,...null!=e&&{body:IE(e)},headers:{...t,"Content-Type":"application/x-www-form-urlencoded"}}),multipart({body:t,...r}){if(null==t)return r;const n=new(e.formDataConstructor||r.formDataConstructor||FormData);return Object.entries(t).forEach((([e,t])=>{n.append(e,t)})),{...r,body:n}}}}({baseUrl:"https://api.tzkt.io"});function UE({id:e,level:t,timestamp:r,tokenId:n,tokenContract:i,tokenTokenId:o,tokenStandard:a,tokenMetadata:s,tokenHasFilters:c,anyof:l,$from:u,to:d,amount:h,transactionId:f,originationId:p,migrationId:m,indexedAt:g,sort:v,offset:y,limit:b,select:w}={},x){return zE.ok(zE.fetchJson(`/v1/tokens/transfers${CE(RE({"token.HasFilters":c,limit:b,...BE.queryParameter("id",e),...BE.queryParameter("level",t),...BE.queryParameter("timestamp",r),...BE.queryParameter("token.id",n),...BE.queryParameter("token.contract",i),...BE.queryParameter("token.tokenId",o),...BE.queryParameter("token.standard",a),...BE.jsonParameter("token.metadata",s),...BE.anyofParameter("anyof",l),...BE.queryParameter("from",u),...BE.queryParameter("to",d),...BE.queryParameter("amount",h),...BE.queryParameter("transactionId",f),...BE.queryParameter("originationId",p),...BE.queryParameter("migrationId",m),...BE.queryParameter("indexedAt",g),...BE.queryParameter("sort",v),...BE.queryParameter("offset",y),...BE.queryParameter("select",w)}))}`,{...x}))}var FE=r(9689),$E=r.n(FE);const HE=new class{constructor(e=1){this.semaphoreInstances=void 0,this.maxConcurrent=void 0,this.semaphoreInstances={},this.maxConcurrent=e}hasSemaphoreInstance(e=OE){return Boolean(this.semaphoreInstances[e])}getSemaphoreInstance(e=OE){return this.hasSemaphoreInstance(e)||(this.semaphoreInstances[e]=new PE(this.maxConcurrent)),this.semaphoreInstances[e]}tidy(e=OE){this.hasSemaphoreInstance(e)&&0==this.getSemaphoreInstance(e).count&&delete this.semaphoreInstances[e]}canAcquire(e=OE){return this.getSemaphoreInstance(e).canAcquire}acquire(e=OE){return this.getSemaphoreInstance(e).acquire()}release(e=OE){this.getSemaphoreInstance(e).release(),this.tidy(e)}count(e=OE){return this.hasSemaphoreInstance(e)?this.getSemaphoreInstance(e).count:0}hasTasks(e=OE){return this.count(e)>0}async request(e,t=OE){try{return await this.acquire(t),await e()}finally{this.release(t)}}async requestIfAvailable(e,t=OE){return this.canAcquire(t)?this.request(e,t):null}}(10),VE=e=>HE.acquire().then((()=>$E()(e,{retries:3,minTimeout:100}))).finally((()=>HE.release())),qE=async(e,t)=>VE((()=>function({id:e,address:t,$type:r,kind:n,delegate:i,balance:o,staked:a,lastActivity:s,select:c,sort:l,offset:u,limit:d}={},h){return zE.ok(zE.fetchJson(`/v1/accounts${CE(RE({limit:d,...BE.queryParameter("id",e),...BE.queryParameter("address",t),...BE.queryParameter("type",r),...BE.queryParameter("kind",n),...BE.queryParameter("delegate",i),...BE.queryParameter("balance",o),...BE.queryParameter("staked",a),...BE.queryParameter("lastActivity",s),...BE.queryParameter("select",c),...BE.queryParameter("sort",l),...BE.queryParameter("offset",u)}))}`,{...h}))}({address:{in:[e.join(",")]},select:{fields:["address,balance,delegationLevel"]}},{baseUrl:t.tzktApiUrl}))),KE=async(e,t)=>VE((()=>function({id:e,account:t,tokenId:r,tokenContract:n,tokenTokenId:i,tokenStandard:o,tokenMetadata:a,tokenHasFilters:s,balance:c,firstLevel:l,firstTime:u,lastLevel:d,lastTime:h,indexedAt:f,sort:p,offset:m,limit:g,select:v}={},y){return zE.ok(zE.fetchJson(`/v1/tokens/balances${CE(RE({"token.HasFilters":s,limit:g,...BE.queryParameter("id",e),...BE.queryParameter("account",t),...BE.queryParameter("token.id",r),...BE.queryParameter("token.contract",n),...BE.queryParameter("token.tokenId",i),...BE.queryParameter("token.standard",o),...BE.jsonParameter("token.metadata",a),...BE.queryParameter("balance",c),...BE.queryParameter("firstLevel",l),...BE.queryParameter("firstTime",u),...BE.queryParameter("lastLevel",d),...BE.queryParameter("lastTime",h),...BE.queryParameter("indexedAt",f),...BE.queryParameter("sort",p),...BE.queryParameter("offset",m),...BE.queryParameter("select",v)}))}`,{...y}))}({account:{in:[e.join(",")]},balance:{gt:"0"},limit:1e4},{baseUrl:t.tzktApiUrl}))),WE=async(e,t,r)=>VE((()=>function({anyof:e,initiator:t,sender:r,prevDelegate:n,newDelegate:i,level:o,timestamp:a,senderCodeHash:s,status:c,select:l,sort:u,offset:d,limit:h,quote:f}={},p){return zE.ok(zE.fetchJson(`/v1/operations/delegations${CE(RE({limit:h,quote:f,...BE.anyofParameter("anyof",e),...BE.queryParameter("initiator",t),...BE.queryParameter("sender",r),...BE.queryParameter("prevDelegate",n),...BE.queryParameter("newDelegate",i),...BE.queryParameter("level",o),...BE.queryParameter("timestamp",a),...BE.queryParameter("senderCodeHash",s),...BE.queryParameter("status",c),...BE.queryParameter("select",l),...BE.queryParameter("sort",u),...BE.queryParameter("offset",d)}))}`,{...p}))}({sender:{in:[e.join(",")]},...r},{baseUrl:t.tzktApiUrl}))),GE=async(e,t,r)=>VE((()=>function({anyof:e,initiator:t,sender:r,target:n,amount:i,id:o,level:a,timestamp:s,senderCodeHash:c,targetCodeHash:l,codeHash:u,entrypoint:d,parameter:h,hasInternals:f,status:p,select:m,sort:g,offset:v,limit:y,micheline:b,quote:w}={},x){return zE.ok(zE.fetchJson(`/v1/operations/transactions${CE(RE({limit:y,micheline:b,quote:w,...BE.anyofParameter("anyof",e),...BE.queryParameter("initiator",t),...BE.queryParameter("sender",r),...BE.queryParameter("target",n),...BE.queryParameter("amount",i),...BE.queryParameter("id",o),...BE.queryParameter("level",a),...BE.queryParameter("timestamp",s),...BE.queryParameter("senderCodeHash",c),...BE.queryParameter("targetCodeHash",l),...BE.queryParameter("codeHash",u),...BE.queryParameter("entrypoint",d),...BE.jsonParameter("parameter",h),...BE.queryParameter("hasInternals",f),...BE.queryParameter("status",p),...BE.queryParameter("select",m),...BE.queryParameter("sort",g),...BE.queryParameter("offset",v)}))}`,{...x}))}({anyof:{fields:["sender","target","initiator"],in:[e.join(",")]},...r},{baseUrl:t.tzktApiUrl}))),YE=async(e,t,r)=>VE((()=>function({anyof:e,initiator:t,sender:r,contractManager:n,contractDelegate:i,originatedContract:o,id:a,typeHash:s,codeHash:c,level:l,timestamp:u,senderCodeHash:d,anyCodeHash:h,status:f,select:p,sort:m,offset:g,limit:v,micheline:y,quote:b}={},w){return zE.ok(zE.fetchJson(`/v1/operations/originations${CE(RE({limit:v,micheline:y,quote:b,...BE.anyofParameter("anyof",e),...BE.queryParameter("initiator",t),...BE.queryParameter("sender",r),...BE.queryParameter("contractManager",n),...BE.queryParameter("contractDelegate",i),...BE.queryParameter("originatedContract",o),...BE.queryParameter("id",a),...BE.queryParameter("typeHash",s),...BE.queryParameter("codeHash",c),...BE.queryParameter("level",l),...BE.queryParameter("timestamp",u),...BE.queryParameter("senderCodeHash",d),...BE.queryParameter("anyCodeHash",h),...BE.queryParameter("status",f),...BE.queryParameter("select",p),...BE.queryParameter("sort",m),...BE.queryParameter("offset",g)}))}`,{...w}))}({sender:{in:[e.join(",")]},...r},{baseUrl:t.tzktApiUrl}))),ZE=async(e,t,r)=>VE((async()=>(await UE({anyof:{fields:["from","to"],in:[e.join(",")]},...r},{baseUrl:t.tzktApiUrl})).map((e=>({...e,type:"token_transfer"}))))),XE=async e=>VE((async()=>{return await(t={baseUrl:e.tzktApiUrl},zE.ok(zE.fetchJson("/v1/blocks/count",{...t})));var t})),JE=async e=>VE((()=>function({active:e,lastActivity:t,select:r,sort:n,offset:i,limit:o}={},a){return zE.ok(zE.fetchJson(`/v1/delegates${CE(RE({limit:o,...BE.queryParameter("active",e),...BE.queryParameter("lastActivity",t),...BE.queryParameter("select",r),...BE.queryParameter("sort",n),...BE.queryParameter("offset",i)}))}`,{...a}))}({sort:{desc:"stakingBalance"},active:{eq:!0},limit:1e4,select:{fields:["address,alias,stakingBalance"]}},{baseUrl:e.tzktApiUrl}))),QE=async(e,t)=>{const r=SE(e);return t.wallet.batch(r).send()},eP=async(e,t)=>{const r=Qc.fromMnemonic({mnemonic:e,derivationPath:t,curve:"ed25519"});return{pkh:await r.publicKeyHash(),pk:await r.publicKey()}},tP={derivePublicKeyPair:eP,restoreRevealedMnemonicAccounts:async(e,t,r="Account",n=el)=>{const i=await(async(e,t,r)=>{const n=[];let i=0,o=await eP(e,nl(t,i));do{n.push(o),i+=1,o=await eP(e,nl(t,i))}while(await mE(o.pkh,r));return n})(e,n,t),o=await gE(e);return i.map((({pk:e,pkh:t},a)=>vd(e,t,nl(n,a),n,o,`${r}${i.length>1?" "+a:""}`)))},decrypt:Oc,encrypt:Pc};var rP=r(2936);const nP=Ma("accounts/changeMnemonicPassword",(async({currentPassword:e,newPassword:t},{getState:r,extra:n})=>{if(e===t)throw new Error("New password must be different from the current password");const{items:i,seedPhrases:o}=r().accounts;if(0===i.filter((e=>"mnemonic"===e.type)).length)throw new Error("No mnemonic accounts found");const a=await Promise.all(Object.entries(o).map((async([r,i])=>{if(!i)throw new Error("No encrypted mnemonic found");try{const o=await n.decrypt(i,e);return[r,await n.encrypt(o,t)]}catch(o){throw new Error(o.message)}})));return{newEncryptedMnemonics:(0,iE.fromPairs)(a)}})),iP=Ma("accounts/restoreFromMnemonic",(async({mnemonic:e,password:t,label:r,derivationPathPattern:n},i)=>({seedFingerprint:await gE(e),accounts:await i.extra.restoreRevealedMnemonicAccounts(e,i.getState().networks.current,r,n),encryptedMnemonic:await i.extra.encrypt(e,t)}))),oP=Ma("accounts/deriveAccount",(async({fingerPrint:e,password:t,label:r},n)=>{const i=n.getState().accounts.seedPhrases[e];if(!i)throw new Error(`No seedphrase found with fingerprint:${e}`);const o=await n.extra.decrypt(i,t),a=n.getState().accounts.items.filter((t=>"mnemonic"===t.type&&t.seedFingerPrint===e)),s=a.length,c=a[0].derivationPathPattern,l=nl(c,s),{pk:u,pkh:d}=await n.extra.derivePublicKeyPair(o,l);return vd(u,d,l,c,e,r)})),aP={items:[],seedPhrases:{},secretKeys:{}},sP=Aa({name:"accounts",initialState:aP,extraReducers:e=>{e.addCase(oP.fulfilled,((e,t)=>{e.items=cP(e.items,[t.payload])})),e.addCase(iP.fulfilled,((e,t)=>{const{accounts:r,encryptedMnemonic:n,seedFingerprint:i}=t.payload;e.items=cP(e.items,r),e.seedPhrases[i]=n})),e.addCase(nP.fulfilled,((e,t)=>{const{newEncryptedMnemonics:r}=t.payload;e.seedPhrases=r}))},reducers:{reset:()=>aP,removeMnemonicAndAccounts:(e,{payload:t})=>{const{fingerPrint:r}=t,n=e.items.filter((e=>!("mnemonic"===e.type&&e.seedFingerPrint===r)));e.items=n,delete e.seedPhrases[r]},removeNonMnemonicAccounts:(e,{payload:t})=>{e.items=(0,iE.remove)(e.items,(e=>"mnemonic"===e.type||e.type!==t.accountType))},removeAccount:(e,{payload:t})=>{(0,iE.remove)(e.items,(e=>e.address.pkh===t.address.pkh))},renameAccount:(e,{payload:t})=>{const{account:r,newName:n}=t;if(0===n.length)throw new Error("Cannot rename account to an empty name.");if(e.items.find((e=>e.label===n)))throw new Error(`Cannot rename account ${r.address.pkh} to ${n} since the name already exists.`);const i=e.items.find((e=>e.address.pkh===r.address.pkh&&e.label===r.label));i&&(i.label=n)},addAccount:(e,{payload:t})=>{e.items=cP(e.items,[t])},addMockMnemonicAccounts:(e,{payload:t})=>{e.items=cP(e.items,t)},addSecretKey:(e,{payload:{pkh:t,encryptedSecretKey:r}})=>{e.secretKeys[t]=r},removeSecretKey:(e,{payload:t})=>{delete e.secretKeys[t.address.pkh]}}}),cP=(e,t)=>(t.forEach((t=>{if(e.some((e=>e.address.pkh===t.address.pkh)))throw new Error(`Can't add account ${t.address.pkh} in store since it already exists.`)})),[...e,...t]),lP=(sP.actions,ld.object({standard:ld.string().regex(/^fa1\.2$/i),contract:ud})),uP=ld.object({standard:ld.string().regex(/^fa2$/i),tokenId:ld.string(),contract:ud}),dP=ld.object({id:ld.number(),standard:ld.string().regex(/^fa2$/i),tokenId:ld.string(),contract:ud,totalSupply:ld.string().optional(),metadata:ld.object({displayUri:ld.string(),decimals:ld.void().or(ld.string().regex(/^0$/))})}),hP=e=>{const t=e.metadata;if("fa1.2"===e.standard){const r=lP.safeParse(e);return r.success?{type:"fa1.2",metadata:t,contract:r.data.contract.address,tokenId:"0"}:(console.warn("Invalid FA1 token: "+JSON.stringify(e)),null)}const r=dP.safeParse(e);if(r.success)return{metadata:t,type:"nft",id:r.data.id,contract:r.data.contract.address,tokenId:r.data.tokenId,displayUri:r.data.metadata.displayUri,totalSupply:r.data.totalSupply};const n=uP.safeParse(e);return n.success?{type:"fa2",metadata:t,contract:n.data.contract.address,tokenId:n.data.tokenId}:(console.warn("Invalid FA2 token: "+JSON.stringify(e)),null)},fP=e=>`${e.contract}:${e.tokenId}`,pP=e=>mP(e)||(e=>{switch(e.type){case"fa1.2":return OP;case"fa2":return AP;case"nft":return TP}})(e),mP=e=>{var t;return null===(t=e.metadata)||void 0===t?void 0:t.name},gP=e=>vP(e)||(e=>{switch(e.type){case"fa1.2":return jP;case"fa2":return CP;case"nft":return RP}})(e),vP=e=>{var t;return null===(t=e.metadata)||void 0===t?void 0:t.symbol},yP=e=>{var t,r;return null!==(t=null===(r=e.metadata)||void 0===r?void 0:r.decimals)&&void 0!==t?t:IP},bP=(e,t)=>{const r=new Ms(t),n=yP(e);return r.multipliedBy(new Ms(10).exponentiatedBy(n)).toFixed()},wP=(e,t=IP)=>{const r=Ms(e).dividedBy(Ms(10).pow(t));try{return new Intl.NumberFormat("en-US",{minimumFractionDigits:Number(t),maximumFractionDigits:Number(t)}).format(r.toNumber())}catch(n){return console.warn(`Can't format token amount with decimals = ${t}`),wP(e,"0")}},xP=(e,t,r)=>{var n;if("nft"===t.type)return e;const i=gP(t),o=null===(n=t.metadata)||void 0===n?void 0:n.decimals,a=null!==r&&void 0!==r&&r.showSymbol?` ${i}`:"";return`${wP(e,o)}${a}`},_P=e=>e.metadata.artifactUri||e.displayUri,SP=e=>e.metadata.thumbnailUri||e.displayUri,kP=e=>{var t,r;return null===(t=e.metadata.formats)||void 0===t||null===(r=t.find((t=>t.uri===_P(e))))||void 0===r?void 0:r.mimeType},EP=(e,t)=>`${PP(e,t)}/metadata`,PP=({contract:e,tokenId:t},r)=>`${r.tzktExplorerUrl}/${e}/tokens/${t}`,OP="FA1.2 token",AP="FA2 token",TP="NFT",jP="FA1.2",CP="FA2",RP="NFT",IP="0",MP=e=>{const t=hP(e.token);return t&&e.balance?{balance:e.balance,lastLevel:e.lastLevel,...t}:null},LP={blockLevel:null,balances:{mutez:{},tokens:{}},transfers:{tez:{},tokens:{}},delegationLevels:{},bakers:[],conversionRate:null,refetchTrigger:0,isLoading:!1,lastTimeUpdated:null},NP=Aa({name:"assets",initialState:LP,extraReducers:e=>e.addCase(sP.actions.reset,(()=>LP)),reducers:{reset:()=>LP,updateBlockLevel:(e,{payload:t})=>{e.blockLevel=t},updateTokenTransfers:(e,{payload:t})=>{t.forEach((t=>{e.transfers.tokens[t.transactionId]=t}))},updateTezBalance:(e,{payload:t})=>{e.balances.mutez=t.reduce(((e,t)=>({...e,[t.address]:String(t.balance)})),{}),e.delegationLevels=t.reduce(((e,t)=>({...e,[t.address]:t.delegationLevel})),{})},updateTokenBalance:(e,{payload:t})=>{const r=(0,iE.groupBy)(t,(e=>e.account.address));e.balances.tokens=(0,iE.mapValues)(r,(e=>(0,iE.compact)(e.map(MP)).map((({balance:e,contract:t,tokenId:r,lastLevel:n})=>({balance:e,contract:t,tokenId:r,lastLevel:n})))))},updateBakers:(e,{payload:t})=>{e.bakers=t},updateConversionRate:(e,{payload:{rate:t}})=>{e.conversionRate=t},refetch:e=>{e.refetchTrigger+=1},setIsLoading:(e,{payload:t})=>{e.isLoading=t},setLastTimeUpdated:(e,{payload:t})=>{e.lastTimeUpdated=t}}}),DP=NP.actions,BP={name:"mainnet",rpcUrl:"https://prod.tcinfra.net/rpc/mainnet/",tzktApiUrl:"https://api.mainnet.tzkt.io",tzktExplorerUrl:"https://tzkt.io",buyTezUrl:"https://widget.wert.io"},zP=e=>UP.map((e=>e.name)).includes(e.name),UP=[BP,{name:"ghostnet",rpcUrl:"https://ghostnet.ecadinfra.com",tzktApiUrl:"https://api.ghostnet.tzkt.io",tzktExplorerUrl:"https://ghostnet.tzkt.io",buyTezUrl:"https://faucet.ghostnet.teztnets.xyz/"}],FP=(0,iE.fromPairs)(UP.map((e=>[e.name,[]]))),$P=Aa({name:"batches",initialState:FP,reducers:{reset:()=>FP,add:(e,{payload:{operations:t,network:r}})=>{r.name in e||(e[r.name]=[]);const n=e[r.name],i=n.find((e=>e.sender.address.pkh===t.sender.address.pkh));i?i.operations.push(...t.operations):n.push(t)},clear:(e,{payload:{pkh:t,network:r}})=>{const n=e[r.name]||[],i=(0,iE.findIndex)(n,(e=>e.sender.address.pkh===t));-1!==i&&n.splice(i,1)},removeItem:(e,{payload:{pkh:t,index:r,network:n}})=>{const i=e[n.name]||[],o=(0,iE.findIndex)(i,(e=>e.sender.address.pkh===t));if(-1===o)return;const a=i[o];rVP,addConnection:(e,{payload:t})=>{e[t.dAppId]={accountPkh:t.accountPkh,networkType:t.networkType}},removeConnection:(e,{payload:t})=>{delete e[t.dAppId]}}}),KP=(qP.actions,(e,t)=>Object.values(e).map((e=>e.name)).includes(t)),WP={},GP=Aa({name:"contacts",initialState:WP,reducers:{reset:()=>WP,upsert:(e,{payload:t})=>{KP(e,t.name)||(e[t.pkh]=t)},remove:(e,{payload:t})=>{delete e[t]}}}),YP=GP.actions,ZP=[],XP=Aa({name:"errors",initialState:ZP,reducers:{reset:()=>ZP,add(e,{payload:t}){100===e.length&&e.shift(),e.push(t)}}}),JP={items:[],pendingOperations:{}},QP=Aa({name:"multisigs",initialState:JP,reducers:{reset:()=>JP,setMultisigs:(e,{payload:t})=>{const r=(0,iE.fromPairs)(e.items.map((e=>[e.address.pkh,e.label])));e.items=t.map(((e,t)=>({...e,label:r[e.address.pkh]||`Multisig Account ${t}`,type:"multisig"})))},setPendingOperations:(e,{payload:t})=>{e.pendingOperations=(0,iE.groupBy)(t,(e=>e.bigmapId))},setName:(e,{payload:t})=>{const{account:{address:{pkh:r}},newName:n}=t,i=e.items.find((e=>e.address.pkh===r));i&&(i.label=n)}}}),eO=QP.actions,tO={available:UP,current:BP},rO=Aa({name:"networks",initialState:tO,reducers:{reset:()=>tO,setCurrent:(e,{payload:t})=>{e.current=t},upsertNetwork:(e,{payload:t})=>{if(zP(t))return;const r=e.available.findIndex((e=>e.name===t.name));-1===r?e.available.push(t):e.available[r]=t},removeNetwork:(e,{payload:t})=>{zP(t)||(0,iE.remove)(e.available,(e=>e.name===t.name))}}}),nO=rO.actions,iO=(0,iE.fromPairs)(UP.map((e=>[e.name,{}]))),oO=Aa({name:"tokens",initialState:iO,reducers:{reset:()=>iO,addTokens:(e,{payload:{network:t,tokens:r}})=>{(0,iE.compact)(r.map(hP)).forEach((r=>{(0,iE.setWith)(e,[t.name,r.contract,r.tokenId],r,Object)}))}}}),aO=oO.actions,sO={key:"root",storage:rP.Z,blacklist:["accounts"]},cO=U({accounts:A({key:"accounts",storage:rP.Z},sP.reducer),assets:NP.reducer,batches:$P.reducer,beacon:qP.reducer,contacts:GP.reducer,errors:XP.reducer,multisigs:QP.reducer,networks:rO.reducer,tokens:oO.reducer}),lO=function(e){var t,r=Pa(),n=e||{},i=n.reducer,o=void 0===i?void 0:i,a=n.middleware,s=void 0===a?r():a,c=n.devTools,l=void 0===c||c,u=n.preloadedState,d=void 0===u?void 0:u,h=n.enhancers,f=void 0===h?void 0:h;if("function"===typeof o)t=o;else{if(!xa(o))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');t=U(o)}var p=s;"function"===typeof p&&(p=p(r));var m=$.apply(void 0,p),g=F;l&&(g=wa(va({trace:!1},"object"===typeof l&&l)));var v=new ka(m),y=v;return Array.isArray(f)?y=la([m],f):"function"===typeof f&&(y=f(v)),z(t,d,g.apply(void 0,y))}({reducer:A(sO,cO),middleware:e=>e({serializableCheck:{ignoredActions:[l,u,d,h,f,p]},thunk:{extraArgument:tP}})}),uO=e=>(0,Yn.jsx)(Zi,{store:lO,children:e.children});var dO=String.raw,hO=dO` :root, :host { @@ -278,5 +278,5 @@ } ${hO} - `}),[mO,gO]=ui({strict:!1,name:"PortalManagerContext"});function vO(e){const{children:t,zIndex:r}=e;return(0,Yn.jsx)(mO,{value:{zIndex:r},children:t})}function yO(e={}){const{strict:r=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:i}=e,o=(0,t.createContext)(void 0);return o.displayName=i,[o.Provider,function e(){var i;const a=(0,t.useContext)(o);if(!a&&r){const t=new Error(n);throw t.name="ContextError",null==(i=Error.captureStackTrace)||i.call(Error,t,e),t}return a},o]}function bO(e){const{cssVarsRoot:r,theme:n,children:i}=e,o=(0,t.useMemo)((()=>Bt(n)),[n]);return(0,Yn.jsxs)(Ln,{theme:o,children:[(0,Yn.jsx)(wO,{root:r}),i]})}function wO({root:e=":host, :root"}){const t=[e,"[data-theme]"].join(",");return(0,Yn.jsx)(pi,{styles:e=>({[t]:e.__cssVars})})}vO.displayName="PortalManager";var[xO,_O]=yO({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function SO(){const{colorMode:e}=nr();return(0,Yn.jsx)(pi,{styles:t=>{const r=sr(ir(t,"styles.global"),{theme:t,colorMode:e});if(!r)return;return Gt(r)(t)}})}var kO={light:"chakra-ui-light",dark:"chakra-ui-dark"};var EO="chakra-ui-color-mode";var PO,OO=(PO=EO,{ssr:!1,type:"localStorage",get(e){if(!(null==globalThis?void 0:globalThis.document))return e;let t;try{t=localStorage.getItem(PO)||e}catch(r){}return t||e},set(e){try{localStorage.setItem(PO,e)}catch(t){}}});function AO(e,t){const r=e.match(new RegExp(`(^| )${t}=([^;]+)`));return null==r?void 0:r[2]}function TO(e,t){return{ssr:!!t,type:"cookie",get:r=>t?AO(t,e):(null==globalThis?void 0:globalThis.document)&&AO(document.cookie,e)||r,set(t){document.cookie=`${e}=${t}; max-age=31536000; path=/`}}}TO(EO);var jO=Boolean(null==globalThis?void 0:globalThis.document)?t.useLayoutEffect:t.useEffect,CO=()=>{};function RO(e,t){return"cookie"===e.type&&e.ssr?e.get(t):t}function IO(e){const{value:r,children:n,options:{useSystemColorMode:i,initialColorMode:o,disableTransitionOnChange:a}={},colorModeManager:s=OO}=e,c="dark"===o?"dark":"light",[l,u]=(0,t.useState)((()=>RO(s,c))),[d,h]=(0,t.useState)((()=>RO(s))),{getSystemTheme:f,setClassName:p,setDataset:m,addListener:g}=(0,t.useMemo)((()=>function(e={}){const{preventTransition:t=!0}=e,r={setDataset:e=>{const n=t?r.preventTransition():void 0;document.documentElement.dataset.theme=e,document.documentElement.style.colorScheme=e,null==n||n()},setClassName(e){document.body.classList.add(e?kO.dark:kO.light),document.body.classList.remove(e?kO.light:kO.dark)},query:()=>window.matchMedia("(prefers-color-scheme: dark)"),getSystemTheme(e){var t;return(null!=(t=r.query().matches)?t:"dark"===e)?"dark":"light"},addListener(e){const t=r.query(),n=t=>{e(t.matches?"dark":"light")};return"function"===typeof t.addListener?t.addListener(n):t.addEventListener("change",n),()=>{"function"===typeof t.removeListener?t.removeListener(n):t.removeEventListener("change",n)}},preventTransition(){const e=document.createElement("style");return e.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),requestAnimationFrame((()=>{requestAnimationFrame((()=>{document.head.removeChild(e)}))}))}}};return r}({preventTransition:a})),[a]),v="system"!==o||l?l:d,y=(0,t.useCallback)((e=>{const t="system"===e?f():e;u(t),p("dark"===t),m(t),s.set(t)}),[s,f,p,m]);jO((()=>{"system"===o&&h(f())}),[]),(0,t.useEffect)((()=>{const e=s.get();y(e||("system"!==o?c:"system"))}),[s,c,o,y]);const b=(0,t.useCallback)((()=>{y("dark"===v?"light":"dark")}),[v,y]);(0,t.useEffect)((()=>{if(i)return g(y)}),[i,g,y]);const w=(0,t.useMemo)((()=>({colorMode:null!=r?r:v,toggleColorMode:r?CO:b,setColorMode:r?CO:y,forced:void 0!==r})),[v,b,y,r]);return(0,Yn.jsx)(rr.Provider,{value:w,children:n})}IO.displayName="ColorModeProvider";var MO=(0,t.createContext)({getDocument:()=>document,getWindow:()=>window});function LO(e){const{children:r,environment:n,disabled:i}=e,o=(0,t.useRef)(null),a=(0,t.useMemo)((()=>n||{getDocument:()=>{var e,t;return null!=(t=null==(e=o.current)?void 0:e.ownerDocument)?t:document},getWindow:()=>{var e,t;return null!=(t=null==(e=o.current)?void 0:e.ownerDocument.defaultView)?t:window}}),[n]),s=!i||!n;return(0,Yn.jsxs)(MO.Provider,{value:a,children:[r,s&&(0,Yn.jsx)("span",{id:"__chakra_env",hidden:!0,ref:o})]})}MO.displayName="EnvironmentContext",LO.displayName="EnvironmentProvider";var NO=e=>{const{children:t,colorModeManager:r,portalZIndex:n,resetScope:i,resetCSS:o=!0,theme:a={},environment:s,cssVarsRoot:c,disableEnvironment:l,disableGlobalStyle:u}=e,d=(0,Yn.jsx)(LO,{environment:s,disabled:l,children:t});return(0,Yn.jsx)(bO,{theme:a,cssVarsRoot:c,children:(0,Yn.jsxs)(IO,{colorModeManager:r,options:a.config,children:[o?(0,Yn.jsx)(pO,{scope:i}):(0,Yn.jsx)(fO,{}),!u&&(0,Yn.jsx)(SO,{}),n?(0,Yn.jsx)(vO,{zIndex:n,children:d}):d]})})},DO={property:{common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},easing:{"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},duration:{"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"}},BO={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},zO={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},UO={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},FO={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},$O={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},HO={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},VO={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},qO={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},KO={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},WO={...KO,max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch",container:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px"}},GO={breakpoints:UO,zIndices:BO,radii:$O,blur:VO,colors:FO,...qO,sizes:WO,shadows:HO,space:KO,borders:zO,transition:DO},{defineMultiStyleConfig:YO,definePartsStyle:ZO}=Yt(["stepper","step","title","description","indicator","separator","icon","number"]),XO=dt("stepper-indicator-size"),JO=dt("stepper-icon-size"),QO=dt("stepper-title-font-size"),eA=dt("stepper-description-font-size"),tA=dt("stepper-accent-color"),rA=ZO((({colorScheme:e})=>({stepper:{display:"flex",justifyContent:"space-between",gap:"4","&[data-orientation=vertical]":{flexDirection:"column",alignItems:"flex-start"},"&[data-orientation=horizontal]":{flexDirection:"row",alignItems:"center"},[tA.variable]:`colors.${e}.500`,_dark:{[tA.variable]:`colors.${e}.200`}},title:{fontSize:QO.reference,fontWeight:"medium"},description:{fontSize:eA.reference,color:"chakra-subtle-text"},number:{fontSize:QO.reference},step:{flexShrink:0,position:"relative",display:"flex",gap:"2","&[data-orientation=horizontal]":{alignItems:"center"},flex:"1","&:last-of-type:not([data-stretch])":{flex:"initial"}},icon:{flexShrink:0,width:JO.reference,height:JO.reference},indicator:{flexShrink:0,borderRadius:"full",width:XO.reference,height:XO.reference,display:"flex",justifyContent:"center",alignItems:"center","&[data-status=active]":{borderWidth:"2px",borderColor:tA.reference},"&[data-status=complete]":{bg:tA.reference,color:"chakra-inverse-text"},"&[data-status=incomplete]":{borderWidth:"2px"}},separator:{bg:"chakra-border-color",flex:"1","&[data-status=complete]":{bg:tA.reference},"&[data-orientation=horizontal]":{width:"100%",height:"2px",marginStart:"2"},"&[data-orientation=vertical]":{width:"2px",position:"absolute",height:"100%",maxHeight:`calc(100% - ${XO.reference} - 8px)`,top:`calc(${XO.reference} + 4px)`,insetStart:`calc(${XO.reference} / 2 - 1px)`}}}))),nA=YO({baseStyle:rA,sizes:{xs:ZO({stepper:{[XO.variable]:"sizes.4",[JO.variable]:"sizes.3",[QO.variable]:"fontSizes.xs",[eA.variable]:"fontSizes.xs"}}),sm:ZO({stepper:{[XO.variable]:"sizes.6",[JO.variable]:"sizes.4",[QO.variable]:"fontSizes.sm",[eA.variable]:"fontSizes.xs"}}),md:ZO({stepper:{[XO.variable]:"sizes.8",[JO.variable]:"sizes.5",[QO.variable]:"fontSizes.md",[eA.variable]:"fontSizes.sm"}}),lg:ZO({stepper:{[XO.variable]:"sizes.10",[JO.variable]:"sizes.6",[QO.variable]:"fontSizes.lg",[eA.variable]:"fontSizes.md"}})},defaultProps:{size:"md",colorScheme:"blue"}});function iA(e,t={}){let r=!1;function n(t){const r=`chakra-${(["container","root"].includes(null!=t?t:"")?[e]:[e,t]).filter(Boolean).join("__")}`;return{className:r,selector:`.${r}`,toString:()=>t}}return{parts:function(...i){!function(){if(r)throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?");r=!0}();for(const e of i)t[e]=n(e);return iA(e,t)},toPart:n,extend:function(...r){for(const e of r)e in t||(t[e]=n(e));return iA(e,t)},selectors:function(){const e=Object.fromEntries(Object.entries(t).map((([e,t])=>[e,t.selector])));return e},classnames:function(){const e=Object.fromEntries(Object.entries(t).map((([e,t])=>[e,t.className])));return e},get keys(){return Object.keys(t)},__type:{}}}var oA=iA("accordion").parts("root","container","button","panel").extend("icon"),aA=iA("alert").parts("title","description","container").extend("icon","spinner"),sA=iA("avatar").parts("label","badge","container").extend("excessLabel","group"),cA=iA("breadcrumb").parts("link","item","container").extend("separator"),lA=(iA("button").parts(),iA("checkbox").parts("control","icon","container").extend("label")),uA=(iA("progress").parts("track","filledTrack").extend("label"),iA("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer")),dA=iA("editable").parts("preview","input","textarea"),hA=iA("form").parts("container","requiredIndicator","helperText"),fA=iA("formError").parts("text","icon"),pA=iA("input").parts("addon","field","element","group"),mA=iA("list").parts("container","item","icon"),gA=iA("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),vA=iA("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),yA=iA("numberinput").parts("root","field","stepperGroup","stepper"),bA=(iA("pininput").parts("field"),iA("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton")),wA=iA("progress").parts("label","filledTrack","track"),xA=iA("radio").parts("container","control","label"),_A=iA("select").parts("field","icon"),SA=iA("slider").parts("container","track","thumb","filledTrack","mark"),kA=iA("stat").parts("container","label","helpText","number","icon"),EA=iA("switch").parts("container","track","thumb","label"),PA=iA("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),OA=iA("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),AA=iA("tag").parts("container","label","closeButton"),TA=iA("card").parts("container","header","body","footer");iA("stepper").parts("stepper","step","title","description","indicator","separator","icon","number");function jA(e){const t=function(e,t="-"){return e.replace(/\s+/g,t)}(e.toString());return t.includes("\\.")?e:function(e){return!Number.isInteger(parseFloat(e.toString()))}(e)?t.replace(".","\\."):e}function CA(e,t){return`var(${jA(e)}${t?`, ${t}`:""})`}function RA(e,t=""){return`--${function(e,t=""){return[t,jA(e)].filter(Boolean).join("-")}(e,t)}`}function IA(e,t){const r=RA(e,null==t?void 0:t.prefix);return{variable:r,reference:CA(r,MA(null==t?void 0:t.fallback))}}function MA(e){return"string"===typeof e?e:null==e?void 0:e.reference}function LA(e){return ie(e)&&e.reference?e.reference:String(e)}var NA=(e,...t)=>t.map(LA).join(` ${e} `).replace(/calc/g,""),DA=(...e)=>`calc(${NA("+",...e)})`,BA=(...e)=>`calc(${NA("-",...e)})`,zA=(...e)=>`calc(${NA("*",...e)})`,UA=(...e)=>`calc(${NA("/",...e)})`,FA=e=>{const t=LA(e);return null==t||Number.isNaN(parseFloat(t))?zA(t,-1):String(t).startsWith("-")?String(t).slice(1):`-${t}`},$A=Object.assign((e=>({add:(...t)=>$A(DA(e,...t)),subtract:(...t)=>$A(BA(e,...t)),multiply:(...t)=>$A(zA(e,...t)),divide:(...t)=>$A(UA(e,...t)),negate:()=>$A(FA(e)),toString:()=>e.toString()})),{add:DA,subtract:BA,multiply:zA,divide:UA,negate:FA}),{defineMultiStyleConfig:HA,definePartsStyle:VA}=Yt(EA.keys),qA=IA("switch-track-width"),KA=IA("switch-track-height"),WA=IA("switch-track-diff"),GA=$A.subtract(qA,KA),YA=IA("switch-thumb-x"),ZA=IA("switch-bg"),XA=e=>{const{colorScheme:t}=e;return{borderRadius:"full",p:"0.5",width:[qA.reference],height:[KA.reference],transitionProperty:"common",transitionDuration:"fast",[ZA.variable]:"colors.gray.300",_dark:{[ZA.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[ZA.variable]:`colors.${t}.500`,_dark:{[ZA.variable]:`colors.${t}.200`}},bg:ZA.reference}},JA={bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[KA.reference],height:[KA.reference],_checked:{transform:`translateX(${YA.reference})`}},QA=HA({baseStyle:VA((e=>({container:{[WA.variable]:GA,[YA.variable]:WA.reference,_rtl:{[YA.variable]:$A(WA).negate().toString()}},track:XA(e),thumb:JA}))),sizes:{sm:VA({container:{[qA.variable]:"1.375rem",[KA.variable]:"sizes.3"}}),md:VA({container:{[qA.variable]:"1.875rem",[KA.variable]:"sizes.4"}}),lg:VA({container:{[qA.variable]:"2.875rem",[KA.variable]:"sizes.6"}})},defaultProps:{size:"md",colorScheme:"blue"}});function eT(e,t){return r=>"dark"===r.colorMode?t:e}function tT(e){const{orientation:t,vertical:r,horizontal:n}=e;return t?"vertical"===t?r:n:{}}var{defineMultiStyleConfig:rT,definePartsStyle:nT}=Yt(PA.keys),iT=nT({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),oT={"&[data-is-numeric=true]":{textAlign:"end"}},aT=nT((e=>{const{colorScheme:t}=e;return{th:{color:eT("gray.600","gray.400")(e),borderBottom:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e),...oT},td:{borderBottom:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e),...oT},caption:{color:eT("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}})),sT=nT((e=>{const{colorScheme:t}=e;return{th:{color:eT("gray.600","gray.400")(e),borderBottom:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e),...oT},td:{borderBottom:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e),...oT},caption:{color:eT("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e)},td:{background:eT(`${t}.100`,`${t}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}})),cT=rT({baseStyle:iT,variants:{simple:aT,striped:sT,unstyled:{}},sizes:{sm:nT({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:nT({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:nT({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}});function lT(e,t,r){return Math.min(Math.max(e,r),t)}class uT extends Error{constructor(e){super(`Failed to parse color: "${e}"`)}}var dT=uT;function hT(e){if("string"!==typeof e)throw new dT(e);if("transparent"===e.trim().toLowerCase())return[0,0,0,0];let t=e.trim();t=wT.test(e)?function(e){const t=e.toLowerCase().trim(),r=pT[function(e){let t=5381,r=e.length;for(;r;)t=33*t^e.charCodeAt(--r);return(t>>>0)%2341}(t)];if(!r)throw new dT(e);return`#${r}`}(e):e;const r=gT.exec(t);if(r){const e=Array.from(r).slice(1);return[...e.slice(0,3).map((e=>parseInt(mT(e,2),16))),parseInt(mT(e[3]||"f",2),16)/255]}const n=vT.exec(t);if(n){const e=Array.from(n).slice(1);return[...e.slice(0,3).map((e=>parseInt(e,16))),parseInt(e[3]||"ff",16)/255]}const i=yT.exec(t);if(i){const e=Array.from(i).slice(1);return[...e.slice(0,3).map((e=>parseInt(e,10))),parseFloat(e[3]||"1")]}const o=bT.exec(t);if(o){const[t,r,n,i]=Array.from(o).slice(1).map(parseFloat);if(lT(0,100,r)!==r)throw new dT(e);if(lT(0,100,n)!==n)throw new dT(e);return[..._T(t,r,n),Number.isNaN(i)?1:i]}throw new dT(e)}const fT=e=>parseInt(e.replace(/_/g,""),36),pT="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce(((e,t)=>{const r=fT(t.substring(0,3)),n=fT(t.substring(3)).toString(16);let i="";for(let o=0;o<6-n.length;o++)i+="0";return e[r]=`${i}${n}`,e}),{});const mT=(e,t)=>Array.from(Array(t)).map((()=>e)).join(""),gT=new RegExp(`^#${mT("([a-f0-9])",3)}([a-f0-9])?$`,"i"),vT=new RegExp(`^#${mT("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),yT=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${mT(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),bT=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,wT=/^[a-z]+$/i,xT=e=>Math.round(255*e),_T=(e,t,r)=>{let n=r/100;if(0===t)return[n,n,n].map(xT);const i=(e%360+360)%360/60,o=(1-Math.abs(2*n-1))*(t/100),a=o*(1-Math.abs(i%2-1));let s=0,c=0,l=0;i>=0&&i<1?(s=o,c=a):i>=1&&i<2?(s=a,c=o):i>=2&&i<3?(c=o,l=a):i>=3&&i<4?(c=a,l=o):i>=4&&i<5?(s=a,l=o):i>=5&&i<6&&(s=o,l=a);const u=n-o/2;return[s+u,c+u,l+u].map(xT)};function ST(e,t,r,n){return`rgba(${lT(0,255,e).toFixed()}, ${lT(0,255,t).toFixed()}, ${lT(0,255,r).toFixed()}, ${parseFloat(lT(0,1,n).toFixed(3))})`}function kT(e,t){const[r,n,i,o]=hT(e);return ST(r,n,i,o-t)}var ET=(e,t,r)=>{const n=function(e,t,r,n,i){for(t=t.split?t.split("."):t,n=0;n{const t=lT(0,255,e).toString(16);return 1===t.length?`0${t}`:t};o(t),o(r),o(n),i<1&&o(Math.round(255*i))}(n),n}catch{return null!=r?r:"#000000"}},PT=e=>t=>{const r=(e=>{const[t,r,n]=hT(e);return(299*t+587*r+114*n)/1e3})(ET(t,e));return r<128?"dark":"light"},OT=(e,t)=>r=>kT(ET(r,e),1-t);function AT(e="1rem",t="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient(\n 45deg,\n ${t} 25%,\n transparent 25%,\n transparent 50%,\n ${t} 50%,\n ${t} 75%,\n transparent 75%,\n transparent\n )`,backgroundSize:`${e} ${e}`}}function TT(e){const t=`#${Math.floor(16777215*Math.random()).toString(16).padEnd(6,"0")}`;return e&&(r=e,0!==Object.keys(r).length)?e.string&&e.colors?function(e,t){let r=0;if(0===e.length)return t[0];for(let n=0;n>8*n&255).toString(16)}`.substr(-2)}return r}(e.string):e.colors&&!e.string?function(e){return e[Math.floor(Math.random()*e.length)]}(e.colors):t:t;var r}var jT=dt("tabs-color"),CT=dt("tabs-bg"),RT=dt("tabs-border-color"),{defineMultiStyleConfig:IT,definePartsStyle:MT}=Yt(OA.keys),LT=e=>{const{orientation:t}=e;return{display:"vertical"===t?"flex":"block"}},NT=e=>{const{isFitted:t}=e;return{flex:t?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}},DT=e=>{const{align:t="start",orientation:r}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[t],flexDirection:"vertical"===r?"column":"row"}},BT={p:4},zT=MT((e=>({root:LT(e),tab:NT(e),tablist:DT(e),tabpanel:BT}))),UT={sm:MT({tab:{py:1,px:4,fontSize:"sm"}}),md:MT({tab:{fontSize:"md",py:2,px:4}}),lg:MT({tab:{fontSize:"lg",py:3,px:4}})},FT=MT((e=>{const{colorScheme:t,orientation:r}=e,n="vertical"===r,i=n?"borderStart":"borderBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[n?"marginStart":"marginBottom"]:"-2px",_selected:{[jT.variable]:`colors.${t}.600`,_dark:{[jT.variable]:`colors.${t}.300`},borderColor:"currentColor"},_active:{[CT.variable]:"colors.gray.200",_dark:{[CT.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:jT.reference,bg:CT.reference}}})),$T=MT((e=>{const{colorScheme:t}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[RT.variable]:"transparent",_selected:{[jT.variable]:`colors.${t}.600`,[RT.variable]:"colors.white",_dark:{[jT.variable]:`colors.${t}.300`,[RT.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:RT.reference},color:jT.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}})),HT=MT((e=>{const{colorScheme:t}=e;return{tab:{border:"1px solid",borderColor:"inherit",[CT.variable]:"colors.gray.50",_dark:{[CT.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[CT.variable]:"colors.white",[jT.variable]:`colors.${t}.600`,_dark:{[CT.variable]:"colors.gray.800",[jT.variable]:`colors.${t}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:jT.reference,bg:CT.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}})),VT=MT((e=>{const{colorScheme:t,theme:r}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:ET(r,`${t}.700`),bg:ET(r,`${t}.100`)}}}})),qT=MT((e=>{const{colorScheme:t}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[jT.variable]:"colors.gray.600",_dark:{[jT.variable]:"inherit"},_selected:{[jT.variable]:"colors.white",[CT.variable]:`colors.${t}.600`,_dark:{[jT.variable]:"colors.gray.800",[CT.variable]:`colors.${t}.300`}},color:jT.reference,bg:CT.reference}}})),KT=IT({baseStyle:zT,sizes:UT,variants:{line:FT,enclosed:$T,"enclosed-colored":HT,"soft-rounded":VT,"solid-rounded":qT,unstyled:MT({})},defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),WT=function(e,t){const r={};for(const n of t)if(Array.isArray(n)){const[t,i]=n;r[t]=dt(`${e}-${t}`,i)}else r[n]=dt(`${e}-${n}`);return r}("badge",["bg","color","shadow"]),GT=e=>{const{colorScheme:t,theme:r}=e,n=OT(`${t}.500`,.6)(r);return{[WT.bg.variable]:`colors.${t}.500`,[WT.color.variable]:"colors.white",_dark:{[WT.bg.variable]:n,[WT.color.variable]:"colors.whiteAlpha.800"}}},YT=e=>{const{colorScheme:t,theme:r}=e,n=OT(`${t}.200`,.16)(r);return{[WT.bg.variable]:`colors.${t}.100`,[WT.color.variable]:`colors.${t}.800`,_dark:{[WT.bg.variable]:n,[WT.color.variable]:`colors.${t}.200`}}},ZT=e=>{const{colorScheme:t,theme:r}=e,n=OT(`${t}.200`,.8)(r);return{[WT.color.variable]:`colors.${t}.500`,_dark:{[WT.color.variable]:n},[WT.shadow.variable]:`inset 0 0 0px 1px ${WT.color.reference}`}},XT={baseStyle:{px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold",bg:WT.bg.reference,color:WT.color.reference,boxShadow:WT.shadow.reference},variants:{solid:GT,subtle:YT,outline:ZT},defaultProps:{variant:"subtle",colorScheme:"gray"}},{defineMultiStyleConfig:JT,definePartsStyle:QT}=Yt(AA.keys),ej=dt("tag-bg"),tj=dt("tag-color"),rj=dt("tag-shadow"),nj=dt("tag-min-height"),ij=dt("tag-min-width"),oj=dt("tag-font-size"),aj=dt("tag-padding-inline"),sj=QT({container:{fontWeight:"medium",lineHeight:1.2,outline:0,[tj.variable]:WT.color.reference,[ej.variable]:WT.bg.reference,[rj.variable]:WT.shadow.reference,color:tj.reference,bg:ej.reference,boxShadow:rj.reference,borderRadius:"md",minH:nj.reference,minW:ij.reference,fontSize:oj.reference,px:aj.reference,_focusVisible:{[rj.variable]:"shadows.outline"}},label:{lineHeight:1.2,overflow:"visible"},closeButton:{fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}}}),cj={sm:QT({container:{[nj.variable]:"sizes.5",[ij.variable]:"sizes.5",[oj.variable]:"fontSizes.xs",[aj.variable]:"space.2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:QT({container:{[nj.variable]:"sizes.6",[ij.variable]:"sizes.6",[oj.variable]:"fontSizes.sm",[aj.variable]:"space.2"}}),lg:QT({container:{[nj.variable]:"sizes.8",[ij.variable]:"sizes.8",[oj.variable]:"fontSizes.md",[aj.variable]:"space.3"}})},lj={subtle:QT((e=>{var t;return{container:null==(t=XT.variants)?void 0:t.subtle(e)}})),solid:QT((e=>{var t;return{container:null==(t=XT.variants)?void 0:t.solid(e)}})),outline:QT((e=>{var t;return{container:null==(t=XT.variants)?void 0:t.outline(e)}}))},uj=JT({variants:lj,baseStyle:sj,sizes:cj,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:dj,defineMultiStyleConfig:hj}=Yt(pA.keys),fj=dt("input-height"),pj=dt("input-font-size"),mj=dt("input-padding"),gj=dt("input-border-radius"),vj=dj({addon:{height:fj.reference,fontSize:pj.reference,px:mj.reference,borderRadius:gj.reference},field:{width:"100%",height:fj.reference,fontSize:pj.reference,px:mj.reference,borderRadius:gj.reference,minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),yj={lg:{[pj.variable]:"fontSizes.lg",[mj.variable]:"space.4",[gj.variable]:"radii.md",[fj.variable]:"sizes.12"},md:{[pj.variable]:"fontSizes.md",[mj.variable]:"space.4",[gj.variable]:"radii.md",[fj.variable]:"sizes.10"},sm:{[pj.variable]:"fontSizes.sm",[mj.variable]:"space.3",[gj.variable]:"radii.sm",[fj.variable]:"sizes.8"},xs:{[pj.variable]:"fontSizes.xs",[mj.variable]:"space.2",[gj.variable]:"radii.sm",[fj.variable]:"sizes.6"}},bj={lg:dj({field:yj.lg,group:yj.lg}),md:dj({field:yj.md,group:yj.md}),sm:dj({field:yj.sm,group:yj.sm}),xs:dj({field:yj.xs,group:yj.xs})};function wj(e){const{focusBorderColor:t,errorBorderColor:r}=e;return{focusBorderColor:t||eT("blue.500","blue.300")(e),errorBorderColor:r||eT("red.500","red.300")(e)}}var xj,_j,Sj,kj,Ej,Pj,Oj,Aj,Tj,jj,Cj,Rj=dj((e=>{const{theme:t}=e,{focusBorderColor:r,errorBorderColor:n}=wj(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:eT("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:ET(t,n),boxShadow:`0 0 0 1px ${ET(t,n)}`},_focusVisible:{zIndex:1,borderColor:ET(t,r),boxShadow:`0 0 0 1px ${ET(t,r)}`}},addon:{border:"1px solid",borderColor:eT("inherit","whiteAlpha.50")(e),bg:eT("gray.100","whiteAlpha.300")(e)}}})),Ij=dj((e=>{const{theme:t}=e,{focusBorderColor:r,errorBorderColor:n}=wj(e);return{field:{border:"2px solid",borderColor:"transparent",bg:eT("gray.100","whiteAlpha.50")(e),_hover:{bg:eT("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:ET(t,n)},_focusVisible:{bg:"transparent",borderColor:ET(t,r)}},addon:{border:"2px solid",borderColor:"transparent",bg:eT("gray.100","whiteAlpha.50")(e)}}})),Mj=dj((e=>{const{theme:t}=e,{focusBorderColor:r,errorBorderColor:n}=wj(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:ET(t,n),boxShadow:`0px 1px 0px 0px ${ET(t,n)}`},_focusVisible:{borderColor:ET(t,r),boxShadow:`0px 1px 0px 0px ${ET(t,r)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}})),Lj=hj({baseStyle:vj,sizes:bj,variants:{outline:Rj,filled:Ij,flushed:Mj,unstyled:dj({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}})},defaultProps:{size:"md",variant:"outline"}}),Nj={...null==(xj=Lj.baseStyle)?void 0:xj.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"},Dj={outline:e=>{var t,r;return null!=(r=null==(t=Lj.variants)?void 0:t.outline(e).field)?r:{}},flushed:e=>{var t,r;return null!=(r=null==(t=Lj.variants)?void 0:t.flushed(e).field)?r:{}},filled:e=>{var t,r;return null!=(r=null==(t=Lj.variants)?void 0:t.filled(e).field)?r:{}},unstyled:null!=(Sj=null==(_j=Lj.variants)?void 0:_j.unstyled.field)?Sj:{}},Bj={baseStyle:Nj,sizes:{xs:null!=(Ej=null==(kj=Lj.sizes)?void 0:kj.xs.field)?Ej:{},sm:null!=(Oj=null==(Pj=Lj.sizes)?void 0:Pj.sm.field)?Oj:{},md:null!=(Tj=null==(Aj=Lj.sizes)?void 0:Aj.md.field)?Tj:{},lg:null!=(Cj=null==(jj=Lj.sizes)?void 0:jj.lg.field)?Cj:{}},variants:Dj,defaultProps:{size:"md",variant:"outline"}},zj=IA("tooltip-bg"),Uj=IA("tooltip-fg"),Fj=IA("popper-arrow-bg"),$j={baseStyle:{bg:zj.reference,color:Uj.reference,[zj.variable]:"colors.gray.700",[Uj.variable]:"colors.whiteAlpha.900",_dark:{[zj.variable]:"colors.gray.300",[Uj.variable]:"colors.gray.900"},[Fj.variable]:zj.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"}},{defineMultiStyleConfig:Hj,definePartsStyle:Vj}=Yt(wA.keys),qj=e=>{const{colorScheme:t,theme:r,isIndeterminate:n,hasStripe:i}=e,o=eT(AT(),AT("1rem","rgba(0,0,0,0.1)"))(e),a=eT(`${t}.500`,`${t}.200`)(e),s=`linear-gradient(\n to right,\n transparent 0%,\n ${ET(r,a)} 50%,\n transparent 100%\n )`;return{...!n&&i&&o,...n?{bgImage:s}:{bgColor:a}}},Kj={lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"},Wj=e=>({bg:eT("gray.100","whiteAlpha.300")(e)}),Gj=e=>({transitionProperty:"common",transitionDuration:"slow",...qj(e)}),Yj=Vj((e=>({label:Kj,filledTrack:Gj(e),track:Wj(e)}))),Zj=Hj({sizes:{xs:Vj({track:{h:"1"}}),sm:Vj({track:{h:"2"}}),md:Vj({track:{h:"3"}}),lg:Vj({track:{h:"4"}})},baseStyle:Yj,defaultProps:{size:"md",colorScheme:"blue"}});function Xj(e,...t){return(e=>"function"===typeof e)(e)?e(...t):e}var Jj,Qj,eC,tC,rC,nC,iC,oC,aC,{definePartsStyle:sC,defineMultiStyleConfig:cC}=Yt(lA.keys),lC=dt("checkbox-size"),uC=e=>{const{colorScheme:t}=e;return{w:lC.reference,h:lC.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:eT(`${t}.500`,`${t}.200`)(e),borderColor:eT(`${t}.500`,`${t}.200`)(e),color:eT("white","gray.900")(e),_hover:{bg:eT(`${t}.600`,`${t}.300`)(e),borderColor:eT(`${t}.600`,`${t}.300`)(e)},_disabled:{borderColor:eT("gray.200","transparent")(e),bg:eT("gray.200","whiteAlpha.300")(e),color:eT("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:eT(`${t}.500`,`${t}.200`)(e),borderColor:eT(`${t}.500`,`${t}.200`)(e),color:eT("white","gray.900")(e)},_disabled:{bg:eT("gray.100","whiteAlpha.100")(e),borderColor:eT("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:eT("red.500","red.300")(e)}}},dC={_disabled:{cursor:"not-allowed"}},hC={userSelect:"none",_disabled:{opacity:.4}},fC={transitionProperty:"transform",transitionDuration:"normal"},pC=cC({baseStyle:sC((e=>({icon:fC,container:dC,control:Xj(uC,e),label:hC}))),sizes:{sm:sC({control:{[lC.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:sC({control:{[lC.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:sC({control:{[lC.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:mC,definePartsStyle:gC}=Yt(xA.keys),vC=e=>{var t;const r=null==(t=Xj(pC.baseStyle,e))?void 0:t.control;return{...r,borderRadius:"full",_checked:{...null==r?void 0:r._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}},yC=gC((e=>{var t,r,n,i;return{label:null==(r=(t=pC).baseStyle)?void 0:r.call(t,e).label,container:null==(i=(n=pC).baseStyle)?void 0:i.call(n,e).container,control:vC(e)}})),bC=mC({baseStyle:yC,sizes:{md:gC({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:gC({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:gC({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:wC,definePartsStyle:xC}=Yt(_A.keys),_C=dt("select-bg"),SC={paddingInlineEnd:"8"},kC=wC({baseStyle:xC({field:{...null==(Jj=Lj.baseStyle)?void 0:Jj.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:_C.reference,[_C.variable]:"colors.white",_dark:{[_C.variable]:"colors.gray.700"},"> option, > optgroup":{bg:_C.reference}},icon:{width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}}}),sizes:{lg:{...null==(Qj=Lj.sizes)?void 0:Qj.lg,field:{...null==(eC=Lj.sizes)?void 0:eC.lg.field,...SC}},md:{...null==(tC=Lj.sizes)?void 0:tC.md,field:{...null==(rC=Lj.sizes)?void 0:rC.md.field,...SC}},sm:{...null==(nC=Lj.sizes)?void 0:nC.sm,field:{...null==(iC=Lj.sizes)?void 0:iC.sm.field,...SC}},xs:{...null==(oC=Lj.sizes)?void 0:oC.xs,field:{...null==(aC=Lj.sizes)?void 0:aC.xs.field,...SC},icon:{insetEnd:"1"}}},variants:Lj.variants,defaultProps:Lj.defaultProps}),EC=dt("skeleton-start-color"),PC=dt("skeleton-end-color"),OC={baseStyle:{[EC.variable]:"colors.gray.100",[PC.variable]:"colors.gray.400",_dark:{[EC.variable]:"colors.gray.800",[PC.variable]:"colors.gray.600"},background:EC.reference,borderColor:PC.reference,opacity:.7,borderRadius:"sm"}},AC=dt("skip-link-bg"),TC={baseStyle:{borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[AC.variable]:"colors.white",_dark:{[AC.variable]:"colors.gray.700"},bg:AC.reference}}},{defineMultiStyleConfig:jC,definePartsStyle:CC}=Yt(SA.keys),RC=dt("slider-thumb-size"),IC=dt("slider-track-size"),MC=dt("slider-bg"),LC=e=>{const{orientation:t}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...tT({orientation:t,vertical:{h:"100%"},horizontal:{w:"100%"}})}},NC=e=>({...tT({orientation:e.orientation,horizontal:{h:IC.reference},vertical:{w:IC.reference}}),overflow:"hidden",borderRadius:"sm",[MC.variable]:"colors.gray.200",_dark:{[MC.variable]:"colors.whiteAlpha.200"},_disabled:{[MC.variable]:"colors.gray.300",_dark:{[MC.variable]:"colors.whiteAlpha.300"}},bg:MC.reference}),DC=e=>{const{orientation:t}=e;return{...tT({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:RC.reference,h:RC.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}},BC=e=>{const{colorScheme:t}=e;return{width:"inherit",height:"inherit",[MC.variable]:`colors.${t}.500`,_dark:{[MC.variable]:`colors.${t}.200`},bg:MC.reference}},zC=jC({baseStyle:CC((e=>({container:LC(e),track:NC(e),thumb:DC(e),filledTrack:BC(e)}))),sizes:{lg:CC({container:{[RC.variable]:"sizes.4",[IC.variable]:"sizes.1"}}),md:CC({container:{[RC.variable]:"sizes.3.5",[IC.variable]:"sizes.1"}}),sm:CC({container:{[RC.variable]:"sizes.2.5",[IC.variable]:"sizes.0.5"}})},defaultProps:{size:"md",colorScheme:"blue"}}),UC=IA("spinner-size"),FC={baseStyle:{width:[UC.reference],height:[UC.reference]},sizes:{xs:{[UC.variable]:"sizes.3"},sm:{[UC.variable]:"sizes.4"},md:{[UC.variable]:"sizes.6"},lg:{[UC.variable]:"sizes.8"},xl:{[UC.variable]:"sizes.12"}},defaultProps:{size:"md"}},{defineMultiStyleConfig:$C,definePartsStyle:HC}=Yt(kA.keys),VC=$C({baseStyle:HC({container:{},label:{fontWeight:"medium"},helpText:{opacity:.8,marginBottom:"2"},number:{verticalAlign:"baseline",fontWeight:"semibold"},icon:{marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"}}),sizes:{md:HC({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},defaultProps:{size:"md"}}),qC=dt("kbd-bg"),KC={baseStyle:{[qC.variable]:"colors.gray.100",_dark:{[qC.variable]:"colors.whiteAlpha.100"},bg:qC.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}},WC={baseStyle:{transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}}},{defineMultiStyleConfig:GC,definePartsStyle:YC}=Yt(mA.keys),ZC=GC({baseStyle:YC({icon:{marginEnd:"2",display:"inline",verticalAlign:"text-bottom"}})}),{defineMultiStyleConfig:XC,definePartsStyle:JC}=Yt(gA.keys),QC=dt("menu-bg"),eR=dt("menu-shadow"),tR=XC({baseStyle:JC({button:{transitionProperty:"common",transitionDuration:"normal"},list:{[QC.variable]:"#fff",[eR.variable]:"shadows.sm",_dark:{[QC.variable]:"colors.gray.700",[eR.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:QC.reference,boxShadow:eR.reference},item:{py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[QC.variable]:"colors.gray.100",_dark:{[QC.variable]:"colors.whiteAlpha.100"}},_active:{[QC.variable]:"colors.gray.200",_dark:{[QC.variable]:"colors.whiteAlpha.200"}},_expanded:{[QC.variable]:"colors.gray.100",_dark:{[QC.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:QC.reference},groupTitle:{mx:4,my:2,fontWeight:"semibold",fontSize:"sm"},icon:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},command:{opacity:.6},divider:{border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6}})}),{defineMultiStyleConfig:rR,definePartsStyle:nR}=Yt(vA.keys),iR=dt("modal-bg"),oR=dt("modal-shadow"),aR={bg:"blackAlpha.600",zIndex:"modal"},sR=e=>{const{isCentered:t,scrollBehavior:r}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:t?"center":"flex-start",overflow:"inside"===r?"hidden":"auto",overscrollBehaviorY:"none"}},cR=e=>{const{isCentered:t,scrollBehavior:r}=e;return{borderRadius:"md",color:"inherit",my:t?"auto":"16",mx:t?"auto":void 0,zIndex:"modal",maxH:"inside"===r?"calc(100% - 7.5rem)":void 0,[iR.variable]:"colors.white",[oR.variable]:"shadows.lg",_dark:{[iR.variable]:"colors.gray.700",[oR.variable]:"shadows.dark-lg"},bg:iR.reference,boxShadow:oR.reference}},lR={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},uR={position:"absolute",top:"2",insetEnd:"3"},dR=e=>{const{scrollBehavior:t}=e;return{px:"6",py:"2",flex:"1",overflow:"inside"===t?"auto":void 0}},hR={px:"6",py:"4"};function fR(e){return nR("full"===e?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var pR=rR({baseStyle:nR((e=>({overlay:aR,dialogContainer:Xj(sR,e),dialog:Xj(cR,e),header:lR,closeButton:uR,body:Xj(dR,e),footer:hR}))),sizes:{xs:fR("xs"),sm:fR("sm"),md:fR("md"),lg:fR("lg"),xl:fR("xl"),"2xl":fR("2xl"),"3xl":fR("3xl"),"4xl":fR("4xl"),"5xl":fR("5xl"),"6xl":fR("6xl"),full:fR("full")},defaultProps:{size:"md"}}),{defineMultiStyleConfig:mR,definePartsStyle:gR}=Yt(yA.keys),vR=IA("number-input-stepper-width"),yR=IA("number-input-input-padding"),bR=$A(vR).add("0.5rem").toString(),wR=IA("number-input-bg"),xR=IA("number-input-color"),_R=IA("number-input-border-color"),SR={[vR.variable]:"sizes.6",[yR.variable]:bR},kR=e=>{var t,r;return null!=(r=null==(t=Xj(Lj.baseStyle,e))?void 0:t.field)?r:{}},ER={width:vR.reference},PR={borderStart:"1px solid",borderStartColor:_R.reference,color:xR.reference,bg:wR.reference,[xR.variable]:"colors.chakra-body-text",[_R.variable]:"colors.chakra-border-color",_dark:{[xR.variable]:"colors.whiteAlpha.800",[_R.variable]:"colors.whiteAlpha.300"},_active:{[wR.variable]:"colors.gray.200",_dark:{[wR.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}},OR=gR((e=>{var t;return{root:SR,field:null!=(t=Xj(kR,e))?t:{},stepperGroup:ER,stepper:PR}}));function AR(e){var t,r,n;const i=null==(t=Lj.sizes)?void 0:t[e],o={lg:"md",md:"md",sm:"sm",xs:"sm"},a=null!=(n=null==(r=i.field)?void 0:r.fontSize)?n:"md",s=qO.fontSizes[a];return gR({field:{...i.field,paddingInlineEnd:yR.reference,verticalAlign:"top"},stepper:{fontSize:$A(s).multiply(.75).toString(),_first:{borderTopEndRadius:o[e]},_last:{borderBottomEndRadius:o[e],mt:"-1px",borderTopWidth:1}}})}var TR,jR,CR,RR=mR({baseStyle:OR,sizes:{xs:AR("xs"),sm:AR("sm"),md:AR("md"),lg:AR("lg")},variants:Lj.variants,defaultProps:Lj.defaultProps}),IR={...null==(TR=Lj.baseStyle)?void 0:TR.field,textAlign:"center"},MR={lg:{fontSize:"lg",w:12,h:12,borderRadius:"md"},md:{fontSize:"md",w:10,h:10,borderRadius:"md"},sm:{fontSize:"sm",w:8,h:8,borderRadius:"sm"},xs:{fontSize:"xs",w:6,h:6,borderRadius:"sm"}},LR={outline:e=>{var t,r,n;return null!=(n=null==(r=Xj(null==(t=Lj.variants)?void 0:t.outline,e))?void 0:r.field)?n:{}},flushed:e=>{var t,r,n;return null!=(n=null==(r=Xj(null==(t=Lj.variants)?void 0:t.flushed,e))?void 0:r.field)?n:{}},filled:e=>{var t,r,n;return null!=(n=null==(r=Xj(null==(t=Lj.variants)?void 0:t.filled,e))?void 0:r.field)?n:{}},unstyled:null!=(CR=null==(jR=Lj.variants)?void 0:jR.unstyled.field)?CR:{}},NR={baseStyle:IR,sizes:MR,variants:LR,defaultProps:Lj.defaultProps},{defineMultiStyleConfig:DR,definePartsStyle:BR}=Yt(bA.keys),zR=IA("popper-bg"),UR=IA("popper-arrow-bg"),FR=IA("popper-arrow-shadow-color"),$R=DR({baseStyle:BR({popper:{zIndex:10},content:{[zR.variable]:"colors.white",bg:zR.reference,[UR.variable]:zR.reference,[FR.variable]:"colors.gray.200",_dark:{[zR.variable]:"colors.gray.700",[FR.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}},header:{px:3,py:2,borderBottomWidth:"1px"},body:{px:3,py:2},footer:{px:3,py:2,borderTopWidth:"1px"},closeButton:{position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2}})}),{definePartsStyle:HR,defineMultiStyleConfig:VR}=Yt(uA.keys),qR=dt("drawer-bg"),KR=dt("drawer-box-shadow");function WR(e){return HR("full"===e?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var GR={bg:"blackAlpha.600",zIndex:"modal"},YR={display:"flex",zIndex:"modal",justifyContent:"center"},ZR=e=>{const{isFullHeight:t}=e;return{...t&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[qR.variable]:"colors.white",[KR.variable]:"shadows.lg",_dark:{[qR.variable]:"colors.gray.700",[KR.variable]:"shadows.dark-lg"},bg:qR.reference,boxShadow:KR.reference}},XR={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},JR={position:"absolute",top:"2",insetEnd:"3"},QR={px:"6",py:"2",flex:"1",overflow:"auto"},eI={px:"6",py:"4"},tI=VR({baseStyle:HR((e=>({overlay:GR,dialogContainer:YR,dialog:Xj(ZR,e),header:XR,closeButton:JR,body:QR,footer:eI}))),sizes:{xs:WR("xs"),sm:WR("md"),md:WR("lg"),lg:WR("2xl"),xl:WR("4xl"),full:WR("full")},defaultProps:{size:"xs"}}),{definePartsStyle:rI,defineMultiStyleConfig:nI}=Yt(dA.keys),iI=nI({baseStyle:rI({preview:{borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"},input:{borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},textarea:{borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}})}),{definePartsStyle:oI,defineMultiStyleConfig:aI}=Yt(hA.keys),sI=dt("form-control-color"),cI=aI({baseStyle:oI({container:{width:"100%",position:"relative"},requiredIndicator:{marginStart:"1",[sI.variable]:"colors.red.500",_dark:{[sI.variable]:"colors.red.300"},color:sI.reference},helperText:{mt:"2",[sI.variable]:"colors.gray.600",_dark:{[sI.variable]:"colors.whiteAlpha.600"},color:sI.reference,lineHeight:"normal",fontSize:"sm"}})}),{definePartsStyle:lI,defineMultiStyleConfig:uI}=Yt(fA.keys),dI=dt("form-error-color"),hI=uI({baseStyle:lI({text:{[dI.variable]:"colors.red.500",_dark:{[dI.variable]:"colors.red.300"},color:dI.reference,mt:"2",fontSize:"sm",lineHeight:"normal"},icon:{marginEnd:"0.5em",[dI.variable]:"colors.red.500",_dark:{[dI.variable]:"colors.red.300"},color:dI.reference}})}),fI={baseStyle:{fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}}},pI={baseStyle:{fontFamily:"heading",fontWeight:"bold"},sizes:{"4xl":{fontSize:["6xl",null,"7xl"],lineHeight:1},"3xl":{fontSize:["5xl",null,"6xl"],lineHeight:1},"2xl":{fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]},xl:{fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]},lg:{fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]},md:{fontSize:"xl",lineHeight:1.2},sm:{fontSize:"md",lineHeight:1.2},xs:{fontSize:"sm",lineHeight:1.2}},defaultProps:{size:"xl"}},{defineMultiStyleConfig:mI,definePartsStyle:gI}=Yt(cA.keys),vI=dt("breadcrumb-link-decor"),yI=mI({baseStyle:gI({link:{transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",outline:"none",color:"inherit",textDecoration:vI.reference,[vI.variable]:"none","&:not([aria-current=page])":{cursor:"pointer",_hover:{[vI.variable]:"underline"},_focusVisible:{boxShadow:"outline"}}}})}),bI=e=>{const{colorScheme:t,theme:r}=e;if("gray"===t)return{color:eT("gray.800","whiteAlpha.900")(e),_hover:{bg:eT("gray.100","whiteAlpha.200")(e)},_active:{bg:eT("gray.200","whiteAlpha.300")(e)}};const n=OT(`${t}.200`,.12)(r),i=OT(`${t}.200`,.24)(r);return{color:eT(`${t}.600`,`${t}.200`)(e),bg:"transparent",_hover:{bg:eT(`${t}.50`,n)(e)},_active:{bg:eT(`${t}.100`,i)(e)}}},wI=e=>{const{colorScheme:t}=e,r=eT("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:"gray"===t?r:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...Xj(bI,e)}},xI={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},_I=e=>{var t;const{colorScheme:r}=e;if("gray"===r){const t=eT("gray.100","whiteAlpha.200")(e);return{bg:t,color:eT("gray.800","whiteAlpha.900")(e),_hover:{bg:eT("gray.200","whiteAlpha.300")(e),_disabled:{bg:t}},_active:{bg:eT("gray.300","whiteAlpha.400")(e)}}}const{bg:n=`${r}.500`,color:i="white",hoverBg:o=`${r}.600`,activeBg:a=`${r}.700`}=null!=(t=xI[r])?t:{},s=eT(n,`${r}.200`)(e);return{bg:s,color:eT(i,"gray.800")(e),_hover:{bg:eT(o,`${r}.300`)(e),_disabled:{bg:s}},_active:{bg:eT(a,`${r}.400`)(e)}}},SI=e=>{const{colorScheme:t}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:eT(`${t}.500`,`${t}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:eT(`${t}.700`,`${t}.500`)(e)}}},kI={baseStyle:{lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}},variants:{ghost:bI,outline:wI,solid:_I,link:SI,unstyled:{bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"}},sizes:{lg:{h:"12",minW:"12",fontSize:"lg",px:"6"},md:{h:"10",minW:"10",fontSize:"md",px:"4"},sm:{h:"8",minW:"8",fontSize:"sm",px:"3"},xs:{h:"6",minW:"6",fontSize:"xs",px:"2"}},defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}},{definePartsStyle:EI,defineMultiStyleConfig:PI}=Yt(TA.keys),OI=dt("card-bg"),AI=dt("card-padding"),TI=dt("card-shadow"),jI=dt("card-radius"),CI=dt("card-border-width","0"),RI=dt("card-border-color"),II=EI({container:{[OI.variable]:"colors.chakra-body-bg",backgroundColor:OI.reference,boxShadow:TI.reference,borderRadius:jI.reference,color:"chakra-body-text",borderWidth:CI.reference,borderColor:RI.reference},body:{padding:AI.reference,flex:"1 1 0%"},header:{padding:AI.reference},footer:{padding:AI.reference}}),MI={sm:EI({container:{[jI.variable]:"radii.base",[AI.variable]:"space.3"}}),md:EI({container:{[jI.variable]:"radii.md",[AI.variable]:"space.5"}}),lg:EI({container:{[jI.variable]:"radii.xl",[AI.variable]:"space.7"}})},LI=PI({baseStyle:II,variants:{elevated:EI({container:{[TI.variable]:"shadows.base",_dark:{[OI.variable]:"colors.gray.700"}}}),outline:EI({container:{[CI.variable]:"1px",[RI.variable]:"colors.chakra-border-color"}}),filled:EI({container:{[OI.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[AI.variable]:0},header:{[AI.variable]:0},footer:{[AI.variable]:0}}},sizes:MI,defaultProps:{variant:"elevated",size:"md"}}),NI=IA("close-button-size"),DI=IA("close-button-bg"),BI={baseStyle:{w:[NI.reference],h:[NI.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[DI.variable]:"colors.blackAlpha.100",_dark:{[DI.variable]:"colors.whiteAlpha.100"}},_active:{[DI.variable]:"colors.blackAlpha.200",_dark:{[DI.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:DI.reference},sizes:{lg:{[NI.variable]:"sizes.10",fontSize:"md"},md:{[NI.variable]:"sizes.8",fontSize:"xs"},sm:{[NI.variable]:"sizes.6",fontSize:"2xs"}},defaultProps:{size:"md"}},{variants:zI,defaultProps:UI}=XT,FI={baseStyle:{fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm",bg:WT.bg.reference,color:WT.color.reference,boxShadow:WT.shadow.reference},variants:zI,defaultProps:UI},$I={baseStyle:{w:"100%",mx:"auto",maxW:"prose",px:"4"}},HI={baseStyle:{opacity:.6,borderColor:"inherit"},variants:{solid:{borderStyle:"solid"},dashed:{borderStyle:"dashed"}},defaultProps:{variant:"solid"}},{definePartsStyle:VI,defineMultiStyleConfig:qI}=Yt(oA.keys),KI=qI({baseStyle:VI({container:{borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}},button:{transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"},panel:{pt:"2",px:"4",pb:"5"},icon:{fontSize:"1.25em"}})}),{definePartsStyle:WI,defineMultiStyleConfig:GI}=Yt(aA.keys),YI=dt("alert-fg"),ZI=dt("alert-bg"),XI=WI({container:{bg:ZI.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:YI.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:YI.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function JI(e){const{theme:t,colorScheme:r}=e;return{light:`colors.${r}.100`,dark:OT(`${r}.200`,.16)(t)}}var QI=WI((e=>{const{colorScheme:t}=e,r=JI(e);return{container:{[YI.variable]:`colors.${t}.600`,[ZI.variable]:r.light,_dark:{[YI.variable]:`colors.${t}.200`,[ZI.variable]:r.dark}}}})),eM=WI((e=>{const{colorScheme:t}=e,r=JI(e);return{container:{[YI.variable]:`colors.${t}.600`,[ZI.variable]:r.light,_dark:{[YI.variable]:`colors.${t}.200`,[ZI.variable]:r.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:YI.reference}}})),tM=WI((e=>{const{colorScheme:t}=e,r=JI(e);return{container:{[YI.variable]:`colors.${t}.600`,[ZI.variable]:r.light,_dark:{[YI.variable]:`colors.${t}.200`,[ZI.variable]:r.dark},pt:"2",borderTopWidth:"4px",borderTopColor:YI.reference}}})),rM=WI((e=>{const{colorScheme:t}=e;return{container:{[YI.variable]:"colors.white",[ZI.variable]:`colors.${t}.600`,_dark:{[YI.variable]:"colors.gray.900",[ZI.variable]:`colors.${t}.200`},color:YI.reference}}})),nM=GI({baseStyle:XI,variants:{subtle:QI,"left-accent":eM,"top-accent":tM,solid:rM},defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:iM,defineMultiStyleConfig:oM}=Yt(sA.keys),aM=dt("avatar-border-color"),sM=dt("avatar-bg"),cM=dt("avatar-font-size"),lM=dt("avatar-size"),uM={borderRadius:"full",border:"0.2em solid",borderColor:aM.reference,[aM.variable]:"white",_dark:{[aM.variable]:"colors.gray.800"}},dM={bg:sM.reference,fontSize:cM.reference,width:lM.reference,height:lM.reference,lineHeight:"1",[sM.variable]:"colors.gray.200",_dark:{[sM.variable]:"colors.whiteAlpha.400"}},hM=e=>{const{name:t,theme:r}=e,n=t?TT({string:t}):"colors.gray.400",i=(e=>t=>"dark"===PT(e)(t))(n)(r);let o="white";return i||(o="gray.800"),{bg:sM.reference,fontSize:cM.reference,color:o,borderColor:aM.reference,verticalAlign:"top",width:lM.reference,height:lM.reference,"&:not([data-loaded])":{[sM.variable]:n},[aM.variable]:"colors.white",_dark:{[aM.variable]:"colors.gray.800"}}},fM={fontSize:cM.reference,lineHeight:"1"};function pM(e){const t="100%"!==e?WO[e]:void 0;return iM({container:{[lM.variable]:null!=t?t:e,[cM.variable]:`calc(${null!=t?t:e} / 2.5)`},excessLabel:{[lM.variable]:null!=t?t:e,[cM.variable]:`calc(${null!=t?t:e} / 2.5)`}})}var mM={Accordion:KI,Alert:nM,Avatar:oM({baseStyle:iM((e=>({badge:Xj(uM,e),excessLabel:Xj(dM,e),container:Xj(hM,e),label:fM}))),sizes:{"2xs":pM(4),xs:pM(6),sm:pM(8),md:pM(12),lg:pM(16),xl:pM(24),"2xl":pM(32),full:pM("100%")},defaultProps:{size:"md"}}),Badge:XT,Breadcrumb:yI,Button:kI,Checkbox:pC,CloseButton:BI,Code:FI,Container:$I,Divider:HI,Drawer:tI,Editable:iI,Form:cI,FormError:hI,FormLabel:fI,Heading:pI,Input:Lj,Kbd:KC,Link:WC,List:ZC,Menu:tR,Modal:pR,NumberInput:RR,PinInput:NR,Popover:$R,Progress:Zj,Radio:bC,Select:kC,Skeleton:OC,SkipLink:TC,Slider:zC,Spinner:FC,Stat:VC,Switch:QA,Table:cT,Tabs:KT,Tag:uj,Textarea:Bj,Tooltip:$j,Card:LI,Stepper:nA},gM={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-inverse-text":{_light:"white",_dark:"gray.800"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-subtle-text":{_light:"gray.600",_dark:"gray.400"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},vM={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color"}}},yM={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},bM={semanticTokens:gM,direction:"ltr",...GO,components:mM,styles:vM,config:yM},wM={semanticTokens:gM,direction:"ltr",components:{},...GO,styles:vM,config:yM},xM=(e,t)=>e.find((e=>e.id===t));function _M(e,t){const r=SM(e,t);return{position:r,index:r?e[r].findIndex((e=>e.id===t)):-1}}function SM(e,t){for(const[r,n]of Object.entries(e))if(xM(n,t))return r}function kM(e){return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:"top"===e||"bottom"===e?"0 auto":void 0,top:e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,bottom:e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,right:e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",left:e.includes("right")?void 0:"env(safe-area-inset-left, 0px)"}}function EM(e,r=[]){const n=(0,t.useRef)(e);return(0,t.useEffect)((()=>{n.current=e})),(0,t.useCallback)(((...e)=>{var t;return null==(t=n.current)?void 0:t.call(n,...e)}),r)}function PM(e,r){const n=(0,t.useRef)(!1),i=(0,t.useRef)(!1);(0,t.useEffect)((()=>{if(n.current&&i.current)return e();i.current=!0}),r),(0,t.useEffect)((()=>(n.current=!0,()=>{n.current=!1})),[])}const OM=(0,t.createContext)(null);function AM(){const e=(0,t.useContext)(OM);if(null===e)return[!0,null];const{isPresent:r,onExitComplete:n,register:i}=e,o=(0,t.useId)();(0,t.useEffect)((()=>i(o)),[]);return!r&&n?[!1,()=>n&&n(o)]:[!0]}function TM(){return function(e){return null===e||e.isPresent}((0,t.useContext)(OM))}const jM=(0,t.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),CM=(0,t.createContext)({}),RM="undefined"!==typeof document,IM=RM?t.useLayoutEffect:t.useEffect,MM=(0,t.createContext)({strict:!1});function LM(e){return"object"===typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}function NM(e){return"string"===typeof e||Array.isArray(e)}function DM(e){return"object"===typeof e&&"function"===typeof e.start}const BM=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],zM=["initial",...BM];function UM(e){return DM(e.animate)||zM.some((t=>NM(e[t])))}function FM(e){return Boolean(UM(e)||e.variants)}function $M(e){const{initial:r,animate:n}=function(e,t){if(UM(e)){const{initial:t,animate:r}=e;return{initial:!1===t||NM(t)?t:void 0,animate:NM(r)?r:void 0}}return!1!==e.inherit?t:{}}(e,(0,t.useContext)(CM));return(0,t.useMemo)((()=>({initial:r,animate:n})),[HM(r),HM(n)])}function HM(e){return Array.isArray(e)?e.join(" "):e}const VM={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},qM={};for(const r in VM)qM[r]={isEnabled:e=>VM[r].some((t=>!!e[t]))};const KM=(0,t.createContext)({}),WM=(0,t.createContext)({}),GM=Symbol.for("motionComponentSymbol");function YM({preloadedFeatures:e,createVisualElement:r,useRender:n,useVisualState:i,Component:o}){e&&function(e){for(const t in e)qM[t]={...qM[t],...e[t]}}(e);const a=(0,t.forwardRef)((function(a,s){let c;const l={...(0,t.useContext)(jM),...a,layoutId:ZM(a)},{isStatic:u}=l,d=$M(a),h=i(a,u);if(!u&&RM){d.visualElement=function(e,r,n,i){const{visualElement:o}=(0,t.useContext)(CM),a=(0,t.useContext)(MM),s=(0,t.useContext)(OM),c=(0,t.useContext)(jM).reducedMotion,l=(0,t.useRef)();i=i||a.renderer,!l.current&&i&&(l.current=i(e,{visualState:r,parent:o,props:n,presenceContext:s,blockInitialAnimation:!!s&&!1===s.initial,reducedMotionConfig:c}));const u=l.current;(0,t.useInsertionEffect)((()=>{u&&u.update(n,s)}));const d=(0,t.useRef)(Boolean(window.HandoffAppearAnimations));return IM((()=>{u&&(u.render(),d.current&&u.animationState&&u.animationState.animateChanges())})),(0,t.useEffect)((()=>{u&&(u.updateFeatures(),!d.current&&u.animationState&&u.animationState.animateChanges(),window.HandoffAppearAnimations=void 0,d.current=!1)})),u}(o,h,l,r);const n=(0,t.useContext)(WM),i=(0,t.useContext)(MM).strict;d.visualElement&&(c=d.visualElement.loadFeatures(l,i,e,n))}return t.createElement(CM.Provider,{value:d},c&&d.visualElement?t.createElement(c,{visualElement:d.visualElement,...l}):null,n(o,a,function(e,r,n){return(0,t.useCallback)((t=>{t&&e.mount&&e.mount(t),r&&(t?r.mount(t):r.unmount()),n&&("function"===typeof n?n(t):LM(n)&&(n.current=t))}),[r])}(h,d.visualElement,s),h,u,d.visualElement))}));return a[GM]=o,a}function ZM({layoutId:e}){const r=(0,t.useContext)(KM).id;return r&&void 0!==e?r+"-"+e:e}function XM(e){function t(t,r={}){return YM(e(t,r))}if("undefined"===typeof Proxy)return t;const r=new Map;return new Proxy(t,{get:(e,n)=>(r.has(n)||r.set(n,t(n)),r.get(n))})}const JM=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function QM(e){return"string"===typeof e&&!e.includes("-")&&!!(JM.indexOf(e)>-1||/[A-Z]/.test(e))}const eL={};const tL=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],rL=new Set(tL);function nL(e,{layout:t,layoutId:r}){return rL.has(e)||e.startsWith("origin")||(t||void 0!==r)&&(!!eL[e]||"opacity"===e)}const iL=e=>Boolean(e&&e.getVelocity),oL={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},aL=tL.length;const sL=e=>t=>"string"===typeof t&&t.startsWith(e),cL=sL("--"),lL=sL("var(--"),uL=(e,t)=>t&&"number"===typeof e?t.transform(e):e,dL=(e,t,r)=>Math.min(Math.max(r,e),t),hL={test:e=>"number"===typeof e,parse:parseFloat,transform:e=>e},fL={...hL,transform:e=>dL(0,1,e)},pL={...hL,default:1},mL=e=>Math.round(1e5*e)/1e5,gL=/(-)?([\d]*\.?[\d])+/g,vL=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,yL=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function bL(e){return"string"===typeof e}const wL=e=>({test:t=>bL(t)&&t.endsWith(e)&&1===t.split(" ").length,parse:parseFloat,transform:t=>`${t}${e}`}),xL=wL("deg"),_L=wL("%"),SL=wL("px"),kL=wL("vh"),EL=wL("vw"),PL={..._L,parse:e=>_L.parse(e)/100,transform:e=>_L.transform(100*e)},OL={...hL,transform:Math.round},AL={borderWidth:SL,borderTopWidth:SL,borderRightWidth:SL,borderBottomWidth:SL,borderLeftWidth:SL,borderRadius:SL,radius:SL,borderTopLeftRadius:SL,borderTopRightRadius:SL,borderBottomRightRadius:SL,borderBottomLeftRadius:SL,width:SL,maxWidth:SL,height:SL,maxHeight:SL,size:SL,top:SL,right:SL,bottom:SL,left:SL,padding:SL,paddingTop:SL,paddingRight:SL,paddingBottom:SL,paddingLeft:SL,margin:SL,marginTop:SL,marginRight:SL,marginBottom:SL,marginLeft:SL,rotate:xL,rotateX:xL,rotateY:xL,rotateZ:xL,scale:pL,scaleX:pL,scaleY:pL,scaleZ:pL,skew:xL,skewX:xL,skewY:xL,distance:SL,translateX:SL,translateY:SL,translateZ:SL,x:SL,y:SL,z:SL,perspective:SL,transformPerspective:SL,opacity:fL,originX:PL,originY:PL,originZ:SL,zIndex:OL,fillOpacity:fL,strokeOpacity:fL,numOctaves:OL};function TL(e,t,r,n){const{style:i,vars:o,transform:a,transformOrigin:s}=e;let c=!1,l=!1,u=!0;for(const d in t){const e=t[d];if(cL(d)){o[d]=e;continue}const r=AL[d],n=uL(e,r);if(rL.has(d)){if(c=!0,a[d]=n,!u)continue;e!==(r.default||0)&&(u=!1)}else d.startsWith("origin")?(l=!0,s[d]=n):i[d]=n}if(t.transform||(c||n?i.transform=function(e,{enableHardwareAcceleration:t=!0,allowTransformNone:r=!0},n,i){let o="";for(let a=0;a({style:{},transform:{},transformOrigin:{},vars:{}});function CL(e,t,r){for(const n in t)iL(t[n])||nL(n,r)||(e[n]=t[n])}function RL(e,r,n){const i={};return CL(i,e.style||{},e),Object.assign(i,function({transformTemplate:e},r,n){return(0,t.useMemo)((()=>{const t=jL();return TL(t,r,{enableHardwareAcceleration:!n},e),Object.assign({},t.vars,t.style)}),[r])}(e,r,n)),e.transformValues?e.transformValues(i):i}function IL(e,t,r){const n={},i=RL(e,t,r);return e.drag&&!1!==e.dragListener&&(n.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=!0===e.drag?"none":"pan-"+("x"===e.drag?"y":"x")),void 0===e.tabIndex&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=i,n}const ML=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function LL(e){return e.startsWith("while")||e.startsWith("drag")&&"draggable"!==e||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||ML.has(e)}let NL=e=>!LL(e);try{(DL=require("@emotion/is-prop-valid").default)&&(NL=e=>e.startsWith("on")?!LL(e):DL(e))}catch(Nn){}var DL;function BL(e,t,r){return"string"===typeof e?e:SL.transform(t+r*e)}const zL={offset:"stroke-dashoffset",array:"stroke-dasharray"},UL={offset:"strokeDashoffset",array:"strokeDasharray"};function FL(e,{attrX:t,attrY:r,attrScale:n,originX:i,originY:o,pathLength:a,pathSpacing:s=1,pathOffset:c=0,...l},u,d,h){if(TL(e,l,u,h),d)return void(e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox));e.attrs=e.style,e.style={};const{attrs:f,style:p,dimensions:m}=e;f.transform&&(m&&(p.transform=f.transform),delete f.transform),m&&(void 0!==i||void 0!==o||p.transform)&&(p.transformOrigin=function(e,t,r){return`${BL(t,e.x,e.width)} ${BL(r,e.y,e.height)}`}(m,void 0!==i?i:.5,void 0!==o?o:.5)),void 0!==t&&(f.x=t),void 0!==r&&(f.y=r),void 0!==n&&(f.scale=n),void 0!==a&&function(e,t,r=1,n=0,i=!0){e.pathLength=1;const o=i?zL:UL;e[o.offset]=SL.transform(-n);const a=SL.transform(t),s=SL.transform(r);e[o.array]=`${a} ${s}`}(f,a,s,c,!1)}const $L=()=>({...jL(),attrs:{}}),HL=e=>"string"===typeof e&&"svg"===e.toLowerCase();function VL(e,r,n,i){const o=(0,t.useMemo)((()=>{const t=$L();return FL(t,r,{enableHardwareAcceleration:!1},HL(i),e.transformTemplate),{...t.attrs,style:{...t.style}}}),[r]);if(e.style){const t={};CL(t,e.style,e),o.style={...t,...o.style}}return o}function qL(e=!1){return(r,n,i,{latestValues:o},a)=>{const s=(QM(r)?VL:IL)(n,o,a,r),c=function(e,t,r){const n={};for(const i in e)"values"===i&&"object"===typeof e.values||(NL(i)||!0===r&&LL(i)||!t&&!LL(i)||e.draggable&&i.startsWith("onDrag"))&&(n[i]=e[i]);return n}(n,"string"===typeof r,e),l={...c,...s,ref:i},{children:u}=n,d=(0,t.useMemo)((()=>iL(u)?u.get():u),[u]);return(0,t.createElement)(r,{...l,children:d})}}const KL=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function WL(e,{style:t,vars:r},n,i){Object.assign(e.style,t,i&&i.getProjectionStyles(n));for(const o in r)e.style.setProperty(o,r[o])}const GL=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function YL(e,t,r,n){WL(e,t,void 0,n);for(const i in t.attrs)e.setAttribute(GL.has(i)?i:KL(i),t.attrs[i])}function ZL(e,t){const{style:r}=e,n={};for(const i in r)(iL(r[i])||t.style&&iL(t.style[i])||nL(i,e))&&(n[i]=r[i]);return n}function XL(e,t){const r=ZL(e,t);for(const n in e)if(iL(e[n])||iL(t[n])){r[-1!==tL.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=e[n]}return r}function JL(e,t,r,n={},i={}){return"function"===typeof t&&(t=t(void 0!==r?r:e.custom,n,i)),"string"===typeof t&&(t=e.variants&&e.variants[t]),"function"===typeof t&&(t=t(void 0!==r?r:e.custom,n,i)),t}function QL(e){const r=(0,t.useRef)(null);return null===r.current&&(r.current=e()),r.current}const eN=e=>Array.isArray(e),tN=e=>Boolean(e&&"object"===typeof e&&e.mix&&e.toValue),rN=e=>eN(e)?e[e.length-1]||0:e;function nN(e){const t=iL(e)?e.get():e;return tN(t)?t.toValue():t}const iN=e=>(r,n)=>{const i=(0,t.useContext)(CM),o=(0,t.useContext)(OM),a=()=>function({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:r},n,i,o){const a={latestValues:oN(n,i,o,e),renderState:t()};return r&&(a.mount=e=>r(n,e,a)),a}(e,r,i,o);return n?a():QL(a)};function oN(e,t,r,n){const i={},o=n(e,{});for(const h in o)i[h]=nN(o[h]);let{initial:a,animate:s}=e;const c=UM(e),l=FM(e);t&&l&&!c&&!1!==e.inherit&&(void 0===a&&(a=t.initial),void 0===s&&(s=t.animate));let u=!!r&&!1===r.initial;u=u||!1===a;const d=u?s:a;if(d&&"boolean"!==typeof d&&!DM(d)){(Array.isArray(d)?d:[d]).forEach((t=>{const r=JL(e,t);if(!r)return;const{transitionEnd:n,transition:o,...a}=r;for(const e in a){let t=a[e];if(Array.isArray(t)){t=t[u?t.length-1:0]}null!==t&&(i[e]=t)}for(const e in n)i[e]=n[e]}))}return i}const aN=e=>e;class sN{constructor(){this.order=[],this.scheduled=new Set}add(e){if(!this.scheduled.has(e))return this.scheduled.add(e),this.order.push(e),!0}remove(e){const t=this.order.indexOf(e);-1!==t&&(this.order.splice(t,1),this.scheduled.delete(e))}clear(){this.order.length=0,this.scheduled.clear()}}const cN=["prepare","read","update","preRender","render","postRender"];const{schedule:lN,cancel:uN,state:dN,steps:hN}=function(e,t){let r=!1,n=!0;const i={delta:0,timestamp:0,isProcessing:!1},o=cN.reduce(((e,t)=>(e[t]=function(e){let t=new sN,r=new sN,n=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(e,o=!1,s=!1)=>{const c=s&&i,l=c?t:r;return o&&a.add(e),l.add(e)&&c&&i&&(n=t.order.length),e},cancel:e=>{r.remove(e),a.delete(e)},process:c=>{if(i)o=!0;else{if(i=!0,[t,r]=[r,t],r.clear(),n=t.order.length,n)for(let r=0;rr=!0)),e)),{}),a=e=>o[e].process(i),s=()=>{const o=performance.now();r=!1,i.delta=n?1e3/60:Math.max(Math.min(o-i.timestamp,40),1),i.timestamp=o,i.isProcessing=!0,cN.forEach(a),i.isProcessing=!1,r&&t&&(n=!1,e(s))},c=cN.reduce(((t,a)=>{const c=o[a];return t[a]=(t,o=!1,a=!1)=>(r||(r=!0,n=!0,i.isProcessing||e(s)),c.schedule(t,o,a)),t}),{});return{schedule:c,cancel:e=>cN.forEach((t=>o[t].cancel(e))),state:i,steps:o}}("undefined"!==typeof requestAnimationFrame?requestAnimationFrame:aN,!0),fN={useVisualState:iN({scrapeMotionValuesFromProps:XL,createRenderState:$L,onMount:(e,t,{renderState:r,latestValues:n})=>{lN.read((()=>{try{r.dimensions="function"===typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(e){r.dimensions={x:0,y:0,width:0,height:0}}})),lN.render((()=>{FL(r,n,{enableHardwareAcceleration:!1},HL(t.tagName),e.transformTemplate),YL(t,r)}))}})},pN={useVisualState:iN({scrapeMotionValuesFromProps:ZL,createRenderState:jL})};function mN(e,t,r,n={passive:!0}){return e.addEventListener(t,r,n),()=>e.removeEventListener(t,r)}const gN=e=>"mouse"===e.pointerType?"number"!==typeof e.button||e.button<=0:!1!==e.isPrimary;function vN(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const yN=e=>t=>gN(t)&&e(t,vN(t));function bN(e,t,r,n){return mN(e,t,yN(r),n)}const wN=(e,t)=>r=>t(e(r)),xN=(...e)=>e.reduce(wN);function _N(e){let t=null;return()=>{const r=()=>{t=null};return null===t&&(t=e,r)}}const SN=_N("dragHorizontal"),kN=_N("dragVertical");function EN(e){let t=!1;if("y"===e)t=kN();else if("x"===e)t=SN();else{const e=SN(),r=kN();e&&r?t=()=>{e(),r()}:(e&&e(),r&&r())}return t}function PN(){const e=EN(!0);return!e||(e(),!1)}class ON{constructor(e){this.isMounted=!1,this.node=e}update(){}}function AN(e,t){const r="pointer"+(t?"enter":"leave"),n="onHover"+(t?"Start":"End");return bN(e.current,r,((r,i)=>{if("touch"===r.type||PN())return;const o=e.getProps();e.animationState&&o.whileHover&&e.animationState.setActive("whileHover",t),o[n]&&lN.update((()=>o[n](r,i)))}),{passive:!e.getProps()[n]})}const TN=(e,t)=>!!t&&(e===t||TN(e,t.parentElement));function jN(e,t){if(!t)return;const r=new PointerEvent("pointer"+e);t(r,vN(r))}const CN=new WeakMap,RN=new WeakMap,IN=e=>{const t=CN.get(e.target);t&&t(e)},MN=e=>{e.forEach(IN)};function LN(e,t,r){const n=function({root:e,...t}){const r=e||document;RN.has(r)||RN.set(r,{});const n=RN.get(r),i=JSON.stringify(t);return n[i]||(n[i]=new IntersectionObserver(MN,{root:e,...t})),n[i]}(t);return CN.set(e,r),n.observe(e),()=>{CN.delete(e),n.unobserve(e)}}const NN={some:0,all:1};const DN={inView:{Feature:class extends ON{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:t,margin:r,amount:n="some",once:i}=e,o={root:t?t.current:void 0,rootMargin:r,threshold:"number"===typeof n?n:NN[n]};return LN(this.node.current,o,(e=>{const{isIntersecting:t}=e;if(this.isInView===t)return;if(this.isInView=t,i&&!t&&this.hasEnteredView)return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",t);const{onViewportEnter:r,onViewportLeave:n}=this.node.getProps(),o=t?r:n;o&&o(e)}))}mount(){this.startObserver()}update(){if("undefined"===typeof IntersectionObserver)return;const{props:e,prevProps:t}=this.node,r=["amount","margin","root"].some(function({viewport:e={}},{viewport:t={}}={}){return r=>e[r]!==t[r]}(e,t));r&&this.startObserver()}unmount(){}}},tap:{Feature:class extends ON{constructor(){super(...arguments),this.removeStartListeners=aN,this.removeEndListeners=aN,this.removeAccessibleListeners=aN,this.startPointerPress=(e,t)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),n=bN(window,"pointerup",((e,t)=>{if(!this.checkPressEnd())return;const{onTap:r,onTapCancel:n}=this.node.getProps();lN.update((()=>{TN(this.node.current,e.target)?r&&r(e,t):n&&n(e,t)}))}),{passive:!(r.onTap||r.onPointerUp)}),i=bN(window,"pointercancel",((e,t)=>this.cancelPress(e,t)),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=xN(n,i),this.startPress(e,t)},this.startAccessiblePress=()=>{const e=mN(this.node.current,"keydown",(e=>{if("Enter"!==e.key||this.isPressing)return;this.removeEndListeners(),this.removeEndListeners=mN(this.node.current,"keyup",(e=>{"Enter"===e.key&&this.checkPressEnd()&&jN("up",((e,t)=>{const{onTap:r}=this.node.getProps();r&&lN.update((()=>r(e,t)))}))})),jN("down",((e,t)=>{this.startPress(e,t)}))})),t=mN(this.node.current,"blur",(()=>{this.isPressing&&jN("cancel",((e,t)=>this.cancelPress(e,t)))}));this.removeAccessibleListeners=xN(e,t)}}startPress(e,t){this.isPressing=!0;const{onTapStart:r,whileTap:n}=this.node.getProps();n&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&lN.update((()=>r(e,t)))}checkPressEnd(){this.removeEndListeners(),this.isPressing=!1;return this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!PN()}cancelPress(e,t){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&lN.update((()=>r(e,t)))}mount(){const e=this.node.getProps(),t=bN(this.node.current,"pointerdown",this.startPointerPress,{passive:!(e.onTapStart||e.onPointerStart)}),r=mN(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=xN(t,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}},focus:{Feature:class extends ON{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch(t){e=!0}e&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=xN(mN(this.node.current,"focus",(()=>this.onFocus())),mN(this.node.current,"blur",(()=>this.onBlur())))}unmount(){}}},hover:{Feature:class extends ON{mount(){this.unmount=xN(AN(this.node,!0),AN(this.node,!1))}unmount(){}}}};function BN(e,t){if(!Array.isArray(t))return!1;const r=t.length;if(r!==e.length)return!1;for(let n=0;nt[r]=e.get())),t}(e),function(e){const t={};return e.values.forEach(((e,r)=>t[r]=e.getVelocity())),t}(e))}const UN="data-"+KL("framerAppearId");let FN=aN,$N=aN;const HN=e=>1e3*e,VN=e=>e/1e3,qN=!1,KN=e=>Array.isArray(e)&&"number"===typeof e[0];function WN(e){return Boolean(!e||"string"===typeof e&&YN[e]||KN(e)||Array.isArray(e)&&e.every(WN))}const GN=([e,t,r,n])=>`cubic-bezier(${e}, ${t}, ${r}, ${n})`,YN={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:GN([0,.65,.55,1]),circOut:GN([.55,0,1,.45]),backIn:GN([.31,.01,.66,-.59]),backOut:GN([.33,1.53,.69,.99])};function ZN(e){if(e)return KN(e)?GN(e):Array.isArray(e)?e.map(ZN):YN[e]}const XN=(e,t,r)=>(((1-3*r+3*t)*e+(3*r-6*t))*e+3*t)*e,JN=1e-7,QN=12;function eD(e,t,r,n){if(e===t&&r===n)return aN;const i=t=>function(e,t,r,n,i){let o,a,s=0;do{a=t+(r-t)/2,o=XN(a,n,i)-e,o>0?r=a:t=a}while(Math.abs(o)>JN&&++s0===e||1===e?e:XN(i(e),t,n)}const tD=eD(.42,0,1,1),rD=eD(0,0,.58,1),nD=eD(.42,0,.58,1),iD=e=>Array.isArray(e)&&"number"!==typeof e[0],oD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,aD=e=>t=>1-e(1-t),sD=e=>1-Math.sin(Math.acos(e)),cD=aD(sD),lD=oD(cD),uD=eD(.33,1.53,.69,.99),dD=aD(uD),hD=oD(dD),fD={linear:aN,easeIn:tD,easeInOut:nD,easeOut:rD,circIn:sD,circInOut:lD,circOut:cD,backIn:dD,backInOut:hD,backOut:uD,anticipate:e=>(e*=2)<1?.5*dD(e):.5*(2-Math.pow(2,-10*(e-1)))},pD=e=>{if(Array.isArray(e)){$N(4===e.length,"Cubic bezier arrays must contain four numerical values.");const[t,r,n,i]=e;return eD(t,r,n,i)}return"string"===typeof e?($N(void 0!==fD[e],`Invalid easing type '${e}'`),fD[e]):e},mD=(e,t)=>r=>Boolean(bL(r)&&yL.test(r)&&r.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(r,t)),gD=(e,t,r)=>n=>{if(!bL(n))return n;const[i,o,a,s]=n.match(gL);return{[e]:parseFloat(i),[t]:parseFloat(o),[r]:parseFloat(a),alpha:void 0!==s?parseFloat(s):1}},vD={...hL,transform:e=>Math.round((e=>dL(0,255,e))(e))},yD={test:mD("rgb","red"),parse:gD("red","green","blue"),transform:({red:e,green:t,blue:r,alpha:n=1})=>"rgba("+vD.transform(e)+", "+vD.transform(t)+", "+vD.transform(r)+", "+mL(fL.transform(n))+")"};const bD={test:mD("#"),parse:function(e){let t="",r="",n="",i="";return e.length>5?(t=e.substring(1,3),r=e.substring(3,5),n=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),r=e.substring(2,3),n=e.substring(3,4),i=e.substring(4,5),t+=t,r+=r,n+=n,i+=i),{red:parseInt(t,16),green:parseInt(r,16),blue:parseInt(n,16),alpha:i?parseInt(i,16)/255:1}},transform:yD.transform},wD={test:mD("hsl","hue"),parse:gD("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:r,alpha:n=1})=>"hsla("+Math.round(e)+", "+_L.transform(mL(t))+", "+_L.transform(mL(r))+", "+mL(fL.transform(n))+")"},xD={test:e=>yD.test(e)||bD.test(e)||wD.test(e),parse:e=>yD.test(e)?yD.parse(e):wD.test(e)?wD.parse(e):bD.parse(e),transform:e=>bL(e)?e:e.hasOwnProperty("red")?yD.transform(e):wD.transform(e)},_D=(e,t,r)=>-r*e+r*t+e;function SD(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}const kD=(e,t,r)=>{const n=e*e;return Math.sqrt(Math.max(0,r*(t*t-n)+n))},ED=[bD,yD,wD];function PD(e){const t=(e=>ED.find((t=>t.test(e))))(e);$N(Boolean(t),`'${e}' is not an animatable color. Use the equivalent color code instead.`);let r=t.parse(e);return t===wD&&(r=function({hue:e,saturation:t,lightness:r,alpha:n}){e/=360,r/=100;let i=0,o=0,a=0;if(t/=100){const n=r<.5?r*(1+t):r+t-r*t,s=2*r-n;i=SD(s,n,e+1/3),o=SD(s,n,e),a=SD(s,n,e-1/3)}else i=o=a=r;return{red:Math.round(255*i),green:Math.round(255*o),blue:Math.round(255*a),alpha:n}}(r)),r}const OD=(e,t)=>{const r=PD(e),n=PD(t),i={...r};return e=>(i.red=kD(r.red,n.red,e),i.green=kD(r.green,n.green,e),i.blue=kD(r.blue,n.blue,e),i.alpha=_D(r.alpha,n.alpha,e),yD.transform(i))};const AD={regex:/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,countKey:"Vars",token:"${v}",parse:aN},TD={regex:vL,countKey:"Colors",token:"${c}",parse:xD.parse},jD={regex:gL,countKey:"Numbers",token:"${n}",parse:hL.parse};function CD(e,{regex:t,countKey:r,token:n,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+r]=o.length,e.tokenised=e.tokenised.replace(t,n),e.values.push(...o.map(i)))}function RD(e){const t=e.toString(),r={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return r.value.includes("var(--")&&CD(r,AD),CD(r,TD),CD(r,jD),r}function ID(e){return RD(e).values}function MD(e){const{values:t,numColors:r,numVars:n,tokenised:i}=RD(e),o=t.length;return e=>{let t=i;for(let i=0;i"number"===typeof e?0:e;const ND={test:function(e){var t,r;return isNaN(e)&&bL(e)&&((null===(t=e.match(gL))||void 0===t?void 0:t.length)||0)+((null===(r=e.match(vL))||void 0===r?void 0:r.length)||0)>0},parse:ID,createTransformer:MD,getAnimatableNone:function(e){const t=ID(e);return MD(e)(t.map(LD))}},DD=(e,t)=>r=>`${r>0?t:e}`;function BD(e,t){return"number"===typeof e?r=>_D(e,t,r):xD.test(e)?OD(e,t):e.startsWith("var(")?DD(e,t):FD(e,t)}const zD=(e,t)=>{const r=[...e],n=r.length,i=e.map(((e,r)=>BD(e,t[r])));return e=>{for(let t=0;t{const r={...e,...t},n={};for(const i in r)void 0!==e[i]&&void 0!==t[i]&&(n[i]=BD(e[i],t[i]));return e=>{for(const t in n)r[t]=n[t](e);return r}},FD=(e,t)=>{const r=ND.createTransformer(t),n=RD(e),i=RD(t);return n.numVars===i.numVars&&n.numColors===i.numColors&&n.numNumbers>=i.numNumbers?xN(zD(n.values,i.values),r):(FN(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),DD(e,t))},$D=(e,t,r)=>{const n=t-e;return 0===n?1:(r-e)/n},HD=(e,t)=>r=>_D(e,t,r);function VD(e,t,r){const n=[],i=r||function(e){return"number"===typeof e?HD:"string"===typeof e?xD.test(e)?OD:FD:Array.isArray(e)?zD:"object"===typeof e?UD:HD}(e[0]),o=e.length-1;for(let a=0;at[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=VD(t,n,i),s=a.length,c=t=>{let r=0;if(s>1)for(;rc(dL(e[0],e[o-1],t)):c}function KD(e){const t=[0];return function(e,t){const r=e[e.length-1];for(let n=1;n<=t;n++){const i=$D(0,t,n);e.push(_D(r,1,i))}}(t,e.length-1),t}function WD({duration:e=300,keyframes:t,times:r,ease:n="easeInOut"}){const i=iD(n)?n.map(pD):pD(n),o={done:!1,value:t[0]},a=function(e,t){return e.map((e=>e*t))}(r&&r.length===t.length?r:KD(t),e),s=qD(a,t,{ease:Array.isArray(i)?i:(c=t,l=i,c.map((()=>l||nD)).splice(0,c.length-1))});var c,l;return{calculatedDuration:e,next:t=>(o.value=s(t),o.done=t>=e,o)}}function GD(e,t){return t?e*(1e3/t):0}const YD=5;function ZD(e,t,r){const n=Math.max(t-YD,0);return GD(r-e(n),t-n)}const XD=.001,JD=.01,QD=10,eB=.05,tB=1;function rB({duration:e=800,bounce:t=.25,velocity:r=0,mass:n=1}){let i,o;FN(e<=HN(QD),"Spring duration must be 10 seconds or less");let a=1-t;a=dL(eB,tB,a),e=dL(JD,QD,VN(e)),a<1?(i=t=>{const n=t*a,i=n*e,o=n-r,s=iB(t,a),c=Math.exp(-i);return XD-o/s*c},o=t=>{const n=t*a*e,o=n*r+r,s=Math.pow(a,2)*Math.pow(t,2)*e,c=Math.exp(-n),l=iB(Math.pow(t,2),a);return(-i(t)+XD>0?-1:1)*((o-s)*c)/l}):(i=t=>Math.exp(-t*e)*((t-r)*e+1)-XD,o=t=>Math.exp(-t*e)*(e*e*(r-t)));const s=function(e,t,r){let n=r;for(let i=1;ivoid 0!==e[t]))}function cB({keyframes:e,restDelta:t,restSpeed:r,...n}){const i=e[0],o=e[e.length-1],a={done:!1,value:i},{stiffness:s,damping:c,mass:l,velocity:u,duration:d,isResolvedFromDuration:h}=function(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!sB(e,aB)&&sB(e,oB)){const r=rB(e);t={...t,...r,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}(n),f=u?-VN(u):0,p=c/(2*Math.sqrt(s*l)),m=o-i,g=VN(Math.sqrt(s/l)),v=Math.abs(m)<5;let y;if(r||(r=v?.01:2),t||(t=v?.005:.5),p<1){const e=iB(g,p);y=t=>{const r=Math.exp(-p*g*t);return o-r*((f+p*g*m)/e*Math.sin(e*t)+m*Math.cos(e*t))}}else if(1===p)y=e=>o-Math.exp(-g*e)*(m+(f+g*m)*e);else{const e=g*Math.sqrt(p*p-1);y=t=>{const r=Math.exp(-p*g*t),n=Math.min(e*t,300);return o-r*((f+p*g*m)*Math.sinh(n)+e*m*Math.cosh(n))/e}}return{calculatedDuration:h&&d||null,next:e=>{const n=y(e);if(h)a.done=e>=d;else{let i=f;0!==e&&(i=p<1?ZD(y,e,n):0);const s=Math.abs(i)<=r,c=Math.abs(o-n)<=t;a.done=s&&c}return a.value=a.done?o:n,a}}}function lB({keyframes:e,velocity:t=0,power:r=.8,timeConstant:n=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:a,min:s,max:c,restDelta:l=.5,restSpeed:u}){const d=e[0],h={done:!1,value:d},f=e=>void 0===s?c:void 0===c||Math.abs(s-e)-p*Math.exp(-e/n),y=e=>g+v(e),b=e=>{const t=v(e),r=y(e);h.done=Math.abs(t)<=l,h.value=h.done?g:r};let w,x;const _=e=>{(e=>void 0!==s&&ec)(h.value)&&(w=e,x=cB({keyframes:[h.value,f(h.value)],velocity:ZD(y,e,h.value),damping:i,stiffness:o,restDelta:l,restSpeed:u}))};return _(0),{calculatedDuration:null,next:e=>{let t=!1;return x||void 0!==w||(t=!0,b(e),_(e)),void 0!==w&&e>w?x.next(e-w):(!t&&b(e),h)}}}const uB=e=>{const t=({timestamp:t})=>e(t);return{start:()=>lN.update(t,!0),stop:()=>uN(t),now:()=>dN.isProcessing?dN.timestamp:performance.now()}},dB=2e4;function hB(e){let t=0;let r=e.next(t);for(;!r.done&&t=dB?1/0:t}const fB={decay:lB,inertia:lB,tween:WD,keyframes:WD,spring:cB};function pB({autoplay:e=!0,delay:t=0,driver:r=uB,keyframes:n,type:i="keyframes",repeat:o=0,repeatDelay:a=0,repeatType:s="loop",onPlay:c,onStop:l,onComplete:u,onUpdate:d,...h}){let f,p,m=1,g=!1;const v=()=>{p=new Promise((e=>{f=e}))};let y;v();const b=fB[i]||WD;let w;b!==WD&&"number"!==typeof n[0]&&(w=qD([0,100],n,{clamp:!1}),n=[0,100]);const x=b({...h,keyframes:n});let _;"mirror"===s&&(_=b({...h,keyframes:[...n].reverse(),velocity:-(h.velocity||0)}));let S="idle",k=null,E=null,P=null;null===x.calculatedDuration&&o&&(x.calculatedDuration=hB(x));const{calculatedDuration:O}=x;let A=1/0,T=1/0;null!==O&&(A=O+a,T=A*(o+1)-a);let j=0;const C=e=>{if(null===E)return;m>0&&(E=Math.min(E,e)),m<0&&(E=Math.min(e-T/m,E)),j=null!==k?k:Math.round(e-E)*m;const r=j-t*(m>=0?1:-1),i=m>=0?r<0:r>T;j=Math.max(r,0),"finished"===S&&null===k&&(j=T);let c=j,l=x;if(o){const e=j/A;let t=Math.floor(e),r=e%1;!r&&e>=1&&(r=1),1===r&&t--,t=Math.min(t,o+1);const n=Boolean(t%2);n&&("reverse"===s?(r=1-r,a&&(r-=a/A)):"mirror"===s&&(l=_));let i=dL(0,1,r);j>T&&(i="reverse"===s&&n?1:0),c=i*A}const u=i?{done:!1,value:n[0]}:l.next(c);w&&(u.value=w(u.value));let{done:h}=u;i||null===O||(h=m>=0?j>=T:j<=0);const f=null===k&&("finished"===S||"running"===S&&h);return d&&d(u.value),f&&M(),u},R=()=>{y&&y.stop(),y=void 0},I=()=>{S="idle",R(),f(),v(),E=P=null},M=()=>{S="finished",u&&u(),R(),f()},L=()=>{if(g)return;y||(y=r(C));const e=y.now();c&&c(),null!==k?E=e-k:E&&"finished"!==S||(E=e),"finished"===S&&v(),P=E,k=null,S="running",y.start()};e&&L();const N={then:(e,t)=>p.then(e,t),get time(){return VN(j)},set time(e){e=HN(e),j=e,null===k&&y&&0!==m?E=y.now()-e/m:k=e},get duration(){const e=null===x.calculatedDuration?hB(x):x.calculatedDuration;return VN(e)},get speed(){return m},set speed(e){e!==m&&y&&(m=e,N.time=VN(j))},get state(){return S},play:L,pause:()=>{S="paused",k=j},stop:()=>{g=!0,"idle"!==S&&(S="idle",l&&l(),I())},cancel:()=>{null!==P&&C(P),I()},complete:()=>{S="finished"},sample:e=>(E=0,C(e))};return N}const mB=function(e){let t;return()=>(void 0===t&&(t=e()),t)}((()=>Object.hasOwnProperty.call(Element.prototype,"animate"))),gB=new Set(["opacity","clipPath","filter","transform","backgroundColor"]);function vB(e,t,{onUpdate:r,onComplete:n,...i}){if(!(mB()&&gB.has(t)&&!i.repeatDelay&&"mirror"!==i.repeatType&&0!==i.damping&&"inertia"!==i.type))return!1;let o,a,s=!1;const c=()=>{a=new Promise((e=>{o=e}))};c();let{keyframes:l,duration:u=300,ease:d,times:h}=i;if(((e,t)=>"spring"===t.type||"backgroundColor"===e||!WN(t.ease))(t,i)){const e=pB({...i,repeat:0,delay:0});let t={done:!1,value:l[0]};const r=[];let n=0;for(;!t.done&&n<2e4;)t=e.sample(n),r.push(t.value),n+=10;h=void 0,l=r,u=n-10,d="linear"}const f=function(e,t,r,{delay:n=0,duration:i,repeat:o=0,repeatType:a="loop",ease:s,times:c}={}){const l={[t]:r};c&&(l.offset=c);const u=ZN(s);return Array.isArray(u)&&(l.easing=u),e.animate(l,{delay:n,duration:i,easing:Array.isArray(u)?"linear":u,fill:"both",iterations:o+1,direction:"reverse"===a?"alternate":"normal"})}(e.owner.current,t,l,{...i,duration:u,ease:d,times:h});i.syncStart&&(f.startTime=dN.isProcessing?dN.timestamp:document.timeline?document.timeline.currentTime:performance.now());const p=()=>f.cancel(),m=()=>{lN.update(p),o(),c()};f.onfinish=()=>{e.set(function(e,{repeat:t,repeatType:r="loop"}){return e[t&&"loop"!==r&&t%2===1?0:e.length-1]}(l,i)),n&&n(),m()};return{then:(e,t)=>a.then(e,t),attachTimeline:e=>(f.timeline=e,f.onfinish=null,aN),get time(){return VN(f.currentTime||0)},set time(e){f.currentTime=HN(e)},get speed(){return f.playbackRate},set speed(e){f.playbackRate=e},get duration(){return VN(u)},play:()=>{s||(f.play(),uN(p))},pause:()=>f.pause(),stop:()=>{if(s=!0,"idle"===f.playState)return;const{currentTime:t}=f;if(t){const r=pB({...i,autoplay:!1});e.setWithVelocity(r.sample(t-10).value,r.sample(t).value,10)}m()},complete:()=>f.finish(),cancel:m}}const yB={type:"spring",stiffness:500,damping:25,restSpeed:10},bB={type:"keyframes",duration:.8},wB={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},xB=(e,{keyframes:t})=>t.length>2?bB:rL.has(e)?e.startsWith("scale")?{type:"spring",stiffness:550,damping:0===t[1]?2*Math.sqrt(550):30,restSpeed:10}:yB:wB,_B=(e,t)=>"zIndex"!==e&&(!("number"!==typeof t&&!Array.isArray(t))||!("string"!==typeof t||!ND.test(t)&&"0"!==t||t.startsWith("url("))),SB=new Set(["brightness","contrast","saturate","opacity"]);function kB(e){const[t,r]=e.slice(0,-1).split("(");if("drop-shadow"===t)return e;const[n]=r.match(gL)||[];if(!n)return e;const i=r.replace(n,"");let o=SB.has(t)?1:0;return n!==r&&(o*=100),t+"("+o+i+")"}const EB=/([a-z-]*)\(.*?\)/g,PB={...ND,getAnimatableNone:e=>{const t=e.match(EB);return t?t.map(kB).join(" "):e}},OB={...AL,color:xD,backgroundColor:xD,outlineColor:xD,fill:xD,stroke:xD,borderColor:xD,borderTopColor:xD,borderRightColor:xD,borderBottomColor:xD,borderLeftColor:xD,filter:PB,WebkitFilter:PB},AB=e=>OB[e];function TB(e,t){let r=AB(e);return r!==PB&&(r=ND),r.getAnimatableNone?r.getAnimatableNone(t):void 0}const jB=e=>/^0[^.\s]+$/.test(e);function CB(e){return"number"===typeof e?0===e:null!==e?"none"===e||"0"===e||jB(e):void 0}function RB(e,t){return e[t]||e.default||e}const IB=(e,t,r,n={})=>i=>{const o=RB(n,e)||{},a=o.delay||n.delay||0;let{elapsed:s=0}=n;s-=HN(a);const c=function(e,t,r,n){const i=_B(t,r);let o;o=Array.isArray(r)?[...r]:[null,r];const a=void 0!==n.from?n.from:e.get();let s;const c=[];for(let l=0;l{t.set(e),o.onUpdate&&o.onUpdate(e)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(function({when:e,delay:t,delayChildren:r,staggerChildren:n,staggerDirection:i,repeat:o,repeatType:a,repeatDelay:s,from:c,elapsed:l,...u}){return!!Object.keys(u).length}(o)||(f={...f,...xB(e,f)}),f.duration&&(f.duration=HN(f.duration)),f.repeatDelay&&(f.repeatDelay=HN(f.repeatDelay)),!d||!h||qN||!1===o.type)return function({keyframes:e,delay:t,onUpdate:r,onComplete:n}){const i=()=>(r&&r(e[e.length-1]),n&&n(),{time:0,speed:1,duration:0,play:aN,pause:aN,stop:aN,then:e=>(e(),Promise.resolve()),cancel:aN,complete:aN});return t?pB({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}(qN?{...f,delay:0}:f);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const r=vB(t,e,f);if(r)return r}return pB(f)};function MB(e){return Boolean(iL(e)&&e.add)}const LB=e=>/^\-?\d*\.?\d+$/.test(e);function NB(e,t){-1===e.indexOf(t)&&e.push(t)}function DB(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}class BB{constructor(){this.subscriptions=[]}add(e){return NB(this.subscriptions,e),()=>DB(this.subscriptions,e)}notify(e,t,r){const n=this.subscriptions.length;if(n)if(1===n)this.subscriptions[0](e,t,r);else for(let i=0;i{this.prev=this.current,this.current=e;const{delta:r,timestamp:n}=dN;this.lastUpdated!==n&&(this.timeDelta=r,this.lastUpdated=n,lN.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),t&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>lN.postRender(this.velocityCheck),this.velocityCheck=({timestamp:e})=>{e!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=e,this.canTrackVelocity=(e=>!isNaN(parseFloat(e)))(this.current),this.owner=t.owner}onChange(e){return this.on("change",e)}on(e,t){this.events[e]||(this.events[e]=new BB);const r=this.events[e].add(t);return"change"===e?()=>{r(),lN.read((()=>{this.events.change.getSize()||this.stop()}))}:r}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e,t=!0){t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)}setWithVelocity(e,t,r){this.set(t),this.prev=e,this.timeDelta=r}jump(e){this.updateAndNotify(e),this.prev=e,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return zB.current&&zB.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?GD(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(e){return this.stop(),new Promise((t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()})).then((()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()}))}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function FB(e,t){return new UB(e,t)}const $B=e=>t=>t.test(e),HB=[hL,SL,_L,xL,EL,kL,{test:e=>"auto"===e,parse:e=>e}],VB=e=>HB.find($B(e)),qB=[...HB,xD,ND],KB=e=>qB.find($B(e));function WB(e,t,r){e.hasValue(t)?e.getValue(t).set(r):e.addValue(t,FB(r))}function GB(e,t){const r=zN(e,t);let{transitionEnd:n={},transition:i={},...o}=r?e.makeTargetAnimatable(r,!1):{};o={...o,...n};for(const a in o){WB(e,a,rN(o[a]))}}function YB(e,t){if(!t)return;return(t[e]||t.default||t).from}function ZB({protectedKeys:e,needsAnimating:t},r){const n=e.hasOwnProperty(r)&&!0!==t[r];return t[r]=!1,n}function XB(e,t,{delay:r=0,transitionOverride:n,type:i}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:a,...s}=e.makeTargetAnimatable(t);const c=e.getValue("willChange");n&&(o=n);const l=[],u=i&&e.animationState&&e.animationState.getState()[i];for(const d in s){const t=e.getValue(d),n=s[d];if(!t||void 0===n||u&&ZB(u,d))continue;const i={delay:r,elapsed:0,...o};if(window.HandoffAppearAnimations&&!t.hasAnimated){const r=e.getProps()[UN];r&&(i.elapsed=window.HandoffAppearAnimations(r,d,t,lN),i.syncStart=!0)}t.start(IB(d,t,n,e.shouldReduceMotion&&rL.has(d)?{type:!1}:i));const a=t.animation;MB(c)&&(c.add(d),a.then((()=>c.remove(d)))),l.push(a)}return a&&Promise.all(l).then((()=>{a&&GB(e,a)})),l}function JB(e,t,r={}){const n=zN(e,t,r.custom);let{transition:i=e.getDefaultTransition()||{}}=n||{};r.transitionOverride&&(i=r.transitionOverride);const o=n?()=>Promise.all(XB(e,n,r)):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(n=0)=>{const{delayChildren:o=0,staggerChildren:a,staggerDirection:s}=i;return function(e,t,r=0,n=0,i=1,o){const a=[],s=(e.variantChildren.size-1)*n,c=1===i?(e=0)=>e*n:(e=0)=>s-e*n;return Array.from(e.variantChildren).sort(QB).forEach(((e,n)=>{e.notify("AnimationStart",t),a.push(JB(e,t,{...o,delay:r+c(n)}).then((()=>e.notify("AnimationComplete",t))))})),Promise.all(a)}(e,t,o+n,a,s,r)}:()=>Promise.resolve(),{when:s}=i;if(s){const[e,t]="beforeChildren"===s?[o,a]:[a,o];return e().then((()=>t()))}return Promise.all([o(),a(r.delay)])}function QB(e,t){return e.sortNodePosition(t)}const ez=[...BM].reverse(),tz=BM.length;function rz(e){return t=>Promise.all(t.map((({animation:t,options:r})=>function(e,t,r={}){let n;if(e.notify("AnimationStart",t),Array.isArray(t)){const i=t.map((t=>JB(e,t,r)));n=Promise.all(i)}else if("string"===typeof t)n=JB(e,t,r);else{const i="function"===typeof t?zN(e,t,r.custom):t;n=Promise.all(XB(e,i,r))}return n.then((()=>e.notify("AnimationComplete",t)))}(e,t,r))))}function nz(e){let t=rz(e);const r={animate:oz(!0),whileInView:oz(),whileHover:oz(),whileTap:oz(),whileDrag:oz(),whileFocus:oz(),exit:oz()};let n=!0;const i=(t,r)=>{const n=zN(e,r);if(n){const{transition:e,transitionEnd:r,...i}=n;t={...t,...i,...r}}return t};function o(o,a){const s=e.getProps(),c=e.getVariantContext(!0)||{},l=[],u=new Set;let d={},h=1/0;for(let t=0;th&&g;const x=Array.isArray(m)?m:[m];let _=x.reduce(i,{});!1===v&&(_={});const{prevResolvedValues:S={}}=p,k={...S,..._},E=e=>{w=!0,u.delete(e),p.needsAnimating[e]=!0};for(const e in k){const t=_[e],r=S[e];d.hasOwnProperty(e)||(t!==r?eN(t)&&eN(r)?!BN(t,r)||b?E(e):p.protectedKeys[e]=!0:void 0!==t?E(e):u.add(e):void 0!==t&&u.has(e)?E(e):p.protectedKeys[e]=!0)}p.prevProp=m,p.prevResolvedValues=_,p.isActive&&(d={...d,..._}),n&&e.blockInitialAnimation&&(w=!1),w&&!y&&l.push(...x.map((e=>({animation:e,options:{type:f,...o}}))))}if(u.size){const t={};u.forEach((r=>{const n=e.getBaseTarget(r);void 0!==n&&(t[r]=n)})),l.push({animation:t})}let f=Boolean(l.length);return n&&!1===s.initial&&!e.manuallyAnimateOnMount&&(f=!1),n=!1,f?t(l):Promise.resolve()}return{animateChanges:o,setActive:function(t,n,i){var a;if(r[t].isActive===n)return Promise.resolve();null===(a=e.variantChildren)||void 0===a||a.forEach((e=>{var r;return null===(r=e.animationState)||void 0===r?void 0:r.setActive(t,n)})),r[t].isActive=n;const s=o(i,t);for(const e in r)r[e].protectedKeys={};return s},setAnimateFunction:function(r){t=r(e)},getState:()=>r}}function iz(e,t){return"string"===typeof t?t!==e:!!Array.isArray(t)&&!BN(t,e)}function oz(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}let az=0;const sz={animation:{Feature:class extends ON{constructor(e){super(e),e.animationState||(e.animationState=nz(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();this.unmount(),DM(e)&&(this.unmount=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){}}},exit:{Feature:class extends ON{constructor(){super(...arguments),this.id=az++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:t,custom:r}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;const i=this.node.animationState.setActive("exit",!e,{custom:null!==r&&void 0!==r?r:this.node.getProps().custom});t&&!e&&i.then((()=>t(this.id)))}mount(){const{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}}},cz=(e,t)=>Math.abs(e-t);class lz{constructor(e,t,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!this.lastMoveEvent||!this.lastMoveEventInfo)return;const e=hz(this.lastMoveEventInfo,this.history),t=null!==this.startEvent,r=function(e,t){const r=cz(e.x,t.x),n=cz(e.y,t.y);return Math.sqrt(r**2+n**2)}(e.offset,{x:0,y:0})>=3;if(!t&&!r)return;const{point:n}=e,{timestamp:i}=dN;this.history.push({...n,timestamp:i});const{onStart:o,onMove:a}=this.handlers;t||(o&&o(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),a&&a(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastMoveEventInfo=uz(t,this.transformPagePoint),lN.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{if(this.end(),!this.lastMoveEvent||!this.lastMoveEventInfo)return;const{onEnd:r,onSessionEnd:n}=this.handlers,i=hz("pointercancel"===e.type?this.lastMoveEventInfo:uz(t,this.transformPagePoint),this.history);this.startEvent&&r&&r(e,i),n&&n(e,i)},!gN(e))return;this.handlers=t,this.transformPagePoint=r;const n=uz(vN(e),this.transformPagePoint),{point:i}=n,{timestamp:o}=dN;this.history=[{...i,timestamp:o}];const{onSessionStart:a}=t;a&&a(e,hz(n,this.history)),this.removeListeners=xN(bN(window,"pointermove",this.handlePointerMove),bN(window,"pointerup",this.handlePointerUp),bN(window,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),uN(this.updatePoint)}}function uz(e,t){return t?{point:t(e.point)}:e}function dz(e,t){return{x:e.x-t.x,y:e.y-t.y}}function hz({point:e},t){return{point:e,delta:dz(e,pz(t)),offset:dz(e,fz(t)),velocity:mz(t,.1)}}function fz(e){return e[0]}function pz(e){return e[e.length-1]}function mz(e,t){if(e.length<2)return{x:0,y:0};let r=e.length-1,n=null;const i=pz(e);for(;r>=0&&(n=e[r],!(i.timestamp-n.timestamp>HN(t)));)r--;if(!n)return{x:0,y:0};const o=VN(i.timestamp-n.timestamp);if(0===o)return{x:0,y:0};const a={x:(i.x-n.x)/o,y:(i.y-n.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function gz(e){return e.max-e.min}function vz(e,t=0,r=.01){return Math.abs(e-t)<=r}function yz(e,t,r,n=.5){e.origin=n,e.originPoint=_D(t.min,t.max,e.origin),e.scale=gz(r)/gz(t),(vz(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=_D(r.min,r.max,e.origin)-e.originPoint,(vz(e.translate)||isNaN(e.translate))&&(e.translate=0)}function bz(e,t,r,n){yz(e.x,t.x,r.x,n?n.originX:void 0),yz(e.y,t.y,r.y,n?n.originY:void 0)}function wz(e,t,r){e.min=r.min+t.min,e.max=e.min+gz(t)}function xz(e,t,r){e.min=t.min-r.min,e.max=e.min+gz(t)}function _z(e,t,r){xz(e.x,t.x,r.x),xz(e.y,t.y,r.y)}function Sz(e,t,r){return{min:void 0!==t?e.min+t:void 0,max:void 0!==r?e.max+r-(e.max-e.min):void 0}}function kz(e,t){let r=t.min-e.min,n=t.max-e.max;return t.max-t.min({x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}}),Tz=()=>({x:{min:0,max:0},y:{min:0,max:0}});function jz(e){return[e("x"),e("y")]}function Cz({top:e,left:t,right:r,bottom:n}){return{x:{min:t,max:r},y:{min:e,max:n}}}function Rz(e){return void 0===e||1===e}function Iz({scale:e,scaleX:t,scaleY:r}){return!Rz(e)||!Rz(t)||!Rz(r)}function Mz(e){return Iz(e)||Lz(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Lz(e){return Nz(e.x)||Nz(e.y)}function Nz(e){return e&&"0%"!==e}function Dz(e,t,r){return r+t*(e-r)}function Bz(e,t,r,n,i){return void 0!==i&&(e=Dz(e,i,n)),Dz(e,r,n)+t}function zz(e,t=0,r=1,n,i){e.min=Bz(e.min,t,r,n,i),e.max=Bz(e.max,t,r,n,i)}function Uz(e,{x:t,y:r}){zz(e.x,t.translate,t.scale,t.originPoint),zz(e.y,r.translate,r.scale,r.originPoint)}function Fz(e){return Number.isInteger(e)||e>1.0000000000001||e<.999999999999?e:1}function $z(e,t){e.min=e.min+t,e.max=e.max+t}function Hz(e,t,[r,n,i]){const o=void 0!==t[i]?t[i]:.5,a=_D(e.min,e.max,o);zz(e,t[r],t[n],a,t.scale)}const Vz=["x","scaleX","originX"],qz=["y","scaleY","originY"];function Kz(e,t){Hz(e.x,t,Vz),Hz(e.y,t,qz)}function Wz(e,t){return Cz(function(e,t){if(!t)return e;const r=t({x:e.left,y:e.top}),n=t({x:e.right,y:e.bottom});return{top:r.y,left:r.x,bottom:n.y,right:n.x}}(e.getBoundingClientRect(),t))}const Gz=new WeakMap;class Yz{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Tz(),this.visualElement=e}start(e,{snapToCursor:t=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&!1===r.isPresent)return;this.panSession=new lz(e,{onSessionStart:e=>{this.stopAnimation(),t&&this.snapToCursor(vN(e,"page").point)},onStart:(e,t)=>{const{drag:r,dragPropagation:n,onDragStart:i}=this.getProps();if(r&&!n&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=EN(r),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),jz((e=>{let t=this.getAxisMotionValue(e).get()||0;if(_L.test(t)){const{projection:r}=this.visualElement;if(r&&r.layout){const n=r.layout.layoutBox[e];if(n){t=gz(n)*(parseFloat(t)/100)}}}this.originPoint[e]=t})),i&&lN.update((()=>i(e,t)),!1,!0);const{animationState:o}=this.visualElement;o&&o.setActive("whileDrag",!0)},onMove:(e,t)=>{const{dragPropagation:r,dragDirectionLock:n,onDirectionLock:i,onDrag:o}=this.getProps();if(!r&&!this.openGlobalLock)return;const{offset:a}=t;if(n&&null===this.currentDirection)return this.currentDirection=function(e,t=10){let r=null;Math.abs(e.y)>t?r="y":Math.abs(e.x)>t&&(r="x");return r}(a),void(null!==this.currentDirection&&i&&i(this.currentDirection));this.updateAxis("x",t.point,a),this.updateAxis("y",t.point,a),this.visualElement.render(),o&&o(e,t)},onSessionEnd:(e,t)=>this.stop(e,t)},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(e,t){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:n}=t;this.startAnimation(n);const{onDragEnd:i}=this.getProps();i&&lN.update((()=>i(e,t)))}cancel(){this.isDragging=!1;const{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),t&&t.setActive("whileDrag",!1)}updateAxis(e,t,r){const{drag:n}=this.getProps();if(!r||!Zz(e,n,this.currentDirection))return;const i=this.getAxisMotionValue(e);let o=this.originPoint[e]+r[e];this.constraints&&this.constraints[e]&&(o=function(e,{min:t,max:r},n){return void 0!==t&&er&&(e=n?_D(r,e,n.max):Math.min(e,r)),e}(o,this.constraints[e],this.elastic[e])),i.set(o)}resolveConstraints(){const{dragConstraints:e,dragElastic:t}=this.getProps(),{layout:r}=this.visualElement.projection||{},n=this.constraints;e&&LM(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):this.constraints=!(!e||!r)&&function(e,{top:t,left:r,bottom:n,right:i}){return{x:Sz(e.x,r,i),y:Sz(e.y,t,n)}}(r.layoutBox,e),this.elastic=function(e=Ez){return!1===e?e=0:!0===e&&(e=Ez),{x:Pz(e,"left","right"),y:Pz(e,"top","bottom")}}(t),n!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&jz((e=>{this.getAxisMotionValue(e)&&(this.constraints[e]=function(e,t){const r={};return void 0!==t.min&&(r.min=t.min-e.min),void 0!==t.max&&(r.max=t.max-e.min),r}(r.layoutBox[e],this.constraints[e]))}))}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!LM(e))return!1;const r=e.current;$N(null!==r,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.");const{projection:n}=this.visualElement;if(!n||!n.layout)return!1;const i=function(e,t,r){const n=Wz(e,r),{scroll:i}=t;return i&&($z(n.x,i.offset.x),$z(n.y,i.offset.y)),n}(r,n.root,this.visualElement.getTransformPagePoint());let o=function(e,t){return{x:kz(e.x,t.x),y:kz(e.y,t.y)}}(n.layout.layoutBox,i);if(t){const e=t(function({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}(o));this.hasMutatedConstraints=!!e,e&&(o=Cz(e))}return o}startAnimation(e){const{drag:t,dragMomentum:r,dragElastic:n,dragTransition:i,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),s=this.constraints||{},c=jz((a=>{if(!Zz(a,t,this.currentDirection))return;let c=s&&s[a]||{};o&&(c={min:0,max:0});const l=n?200:1e6,u=n?40:1e7,d={type:"inertia",velocity:r?e[a]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(a,d)}));return Promise.all(c).then(a)}startAxisValueAnimation(e,t){const r=this.getAxisMotionValue(e);return r.start(IB(e,r,0,t))}stopAnimation(){jz((e=>this.getAxisMotionValue(e).stop()))}getAxisMotionValue(e){const t="_drag"+e.toUpperCase(),r=this.visualElement.getProps(),n=r[t];return n||this.visualElement.getValue(e,(r.initial?r.initial[e]:void 0)||0)}snapToCursor(e){jz((t=>{const{drag:r}=this.getProps();if(!Zz(t,r,this.currentDirection))return;const{projection:n}=this.visualElement,i=this.getAxisMotionValue(t);if(n&&n.layout){const{min:r,max:o}=n.layout.layoutBox[t];i.set(e[t]-_D(r,o,.5))}}))}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:t}=this.getProps(),{projection:r}=this.visualElement;if(!LM(t)||!r||!this.constraints)return;this.stopAnimation();const n={x:0,y:0};jz((e=>{const t=this.getAxisMotionValue(e);if(t){const r=t.get();n[e]=function(e,t){let r=.5;const n=gz(e),i=gz(t);return i>n?r=$D(t.min,t.max-n,e.min):n>i&&(r=$D(e.min,e.max-i,t.min)),dL(0,1,r)}({min:r,max:r},this.constraints[e])}}));const{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),jz((t=>{if(!Zz(t,e,null))return;const r=this.getAxisMotionValue(t),{min:i,max:o}=this.constraints[t];r.set(_D(i,o,n[t]))}))}addListeners(){if(!this.visualElement.current)return;Gz.set(this.visualElement,this);const e=bN(this.visualElement.current,"pointerdown",(e=>{const{drag:t,dragListener:r=!0}=this.getProps();t&&r&&this.start(e)})),t=()=>{const{dragConstraints:e}=this.getProps();LM(e)&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,n=r.addEventListener("measure",t);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),t();const i=mN(window,"resize",(()=>this.scalePositionWithinConstraints())),o=r.addEventListener("didUpdate",(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(jz((t=>{const r=this.getAxisMotionValue(t);r&&(this.originPoint[t]+=e[t].translate,r.set(r.get()+e[t].translate))})),this.visualElement.render())}));return()=>{i(),e(),n(),o&&o()}}getProps(){const e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:r=!1,dragPropagation:n=!1,dragConstraints:i=!1,dragElastic:o=Ez,dragMomentum:a=!0}=e;return{...e,drag:t,dragDirectionLock:r,dragPropagation:n,dragConstraints:i,dragElastic:o,dragMomentum:a}}}function Zz(e,t,r){return(!0===t||t===e)&&(null===r||r===e)}const Xz=e=>(t,r)=>{e&&lN.update((()=>e(t,r)))};const Jz={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Qz(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const eU={correct:(e,t)=>{if(!t.target)return e;if("string"===typeof e){if(!SL.test(e))return e;e=parseFloat(e)}return`${Qz(e,t.target.x)}% ${Qz(e,t.target.y)}%`}},tU={correct:(e,{treeScale:t,projectionDelta:r})=>{const n=e,i=ND.parse(e);if(i.length>5)return n;const o=ND.createTransformer(e),a="number"!==typeof i[0]?1:0,s=r.x.scale*t.x,c=r.y.scale*t.y;i[0+a]/=s,i[1+a]/=c;const l=_D(s,c,.5);return"number"===typeof i[2+a]&&(i[2+a]/=l),"number"===typeof i[3+a]&&(i[3+a]/=l),o(i)}};class rU extends t.Component{componentDidMount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:r,layoutId:n}=this.props,{projection:i}=e;var o;o=iU,Object.assign(eL,o),i&&(t.group&&t.group.add(i),r&&r.register&&n&&r.register(i),i.root.didUpdate(),i.addEventListener("animationComplete",(()=>{this.safeToRemove()})),i.setOptions({...i.options,onExitComplete:()=>this.safeToRemove()})),Jz.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:t,visualElement:r,drag:n,isPresent:i}=this.props,o=r.projection;return o?(o.isPresent=i,n||e.layoutDependency!==t||void 0===t?o.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?o.promote():o.relegate()||lN.postRender((()=>{const e=o.getStack();e&&e.members.length||this.safeToRemove()}))),null):null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),queueMicrotask((()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()})))}componentWillUnmount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:r}=this.props,{projection:n}=e;n&&(n.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(n),r&&r.deregister&&r.deregister(n))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function nU(e){const[r,n]=AM(),i=(0,t.useContext)(KM);return t.createElement(rU,{...e,layoutGroup:i,switchLayoutGroup:(0,t.useContext)(WM),isPresent:r,safeToRemove:n})}const iU={borderRadius:{...eU,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:eU,borderTopRightRadius:eU,borderBottomLeftRadius:eU,borderBottomRightRadius:eU,boxShadow:tU},oU=["TopLeft","TopRight","BottomLeft","BottomRight"],aU=oU.length,sU=e=>"string"===typeof e?parseFloat(e):e,cU=e=>"number"===typeof e||SL.test(e);function lU(e,t){return void 0!==e[t]?e[t]:e.borderRadius}const uU=hU(0,.5,cD),dU=hU(.5,.95,aN);function hU(e,t,r){return n=>nt?1:r($D(e,t,n))}function fU(e,t){e.min=t.min,e.max=t.max}function pU(e,t){fU(e.x,t.x),fU(e.y,t.y)}function mU(e,t,r,n,i){return e=Dz(e-=t,1/r,n),void 0!==i&&(e=Dz(e,1/i,n)),e}function gU(e,t,[r,n,i],o,a){!function(e,t=0,r=1,n=.5,i,o=e,a=e){_L.test(t)&&(t=parseFloat(t),t=_D(a.min,a.max,t/100)-a.min);if("number"!==typeof t)return;let s=_D(o.min,o.max,n);e===o&&(s-=t),e.min=mU(e.min,t,r,s,i),e.max=mU(e.max,t,r,s,i)}(e,t[r],t[n],t[i],t.scale,o,a)}const vU=["x","scaleX","originX"],yU=["y","scaleY","originY"];function bU(e,t,r,n){gU(e.x,t,vU,r?r.x:void 0,n?n.x:void 0),gU(e.y,t,yU,r?r.y:void 0,n?n.y:void 0)}function wU(e){return 0===e.translate&&1===e.scale}function xU(e){return wU(e.x)&&wU(e.y)}function _U(e,t){return Math.round(e.x.min)===Math.round(t.x.min)&&Math.round(e.x.max)===Math.round(t.x.max)&&Math.round(e.y.min)===Math.round(t.y.min)&&Math.round(e.y.max)===Math.round(t.y.max)}function SU(e){return gz(e.x)/gz(e.y)}class kU{constructor(){this.members=[]}add(e){NB(this.members,e),e.scheduleRender()}remove(e){if(DB(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){const t=this.members.findIndex((t=>e===t));if(0===t)return!1;let r;for(let n=t;n>=0;n--){const e=this.members[n];if(!1!==e.isPresent){r=e;break}}return!!r&&(this.promote(r),!0)}promote(e,t){const r=this.lead;if(e!==r&&(this.prevLead=r,this.lead=e,e.show(),r)){r.instance&&r.scheduleRender(),e.scheduleRender(),e.resumeFrom=r,t&&(e.resumeFrom.preserveOpacity=!0),r.snapshot&&(e.snapshot=r.snapshot,e.snapshot.latestValues=r.animationValues||r.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:n}=e.options;!1===n&&r.hide()}}exitAnimationComplete(){this.members.forEach((e=>{const{options:t,resumingFrom:r}=e;t.onExitComplete&&t.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()}))}scheduleRender(){this.members.forEach((e=>{e.instance&&e.scheduleRender(!1)}))}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function EU(e,t,r){let n="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(n=`translate3d(${i}px, ${o}px, 0) `),1===t.x&&1===t.y||(n+=`scale(${1/t.x}, ${1/t.y}) `),r){const{rotate:e,rotateX:t,rotateY:i}=r;e&&(n+=`rotate(${e}deg) `),t&&(n+=`rotateX(${t}deg) `),i&&(n+=`rotateY(${i}deg) `)}const a=e.x.scale*t.x,s=e.y.scale*t.y;return 1===a&&1===s||(n+=`scale(${a}, ${s})`),n||"none"}const PU=(e,t)=>e.depth-t.depth;class OU{constructor(){this.children=[],this.isDirty=!1}add(e){NB(this.children,e),this.isDirty=!0}remove(e){DB(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(PU),this.isDirty=!1,this.children.forEach(e)}}const AU=["","X","Y","Z"];let TU=0;const jU={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function CU({attachResizeListener:e,defaultParent:t,measureScroll:r,checkIsScrollRoot:n,resetTransform:i}){return class{constructor(e={},r=(null===t||void 0===t?void 0:t())){this.id=TU++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{var e;jU.totalNodes=jU.resolvedTargetDeltas=jU.recalculatedProjection=0,this.nodes.forEach(MU),this.nodes.forEach(FU),this.nodes.forEach($U),this.nodes.forEach(LU),e=jU,window.MotionDebug&&window.MotionDebug.record(e)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=r?r.root||r:this,this.path=r?[...r.path,r]:[],this.parent=r,this.depth=r?r.depth+1:0;for(let t=0;tthis.root.updateBlockedByResize=!1;e(t,(()=>{this.root.updateBlockedByResize=!0,r&&r(),r=function(e,t){const r=performance.now(),n=({timestamp:i})=>{const o=i-r;o>=t&&(uN(n),e(o-t))};return lN.read(n,!0),()=>uN(n)}(n,250),Jz.hasAnimatedSinceResize&&(Jz.hasAnimatedSinceResize=!1,this.nodes.forEach(UU))}))}i&&this.root.registerSharedNode(i,this),!1!==this.options.animate&&a&&(i||o)&&this.addEventListener("didUpdate",(({delta:e,hasLayoutChanged:t,hasRelativeTargetChanged:r,layout:n})=>{if(this.isTreeAnimationBlocked())return this.target=void 0,void(this.relativeTarget=void 0);const i=this.options.transition||a.getDefaultTransition()||GU,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=a.getProps(),c=!this.targetLayout||!_U(this.targetLayout,n)||r,l=!t&&r;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(e,l);const t={...RB(i,"layout"),onPlay:o,onComplete:s};(a.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t)}else t||UU(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=n}))}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,uN(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(HU),this.animationId++)}getTransformTemplate(){const{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked())return void(this.options.onExitComplete&&this.options.onExitComplete());if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let i=0;ithis.update())))}clearAllSnapshots(){this.nodes.forEach(NU),this.sharedNodes.forEach(VU)}scheduleUpdateProjection(){lN.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){lN.postRender((()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()}))}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure())}updateLayout(){if(!this.instance)return;if(this.updateScroll(),(!this.options.alwaysMeasureLayout||!this.isLead())&&!this.isLayoutDirty)return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let r=0;r{const r=t/1e3;qU(o.x,e.x,r),qU(o.y,e.y,r),this.setTargetDelta(o),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(_z(a,this.layout.layoutBox,this.relativeParent.layout.layoutBox),function(e,t,r,n){KU(e.x,t.x,r.x,n),KU(e.y,t.y,r.y,n)}(this.relativeTarget,this.relativeTargetOrigin,a,r),d&&function(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||(d=Tz()),pU(d,this.relativeTarget)),s&&(this.animationValues=i,function(e,t,r,n,i,o){i?(e.opacity=_D(0,void 0!==r.opacity?r.opacity:1,uU(n)),e.opacityExit=_D(void 0!==t.opacity?t.opacity:1,0,dU(n))):o&&(e.opacity=_D(void 0!==t.opacity?t.opacity:1,void 0!==r.opacity?r.opacity:1,n));for(let a=0;a{Jz.hasAnimatedSinceResize=!0,this.currentAnimation=function(e,t,r){const n=iL(e)?e:FB(e);return n.start(IB("",n,t,r)),n.animation}(0,1e3,{...e,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onComplete:()=>{e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0}))}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const e=this.getLead();let{targetWithTransforms:t,target:r,layout:n,latestValues:i}=e;if(t&&r&&n){if(this!==e&&this.layout&&n&&JU(this.options.animationType,this.layout.layoutBox,n.layoutBox)){r=this.target||Tz();const t=gz(this.layout.layoutBox.x);r.x.min=e.target.x.min,r.x.max=r.x.min+t;const n=gz(this.layout.layoutBox.y);r.y.min=e.target.y.min,r.y.max=r.y.min+n}pU(t,r),Kz(t,i),bz(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new kU);this.sharedNodes.get(e).add(t);const r=t.options.initialPromotionConfig;t.promote({transition:r?r.transition:void 0,preserveFollowOpacity:r&&r.shouldPreserveFollowOpacity?r.shouldPreserveFollowOpacity(t):void 0})}isLead(){const e=this.getStack();return!e||e.lead===this}getLead(){var e;const{layoutId:t}=this.options;return t&&(null===(e=this.getStack())||void 0===e?void 0:e.lead)||this}getPrevLead(){var e;const{layoutId:t}=this.options;return t?null===(e=this.getStack())||void 0===e?void 0:e.prevLead:void 0}getStack(){const{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:r}={}){const n=this.getStack();n&&n.promote(this,r),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){const e=this.getStack();return!!e&&e.relegate(this)}resetRotation(){const{visualElement:e}=this.options;if(!e)return;let t=!1;const{latestValues:r}=e;if((r.rotate||r.rotateX||r.rotateY||r.rotateZ)&&(t=!0),!t)return;const n={};for(let i=0;i{var t;return null===(t=e.currentAnimation)||void 0===t?void 0:t.stop()})),this.root.nodes.forEach(DU),this.root.sharedNodes.clear()}}}function RU(e){e.updateLayout()}function IU(e){var t;const r=(null===(t=e.resumeFrom)||void 0===t?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&r&&e.hasListeners("didUpdate")){const{layoutBox:t,measuredBox:n}=e.layout,{animationType:i}=e.options,o=r.source!==e.layout.source;"size"===i?jz((e=>{const n=o?r.measuredBox[e]:r.layoutBox[e],i=gz(n);n.min=t[e].min,n.max=n.min+i})):JU(i,r.layoutBox,t)&&jz((n=>{const i=o?r.measuredBox[n]:r.layoutBox[n],a=gz(t[n]);i.max=i.min+a,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[n].max=e.relativeTarget[n].min+a)}));const a=Az();bz(a,t,r.layoutBox);const s=Az();o?bz(s,e.applyTransform(n,!0),r.measuredBox):bz(s,t,r.layoutBox);const c=!xU(a);let l=!1;if(!e.resumeFrom){const n=e.getClosestProjectingParent();if(n&&!n.resumeFrom){const{snapshot:i,layout:o}=n;if(i&&o){const a=Tz();_z(a,r.layoutBox,i.layoutBox);const s=Tz();_z(s,t,o.layoutBox),_U(a,s)||(l=!0),n.options.layoutRoot&&(e.relativeTarget=s,e.relativeTargetOrigin=a,e.relativeParent=n)}}}e.notifyListeners("didUpdate",{layout:t,snapshot:r,delta:s,layoutDelta:a,hasLayoutChanged:c,hasRelativeTargetChanged:l})}else if(e.isLead()){const{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function MU(e){jU.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=Boolean(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function LU(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function NU(e){e.clearSnapshot()}function DU(e){e.clearMeasurements()}function BU(e){e.isLayoutDirty=!1}function zU(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function UU(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function FU(e){e.resolveTargetDelta()}function $U(e){e.calcProjection()}function HU(e){e.resetRotation()}function VU(e){e.removeLeadSnapshot()}function qU(e,t,r){e.translate=_D(t.translate,0,r),e.scale=_D(t.scale,1,r),e.origin=t.origin,e.originPoint=t.originPoint}function KU(e,t,r,n){e.min=_D(t.min,r.min,n),e.max=_D(t.max,r.max,n)}function WU(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}const GU={duration:.45,ease:[.4,0,.1,1]},YU=e=>"undefined"!==typeof navigator&&navigator.userAgent.toLowerCase().includes(e),ZU=YU("applewebkit/")&&!YU("chrome/")?Math.round:aN;function XU(e){e.min=ZU(e.min),e.max=ZU(e.max)}function JU(e,t,r){return"position"===e||"preserve-aspect"===e&&!vz(SU(t),SU(r),.2)}const QU=CU({attachResizeListener:(e,t)=>mN(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),eF={current:void 0},tF=CU({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!eF.current){const e=new QU({});e.mount(window),e.setOptions({layoutScroll:!0}),eF.current=e}return eF.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:"none"},checkIsScrollRoot:e=>Boolean("fixed"===window.getComputedStyle(e).position)}),rF={pan:{Feature:class extends ON{constructor(){super(...arguments),this.removePointerDownListener=aN}onPointerDown(e){this.session=new lz(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:t,onPan:r,onPanEnd:n}=this.node.getProps();return{onSessionStart:Xz(e),onStart:Xz(t),onMove:r,onEnd:(e,t)=>{delete this.session,n&&lN.update((()=>n(e,t)))}}}mount(){this.removePointerDownListener=bN(this.node.current,"pointerdown",(e=>this.onPointerDown(e)))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}},drag:{Feature:class extends ON{constructor(e){super(e),this.removeGroupControls=aN,this.removeListeners=aN,this.controls=new Yz(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||aN}unmount(){this.removeGroupControls(),this.removeListeners()}},ProjectionNode:tF,MeasureLayout:nU}},nF=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;const iF=4;function oF(e,t,r=1){$N(r<=iF,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`);const[n,i]=function(e){const t=nF.exec(e);if(!t)return[,];const[,r,n]=t;return[r,n]}(e);if(!n)return;const o=window.getComputedStyle(t).getPropertyValue(n);if(o){const e=o.trim();return LB(e)?parseFloat(e):e}return lL(i)?oF(i,t,r+1):i}const aF=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),sF=e=>aF.has(e),cF=e=>e===hL||e===SL,lF=(e,t)=>parseFloat(e.split(", ")[t]),uF=(e,t)=>(r,{transform:n})=>{if("none"===n||!n)return 0;const i=n.match(/^matrix3d\((.+)\)$/);if(i)return lF(i[1],t);{const t=n.match(/^matrix\((.+)\)$/);return t?lF(t[1],e):0}},dF=new Set(["x","y","z"]),hF=tL.filter((e=>!dF.has(e)));const fF={width:({x:e},{paddingLeft:t="0",paddingRight:r="0"})=>e.max-e.min-parseFloat(t)-parseFloat(r),height:({y:e},{paddingTop:t="0",paddingBottom:r="0"})=>e.max-e.min-parseFloat(t)-parseFloat(r),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:uF(4,13),y:uF(5,14)};fF.translateX=fF.x,fF.translateY=fF.y;const pF=(e,t,r={},n={})=>{t={...t},n={...n};const i=Object.keys(t).filter(sF);let o=[],a=!1;const s=[];if(i.forEach((i=>{const c=e.getValue(i);if(!e.hasValue(i))return;let l=r[i],u=VB(l);const d=t[i];let h;if(eN(d)){const e=d.length,t=null===d[0]?1:0;l=d[t],u=VB(l);for(let r=t;r{const n=e.getValue(r);void 0!==n&&(t.push([r,n.get()]),n.set(r.startsWith("scale")?1:0))})),t.length&&e.render(),t}(e),a=!0),s.push(i),n[i]=void 0!==n[i]?n[i]:t[i],c.jump(d))})),s.length){const r=s.indexOf("height")>=0?window.pageYOffset:null,i=((e,t,r)=>{const n=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:a}=o,s={};"none"===a&&t.setStaticValue("display",e.display||"block"),r.forEach((e=>{s[e]=fF[e](n,o)})),t.render();const c=t.measureViewportBox();return r.forEach((r=>{const n=t.getValue(r);n&&n.jump(s[r]),e[r]=fF[r](c,o)})),e})(t,e,s);return o.length&&o.forEach((([t,r])=>{e.getValue(t).set(r)})),e.render(),RM&&null!==r&&window.scrollTo({top:r}),{target:i,transitionEnd:n}}return{target:t,transitionEnd:n}};function mF(e,t,r,n){return(e=>Object.keys(e).some(sF))(t)?pF(e,t,r,n):{target:t,transitionEnd:n}}const gF=(e,t,r,n)=>{const i=function(e,{...t},r){const n=e.current;if(!(n instanceof Element))return{target:t,transitionEnd:r};r&&(r={...r}),e.values.forEach((e=>{const t=e.get();if(!lL(t))return;const r=oF(t,n);r&&e.set(r)}));for(const i in t){const e=t[i];if(!lL(e))continue;const o=oF(e,n);o&&(t[i]=o,r||(r={}),void 0===r[i]&&(r[i]=e))}return{target:t,transitionEnd:r}}(e,t,n);return mF(e,t=i.target,r,n=i.transitionEnd)},vF={current:null},yF={current:!1};const bF=new WeakMap,wF=Object.keys(qM),xF=wF.length,_F=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],SF=zM.length;class kF{constructor({parent:e,props:t,presenceContext:r,reducedMotionConfig:n,visualState:i},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>lN.render(this.render,!1,!0);const{latestValues:a,renderState:s}=i;this.latestValues=a,this.baseTarget={...a},this.initialValues=t.initial?{...a}:{},this.renderState=s,this.parent=e,this.props=t,this.presenceContext=r,this.depth=e?e.depth+1:0,this.reducedMotionConfig=n,this.options=o,this.isControllingVariants=UM(t),this.isVariantNode=FM(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(e&&e.current);const{willChange:c,...l}=this.scrapeMotionValuesFromProps(t,{});for(const u in l){const e=l[u];void 0!==a[u]&&iL(e)&&(e.set(a[u],!1),MB(c)&&c.add(u))}}scrapeMotionValuesFromProps(e,t){return{}}mount(e){this.current=e,bF.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach(((e,t)=>this.bindToMotionValue(t,e))),yF.current||function(){if(yF.current=!0,RM)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>vF.current=e.matches;e.addListener(t),t()}else vF.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||vF.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){bF.delete(this.current),this.projection&&this.projection.unmount(),uN(this.notifyUpdate),uN(this.render),this.valueSubscriptions.forEach((e=>e())),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features)this.features[e].unmount();this.current=null}bindToMotionValue(e,t){const r=rL.has(e),n=t.on("change",(t=>{this.latestValues[e]=t,this.props.onUpdate&&lN.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)})),i=t.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(e,(()=>{n(),i()}))}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}loadFeatures({children:e,...t},r,n,i){let o,a;for(let s=0;sthis.scheduleRender(),animationType:"string"===typeof r?r:"both",initialPromotionConfig:i,layoutScroll:s,layoutRoot:c})}return a}updateFeatures(){for(const e in this.features){const t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Tz()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}makeTargetAnimatable(e,t=!0){return this.makeTargetAnimatableFromInstance(e,this.props,t)}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let r=0;r<_F.length;r++){const t=_F[r];this.propEventSubscriptions[t]&&(this.propEventSubscriptions[t](),delete this.propEventSubscriptions[t]);const n=e["on"+t];n&&(this.propEventSubscriptions[t]=this.on(t,n))}this.prevMotionValues=function(e,t,r){const{willChange:n}=t;for(const i in t){const o=t[i],a=r[i];if(iL(o))e.addValue(i,o),MB(n)&&n.add(i);else if(iL(a))e.addValue(i,FB(o,{owner:e})),MB(n)&&n.remove(i);else if(a!==o)if(e.hasValue(i)){const t=e.getValue(i);!t.hasAnimated&&t.set(o)}else{const t=e.getStaticValue(i);e.addValue(i,FB(void 0!==t?t:o,{owner:e}))}}for(const i in r)void 0===t[i]&&e.removeValue(i);return t}(this,this.scrapeMotionValuesFromProps(e,this.prevProps),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}getVariantContext(e=!1){if(e)return this.parent?this.parent.getVariantContext():void 0;if(!this.isControllingVariants){const e=this.parent&&this.parent.getVariantContext()||{};return void 0!==this.props.initial&&(e.initial=this.props.initial),e}const t={};for(let r=0;rt.variantChildren.delete(e)}addValue(e,t){t!==this.values.get(e)&&(this.removeValue(e),this.bindToMotionValue(e,t)),this.values.set(e,t),this.latestValues[e]=t.get()}removeValue(e){this.values.delete(e);const t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let r=this.values.get(e);return void 0===r&&void 0!==t&&(r=FB(t,{owner:this}),this.addValue(e,r)),r}readValue(e){var t;return void 0===this.latestValues[e]&&this.current?null!==(t=this.getBaseTargetFromProps(this.props,e))&&void 0!==t?t:this.readValueFromInstance(this.current,e,this.options):this.latestValues[e]}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const{initial:r}=this.props,n="string"===typeof r||"object"===typeof r?null===(t=JL(this.props,r))||void 0===t?void 0:t[e]:void 0;if(r&&void 0!==n)return n;const i=this.getBaseTargetFromProps(this.props,e);return void 0===i||iL(i)?void 0!==this.initialValues[e]&&void 0===n?void 0:this.baseTarget[e]:i}on(e,t){return this.events[e]||(this.events[e]=new BB),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}}class EF extends kF{sortInstanceNodePosition(e,t){return 2&e.compareDocumentPosition(t)?1:-1}getBaseTargetFromProps(e,t){return e.style?e.style[t]:void 0}removeValueFromRenderState(e,{vars:t,style:r}){delete t[e],delete r[e]}makeTargetAnimatableFromInstance({transition:e,transitionEnd:t,...r},{transformValues:n},i){let o=function(e,t,r){const n={};for(const i in e){const e=YB(i,t);if(void 0!==e)n[i]=e;else{const e=r.getValue(i);e&&(n[i]=e.get())}}return n}(r,e||{},this);if(n&&(t&&(t=n(t)),r&&(r=n(r)),o&&(o=n(o))),i){!function(e,t,r){var n,i;const o=Object.keys(t).filter((t=>!e.hasValue(t))),a=o.length;if(a)for(let s=0;s{this.current&&(this.current.textContent=`${e}`)})))}renderInstance(e,t,r,n){WL(e,t,r,n)}}class OF extends EF{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(rL.has(t)){const e=AB(t);return e&&e.default||0}return t=GL.has(t)?t:KL(t),e.getAttribute(t)}measureInstanceViewportBox(){return Tz()}scrapeMotionValuesFromProps(e,t){return XL(e,t)}build(e,t,r,n){FL(e,t,r,this.isSVGTag,n.transformTemplate)}renderInstance(e,t,r,n){YL(e,t,0,n)}mount(e){this.isSVGTag=HL(e.tagName),super.mount(e)}}const AF=(e,t)=>QM(e)?new OF(t,{enableHardwareAcceleration:!1}):new PF(t,{enableHardwareAcceleration:!0}),TF={...sz,...DN,...rF,...{layout:{ProjectionNode:tF,MeasureLayout:nU}}},jF=XM(((e,t)=>function(e,{forwardMotionProps:t=!1},r,n){return{...QM(e)?fN:pN,preloadedFeatures:r,useRender:qL(t),createVisualElement:n,Component:e}}(e,t,TF,AF)));var CF={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let n=["top-right","bottom-right"].includes(t)?1:-1;return"bottom"===t&&(n=1),{opacity:0,[r]:24*n}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},RF=(0,t.memo)((e=>{const{id:r,message:n,onCloseComplete:i,onRequestRemove:o,requestClose:a=!1,position:s="bottom",duration:c=5e3,containerStyle:l,motionVariants:u=CF,toastSpacing:d="0.5rem"}=e,[h,f]=(0,t.useState)(c),p=TM();PM((()=>{p||null==i||i()}),[p]),PM((()=>{f(c)}),[c]);const m=()=>{p&&o()};(0,t.useEffect)((()=>{p&&a&&o()}),[p,a,o]),function(e,r){const n=EM(e);(0,t.useEffect)((()=>{if(null==r)return;let e=null;return e=window.setTimeout((()=>{n()}),r),()=>{e&&window.clearTimeout(e)}}),[r,n])}(m,h);const g=(0,t.useMemo)((()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:d,...l})),[l,d]),v=(0,t.useMemo)((()=>function(e){let t="center";return e.includes("right")&&(t="flex-end"),e.includes("left")&&(t="flex-start"),{display:"flex",flexDirection:"column",alignItems:t}}(s)),[s]);return(0,Yn.jsx)(jF.div,{layout:!0,className:"chakra-toast",variants:u,initial:"initial",animate:"animate",exit:"exit",onHoverStart:()=>f(null),onHoverEnd:()=>f(c),custom:{position:s},style:v,children:(0,Yn.jsx)(Gn.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:g,children:ae(n,{id:r,onClose:m})})})}));function IF(e,t){var r;const n=null!=e?e:"bottom",i={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[n];return null!=(r=null==i?void 0:i[t])?r:n}RF.displayName="ToastComponent";var MF={path:(0,Yn.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",children:[(0,Yn.jsx)("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),(0,Yn.jsx)("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),(0,Yn.jsx)("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},LF=re(((e,t)=>{const{as:r,viewBox:n,color:i="currentColor",focusable:o=!1,children:a,className:s,__css:c,...l}=e,u={ref:t,focusable:o,className:ne("chakra-icon",s),__css:{w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...c,...si("Icon",e)}},d=null!=n?n:MF.viewBox;if(r&&"string"!==typeof r)return(0,Yn.jsx)(Gn.svg,{as:r,...u,...l});const h=null!=a?a:MF.path;return(0,Yn.jsx)(Gn.svg,{verticalAlign:"middle",viewBox:d,...u,...l,children:h})}));LF.displayName="Icon";function NF(e){return(0,Yn.jsx)(LF,{viewBox:"0 0 24 24",...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[DF,BF]=ui({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[zF,UF]=ui({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),FF={info:{icon:function(e){return(0,Yn.jsx)(LF,{viewBox:"0 0 24 24",...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})},colorScheme:"blue"},warning:{icon:NF,colorScheme:"orange"},success:{icon:function(e){return(0,Yn.jsx)(LF,{viewBox:"0 0 24 24",...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})},colorScheme:"green"},error:{icon:NF,colorScheme:"red"},loading:{icon:yi,colorScheme:"blue"}};var $F=re((function(e,t){var r;const{status:n="info",addRole:i=!0,...o}=Jt(e),a=null!=(r=e.colorScheme)?r:function(e){return FF[e].colorScheme}(n),s=ci("Alert",{...e,colorScheme:a}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...s.container};return(0,Yn.jsx)(DF,{value:{status:n},children:(0,Yn.jsx)(zF,{value:s,children:(0,Yn.jsx)(Gn.div,{"data-status":n,role:i?"alert":void 0,ref:t,...o,className:ne("chakra-alert",e.className),__css:c})})})}));function HF(e){const{status:t}=BF(),r=function(e){return FF[e].icon}(t),n=UF(),i="loading"===t?n.spinner:n.icon;return(0,Yn.jsx)(Gn.span,{display:"inherit","data-status":t,...e,className:ne("chakra-alert__icon",e.className),__css:i,children:e.children||(0,Yn.jsx)(r,{h:"100%",w:"100%"})})}$F.displayName="Alert",HF.displayName="AlertIcon";var VF=re((function(e,t){const r=UF(),{status:n}=BF();return(0,Yn.jsx)(Gn.div,{ref:t,"data-status":n,...e,className:ne("chakra-alert__title",e.className),__css:r.title})}));VF.displayName="AlertTitle";var qF=re((function(e,t){const r=UF(),{status:n}=BF(),i={display:"inline",...r.description};return(0,Yn.jsx)(Gn.div,{ref:t,"data-status":n,...e,className:ne("chakra-alert__desc",e.className),__css:i})}));function KF(e){return(0,Yn.jsx)(LF,{focusable:"false","aria-hidden":!0,...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}qF.displayName="AlertDescription";var WF=re((function(e,t){const r=si("CloseButton",e),{children:n,isDisabled:i,__css:o,...a}=Jt(e);return(0,Yn.jsx)(Gn.button,{type:"button","aria-label":"Close",ref:t,disabled:i,__css:{outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,...r,...o},...a,children:n||(0,Yn.jsx)(KF,{width:"1em",height:"1em"})})}));WF.displayName="CloseButton";var GF=function(e){let t=e;const r=new Set,n=e=>{t=e(t),r.forEach((e=>e()))};return{getState:()=>t,subscribe:t=>(r.add(t),()=>{n((()=>e)),r.delete(t)}),removeToast:(e,t)=>{n((r=>({...r,[t]:r[t].filter((t=>t.id!=e))})))},notify:(e,t)=>{const r=function(e,t={}){var r,n;YF+=1;const i=null!=(r=t.id)?r:YF,o=null!=(n=t.position)?n:"bottom";return{id:i,message:e,position:o,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>GF.removeToast(String(i),o),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}(e,t),{position:i,id:o}=r;return n((e=>{var t,n;const o=i.includes("top")?[r,...null!=(t=e[i])?t:[]]:[...null!=(n=e[i])?n:[],r];return{...e,[i]:o}})),o},update:(e,t)=>{e&&n((r=>{const n={...r},{position:i,index:o}=_M(n,e);return i&&-1!==o&&(n[i][o]={...n[i][o],...t,message:XF(t)}),n}))},closeAll:({positions:e}={})=>{n((t=>(null!=e?e:["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce(((e,r)=>(e[r]=t[r].map((e=>({...e,requestClose:!0}))),e)),{...t})))},close:e=>{n((t=>{const r=SM(t,e);return r?{...t,[r]:t[r].map((t=>t.id==e?{...t,requestClose:!0}:t))}:t}))},isActive:e=>Boolean(_M(GF.getState(),e).position)}}({top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]});var YF=0;var ZF=e=>{const{status:t,variant:r="solid",id:n,title:i,isClosable:o,onClose:a,description:s,colorScheme:c,icon:l}=e,u=n?{root:`toast-${n}`,title:`toast-${n}-title`,description:`toast-${n}-description`}:void 0;return(0,Yn.jsxs)($F,{addRole:!1,status:t,variant:r,id:null==u?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:c,children:[(0,Yn.jsx)(HF,{children:l}),(0,Yn.jsxs)(Gn.div,{flex:"1",maxWidth:"100%",children:[i&&(0,Yn.jsx)(VF,{id:null==u?void 0:u.title,children:i}),s&&(0,Yn.jsx)(qF,{id:null==u?void 0:u.description,display:"block",children:s})]}),o&&(0,Yn.jsx)(WF,{size:"sm",onClick:a,position:"absolute",insetEnd:1,top:1})]})};function XF(e={}){const{render:t,toastComponent:r=ZF}=e;return n=>"function"===typeof t?t({...n,...e}):(0,Yn.jsx)(r,{...n,...e})}function JF(){const e=(0,t.useRef)(!1);return IM((()=>(e.current=!0,()=>{e.current=!1})),[]),e}class QF extends t.Component{getSnapshotBeforeUpdate(e){const t=this.props.childRef.current;if(t&&e.isPresent&&!this.props.isPresent){const e=this.props.sizeRef.current;e.height=t.offsetHeight||0,e.width=t.offsetWidth||0,e.top=t.offsetTop,e.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function e$({children:e,isPresent:r}){const n=(0,t.useId)(),i=(0,t.useRef)(null),o=(0,t.useRef)({width:0,height:0,top:0,left:0});return(0,t.useInsertionEffect)((()=>{const{width:e,height:t,top:a,left:s}=o.current;if(r||!i.current||!e||!t)return;i.current.dataset.motionPopId=n;const c=document.createElement("style");return document.head.appendChild(c),c.sheet&&c.sheet.insertRule(`\n [data-motion-pop-id="${n}"] {\n position: absolute !important;\n width: ${e}px !important;\n height: ${t}px !important;\n top: ${a}px !important;\n left: ${s}px !important;\n }\n `),()=>{document.head.removeChild(c)}}),[r]),t.createElement(QF,{isPresent:r,childRef:i,sizeRef:o},t.cloneElement(e,{ref:i}))}const t$=({children:e,initial:r,isPresent:n,onExitComplete:i,custom:o,presenceAffectsLayout:a,mode:s})=>{const c=QL(r$),l=(0,t.useId)(),u=(0,t.useMemo)((()=>({id:l,initial:r,isPresent:n,custom:o,onExitComplete:e=>{c.set(e,!0);for(const t of c.values())if(!t)return;i&&i()},register:e=>(c.set(e,!1),()=>c.delete(e))})),a?void 0:[n]);return(0,t.useMemo)((()=>{c.forEach(((e,t)=>c.set(t,!1)))}),[n]),t.useEffect((()=>{!n&&!c.size&&i&&i()}),[n]),"popLayout"===s&&(e=t.createElement(e$,{isPresent:n},e)),t.createElement(OM.Provider,{value:u},e)};function r$(){return new Map}const n$=e=>e.key||"";const i$=({children:e,custom:r,initial:n=!0,onExitComplete:i,exitBeforeEnter:o,presenceAffectsLayout:a=!0,mode:s="sync"})=>{$N(!o,"Replace exitBeforeEnter with mode='wait'");const c=(0,t.useContext)(KM).forceRender||function(){const e=JF(),[r,n]=(0,t.useState)(0),i=(0,t.useCallback)((()=>{e.current&&n(r+1)}),[r]);return[(0,t.useCallback)((()=>lN.postRender(i)),[i]),r]}()[0],l=JF(),u=function(e){const r=[];return t.Children.forEach(e,(e=>{(0,t.isValidElement)(e)&&r.push(e)})),r}(e);let d=u;const h=(0,t.useRef)(new Map).current,f=(0,t.useRef)(d),p=(0,t.useRef)(new Map).current,m=(0,t.useRef)(!0);var g;if(IM((()=>{m.current=!1,function(e,t){e.forEach((e=>{const r=n$(e);t.set(r,e)}))}(u,p),f.current=d})),g=()=>{m.current=!0,p.clear(),h.clear()},(0,t.useEffect)((()=>()=>g()),[]),m.current)return t.createElement(t.Fragment,null,d.map((e=>t.createElement(t$,{key:n$(e),isPresent:!0,initial:!!n&&void 0,presenceAffectsLayout:a,mode:s},e))));d=[...d];const v=f.current.map(n$),y=u.map(n$),b=v.length;for(let t=0;t{if(-1!==y.indexOf(n))return;const o=p.get(n);if(!o)return;const m=v.indexOf(n);let g=e;if(!g){const e=()=>{p.delete(n),h.delete(n);const e=f.current.findIndex((e=>e.key===n));if(f.current.splice(e,1),!h.size){if(f.current=u,!1===l.current)return;c(),i&&i()}};g=t.createElement(t$,{key:n$(o),isPresent:!1,onExitComplete:e,custom:r,presenceAffectsLayout:a,mode:s},o),h.set(n,g)}d.splice(m,0,g)})),d=d.map((e=>{const r=e.key;return h.has(r)?e:t.createElement(t$,{key:n$(e),isPresent:!0,presenceAffectsLayout:a,mode:s},e)})),t.createElement(t.Fragment,null,h.size?d:d.map((e=>(0,t.cloneElement)(e))))};var[o$,a$]=ui({strict:!1,name:"PortalContext"}),s$="chakra-portal",c$=e=>(0,Yn.jsx)("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),l$=e=>{const{appendToParentPortal:r,children:n}=e,[i,o]=(0,t.useState)(null),a=(0,t.useRef)(null),[,s]=(0,t.useState)({});(0,t.useEffect)((()=>s({})),[]);const c=a$(),l=gO();jO((()=>{if(!i)return;const e=i.ownerDocument,t=r&&null!=c?c:e.body;if(!t)return;a.current=e.createElement("div"),a.current.className=s$,t.appendChild(a.current),s({});const n=a.current;return()=>{t.contains(n)&&t.removeChild(n)}}),[i]);const u=(null==l?void 0:l.zIndex)?(0,Yn.jsx)(c$,{zIndex:null==l?void 0:l.zIndex,children:n}):n;return a.current?(0,Ri.createPortal)((0,Yn.jsx)(o$,{value:a.current,children:u}),a.current):(0,Yn.jsx)("span",{ref:e=>{e&&o(e)}})},u$=e=>{const{children:r,containerRef:n,appendToParentPortal:i}=e,o=n.current,a=null!=o?o:"undefined"!==typeof window?document.body:void 0,s=(0,t.useMemo)((()=>{const e=null==o?void 0:o.ownerDocument.createElement("div");return e&&(e.className=s$),e}),[o]),[,c]=(0,t.useState)({});return jO((()=>c({})),[]),jO((()=>{if(s&&a)return a.appendChild(s),()=>{a.removeChild(s)}}),[s,a]),a&&s?(0,Ri.createPortal)((0,Yn.jsx)(o$,{value:i?s:null,children:r}),s):null};function d$(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...n}=t;return r?(0,Yn.jsx)(u$,{containerRef:r,...n}):(0,Yn.jsx)(l$,{...n})}d$.className=s$,d$.selector=".chakra-portal",d$.displayName="Portal";var[h$,f$]=ui({name:"ToastOptionsContext",strict:!1}),p$=e=>{const r=(0,t.useSyncExternalStore)(GF.subscribe,GF.getState,GF.getState),{motionVariants:n,component:i=RF,portalProps:o}=e,a=Object.keys(r).map((e=>{const t=r[e];return(0,Yn.jsx)("div",{role:"region","aria-live":"polite","aria-label":`Notifications-${e}`,id:`chakra-toast-manager-${e}`,style:kM(e),children:(0,Yn.jsx)(i$,{initial:!1,children:t.map((e=>(0,Yn.jsx)(i,{motionVariants:n,...e},e.id)))})},e)}));return(0,Yn.jsx)(d$,{...o,children:a})},m$=e=>function({children:t,theme:r=e,toastOptions:n,...i}){return(0,Yn.jsxs)(NO,{theme:r,...i,children:[(0,Yn.jsx)(h$,{value:null==n?void 0:n.defaultOptions,children:t}),(0,Yn.jsx)(p$,{...n})]})},g$=m$(bM),v$=(m$(wM),new Set(["dark","light","system"]));function y$(e={}){const{initialColorMode:t="light",type:r="localStorage",storageKey:n="chakra-ui-color-mode"}=e,i=function(e){let t=e;return v$.has(t)||(t="light"),t}(t);return`!${"cookie"===r?`(function(){try{var a=function(o){var l="(prefers-color-scheme: dark)",v=window.matchMedia(l).matches?"dark":"light",e=o==="system"?v:o,d=document.documentElement,m=document.body,i="chakra-ui-light",n="chakra-ui-dark",s=e==="dark";return m.classList.add(s?n:i),m.classList.remove(s?i:n),d.style.colorScheme=e,d.dataset.theme=e,e},u=a,h="${i}",r="${n}",t=document.cookie.match(new RegExp("(^| )".concat(r,"=([^;]+)"))),c=t?t[2]:null;c?a(c):document.cookie="".concat(r,"=").concat(a(h),"; max-age=31536000; path=/")}catch(a){}})();\n `:`(function(){try{var a=function(c){var v="(prefers-color-scheme: dark)",h=window.matchMedia(v).matches?"dark":"light",r=c==="system"?h:c,o=document.documentElement,s=document.body,l="chakra-ui-light",d="chakra-ui-dark",i=r==="dark";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.theme=r,r},n=a,m="${i}",e="${n}",t=localStorage.getItem(e);t?a(t):localStorage.setItem(e,a(m))}catch(a){}})();\n `}`.trim()}function b$(e={}){const{nonce:t}=e;return(0,Yn.jsx)("script",{id:"chakra-script",nonce:t,dangerouslySetInnerHTML:{__html:y$(e)}})}var w$=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function x$(e){return"function"===typeof e}var _$=e=>function(...t){let r=[...t],n=t[t.length-1];var i;return ie(i=n)&&w$.every((e=>Object.prototype.hasOwnProperty.call(i,e)))&&r.length>1?r=r.slice(0,r.length-1):n=e,function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}(...r.map((e=>t=>x$(e)?e(t):function(...e){return he({},...e,k$)}(t,e))))(n)},S$=_$(bM);_$(wM);function k$(e,t,r,n){if((x$(e)||x$(t))&&Object.prototype.hasOwnProperty.call(n,r))return(...r)=>{const n=x$(e)?e(...r):e,i=x$(t)?t(...r):t;return he({},n,i,k$)}}const E$={orange:"#FB4F57",orangeL:"#FC7884",blue:"#0D99FF",blueL:"#4FA2FF",green:"#00C39A",greenL:"#00E7B6",black:"#000000",white:"#FFFFFF",gray:{900:"#121212",800:"#181818",700:"#282828",600:"#2C2B2B",500:"#414141",450:"#707070",400:"#C2C2C2",300:"#D6D6D6",200:"#EBEBEB",100:"#F0F0F0",50:"#F5F5F5"}},P$={borderRadius:"full",bg:E$.gray[600],_disabled:{bg:E$.gray[700],color:E$.gray[450]},_hover:{color:E$.green,bg:E$.gray[500],_disabled:{bg:E$.gray[700],color:E$.gray[450]}}},O$={sizes:{md:{height:"38px",fontSize:"14px",minWidth:"38px"},lg:{height:"48px",fontSize:"16px",minWidth:"48px"}},variants:{primary:{bg:E$.blue,_disabled:{bg:E$.gray[500],color:E$.gray[450],opacity:1},_hover:{_disabled:{bg:E$.gray[500],color:E$.gray[450],opacity:1},bg:E$.blueL}},secondary:{border:"1px solid",borderColor:E$.green,_disabled:{color:E$.gray[450],borderColor:E$.gray[500],opacity:1},_hover:{bg:E$.green,_disabled:{color:E$.gray[450],borderColor:E$.gray[500],opacity:1}}},tertiary:{bg:"transparent",border:"1px solid",borderColor:E$.gray[500],_disabled:{color:E$.gray[450],opacity:1},_hover:{border:"1px solid",borderColor:E$.gray[600],bg:E$.gray[600],_disabled:{borderColor:E$.gray[500],color:E$.gray[450],opacity:1}}},warning:{bg:E$.orange,_disabled:{bg:E$.gray[500],color:E$.gray[450],opacity:1},_hover:{bg:E$.orangeL,_disabled:{bg:E$.gray[500],color:E$.gray[450],opacity:1}}},circle_without_hover_color:{...P$,_hover:{color:E$.green,_disabled:{bg:E$.gray[700],color:E$.gray[450]}}},circle_without_color:P$,circle:{...P$,color:E$.gray[300]},specialCTA:{color:E$.greenL,_hover:{color:E$.green}},CTAWithIcon:{padding:"8px 7px",color:E$.gray[300],_hover:{color:E$.green},_disabled:{color:E$.gray[450]}},popover:{color:E$.gray[300],stroke:E$.gray[450],width:"100%",padding:0,height:"24px",justifyContent:"end",_hover:{color:E$.green,stroke:E$.green}}},defaultProps:{variant:"primary",size:"md"}},{definePartsStyle:A$,defineMultiStyleConfig:T$}=Yt(lA.keys),j$=T$({baseStyle:A$({icon:{color:"white"},control:{marginTop:"-20px",width:"20px",height:"20px",borderWidth:"2px",borderColor:E$.gray[400],borderRadius:"2px",_checked:{borderColor:E$.green,bg:E$.green,color:E$.white,_hover:{bg:E$.green,borderColor:E$.green}}}})}),{definePartsStyle:C$,defineMultiStyleConfig:R$}=Yt(uA.keys),I$=R$({baseStyle:C$((e=>({body:{padding:"18px 30px 30px 30px"},dialog:{bg:E$.gray[900]}}))),sizes:{md:{dialog:{maxW:"594px"}}},defaultProps:{size:"md"}}),{definePartsStyle:M$,defineMultiStyleConfig:L$}=Yt(mA.keys),N$=L$({variants:{onboardingNotice:M$({item:{"&::marker":{color:E$.gray[400]}}})}}),{definePartsStyle:D$,defineMultiStyleConfig:B$}=Yt(vA.keys),z$={top:"10px",position:"absolute",color:E$.gray[400],borderRadius:"18px"},U$={...z$,insetEnd:"10px"},F$={...z$,insetStart:"10px"},$$=B$({baseStyle:D$({dialog:{padding:"40px",_dark:{bg:E$.gray[900],border:"1px solid",borderColor:E$.gray[700],borderRadius:"8px"}},overlay:{_dark:{bg:"rgba(0, 0, 0, 0.85)"}},closeButton:U$,body:{padding:0},footer:{padding:"32px 0 0 0"},header:{padding:0}}),sizes:{md:{dialog:{maxW:"482px"}}}}),{definePartsStyle:H$,defineMultiStyleConfig:V$}=Yt(xA.keys),q$=V$({variants:{primary:H$({control:{height:"16px",width:"16px",_dark:{borderColor:E$.gray[400]},_checked:{backgroundColor:E$.green,borderColor:E$.green,border:"none",color:"white"}}})}}),{definePartsStyle:K$,defineMultiStyleConfig:W$}=Yt(OA.keys),G$={xs:{fontSize:"12px"},sm:{fontSize:"14px"},md:{fontSize:"16px"},lg:{fontSize:"18px"},xl:{fontSize:"20px"},"2xl":{fontSize:"24px"},"3xl":{fontSize:"30px"},"4xl":{fontSize:"36px"},"5xl":{fontSize:"48px"},"6xl":{fontSize:"69px"}},Y$=S$({components:{Tabs:W$({baseStyle:K$({tab:{_selected:{fontWeight:600,color:E$.white,borderColor:E$.orange,borderBottom:`2px solid ${E$.orange}`}}})}),Text:{baseStyle:{fontWeight:"400"},sizes:G$},Heading:{baseStyle:{fontWeight:"600"},sizes:G$},Checkbox:j$,Input:{sizes:{md:{field:{height:"48px"}}},defaultProps:{variant:"filled"},variants:{filled:{field:{bg:E$.gray[800],border:"1px solid",borderColor:E$.gray[500],_invalid:{borderColor:E$.orange},_hover:{bg:E$.gray[800]},_focusVisible:{bg:E$.gray[800],borderColor:E$.gray[450]}}}}},Button:O$,FormLabel:{baseStyle:{fontWeight:"600",marginBottom:"12px",size:"md"},sizes:G$},Modal:$$,Drawer:I$,Radio:q$,List:N$},config:{initialColorMode:"dark",useSystemColorMode:!1},colors:{umami:E$,text:{dark:E$.gray[400]}},styles:{global:{body:{bg:E$.black,color:E$.white}}}}),Z$=e=>(0,Yn.jsxs)(g$,{theme:Y$,children:[(0,Yn.jsx)(b$,{initialColorMode:Y$.config.initialColorMode}),e.children]});function X$(){return X$=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function aH(e,t,r,n){void 0===n&&(n={});let{window:i=document.defaultView,v5Compat:o=!1}=n,a=i.history,s=J$.Pop,c=null,l=u();function u(){return(a.state||{idx:null}).idx}function d(){s=J$.Pop;let e=u(),t=null==e?null:e-l;l=e,c&&c({action:s,location:f.location,delta:t})}function h(e){let t="null"!==i.location.origin?i.location.origin:i.location.href,r="string"===typeof e?e:iH(e);return eH(t,"No window.location.(origin|href) available to create URL for href: "+r),new URL(r,t)}null==l&&(l=0,a.replaceState(X$({},a.state,{idx:l}),""));let f={get action(){return s},get location(){return e(i,a)},listen(e){if(c)throw new Error("A history only accepts one active listener");return i.addEventListener(Q$,d),c=e,()=>{i.removeEventListener(Q$,d),c=null}},createHref:e=>t(i,e),createURL:h,encodeLocation(e){let t=h(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){s=J$.Push;let n=nH(f.location,e,t);r&&r(n,e),l=u()+1;let d=rH(n,l),h=f.createHref(n);try{a.pushState(d,"",h)}catch(p){if(p instanceof DOMException&&"DataCloneError"===p.name)throw p;i.location.assign(h)}o&&c&&c({action:s,location:f.location,delta:1})},replace:function(e,t){s=J$.Replace;let n=nH(f.location,e,t);r&&r(n,e),l=u();let i=rH(n,l),d=f.createHref(n);a.replaceState(i,"",d),o&&c&&c({action:s,location:f.location,delta:0})},go:e=>a.go(e)};return f}var sH;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(sH||(sH={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function cH(e,t,r){void 0===r&&(r="/");let n=_H(("string"===typeof t?oH(t):t).pathname||"/",r);if(null==n)return null;let i=lH(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let r=e.length===t.length&&e.slice(0,-1).every(((e,r)=>e===t[r]));return r?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(i);let o=null;for(let a=0;null==o&&a{let a={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:i,route:e};a.relativePath.startsWith("/")&&(eH(a.relativePath.startsWith(n),'Absolute route path "'+a.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),a.relativePath=a.relativePath.slice(n.length));let s=OH([n,a.relativePath]),c=r.concat(a);e.children&&e.children.length>0&&(eH(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),lH(e.children,t,c,s)),(null!=e.path||e.index)&&t.push({path:s,score:yH(s,e.index),routesMeta:c})};return e.forEach(((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let n of uH(e.path))i(e,t,n);else i(e,t)})),t}function uH(e){let t=e.split("/");if(0===t.length)return[];let[r,...n]=t,i=r.endsWith("?"),o=r.replace(/\?$/,"");if(0===n.length)return i?[o,""]:[o];let a=uH(n.join("/")),s=[];return s.push(...a.map((e=>""===e?o:[o,e].join("/")))),i&&s.push(...a),s.map((t=>e.startsWith("/")&&""===t?"/":t))}const dH=/^:\w+$/,hH=3,fH=2,pH=1,mH=10,gH=-2,vH=e=>"*"===e;function yH(e,t){let r=e.split("/"),n=r.length;return r.some(vH)&&(n+=gH),t&&(n+=fH),r.filter((e=>!vH(e))).reduce(((e,t)=>e+(dH.test(t)?hH:""===t?pH:mH)),n)}function bH(e,t){let{routesMeta:r}=e,n={},i="/",o=[];for(let a=0;a(n.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(n.push({paramName:"*"}),i+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?i+="\\/*$":""!==e&&"/"!==e&&(i+="(?:(?=\\/|$))");let o=new RegExp(i,t?void 0:"i");return[o,n]}(e.path,e.caseSensitive,e.end),i=t.match(r);if(!i)return null;let o=i[0],a=o.replace(/(.)\/+$/,"$1"),s=i.slice(1),c=n.reduce(((e,t,r)=>{let{paramName:n,isOptional:i}=t;if("*"===n){let e=s[r]||"";a=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const c=s[r];return e[n]=i&&!c?void 0:function(e,t){try{return decodeURIComponent(e)}catch(r){return tH(!1,'The value for the URL param "'+t+'" will not be decoded because the string "'+e+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+r+")."),e}}(c||"",n),e}),{});return{params:c,pathname:o,pathnameBase:a,pattern:e}}function xH(e){try{return decodeURI(e)}catch(t){return tH(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function _H(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function SH(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in and the router will parse it for you.'}function kH(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function EH(e,t){let r=kH(e);return t?r.map(((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)):r.map((e=>e.pathnameBase))}function PH(e,t,r,n){let i;void 0===n&&(n=!1),"string"===typeof e?i=oH(e):(i=X$({},e),eH(!i.pathname||!i.pathname.includes("?"),SH("?","pathname","search",i)),eH(!i.pathname||!i.pathname.includes("#"),SH("#","pathname","hash",i)),eH(!i.search||!i.search.includes("#"),SH("#","search","hash",i)));let o,a=""===e||""===i.pathname,s=a?"/":i.pathname;if(null==s)o=r;else{let e=t.length-1;if(!n&&s.startsWith("..")){let t=s.split("/");for(;".."===t[0];)t.shift(),e-=1;i.pathname=t.join("/")}o=e>=0?t[e]:"/"}let c=function(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:i=""}="string"===typeof e?oH(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)})),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:TH(n),hash:jH(i)}}(i,o),l=s&&"/"!==s&&s.endsWith("/"),u=(a||"."===s)&&r.endsWith("/");return c.pathname.endsWith("/")||!l&&!u||(c.pathname+="/"),c}const OH=e=>e.join("/").replace(/\/\/+/g,"/"),AH=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),TH=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",jH=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;function CH(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const RH=["post","put","patch","delete"],IH=(new Set(RH),["get",...RH]);new Set(IH),new Set([301,302,303,307,308]),new Set([307,308]);Symbol("deferred");function MH(){return MH=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.current=!0}));let i=t.useCallback((function(t,i){void 0===i&&(i={}),n.current&&("number"===typeof t?e.navigate(t):e.navigate(t,MH({fromRouteId:r},i)))}),[e,r]);return i}():function(){FH()||eH(!1);let e=t.useContext(LH),{basename:r,future:n,navigator:i}=t.useContext(DH),{matches:o}=t.useContext(zH),{pathname:a}=$H(),s=JSON.stringify(EH(o,n.v7_relativeSplatPath)),c=t.useRef(!1);HH((()=>{c.current=!0}));let l=t.useCallback((function(t,n){if(void 0===n&&(n={}),!c.current)return;if("number"===typeof t)return void i.go(t);let o=PH(t,JSON.parse(s),a,"path"===n.relative);null==e&&"/"!==r&&(o.pathname="/"===o.pathname?r:OH([r,o.pathname])),(n.replace?i.replace:i.push)(o,n.state,n)}),[r,i,s,a,e]);return l}()}function qH(e,r){let{relative:n}=void 0===r?{}:r,{future:i}=t.useContext(DH),{matches:o}=t.useContext(zH),{pathname:a}=$H(),s=JSON.stringify(EH(o,i.v7_relativeSplatPath));return t.useMemo((()=>PH(e,JSON.parse(s),a,"path"===n)),[e,s,a,n])}function KH(e,r,n,i){FH()||eH(!1);let{navigator:o}=t.useContext(DH),{matches:a}=t.useContext(zH),s=a[a.length-1],c=s?s.params:{},l=(s&&s.pathname,s?s.pathnameBase:"/");s&&s.route;let u,d=$H();if(r){var h;let e="string"===typeof r?oH(r):r;"/"===l||(null==(h=e.pathname)?void 0:h.startsWith(l))||eH(!1),u=e}else u=d;let f=u.pathname||"/",p=cH(e,{pathname:"/"===l?f:f.slice(l.length)||"/"});let m=XH(p&&p.map((e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:OH([l,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?l:OH([l,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),a,n,i);return r&&m?t.createElement(BH.Provider,{value:{location:MH({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:J$.Pop}},m):m}function WH(){let e=function(){var e;let r=t.useContext(UH),n=tV(QH.UseRouteError),i=rV(QH.UseRouteError);if(void 0!==r)return r;return null==(e=n.errors)?void 0:e[i]}(),r=CH(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:i};return t.createElement(t.Fragment,null,t.createElement("h2",null,"Unexpected Application Error!"),t.createElement("h3",{style:{fontStyle:"italic"}},r),n?t.createElement("pre",{style:o},n):null,null)}const GH=t.createElement(WH,null);class YH extends t.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?t.createElement(zH.Provider,{value:this.props.routeContext},t.createElement(UH.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ZH(e){let{routeContext:r,match:n,children:i}=e,o=t.useContext(LH);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),t.createElement(zH.Provider,{value:r},i)}function XH(e,r,n,i){var o;if(void 0===r&&(r=[]),void 0===n&&(n=null),void 0===i&&(i=null),null==e){var a;if(null==(a=n)||!a.errors)return null;e=n.matches}let s=e,c=null==(o=n)?void 0:o.errors;if(null!=c){let e=s.findIndex((e=>e.route.id&&(null==c?void 0:c[e.route.id])));e>=0||eH(!1),s=s.slice(0,Math.min(s.length,e+1))}let l=!1,u=-1;if(n&&i&&i.v7_partialHydration)for(let t=0;t=0?s.slice(0,u+1):[s[0]];break}}}return s.reduceRight(((e,i,o)=>{let a,d=!1,h=null,f=null;n&&(a=c&&i.route.id?c[i.route.id]:void 0,h=i.route.errorElement||GH,l&&(u<0&&0===o?(!function(e,t,r){t||nV[e]||(nV[e]=!0)}("route-fallback",!1),d=!0,f=null):u===o&&(d=!0,f=i.route.hydrateFallbackElement||null)));let p=r.concat(s.slice(0,o+1)),m=()=>{let r;return r=a?h:d?f:i.route.Component?t.createElement(i.route.Component,null):i.route.element?i.route.element:e,t.createElement(ZH,{match:i,routeContext:{outlet:e,matches:p,isDataRoute:null!=n},children:r})};return n&&(i.route.ErrorBoundary||i.route.errorElement||0===o)?t.createElement(YH,{location:n.location,revalidation:n.revalidation,component:h,error:a,children:m(),routeContext:{outlet:null,matches:p,isDataRoute:!0}}):m()}),null)}var JH=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(JH||{}),QH=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(QH||{});function eV(e){let r=t.useContext(LH);return r||eH(!1),r}function tV(e){let r=t.useContext(NH);return r||eH(!1),r}function rV(e){let r=function(e){let r=t.useContext(zH);return r||eH(!1),r}(),n=r.matches[r.matches.length-1];return n.route.id||eH(!1),n.route.id}const nV={};n.startTransition;function iV(e){let{to:r,replace:n,state:i,relative:o}=e;FH()||eH(!1);let{future:a,static:s}=t.useContext(DH),{matches:c}=t.useContext(zH),{pathname:l}=$H(),u=VH(),d=PH(r,EH(c,a.v7_relativeSplatPath),l,"path"===o),h=JSON.stringify(d);return t.useEffect((()=>u(JSON.parse(h),{replace:n,state:i,relative:o})),[u,h,o,n,i]),null}function oV(e){eH(!1)}function aV(e){let{basename:r="/",children:n=null,location:i,navigationType:o=J$.Pop,navigator:a,static:s=!1,future:c}=e;FH()&&eH(!1);let l=r.replace(/^\/*/,"/"),u=t.useMemo((()=>({basename:l,navigator:a,static:s,future:MH({v7_relativeSplatPath:!1},c)})),[l,c,a,s]);"string"===typeof i&&(i=oH(i));let{pathname:d="/",search:h="",hash:f="",state:p=null,key:m="default"}=i,g=t.useMemo((()=>{let e=_H(d,l);return null==e?null:{location:{pathname:e,search:h,hash:f,state:p,key:m},navigationType:o}}),[l,d,h,f,p,m,o]);return null==g?null:t.createElement(DH.Provider,{value:u},t.createElement(BH.Provider,{children:n,value:g}))}function sV(e){let{children:t,location:r}=e;return KH(cV(t),r)}new Promise((()=>{}));t.Component;function cV(e,r){void 0===r&&(r=[]);let n=[];return t.Children.forEach(e,((e,i)=>{if(!t.isValidElement(e))return;let o=[...r,i];if(e.type===t.Fragment)return void n.push.apply(n,cV(e.props.children,o));e.type!==oV&&eH(!1),e.props.index&&e.props.children&&eH(!1);let a={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=cV(e.props.children,o)),n.push(a)})),n}function lV(){return lV=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[r]=e[r]);return i}function dV(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map((e=>[r,e])):[[r,n]])}),[]))}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const hV=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"];new Map;const fV=n.startTransition;Ii.flushSync;function pV(e){let{basename:r,children:n,future:i,window:o}=e,a=t.useRef();null==a.current&&(a.current=function(e){return void 0===e&&(e={}),aH((function(e,t){let{pathname:r="/",search:n="",hash:i=""}=oH(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),nH("",{pathname:r,search:n,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"===typeof t?t:iH(t))}),(function(e,t){tH("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:o,v5Compat:!0}));let s=a.current,[c,l]=t.useState({action:s.action,location:s.location}),{v7_startTransition:u}=i||{},d=t.useCallback((e=>{u&&fV?fV((()=>l(e))):l(e)}),[l,u]);return t.useLayoutEffect((()=>s.listen(d)),[s,d]),t.createElement(aV,{basename:r,children:n,location:c.location,navigationType:c.action,navigator:s,future:i})}const mV="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,gV=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,vV=t.forwardRef((function(e,r){let n,{onClick:i,relative:o,reloadDocument:a,replace:s,state:c,target:l,to:u,preventScrollReset:d,unstable_viewTransition:h}=e,f=uV(e,hV),{basename:p}=t.useContext(DH),m=!1;if("string"===typeof u&&gV.test(u)&&(n=u,mV))try{let e=new URL(window.location.href),t=u.startsWith("//")?new URL(e.protocol+u):new URL(u),r=_H(t.pathname,p);t.origin===e.origin&&null!=r?u=r+t.search+t.hash:m=!0}catch(y){}let g=function(e,r){let{relative:n}=void 0===r?{}:r;FH()||eH(!1);let{basename:i,navigator:o}=t.useContext(DH),{hash:a,pathname:s,search:c}=qH(e,{relative:n}),l=s;return"/"!==i&&(l="/"===s?i:OH([i,s])),o.createHref({pathname:l,search:c,hash:a})}(u,{relative:o}),v=function(e,r){let{target:n,replace:i,state:o,preventScrollReset:a,relative:s,unstable_viewTransition:c}=void 0===r?{}:r,l=VH(),u=$H(),d=qH(e,{relative:s});return t.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,n)){t.preventDefault();let r=void 0!==i?i:iH(u)===iH(d);l(e,{replace:r,state:o,preventScrollReset:a,relative:s,unstable_viewTransition:c})}}),[u,l,d,i,o,n,e,a,s,c])}(u,{replace:s,state:c,target:l,preventScrollReset:d,relative:o,unstable_viewTransition:h});return t.createElement("a",lV({},f,{href:n||g,onClick:m||a?i:function(e){i&&i(e),e.defaultPrevented||v(e)},ref:r,target:l}))}));var yV,bV;function wV(e){let r=t.useRef(dV(e)),n=t.useRef(!1),i=$H(),o=t.useMemo((()=>function(e,t){let r=dV(e);return t&&t.forEach(((e,n)=>{r.has(n)||t.getAll(n).forEach((e=>{r.append(n,e)}))})),r}(i.search,n.current?null:r.current)),[i.search]),a=VH(),s=t.useCallback(((e,t)=>{const r=dV("function"===typeof e?e(o):e);n.current=!0,a("?"+r,t)}),[a,o]);return[o,s]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(yV||(yV={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(bV||(bV={}));function xV(e){const{viewBox:r="0 0 24 24",d:n,displayName:i,defaultProps:o={}}=e,a=t.Children.toArray(e.path),s=re(((e,t)=>(0,Yn.jsx)(LF,{ref:t,viewBox:r,...o,...e,children:a.length?a:(0,Yn.jsx)("path",{fill:"currentColor",d:n})})));return s.displayName=i,s}const _V={stroke:E$.gray[450],fill:"none",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"},SV=xV({displayName:"Maintance",viewBox:"0 0 18 18",path:(0,Yn.jsx)("path",{d:"M12.182 5.8181C13.9393 7.57546 13.9393 10.4247 12.182 12.1821M5.81802 12.182C4.06066 10.4247 4.06066 7.57543 5.81802 5.81807M3.6967 14.3034C0.767767 11.3744 0.767767 6.62571 3.6967 3.69678M14.3033 3.69681C17.2322 6.62574 17.2322 11.3745 14.3033 14.3034M10.5 9.00008C10.5 9.82851 9.82843 10.5001 9 10.5001C8.17157 10.5001 7.5 9.82851 7.5 9.00008C7.5 8.17165 8.17157 7.50008 9 7.50008C9.82843 7.50008 10.5 8.17165 10.5 9.00008Z",..._V})});const kV={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"configuration"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"configuration"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"maintenanceMessage"}}]}}]}}]},EV=JSON,PV=(e,t,...r)=>{const[n,i]=r;return e.document?e:{url:e,document:t,variables:n,requestHeaders:i,signal:void 0}};function OV(e,t){if(!Boolean(e))throw new Error(null!=t?t:"Unexpected invariant triggered.")}const AV=/\r\n|[\n\r]/g;function TV(e,t){let r=0,n=1;for(const i of e.body.matchAll(AV)){if("number"===typeof i.index||OV(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}function jV(e){return CV(e.source,TV(e.source,e.start))}function CV(e,t){const r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,s=1===t.line?r:0,c=t.column+s,l=`${e.name}:${a}:${c}\n`,u=n.split(/\r\n|[\n\r]/g),d=u[i];if(d.length>120){const e=Math.floor(c/80),t=c%80,r=[];for(let n=0;n["|",e])),["|","^".padStart(t)],["|",r[e+1]]])}return l+RV([[a-1+" |",u[i-1]],[`${a} |`,d],["|","^".padStart(c)],[`${a+1} |`,u[i+1]]])}function RV(e){const t=e.filter((([e,t])=>void 0!==t)),r=Math.max(...t.map((([e])=>e.length)));return t.map((([e,t])=>e.padStart(r)+(t?" "+t:""))).join("\n")}class IV extends Error{constructor(e,...t){var r,n,i;const{nodes:o,source:a,positions:s,path:c,originalError:l,extensions:u}=function(e){const t=e[0];return null==t||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}(t);super(e),this.name="GraphQLError",this.path=null!==c&&void 0!==c?c:void 0,this.originalError=null!==l&&void 0!==l?l:void 0,this.nodes=MV(Array.isArray(o)?o:o?[o]:void 0);const d=MV(null===(r=this.nodes)||void 0===r?void 0:r.map((e=>e.loc)).filter((e=>null!=e)));this.source=null!==a&&void 0!==a?a:null===d||void 0===d||null===(n=d[0])||void 0===n?void 0:n.source,this.positions=null!==s&&void 0!==s?s:null===d||void 0===d?void 0:d.map((e=>e.start)),this.locations=s&&a?s.map((e=>TV(a,e))):null===d||void 0===d?void 0:d.map((e=>TV(e.source,e.start)));const h=function(e){return"object"==typeof e&&null!==e}(null===l||void 0===l?void 0:l.extensions)?null===l||void 0===l?void 0:l.extensions:void 0;this.extensions=null!==(i=null!==u&&void 0!==u?u:h)&&void 0!==i?i:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!==l&&void 0!==l&&l.stack?Object.defineProperty(this,"stack",{value:l.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,IV):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(const t of this.nodes)t.loc&&(e+="\n\n"+jV(t.loc));else if(this.source&&this.locations)for(const t of this.locations)e+="\n\n"+CV(this.source,t);return e}toJSON(){const e={message:this.message};return null!=this.locations&&(e.locations=this.locations),null!=this.path&&(e.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}}function MV(e){return void 0===e||0===e.length?void 0:e}function LV(e,t,r){return new IV(`Syntax Error: ${r}`,{source:e,positions:[t]})}class NV{constructor(e,t,r){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class DV{constructor(e,t,r,n,i,o){this.kind=e,this.start=t,this.end=r,this.line=n,this.column=i,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const BV={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},zV=new Set(Object.keys(BV));function UV(e){const t=null===e||void 0===e?void 0:e.kind;return"string"===typeof t&&zV.has(t)}var FV,$V,HV,VV;function qV(e){return 9===e||32===e}function KV(e){return e>=48&&e<=57}function WV(e){return e>=97&&e<=122||e>=65&&e<=90}function GV(e){return WV(e)||95===e}function YV(e){return WV(e)||KV(e)||95===e}function ZV(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a0===t?e:e.slice(r))).slice(null!==(t=n)&&void 0!==t?t:0,i+1)}function XV(e){let t=0;for(;t",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"}(VV||(VV={}));class JV{constructor(e){const t=new DV(VV.SOF,0,0,0,0);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;return this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==VV.EOF)do{if(e.next)e=e.next;else{const t=oq(this,e.end);e.next=t,t.prev=e,e=t}}while(e.kind===VV.COMMENT);return e}}function QV(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function eq(e,t){return tq(e.charCodeAt(t))&&rq(e.charCodeAt(t+1))}function tq(e){return e>=55296&&e<=56319}function rq(e){return e>=56320&&e<=57343}function nq(e,t){const r=e.source.body.codePointAt(t);if(void 0===r)return VV.EOF;if(r>=32&&r<=126){const e=String.fromCodePoint(r);return'"'===e?"'\"'":`"${e}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}function iq(e,t,r,n,i){const o=e.line,a=1+r-e.lineStart;return new DV(t,r,n,o,a,i)}function oq(e,t){const r=e.source.body,n=r.length;let i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function pq(e,t){const r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw LV(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}function mq(e,t){const r=e.source.body,n=r.length;let i=e.lineStart,o=t+3,a=o,s="";const c=[];for(;obq)return"[Array]";const r=Math.min(yq,e.length),n=e.length-r,i=[];for(let o=0;o1&&i.push(`... ${n} more items`);return"["+i.join(", ")+"]"}(e,r);return function(e,t){const r=Object.entries(e);if(0===r.length)return"{}";if(t.length>bq)return"["+function(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"===typeof e.constructor){const t=e.constructor.name;if("string"===typeof t&&""!==t)return t}return t}(e)+"]";const n=r.map((([e,r])=>e+": "+xq(r,t)));return"{ "+n.join(", ")+" }"}(e,r)}(e,t);default:return String(e)}}const _q=globalThis.process&&"production"===globalThis.process.env.NODE_ENV?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;if("object"===typeof e&&null!==e){var r;const n=t.prototype[Symbol.toStringTag];if(n===(Symbol.toStringTag in e?e[Symbol.toStringTag]:null===(r=e.constructor)||void 0===r?void 0:r.name)){const t=wq(e);throw new Error(`Cannot use ${n} "${t}" from another module or realm.\n\nEnsure that there is only one instance of "graphql" in the node_modules\ndirectory. If different versions of "graphql" are the dependencies of other\nrelied on modules, use "resolutions" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate "graphql" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`)}}return!1};class Sq{constructor(e,t="GraphQL request",r={line:1,column:1}){"string"===typeof e||vq(!1,`Body must be a string. Received: ${wq(e)}.`),this.body=e,this.name=t,this.locationOffset=r,this.locationOffset.line>0||vq(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||vq(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}class kq{constructor(e,t={}){const r=function(e){return _q(e,Sq)}(e)?e:new Sq(e);this._lexer=new JV(r),this._options=t,this._tokenCounter=0}parseName(){const e=this.expectToken(VV.NAME);return this.node(e,{kind:HV.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:HV.DOCUMENT,definitions:this.many(VV.SOF,this.parseDefinition,VV.EOF)})}parseDefinition(){if(this.peek(VV.BRACE_L))return this.parseOperationDefinition();const e=this.peekDescription(),t=e?this._lexer.lookahead():this._lexer.token;if(t.kind===VV.NAME){switch(t.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw LV(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(t.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(t)}parseOperationDefinition(){const e=this._lexer.token;if(this.peek(VV.BRACE_L))return this.node(e,{kind:HV.OPERATION_DEFINITION,operation:FV.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const t=this.parseOperationType();let r;return this.peek(VV.NAME)&&(r=this.parseName()),this.node(e,{kind:HV.OPERATION_DEFINITION,operation:t,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const e=this.expectToken(VV.NAME);switch(e.value){case"query":return FV.QUERY;case"mutation":return FV.MUTATION;case"subscription":return FV.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(VV.PAREN_L,this.parseVariableDefinition,VV.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:HV.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(VV.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(VV.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const e=this._lexer.token;return this.expectToken(VV.DOLLAR),this.node(e,{kind:HV.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:HV.SELECTION_SET,selections:this.many(VV.BRACE_L,this.parseSelection,VV.BRACE_R)})}parseSelection(){return this.peek(VV.SPREAD)?this.parseFragment():this.parseField()}parseField(){const e=this._lexer.token,t=this.parseName();let r,n;return this.expectOptionalToken(VV.COLON)?(r=t,n=this.parseName()):n=t,this.node(e,{kind:HV.FIELD,alias:r,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(VV.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){const t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(VV.PAREN_L,t,VV.PAREN_R)}parseArgument(e=!1){const t=this._lexer.token,r=this.parseName();return this.expectToken(VV.COLON),this.node(t,{kind:HV.ARGUMENT,name:r,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const e=this._lexer.token;this.expectToken(VV.SPREAD);const t=this.expectOptionalKeyword("on");return!t&&this.peek(VV.NAME)?this.node(e,{kind:HV.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:HV.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const e=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(e,{kind:HV.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:HV.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(e){const t=this._lexer.token;switch(t.kind){case VV.BRACKET_L:return this.parseList(e);case VV.BRACE_L:return this.parseObject(e);case VV.INT:return this.advanceLexer(),this.node(t,{kind:HV.INT,value:t.value});case VV.FLOAT:return this.advanceLexer(),this.node(t,{kind:HV.FLOAT,value:t.value});case VV.STRING:case VV.BLOCK_STRING:return this.parseStringLiteral();case VV.NAME:switch(this.advanceLexer(),t.value){case"true":return this.node(t,{kind:HV.BOOLEAN,value:!0});case"false":return this.node(t,{kind:HV.BOOLEAN,value:!1});case"null":return this.node(t,{kind:HV.NULL});default:return this.node(t,{kind:HV.ENUM,value:t.value})}case VV.DOLLAR:if(e){if(this.expectToken(VV.DOLLAR),this._lexer.token.kind===VV.NAME){const e=this._lexer.token.value;throw LV(this._lexer.source,t.start,`Unexpected variable "$${e}" in constant value.`)}throw this.unexpected(t)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:HV.STRING,value:e.value,block:e.kind===VV.BLOCK_STRING})}parseList(e){return this.node(this._lexer.token,{kind:HV.LIST,values:this.any(VV.BRACKET_L,(()=>this.parseValueLiteral(e)),VV.BRACKET_R)})}parseObject(e){return this.node(this._lexer.token,{kind:HV.OBJECT,fields:this.any(VV.BRACE_L,(()=>this.parseObjectField(e)),VV.BRACE_R)})}parseObjectField(e){const t=this._lexer.token,r=this.parseName();return this.expectToken(VV.COLON),this.node(t,{kind:HV.OBJECT_FIELD,name:r,value:this.parseValueLiteral(e)})}parseDirectives(e){const t=[];for(;this.peek(VV.AT);)t.push(this.parseDirective(e));return t}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){const t=this._lexer.token;return this.expectToken(VV.AT),this.node(t,{kind:HV.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){const e=this._lexer.token;let t;if(this.expectOptionalToken(VV.BRACKET_L)){const r=this.parseTypeReference();this.expectToken(VV.BRACKET_R),t=this.node(e,{kind:HV.LIST_TYPE,type:r})}else t=this.parseNamedType();return this.expectOptionalToken(VV.BANG)?this.node(e,{kind:HV.NON_NULL_TYPE,type:t}):t}parseNamedType(){return this.node(this._lexer.token,{kind:HV.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(VV.STRING)||this.peek(VV.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");const r=this.parseConstDirectives(),n=this.many(VV.BRACE_L,this.parseOperationTypeDefinition,VV.BRACE_R);return this.node(e,{kind:HV.SCHEMA_DEFINITION,description:t,directives:r,operationTypes:n})}parseOperationTypeDefinition(){const e=this._lexer.token,t=this.parseOperationType();this.expectToken(VV.COLON);const r=this.parseNamedType();return this.node(e,{kind:HV.OPERATION_TYPE_DEFINITION,operation:t,type:r})}parseScalarTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");const r=this.parseName(),n=this.parseConstDirectives();return this.node(e,{kind:HV.SCALAR_TYPE_DEFINITION,description:t,name:r,directives:n})}parseObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");const r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:HV.OBJECT_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:i,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(VV.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(VV.BRACE_L,this.parseFieldDefinition,VV.BRACE_R)}parseFieldDefinition(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseName(),n=this.parseArgumentDefs();this.expectToken(VV.COLON);const i=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(e,{kind:HV.FIELD_DEFINITION,description:t,name:r,arguments:n,type:i,directives:o})}parseArgumentDefs(){return this.optionalMany(VV.PAREN_L,this.parseInputValueDef,VV.PAREN_R)}parseInputValueDef(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseName();this.expectToken(VV.COLON);const n=this.parseTypeReference();let i;this.expectOptionalToken(VV.EQUALS)&&(i=this.parseConstValueLiteral());const o=this.parseConstDirectives();return this.node(e,{kind:HV.INPUT_VALUE_DEFINITION,description:t,name:r,type:n,defaultValue:i,directives:o})}parseInterfaceTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");const r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:HV.INTERFACE_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();return this.node(e,{kind:HV.UNION_TYPE_DEFINITION,description:t,name:r,directives:n,types:i})}parseUnionMemberTypes(){return this.expectOptionalToken(VV.EQUALS)?this.delimitedMany(VV.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();return this.node(e,{kind:HV.ENUM_TYPE_DEFINITION,description:t,name:r,directives:n,values:i})}parseEnumValuesDefinition(){return this.optionalMany(VV.BRACE_L,this.parseEnumValueDefinition,VV.BRACE_R)}parseEnumValueDefinition(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseEnumValueName(),n=this.parseConstDirectives();return this.node(e,{kind:HV.ENUM_VALUE_DEFINITION,description:t,name:r,directives:n})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw LV(this._lexer.source,this._lexer.token.start,`${Eq(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();return this.node(e,{kind:HV.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:r,directives:n,fields:i})}parseInputFieldsDefinition(){return this.optionalMany(VV.BRACE_L,this.parseInputValueDef,VV.BRACE_R)}parseTypeSystemExtension(){const e=this._lexer.lookahead();if(e.kind===VV.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const t=this.parseConstDirectives(),r=this.optionalMany(VV.BRACE_L,this.parseOperationTypeDefinition,VV.BRACE_R);if(0===t.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:HV.SCHEMA_EXTENSION,directives:t,operationTypes:r})}parseScalarTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const t=this.parseName(),r=this.parseConstDirectives();if(0===r.length)throw this.unexpected();return this.node(e,{kind:HV.SCALAR_TYPE_EXTENSION,name:t,directives:r})}parseObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:HV.OBJECT_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:i})}parseInterfaceTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:HV.INTERFACE_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:i})}parseUnionTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseUnionMemberTypes();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:HV.UNION_TYPE_EXTENSION,name:t,directives:r,types:n})}parseEnumTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseEnumValuesDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:HV.ENUM_TYPE_EXTENSION,name:t,directives:r,values:n})}parseInputObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseInputFieldsDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:HV.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:r,fields:n})}parseDirectiveDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(VV.AT);const r=this.parseName(),n=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const o=this.parseDirectiveLocations();return this.node(e,{kind:HV.DIRECTIVE_DEFINITION,description:t,name:r,arguments:n,repeatable:i,locations:o})}parseDirectiveLocations(){return this.delimitedMany(VV.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const e=this._lexer.token,t=this.parseName();if(Object.prototype.hasOwnProperty.call($V,t.value))return t;throw this.unexpected(e)}node(e,t){return!0!==this._options.noLocation&&(t.loc=new NV(e,this._lexer.lastToken,this._lexer.source)),t}peek(e){return this._lexer.token.kind===e}expectToken(e){const t=this._lexer.token;if(t.kind===e)return this.advanceLexer(),t;throw LV(this._lexer.source,t.start,`Expected ${Pq(e)}, found ${Eq(t)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e&&(this.advanceLexer(),!0)}expectKeyword(e){const t=this._lexer.token;if(t.kind!==VV.NAME||t.value!==e)throw LV(this._lexer.source,t.start,`Expected "${e}", found ${Eq(t)}.`);this.advanceLexer()}expectOptionalKeyword(e){const t=this._lexer.token;return t.kind===VV.NAME&&t.value===e&&(this.advanceLexer(),!0)}unexpected(e){const t=null!==e&&void 0!==e?e:this._lexer.token;return LV(this._lexer.source,t.start,`Unexpected ${Eq(t)}.`)}any(e,t,r){this.expectToken(e);const n=[];for(;!this.expectOptionalToken(r);)n.push(t.call(this));return n}optionalMany(e,t,r){if(this.expectOptionalToken(e)){const e=[];do{e.push(t.call(this))}while(!this.expectOptionalToken(r));return e}return[]}many(e,t,r){this.expectToken(e);const n=[];do{n.push(t.call(this))}while(!this.expectOptionalToken(r));return n}delimitedMany(e,t){this.expectOptionalToken(e);const r=[];do{r.push(t.call(this))}while(this.expectOptionalToken(e));return r}advanceLexer(){const{maxTokens:e}=this._options,t=this._lexer.advance();if(void 0!==e&&t.kind!==VV.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw LV(this._lexer.source,t.start,`Document contains more that ${e} tokens. Parsing aborted.`)}}function Eq(e){const t=e.value;return Pq(e.kind)+(null!=t?` "${t}"`:"")}function Pq(e){return function(e){return e===VV.BANG||e===VV.DOLLAR||e===VV.AMP||e===VV.PAREN_L||e===VV.PAREN_R||e===VV.SPREAD||e===VV.COLON||e===VV.EQUALS||e===VV.AT||e===VV.BRACKET_L||e===VV.BRACKET_R||e===VV.BRACE_L||e===VV.PIPE||e===VV.BRACE_R}(e)?`"${e}"`:e}const Oq=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Aq(e){return Tq[e.charCodeAt(0)]}const Tq=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],jq=Object.freeze({});function Cq(e,t){const r=e[t];return"object"===typeof r?r:"function"===typeof r?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}function Rq(e){return function(e,t,r=BV){const n=new Map;for(const v of Object.values(HV))n.set(v,Cq(t,v));let i,o,a,s=Array.isArray(e),c=[e],l=-1,u=[],d=e;const h=[],f=[];do{l++;const e=l===c.length,v=e&&0!==u.length;if(e){if(o=0===f.length?void 0:h[h.length-1],d=a,a=f.pop(),v)if(s){d=d.slice();let e=0;for(const[t,r]of u){const n=t-e;null===r?(d.splice(n,1),e++):d[n]=r}}else{d=Object.defineProperties({},Object.getOwnPropertyDescriptors(d));for(const[e,t]of u)d[e]=t}l=i.index,c=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(a){if(o=s?l:c[l],d=a[o],null===d||void 0===d)continue;h.push(o)}let y;if(!Array.isArray(d)){var p,m;UV(d)||vq(!1,`Invalid AST Node: ${wq(d)}.`);const r=e?null===(p=n.get(d.kind))||void 0===p?void 0:p.leave:null===(m=n.get(d.kind))||void 0===m?void 0:m.enter;if(y=null===r||void 0===r?void 0:r.call(t,d,o,a,h,f),y===jq)break;if(!1===y){if(!e){h.pop();continue}}else if(void 0!==y&&(u.push([o,y]),!e)){if(!UV(y)){h.pop();continue}d=y}}var g;void 0===y&&v&&u.push([o,d]),e?h.pop():(i={inArray:s,index:l,keys:c,edits:u,prev:i},s=Array.isArray(d),c=s?d:null!==(g=r[d.kind])&&void 0!==g?g:[],l=-1,u=[],a&&f.push(a),a=d)}while(void 0!==i);return 0!==u.length?u[u.length-1][1]:e}(e,Iq)}const Iq={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Mq(e.definitions,"\n\n")},OperationDefinition:{leave(e){const t=Nq("(",Mq(e.variableDefinitions,", "),")"),r=Mq([e.operation,Mq([e.name,t]),Mq(e.directives," ")]," ");return("query"===r?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+Nq(" = ",r)+Nq(" ",Mq(n," "))},SelectionSet:{leave:({selections:e})=>Lq(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){const o=Nq("",e,": ")+t;let a=o+Nq("(",Mq(r,", "),")");return a.length>80&&(a=o+Nq("(\n",Dq(Mq(r,"\n")),"\n)")),Mq([a,Mq(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Nq(" ",Mq(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>Mq(["...",Nq("on ",e),Mq(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${Nq("(",Mq(r,", "),")")} on ${t} ${Nq("",Mq(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t){const r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=1===n.length,o=n.length>1&&n.slice(1).every((e=>0===e.length||qV(e.charCodeAt(0)))),a=r.endsWith('\\"""'),s=e.endsWith('"')&&!a,c=e.endsWith("\\"),l=s||c,u=!(null!==t&&void 0!==t&&t.minimize)&&(!i||e.length>70||l||o||a);let d="";const h=i&&qV(e.charCodeAt(0));return(u&&!h||o)&&(d+="\n"),d+=r,(u||l)&&(d+="\n"),'"""'+d+'"""'}(e):`"${e.replace(Oq,Aq)}"`},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+Mq(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+Mq(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Nq("(",Mq(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>Nq("",e,"\n")+Mq(["schema",Mq(t," "),Lq(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>Nq("",e,"\n")+Mq(["scalar",t,Mq(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>Nq("",e,"\n")+Mq(["type",t,Nq("implements ",Mq(r," & ")),Mq(n," "),Lq(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>Nq("",e,"\n")+t+(Bq(r)?Nq("(\n",Dq(Mq(r,"\n")),"\n)"):Nq("(",Mq(r,", "),")"))+": "+n+Nq(" ",Mq(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>Nq("",e,"\n")+Mq([t+": "+r,Nq("= ",n),Mq(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>Nq("",e,"\n")+Mq(["interface",t,Nq("implements ",Mq(r," & ")),Mq(n," "),Lq(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>Nq("",e,"\n")+Mq(["union",t,Mq(r," "),Nq("= ",Mq(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>Nq("",e,"\n")+Mq(["enum",t,Mq(r," "),Lq(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>Nq("",e,"\n")+Mq([t,Mq(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>Nq("",e,"\n")+Mq(["input",t,Mq(r," "),Lq(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>Nq("",e,"\n")+"directive @"+t+(Bq(r)?Nq("(\n",Dq(Mq(r,"\n")),"\n)"):Nq("(",Mq(r,", "),")"))+(n?" repeatable":"")+" on "+Mq(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Mq(["extend schema",Mq(e," "),Lq(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Mq(["extend scalar",e,Mq(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>Mq(["extend type",e,Nq("implements ",Mq(t," & ")),Mq(r," "),Lq(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>Mq(["extend interface",e,Nq("implements ",Mq(t," & ")),Mq(r," "),Lq(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>Mq(["extend union",e,Mq(t," "),Nq("= ",Mq(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>Mq(["extend enum",e,Mq(t," "),Lq(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>Mq(["extend input",e,Mq(t," "),Lq(r)]," ")}};function Mq(e,t=""){var r;return null!==(r=null===e||void 0===e?void 0:e.filter((e=>e)).join(t))&&void 0!==r?r:""}function Lq(e){return Nq("{\n",Dq(Mq(e,"\n")),"\n}")}function Nq(e,t,r=""){return null!=t&&""!==t?e+t+r:""}function Dq(e){return Nq(" ",e.replace(/\n/g,"\n "))}function Bq(e){var t;return null!==(t=null===e||void 0===e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}const zq=e=>{let t;const r=e.definitions.filter((e=>"OperationDefinition"===e.kind));return 1===r.length&&(t=r[0]?.name?.value),t},Uq=e=>{if("string"===typeof e){let t;try{const r=function(e,t){return new kq(e,t).parseDocument()}(e);t=zq(r)}catch(r){}return{query:e,operationName:t}}const t=zq(e);return{query:Rq(e),operationName:t}};class Fq extends Error{constructor(e,t){super(`${Fq.extractMessage(e)}: ${JSON.stringify({response:e,request:t})}`),Object.setPrototypeOf(this,Fq.prototype),this.response=e,this.request=t,"function"===typeof Error.captureStackTrace&&Error.captureStackTrace(this,Fq)}static extractMessage(e){return e.errors?.[0]?.message??`GraphQL Error (Code: ${e.status})`}}var $q=r(9775),Hq=r.t($q,2);const Vq=e=>{let t={};return e&&("undefined"!==typeof Headers&&e instanceof Headers||Hq&&$q.Headers&&e instanceof $q.Headers?t=(e=>{const t={};return e.forEach(((e,r)=>{t[r]=e})),t})(e):Array.isArray(e)?e.forEach((([e,r])=>{e&&void 0!==r&&(t[e]=r)})):t=e),t},qq=e=>e.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),Kq=e=>async t=>{const{url:r,query:n,variables:i,operationName:o,fetch:a,fetchOptions:s,middleware:c}=t,l={...t.headers};let u,d="";"POST"===e?(u=Zq(n,i,o,s.jsonSerializer),"string"===typeof u&&(l["Content-Type"]="application/json")):d=(e=>{if(!Array.isArray(e.query)){const t=e,r=[`query=${encodeURIComponent(qq(t.query))}`];return e.variables&&r.push(`variables=${encodeURIComponent(t.jsonSerializer.stringify(t.variables))}`),t.operationName&&r.push(`operationName=${encodeURIComponent(t.operationName)}`),r.join("&")}if("undefined"!==typeof e.variables&&!Array.isArray(e.variables))throw new Error("Cannot create query with given variable type, array expected");const t=e,r=e.query.reduce(((e,r,n)=>(e.push({query:qq(r),variables:t.variables?t.jsonSerializer.stringify(t.variables[n]):void 0}),e)),[]);return`query=${encodeURIComponent(t.jsonSerializer.stringify(r))}`})({query:n,variables:i,operationName:o,jsonSerializer:s.jsonSerializer??EV});const h={method:e,headers:l,body:u,...s};let f=r,p=h;if(c){const e=await Promise.resolve(c({...h,url:r,operationName:o,variables:i})),{url:t,...n}=e;f=t,p=n}return d&&(f=`${f}?${d}`),await a(f,p)};class Wq{constructor(e,t={}){this.url=e,this.requestConfig=t,this.rawRequest=async(...e)=>{const[t,r,n]=e,i=((e,t,r)=>e.query?e:{query:e,variables:t,requestHeaders:r,signal:void 0})(t,r,n),{headers:o,fetch:a=$q,method:s="POST",requestMiddleware:c,responseMiddleware:l,...u}=this.requestConfig,{url:d}=this;void 0!==i.signal&&(u.signal=i.signal);const{operationName:h}=Uq(i.query);return Gq({url:d,query:i.query,variables:i.variables,headers:{...Vq(Jq(o)),...Vq(i.requestHeaders)},operationName:h,fetch:a,method:s,fetchOptions:u,middleware:c}).then((e=>(l&&l(e),e))).catch((e=>{throw l&&l(e),e}))}}async request(e,...t){const[r,n]=t,i=((e,t,r)=>e.document?e:{document:e,variables:t,requestHeaders:r,signal:void 0})(e,r,n),{headers:o,fetch:a=$q,method:s="POST",requestMiddleware:c,responseMiddleware:l,...u}=this.requestConfig,{url:d}=this;void 0!==i.signal&&(u.signal=i.signal);const{query:h,operationName:f}=Uq(i.document);return Gq({url:d,query:h,variables:i.variables,headers:{...Vq(Jq(o)),...Vq(i.requestHeaders)},operationName:f,fetch:a,method:s,fetchOptions:u,middleware:c}).then((e=>(l&&l(e),e.data))).catch((e=>{throw l&&l(e),e}))}batchRequests(e,t){const r=((e,t)=>e.documents?e:{documents:e,requestHeaders:t,signal:void 0})(e,t),{headers:n,...i}=this.requestConfig;void 0!==r.signal&&(i.signal=r.signal);const o=r.documents.map((({document:e})=>Uq(e).query)),a=r.documents.map((({variables:e})=>e));return Gq({url:this.url,query:o,variables:a,headers:{...Vq(Jq(n)),...Vq(r.requestHeaders)},operationName:void 0,fetch:this.requestConfig.fetch??$q,method:this.requestConfig.method||"POST",fetchOptions:i,middleware:this.requestConfig.requestMiddleware}).then((e=>(this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(e),e.data))).catch((e=>{throw this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(e),e}))}setHeaders(e){return this.requestConfig.headers=e,this}setHeader(e,t){const{headers:r}=this.requestConfig;return r?r[e]=t:this.requestConfig.headers={[e]:t},this}setEndpoint(e){return this.url=e,this}}const Gq=async e=>{const{query:t,variables:r,fetchOptions:n}=e,i=Kq((e.method??"post").toUpperCase());const o=Array.isArray(e.query),a=await i(e),s=await Xq(a,n.jsonSerializer??EV),c=Array.isArray(s)?!s.some((({data:e})=>!e)):Boolean(s.data),l=Array.isArray(s)||!s.errors||Array.isArray(s.errors)&&!s.errors.length||"all"===n.errorPolicy||"ignore"===n.errorPolicy;if(a.ok&&l&&c){const{errors:e,...t}=(Array.isArray(s),s),r="ignore"===n.errorPolicy?t:s;return{...o?{data:r}:r,headers:a.headers,status:a.status}}throw new Fq({..."string"===typeof s?{error:s}:s,status:a.status,headers:a.headers},{query:t,variables:r})};async function Yq(e,t,...r){const n=PV(e,t,...r);return new Wq(n.url).request({...n})}const Zq=(e,t,r,n)=>{const i=n??EV;if(!Array.isArray(e))return i.stringify({query:e,variables:t,operationName:r});if("undefined"!==typeof t&&!Array.isArray(t))throw new Error("Cannot create request body with given variable type, array expected");const o=e.reduce(((e,r,n)=>(e.push({query:r,variables:t?t[n]:void 0}),e)),[]);return i.stringify(o)},Xq=async(e,t)=>{let r;return e.headers.forEach(((e,t)=>{"content-type"===t.toLowerCase()&&(r=e)})),r&&(r.toLowerCase().startsWith("application/json")||r.toLowerCase().startsWith("application/graphql+json")||r.toLowerCase().startsWith("application/graphql-response+json"))?t.parse(await e.text()):e.text()},Jq=e=>"function"===typeof e?e():e;const Qq=()=>{const[e,r]=(0,t.useState)(!1),[n,i]=(0,t.useState)();(0,t.useEffect)((()=>{const e=async()=>{var e;const t=await function(e,t){return Yq("https://graphql.datocms.com/",e,t,{Authorization:"19ab95a257833429647fc25765a06a"})}(kV);var r;n!==(null===(e=t.configuration)||void 0===e?void 0:e.maintenanceMessage)&&i(null===(r=t.configuration)||void 0===r?void 0:r.maintenanceMessage)};e();const t=setInterval((()=>{e()}),36e5);return()=>clearInterval(t)}),[n,e]);const o=SV;return e&&n?(0,Yn.jsxs)($F,{color:"black",background:"#FC7884","data-testid":"announcement",children:[(0,Yn.jsx)(o,{}),(0,Yn.jsx)(Qn,{width:"100%",paddingLeft:"8px",children:(0,Yn.jsx)(qF,{children:n})}),(0,Yn.jsx)(WF,{onClick:()=>r(!1)})]}):null};function eK(e,r){const n=(0,t.useId)();return(0,t.useMemo)((()=>e||[r,n].filter(Boolean).join("-")),[e,r,n])}function tK(e){return null!=e&&"object"==typeof e&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function rK(e){var t;return tK(e)&&null!=(t=e.ownerDocument)?t:document}function nK(){return!("undefined"===typeof window||!window.document||!window.document.createElement)}var iK=nK()?t.useLayoutEffect:t.useEffect;function oK(e,r=[]){const n=(0,t.useRef)(e);return iK((()=>{n.current=e})),(0,t.useCallback)(((...e)=>{var t;return null==(t=n.current)?void 0:t.call(n,...e)}),r)}function aK(e={}){const{onClose:r,onOpen:n,isOpen:i,id:o}=e,a=oK(n),s=oK(r),[c,l]=(0,t.useState)(e.defaultIsOpen||!1),[u,d]=function(e,t){const r=void 0!==e;return[r,r&&"undefined"!==typeof e?e:t]}(i,c),h=eK(o,"disclosure"),f=(0,t.useCallback)((()=>{u||l(!1),null==s||s()}),[u,s]),p=(0,t.useCallback)((()=>{u||l(!0),null==a||a()}),[u,a]),m=(0,t.useCallback)((()=>{(d?f:p)()}),[d,p,f]);return{isOpen:!!d,onOpen:p,onClose:f,onToggle:m,isControlled:u,getButtonProps:(e={})=>({...e,"aria-expanded":d,"aria-controls":h,onClick:cr(e.onClick,m)}),getDisclosureProps:(e={})=>({...e,hidden:!d,id:h})}}var sK=Object.defineProperty,cK=(e,t,r)=>(((e,t,r)=>{t in e?sK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!==typeof t?t+"":t,r),r),lK=new class{constructor(){cK(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return!!e&&this.modals.get(e)===this.modals.size}};function uK(e,r){const[n,i]=(0,t.useState)(0);return(0,t.useEffect)((()=>{const t=e.current;if(t){if(r){const e=lK.add(t);i(e)}return()=>{lK.remove(t),i(0)}}}),[r,e]),n}var dK=function(e){return"undefined"===typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},hK=new WeakMap,fK=new WeakMap,pK={},mK=0,gK=function(e){return e&&(e.host||gK(e.parentNode))},vK=function(e,t,r,n){var i=function(e,t){return t.map((function(t){if(e.contains(t))return t;var r=gK(t);return r&&e.contains(r)?r:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)})).filter((function(e){return Boolean(e)}))}(t,Array.isArray(e)?e:[e]);pK[r]||(pK[r]=new WeakMap);var o=pK[r],a=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,(function(e){if(s.has(e))u(e);else{var t=e.getAttribute(n),i=null!==t&&"false"!==t,c=(hK.get(e)||0)+1,l=(o.get(e)||0)+1;hK.set(e,c),o.set(e,l),a.push(e),1===c&&i&&fK.set(e,!0),1===l&&e.setAttribute(r,"true"),i||e.setAttribute(n,"true")}}))};return u(t),s.clear(),mK++,function(){a.forEach((function(e){var t=hK.get(e)-1,i=o.get(e)-1;hK.set(e,t),o.set(e,i),t||(fK.has(e)||e.removeAttribute(n),fK.delete(e)),i||e.removeAttribute(r)})),--mK||(hK=new WeakMap,hK=new WeakMap,fK=new WeakMap,pK={})}},yK=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=t||dK(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live]"))),vK(n,i,r,"aria-hidden")):function(){return null}};function bK(e){const{isOpen:r,onClose:n,id:i,closeOnOverlayClick:o=!0,closeOnEsc:a=!0,useInert:s=!0,onOverlayClick:c,onEsc:l}=e,u=(0,t.useRef)(null),d=(0,t.useRef)(null),[h,f,p]=function(e,...r){const n=(0,t.useId)(),i=e||n;return(0,t.useMemo)((()=>r.map((e=>`${e}-${i}`))),[i,r])}(i,"chakra-modal","chakra-modal--header","chakra-modal--body");!function(e,r){const n=e.current;(0,t.useEffect)((()=>{if(e.current&&r)return yK(e.current)}),[r,e,n])}(u,r&&s);const m=uK(u,r),g=(0,t.useRef)(null),v=(0,t.useCallback)((e=>{g.current=e.target}),[]),y=(0,t.useCallback)((e=>{"Escape"===e.key&&(e.stopPropagation(),a&&(null==n||n()),null==l||l())}),[a,n,l]),[b,w]=(0,t.useState)(!1),[x,_]=(0,t.useState)(!1),S=(0,t.useCallback)(((e={},t=null)=>({role:"dialog",...e,ref:wi(t,u),id:h,tabIndex:-1,"aria-modal":!0,"aria-labelledby":b?f:void 0,"aria-describedby":x?p:void 0,onClick:ue(e.onClick,(e=>e.stopPropagation()))})),[p,x,h,f,b]),k=(0,t.useCallback)((e=>{e.stopPropagation(),g.current===e.target&&lK.isTopModal(u.current)&&(o&&(null==n||n()),null==c||c())}),[n,o,c]),E=(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(t,d),onClick:ue(e.onClick,k),onKeyDown:ue(e.onKeyDown,y),onMouseDown:ue(e.onMouseDown,v)})),[y,v,k]);return{isOpen:r,onClose:n,headerId:f,bodyId:p,setBodyMounted:_,setHeaderMounted:w,dialogRef:u,overlayRef:d,getDialogProps:S,getDialogContainerProps:E,index:m}}var[wK,xK]=ui({name:"ModalStylesContext",errorMessage:"useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),[_K,SK]=ui({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),kK=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:r,children:n,autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:c,blockScrollOnMount:l,allowPinchZoom:u,preserveScrollBarGap:d,motionPreset:h,lockFocusAcrossFrames:f,onCloseComplete:p}=t,m=ci("Modal",t),g={...bK(t),autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:c,blockScrollOnMount:l,allowPinchZoom:u,preserveScrollBarGap:d,motionPreset:h,lockFocusAcrossFrames:f};return(0,Yn.jsx)(_K,{value:g,children:(0,Yn.jsx)(wK,{value:m,children:(0,Yn.jsx)(i$,{onExitComplete:p,children:g.isOpen&&(0,Yn.jsx)(d$,{...r,children:n})})})})};kK.displayName="Modal";var EK={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},PK={position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},OK={position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},AK={position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},TK={position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}};function jK(e){var t;switch(null!=(t=null==e?void 0:e.direction)?t:"right"){case"right":default:return OK;case"left":return PK;case"bottom":return TK;case"top":return AK}}var CK={enter:{duration:.2,ease:EK.easeOut},exit:{duration:.1,ease:EK.easeIn}},RK=(e,t)=>({...e,delay:"number"===typeof t?t:null==t?void 0:t.enter}),IK=(e,t)=>({...e,delay:"number"===typeof t?t:null==t?void 0:t.exit}),MK={enter:({transition:e,transitionEnd:t,delay:r}={})=>{var n;return{opacity:1,transition:null!=(n=null==e?void 0:e.enter)?n:RK(CK.enter,r),transitionEnd:null==t?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:r}={})=>{var n;return{opacity:0,transition:null!=(n=null==e?void 0:e.exit)?n:IK(CK.exit,r),transitionEnd:null==t?void 0:t.exit}}},LK={initial:"exit",animate:"enter",exit:"exit",variants:MK},NK=(0,t.forwardRef)((function(e,t){const{unmountOnExit:r,in:n,className:i,transition:o,transitionEnd:a,delay:s,...c}=e,l=n||r?"enter":"exit",u=!r||n&&r,d={transition:o,transitionEnd:a,delay:s};return(0,Yn.jsx)(i$,{custom:d,children:u&&(0,Yn.jsx)(jF.div,{ref:t,className:ne("chakra-fade",i),custom:d,...LK,animate:l,...c})})}));NK.displayName="Fade";var DK=Gn(jF.div),BK=re(((e,t)=>{const{className:r,transition:n,motionProps:i,...o}=e,a=ne("chakra-modal__overlay",r),s={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...xK().overlay},{motionPreset:c}=SK(),l=i||("none"===c?{}:LK);return(0,Yn.jsx)(DK,{...l,__css:s,ref:t,className:a,...o})}));BK.displayName="ModalOverlay";var zK="right-scroll-bar-position",UK="width-before-scroll-bar";function FK(e,r){return function(e,r){var n=(0,t.useState)((function(){return{value:e,callback:r,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}}))[0];return n.callback=r,n.facade}(r||null,(function(t){return e.forEach((function(e){return function(e,t){return"function"===typeof e?e(t):e&&(e.current=t),e}(e,t)}))}))}function $K(e){return e}function HK(e,t){void 0===t&&(t=$K);var r=[],n=!1,i={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(e){var i=t(e,n);return r.push(i),function(){r=r.filter((function(e){return e!==i}))}},assignSyncMedium:function(e){for(n=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){n=!0;var t=[];if(r.length){var i=r;r=[],i.forEach(e),t=r}var o=function(){var r=t;t=[],r.forEach(e)},a=function(){return Promise.resolve().then(o)};a(),r={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),r}}}};return i}function VK(e,t){return void 0===t&&(t=$K),HK(e,t)}function qK(e){void 0===e&&(e={});var t=HK(null);return t.options=Wh({async:!0,ssr:!1},e),t}var KK=qK(),WK=function(){},GK=t.forwardRef((function(e,r){var n=t.useRef(null),i=t.useState({onScrollCapture:WK,onWheelCapture:WK,onTouchMoveCapture:WK}),o=i[0],a=i[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,h=e.shards,f=e.sideCar,p=e.noIsolation,m=e.inert,g=e.allowPinchZoom,v=e.as,y=void 0===v?"div":v,b=e.gapMode,w=Gh(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),x=f,_=FK([n,r]),S=Wh(Wh({},w),o);return t.createElement(t.Fragment,null,d&&t.createElement(x,{sideCar:KK,removeScrollBar:u,shards:h,noIsolation:p,inert:m,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:b}),s?t.cloneElement(t.Children.only(c),Wh(Wh({},S),{ref:_})):t.createElement(y,Wh({},S,{className:l,ref:_}),c))}));GK.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},GK.classNames={fullWidth:UK,zeroRight:zK};var YK,ZK=function(e){var r=e.sideCar,n=Gh(e,["sideCar"]);if(!r)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=r.read();if(!i)throw new Error("Sidecar medium not found");return t.createElement(i,Wh({},n))};ZK.isSideCarExport=!0;function XK(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=YK||r.nc;return t&&e.setAttribute("nonce",t),e}var JK=function(){var e=0,t=null;return{add:function(r){var n;0==e&&(t=XK())&&(!function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}(t,r),n=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(n)),e++},remove:function(){!--e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},QK=function(){var e=function(){var e=JK();return function(r,n){t.useEffect((function(){return e.add(r),function(){e.remove()}}),[r&&n])}}();return function(t){var r=t.styles,n=t.dynamic;return e(r,n),null}},eW={left:0,top:0,right:0,gap:0},tW=function(e){return parseInt(e||"",10)||0},rW=function(e){if(void 0===e&&(e="margin"),"undefined"===typeof window)return eW;var t=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],i=t["padding"===e?"paddingRight":"marginRight"];return[tW(r),tW(n),tW(i)]}(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},nW=QK(),iW=function(e,t,r,n){var i=e.left,o=e.top,a=e.right,s=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(s,"px ").concat(n,";\n }\n body {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(i,"px;\n padding-top: ").concat(o,"px;\n padding-right: ").concat(a,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(s,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(zK," {\n right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(UK," {\n margin-right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(zK," .").concat(zK," {\n right: 0 ").concat(n,";\n }\n \n .").concat(UK," .").concat(UK," {\n margin-right: 0 ").concat(n,";\n }\n \n body {\n ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n }\n")},oW=function(e){var r=e.noRelative,n=e.noImportant,i=e.gapMode,o=void 0===i?"margin":i,a=t.useMemo((function(){return rW(o)}),[o]);return t.createElement(nW,{styles:iW(a,!r,o,n?"":"!important")})},aW=!1;if("undefined"!==typeof window)try{var sW=Object.defineProperty({},"passive",{get:function(){return aW=!0,!0}});window.addEventListener("test",sW,sW),window.removeEventListener("test",sW,sW)}catch(Zue){aW=!1}var cW=!!aW&&{passive:!1},lW=function(e,t){var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&!function(e){return"TEXTAREA"===e.tagName}(e)&&"visible"===r[t])},uW=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!==typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),dW(e,n)){var i=hW(e,n);if(i[1]>i[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},dW=function(e,t){return"v"===e?function(e){return lW(e,"overflowY")}(t):function(e){return lW(e,"overflowX")}(t)},hW=function(e,t){return"v"===e?function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]}(t):function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]}(t)},fW=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},pW=function(e){return[e.deltaX,e.deltaY]},mW=function(e){return e&&"current"in e?e.current:e},gW=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},vW=0,yW=[];function bW(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const wW=(xW=function(e){var r=t.useRef([]),n=t.useRef([0,0]),i=t.useRef(),o=t.useState(vW++)[0],a=t.useState(QK)[0],s=t.useRef(e);t.useEffect((function(){s.current=e}),[e]),t.useEffect((function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=Qh([e.lockRef.current],(e.shards||[]).map(mW),!0).filter(Boolean);return t.forEach((function(e){return e.classList.add("allow-interactivity-".concat(o))})),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach((function(e){return e.classList.remove("allow-interactivity-".concat(o))}))}}}),[e.inert,e.lockRef.current,e.shards]);var c=t.useCallback((function(e,t){if("touches"in e&&2===e.touches.length)return!s.current.allowPinchZoom;var r,o=fW(e),a=n.current,c="deltaX"in e?e.deltaX:a[0]-o[0],l="deltaY"in e?e.deltaY:a[1]-o[1],u=e.target,d=Math.abs(c)>Math.abs(l)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var h=uW(d,u);if(!h)return!0;if(h?r=d:(r="v"===d?"h":"v",h=uW(d,u)),!h)return!1;if(!i.current&&"changedTouches"in e&&(c||l)&&(i.current=r),!r)return!0;var f=i.current||r;return function(e,t,r,n,i){var o=function(e,t){return"h"===e&&"rtl"===t?-1:1}(e,window.getComputedStyle(t).direction),a=o*n,s=r.target,c=t.contains(s),l=!1,u=a>0,d=0,h=0;do{var f=hW(e,s),p=f[0],m=f[1]-f[2]-o*p;(p||m)&&dW(e,s)&&(d+=m,h+=p),s=s instanceof ShadowRoot?s.host:s.parentNode}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&a>d)||!u&&(i&&Math.abs(h)<1||!i&&-a>h))&&(l=!0),l}(f,t,e,"h"===f?c:l,!0)}),[]),l=t.useCallback((function(e){var t=e;if(yW.length&&yW[yW.length-1]===a){var n="deltaY"in t?pW(t):fW(t),i=r.current.filter((function(e){return e.name===t.type&&(e.target===t.target||t.target===e.shadowParent)&&function(e,t){return e[0]===t[0]&&e[1]===t[1]}(e.delta,n)}))[0];if(i&&i.should)t.cancelable&&t.preventDefault();else if(!i){var o=(s.current.shards||[]).map(mW).filter(Boolean).filter((function(e){return e.contains(t.target)}));(o.length>0?c(t,o[0]):!s.current.noIsolation)&&t.cancelable&&t.preventDefault()}}}),[]),u=t.useCallback((function(e,t,n,i){var o={name:e,delta:t,target:n,should:i,shadowParent:bW(n)};r.current.push(o),setTimeout((function(){r.current=r.current.filter((function(e){return e!==o}))}),1)}),[]),d=t.useCallback((function(e){n.current=fW(e),i.current=void 0}),[]),h=t.useCallback((function(t){u(t.type,pW(t),t.target,c(t,e.lockRef.current))}),[]),f=t.useCallback((function(t){u(t.type,fW(t),t.target,c(t,e.lockRef.current))}),[]);t.useEffect((function(){return yW.push(a),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:f}),document.addEventListener("wheel",l,cW),document.addEventListener("touchmove",l,cW),document.addEventListener("touchstart",d,cW),function(){yW=yW.filter((function(e){return e!==a})),document.removeEventListener("wheel",l,cW),document.removeEventListener("touchmove",l,cW),document.removeEventListener("touchstart",d,cW)}}),[]);var p=e.removeScrollBar,m=e.inert;return t.createElement(t.Fragment,null,m?t.createElement(a,{styles:gW(o)}):null,p?t.createElement(oW,{gapMode:e.gapMode}):null)},KK.useMedium(xW),ZK);var xW,_W=t.forwardRef((function(e,r){return t.createElement(GK,Wh({},e,{ref:r,sideCar:wW}))}));_W.classNames=GK.classNames;const SW=_W,kW=(0,t.createContext)({openWith:e=>Promise.resolve(),onClose:()=>{},isOpen:!1}),EW=()=>{const{isOpen:e,onClose:r,onOpen:n}=aK(),[i,o]=(0,t.useState)(null),[a,s]=(0,t.useState)("md");return{isOpen:e,onClose:r,openWith:async(e,t="md")=>{s(t),o(e),n()},content:(0,Yn.jsxs)(kK,{autoFocus:!1,blockScrollOnMount:!1,closeOnOverlayClick:!1,isCentered:!0,isOpen:e,onClose:r,size:a,children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(SW,{enabled:e,children:i})]})}};function PW(e){return Object.keys(e)}var OW;!function(e){e.PENDING="pending",e.RESOLVED="resolved",e.REJECTED="rejected"}(OW||(OW={}));const AW=()=>{throw new Error("ExposedPromise not initialized yet.")};class TW{constructor(){this._resolve=AW,this._reject=AW,this._status=OW.PENDING,this._promise=new Promise(((e,t)=>{this._resolve=t=>{this.isSettled()||(this._promiseResult=t,e(t),this._status=OW.RESOLVED)},this._reject=e=>{this.isSettled()||(this._promiseError=e,t(e),this._status=OW.REJECTED)}}))}get promise(){return this._promise}get resolve(){return this._resolve}get reject(){return this._reject}get status(){return this._status}get promiseResult(){return this._promiseResult}get promiseError(){return this._promiseError}static resolve(e){const t=new TW;return t.resolve(e),t}static reject(e){const t=new TW;return t.reject(e),t}isPending(){return this.status===OW.PENDING}isResolved(){return this.status===OW.RESOLVED}isRejected(){return this.status===OW.REJECTED}isSettled(){return this.isResolved()||this.isRejected()}}var jW=r(2104),CW=r(3226),RW=r(3715),IW=r(2111),MW=r(261).Buffer,LW=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};function NW(e){return MW.from(e).toString("hex")}function DW(e){return LW(this,void 0,void 0,(function*(){return NW("string"===typeof e?(0,Fa.hash)((0,RW.cv)(e),32):(0,Fa.hash)(e,32))}))}function BW(e){return LW(this,void 0,void 0,(function*(){return(0,Ua._w)((0,Fa.hash)((0,RW.cv)(e),32))}))}function zW(e,t){return`@${e}:${t}`}var UW=r(261).Buffer,FW=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};function $W(){return FW(this,void 0,void 0,(function*(){const e=(0,CW.randomBytes)(16);return[e.slice(0,4),e.slice(4,6),e.slice(6,8),e.slice(8,10),e.slice(10,16)].map((function(e){return UW.from(e).toString("hex")})).join("-")}))}var HW,VW,qW,KW,WW,GW,YW,ZW,XW,JW;!function(e){e.BlockchainRequest="blockchain_request",e.PermissionRequest="permission_request",e.SignPayloadRequest="sign_payload_request",e.OperationRequest="operation_request",e.BroadcastRequest="broadcast_request",e.ChangeAccountRequest="change_account_request",e.BlockchainResponse="blockchain_response",e.PermissionResponse="permission_response",e.SignPayloadResponse="sign_payload_response",e.OperationResponse="operation_response",e.BroadcastResponse="broadcast_response",e.Acknowledge="acknowledge",e.Disconnect="disconnect",e.Error="error"}(HW||(HW={})),function(e){e.SIGN="sign",e.OPERATION_REQUEST="operation_request",e.ENCRYPT="encrypt",e.NOTIFICATION="notification",e.THRESHOLD="threshold"}(VW||(VW={})),function(e){e.MAINNET="mainnet",e.GHOSTNET="ghostnet",e.MONDAYNET="mondaynet",e.DAILYNET="dailynet",e.DELPHINET="delphinet",e.EDONET="edonet",e.FLORENCENET="florencenet",e.GRANADANET="granadanet",e.HANGZHOUNET="hangzhounet",e.ITHACANET="ithacanet",e.JAKARTANET="jakartanet",e.KATHMANDUNET="kathmandunet",e.LIMANET="limanet",e.MUMBAINET="mumbainet",e.NAIROBINET="nairobinet",e.OXFORDNET="oxfordnet",e.CUSTOM="custom"}(qW||(qW={})),function(e){e.ENDORSEMENT="endorsement",e.SEED_NONCE_REVELATION="seed_nonce_revelation",e.DOUBLE_ENDORSEMENT_EVIDENCE="double_endorsement_evidence",e.DOUBLE_BAKING_EVIDENCE="double_baking_evidence",e.ACTIVATE_ACCOUNT="activate_account",e.PROPOSALS="proposals",e.BALLOT="ballot",e.REVEAL="reveal",e.TRANSACTION="transaction",e.ORIGINATION="origination",e.DELEGATION="delegation"}(KW||(KW={})),function(e){e.WEBSITE="website",e.EXTENSION="extension",e.P2P="p2p",e.WALLETCONNECT="walletconnect"}(WW||(WW={})),function(e){e.BACKGROUND="toBackground",e.PAGE="toPage",e.EXTENSION="toExtension"}(GW||(GW={})),function(e){e.BROADCAST_ERROR="BROADCAST_ERROR",e.NETWORK_NOT_SUPPORTED="NETWORK_NOT_SUPPORTED",e.NO_ADDRESS_ERROR="NO_ADDRESS_ERROR",e.NO_PRIVATE_KEY_FOUND_ERROR="NO_PRIVATE_KEY_FOUND_ERROR",e.NOT_GRANTED_ERROR="NOT_GRANTED_ERROR",e.PARAMETERS_INVALID_ERROR="PARAMETERS_INVALID_ERROR",e.TOO_MANY_OPERATIONS="TOO_MANY_OPERATIONS",e.TRANSACTION_INVALID_ERROR="TRANSACTION_INVALID_ERROR",e.SIGNATURE_TYPE_NOT_SUPPORTED="SIGNATURE_TYPE_NOT_SUPPORTED",e.ABORTED_ERROR="ABORTED_ERROR",e.UNKNOWN_ERROR="UNKNOWN_ERROR"}(YW||(YW={})),function(e){e.NOT_CONNECTED="NOT_CONNECTED",e.CONNECTING="CONNECTING",e.CONNECTED="CONNECTED"}(ZW||(ZW={})),function(e){e.CHROME_MESSAGE="chrome_message",e.WALLETCONNECT="walletconnect",e.POST_MESSAGE="post_message",e.LEDGER="ledger",e.P2P="p2p"}(XW||(XW={})),function(e){e.TRANSPORT_P2P_PEERS_DAPP="beacon:communication-peers-dapp",e.TRANSPORT_P2P_PEERS_WALLET="beacon:communication-peers-wallet",e.TRANSPORT_POSTMESSAGE_PEERS_DAPP="beacon:postmessage-peers-dapp",e.TRANSPORT_POSTMESSAGE_PEERS_WALLET="beacon:postmessage-peers-wallet",e.TRANSPORT_WALLETCONNECT_PEERS_DAPP="beacon:walletconnect-peers-dapp",e.LAST_SELECTED_WALLET="beacon:last-selected-wallet",e.ACCOUNTS="beacon:accounts",e.ACTIVE_ACCOUNT="beacon:active-account",e.PUSH_TOKENS="beacon:push-tokens",e.BEACON_SDK_SECRET_SEED="beacon:sdk-secret-seed",e.APP_METADATA_LIST="beacon:app-metadata-list",e.PERMISSION_LIST="beacon:permissions",e.BEACON_SDK_VERSION="beacon:sdk_version",e.MATRIX_PRESERVED_STATE="beacon:sdk-matrix-preserved-state",e.MATRIX_PEER_ROOM_IDS="beacon:matrix-peer-rooms",e.MATRIX_SELECTED_NODE="beacon:matrix-selected-node",e.MULTI_NODE_SETUP_DONE="beacon:multi-node-setup"}(JW||(JW={}));const QW={[JW.TRANSPORT_P2P_PEERS_DAPP]:[],[JW.TRANSPORT_P2P_PEERS_WALLET]:[],[JW.TRANSPORT_POSTMESSAGE_PEERS_DAPP]:[],[JW.TRANSPORT_POSTMESSAGE_PEERS_WALLET]:[],[JW.TRANSPORT_WALLETCONNECT_PEERS_DAPP]:[],[JW.LAST_SELECTED_WALLET]:void 0,[JW.ACCOUNTS]:[],[JW.ACTIVE_ACCOUNT]:void 0,[JW.PUSH_TOKENS]:[],[JW.BEACON_SDK_SECRET_SEED]:void 0,[JW.APP_METADATA_LIST]:[],[JW.PERMISSION_LIST]:[],[JW.BEACON_SDK_VERSION]:void 0,[JW.MATRIX_PRESERVED_STATE]:{},[JW.MATRIX_PEER_ROOM_IDS]:{},[JW.MATRIX_SELECTED_NODE]:void 0,[JW.MULTI_NODE_SETUP_DONE]:void 0};var eG,tG,rG;!function(e){e.RAW="raw",e.OPERATION="operation",e.MICHELINE="micheline"}(eG||(eG={})),function(e){e.LIGHT="light",e.DARK="dark"}(tG||(tG={})),function(e){e.EUROPE_EAST="europe-east",e.EUROPE_WEST="europe-west",e.NORTH_AMERICA_EAST="north-america-east",e.NORTH_AMERICA_WEST="north-america-west",e.CENTRAL_AMERICA="central-america",e.SOUTH_AMERICA="south-america",e.ASIA_EAST="asia-east",e.ASIA_WEST="asia-west",e.AFRICA="africa",e.AUSTRALIA="australia"}(rG||(rG={}));const nG="https://beacon-notification-oracle.dev.gke.papers.tech",iG=[e=>{}];let oG={postMessage:(e,t)=>{console.log("GOT MOCK POST MESSAGE",e),iG.forEach((t=>{t({data:e})}))},addEventListener:(e,t)=>{iG.push(t)},removeEventListener:(e,t)=>{iG.splice(iG.indexOf((e=>e===t)),1)},location:{origin:"*"}};try{"undefined"!==typeof window&&(oG=window)}catch(Xue){console.log(`not defined: ${Xue}`)}class aG{track(e,t,r,n){}}var sG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class cG{constructor(e){var t,r;if(this._beaconId=new TW,this._keyPair=new TW,!e.name)throw new Error("Name not set");if(!e.storage)throw new Error("Storage not set");this.name=e.name,this.iconUrl=e.iconUrl,this.appUrl=null!==(t=e.appUrl)&&void 0!==t?t:oG.location.origin,this.storage=e.storage,this.analytics=null!==(r=e.analytics)&&void 0!==r?r:new aG,oG.beaconCreatedClientInstance?console.error("[BEACON] It looks like you created multiple Beacon SDK Client instances. This can lead to problems. Only create one instance and re-use it everywhere."):oG.beaconCreatedClientInstance=!0,this.initSDK().catch(console.error)}get beaconId(){return this._beaconId.promise}get keyPair(){return this._keyPair.promise}destroy(){return sG(this,void 0,void 0,(function*(){yield this.removeBeaconEntriesFromStorage(),oG.beaconCreatedClientInstance=!1}))}initSDK(){return sG(this,void 0,void 0,(function*(){return this.storage.set(JW.BEACON_SDK_VERSION,"4.0.12").catch(console.error),this.loadOrCreateBeaconSecret().catch(console.error),this.keyPair.then((e=>{this._beaconId.resolve(NW(e.publicKey))}))}))}removeBeaconEntriesFromStorage(){return sG(this,void 0,void 0,(function*(){const e=Object.values(JW);yield Promise.all(e.map((e=>this.storage.delete(e))))}))}loadOrCreateBeaconSecret(){return sG(this,void 0,void 0,(function*(){const e=yield this.storage.get(JW.BEACON_SDK_SECRET_SEED);if(e&&"string"===typeof e)this._keyPair.resolve(yield BW(e));else{const e=yield $W();yield this.storage.set(JW.BEACON_SDK_SECRET_SEED,e),this._keyPair.resolve(yield BW(e))}}))}}var lG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class uG{constructor(e,t){this.storage=e,this.storageKey=t}getAll(){var e;return lG(this,void 0,void 0,(function*(){return null!==(e=yield this.storage.get(this.storageKey))&&void 0!==e?e:[]}))}getOne(e){return lG(this,void 0,void 0,(function*(){return(yield this.storage.get(this.storageKey)).find(e)}))}addOne(e,t,r=!0){return lG(this,void 0,void 0,(function*(){const n=yield this.storage.get(this.storageKey);if(n.some(t)){if(r)for(let r=0;r!e(t)));return this.storage.set(this.storageKey,t)}))}removeAll(){return lG(this,void 0,void 0,(function*(){return this.storage.delete(this.storageKey)}))}}var dG=r(261).Buffer,hG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const fG=(e,t)=>hG(void 0,void 0,void 0,(function*(){const r=[e,t.type];t.name&&r.push(`name:${t.name}`),t.rpcUrl&&r.push(`rpc:${t.rpcUrl}`);const n=dG.from((0,Fa.hash)((0,RW.cv)(r.join("-")),10));return jW.encode(n)}));var pG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class mG{static hasPermission(e,t,r){return pG(this,void 0,void 0,(function*(){switch(e.type){case HW.PermissionRequest:case HW.BroadcastRequest:return!0;case HW.OperationRequest:{const r=yield fG(e.sourceAddress,e.network),n=yield t(r);return!!n&&n.scopes.includes(VW.OPERATION_REQUEST)}case HW.SignPayloadRequest:{const t=(yield r()).filter((t=>t.address===e.sourceAddress));return 0!==t.length&&t.some((e=>e.scopes.includes(VW.SIGN)))}default:throw new Error("Message not handled")}}))}}var gG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class vG{constructor(e){this.storageManager=new uG(e,JW.ACCOUNTS)}getAccounts(){var e;return gG(this,void 0,void 0,(function*(){return null!==(e=yield this.storageManager.getAll())&&void 0!==e?e:[]}))}getAccount(e){return gG(this,void 0,void 0,(function*(){return this.storageManager.getOne((t=>t.accountIdentifier===e))}))}addAccount(e){return gG(this,void 0,void 0,(function*(){return this.storageManager.addOne(e,(t=>t.accountIdentifier===e.accountIdentifier))}))}removeAccount(e){return gG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>t.accountIdentifier===e))}))}removeAccounts(e){return gG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>e.includes(t.accountIdentifier)))}))}removeAllAccounts(){return gG(this,void 0,void 0,(function*(){return this.storageManager.removeAll()}))}hasPermission(e){return gG(this,void 0,void 0,(function*(){return mG.hasPermission(e,this.getAccount.bind(this),this.getAccounts.bind(this))}))}}var yG=r(261).Buffer,bG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const wG=e=>bG(void 0,void 0,void 0,(function*(){const t=yG.from((0,Fa.hash)(yG.from(e,"hex"),5));return jW.encode(t)}));let xG=!!oG.beaconSdkDebugEnabled;xG&&console.log("[BEACON]: Debug mode is ON (turned on either by the developer or a browser extension)");class _G{constructor(e){this.name=e}debug(e,...t){SG.debug(this.name,e,t)}log(e,...t){SG.log(this.name,e,t)}warn(e,...t){SG.warn(this.name,e,t)}error(e,...t){SG.error(this.name,e,t)}time(e,t){SG.time(e,t)}timeLog(e,...t){SG.timeLog(e,t)}}new _G("");let SG=new class{constructor(){}debug(e,t,...r){this._log("debug",e,t,r)}log(e,t,...r){this._log("log",e,t,r)}warn(e,t,...r){this._log("warn",e,t,r)}error(e,t,...r){this._log("error",e,t,r)}time(e,t){e?console.time(t):console.timeEnd(t)}timeLog(e,t,...r){this._log("timeLog",e,t,r)}_log(e,t,r,n=[]){if(!xG)return;let i=`[BEACON] ${(new Date).toISOString()} [${t}](${r})`,o=n;switch(n[0]&&"string"===typeof n[0]&&(i+=` ${n[0]}`,o=n.slice(1)),e){case"error":console.group(i),console.error(...o);break;case"warn":console.group(i),console.warn(...o);break;case"debug":console.groupCollapsed(i),console.debug(...o);break;case"timeLog":console.group(i),console.timeLog(...o);break;default:console.group(i),console.log(...o)}console.groupEnd()}};var kG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const EG=new _G("Client");class PG extends cG{constructor(e){var t;super(e),this.rateLimit=2,this.rateLimitWindowInSeconds=5,this.requestCounter=[],this._transport=new TW,this.accountManager=new vG(e.storage),this.matrixNodes=null!==(t=e.matrixNodes)&&void 0!==t?t:{},this.handleResponse=(e,t)=>{throw new Error(`not overwritten${JSON.stringify(e)} - ${JSON.stringify(t)}`)}}get transport(){return this._transport.promise}get connectionStatus(){var e,t;return null!==(t=null===(e=this._transport.promiseResult)||void 0===e?void 0:e.connectionStatus)&&void 0!==t?t:ZW.NOT_CONNECTED}get ready(){return this.transport.then((()=>{}))}getAccounts(){return kG(this,void 0,void 0,(function*(){return this.accountManager.getAccounts()}))}getAccount(e){return kG(this,void 0,void 0,(function*(){return this.accountManager.getAccount(e)}))}removeAccount(e){return kG(this,void 0,void 0,(function*(){return this.accountManager.removeAccount(e)}))}removeAllAccounts(){return kG(this,void 0,void 0,(function*(){return this.accountManager.removeAllAccounts()}))}addRequestAndCheckIfRateLimited(){return kG(this,void 0,void 0,(function*(){const e=(new Date).getTime();return this.requestCounter=this.requestCounter.filter((t=>t+1e3*this.rateLimitWindowInSeconds>e)),this.requestCounter.push(e),this.requestCounter.length>this.rateLimit}))}init(e){return kG(this,void 0,void 0,(function*(){return this._transport.status===OW.RESOLVED?(yield this.transport).type:(yield this.setTransport(e),e.type)}))}getOwnAppMetadata(){return kG(this,void 0,void 0,(function*(){return{senderId:yield wG(yield this.beaconId),name:this.name,icon:this.iconUrl}}))}getPeers(){return kG(this,void 0,void 0,(function*(){return(yield this.transport).getPeers()}))}addPeer(e){return kG(this,void 0,void 0,(function*(){return(yield this.transport).addPeer(e)}))}destroy(){const e=Object.create(null,{destroy:{get:()=>super.destroy}});return kG(this,void 0,void 0,(function*(){this._transport.status===OW.RESOLVED&&(yield(yield this.transport).disconnect()),yield e.destroy.call(this)}))}setTransport(e){return kG(this,void 0,void 0,(function*(){e?this._transport.isSettled()?this._transport=TW.resolve(e):this._transport.resolve(e):this._transport.isSettled()&&(this._transport=new TW)}))}addListener(e){return kG(this,void 0,void 0,(function*(){e.addListener(((e,t)=>kG(this,void 0,void 0,(function*(){if("string"===typeof e){const r=yield(new MG).deserialize(e);this.handleResponse(r,t)}})))).catch((e=>EG.error("addListener",e)))}))}sendDisconnectToPeer(e,t){return kG(this,void 0,void 0,(function*(){const r={id:yield $W(),version:e.version,senderId:yield wG(yield this.beaconId),type:HW.Disconnect},n=yield(new MG).serialize(r),i=null!==t&&void 0!==t?t:yield this.transport;yield i.send(n,e)}))}}var OG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const AG=new _G("Transport");class TG{constructor(e,t,r){this.type=XW.POST_MESSAGE,this._isConnected=ZW.NOT_CONNECTED,this.listeners=[],this.name=e,this.client=t,this.peerManager=r}setEventHandler(e,t){this.client.eventHandlers.set(e,t)}get connectionStatus(){return this._isConnected}static isAvailable(){return OG(this,void 0,void 0,(function*(){return Promise.resolve(!1)}))}connect(){return OG(this,void 0,void 0,(function*(){AG.log("connect"),this._isConnected=ZW.CONNECTED}))}disconnect(){return OG(this,void 0,void 0,(function*(){AG.log("disconnect"),this._isConnected=ZW.NOT_CONNECTED}))}send(e,t){return OG(this,void 0,void 0,(function*(){if(t)return this.client.sendMessage(e,t);{const t=(yield this.getPeers()).map((t=>this.client.sendMessage(e,t)));return(yield Promise.all(t))[0]}}))}addListener(e){return OG(this,void 0,void 0,(function*(){AG.debug("addListener"),this.listeners.push(e)}))}removeListener(e){return OG(this,void 0,void 0,(function*(){AG.log("removeListener"),this.listeners=this.listeners.filter((t=>t!==e))}))}getPeers(){return OG(this,void 0,void 0,(function*(){return this.peerManager.getPeers()}))}addPeer(e,t=!0){return OG(this,void 0,void 0,(function*(){AG.log("addPeer","adding peer",e),yield this.peerManager.addPeer(e),yield this.listen(e.publicKey)}))}removePeer(e){return OG(this,void 0,void 0,(function*(){AG.log("removePeer","removing peer",e),yield this.peerManager.removePeer(e.publicKey),this.client&&(yield this.client.unsubscribeFromEncryptedMessage(e.publicKey))}))}removeAllPeers(){return OG(this,void 0,void 0,(function*(){AG.log("removeAllPeers"),yield this.peerManager.removeAllPeers(),this.client&&(yield this.client.unsubscribeFromEncryptedMessages())}))}notifyListeners(e,t){return OG(this,void 0,void 0,(function*(){0===this.listeners.length?AG.warn("notifyListeners","0 listeners notified!",this):AG.log("notifyListeners",`Notifying ${this.listeners.length} listeners`,this),this.listeners.forEach((r=>{r(e,t)}))}))}}var jG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class CG{constructor(e){this.prefix=e}static isSupported(){return jG(this,void 0,void 0,(function*(){return Promise.resolve(Boolean("undefined"!==typeof window)&&Boolean(window.localStorage))}))}get(e){return jG(this,void 0,void 0,(function*(){const t=localStorage.getItem(this.getPrefixedKey(e));if(!t)return"object"===typeof QW[e]?JSON.parse(JSON.stringify(QW[e])):QW[e];try{return JSON.parse(t)}catch(r){return t}}))}set(e,t){return jG(this,void 0,void 0,(function*(){return"string"===typeof t?localStorage.setItem(this.getPrefixedKey(e),t):localStorage.setItem(this.getPrefixedKey(e),JSON.stringify(t))}))}delete(e){return jG(this,void 0,void 0,(function*(){return Promise.resolve(localStorage.removeItem(this.getPrefixedKey(e)))}))}getPrefixedKey(e){return this.prefix?`${this.prefix}-${e}`:e}}new _G("STORAGE");var RG=r(261).Buffer,IG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class MG{serialize(e){return IG(this,void 0,void 0,(function*(){const t=JSON.stringify(e);return jW.encode(RG.from(t))}))}deserialize(e){return IG(this,void 0,void 0,(function*(){if("string"!==typeof e)throw new Error("Encoded payload needs to be a string");return JSON.parse(jW.decode(e).toString())}))}}var LG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class NG{constructor(e){this.storageManager=new uG(e,JW.APP_METADATA_LIST)}getAppMetadataList(){var e;return LG(this,void 0,void 0,(function*(){return null!==(e=yield this.storageManager.getAll())&&void 0!==e?e:[]}))}getAppMetadata(e){return LG(this,void 0,void 0,(function*(){return this.storageManager.getOne((t=>t.senderId===e))}))}addAppMetadata(e){return LG(this,void 0,void 0,(function*(){return this.storageManager.addOne(e,(t=>t.senderId===e.senderId))}))}removeAppMetadata(e){return LG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>t.senderId===e))}))}removeAppMetadatas(e){return LG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>e.includes(t.senderId)))}))}removeAllAppMetadata(){return LG(this,void 0,void 0,(function*(){return this.storageManager.removeAll()}))}}var DG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class BG{constructor(e){this.storageManager=new uG(e,JW.PERMISSION_LIST)}getPermissions(){var e;return DG(this,void 0,void 0,(function*(){return null!==(e=yield this.storageManager.getAll())&&void 0!==e?e:[]}))}getPermission(e){return DG(this,void 0,void 0,(function*(){return this.storageManager.getOne((t=>t.accountIdentifier===e))}))}addPermission(e){return DG(this,void 0,void 0,(function*(){return this.storageManager.addOne(e,(t=>t.accountIdentifier===e.accountIdentifier&&t.senderId===e.senderId))}))}removePermission(e){return DG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>t.accountIdentifier===e))}))}removePermissions(e){return DG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>e.includes(t.accountIdentifier)))}))}removeAllPermissions(){return DG(this,void 0,void 0,(function*(){return this.storageManager.removeAll()}))}hasPermission(e){return DG(this,void 0,void 0,(function*(){return mG.hasPermission(e,this.getPermission.bind(this),this.getPermissions.bind(this))}))}}var zG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class UG{constructor(e,t){this.storageManager=new uG(e,t)}hasPeer(e){return zG(this,void 0,void 0,(function*(){return!!(yield this.getPeer(e))}))}getPeers(){var e;return zG(this,void 0,void 0,(function*(){return null!==(e=yield this.storageManager.getAll())&&void 0!==e?e:[]}))}getPeer(e){return zG(this,void 0,void 0,(function*(){return this.storageManager.getOne((t=>t.publicKey===e))}))}addPeer(e){return zG(this,void 0,void 0,(function*(){return this.storageManager.addOne(e,(t=>t.publicKey===e.publicKey))}))}removePeer(e){return zG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>t.publicKey===e))}))}removePeers(e){return zG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>e.includes(t.publicKey)))}))}removeAllPeers(){return zG(this,void 0,void 0,(function*(){return this.storageManager.removeAll()}))}}var FG=r(757),$G=r(261).Buffer,HG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class VG{constructor(e){this.keyPair=e,this.eventHandlers=new Map}getPublicKey(){var e;return HG(this,void 0,void 0,(function*(){return NW(null===(e=this.keyPair)||void 0===e?void 0:e.publicKey)}))}getPublicKeyHash(){return HG(this,void 0,void 0,(function*(){return DW(this.keyPair.publicKey)}))}createCryptoBoxServer(e,t){return HG(this,void 0,void 0,(function*(){return(0,FG.serverSessionKeys)({publicKey:(0,Ua.SH)(t.publicKey),secretKey:(0,Ua.zh)(t.secretKey)},(0,Ua.SH)($G.from(e,"hex")))}))}createCryptoBoxClient(e,t){return HG(this,void 0,void 0,(function*(){return(0,FG.clientSessionKeys)({publicKey:(0,Ua.SH)(t.publicKey),secretKey:(0,Ua.zh)(t.secretKey)},(0,Ua.SH)($G.from(e,"hex")))}))}encryptMessageAsymmetric(e,t){return HG(this,void 0,void 0,(function*(){return function(e,t){return LW(this,void 0,void 0,(function*(){const r=(0,Ua.SH)(MW.from(t)),n=(0,Ac.generateKeyPair)(),i=new Fa.BLAKE2b(24).update(n.publicKey,32).update(r,32).digest(),o="string"===typeof e?(0,RW.cv)(e):e,a=(0,Ac.box)(r,n.secretKey,i,o);return NW((0,IW.z)(n.publicKey,a))}))}(t,$G.from(e,"hex"))}))}}r(261).Buffer;var qG,KG=r(5893),WG=r.n(KG);!function(e){e.TEXT="m.text"}(qG||(qG={}));class GG{constructor(e,t,r,n){this.type=e,this.sender=t,this.content=r,this.timestamp=n}static from(e){if(ZG(e))return new GG(e.content.msgtype,e.sender,e.content.body,e.origin_server_ts)}}const YG=e=>"m.room.message"===e.type,ZG=e=>YG(e)&&e.content instanceof Object&&"msgtype"in e.content&&e.content.msgtype===qG.TEXT;var XG;!function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.JOINED=1]="JOINED",e[e.INVITED=2]="INVITED",e[e.LEFT=3]="LEFT"}(XG||(XG={}));class JG{constructor(e,t=XG.UNKNOWN,r=[],n=[]){this.id=e,this.status=t,this.members=r,this.messages=n}static fromSync(e){var t,r,n;if(!e)return[];function i(e,t){return Object.entries(e).map((([e,r])=>t(e,r)))}return[...i(null!==(t=e.join)&&void 0!==t?t:{},JG.fromJoined),...i(null!==(r=e.invite)&&void 0!==r?r:{},JG.fromInvited),...i(null!==(n=e.leave)&&void 0!==n?n:{},JG.fromLeft)]}static from(e,t){return"string"===typeof e?new JG(e,t||XG.UNKNOWN):void 0!==t?new JG(e.id,t,e.members,e.messages):e}static merge(e,t){return t&&t.id===e.id?new JG(e.id,e.status,[...t.members,...e.members].filter(((e,t,r)=>r.indexOf(e)===t)),[...t.messages,...e.messages]):JG.from(e)}static fromJoined(e,t){const r=[...t.state.events,...t.timeline.events],n=JG.getMembersFromEvents(r),i=JG.getMessagesFromEvents(r);return new JG(e,XG.JOINED,n,i)}static fromInvited(e,t){const r=JG.getMembersFromEvents(t.invite_state.events);return new JG(e,XG.INVITED,r)}static fromLeft(e,t){const r=[...t.state.events,...t.timeline.events],n=JG.getMembersFromEvents(r),i=JG.getMessagesFromEvents(r);return new JG(e,XG.LEFT,n,i)}static getMembersFromEvents(e){return JG.getUniqueEvents(e.filter((e=>(e=>"m.room.create"===e.type&&e.content instanceof Object&&"creator"in e.content)(e)||(e=>"m.room.member"===e.type&&e.content instanceof Object&&"membership"in e.content&&"join"===e.content.membership)(e)))).map((e=>e.sender)).filter(((e,t,r)=>r.indexOf(e)===t))}static getMessagesFromEvents(e){return JG.getUniqueEvents(e.filter(YG)).map((e=>GG.from(e))).filter(Boolean)}static getUniqueEvents(e){const t={},r=[];return e.forEach(((e,n)=>{const i=e.event_id;void 0!==i&&i in t||(void 0!==i&&(t[i]=n),r.push(e))})),r}}var QG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const eY=["syncToken","rooms"];class tY{constructor(e){this.storage=e,this.state={isRunning:!1,userId:void 0,deviceId:void 0,txnNo:0,accessToken:void 0,syncToken:void 0,pollingTimeout:void 0,pollingRetries:0,rooms:{}},this.onStateChangedListeners=new Map,this.waitReadyPromise=new Promise(((e,t)=>QG(this,void 0,void 0,(function*(){try{yield this.initFromStorage(),e()}catch(r){t(r)}}))))}get(e){return this.state[e]}getRoom(e){const t=JG.from(e,XG.UNKNOWN);return this.state.rooms[t.id]||t}update(e){return QG(this,void 0,void 0,(function*(){yield this.waitReady();const t=Object.assign({},this.state);this.setState(e),this.updateStorage(e),this.notifyListeners(t,this.state,e)}))}onStateChanged(e,...t){t.length>0?t.forEach((t=>{this.onStateChangedListeners.set(t,e)})):this.onStateChangedListeners.set("all",e)}waitReady(){return QG(this,void 0,void 0,(function*(){return this.waitReadyPromise}))}initFromStorage(){return QG(this,void 0,void 0,(function*(){const e=yield this.storage.get(JW.MATRIX_PRESERVED_STATE);this.setState(e)}))}prepareData(e){const t=["rooms"].some((t=>void 0!==e[t]))?JSON.parse(JSON.stringify(e)):e;return Object.values(t.rooms||{}).forEach((e=>{e.messages=[]})),t}updateStorage(e){const t=Object.entries(e).filter((([e,t])=>eY.includes(e)&&Boolean(t)));if(t.length>0){const e={};eY.forEach((t=>{e[t]=this.state[t]})),this.storage.set(JW.MATRIX_PRESERVED_STATE,this.prepareData(e))}}setState(e){this.state={isRunning:e.isRunning||this.state.isRunning,userId:e.userId||this.state.userId,deviceId:e.deviceId||this.state.deviceId,txnNo:e.txnNo||this.state.txnNo,accessToken:e.accessToken||this.state.accessToken,syncToken:e.syncToken||this.state.syncToken,pollingTimeout:e.pollingTimeout||this.state.pollingTimeout,pollingRetries:e.pollingRetries||this.state.pollingRetries,rooms:this.mergeRooms(this.state.rooms,e.rooms)}}mergeRooms(e,t){if(!t)return e;const r=Array.isArray(t)?t:Object.values(t),n=Object.assign({},e);return r.forEach((t=>{n[t.id]=JG.merge(t,e[t.id])})),n}notifyListeners(e,t,r){const n=this.onStateChangedListeners.get("all");n&&n(e,t,r),PW(r).filter((e=>void 0!==r[e])).forEach((n=>{const i=this.onStateChangedListeners.get(n);i&&i(e,t,r)}))}}var rY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const nY=new _G("MatrixHttpClient");class iY{constructor(e){this.baseUrl=e,this.cancelTokenSource=WG().CancelToken.source()}get(e,t,r){return rY(this,void 0,void 0,(function*(){return this.send("GET",e,r,t)}))}post(e,t,r,n){return rY(this,void 0,void 0,(function*(){return this.send("POST",e,r,n,t)}))}put(e,t,r,n){return rY(this,void 0,void 0,(function*(){return this.send("PUT",e,r,n,t)}))}cancelAllRequests(){return rY(this,void 0,void 0,(function*(){return this.cancelTokenSource.cancel("Manually cancelled")}))}send(e,t,r,n,i){return rY(this,void 0,void 0,(function*(){const o=r?this.getHeaders(r):void 0,a=n?this.getParams(n):void 0;let s;try{s=yield WG().request({method:e,url:t,baseURL:this.apiUrl("/_matrix/client/r0"),headers:o,data:i,params:a,cancelToken:this.cancelTokenSource.token})}catch(c){const e=c;throw nY.error("send",e.code,e.message,e.response.data),c.response.data}return s.data}))}getHeaders(e){const t={},r=[];if(e.accessToken&&r.push(["Authorization",`Bearer ${e.accessToken}`]),0!==r.length){for(const[e,n]of r)t[e]=n;return t}}getParams(e){if(!e)return;const t=Object.assign(e,{});return PW(t).forEach((e=>void 0===t[e]&&delete t[e])),t}apiUrl(...e){return[this.baseUrl.endsWith("/")?this.baseUrl.substr(0,this.baseUrl.length-1):this.baseUrl,...e.map((e=>e.startsWith("/")?e.substr(1):e))].join("/")}}var oY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class aY{constructor(e){this.httpClient=e}createRoom(e,t={}){return oY(this,void 0,void 0,(function*(){return this.httpClient.post("/createRoom",t,{accessToken:e})}))}inviteToRoom(e,t,r){return oY(this,void 0,void 0,(function*(){return r.status!==XG.JOINED&&r.status!==XG.UNKNOWN?Promise.reject(`User is not a member of room ${r.id}.`):this.httpClient.post(`/rooms/${encodeURIComponent(r.id)}/invite`,{user_id:t},{accessToken:e})}))}joinRoom(e,t){return oY(this,void 0,void 0,(function*(){return t.status===XG.JOINED?Promise.resolve({room_id:t.id}):this.httpClient.post(`/rooms/${encodeURIComponent(t.id)}/join`,{},{accessToken:e})}))}getJoinedRooms(e){return oY(this,void 0,void 0,(function*(){return this.httpClient.get("/joined_rooms",void 0,{accessToken:e})}))}}var sY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class cY{constructor(e){this.httpClient=e}login(e,t,r){return sY(this,void 0,void 0,(function*(){return this.httpClient.post("/login",{type:"m.login.password",identifier:{type:"m.id.user",user:e},password:t,device_id:r})}))}}var lY,uY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class dY{constructor(e){this.httpClient=e,this.cachedPromises=new Map}sync(e,t){return uY(this,void 0,void 0,(function*(){return this.withCache("sync",(()=>this.httpClient.get("/sync",{timeout:t?t.pollingTimeout:void 0,since:t?t.syncToken:void 0},{accessToken:e})))}))}sendMessage(e,t,r,n){return uY(this,void 0,void 0,(function*(){return new Promise(((i,o)=>this.scheduleEvent({accessToken:e,roomId:t,type:"m.room.message",content:r,txnId:n,onSuccess:i,onError:o})))}))}scheduleEvent(e){this.sendEvent(e)}sendEvent(e){return uY(this,void 0,void 0,(function*(){const{roomId:t,type:r,txnId:n,content:i,accessToken:o}=e;try{const a=yield this.httpClient.put(`/rooms/${encodeURIComponent(t)}/send/${r}/${encodeURIComponent(n)}`,i,{accessToken:o});e.onSuccess(a)}catch(a){e.onError(a)}}))}withCache(e,t){let r=this.cachedPromises.get(e);return r||(r=t().finally((()=>{this.cachedPromises.delete(e)})),this.cachedPromises.set(e,r)),r}}class hY{constructor(){this.events={}}on(e,t){return"object"!==typeof this.events[e]&&(this.events[e]=[]),this.events[e].push(t),()=>this.removeListener(e,t)}removeListener(e,t){if("object"!==typeof this.events[e])return;if(!t)return void(this.events[e]=[]);const r=this.events[e].indexOf(t);r>-1&&this.events[e].splice(r,1)}removeAllListeners(){Object.keys(this.events).forEach((e=>this.events[e].splice(0,this.events[e].length)))}emit(e,...t){"object"===typeof this.events[e]&&[...this.events[e]].forEach((e=>e.apply(this,t)))}once(e,t){const r=this.on(e,((...e)=>{r(),t.apply(this,e)}));return r}}!function(e){e.INVITE="invite",e.MESSAGE="message"}(lY||(lY={}));class fY extends hY{constructor(){super(...arguments),this.eventEmitProviders=new Map([[lY.INVITE,()=>[this.isInvite,this.emitInvite.bind(this)]],[lY.MESSAGE,()=>[this.isMessage,this.emitMessage.bind(this)]]])}onStateChanged(e,t,r){for(const n of PW(lY))this.emitIfEvent(lY[n],r)}emitIfEvent(e,t){const r=this.eventEmitProviders.get(e);if(r){const[n,i]=r();n(t)&&i(e,t)}}emitClientEvent(e,t,r){this.emit(e,{type:e,content:t,timestamp:r})}isInvite(e){return!!e.rooms&&e.rooms.some((e=>e.status===XG.INVITED))}emitInvite(e,t){t.rooms.filter((e=>e.status===XG.INVITED)).map((e=>[e.id,e.members])).forEach((([t,r])=>{this.emitClientEvent(e,{roomId:t,members:r})}))}isMessage(e){return!!e.rooms&&e.rooms.some((e=>e.messages.length>0))}emitMessage(e,t){t.rooms.filter((e=>e.messages.length>0)).map((e=>e.messages.map((t=>[e.id,t,t.timestamp])))).reduce(((e,t)=>e.concat(t)),[]).forEach((([t,r,n])=>{this.emitClientEvent(e,{roomId:t,message:r},n)}))}}var pY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const mY=new _G("MatrixClient");class gY{constructor(e,t,r,n,i,o){this.store=e,this.eventEmitter=t,this.userService=r,this.roomService=n,this.eventService=i,this.httpClient=o,this.isActive=!0,this._isReady=new TW,this.store.onStateChanged(((e,t,r)=>{this.eventEmitter.onStateChanged(e,t,r)}),"rooms")}static create(e){const t=new tY(e.storage),r=new fY,n=new iY(e.baseUrl),i=new cY(n),o=new aY(n),a=new dY(n);return new gY(t,r,i,o,a,n)}get joinedRooms(){return new Promise((e=>pY(this,void 0,void 0,(function*(){yield this.isConnected(),e(Object.values(this.store.get("rooms")).filter((e=>e.status===XG.JOINED)))}))))}get invitedRooms(){return new Promise((e=>pY(this,void 0,void 0,(function*(){yield this.isConnected(),e(Object.values(this.store.get("rooms")).filter((e=>e.status===XG.INVITED)))}))))}get leftRooms(){return new Promise((e=>pY(this,void 0,void 0,(function*(){yield this.isConnected(),e(Object.values(this.store.get("rooms")).filter((e=>e.status===XG.LEFT)))}))))}start(e){return pY(this,void 0,void 0,(function*(){const t=yield this.userService.login(e.id,e.password,e.deviceId);yield this.store.update({accessToken:t.access_token});const r=new Promise(((e,t)=>pY(this,void 0,void 0,(function*(){yield this.poll(0,(t=>pY(this,void 0,void 0,(function*(){this.store.get("isRunning")||e(),yield this.store.update({isRunning:!0,syncToken:t.next_batch,pollingTimeout:3e4,pollingRetries:0,rooms:JG.fromSync(t.rooms)})}))),(e=>pY(this,void 0,void 0,(function*(){this.store.get("isRunning")||t(e),yield this.store.update({isRunning:!1,pollingRetries:this.store.get("pollingRetries")+1})}))))}))));return r.then((()=>{this._isReady.resolve()})).catch(console.error),r}))}isConnected(){return pY(this,void 0,void 0,(function*(){return this._isReady.promise}))}stop(){return pY(this,void 0,void 0,(function*(){return mY.log("MATRIX CLIENT STOPPED"),this.isActive=!1,this._isReady=new TW,this.httpClient.cancelAllRequests()}))}subscribe(e,t){this.eventEmitter.on(e,t)}unsubscribe(e,t){t&&this.eventEmitter.removeListener(e,t)}unsubscribeAll(e){this.eventEmitter.removeListener(e)}getRoomById(e){return pY(this,void 0,void 0,(function*(){return yield this.isConnected(),this.store.getRoom(e)}))}createTrustedPrivateRoom(...e){return pY(this,void 0,void 0,(function*(){return yield this.isConnected(),this.requiresAuthorization("createRoom",(t=>pY(this,void 0,void 0,(function*(){return(yield this.roomService.createRoom(t,{room_version:"5",invite:e,preset:"public_chat",is_direct:!0})).room_id}))))}))}inviteToRooms(e,...t){return pY(this,void 0,void 0,(function*(){yield this.isConnected(),yield this.requiresAuthorization("invite",(r=>Promise.all(t.map((t=>{const n=this.store.getRoom(t);this.roomService.inviteToRoom(r,e,n).catch((e=>mY.warn("inviteToRooms",e)))})))))}))}joinRooms(...e){return pY(this,void 0,void 0,(function*(){yield this.isConnected(),yield this.requiresAuthorization("join",(t=>Promise.all(e.map((e=>{const r=this.store.getRoom(e);return this.roomService.joinRoom(t,r)})))))}))}sendTextMessage(e,t){return pY(this,void 0,void 0,(function*(){yield this.isConnected(),yield this.requiresAuthorization("send",(r=>pY(this,void 0,void 0,(function*(){const n=yield this.createTxnId();return this.eventService.sendMessage(r,e,{msgtype:"m.text",body:t},n)}))))}))}poll(e,t,r){return pY(this,void 0,void 0,(function*(){const n=this.store,i=this.sync.bind(this),o=(a,s)=>pY(this,void 0,void 0,(function*(){let c=0;try{const e=yield i();t(e)}catch(l){r(l),c=n.get("pollingRetries"),this.isActive&&mY.log(`Retry syncing... ${c} retries so far`)}finally{this.isActive?setTimeout((()=>pY(this,void 0,void 0,(function*(){yield o(a,s)}))),c>3?5e3+e:e):s(new Error("Syncing stopped manually."))}}));return new Promise(o)}))}sync(){return pY(this,void 0,void 0,(function*(){return this.requiresAuthorization("sync",(e=>pY(this,void 0,void 0,(function*(){return this.eventService.sync(e,{pollingTimeout:this.store.get("pollingTimeout"),syncToken:this.store.get("syncToken")})}))))}))}requiresAuthorization(e,t){return pY(this,void 0,void 0,(function*(){const r=this.store.get("accessToken");return r?t(r):Promise.reject(`${e} requires authorization but no access token has been provided.`)}))}createTxnId(){return pY(this,void 0,void 0,(function*(){const e=(new Date).getTime(),t=this.store.get("txnNo");return yield this.store.update({txnNo:t+1}),`m${e}.${t}`}))}}var vY=r(261).Buffer,yY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const bY=new _G("P2PCommunicationClient"),wY={[rG.EUROPE_WEST]:["beacon-node-1.diamond.papers.tech","beacon-node-1.sky.papers.tech","beacon-node-2.sky.papers.tech","beacon-node-1.hope.papers.tech","beacon-node-1.hope-2.papers.tech","beacon-node-1.hope-3.papers.tech","beacon-node-1.hope-4.papers.tech","beacon-node-1.hope-5.papers.tech"]};class xY extends VG{constructor(e,t,r,n,i,o,a){super(t),this.name=e,this.replicationCount=r,this.storage=n,this.iconUrl=o,this.appUrl=a,this.client=new TW,this.activeListeners=new Map,this.ignoredRooms=[],this.loginCounter=0,bY.log("constructor","P2PCommunicationClient created"),this.ENABLED_RELAY_SERVERS=wY,i&&(this.ENABLED_RELAY_SERVERS=Object.assign(Object.assign({},wY),i))}getPairingRequestInfo(){return yY(this,void 0,void 0,(function*(){const e={id:yield $W(),type:"p2p-pairing-request",name:this.name,version:"3",publicKey:yield this.getPublicKey(),relayServer:(yield this.getRelayServer()).server};return this.iconUrl&&(e.icon=this.iconUrl),this.appUrl&&(e.appUrl=this.appUrl),e}))}getPairingResponseInfo(e){return yY(this,void 0,void 0,(function*(){const t={id:e.id,type:"p2p-pairing-response",name:this.name,version:e.version,publicKey:yield this.getPublicKey(),relayServer:(yield this.getRelayServer()).server};return this.iconUrl&&(t.icon=this.iconUrl),this.appUrl&&(t.appUrl=this.appUrl),t}))}findBestRegion(){return yY(this,void 0,void 0,(function*(){if(this.selectedRegion)return this.selectedRegion;const e=Object.keys(this.ENABLED_RELAY_SERVERS),t=[];e.forEach((e=>{var r;const n=null!==(r=this.ENABLED_RELAY_SERVERS[e])&&void 0!==r?r:[];if(0===n.length)return;const i=Math.floor(Math.random()*n.length);t.push(this.getBeaconInfo(n[i]).then((t=>({region:e,server:n[i],response:t}))).catch((e=>new Promise(((t,r)=>{setTimeout((()=>r(e)),2e3)})))))}));const r=yield Promise.race(t);return this.selectedRegion=r.region,r.region}))}getRelayServer(){return yY(this,void 0,void 0,(function*(){if(this.relayServer){const e=yield this.relayServer.promise;if(Date.now()-e.localTimestamp<6e4)return{server:e.server,timestamp:e.timestamp};const t=yield this.getBeaconInfo(e.server);return this.relayServer.resolve({server:e.server,timestamp:t.timestamp,localTimestamp:(new Date).getTime()}),{server:e.server,timestamp:t.timestamp}}this.relayServer=new TW;const e=yield this.storage.get(JW.MATRIX_SELECTED_NODE);if(e&&e.length>0){const t=yield this.getBeaconInfo(e);return this.relayServer.resolve({server:e,timestamp:t.timestamp,localTimestamp:(new Date).getTime()}),{server:e,timestamp:t.timestamp}}const t=yield this.findBestRegion(),r=this.ENABLED_RELAY_SERVERS[t];if(!r)throw new Error(`No servers found for region ${t}`);const n=[...r];for(;n.length>0;){const e=Math.floor(Math.random()*n.length),t=n[e];try{const e=yield this.getBeaconInfo(t);return this.storage.set(JW.MATRIX_SELECTED_NODE,t).catch((e=>bY.log(e))),this.relayServer.resolve({server:t,timestamp:e.timestamp,localTimestamp:(new Date).getTime()}),{server:t,timestamp:e.timestamp}}catch(i){bY.log(`Ignoring server "${t}", trying another one...`),n.splice(e,1)}}throw this.relayServer.reject("No matrix server reachable!"),new Error("No matrix server reachable!")}))}getBeaconInfo(e){return yY(this,void 0,void 0,(function*(){return WG().get(`https://${e}/_synapse/client/beacon/info`).then((e=>({region:e.data.region,known_servers:e.data.known_servers,timestamp:Math.floor(e.data.timestamp)})))}))}tryJoinRooms(e,t=1){return yY(this,void 0,void 0,(function*(){try{yield(yield this.client.promise).joinRooms(e)}catch(r){t<=10&&"M_FORBIDDEN"===r.errcode?(bY.log("Retrying to join...",r),setTimeout((()=>yY(this,void 0,void 0,(function*(){yield this.tryJoinRooms(e,t+1)}))),200)):bY.log(`Failed to join after ${t} tries.`,r)}}))}start(){var e,t;return yY(this,void 0,void 0,(function*(){bY.log("start","starting client"),bY.log("start","connecting to server");const r=yield this.getRelayServer(),n=gY.create({baseUrl:`https://${r.server}`,storage:this.storage});if(this.initialListener=e=>yY(this,void 0,void 0,(function*(){this.initialEvent&&this.initialEvent.timestamp&&e&&e.timestamp?this.initialEvent.timestampyY(this,void 0,void 0,(function*(){let t;1===e.content.members.length&&(t=e.content.members[0]),yield this.tryJoinRooms(e.content.roomId),t&&(yield this.updateRelayServer(t),yield this.updatePeerRoom(t,e.content.roomId))})))),!r.timestamp)throw new Error("No timestamp received from relay server");const i=Math.floor(r.timestamp),o=`login:${Math.floor(i/300)}`;bY.log("start",`login ${o}, ${yield this.getPublicKeyHash()} on ${r.server}`);const a=(0,Fa.hash)((0,RW.cv)(o),32),s=null!==(e=this.keyPair.secretKey)&&void 0!==e?e:this.keyPair.privateKey,c=(0,Ua.Xx)(s,a);try{yield n.start({id:yield this.getPublicKeyHash(),password:`ed:${NW(c)}:${yield this.getPublicKey()}`,deviceId:NW(this.keyPair.publicKey)})}catch(l){if(bY.error("start","Could not log in, retrying"),yield this.reset(),!this.selectedRegion)throw new Error("No region selected.");if(this.loginCounter<=(null!==(t=this.ENABLED_RELAY_SERVERS[this.selectedRegion])&&void 0!==t?t:[]).length)return this.loginCounter++,void this.start();throw bY.error("start","Tried to log in to every known beacon node, but no login was successful."),new Error("Could not connect to any beacon nodes. Try again later.")}bY.log("start","login successful, client is ready"),this.client.resolve(n)}))}stop(){return yY(this,void 0,void 0,(function*(){bY.log("stop","stopping client"),this.client.isResolved()&&(yield(yield this.client.promise).stop().catch((e=>bY.error(e)))),yield this.reset()}))}reset(){return yY(this,void 0,void 0,(function*(){bY.log("reset","resetting connection"),yield this.storage.delete(JW.MATRIX_PEER_ROOM_IDS).catch((e=>bY.log(e))),yield this.storage.delete(JW.MATRIX_PRESERVED_STATE).catch((e=>bY.log(e))),yield this.storage.delete(JW.MATRIX_SELECTED_NODE).catch((e=>bY.log(e))),this.relayServer=void 0,this.client=new TW,this.initialEvent=void 0,this.initialListener=void 0}))}listenForEncryptedMessage(e,t){return yY(this,void 0,void 0,(function*(){if(this.activeListeners.has(e))return;bY.log("listenForEncryptedMessage",`start listening for encrypted messages from publicKey ${e}`);const r=yield this.createCryptoBoxServer(e,this.keyPair),n=n=>yY(this,void 0,void 0,(function*(){if(this.isTextMessage(n.content)&&(yield this.isSender(n,e))){let o;yield this.updateRelayServer(n.content.message.sender),yield this.updatePeerRoom(n.content.message.sender,n.content.roomId);try{o=vY.from(n.content.message.content,"hex")}catch(Nn){}if(o&&o.length>=40)try{const n=yield function(e,t){return LW(this,void 0,void 0,(function*(){const r=e.slice(0,24),n=e.slice(24),i=(0,Ac.openSecretBox)(t,r,n);if(!i)throw new Error("Decryption failed");return MW.from(i).toString("utf8")}))}(o,r.receive);bY.log("listenForEncryptedMessage",`received a message from ${e}`,n),t(n)}catch(i){}}}));this.activeListeners.set(e,n),(yield this.client.promise).subscribe(lY.MESSAGE,n);const i=this.initialEvent;i&&i.timestamp&&(new Date).getTime()-i.timestamp<3e5?(bY.log("listenForEncryptedMessage","Handling previous event"),yield n(i)):bY.log("listenForEncryptedMessage","No previous event found");const o=this.initialListener;o&&(yield this.client.promise).unsubscribe(lY.MESSAGE,o),this.initialListener=void 0,this.initialEvent=void 0}))}unsubscribeFromEncryptedMessage(e){return yY(this,void 0,void 0,(function*(){const t=this.activeListeners.get(e);t&&((yield this.client.promise).unsubscribe(lY.MESSAGE,t),this.activeListeners.delete(e))}))}unsubscribeFromEncryptedMessages(){return yY(this,void 0,void 0,(function*(){(yield this.client.promise).unsubscribeAll(lY.MESSAGE),this.activeListeners.clear()}))}sendMessage(e,t){return yY(this,void 0,void 0,(function*(){const r=yield this.createCryptoBoxClient(t.publicKey,this.keyPair),n=zW(yield DW(vY.from(t.publicKey,"hex")),t.relayServer),i=yield this.getRelevantRoom(n);yield this.waitForJoin(i);const o=yield function(e,t){return LW(this,void 0,void 0,(function*(){const r=MW.from((0,CW.randomBytes)(24));return NW(MW.concat([r,MW.from((0,Ac.secretBox)(t,r,MW.from(e,"utf8")))]))}))}(e,r.send);bY.log("sendMessage","sending encrypted message",t.publicKey,i,e),(yield this.client.promise).sendTextMessage(i,o).catch((e=>yY(this,void 0,void 0,(function*(){if("M_FORBIDDEN"===e.errcode){bY.log("sendMessage","M_FORBIDDEN",i,e),yield this.deleteRoomIdFromRooms(i);const t=yield this.getRelevantRoom(n);bY.log("sendMessage","Old room deleted, new room created",t),(yield this.client.promise).sendTextMessage(t,o).catch((e=>yY(this,void 0,void 0,(function*(){bY.log("sendMessage","inner error",t,e)}))))}else bY.log("sendMessage","unexpected error",e)}))))}))}updatePeerRoom(e,t){return yY(this,void 0,void 0,(function*(){bY.log("updatePeerRoom",e,t);const r=e.split(":");if(r.length<2||!r[0].startsWith("@"))throw new Error("Invalid sender");const n=yield this.storage.get(JW.MATRIX_PEER_ROOM_IDS),i=n[e];i===t&&bY.debug("updatePeerRoom","rooms are the same, not updating"),bY.debug("updatePeerRoom","current room",i,"new room",t),i&&i[1]&&(bY.log("updatePeerRoom",`adding room "${i[1]}" to ignored array`),this.ignoredRooms.push(i[1])),n[e]=t,yield this.storage.set(JW.MATRIX_PEER_ROOM_IDS,n)}))}deleteRoomIdFromRooms(e){return yY(this,void 0,void 0,(function*(){const t=yield this.storage.get(JW.MATRIX_PEER_ROOM_IDS),r=Object.entries(t).filter((t=>t[1]!==e)).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t[0]]:t[1]})),{});yield this.storage.set(JW.MATRIX_PEER_ROOM_IDS,r),this.ignoredRooms.push(e)}))}listenForChannelOpening(e){return yY(this,void 0,void 0,(function*(){bY.debug("listenForChannelOpening"),(yield this.client.promise).subscribe(lY.MESSAGE,(t=>yY(this,void 0,void 0,(function*(){if(this.isTextMessage(t.content)&&(yield this.isChannelOpenMessage(t.content))){bY.log("listenForChannelOpening","channel opening received, trying to decrypt",JSON.stringify(t)),yield this.updateRelayServer(t.content.message.sender),yield this.updatePeerRoom(t.content.message.sender,t.content.roomId);const n=t.content.message.content.split(":"),i=vY.from(n[n.length-1],"hex");if(i.length>=40)try{const t=JSON.parse(yield function(e,t,r){return LW(this,void 0,void 0,(function*(){const n=(0,Ua.zh)(MW.from(r)),i=(0,Ua.SH)(MW.from(t)),o="string"===typeof e?(0,RW.cv)(e):e,a=o.slice(0,32),s=o.slice(32),c=new Fa.BLAKE2b(24).update(a,32).update(i,32).digest(),l=(0,Ac.openBox)(a,n,c,s);if(!l)throw new Error("Decryption failed");return MW.from(l).toString()}))}(i,this.keyPair.publicKey,this.keyPair.secretKey));bY.log("listenForChannelOpening","channel opening received and decrypted",JSON.stringify(t)),e(Object.assign(Object.assign({},t),{senderId:yield wG(t.publicKey)}))}catch(r){}}}))))}))}waitForJoin(e,t=0){return yY(this,void 0,void 0,(function*(){const r=yield(yield this.client.promise).getRoomById(e);if(bY.log("waitForJoin",`Currently ${r.members.length} members, we need at least 2`),!(r.members.length>=2)){if(t<=200)return bY.log(`Waiting for join... Try: ${t}`),new Promise((r=>{setTimeout((()=>yY(this,void 0,void 0,(function*(){r(this.waitForJoin(e,t+1))}))),100*(t>50?10:1))}));throw new Error(`No one joined after ${t} tries.`)}}))}sendPairingResponse(e){return yY(this,void 0,void 0,(function*(){bY.log("sendPairingResponse");const t=zW(yield DW(vY.from(e.publicKey,"hex")),e.relayServer),r=yield(yield this.client.promise).createTrustedPrivateRoom(t);bY.debug("sendPairingResponse",`Connecting to room "${r}"`),yield this.updatePeerRoom(t,r),yield this.waitForJoin(r),bY.debug("sendPairingResponse","Successfully joined room.");const n="undefined"===typeof e.version?yield this.getPublicKey():JSON.stringify(yield this.getPairingResponseInfo(e));bY.debug("sendPairingResponse","Sending pairing response",n);const i=yield this.encryptMessageAsymmetric(e.publicKey,n),o=["@channel-open",t,i].join(":");(yield this.client.promise).sendTextMessage(r,o).catch((e=>yY(this,void 0,void 0,(function*(){if("M_FORBIDDEN"===e.errcode){bY.log("sendPairingResponse","M_FORBIDDEN",r,e),yield this.deleteRoomIdFromRooms(r);const n=yield this.getRelevantRoom(t);bY.log("sendPairingResponse","Old room deleted, new room created",n),(yield this.client.promise).sendTextMessage(n,o).catch((e=>yY(this,void 0,void 0,(function*(){bY.log("sendPairingResponse","inner error",n,e)}))))}else bY.log("sendPairingResponse","unexpected error",e)}))))}))}isTextMessage(e){return e.message.type===qG.TEXT}updateRelayServer(e){return yY(this,void 0,void 0,(function*(){bY.log("updateRelayServer",e);const t=e.split(":");if(t.length<2||!t[0].startsWith("@"))throw new Error("Invalid sender");const r=t.shift(),n=t.join(":"),i=localStorage.getItem("beacon:communication-peers-dapp")?new UG(this.storage,JW.TRANSPORT_P2P_PEERS_DAPP):new UG(this.storage,JW.TRANSPORT_P2P_PEERS_WALLET),o=(yield i.getPeers()).map((e=>yY(this,void 0,void 0,(function*(){`@${yield DW(vY.from(e.publicKey,"hex"))}`===r&&e.relayServer!==n&&(e.relayServer=n,yield i.addPeer(e))}))));yield Promise.all(o)}))}isChannelOpenMessage(e){return yY(this,void 0,void 0,(function*(){return e.message.content.startsWith(`@channel-open:@${yield DW(vY.from(yield this.getPublicKey(),"hex"))}`)}))}isSender(e,t){return yY(this,void 0,void 0,(function*(){return e.content.message.sender.startsWith(`@${yield DW(vY.from(t,"hex"))}`)}))}getRelevantRoom(e){return yY(this,void 0,void 0,(function*(){const t=yield this.storage.get(JW.MATRIX_PEER_ROOM_IDS);let r=t[e];if(!r){bY.log("getRelevantRoom",`No room found for peer ${e}, checking joined ones.`);const n=yield this.getRelevantJoinedRoom(e);r=n.id,t[e]=n.id,yield this.storage.set(JW.MATRIX_PEER_ROOM_IDS,t)}return bY.log("getRelevantRoom",`Using room ${r}`),r}))}getRelevantJoinedRoom(e){return yY(this,void 0,void 0,(function*(){const t=yield(yield this.client.promise).joinedRooms;bY.log("checking joined rooms",t,e);const r=t.filter((e=>!this.ignoredRooms.some((t=>e.id===t)))).filter((t=>t.members.some((t=>t===e))));let n;if(0===r.length||this.ignoredRooms.length>0){bY.log("getRelevantJoinedRoom","no relevant rooms found, creating new one");const t=yield(yield this.client.promise).createTrustedPrivateRoom(e);n=yield(yield this.client.promise).getRoomById(t),bY.log("getRelevantJoinedRoom",`waiting for other party to join room: ${n.id}`),yield this.waitForJoin(t),bY.log("getRelevantJoinedRoom",`new room created and peer invited: ${n.id}`)}else n=r[0],bY.log("getRelevantJoinedRoom",`channel already open, reusing room ${n.id}`);return n}))}}var _Y=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const SY=new _G("P2PTransport");class kY extends TG{constructor(e,t,r,n,i,o,a){super(e,new xY(e,t,1,r,n,o,a),new UG(r,i)),this.type=XW.P2P}static isAvailable(){return _Y(this,void 0,void 0,(function*(){return Promise.resolve(!0)}))}connect(){const e=Object.create(null,{connect:{get:()=>super.connect}});return _Y(this,void 0,void 0,(function*(){if(this._isConnected!==ZW.NOT_CONNECTED)return;SY.log("connect"),this._isConnected=ZW.CONNECTING,yield this.client.start();const t=yield this.getPeers();if(t.length>0){SY.log("connect",`connecting to ${t.length} peers`);const e=t.map((e=>_Y(this,void 0,void 0,(function*(){return this.listen(e.publicKey)}))));Promise.all(e).catch((e=>SY.error("connect",e)))}return yield this.startOpenChannelListener(),e.connect.call(this)}))}disconnect(){const e=Object.create(null,{disconnect:{get:()=>super.disconnect}});return _Y(this,void 0,void 0,(function*(){return yield this.client.stop(),e.disconnect.call(this)}))}startOpenChannelListener(){return _Y(this,void 0,void 0,(function*(){}))}getPairingRequestInfo(){return _Y(this,void 0,void 0,(function*(){return this.client.getPairingRequestInfo()}))}listen(e){return _Y(this,void 0,void 0,(function*(){yield this.client.listenForEncryptedMessage(e,(t=>{const r={origin:WW.P2P,id:e};this.notifyListeners(t,r).catch((e=>{throw e}))})).catch((e=>{throw e}))}))}}var EY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class PY extends kY{constructor(e,t,r,n,i,o){super(e,t,r,n,JW.TRANSPORT_P2P_PEERS_WALLET,i,o)}addPeer(e,t=!0){const r=Object.create(null,{addPeer:{get:()=>super.addPeer}});return EY(this,void 0,void 0,(function*(){yield r.addPeer.call(this,e),t&&(yield this.client.sendPairingResponse(e))}))}}var OY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const AY=new _G("IncomingRequestInterceptor");class TY{static intercept(e){return OY(this,void 0,void 0,(function*(){console.log("INTERCEPTING REQUEST",e.message),"2"===e.message.version?TY.handleV2Message(e):"3"===e.message.version&&TY.handleV3Message(e)}))}static getAppMetadata(e,t){return OY(this,void 0,void 0,(function*(){const r=yield e.getAppMetadata(t);if(!r)throw new Error("AppMetadata not found");return r}))}static handleV2Message(e){return OY(this,void 0,void 0,(function*(){const{message:t,connectionInfo:r,appMetadataManager:n,interceptorCallback:i}=e;switch(t.type){case HW.PermissionRequest:console.log("PERMISSION REQUEST V*",t),t.appMetadata.beaconId&&!t.appMetadata.senderId&&(t.appMetadata.senderId=t.appMetadata.beaconId,delete t.appMetadata.beaconId),yield n.addAppMetadata(t.appMetadata);i(t,r);break;case HW.OperationRequest:{const e=yield TY.getAppMetadata(n,t.senderId);i(Object.assign({appMetadata:e},t),r)}break;case HW.SignPayloadRequest:{const e=yield TY.getAppMetadata(n,t.senderId);i(Object.assign({appMetadata:e},t),r)}break;case HW.BroadcastRequest:{const e=yield TY.getAppMetadata(n,t.senderId);i(Object.assign({appMetadata:e},t),r)}break;default:AY.log("intercept","Message not handled"),jY(t)}}))}static handleV3Message(e){return OY(this,void 0,void 0,(function*(){const{message:t,connectionInfo:r,appMetadataManager:n,interceptorCallback:i}=e,o=t,a=o.message;switch(a.type){case HW.PermissionRequest:yield n.addAppMetadata(Object.assign(Object.assign({},a.blockchainData.appMetadata),{senderId:t.senderId}));i(o,r);break;case HW.BlockchainRequest:i(Object.assign({},o),r);break;default:AY.log("intercept","Message not handled"),jY(a)}}))}}function jY(e){throw new Error("Function not implemented.")}var CY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const RY=new _G("OutgoingResponseInterceptor");class IY{static intercept(e){return CY(this,void 0,void 0,(function*(){"2"===e.request.version?IY.handleV2Message(e):"3"===e.request.version&&IY.handleV3Message(e)}))}static handleV3Message(e){return CY(this,void 0,void 0,(function*(){const{message:t,appMetadataManager:r,interceptorCallback:n}=e,i=t.message;console.log("LOGGING OUTGOING V3",i,r),n(t)}))}static handleV2Message(e){return CY(this,void 0,void 0,(function*(){const{senderId:t,request:r,message:n,ownAppMetadata:i,permissionManager:o,appMetadataManager:a,interceptorCallback:s}=e;switch(n.type){case HW.Error:{const e={type:n.type,version:"2",senderId:t,id:n.id,errorType:n.errorType};if(n.errorType===YW.TRANSACTION_INVALID_ERROR&&n.errorData){const t=n.errorData;Array.isArray(t)&&t.every((e=>Boolean(e.kind)&&Boolean(e.id)))?e.errorData=n.errorData:RY.warn("ErrorData provided is not in correct format. It needs to be an array of RPC errors. It will not be included in the message sent to the dApp")}s(e);break}case HW.Acknowledge:s({type:n.type,version:"2",senderId:t,id:n.id});break;case HW.PermissionResponse:{const e=Object.assign({senderId:t,version:"2",appMetadata:i},n),c=e.publicKey,l=yield function(e){return LW(this,void 0,void 0,(function*(){const t={edpk:{length:54,prefix:MW.from(new Uint8Array([6,161,159]))},sppk:{length:55,prefix:MW.from(new Uint8Array([6,161,161]))},p2pk:{length:55,prefix:MW.from(new Uint8Array([6,161,164]))}};let r,n;if(64===e.length)r=t.edpk.prefix,n=e;else{const i=Object.entries(t);for(let t=0;tsuper.init}});return MY(this,void 0,void 0,(function*(){const t=yield this.keyPair,r=new PY(this.name,t,this.storage,this.matrixNodes,this.iconUrl,this.appUrl);return e.init.call(this,r)}))}connect(e){return MY(this,void 0,void 0,(function*(){return this.handleResponse=(t,r)=>MY(this,void 0,void 0,(function*(){if("3"===t.version){const n=t;if(n.message.type===HW.Disconnect)return this.disconnect(n.senderId);this.pendingRequests.some((e=>e[0].id===t.id))||(this.pendingRequests.push([n,r]),yield this.sendAcknowledgeResponse(n,r),yield TY.intercept({message:n,connectionInfo:r,appMetadataManager:this.appMetadataManager,interceptorCallback:e}))}else{const n=t;if(n.type===HW.Disconnect)return this.disconnect(n.senderId);this.pendingRequests.some((e=>e[0].id===t.id))||(this.pendingRequests.push([n,r]),"1"!==n.version&&(yield this.sendAcknowledgeResponse(n,r)),yield TY.intercept({message:n,connectionInfo:r,appMetadataManager:this.appMetadataManager,interceptorCallback:e}))}})),this._connect()}))}getRegisterPushChallenge(e,t,r=nG){return MY(this,void 0,void 0,(function*(){const n=(yield nE.get(`${r}/challenge`)).data,i=NW(["Tezos Signed Message: ",n.id,n.timestamp,t,e].join(" "));return{challenge:n,payloadToSign:"0501"+i.length.toString(16).padStart(8,"0")+i}}))}registerPush(e,t,r,n,i,o,a=nG){return MY(this,void 0,void 0,(function*(){const s=yield this.storage.get(JW.PUSH_TOKENS),c=s.find((e=>e.publicKey===n&&e.backendUrl===r));if(c)return c;const l=(yield nE.post(`${a}/register`,{name:this.name,challenge:e,accountPublicKey:n,signature:t,backendUrl:r,protocolIdentifier:i,deviceId:o})).data,u={publicKey:n,backendUrl:r,accessToken:l.accessToken,managementToken:l.managementToken};return s.push(u),yield this.storage.set(JW.PUSH_TOKENS,s),u}))}_connect(){return MY(this,void 0,void 0,(function*(){const e=yield this.transport;e.connectionStatus===ZW.NOT_CONNECTED&&(yield e.connect(),e.addListener(((e,t)=>MY(this,void 0,void 0,(function*(){if("string"===typeof e){const r=yield(new MG).deserialize(e);this.handleResponse(r,t)}})))).catch((e=>LY.log("_connect",e))),this._isConnected.resolve(!0))}))}respond(e){return MY(this,void 0,void 0,(function*(){console.log("RESPONSE",e);const t=this.pendingRequests.find((t=>t[0].id===e.id));if(!t)throw new Error("No matching request found!");this.pendingRequests=this.pendingRequests.filter((t=>t[0].id!==e.id)),yield IY.intercept({senderId:yield wG(yield this.beaconId),request:t[0],message:e,ownAppMetadata:yield this.getOwnAppMetadata(),permissionManager:this.permissionManager,appMetadataManager:this.appMetadataManager,interceptorCallback:e=>MY(this,void 0,void 0,(function*(){yield this.respondToMessage(e,t[1])}))})}))}getAppMetadataList(){return MY(this,void 0,void 0,(function*(){return this.appMetadataManager.getAppMetadataList()}))}getAppMetadata(e){return MY(this,void 0,void 0,(function*(){return this.appMetadataManager.getAppMetadata(e)}))}removeAppMetadata(e){return MY(this,void 0,void 0,(function*(){return this.appMetadataManager.removeAppMetadata(e)}))}removeAllAppMetadata(){return MY(this,void 0,void 0,(function*(){return this.appMetadataManager.removeAllAppMetadata()}))}getPermissions(){return MY(this,void 0,void 0,(function*(){return this.permissionManager.getPermissions()}))}getPermission(e){return MY(this,void 0,void 0,(function*(){return this.permissionManager.getPermission(e)}))}removePermission(e){return MY(this,void 0,void 0,(function*(){return this.permissionManager.removePermission(e)}))}removeAllPermissions(){return MY(this,void 0,void 0,(function*(){return this.permissionManager.removeAllPermissions()}))}addPeer(e,t=!0){return MY(this,void 0,void 0,(function*(){const r=Object.assign(Object.assign({},e),{senderId:yield wG(e.publicKey)});return(yield this.transport).addPeer(r,t)}))}removePeer(e,t=!1){return MY(this,void 0,void 0,(function*(){const r=(yield this.transport).removePeer(e);return yield this.removePermissionsForPeers([e]),t&&(yield this.sendDisconnectToPeer(e)),r}))}removeAllPeers(e=!1){return MY(this,void 0,void 0,(function*(){const t=yield(yield this.transport).getPeers(),r=(yield this.transport).removeAllPeers();if(yield this.removePermissionsForPeers(t),e){const e=t.map((e=>this.sendDisconnectToPeer(e)));yield Promise.all(e)}return r}))}removePermissionsForPeers(e){return MY(this,void 0,void 0,(function*(){const t=yield this.permissionManager.getPermissions(),r=e.map((e=>e.senderId)),n=t.filter((e=>r.includes(e.appMetadata.senderId))).map((e=>e.accountIdentifier));yield this.permissionManager.removePermissions(n)}))}sendAcknowledgeResponse(e,t){return MY(this,void 0,void 0,(function*(){const r={id:e.id,type:HW.Acknowledge};yield IY.intercept({senderId:yield wG(yield this.beaconId),request:e,message:r,ownAppMetadata:yield this.getOwnAppMetadata(),permissionManager:this.permissionManager,appMetadataManager:this.appMetadataManager,interceptorCallback:e=>MY(this,void 0,void 0,(function*(){yield this.respondToMessage(e,t)}))})}))}respondToMessage(e,t){return MY(this,void 0,void 0,(function*(){const r=yield(new MG).serialize(e);if(t){const e=(yield this.getPeers()).find((e=>e.publicKey===t.id));yield(yield this.transport).send(r,e)}else yield(yield this.transport).send(r)}))}disconnect(e){return MY(this,void 0,void 0,(function*(){const t=yield this.transport,r=(yield t.getPeers()).find((t=>t.senderId===e));r&&(yield this.removePeer(r))}))}}function DY(e){const{theme:r}=ni(),n=f$();return(0,t.useMemo)((()=>function(e,t){const r=r=>{var n;return{...t,...r,position:IF(null!=(n=null==r?void 0:r.position)?n:null==t?void 0:t.position,e)}},n=e=>{const t=r(e),n=XF(t);return GF.notify(n,t)};return n.update=(e,t)=>{GF.update(e,r(t))},n.promise=(e,t)=>{const r=n({...t.loading,status:"loading",duration:null});e.then((e=>n.update(r,{status:"success",duration:5e3,...ae(t.success,e)}))).catch((e=>n.update(r,{status:"error",duration:5e3,...ae(t.error,e)})))},n.closeAll=GF.closeAll,n.close=GF.close,n.isActive=GF.isActive,n}(r.direction,{...n,...e})),[e,r.direction,n])}var BY={initial:({offsetX:e,offsetY:t,transition:r,transitionEnd:n,delay:i})=>{var o;return{opacity:0,x:e,y:t,transition:null!=(o=null==r?void 0:r.exit)?o:IK(CK.exit,i),transitionEnd:null==n?void 0:n.exit}},enter:({transition:e,transitionEnd:t,delay:r})=>{var n;return{opacity:1,x:0,y:0,transition:null!=(n=null==e?void 0:e.enter)?n:RK(CK.enter,r),transitionEnd:null==t?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:r,transitionEnd:n,reverse:i,delay:o})=>{var a;const s={x:t,y:e};return{opacity:0,transition:null!=(a=null==r?void 0:r.exit)?a:IK(CK.exit,o),...i?{...s,transitionEnd:null==n?void 0:n.exit}:{transitionEnd:{...s,...null==n?void 0:n.exit}}}}},zY={initial:"initial",animate:"enter",exit:"exit",variants:BY},UY=(0,t.forwardRef)((function(e,t){const{unmountOnExit:r,in:n,reverse:i=!0,className:o,offsetX:a=0,offsetY:s=8,transition:c,transitionEnd:l,delay:u,...d}=e,h=!r||n&&r,f=n||r?"enter":"exit",p={offsetX:a,offsetY:s,reverse:i,transition:c,transitionEnd:l,delay:u};return(0,Yn.jsx)(i$,{custom:p,children:h&&(0,Yn.jsx)(jF.div,{ref:t,className:ne("chakra-offset-slide",o),custom:p,...zY,animate:f,...d})})}));UY.displayName="SlideFade";var FY={exit:({reverse:e,initialScale:t,transition:r,transitionEnd:n,delay:i})=>{var o;return{opacity:0,...e?{scale:t,transitionEnd:null==n?void 0:n.exit}:{transitionEnd:{scale:t,...null==n?void 0:n.exit}},transition:null!=(o=null==r?void 0:r.exit)?o:IK(CK.exit,i)}},enter:({transitionEnd:e,transition:t,delay:r})=>{var n;return{opacity:1,scale:1,transition:null!=(n=null==t?void 0:t.enter)?n:RK(CK.enter,r),transitionEnd:null==e?void 0:e.enter}}},$Y={initial:"exit",animate:"enter",exit:"exit",variants:FY},HY=(0,t.forwardRef)((function(e,t){const{unmountOnExit:r,in:n,reverse:i=!0,initialScale:o=.95,className:a,transition:s,transitionEnd:c,delay:l,...u}=e,d=!r||n&&r,h=n||r?"enter":"exit",f={initialScale:o,reverse:i,transition:s,transitionEnd:c,delay:l};return(0,Yn.jsx)(i$,{custom:f,children:d&&(0,Yn.jsx)(jF.div,{ref:t,className:ne("chakra-offset-slide",a),...$Y,animate:h,custom:f,...u})})}));HY.displayName="ScaleFade";var VY={slideInBottom:{...zY,custom:{offsetY:16,reverse:!0}},slideInRight:{...zY,custom:{offsetX:16,reverse:!0}},slideInTop:{...zY,custom:{offsetY:-16,reverse:!0}},slideInLeft:{...zY,custom:{offsetX:-16,reverse:!0}},scale:{...$Y,custom:{initialScale:.95,reverse:!0}},none:{}},qY=Gn(jF.section),KY=e=>VY[e||"none"],WY=(0,t.forwardRef)(((e,t)=>{const{preset:r,motionProps:n=KY(r),...i}=e;return(0,Yn.jsx)(qY,{ref:t,...n,...i})}));function GY(){return GY=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0})).sort(EZ)},OZ=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"].join(","),AZ="".concat(OZ,", [data-focus-guard]"),TZ=function(e,t){return uZ((e.shadowRoot||e).children).reduce((function(e,r){return e.concat(r.matches(t?AZ:OZ)?[r]:[],TZ(r))}),[])},jZ=function(e,t){return e.reduce((function(e,r){var n,i=TZ(r,t),o=(n=[]).concat.apply(n,i.map((function(e){return function(e,t){var r;return e instanceof HTMLIFrameElement&&(null===(r=e.contentDocument)||void 0===r?void 0:r.body)?jZ([e.contentDocument.body],t):[e]}(e,t)})));return e.concat(o,r.parentNode?uZ(r.parentNode.querySelectorAll(OZ)).filter((function(e){return e===r})):[])}),[])},CZ=function(e,t){return uZ(e).filter((function(e){return gZ(t,e)})).filter((function(e){return function(e){return!((bZ(e)||function(e){return"BUTTON"===e.tagName}(e))&&("hidden"===e.type||e.disabled))}(e)}))},RZ=function(e,t){return void 0===t&&(t=new Map),uZ(e).filter((function(e){return vZ(t,e)}))},IZ=function(e,t,r){return PZ(CZ(jZ(e,r),t),!0,r)},MZ=function(e,t){return PZ(CZ(jZ(e),t),!1)},LZ=function(e,t){return CZ(function(e){var t=e.querySelectorAll("[".concat("data-autofocus-inside","]"));return uZ(t).map((function(e){return jZ([e])})).reduce((function(e,t){return e.concat(t)}),[])}(e),t)},NZ=function(e,t){return e.shadowRoot?NZ(e.shadowRoot,t):!(void 0===Object.getPrototypeOf(e).contains||!Object.getPrototypeOf(e).contains.call(e,t))||uZ(e.children).some((function(e){var r;if(e instanceof HTMLIFrameElement){var n=null===(r=e.contentDocument)||void 0===r?void 0:r.body;return!!n&&NZ(n,t)}return NZ(e,t)}))},DZ=function(e){if(void 0===e&&(e=document),e&&e.activeElement){var t=e.activeElement;return t.shadowRoot?DZ(t.shadowRoot):t instanceof HTMLIFrameElement&&function(e){try{return e()}catch(t){return}}((function(){return t.contentWindow.document}))?DZ(t.contentWindow.document):t}},BZ=function(e){return e.parentNode?BZ(e.parentNode):e},zZ=function(e){return dZ(e).filter(Boolean).reduce((function(e,t){var r=t.getAttribute(YY);return e.push.apply(e,r?function(e){for(var t=new Set,r=e.length,n=0;n0&&t.add(i),(o&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(n)}return e.filter((function(e,r){return!t.has(r)}))}(uZ(BZ(t).querySelectorAll("[".concat(YY,'="').concat(r,'"]:not([').concat(ZY,'="disabled"])')))):[t]),e}),[])},UZ=function(e,t){return void 0===t&&(t=DZ(hZ(e).ownerDocument)),!(!t||t.dataset&&t.dataset.focusGuard)&&zZ(e).some((function(e){return NZ(e,t)||function(e,t){return Boolean(uZ(e.querySelectorAll("iframe")).some((function(e){return function(e,t){return e===t}(e,t)})))}(e,t)}))},FZ=function(e,t){return wZ(e)&&e.name?function(e,t){return t.filter(wZ).filter((function(t){return t.name===e.name})).filter((function(e){return e.checked}))[0]||e}(e,t):e},$Z=function(e){return e[0]&&e.length>1?FZ(e[0],e):e[0]},HZ=function(e,t){return e.length>1?e.indexOf(FZ(e[t],e)):t},VZ="NEW_FOCUS",qZ=function(e,t,r,n){var i=e.length,o=e[0],a=e[i-1],s=_Z(r);if(!(r&&e.indexOf(r)>=0)){var c=void 0!==r?t.indexOf(r):-1,l=n?t.indexOf(n):c,u=n?e.indexOf(n):-1,d=c-l,h=t.indexOf(o),f=t.indexOf(a),p=function(e){var t=new Set;return e.forEach((function(r){return t.add(FZ(r,e))})),e.filter((function(e){return t.has(e)}))}(t),m=(void 0!==r?p.indexOf(r):-1)-(n?p.indexOf(n):c),g=HZ(e,0),v=HZ(e,i-1);return-1===c||-1===u?VZ:!d&&u>=0?u:c<=h&&s&&Math.abs(d)>1?v:c>=f&&s&&Math.abs(d)>1?g:d&&Math.abs(m)>1?u:c<=h?v:c>f?g:d?Math.abs(d)>1?u:(i+u+d)%i:void 0}},KZ=function(e,t,r){var n,i=e.map((function(e){return e.node})),o=RZ(i.filter((n=r,function(e){var t,r=null===(t=yZ(e))||void 0===t?void 0:t.autofocus;return e.autofocus||void 0!==r&&"false"!==r||n.indexOf(e)>=0})));return o&&o.length?$Z(o):$Z(RZ(t))},WZ=function(e,t){return void 0===t&&(t=[]),t.push(e),e.parentNode&&WZ(e.parentNode.host||e.parentNode,t),t},GZ=function(e,t){for(var r=WZ(e),n=WZ(t),i=0;i=0)return o}return!1},YZ=function(e,t,r){var n=dZ(e),i=dZ(t),o=n[0],a=!1;return i.filter(Boolean).forEach((function(e){a=GZ(a||e,e)||a,r.filter(Boolean).forEach((function(e){var t=GZ(o,e);t&&(a=!a||NZ(t,a)?t:GZ(t,a))}))})),a},ZZ=function(e,t){var r=DZ(dZ(e).length>0?document:hZ(e).ownerDocument),n=zZ(e).filter(SZ),i=YZ(r||e,e,n),o=new Map,a=MZ(n,o),s=IZ(n,o).filter((function(e){var t=e.node;return SZ(t)}));if(s[0]||(s=a)[0]){var c=MZ([i],o).map((function(e){return e.node})),l=function(e,t){var r=new Map;return t.forEach((function(e){return r.set(e.node,e)})),e.map((function(e){return r.get(e)})).filter(kZ)}(c,s),u=l.map((function(e){return e.node})),d=qZ(u,c,r,t);if(d===VZ){var h=KZ(a,u,function(e,t){return e.reduce((function(e,r){return e.concat(LZ(r,t))}),[])}(n,o));return h?{node:h}:void console.warn("focus-lock: cannot find any node to move focus into")}return void 0===d?d:l[d]}},XZ=0,JZ=!1,QZ=function(e,t,r){void 0===r&&(r={});var n,i,o=ZZ(e,t);if(!JZ&&o){if(XZ>2)return console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),JZ=!0,void setTimeout((function(){JZ=!1}),1);XZ++,n=o.node,i=r.focusOptions,"focus"in n&&n.focus(i),"contentWindow"in n&&n.contentWindow&&n.contentWindow.focus(),XZ--}};function eX(e){setTimeout(e,1)}var tX=function(){return document&&document.activeElement===document.body||function(e){void 0===e&&(e=document);var t=DZ(e);return!!t&&uZ(e.querySelectorAll("[".concat("data-no-focus-lock","]"))).some((function(e){return NZ(e,t)}))}()},rX=null,nX=null,iX=null,oX=!1,aX=function(){return!0};function sX(e,t,r,n){var i=null,o=e;do{var a=n[o];if(a.guard)a.node.dataset.focusAutoGuard&&(i=a);else{if(!a.lockItem)break;if(o!==e)return;i=null}}while((o+=r)!==t);i&&(i.node.tabIndex=0)}var cX=function(e){return e&&"current"in e?e.current:e},lX=function e(t,r,n){return r&&(r.host===t&&(!r.activeElement||n.contains(r.activeElement))||r.parentNode&&e(t,r.parentNode,n))},uX=function(){var e,t=!1;if(rX){var r=rX,n=r.observed,i=r.persistentFocus,o=r.autoFocus,a=r.shards,s=r.crossFrame,c=r.focusOptions,l=n||iX&&iX.portaledElement,u=document&&document.activeElement;if(l){var d=[l].concat(a.map(cX).filter(Boolean));if(u&&!function(e){return(rX.whiteList||aX)(e)}(u)||(i||(s?Boolean(oX):"meanwhile"===oX)||!tX()||!nX&&o)&&(l&&!(UZ(d)||u&&function(e,t){return t.some((function(t){return lX(e,t,t)}))}(u,d)||(e=u,iX&&iX.portaledElement===e))&&(document&&!nX&&u&&!o?(u.blur&&u.blur(),document.body.focus()):(t=QZ(d,nX,{focusOptions:c}),iX={})),oX=!1,nX=document&&document.activeElement),document){var h=document&&document.activeElement,f=function(e){var t=zZ(e).filter(SZ),r=YZ(e,e,t),n=new Map,i=IZ([r],n,!0),o=IZ(t,n).filter((function(e){var t=e.node;return SZ(t)})).map((function(e){return e.node}));return i.map((function(e){var t=e.node;return{node:t,index:e.index,lockItem:o.indexOf(t)>=0,guard:_Z(t)}}))}(d),p=f.map((function(e){return e.node})).indexOf(h);p>-1&&(f.filter((function(e){var t=e.guard,r=e.node;return t&&r.dataset.focusAutoGuard})).forEach((function(e){return e.node.removeAttribute("tabIndex")})),sX(p,f.length,1,f),sX(p,-1,-1,f))}}}return t},dX=function(e){uX()&&e&&(e.stopPropagation(),e.preventDefault())},hX=function(){return eX(uX)},fX=function(e){var t=e.target,r=e.currentTarget;r.contains(t)||(iX={observerNode:r,portaledElement:t})},pX=function(){oX="just",eX((function(){oX="meanwhile"}))};QY.assignSyncMedium(fX),eZ.assignMedium(hX),tZ.assignMedium((function(e){return e({moveFocusInside:QZ,focusInside:UZ})}));const mX=lZ((function(e){return e.filter((function(e){return!e.disabled}))}),(function(e){var t=e.slice(-1)[0];t&&!rX&&(document.addEventListener("focusin",dX),document.addEventListener("focusout",hX),window.addEventListener("blur",pX));var r=rX,n=r&&t&&t.id===r.id;rX=t,r&&!n&&(r.onDeactivation(),e.filter((function(e){return e.id===r.id})).length||r.returnFocus(!t)),t?(nX=null,n&&r.observed===t.observed||t.onActivation(),uX(),eX(uX)):(document.removeEventListener("focusin",dX),document.removeEventListener("focusout",hX),window.removeEventListener("blur",pX),nX=null)}))((function(){return null}));var gX=t.forwardRef((function(e,r){return t.createElement(oZ,GY({sideCar:mX,ref:r},e))})),vX=oZ.propTypes||{};vX.sideCar,function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n=0||(i[r]=e[r])}(vX,["sideCar"]);gX.propTypes={};const yX=gX;function bX(e){return null!=e&&"object"==typeof e&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function wX(e){var t;if(!bX(e))return!1;return e instanceof(null!=(t=e.ownerDocument.defaultView)?t:window).HTMLElement}function xX(e){return bX(e)?e.ownerDocument:document}var _X=e=>e.hasAttribute("tabindex"),SX=e=>_X(e)&&-1===e.tabIndex;function kX(e){return!(!e.parentElement||!kX(e.parentElement))||e.hidden}function EX(e){if(!wX(e)||kX(e)||function(e){return!0===Boolean(e.getAttribute("disabled"))||!0===Boolean(e.getAttribute("aria-disabled"))}(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():!!function(e){const t=e.getAttribute("contenteditable");return"false"!==t&&null!=t}(e)||_X(e)}var PX,OX=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"].join(),AX=e=>e.offsetWidth>0&&e.offsetHeight>0;function TX(e){const t=Array.from(e.querySelectorAll(OX));return t.unshift(e),t.filter((e=>EX(e)&&AX(e)))}var jX=null!=(PX=yX.default)?PX:yX,CX=e=>{const{initialFocusRef:r,finalFocusRef:n,contentRef:i,restoreFocus:o,children:a,isDisabled:s,autoFocus:c,persistentFocus:l,lockFocusAcrossFrames:u}=e,d=(0,t.useCallback)((()=>{if(null==r?void 0:r.current)r.current.focus();else if(null==i?void 0:i.current){0===TX(i.current).length&&requestAnimationFrame((()=>{var e;null==(e=i.current)||e.focus()}))}}),[r,i]),h=(0,t.useCallback)((()=>{var e;null==(e=null==n?void 0:n.current)||e.focus()}),[n]),f=o&&!n;return(0,Yn.jsx)(jX,{crossFrame:u,persistentFocus:l,autoFocus:c,disabled:s,onActivation:d,onDeactivation:h,returnFocus:f,children:a})};CX.displayName="FocusLock";function RX(e){const{autoFocus:r,trapFocus:n,dialogRef:i,initialFocusRef:o,blockScrollOnMount:a,allowPinchZoom:s,finalFocusRef:c,returnFocusOnClose:l,preserveScrollBarGap:u,lockFocusAcrossFrames:d,isOpen:h}=SK(),[f,p]=AM();(0,t.useEffect)((()=>{!f&&p&&setTimeout(p)}),[f,p]);const m=uK(i,h);return(0,Yn.jsx)(CX,{autoFocus:r,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:l,contentRef:i,lockFocusAcrossFrames:d,children:(0,Yn.jsx)(SW,{removeScrollBar:!u,allowPinchZoom:s,enabled:1===m&&a,forwardProps:!0,children:e.children})})}var IX=re(((e,t)=>{const{className:r,children:n,containerProps:i,motionProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:c}=SK(),l=s(a,t),u=c(i),d=ne("chakra-modal__content",r),h=xK(),f={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...h.dialog},p={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...h.dialogContainer},{motionPreset:m}=SK();return(0,Yn.jsx)(RX,{children:(0,Yn.jsx)(Gn.div,{...u,className:"chakra-modal__content-container",tabIndex:-1,__css:p,children:(0,Yn.jsx)(WY,{preset:m,motionProps:o,className:d,...l,__css:f,children:n})})})}));IX.displayName="ModalContent";var MX=re(((e,r)=>{const{className:n,...i}=e,{headerId:o,setHeaderMounted:a}=SK();(0,t.useEffect)((()=>(a(!0),()=>a(!1))),[a]);const s=ne("chakra-modal__header",n),c={flex:0,...xK().header};return(0,Yn.jsx)(Gn.header,{ref:r,className:s,id:o,...i,__css:c})}));function LX(e){const t=Object.assign({},e);for(let r in t)void 0===t[r]&&delete t[r];return t}MX.displayName="ModalHeader";var NX=re((function(e,t){const r=si("Text",e),{className:n,align:i,decoration:o,casing:a,...s}=Jt(e),c=LX({textAlign:e.align,textDecoration:e.decoration,textTransform:e.casing});return(0,Yn.jsx)(Gn.p,{ref:t,className:ne("chakra-text",e.className),...c,...s,__css:r})}));NX.displayName="Text";var DX=re(((e,t)=>{const{onClick:r,className:n,...i}=e,{onClose:o}=SK(),a=ne("chakra-modal__close-btn",n),s=xK();return(0,Yn.jsx)(WF,{ref:t,__css:s.closeButton,className:a,onClick:ue(r,(e=>{e.stopPropagation(),o()})),...i})}));DX.displayName="ModalCloseButton";var BX=re(((e,r)=>{const{className:n,...i}=e,{bodyId:o,setBodyMounted:a}=SK();(0,t.useEffect)((()=>(a(!0),()=>a(!1))),[a]);const s=ne("chakra-modal__body",n),c=xK();return(0,Yn.jsx)(Gn.div,{ref:r,className:s,id:o,...i,__css:c.body})}));BX.displayName="ModalBody";Object.freeze(["base","sm","md","lg","xl","2xl"]);function zX(e,t){return Array.isArray(e)?e.map((e=>null===e?null:t(e))):ie(e)?Object.keys(e).reduce(((r,n)=>(r[n]=t(e[n]),r)),{}):null!=e?t(e):null}var UX=re((function(e,r){const{ratio:n=4/3,children:i,className:o,...a}=e,s=t.Children.only(i),c=ne("chakra-aspect-ratio",o);return(0,Yn.jsx)(Gn.div,{ref:r,position:"relative",className:c,_before:{height:0,content:'""',display:"block",paddingBottom:zX(n,(e=>1/e*100+"%"))},__css:{"& > *:not(style)":{overflow:"hidden",position:"absolute",top:"0",right:"0",bottom:"0",left:"0",display:"flex",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},"& > img, & > video":{objectFit:"cover"}},...a,children:s})}));UX.displayName="AspectRatio";var FX=re((function(e,t){const{htmlWidth:r,htmlHeight:n,alt:i,...o}=e;return(0,Yn.jsx)("img",{width:r,height:n,ref:t,alt:i,...o})}));FX.displayName="NativeImage";function $X(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}var HX=re((function(e,r){const{fallbackSrc:n,fallback:i,src:o,srcSet:a,align:s,fit:c,loading:l,ignoreFallback:u,crossOrigin:d,fallbackStrategy:h="beforeLoadOrError",referrerPolicy:f,...p}=e,m=null!=l||u||!(void 0!==n||void 0!==i),g=function(e){const{loading:r,src:n,srcSet:i,onLoad:o,onError:a,crossOrigin:s,sizes:c,ignoreFallback:l}=e,[u,d]=(0,t.useState)("pending");(0,t.useEffect)((()=>{d(n?"loading":"pending")}),[n]);const h=(0,t.useRef)(),f=(0,t.useCallback)((()=>{if(!n)return;p();const e=new Image;e.src=n,s&&(e.crossOrigin=s),i&&(e.srcset=i),c&&(e.sizes=c),r&&(e.loading=r),e.onload=e=>{p(),d("loaded"),null==o||o(e)},e.onerror=e=>{p(),d("failed"),null==a||a(e)},h.current=e}),[n,s,i,c,o,a,r]),p=()=>{h.current&&(h.current.onload=null,h.current.onerror=null,h.current=null)};return jO((()=>{if(!l)return"loading"===u&&f(),()=>{p()}}),[u,f,l]),l?"loaded":u}({...e,crossOrigin:d,ignoreFallback:m}),v=((e,t)=>"loaded"!==e&&"beforeLoadOrError"===t||"failed"===e&&"onError"===t)(g,h),y={ref:r,objectFit:c,objectPosition:s,...m?p:$X(p,["onError","onLoad"])};return v?i||(0,Yn.jsx)(Gn.img,{as:FX,className:"chakra-image__placeholder",src:n,...y}):(0,Yn.jsx)(Gn.img,{as:FX,src:o,srcSet:a,crossOrigin:d,loading:l,referrerPolicy:f,className:"chakra-image",...y})}));HX.displayName="Image";var VX=Object.defineProperty,qX=(e,t,r)=>(((e,t,r)=>{t in e?VX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!==typeof t?t+"":t,r),r);function KX(e){return e.sort(((e,t)=>{const r=e.compareDocumentPosition(t);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0}))}function WX(e,t,r){let n=e+1;return r&&n>=t&&(n=0),n}function GX(e,t,r){let n=e-1;return r&&n<0&&(n=t),n}var YX="undefined"!==typeof window?t.useLayoutEffect:t.useEffect,ZX=e=>e,XX=class{constructor(){qX(this,"descendants",new Map),qX(this,"register",(e=>{var t;if(null!=e)return"object"==typeof(t=e)&&"nodeType"in t&&t.nodeType===Node.ELEMENT_NODE?this.registerNode(e):t=>{this.registerNode(t,e)}})),qX(this,"unregister",(e=>{this.descendants.delete(e);const t=KX(Array.from(this.descendants.keys()));this.assignIndex(t)})),qX(this,"destroy",(()=>{this.descendants.clear()})),qX(this,"assignIndex",(e=>{this.descendants.forEach((t=>{const r=e.indexOf(t.node);t.index=r,t.node.dataset.index=t.index.toString()}))})),qX(this,"count",(()=>this.descendants.size)),qX(this,"enabledCount",(()=>this.enabledValues().length)),qX(this,"values",(()=>Array.from(this.descendants.values()).sort(((e,t)=>e.index-t.index)))),qX(this,"enabledValues",(()=>this.values().filter((e=>!e.disabled)))),qX(this,"item",(e=>{if(0!==this.count())return this.values()[e]})),qX(this,"enabledItem",(e=>{if(0!==this.enabledCount())return this.enabledValues()[e]})),qX(this,"first",(()=>this.item(0))),qX(this,"firstEnabled",(()=>this.enabledItem(0))),qX(this,"last",(()=>this.item(this.descendants.size-1))),qX(this,"lastEnabled",(()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)})),qX(this,"indexOf",(e=>{var t,r;return e&&null!=(r=null==(t=this.descendants.get(e))?void 0:t.index)?r:-1})),qX(this,"enabledIndexOf",(e=>null==e?-1:this.enabledValues().findIndex((t=>t.node.isSameNode(e))))),qX(this,"next",((e,t=!0)=>{const r=WX(e,this.count(),t);return this.item(r)})),qX(this,"nextEnabled",((e,t=!0)=>{const r=this.item(e);if(!r)return;const n=WX(this.enabledIndexOf(r.node),this.enabledCount(),t);return this.enabledItem(n)})),qX(this,"prev",((e,t=!0)=>{const r=GX(e,this.count()-1,t);return this.item(r)})),qX(this,"prevEnabled",((e,t=!0)=>{const r=this.item(e);if(!r)return;const n=GX(this.enabledIndexOf(r.node),this.enabledCount()-1,t);return this.enabledItem(n)})),qX(this,"registerNode",((e,t)=>{if(!e||this.descendants.has(e))return;const r=KX(Array.from(this.descendants.keys()).concat(e));(null==t?void 0:t.disabled)&&(t.disabled=!!t.disabled);const n={node:e,index:-1,...t};this.descendants.set(e,n),this.assignIndex(r)}))}};var[JX,QX]=ui({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function eJ(){return[ZX(JX),()=>ZX(QX()),()=>function(){const e=(0,t.useRef)(new XX);return YX((()=>()=>e.current.destroy())),e.current}(),e=>function(e){const r=QX(),[n,i]=(0,t.useState)(-1),o=(0,t.useRef)(null);YX((()=>()=>{o.current&&r.unregister(o.current)}),[]),YX((()=>{if(!o.current)return;const e=Number(o.current.dataset.index);n==e||Number.isNaN(e)||i(e)}));const a=ZX(e?r.register(e):r.register);return{descendants:r,index:n,enabledIndex:r.enabledIndexOf(o.current),register:wi(a,o)}}(e)]}var[tJ,rJ]=ui({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[nJ,iJ]=ui({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[oJ,aJ,sJ,cJ]=eJ();function lJ(e){const{value:r,defaultValue:n,onChange:i,shouldUpdate:o=((e,t)=>e!==t)}=e,a=EM(i),s=EM(o),[c,l]=(0,t.useState)(n),u=void 0!==r,d=u?r:c,h=EM((e=>{const t="function"===typeof e?e(d):e;s(d,t)&&(u||l(t),a(t))}),[u,a,d,s]);return[d,h]}function uJ(e){const{onChange:r,defaultIndex:n,index:i,allowMultiple:o,allowToggle:a,...s}=e;!function(e){const t=e.index||e.defaultIndex,r=null!=t&&!Array.isArray(t)&&e.allowMultiple;oe({condition:!!r,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}(e),function(e){oe({condition:!(!e.allowMultiple||!e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}(e);const c=sJ(),[l,u]=(0,t.useState)(-1);(0,t.useEffect)((()=>()=>{u(-1)}),[]);const[d,h]=lJ({value:i,defaultValue:()=>o?null!=n?n:[]:null!=n?n:-1,onChange:r});return{index:d,setIndex:h,htmlProps:s,getAccordionItemProps:e=>{let t=!1;null!==e&&(t=Array.isArray(d)?d.includes(e):d===e);return{isOpen:t,onChange:t=>{if(null!==e)if(o&&Array.isArray(d)){const r=t?d.concat(e):d.filter((t=>t!==e));h(r)}else t?h(e):a&&h(-1)}}},focusedIndex:l,setFocusedIndex:u,descendants:c}}var[dJ,hJ]=ui({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function fJ(e){const{isDisabled:r,isFocusable:n,id:i,...o}=e,{getAccordionItemProps:a,setFocusedIndex:s}=hJ(),c=(0,t.useRef)(null),l=(0,t.useId)(),u=null!=i?i:l,d=`accordion-button-${u}`,h=`accordion-panel-${u}`;!function(e){oe({condition:!(!e.isFocusable||e.isDisabled),message:"Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well.\n "})}(e);const{register:f,index:p,descendants:m}=cJ({disabled:r&&!n}),{isOpen:g,onChange:v}=a(-1===p?null:p);!function(e){oe({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}({isOpen:g,isDisabled:r});const y=(0,t.useCallback)((()=>{null==v||v(!g),s(p)}),[p,s,g,v]),b=(0,t.useCallback)((e=>{const t={ArrowDown:()=>{const e=m.nextEnabled(p);null==e||e.node.focus()},ArrowUp:()=>{const e=m.prevEnabled(p);null==e||e.node.focus()},Home:()=>{const e=m.firstEnabled();null==e||e.node.focus()},End:()=>{const e=m.lastEnabled();null==e||e.node.focus()}},r=t[e.key];r&&(e.preventDefault(),r(e))}),[m,p]),w=(0,t.useCallback)((()=>{s(p)}),[s,p]),x=(0,t.useCallback)((function(e={},t=null){return{...e,type:"button",ref:wi(f,c,t),id:d,disabled:!!r,"aria-expanded":!!g,"aria-controls":h,onClick:ue(e.onClick,y),onFocus:ue(e.onFocus,w),onKeyDown:ue(e.onKeyDown,b)}}),[d,r,g,y,w,b,h,f]),_=(0,t.useCallback)((function(e={},t=null){return{...e,ref:t,role:"region",id:h,"aria-labelledby":d,hidden:!g}}),[d,g,h]);return{isOpen:g,isDisabled:r,isFocusable:n,onOpen:()=>{null==v||v(!0)},onClose:()=>{null==v||v(!1)},getButtonProps:x,getPanelProps:_,htmlProps:o}}var pJ=re((function({children:e,reduceMotion:r,...n},i){const o=ci("Accordion",n),a=Jt(n),{htmlProps:s,descendants:c,...l}=uJ(a),u=(0,t.useMemo)((()=>({...l,reduceMotion:!!r})),[l,r]);return(0,Yn.jsx)(oJ,{value:c,children:(0,Yn.jsx)(dJ,{value:u,children:(0,Yn.jsx)(tJ,{value:o,children:(0,Yn.jsx)(Gn.div,{ref:i,...s,className:ne("chakra-accordion",n.className),__css:o.root,children:e})})})})}));pJ.displayName="Accordion";var mJ=re((function(e,r){const{children:n,className:i}=e,{htmlProps:o,...a}=fJ(e),s={...rJ().container,overflowAnchor:"none"},c=(0,t.useMemo)((()=>a),[a]);return(0,Yn.jsx)(nJ,{value:c,children:(0,Yn.jsx)(Gn.div,{ref:r,...o,className:ne("chakra-accordion__item",i),__css:s,children:"function"===typeof n?n({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):n})})}));mJ.displayName="AccordionItem";var gJ=re((function(e,t){const{getButtonProps:r}=iJ(),n=r(e,t),i={display:"flex",alignItems:"center",width:"100%",outline:0,...rJ().button};return(0,Yn.jsx)(Gn.button,{...n,className:ne("chakra-accordion__button",e.className),__css:i})}));function vJ(e){const{isOpen:t,isDisabled:r}=iJ(),{reduceMotion:n}=hJ(),i=ne("chakra-accordion__icon",e.className),o={opacity:r?.4:1,transform:t?"rotate(-180deg)":void 0,transition:n?void 0:"transform 0.2s",transformOrigin:"center",...rJ().icon};return(0,Yn.jsx)(LF,{viewBox:"0 0 24 24","aria-hidden":!0,className:i,__css:o,...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}gJ.displayName="AccordionButton",vJ.displayName="AccordionIcon";var yJ=e=>null!=e&&parseInt(e.toString(),10)>0,bJ={exit:{height:{duration:.2,ease:EK.ease},opacity:{duration:.3,ease:EK.ease}},enter:{height:{duration:.3,ease:EK.ease},opacity:{duration:.4,ease:EK.ease}}},wJ={exit:({animateOpacity:e,startingHeight:t,transition:r,transitionEnd:n,delay:i})=>{var o;return{...e&&{opacity:yJ(t)?1:0},height:t,transitionEnd:null==n?void 0:n.exit,transition:null!=(o=null==r?void 0:r.exit)?o:IK(bJ.exit,i)}},enter:({animateOpacity:e,endingHeight:t,transition:r,transitionEnd:n,delay:i})=>{var o;return{...e&&{opacity:1},height:t,transitionEnd:null==n?void 0:n.enter,transition:null!=(o=null==r?void 0:r.enter)?o:RK(bJ.enter,i)}}},xJ=(0,t.forwardRef)(((e,r)=>{const{in:n,unmountOnExit:i,animateOpacity:o=!0,startingHeight:a=0,endingHeight:s="auto",style:c,className:l,transition:u,transitionEnd:d,...h}=e,[f,p]=(0,t.useState)(!1);(0,t.useEffect)((()=>{const e=setTimeout((()=>{p(!0)}));return()=>clearTimeout(e)}),[]),oe({condition:Number(a)>0&&!!i,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const m=parseFloat(a.toString())>0,g={startingHeight:a,endingHeight:s,animateOpacity:o,transition:f?u:{enter:{duration:0}},transitionEnd:{enter:null==d?void 0:d.enter,exit:i?null==d?void 0:d.exit:{...null==d?void 0:d.exit,display:m?"block":"none"}}},v=!i||n,y=n||i?"enter":"exit";return(0,Yn.jsx)(i$,{initial:!1,custom:g,children:v&&(0,Yn.jsx)(jF.div,{ref:r,...h,className:ne("chakra-collapse",l),style:{overflow:"hidden",display:"block",...c},custom:g,variants:wJ,initial:!!i&&"exit",animate:y,exit:"exit"})})}));xJ.displayName="Collapse";var _J=re((function(e,t){const{className:r,motionProps:n,...i}=e,{reduceMotion:o}=hJ(),{getPanelProps:a,isOpen:s}=iJ(),c=a(i,t),l=ne("chakra-accordion__panel",r),u=rJ();o||delete c.hidden;const d=(0,Yn.jsx)(Gn.div,{...c,__css:u.panel,className:l});return o?d:(0,Yn.jsx)(xJ,{in:s,...n,children:d})}));_J.displayName="AccordionPanel";var[SJ,kJ]=ui({name:"FormControlStylesContext",errorMessage:"useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),[EJ,PJ]=ui({strict:!1,name:"FormControlContext"});var OJ=re((function(e,r){const n=ci("Form",e),i=Jt(e),{getRootProps:o,htmlProps:a,...s}=function(e){const{id:r,isRequired:n,isInvalid:i,isDisabled:o,isReadOnly:a,...s}=e,c=(0,t.useId)(),l=r||`field-${c}`,u=`${l}-label`,d=`${l}-feedback`,h=`${l}-helptext`,[f,p]=(0,t.useState)(!1),[m,g]=(0,t.useState)(!1),[v,y]=(0,t.useState)(!1),b=(0,t.useCallback)(((e={},t=null)=>({id:h,...e,ref:wi(t,(e=>{e&&g(!0)}))})),[h]),w=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-focus":ce(v),"data-disabled":ce(o),"data-invalid":ce(i),"data-readonly":ce(a),id:void 0!==e.id?e.id:u,htmlFor:void 0!==e.htmlFor?e.htmlFor:l})),[l,o,v,i,a,u]),x=(0,t.useCallback)(((e={},t=null)=>({id:d,...e,ref:wi(t,(e=>{e&&p(!0)})),"aria-live":"polite"})),[d]),_=(0,t.useCallback)(((e={},t=null)=>({...e,...s,ref:t,role:"group","data-focus":ce(v),"data-disabled":ce(o),"data-invalid":ce(i),"data-readonly":ce(a)})),[s,o,v,i,a]),S=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,role:"presentation","aria-hidden":!0,children:e.children||"*"})),[]);return{isRequired:!!n,isInvalid:!!i,isReadOnly:!!a,isDisabled:!!o,isFocused:!!v,onFocus:()=>y(!0),onBlur:()=>y(!1),hasFeedbackText:f,setHasFeedbackText:p,hasHelpText:m,setHasHelpText:g,id:l,labelId:u,feedbackId:d,helpTextId:h,htmlProps:s,getHelpTextProps:b,getErrorMessageProps:x,getRootProps:_,getLabelProps:w,getRequiredIndicatorProps:S}}(i),c=ne("chakra-form-control",e.className);return(0,Yn.jsx)(EJ,{value:s,children:(0,Yn.jsx)(SJ,{value:n,children:(0,Yn.jsx)(Gn.div,{...o({},r),className:c,__css:n.container})})})}));OJ.displayName="FormControl";var AJ=re((function(e,t){const r=PJ(),n=kJ(),i=ne("chakra-form__helper-text",e.className);return(0,Yn.jsx)(Gn.div,{...null==r?void 0:r.getHelpTextProps(e,t),__css:n.helperText,className:i})}));AJ.displayName="FormHelperText";var[TJ,jJ]=ui({name:"FormErrorStylesContext",errorMessage:"useFormErrorStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),CJ=re(((e,t)=>{const r=ci("FormError",e),n=Jt(e),i=PJ();return(null==i?void 0:i.isInvalid)?(0,Yn.jsx)(TJ,{value:r,children:(0,Yn.jsx)(Gn.div,{...null==i?void 0:i.getErrorMessageProps(n,t),className:ne("chakra-form__error-message",e.className),__css:{display:"flex",alignItems:"center",...r.text}})}):null}));CJ.displayName="FormErrorMessage";var RJ=re(((e,t)=>{const r=jJ(),n=PJ();if(!(null==n?void 0:n.isInvalid))return null;const i=ne("chakra-form__error-icon",e.className);return(0,Yn.jsx)(LF,{ref:t,"aria-hidden":!0,...e,__css:r.icon,className:i,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}));RJ.displayName="FormErrorIcon";var IJ=re(((e,t)=>{const{className:r,...n}=e,i=ne("chakra-modal__footer",r),o={display:"flex",alignItems:"center",justifyContent:"flex-end",...xK().footer};return(0,Yn.jsx)(Gn.footer,{ref:t,...n,__css:o,className:i})}));IJ.displayName="ModalFooter";var MJ=e=>"checkbox"===e.type,LJ=e=>e instanceof Date,NJ=e=>null==e;const DJ=e=>"object"===typeof e;var BJ=e=>!NJ(e)&&!Array.isArray(e)&&DJ(e)&&!LJ(e),zJ=e=>BJ(e)&&e.target?MJ(e.target)?e.target.checked:e.target.value:e,UJ=(e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)),FJ=e=>{const t=e.constructor&&e.constructor.prototype;return BJ(t)&&t.hasOwnProperty("isPrototypeOf")},$J="undefined"!==typeof window&&"undefined"!==typeof window.HTMLElement&&"undefined"!==typeof document;function HJ(e){let t;const r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if($J&&(e instanceof Blob||e instanceof FileList)||!r&&!BJ(e))return e;if(t=r?[]:{},r||FJ(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=HJ(e[r]));else t=e}return t}var VJ=e=>Array.isArray(e)?e.filter(Boolean):[],qJ=e=>void 0===e,KJ=(e,t,r)=>{if(!t||!BJ(e))return r;const n=VJ(t.split(/[,[\].]+?/)).reduce(((e,t)=>NJ(e)?e:e[t]),e);return qJ(n)||n===e?qJ(e[t])?r:e[t]:n},WJ=e=>"boolean"===typeof e;const GJ={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},YJ={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ZJ="max",XJ="min",JJ="maxLength",QJ="minLength",eQ="pattern",tQ="required",rQ="validate",nQ=t.createContext(null),iQ=()=>t.useContext(nQ),oQ=e=>{const{children:r,...n}=e;return t.createElement(nQ.Provider,{value:n},r)};var aQ=(e,t,r,n=!0)=>{const i={defaultValues:t._defaultValues};for(const o in e)Object.defineProperty(i,o,{get:()=>{const i=o;return t._proxyFormState[i]!==YJ.all&&(t._proxyFormState[i]=!n||YJ.all),r&&(r[i]=!0),e[i]}});return i},sQ=e=>BJ(e)&&!Object.keys(e).length,cQ=(e,t,r,n)=>{r(e);const{name:i,...o}=e;return sQ(o)||Object.keys(o).length>=Object.keys(t).length||Object.keys(o).find((e=>t[e]===(!n||YJ.all)))},lQ=e=>Array.isArray(e)?e:[e];function uQ(e){const r=t.useRef(e);r.current=e,t.useEffect((()=>{const t=!e.disabled&&r.current.subject&&r.current.subject.subscribe({next:r.current.next});return()=>{t&&t.unsubscribe()}}),[e.disabled])}var dQ=e=>"string"===typeof e,hQ=(e,t,r,n,i)=>dQ(e)?(n&&t.watch.add(e),KJ(r,e,i)):Array.isArray(e)?e.map((e=>(n&&t.watch.add(e),KJ(r,e)))):(n&&(t.watchAll=!0),r);var fQ=e=>/^\w*$/.test(e),pQ=e=>VJ(e.replace(/["|']|\]/g,"").split(/\.|\[/));function mQ(e,t,r){let n=-1;const i=fQ(t)?[t]:pQ(t),o=i.length,a=o-1;for(;++nt?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:i||!0}}:{};const vQ=(e,t,r)=>{for(const n of r||Object.keys(e)){const r=KJ(e,n);if(r){const{_f:e,...n}=r;if(e&&t(e.name)){if(e.ref.focus){e.ref.focus();break}if(e.refs&&e.refs[0].focus){e.refs[0].focus();break}}else BJ(n)&&vQ(n,t)}}};var yQ=()=>{const e="undefined"===typeof performance?Date.now():1e3*performance.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(t=>{const r=(16*Math.random()+e)%16|0;return("x"==t?r:3&r|8).toString(16)}))},bQ=(e,t,r={})=>r.shouldFocus||qJ(r.shouldFocus)?r.focusName||`${e}.${qJ(r.focusIndex)?t:r.focusIndex}.`:"",wQ=e=>({isOnSubmit:!e||e===YJ.onSubmit,isOnBlur:e===YJ.onBlur,isOnChange:e===YJ.onChange,isOnAll:e===YJ.all,isOnTouch:e===YJ.onTouched}),xQ=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some((t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))))),_Q=(e,t,r)=>{const n=VJ(KJ(e,r));return mQ(n,"root",t[r]),mQ(e,r,n),e},SQ=e=>"file"===e.type,kQ=e=>"function"===typeof e,EQ=e=>{if(!$J)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},PQ=e=>dQ(e),OQ=e=>"radio"===e.type,AQ=e=>e instanceof RegExp;const TQ={value:!1,isValid:!1},jQ={value:!0,isValid:!0};var CQ=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter((e=>e&&e.checked&&!e.disabled)).map((e=>e.value));return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!qJ(e[0].attributes.value)?qJ(e[0].value)||""===e[0].value?jQ:{value:e[0].value,isValid:!0}:jQ:TQ}return TQ};const RQ={isValid:!1,value:null};var IQ=e=>Array.isArray(e)?e.reduce(((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e),RQ):RQ;function MQ(e,t,r="validate"){if(PQ(e)||Array.isArray(e)&&e.every(PQ)||WJ(e)&&!e)return{type:r,message:PQ(e)?e:"",ref:t}}var LQ=e=>BJ(e)&&!AQ(e)?e:{value:e,message:""},NQ=async(e,t,r,n,i)=>{const{ref:o,refs:a,required:s,maxLength:c,minLength:l,min:u,max:d,pattern:h,validate:f,name:p,valueAsNumber:m,mount:g,disabled:v}=e._f,y=KJ(t,p);if(!g||v)return{};const b=a?a[0]:o,w=e=>{n&&b.reportValidity&&(b.setCustomValidity(WJ(e)?"":e||""),b.reportValidity())},x={},_=OQ(o),S=MJ(o),k=_||S,E=(m||SQ(o))&&qJ(o.value)&&qJ(y)||EQ(o)&&""===o.value||""===y||Array.isArray(y)&&!y.length,P=gQ.bind(null,p,r,x),O=(e,t,r,n=JJ,i=QJ)=>{const a=e?t:r;x[p]={type:e?n:i,message:a,ref:o,...P(e?n:i,a)}};if(i?!Array.isArray(y)||!y.length:s&&(!k&&(E||NJ(y))||WJ(y)&&!y||S&&!CQ(a).isValid||_&&!IQ(a).isValid)){const{value:e,message:t}=PQ(s)?{value:!!s,message:s}:LQ(s);if(e&&(x[p]={type:tQ,message:t,ref:b,...P(tQ,t)},!r))return w(t),x}if(!E&&(!NJ(u)||!NJ(d))){let e,t;const n=LQ(d),i=LQ(u);if(NJ(y)||isNaN(y)){const r=o.valueAsDate||new Date(y),a=e=>new Date((new Date).toDateString()+" "+e),s="time"==o.type,c="week"==o.type;dQ(n.value)&&y&&(e=s?a(y)>a(n.value):c?y>n.value:r>new Date(n.value)),dQ(i.value)&&y&&(t=s?a(y)n.value),NJ(i.value)||(t=r+e.value,i=!NJ(t.value)&&y.length<+t.value;if((n||i)&&(O(n,e.message,t.message),!r))return w(x[p].message),x}if(h&&!E&&dQ(y)){const{value:e,message:t}=LQ(h);if(AQ(e)&&!y.match(e)&&(x[p]={type:eQ,message:t,ref:o,...P(eQ,t)},!r))return w(t),x}if(f)if(kQ(f)){const e=MQ(await f(y,t),b);if(e&&(x[p]={...e,...P(rQ,e.message)},!r))return w(e.message),x}else if(BJ(f)){let e={};for(const n in f){if(!sQ(e)&&!r)break;const i=MQ(await f[n](y,t),b,n);i&&(e={...i,...P(n,i.message)},w(i.message),r&&(x[p]=e))}if(!sQ(e)&&(x[p]={ref:b,...e},!r))return x}return w(!0),x};function DQ(e,t){return[...e,...lQ(t)]}var BQ=e=>Array.isArray(e)?e.map((()=>{})):void 0;function zQ(e,t,r){return[...e.slice(0,t),...lQ(r),...e.slice(t)]}var UQ=(e,t,r)=>Array.isArray(e)?(qJ(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function FQ(e,t){return[...lQ(t),...lQ(e)]}var $Q=(e,t)=>qJ(t)?[]:function(e,t){let r=0;const n=[...e];for(const i of t)n.splice(i-r,1),r++;return VJ(n).length?n:[]}(e,lQ(t).sort(((e,t)=>e-t))),HQ=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]};function VQ(e,t){const r=Array.isArray(t)?t:fQ(t)?[t]:pQ(t),n=1===r.length?e:function(e,t){const r=t.slice(0,-1).length;let n=0;for(;n(e[t]=r,e);function KQ(){let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter((e=>e!==t))}}),unsubscribe:()=>{e=[]}}}var WQ=e=>NJ(e)||!DJ(e);function GQ(e,t){if(WQ(e)||WQ(t))return e===t;if(LJ(e)&&LJ(t))return e.getTime()===t.getTime();const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(const i of r){const r=e[i];if(!n.includes(i))return!1;if("ref"!==i){const e=t[i];if(LJ(r)&&LJ(e)||BJ(r)&&BJ(e)||Array.isArray(r)&&Array.isArray(e)?!GQ(r,e):r!==e)return!1}}return!0}var YQ=e=>"select-multiple"===e.type,ZQ=e=>OQ(e)||MJ(e),XQ=e=>EQ(e)&&e.isConnected,JQ=e=>{for(const t in e)if(kQ(e[t]))return!0;return!1};function QQ(e,t={}){const r=Array.isArray(e);if(BJ(e)||r)for(const n in e)Array.isArray(e[n])||BJ(e[n])&&!JQ(e[n])?(t[n]=Array.isArray(e[n])?[]:{},QQ(e[n],t[n])):NJ(e[n])||(t[n]=!0);return t}function e0(e,t,r){const n=Array.isArray(e);if(BJ(e)||n)for(const i in e)Array.isArray(e[i])||BJ(e[i])&&!JQ(e[i])?qJ(t)||WQ(r[i])?r[i]=Array.isArray(e[i])?QQ(e[i],[]):{...QQ(e[i])}:e0(e[i],NJ(t)?{}:t[i],r[i]):r[i]=!GQ(e[i],t[i]);return r}var t0=(e,t)=>e0(e,t,QQ(t)),r0=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>qJ(e)?e:t?""===e?NaN:e?+e:e:r&&dQ(e)?new Date(e):n?n(e):e;function n0(e){const t=e.ref;if(!(e.refs?e.refs.every((e=>e.disabled)):t.disabled))return SQ(t)?t.files:OQ(t)?IQ(e.refs).value:YQ(t)?[...t.selectedOptions].map((({value:e})=>e)):MJ(t)?CQ(e.refs).value:r0(qJ(t.value)?e.ref.value:t.value,e)}var i0=(e,t,r,n)=>{const i={};for(const o of e){const e=KJ(t,o);e&&mQ(i,o,e._f)}return{criteriaMode:r,names:[...e],fields:i,shouldUseNativeValidation:n}},o0=e=>qJ(e)?e:AQ(e)?e.source:BJ(e)?AQ(e.value)?e.value.source:e.value:e,a0=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function s0(e,t,r){const n=KJ(e,r);if(n||fQ(r))return{error:n,name:r};const i=r.split(".");for(;i.length;){const n=i.join("."),o=KJ(t,n),a=KJ(e,n);if(o&&!Array.isArray(o)&&r!==n)return{name:r};if(a&&a.type)return{name:n,error:a};i.pop()}return{name:r}}var c0=(e,t,r,n,i)=>!i.isOnAll&&(!r&&i.isOnTouch?!(t||e):(r?n.isOnBlur:i.isOnBlur)?!e:!(r?n.isOnChange:i.isOnChange)||e),l0=(e,t)=>!VJ(KJ(e,t)).length&&VQ(e,t);const u0={mode:YJ.onSubmit,reValidateMode:YJ.onChange,shouldFocusError:!0};function d0(e={},t){let r,n={...u0,...e},i={submitCount:0,isDirty:!1,isLoading:kQ(n.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:{}},o={},a=(BJ(n.defaultValues)||BJ(n.values))&&HJ(n.defaultValues||n.values)||{},s=n.shouldUnregister?{}:HJ(a),c={action:!1,mount:!1,watch:!1},l={mount:new Set,unMount:new Set,array:new Set,watch:new Set},u=0;const d={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},h={values:KQ(),array:KQ(),state:KQ()},f=e.resetOptions&&e.resetOptions.keepDirtyValues,p=wQ(n.mode),m=wQ(n.reValidateMode),g=n.criteriaMode===YJ.all,v=async e=>{if(d.isValid||e){const e=n.resolver?sQ((await _()).errors):await S(o,!0);e!==i.isValid&&h.state.next({isValid:e})}},y=e=>d.isValidating&&h.state.next({isValidating:e}),b=(e,t,r,n)=>{const i=KJ(o,e);if(i){const o=KJ(s,e,qJ(r)?KJ(a,e):r);qJ(o)||n&&n.defaultChecked||t?mQ(s,e,t?o:n0(i._f)):P(e,o),c.mount&&v()}},w=(e,t,r,n,o)=>{let s=!1,c=!1;const l={name:e};if(!r||n){d.isDirty&&(c=i.isDirty,i.isDirty=l.isDirty=k(),s=c!==l.isDirty);const r=GQ(KJ(a,e),t);c=KJ(i.dirtyFields,e),r?VQ(i.dirtyFields,e):mQ(i.dirtyFields,e,!0),l.dirtyFields=i.dirtyFields,s=s||d.dirtyFields&&c!==!r}if(r){const t=KJ(i.touchedFields,e);t||(mQ(i.touchedFields,e,r),l.touchedFields=i.touchedFields,s=s||d.touchedFields&&t!==r)}return s&&o&&h.state.next(l),s?l:{}},x=(t,n,o,a)=>{const s=KJ(i.errors,t),c=d.isValid&&WJ(n)&&i.isValid!==n;var l;if(e.delayError&&o?(l=()=>((e,t)=>{mQ(i.errors,e,t),h.state.next({errors:i.errors})})(t,o),r=e=>{clearTimeout(u),u=setTimeout(l,e)},r(e.delayError)):(clearTimeout(u),r=null,o?mQ(i.errors,t,o):VQ(i.errors,t)),(o?!GQ(s,o):s)||!sQ(a)||c){const e={...a,...c&&WJ(n)?{isValid:n}:{},errors:i.errors,name:t};i={...i,...e},h.state.next(e)}y(!1)},_=async e=>n.resolver(s,n.context,i0(e||l.mount,o,n.criteriaMode,n.shouldUseNativeValidation)),S=async(e,t,r={valid:!0})=>{for(const o in e){const a=e[o];if(a){const{_f:e,...o}=a;if(e){const o=l.array.has(e.name),c=await NQ(a,s,g,n.shouldUseNativeValidation&&!t,o);if(c[e.name]&&(r.valid=!1,t))break;!t&&(KJ(c,e.name)?o?_Q(i.errors,c,e.name):mQ(i.errors,e.name,c[e.name]):VQ(i.errors,e.name))}o&&await S(o,t,r)}}return r.valid},k=(e,t)=>(e&&t&&mQ(s,e,t),!GQ(C(),a)),E=(e,t,r)=>hQ(e,l,{...c.mount?s:qJ(t)?a:dQ(e)?{[e]:t}:t},r,t),P=(e,t,r={})=>{const n=KJ(o,e);let i=t;if(n){const r=n._f;r&&(!r.disabled&&mQ(s,e,r0(t,r)),i=EQ(r.ref)&&NJ(t)?"":t,YQ(r.ref)?[...r.ref.options].forEach((e=>e.selected=i.includes(e.value))):r.refs?MJ(r.ref)?r.refs.length>1?r.refs.forEach((e=>(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(i)?!!i.find((t=>t===e.value)):i===e.value))):r.refs[0]&&(r.refs[0].checked=!!i):r.refs.forEach((e=>e.checked=e.value===i)):SQ(r.ref)?r.ref.value="":(r.ref.value=i,r.ref.type||h.values.next({name:e,values:{...s}})))}(r.shouldDirty||r.shouldTouch)&&w(e,i,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&j(e)},O=(e,t,r)=>{for(const n in t){const i=t[n],a=`${e}.${n}`,s=KJ(o,a);!l.array.has(e)&&WQ(i)&&(!s||s._f)||LJ(i)?P(a,i,r):O(a,i,r)}},A=(e,r,n={})=>{const u=KJ(o,e),f=l.array.has(e),p=HJ(r);mQ(s,e,p),f?(h.array.next({name:e,values:{...s}}),(d.isDirty||d.dirtyFields)&&n.shouldDirty&&h.state.next({name:e,dirtyFields:t0(a,s),isDirty:k(e,p)})):!u||u._f||NJ(p)?P(e,p,n):O(e,p,n),xQ(e,l)&&h.state.next({...i}),h.values.next({name:e,values:{...s}}),!c.mount&&t()},T=async e=>{const t=e.target;let a=t.name,c=!0;const u=KJ(o,a);if(u){let f,b;const k=t.type?n0(u._f):zJ(e),E=e.type===GJ.BLUR||e.type===GJ.FOCUS_OUT,P=!a0(u._f)&&!n.resolver&&!KJ(i.errors,a)&&!u._f.deps||c0(E,KJ(i.touchedFields,a),i.isSubmitted,m,p),O=xQ(a,l,E);mQ(s,a,k),E?(u._f.onBlur&&u._f.onBlur(e),r&&r(0)):u._f.onChange&&u._f.onChange(e);const A=w(a,k,E,!1),T=!sQ(A)||O;if(!E&&h.values.next({name:a,type:e.type,values:{...s}}),P)return d.isValid&&v(),T&&h.state.next({name:a,...O?{}:A});if(!E&&O&&h.state.next({...i}),y(!0),n.resolver){const{errors:e}=await _([a]),t=s0(i.errors,o,a),r=s0(e,o,t.name||a);f=r.error,a=r.name,b=sQ(e)}else f=(await NQ(u,s,g,n.shouldUseNativeValidation))[a],c=Number.isNaN(k)||k===KJ(s,a,k),c&&(f?b=!1:d.isValid&&(b=await S(o,!0)));c&&(u._f.deps&&j(u._f.deps),x(a,b,f,A))}},j=async(e,t={})=>{let r,a;const s=lQ(e);if(y(!0),n.resolver){const t=await(async e=>{const{errors:t}=await _(e);if(e)for(const r of e){const e=KJ(t,r);e?mQ(i.errors,r,e):VQ(i.errors,r)}else i.errors=t;return t})(qJ(e)?e:s);r=sQ(t),a=e?!s.some((e=>KJ(t,e))):r}else e?(a=(await Promise.all(s.map((async e=>{const t=KJ(o,e);return await S(t&&t._f?{[e]:t}:t)})))).every(Boolean),(a||i.isValid)&&v()):a=r=await S(o);return h.state.next({...!dQ(e)||d.isValid&&r!==i.isValid?{}:{name:e},...n.resolver||!e?{isValid:r}:{},errors:i.errors,isValidating:!1}),t.shouldFocus&&!a&&vQ(o,(e=>e&&KJ(i.errors,e)),e?s:l.mount),a},C=e=>{const t={...a,...c.mount?s:{}};return qJ(e)?t:dQ(e)?KJ(t,e):e.map((e=>KJ(t,e)))},R=(e,t)=>({invalid:!!KJ((t||i).errors,e),isDirty:!!KJ((t||i).dirtyFields,e),isTouched:!!KJ((t||i).touchedFields,e),error:KJ((t||i).errors,e)}),I=(e,t,r)=>{const n=(KJ(o,e,{_f:{}})._f||{}).ref;mQ(i.errors,e,{...t,ref:n}),h.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&n&&n.focus&&n.focus()},M=(e,t={})=>{for(const r of e?lQ(e):l.mount)l.mount.delete(r),l.array.delete(r),t.keepValue||(VQ(o,r),VQ(s,r)),!t.keepError&&VQ(i.errors,r),!t.keepDirty&&VQ(i.dirtyFields,r),!t.keepTouched&&VQ(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&VQ(a,r);h.values.next({values:{...s}}),h.state.next({...i,...t.keepDirty?{isDirty:k()}:{}}),!t.keepIsValid&&v()},L=({disabled:e,name:t,field:r,fields:n})=>{if(WJ(e)){const i=e?void 0:KJ(s,t,n0(r?r._f:KJ(n,t)._f));mQ(s,t,i),w(t,i,!1,!1,!0)}},N=(e,t={})=>{let r=KJ(o,e);const i=WJ(t.disabled);return mQ(o,e,{...r||{},_f:{...r&&r._f?r._f:{ref:{name:e}},name:e,mount:!0,...t}}),l.mount.add(e),r?L({field:r,disabled:t.disabled,name:e}):b(e,!0,t.value),{...i?{disabled:t.disabled}:{},...n.progressive?{required:!!t.required,min:o0(t.min),max:o0(t.max),minLength:o0(t.minLength),maxLength:o0(t.maxLength),pattern:o0(t.pattern)}:{},name:e,onChange:T,onBlur:T,ref:i=>{if(i){N(e,t),r=KJ(o,e);const n=qJ(i.value)&&i.querySelectorAll&&i.querySelectorAll("input,select,textarea")[0]||i,s=ZQ(n),c=r._f.refs||[];if(s?c.find((e=>e===n)):n===r._f.ref)return;mQ(o,e,{_f:{...r._f,...s?{refs:[...c.filter(XQ),n,...Array.isArray(KJ(a,e))?[{}]:[]],ref:{type:n.type,name:e}}:{ref:n}}}),b(e,!1,void 0,n)}else r=KJ(o,e,{}),r._f&&(r._f.mount=!1),(n.shouldUnregister||t.shouldUnregister)&&(!UJ(l.array,e)||!c.action)&&l.unMount.add(e)}}},D=()=>n.shouldFocusError&&vQ(o,(e=>e&&KJ(i.errors,e)),l.mount),B=(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let a=HJ(s);if(h.state.next({isSubmitting:!0}),n.resolver){const{errors:e,values:t}=await _();i.errors=e,a=t}else await S(o);VQ(i.errors,"root"),sQ(i.errors)?(h.state.next({errors:{}}),await e(a,r)):(t&&await t({...i.errors},r),D(),setTimeout(D)),h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:sQ(i.errors),submitCount:i.submitCount+1,errors:i.errors})},z=(r,n={})=>{const u=r?HJ(r):a,p=HJ(u),m=r&&!sQ(r)?p:a;if(n.keepDefaultValues||(a=u),!n.keepValues){if(n.keepDirtyValues||f)for(const e of l.mount)KJ(i.dirtyFields,e)?mQ(m,e,KJ(s,e)):A(e,KJ(m,e));else{if($J&&qJ(r))for(const e of l.mount){const t=KJ(o,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(EQ(e)){const t=e.closest("form");if(t){t.reset();break}}}}o={}}s=e.shouldUnregister?n.keepDefaultValues?HJ(a):{}:HJ(m),h.array.next({values:{...m}}),h.values.next({values:{...m}})}l={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!c.mount&&t(),c.mount=!d.isValid||!!n.keepIsValid,c.watch=!!e.shouldUnregister,h.state.next({submitCount:n.keepSubmitCount?i.submitCount:0,isDirty:n.keepDirty?i.isDirty:!(!n.keepDefaultValues||GQ(r,a)),isSubmitted:!!n.keepIsSubmitted&&i.isSubmitted,dirtyFields:n.keepDirtyValues?i.dirtyFields:n.keepDefaultValues&&r?t0(a,r):{},touchedFields:n.keepTouched?i.touchedFields:{},errors:n.keepErrors?i.errors:{},isSubmitSuccessful:!!n.keepIsSubmitSuccessful&&i.isSubmitSuccessful,isSubmitting:!1})},U=(e,t)=>z(kQ(e)?e(s):e,t);return{control:{register:N,unregister:M,getFieldState:R,handleSubmit:B,setError:I,_executeSchema:_,_getWatch:E,_getDirty:k,_updateValid:v,_removeUnmounted:()=>{for(const e of l.unMount){const t=KJ(o,e);t&&(t._f.refs?t._f.refs.every((e=>!XQ(e))):!XQ(t._f.ref))&&M(e)}l.unMount=new Set},_updateFieldArray:(e,t=[],r,n,l=!0,u=!0)=>{if(n&&r){if(c.action=!0,u&&Array.isArray(KJ(o,e))){const t=r(KJ(o,e),n.argA,n.argB);l&&mQ(o,e,t)}if(u&&Array.isArray(KJ(i.errors,e))){const t=r(KJ(i.errors,e),n.argA,n.argB);l&&mQ(i.errors,e,t),l0(i.errors,e)}if(d.touchedFields&&u&&Array.isArray(KJ(i.touchedFields,e))){const t=r(KJ(i.touchedFields,e),n.argA,n.argB);l&&mQ(i.touchedFields,e,t)}d.dirtyFields&&(i.dirtyFields=t0(a,s)),h.state.next({name:e,isDirty:k(e,t),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})}else mQ(s,e,t)},_updateDisabledField:L,_getFieldArray:t=>VJ(KJ(c.mount?s:a,t,e.shouldUnregister?KJ(a,t,[]):[])),_reset:z,_resetDefaultValues:()=>kQ(n.defaultValues)&&n.defaultValues().then((e=>{U(e,n.resetOptions),h.state.next({isLoading:!1})})),_updateFormState:e=>{i={...i,...e}},_subjects:h,_proxyFormState:d,get _fields(){return o},get _formValues(){return s},get _state(){return c},set _state(e){c=e},get _defaultValues(){return a},get _names(){return l},set _names(e){l=e},get _formState(){return i},set _formState(e){i=e},get _options(){return n},set _options(e){n={...n,...e}}},trigger:j,register:N,handleSubmit:B,watch:(e,t)=>kQ(e)?h.values.subscribe({next:r=>e(E(void 0,t),r)}):E(e,t,!0),setValue:A,getValues:C,reset:U,resetField:(e,t={})=>{KJ(o,e)&&(qJ(t.defaultValue)?A(e,KJ(a,e)):(A(e,t.defaultValue),mQ(a,e,t.defaultValue)),t.keepTouched||VQ(i.touchedFields,e),t.keepDirty||(VQ(i.dirtyFields,e),i.isDirty=t.defaultValue?k(e,KJ(a,e)):k()),t.keepError||(VQ(i.errors,e),d.isValid&&v()),h.state.next({...i}))},clearErrors:e=>{e&&lQ(e).forEach((e=>VQ(i.errors,e))),h.state.next({errors:e?i.errors:{}})},unregister:M,setError:I,setFocus:(e,t={})=>{const r=KJ(o,e),n=r&&r._f;if(n){const e=n.refs?n.refs[0]:n.ref;e.focus&&(e.focus(),t.shouldSelect&&e.select())}},getFieldState:R}}function h0(e={}){const r=t.useRef(),n=t.useRef(),[i,o]=t.useState({isDirty:!1,isValidating:!1,isLoading:kQ(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:kQ(e.defaultValues)?void 0:e.defaultValues});r.current||(r.current={...d0(e,(()=>o((e=>({...e}))))),formState:i});const a=r.current.control;return a._options=e,uQ({subject:a._subjects.state,next:e=>{cQ(e,a._proxyFormState,a._updateFormState,!0)&&o({...a._formState})}}),t.useEffect((()=>{e.values&&!GQ(e.values,n.current)?(a._reset(e.values,a._options.resetOptions),n.current=e.values):a._resetDefaultValues()}),[e.values,a]),t.useEffect((()=>{a._state.mount||(a._updateValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()})),r.current.formState=aQ(i,a),r.current}var f0,[p0,m0]=yO({name:`${f0="Card"}StylesContext`,errorMessage:`useStyles: "styles" is undefined. Seems you forgot to wrap the components in "<${f0} />" `}),g0=re((function(e,t){const{className:r,children:n,direction:i="column",justify:o,align:a,...s}=Jt(e),c=ci("Card",e);return(0,Yn.jsx)(Gn.div,{ref:t,className:ne("chakra-card",r),__css:{display:"flex",flexDirection:i,justifyContent:o,alignItems:a,position:"relative",minWidth:0,wordWrap:"break-word",...c.container},...s,children:(0,Yn.jsx)(p0,{value:c,children:n})})})),v0=re((function(e,t){const{className:r,...n}=e,i=m0();return(0,Yn.jsx)(Gn.div,{ref:t,className:ne("chakra-card__body",r),__css:i.body,...n})}));const y0=({value:e,space:t=2})=>(0,Yn.jsx)(g0,{background:E$.gray[700],borderRadius:"5px",children:(0,Yn.jsx)(v0,{children:(0,Yn.jsx)("pre",{style:{whiteSpace:"pre-wrap",fontSize:"12px",lineHeight:"18px"},children:JSON.stringify(e,null,t)})})});var b0=re((function(e,t){var r;const n=si("FormLabel",e),i=Jt(e),{className:o,children:a,requiredIndicator:s=(0,Yn.jsx)(w0,{}),optionalIndicator:c=null,...l}=i,u=PJ(),d=null!=(r=null==u?void 0:u.getLabelProps(l,t))?r:{ref:t,...l};return(0,Yn.jsxs)(Gn.label,{...d,className:ne("chakra-form__label",i.className),__css:{display:"block",textAlign:"start",...n},children:[a,(null==u?void 0:u.isRequired)?s:c]})}));b0.displayName="FormLabel";var w0=re((function(e,t){const r=PJ(),n=kJ();if(!(null==r?void 0:r.isRequired))return null;const i=ne("chakra-form__required-indicator",e.className);return(0,Yn.jsx)(Gn.span,{...null==r?void 0:r.getRequiredIndicatorProps(e,t),__css:n.requiredIndicator,className:i})}));function x0(e){return t.Children.toArray(e).filter((e=>(0,t.isValidElement)(e)))}w0.displayName="RequiredIndicator";var[_0,S0]=ui({name:"InputGroupStylesContext",errorMessage:"useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),k0=re((function(e,r){const n=ci("Input",e),{children:i,className:o,...a}=Jt(e),s=ne("chakra-input__group",o),c={},l=x0(i),u=n.field;l.forEach((e=>{var t,r;n&&(u&&"InputLeftElement"===e.type.id&&(c.paddingStart=null!=(t=u.height)?t:u.h),u&&"InputRightElement"===e.type.id&&(c.paddingEnd=null!=(r=u.height)?r:u.h),"InputRightAddon"===e.type.id&&(c.borderEndRadius=0),"InputLeftAddon"===e.type.id&&(c.borderStartRadius=0))}));const d=l.map((r=>{var n,i;const o=LX({size:(null==(n=r.props)?void 0:n.size)||e.size,variant:(null==(i=r.props)?void 0:i.variant)||e.variant});return"Input"!==r.type.id?(0,t.cloneElement)(r,o):(0,t.cloneElement)(r,Object.assign(o,c,r.props))}));return(0,Yn.jsx)(Gn.div,{className:s,ref:r,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...n.group},"data-group":!0,...a,children:(0,Yn.jsx)(_0,{value:n,children:d})})}));function E0(e){const{isDisabled:t,isInvalid:r,isReadOnly:n,isRequired:i,...o}=P0(e);return{...o,disabled:t,readOnly:n,required:i,"aria-invalid":le(r),"aria-required":le(i),"aria-readonly":le(n)}}function P0(e){var t,r,n;const i=PJ(),{id:o,disabled:a,readOnly:s,required:c,isRequired:l,isInvalid:u,isReadOnly:d,isDisabled:h,onFocus:f,onBlur:p,...m}=e,g=e["aria-describedby"]?[e["aria-describedby"]]:[];return(null==i?void 0:i.hasFeedbackText)&&(null==i?void 0:i.isInvalid)&&g.push(i.feedbackId),(null==i?void 0:i.hasHelpText)&&g.push(i.helpTextId),{...m,"aria-describedby":g.join(" ")||void 0,id:null!=o?o:null==i?void 0:i.id,isDisabled:null!=(t=null!=a?a:h)?t:null==i?void 0:i.isDisabled,isReadOnly:null!=(r=null!=s?s:d)?r:null==i?void 0:i.isReadOnly,isRequired:null!=(n=null!=c?c:l)?n:null==i?void 0:i.isRequired,isInvalid:null!=u?u:null==i?void 0:i.isInvalid,onFocus:ue(null==i?void 0:i.onFocus,f),onBlur:ue(null==i?void 0:i.onBlur,p)}}k0.displayName="InputGroup";var O0=re((function(e,t){const{htmlSize:r,...n}=e,i=ci("Input",n),o=E0(Jt(n)),a=ne("chakra-input",e.className);return(0,Yn.jsx)(Gn.input,{size:r,...o,__css:i.field,ref:t,className:a})}));O0.displayName="Input",O0.id="Input";var A0=Gn("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),T0=re((function(e,t){var r,n;const{placement:i="left",...o}=e,a=S0(),s=a.field,c={["left"===i?"insetStart":"insetEnd"]:"0",width:null!=(r=null==s?void 0:s.height)?r:null==s?void 0:s.h,height:null!=(n=null==s?void 0:s.height)?n:null==s?void 0:s.h,fontSize:null==s?void 0:s.fontSize,...a.element};return(0,Yn.jsx)(A0,{ref:t,__css:c,...o})}));T0.id="InputElement",T0.displayName="InputElement";var j0=re((function(e,t){const{className:r,...n}=e,i=ne("chakra-input__left-element",r);return(0,Yn.jsx)(T0,{ref:t,placement:"left",className:i,...n})}));j0.id="InputLeftElement",j0.displayName="InputLeftElement";var C0=re((function(e,t){const{className:r,...n}=e,i=ne("chakra-input__right-element",r);return(0,Yn.jsx)(T0,{ref:t,placement:"right",className:i,...n})}));C0.id="InputRightElement",C0.displayName="InputRightElement";var[R0,I0]=ui({name:"ListStylesContext",errorMessage:"useListStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),M0=re((function(e,t){const r=ci("List",e),{children:n,styleType:i="none",stylePosition:o,spacing:a,...s}=Jt(e),c=x0(n),l=a?{"& > *:not(style) ~ *:not(style)":{mt:a}}:{};return(0,Yn.jsx)(R0,{value:r,children:(0,Yn.jsx)(Gn.ul,{ref:t,listStyleType:i,listStylePosition:o,role:"list",__css:{...r.container,...l},...s,children:c})})}));M0.displayName="List";var L0=re(((e,t)=>{const{as:r,...n}=e;return(0,Yn.jsx)(M0,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...n})}));L0.displayName="OrderedList";var N0=re((function(e,t){const{as:r,...n}=e;return(0,Yn.jsx)(M0,{ref:t,as:"ul",styleType:"initial",marginStart:"1em",...n})}));N0.displayName="UnorderedList";var D0=re((function(e,t){const r=I0();return(0,Yn.jsx)(Gn.li,{ref:t,...e,__css:r.item})}));D0.displayName="ListItem";var B0=re((function(e,t){const r=I0();return(0,Yn.jsx)(LF,{ref:t,role:"presentation",...e,__css:r.icon})}));B0.displayName="ListIcon";var z0={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}};function U0(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:wX(e)&&function(e){const t=e.ownerDocument.defaultView||window,{overflow:r,overflowX:n,overflowY:i}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(r+i+n)}(e)?e:U0(function(e){return"html"===e.localName?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}(e))}var F0=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),$0={arrowShadowColor:F0("--popper-arrow-shadow-color"),arrowSize:F0("--popper-arrow-size","8px"),arrowSizeHalf:F0("--popper-arrow-size-half"),arrowBg:F0("--popper-arrow-bg"),transformOrigin:F0("--popper-transform-origin"),arrowOffset:F0("--popper-arrow-offset")};var H0={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},V0={scroll:!0,resize:!0};function q0(e){let t;return t="object"===typeof e?{enabled:!0,options:{...V0,...e}}:{enabled:e,options:V0},t}var K0={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},W0={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{G0(e)},effect:({state:e})=>()=>{G0(e)}},G0=e=>{var t;e.elements.popper.style.setProperty($0.transformOrigin.var,(t=e.placement,H0[t]))},Y0={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Z0(e)}},Z0=e=>{var t;if(!e.placement)return;const r=X0(e.placement);if((null==(t=e.elements)?void 0:t.arrow)&&r){Object.assign(e.elements.arrow.style,{[r.property]:r.value,width:$0.arrowSize.varRef,height:$0.arrowSize.varRef,zIndex:-1});const t={[$0.arrowSizeHalf.var]:`calc(${$0.arrowSize.varRef} / 2 - 1px)`,[$0.arrowOffset.var]:`calc(${$0.arrowSizeHalf.varRef} * -1)`};for(const r in t)e.elements.arrow.style.setProperty(r,t[r])}},X0=e=>e.startsWith("top")?{property:"bottom",value:$0.arrowOffset.varRef}:e.startsWith("bottom")?{property:"top",value:$0.arrowOffset.varRef}:e.startsWith("left")?{property:"right",value:$0.arrowOffset.varRef}:e.startsWith("right")?{property:"left",value:$0.arrowOffset.varRef}:void 0,J0={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Q0(e)},effect:({state:e})=>()=>{Q0(e)}},Q0=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const r=(n=e.placement).includes("top")?"1px 1px 0px 0 var(--popper-arrow-shadow-color)":n.includes("bottom")?"-1px -1px 0px 0 var(--popper-arrow-shadow-color)":n.includes("right")?"-1px 1px 0px 0 var(--popper-arrow-shadow-color)":n.includes("left")?"1px -1px 0px 0 var(--popper-arrow-shadow-color)":void 0;var n;r&&t.style.setProperty("--popper-arrow-default-shadow",r),Object.assign(t.style,{transform:"rotate(45deg)",background:$0.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},e1={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},t1={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function r1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n1(e){return e instanceof r1(e).Element||e instanceof Element}function i1(e){return e instanceof r1(e).HTMLElement||e instanceof HTMLElement}function o1(e){return"undefined"!==typeof ShadowRoot&&(e instanceof r1(e).ShadowRoot||e instanceof ShadowRoot)}var a1=Math.max,s1=Math.min,c1=Math.round;function l1(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function u1(){return!/^((?!chrome|android).)*safari/i.test(l1())}function d1(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.getBoundingClientRect(),i=1,o=1;t&&i1(e)&&(i=e.offsetWidth>0&&c1(n.width)/e.offsetWidth||1,o=e.offsetHeight>0&&c1(n.height)/e.offsetHeight||1);var a=(n1(e)?r1(e):window).visualViewport,s=!u1()&&r,c=(n.left+(s&&a?a.offsetLeft:0))/i,l=(n.top+(s&&a?a.offsetTop:0))/o,u=n.width/i,d=n.height/o;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c,x:c,y:l}}function h1(e){var t=r1(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function f1(e){return e?(e.nodeName||"").toLowerCase():null}function p1(e){return((n1(e)?e.ownerDocument:e.document)||window.document).documentElement}function m1(e){return d1(p1(e)).left+h1(e).scrollLeft}function g1(e){return r1(e).getComputedStyle(e)}function v1(e){var t=g1(e),r=t.overflow,n=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+i+n)}function y1(e,t,r){void 0===r&&(r=!1);var n=i1(t),i=i1(t)&&function(e){var t=e.getBoundingClientRect(),r=c1(t.width)/e.offsetWidth||1,n=c1(t.height)/e.offsetHeight||1;return 1!==r||1!==n}(t),o=p1(t),a=d1(e,i,r),s={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!r)&&(("body"!==f1(t)||v1(o))&&(s=function(e){return e!==r1(e)&&i1(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:h1(e);var t}(t)),i1(t)?((c=d1(t,!0)).x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=m1(o))),{x:a.left+s.scrollLeft-c.x,y:a.top+s.scrollTop-c.y,width:a.width,height:a.height}}function b1(e){var t=d1(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}function w1(e){return"html"===f1(e)?e:e.assignedSlot||e.parentNode||(o1(e)?e.host:null)||p1(e)}function x1(e){return["html","body","#document"].indexOf(f1(e))>=0?e.ownerDocument.body:i1(e)&&v1(e)?e:x1(w1(e))}function _1(e,t){var r;void 0===t&&(t=[]);var n=x1(e),i=n===(null==(r=e.ownerDocument)?void 0:r.body),o=r1(n),a=i?[o].concat(o.visualViewport||[],v1(n)?n:[]):n,s=t.concat(a);return i?s:s.concat(_1(w1(a)))}function S1(e){return["table","td","th"].indexOf(f1(e))>=0}function k1(e){return i1(e)&&"fixed"!==g1(e).position?e.offsetParent:null}function E1(e){for(var t=r1(e),r=k1(e);r&&S1(r)&&"static"===g1(r).position;)r=k1(r);return r&&("html"===f1(r)||"body"===f1(r)&&"static"===g1(r).position)?t:r||function(e){var t=/firefox/i.test(l1());if(/Trident/i.test(l1())&&i1(e)&&"fixed"===g1(e).position)return null;var r=w1(e);for(o1(r)&&(r=r.host);i1(r)&&["html","body"].indexOf(f1(r))<0;){var n=g1(r);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||t&&"filter"===n.willChange||t&&n.filter&&"none"!==n.filter)return r;r=r.parentNode}return null}(e)||t}var P1="top",O1="bottom",A1="right",T1="left",j1="auto",C1=[P1,O1,A1,T1],R1="start",I1="end",M1="clippingParents",L1="viewport",N1="popper",D1="reference",B1=C1.reduce((function(e,t){return e.concat([t+"-"+R1,t+"-"+I1])}),[]),z1=[].concat(C1,[j1]).reduce((function(e,t){return e.concat([t,t+"-"+R1,t+"-"+I1])}),[]),U1=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function F1(e){var t=new Map,r=new Set,n=[];function i(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var n=t.get(e);n&&i(n)}})),n.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||i(e)})),n}function $1(e){var t;return function(){return t||(t=new Promise((function(r){Promise.resolve().then((function(){t=void 0,r(e())}))}))),t}}var H1={placement:"bottom",modifiers:[],strategy:"absolute"};function V1(){for(var e=arguments.length,t=new Array(e),r=0;r=0?"x":"y"}function X1(e){var t,r=e.reference,n=e.element,i=e.placement,o=i?G1(i):null,a=i?Y1(i):null,s=r.x+r.width/2-n.width/2,c=r.y+r.height/2-n.height/2;switch(o){case P1:t={x:s,y:r.y-n.height};break;case O1:t={x:s,y:r.y+r.height};break;case A1:t={x:r.x+r.width,y:c};break;case T1:t={x:r.x-n.width,y:c};break;default:t={x:r.x,y:r.y}}var l=o?Z1(o):null;if(null!=l){var u="y"===l?"height":"width";switch(a){case R1:t[l]=t[l]-(r[u]/2-n[u]/2);break;case I1:t[l]=t[l]+(r[u]/2-n[u]/2)}}return t}const J1={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,r=e.name;t.modifiersData[r]=X1({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var Q1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function e2(e){var t,r=e.popper,n=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,s=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,h=a.x,f=void 0===h?0:h,p=a.y,m=void 0===p?0:p,g="function"===typeof u?u({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var v=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),b=T1,w=P1,x=window;if(l){var _=E1(r),S="clientHeight",k="clientWidth";if(_===r1(r)&&"static"!==g1(_=p1(r)).position&&"absolute"===s&&(S="scrollHeight",k="scrollWidth"),i===P1||(i===T1||i===A1)&&o===I1)w=O1,m-=(d&&_===x&&x.visualViewport?x.visualViewport.height:_[S])-n.height,m*=c?1:-1;if(i===T1||(i===P1||i===O1)&&o===I1)b=A1,f-=(d&&_===x&&x.visualViewport?x.visualViewport.width:_[k])-n.width,f*=c?1:-1}var E,P=Object.assign({position:s},l&&Q1),O=!0===u?function(e,t){var r=e.x,n=e.y,i=t.devicePixelRatio||1;return{x:c1(r*i)/i||0,y:c1(n*i)/i||0}}({x:f,y:m},r1(r)):{x:f,y:m};return f=O.x,m=O.y,c?Object.assign({},P,((E={})[w]=y?"0":"",E[b]=v?"0":"",E.transform=(x.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",E)):Object.assign({},P,((t={})[w]=y?m+"px":"",t[b]=v?f+"px":"",t.transform="",t))}const t2={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,r=e.options,n=r.gpuAcceleration,i=void 0===n||n,o=r.adaptive,a=void 0===o||o,s=r.roundOffsets,c=void 0===s||s,l={placement:G1(t.placement),variation:Y1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,e2(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,e2(Object.assign({},l,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};const r2={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},n=t.attributes[e]||{},i=t.elements[e];i1(i)&&f1(i)&&(Object.assign(i.style,r),Object.keys(n).forEach((function(e){var t=n[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var n=t.elements[e],i=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});i1(n)&&f1(n)&&(Object.assign(n.style,o),Object.keys(i).forEach((function(e){n.removeAttribute(e)})))}))}},requires:["computeStyles"]};const n2={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,n=e.name,i=r.offset,o=void 0===i?[0,0]:i,a=z1.reduce((function(e,r){return e[r]=function(e,t,r){var n=G1(e),i=[T1,P1].indexOf(n)>=0?-1:1,o="function"===typeof r?r(Object.assign({},t,{placement:e})):r,a=o[0],s=o[1];return a=a||0,s=(s||0)*i,[T1,A1].indexOf(n)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,o),e}),{}),s=a[t.placement],c=s.x,l=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[n]=a}};var i2={left:"right",right:"left",bottom:"top",top:"bottom"};function o2(e){return e.replace(/left|right|bottom|top/g,(function(e){return i2[e]}))}var a2={start:"end",end:"start"};function s2(e){return e.replace(/start|end/g,(function(e){return a2[e]}))}function c2(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&o1(r)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function l2(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function u2(e,t,r){return t===L1?l2(function(e,t){var r=r1(e),n=p1(e),i=r.visualViewport,o=n.clientWidth,a=n.clientHeight,s=0,c=0;if(i){o=i.width,a=i.height;var l=u1();(l||!l&&"fixed"===t)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:o,height:a,x:s+m1(e),y:c}}(e,r)):n1(t)?function(e,t){var r=d1(e,!1,"fixed"===t);return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}(t,r):l2(function(e){var t,r=p1(e),n=h1(e),i=null==(t=e.ownerDocument)?void 0:t.body,o=a1(r.scrollWidth,r.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=a1(r.scrollHeight,r.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-n.scrollLeft+m1(e),c=-n.scrollTop;return"rtl"===g1(i||r).direction&&(s+=a1(r.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:c}}(p1(e)))}function d2(e,t,r,n){var i="clippingParents"===t?function(e){var t=_1(w1(e)),r=["absolute","fixed"].indexOf(g1(e).position)>=0&&i1(e)?E1(e):e;return n1(r)?t.filter((function(e){return n1(e)&&c2(e,r)&&"body"!==f1(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),a=o[0],s=o.reduce((function(t,r){var i=u2(e,r,n);return t.top=a1(i.top,t.top),t.right=s1(i.right,t.right),t.bottom=s1(i.bottom,t.bottom),t.left=a1(i.left,t.left),t}),u2(e,a,n));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function h2(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function f2(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}function p2(e,t){void 0===t&&(t={});var r=t,n=r.placement,i=void 0===n?e.placement:n,o=r.strategy,a=void 0===o?e.strategy:o,s=r.boundary,c=void 0===s?M1:s,l=r.rootBoundary,u=void 0===l?L1:l,d=r.elementContext,h=void 0===d?N1:d,f=r.altBoundary,p=void 0!==f&&f,m=r.padding,g=void 0===m?0:m,v=h2("number"!==typeof g?g:f2(g,C1)),y=h===N1?D1:N1,b=e.rects.popper,w=e.elements[p?y:h],x=d2(n1(w)?w:w.contextElement||p1(e.elements.popper),c,u,a),_=d1(e.elements.reference),S=X1({reference:_,element:b,strategy:"absolute",placement:i}),k=l2(Object.assign({},b,S)),E=h===N1?k:_,P={top:x.top-E.top+v.top,bottom:E.bottom-x.bottom+v.bottom,left:x.left-E.left+v.left,right:E.right-x.right+v.right},O=e.modifiersData.offset;if(h===N1&&O){var A=O[i];Object.keys(P).forEach((function(e){var t=[A1,O1].indexOf(e)>=0?1:-1,r=[P1,O1].indexOf(e)>=0?"y":"x";P[e]+=A[r]*t}))}return P}const m2={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var i=r.mainAxis,o=void 0===i||i,a=r.altAxis,s=void 0===a||a,c=r.fallbackPlacements,l=r.padding,u=r.boundary,d=r.rootBoundary,h=r.altBoundary,f=r.flipVariations,p=void 0===f||f,m=r.allowedAutoPlacements,g=t.options.placement,v=G1(g),y=c||(v===g||!p?[o2(g)]:function(e){if(G1(e)===j1)return[];var t=o2(e);return[s2(e),t,s2(t)]}(g)),b=[g].concat(y).reduce((function(e,r){return e.concat(G1(r)===j1?function(e,t){void 0===t&&(t={});var r=t,n=r.placement,i=r.boundary,o=r.rootBoundary,a=r.padding,s=r.flipVariations,c=r.allowedAutoPlacements,l=void 0===c?z1:c,u=Y1(n),d=u?s?B1:B1.filter((function(e){return Y1(e)===u})):C1,h=d.filter((function(e){return l.indexOf(e)>=0}));0===h.length&&(h=d);var f=h.reduce((function(t,r){return t[r]=p2(e,{placement:r,boundary:i,rootBoundary:o,padding:a})[G1(r)],t}),{});return Object.keys(f).sort((function(e,t){return f[e]-f[t]}))}(t,{placement:r,boundary:u,rootBoundary:d,padding:l,flipVariations:p,allowedAutoPlacements:m}):r)}),[]),w=t.rects.reference,x=t.rects.popper,_=new Map,S=!0,k=b[0],E=0;E=0,j=T?"width":"height",C=p2(t,{placement:P,boundary:u,rootBoundary:d,altBoundary:h,padding:l}),R=T?A?A1:T1:A?O1:P1;w[j]>x[j]&&(R=o2(R));var I=o2(R),M=[];if(o&&M.push(C[O]<=0),s&&M.push(C[R]<=0,C[I]<=0),M.every((function(e){return e}))){k=P,S=!1;break}_.set(P,M)}if(S)for(var L=function(e){var t=b.find((function(t){var r=_.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},N=p?3:1;N>0;N--){if("break"===L(N))break}t.placement!==k&&(t.modifiersData[n]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function g2(e,t,r){return a1(e,s1(t,r))}const v2={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,n=e.name,i=r.mainAxis,o=void 0===i||i,a=r.altAxis,s=void 0!==a&&a,c=r.boundary,l=r.rootBoundary,u=r.altBoundary,d=r.padding,h=r.tether,f=void 0===h||h,p=r.tetherOffset,m=void 0===p?0:p,g=p2(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),v=G1(t.placement),y=Y1(t.placement),b=!y,w=Z1(v),x="x"===w?"y":"x",_=t.modifiersData.popperOffsets,S=t.rects.reference,k=t.rects.popper,E="function"===typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,P="number"===typeof E?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),O=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,A={x:0,y:0};if(_){if(o){var T,j="y"===w?P1:T1,C="y"===w?O1:A1,R="y"===w?"height":"width",I=_[w],M=I+g[j],L=I-g[C],N=f?-k[R]/2:0,D=y===R1?S[R]:k[R],B=y===R1?-k[R]:-S[R],z=t.elements.arrow,U=f&&z?b1(z):{width:0,height:0},F=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},$=F[j],H=F[C],V=g2(0,S[R],U[R]),q=b?S[R]/2-N-V-$-P.mainAxis:D-V-$-P.mainAxis,K=b?-S[R]/2+N+V+H+P.mainAxis:B+V+H+P.mainAxis,W=t.elements.arrow&&E1(t.elements.arrow),G=W?"y"===w?W.clientTop||0:W.clientLeft||0:0,Y=null!=(T=null==O?void 0:O[w])?T:0,Z=I+K-Y,X=g2(f?s1(M,I+q-Y-G):M,I,f?a1(L,Z):L);_[w]=X,A[w]=X-I}if(s){var J,Q="x"===w?P1:T1,ee="x"===w?O1:A1,te=_[x],re="y"===x?"height":"width",ne=te+g[Q],ie=te-g[ee],oe=-1!==[P1,T1].indexOf(v),ae=null!=(J=null==O?void 0:O[x])?J:0,se=oe?ne:te-S[re]-k[re]-ae+P.altAxis,ce=oe?te+S[re]+k[re]-ae-P.altAxis:ie,le=f&&oe?function(e,t,r){var n=g2(e,t,r);return n>r?r:n}(se,te,ce):g2(f?se:ne,te,f?ce:ie);_[x]=le,A[x]=le-te}t.modifiersData[n]=A}},requiresIfExists:["offset"]};const y2={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,n=e.name,i=e.options,o=r.elements.arrow,a=r.modifiersData.popperOffsets,s=G1(r.placement),c=Z1(s),l=[T1,A1].indexOf(s)>=0?"height":"width";if(o&&a){var u=function(e,t){return h2("number"!==typeof(e="function"===typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:f2(e,C1))}(i.padding,r),d=b1(o),h="y"===c?P1:T1,f="y"===c?O1:A1,p=r.rects.reference[l]+r.rects.reference[c]-a[c]-r.rects.popper[l],m=a[c]-r.rects.reference[c],g=E1(o),v=g?"y"===c?g.clientHeight||0:g.clientWidth||0:0,y=p/2-m/2,b=u[h],w=v-d[l]-u[f],x=v/2-d[l]/2+y,_=g2(b,x,w),S=c;r.modifiersData[n]=((t={})[S]=_,t.centerOffset=_-x,t)}},effect:function(e){var t=e.state,r=e.options.element,n=void 0===r?"[data-popper-arrow]":r;null!=n&&("string"!==typeof n||(n=t.elements.popper.querySelector(n)))&&c2(t.elements.popper,n)&&(t.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function b2(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function w2(e){return[P1,A1,O1,T1].some((function(t){return e[t]>=0}))}const x2={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,r=e.name,n=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=p2(t,{elementContext:"reference"}),s=p2(t,{altBoundary:!0}),c=b2(a,n),l=b2(s,i,o),u=w2(c),d=w2(l);t.modifiersData[r]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}};var _2=q1({defaultModifiers:[W1,J1,t2,r2,n2,m2,v2,y2,x2]});function S2(e={}){const{enabled:r=!0,modifiers:n,placement:i="bottom",strategy:o="absolute",arrowPadding:a=8,eventListeners:s=!0,offset:c,gutter:l=8,flip:u=!0,boundary:d="clippingParents",preventOverflow:h=!0,matchWidth:f,direction:p="ltr"}=e,m=(0,t.useRef)(null),g=(0,t.useRef)(null),v=(0,t.useRef)(null),y=function(e,t="ltr"){var r,n;const i=(null==(r=e1[e])?void 0:r[t])||e;return"ltr"===t?i:null!=(n=t1[e])?n:i}(i,p),b=(0,t.useRef)((()=>{})),w=(0,t.useCallback)((()=>{var e;r&&m.current&&g.current&&(null==(e=b.current)||e.call(b),v.current=_2(m.current,g.current,{placement:y,modifiers:[J0,Y0,W0,{...K0,enabled:!!f},{name:"eventListeners",...q0(s)},{name:"arrow",options:{padding:a}},{name:"offset",options:{offset:null!=c?c:[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!h,options:{boundary:d}},...null!=n?n:[]],strategy:o}),v.current.forceUpdate(),b.current=v.current.destroy)}),[y,r,n,f,s,a,c,l,u,h,d,o]);(0,t.useEffect)((()=>()=>{var e;m.current||g.current||(null==(e=v.current)||e.destroy(),v.current=null)}),[]);const x=(0,t.useCallback)((e=>{m.current=e,w()}),[w]),_=(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(x,t)})),[x]),S=(0,t.useCallback)((e=>{g.current=e,w()}),[w]),k=(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(S,t),style:{...e.style,position:o,minWidth:f?void 0:"max-content",inset:"0 auto auto 0"}})),[o,S,f]),E=(0,t.useCallback)(((e={},t=null)=>{const{size:r,shadowColor:n,bg:i,style:o,...a}=e;return{...a,ref:t,"data-popper-arrow":"",style:k2(e)}}),[]),P=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-popper-arrow-inner":""})),[]);return{update(){var e;null==(e=v.current)||e.update()},forceUpdate(){var e;null==(e=v.current)||e.forceUpdate()},transformOrigin:$0.transformOrigin.varRef,referenceRef:x,popperRef:S,getPopperProps:k,getArrowProps:E,getArrowInnerProps:P,getReferenceProps:_}}function k2(e){const{size:t,shadowColor:r,bg:n,style:i}=e,o={...i,position:"absolute"};return t&&(o["--popper-arrow-size"]=t),r&&(o["--popper-arrow-shadow-color"]=r),n&&(o["--popper-arrow-bg"]=n),o}function E2(e={}){const{onClose:r,onOpen:n,isOpen:i,id:o}=e,a=EM(n),s=EM(r),[c,l]=(0,t.useState)(e.defaultIsOpen||!1),u=void 0!==i?i:c,d=void 0!==i,h=(0,t.useId)(),f=null!=o?o:`disclosure-${h}`,p=(0,t.useCallback)((()=>{d||l(!1),null==s||s()}),[d,s]),m=(0,t.useCallback)((()=>{d||l(!0),null==a||a()}),[d,a]),g=(0,t.useCallback)((()=>{u?p():m()}),[u,m,p]);return{isOpen:u,onOpen:m,onClose:p,onToggle:g,isControlled:d,getButtonProps:function(e={}){return{...e,"aria-expanded":u,"aria-controls":f,onClick(t){var r;null==(r=e.onClick)||r.call(e,t),g()}}},getDisclosureProps:function(e={}){return{...e,hidden:!u,id:f}}}}function P2(e,r,n,i){const o=EM(n);return(0,t.useEffect)((()=>{const t="function"===typeof e?e():null!=e?e:document;if(n&&t)return t.addEventListener(r,o,i),()=>{t.removeEventListener(r,o,i)}}),[r,e,i,o,n]),()=>{const t="function"===typeof e?e():null!=e?e:document;null==t||t.removeEventListener(r,o,i)}}var O2=e=>{var t;return(null==(t=e.current)?void 0:t.ownerDocument)||document},A2=e=>{var t,r;return(null==(r=null==(t=e.current)?void 0:t.ownerDocument)?void 0:r.defaultView)||window};function T2(e={}){const{openDelay:r=0,closeDelay:n=0,closeOnClick:i=!0,closeOnMouseDown:o,closeOnScroll:a,closeOnPointerDown:s=o,closeOnEsc:c=!0,onOpen:l,onClose:u,placement:d,id:h,isOpen:f,defaultIsOpen:p,arrowSize:m=10,arrowShadowColor:g,arrowPadding:v,modifiers:y,isDisabled:b,gutter:w,offset:x,direction:_,...S}=e,{isOpen:k,onOpen:E,onClose:P}=E2({isOpen:f,defaultIsOpen:p,onOpen:l,onClose:u}),{referenceRef:O,getPopperProps:A,getArrowInnerProps:T,getArrowProps:j}=S2({enabled:k,placement:d,arrowPadding:v,modifiers:y,gutter:w,offset:x,direction:_}),C=(0,t.useId)(),R=`tooltip-${null!=h?h:C}`,I=(0,t.useRef)(null),M=(0,t.useRef)(),L=(0,t.useCallback)((()=>{M.current&&(clearTimeout(M.current),M.current=void 0)}),[]),N=(0,t.useRef)(),D=(0,t.useCallback)((()=>{N.current&&(clearTimeout(N.current),N.current=void 0)}),[]),B=(0,t.useCallback)((()=>{D(),P()}),[P,D]),z=function(e,r){return(0,t.useEffect)((()=>{const t=O2(e);return t.addEventListener(j2,r),()=>t.removeEventListener(j2,r)}),[r,e]),()=>{const t=O2(e),r=A2(e);t.dispatchEvent(new r.CustomEvent(j2))}}(I,B),U=(0,t.useCallback)((()=>{if(!b&&!M.current){k&&z();const e=A2(I);M.current=e.setTimeout(E,r)}}),[z,b,k,E,r]),F=(0,t.useCallback)((()=>{L();const e=A2(I);N.current=e.setTimeout(B,n)}),[n,B,L]),$=(0,t.useCallback)((()=>{k&&i&&F()}),[i,F,k]),H=(0,t.useCallback)((()=>{k&&s&&F()}),[s,F,k]),V=(0,t.useCallback)((e=>{k&&"Escape"===e.key&&F()}),[k,F]);P2((()=>O2(I)),"keydown",c?V:void 0),P2((()=>{if(!a)return null;const e=I.current;if(!e)return null;const t=U0(e);return"body"===t.localName?A2(I):t}),"scroll",(()=>{k&&a&&B()}),{passive:!0,capture:!0}),(0,t.useEffect)((()=>{b&&(L(),k&&P())}),[b,k,P,L]),(0,t.useEffect)((()=>()=>{L(),D()}),[L,D]),P2((()=>I.current),"pointerleave",F);const q=(0,t.useCallback)(((e={},t=null)=>{const r={...e,ref:wi(I,t,O),onPointerEnter:ue(e.onPointerEnter,(e=>{"touch"!==e.pointerType&&U()})),onClick:ue(e.onClick,$),onPointerDown:ue(e.onPointerDown,H),onFocus:ue(e.onFocus,U),onBlur:ue(e.onBlur,F),"aria-describedby":k?R:void 0};return r}),[U,F,H,k,R,$,O]),K=(0,t.useCallback)(((e={},t=null)=>A({...e,style:{...e.style,[$0.arrowSize.var]:m?`${m}px`:void 0,[$0.arrowShadowColor.var]:g}},t)),[A,m,g]),W=(0,t.useCallback)(((e={},t=null)=>{const r={...e.style,position:"relative",transformOrigin:$0.transformOrigin.varRef};return{ref:t,...S,...e,id:R,role:"tooltip",style:r}}),[S,R]);return{isOpen:k,show:U,hide:F,getTriggerProps:q,getTooltipProps:W,getTooltipPositionerProps:K,getArrowProps:j,getArrowInnerProps:T}}var j2="chakra-ui:close-tooltip";var C2=Gn(jF.div),R2=re(((e,r)=>{var n,i;const o=si("Tooltip",e),a=Jt(e),s=ri(),{children:c,label:l,shouldWrapChildren:u,"aria-label":d,hasArrow:h,bg:f,portalProps:p,background:m,backgroundColor:g,bgColor:v,motionProps:y,...b}=a,w=null!=(i=null!=(n=null!=m?m:g)?n:f)?i:v;if(w){o.bg=w;const e=function(e,t,r){var n,i,o;return null!=(o=null==(i=null==(n=e.__cssMap)?void 0:n[`${t}.${r}`])?void 0:i.varRef)?o:r}(s,"colors",w);o[$0.arrowBg.var]=e}const x=T2({...b,direction:s.direction});let _;if("string"===typeof c||u)_=(0,Yn.jsx)(Gn.span,{display:"inline-block",tabIndex:0,...x.getTriggerProps(),children:c});else{const e=t.Children.only(c);_=(0,t.cloneElement)(e,x.getTriggerProps(e.props,e.ref))}const S=!!d,k=x.getTooltipProps({},r),E=S?function(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}(k,["role","id"]):k,P=function(e,t){const r={};for(const n of t)n in e&&(r[n]=e[n]);return r}(k,["role","id"]);return l?(0,Yn.jsxs)(Yn.Fragment,{children:[_,(0,Yn.jsx)(i$,{children:x.isOpen&&(0,Yn.jsx)(d$,{...p,children:(0,Yn.jsx)(Gn.div,{...x.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:(0,Yn.jsxs)(C2,{variants:z0,initial:"exit",animate:"enter",exit:"exit",...y,...E,__css:o,children:[l,S&&(0,Yn.jsx)(Gn.span,{srOnly:!0,...P,children:d}),h&&(0,Yn.jsx)(Gn.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:(0,Yn.jsx)(Gn.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):(0,Yn.jsx)(Yn.Fragment,{children:c})}));R2.displayName="Tooltip";const I2=e=>(0,Yn.jsxs)(LF,{width:"24px",height:"24px",fill:"none",textAlign:"center",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,Yn.jsx)("path",{d:"M14 5.6C14 5.03995 14 4.75992 14.109 4.54601C14.2049 4.35785 14.3578 4.20487 14.546 4.10899C14.7599 4 15.0399 4 15.6 4H18.4C18.9601 4 19.2401 4 19.454 4.10899C19.6422 4.20487 19.7951 4.35785 19.891 4.54601C20 4.75992 20 5.03995 20 5.6V8.4C20 8.96005 20 9.24008 19.891 9.45399C19.7951 9.64215 19.6422 9.79513 19.454 9.89101C19.2401 10 18.9601 10 18.4 10H15.6C15.0399 10 14.7599 10 14.546 9.89101C14.3578 9.79513 14.2049 9.64215 14.109 9.45399C14 9.24008 14 8.96005 14 8.4V5.6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M4 5.6C4 5.03995 4 4.75992 4.10899 4.54601C4.20487 4.35785 4.35785 4.20487 4.54601 4.10899C4.75992 4 5.03995 4 5.6 4H8.4C8.96005 4 9.24008 4 9.45399 4.10899C9.64215 4.20487 9.79513 4.35785 9.89101 4.54601C10 4.75992 10 5.03995 10 5.6V8.4C10 8.96005 10 9.24008 9.89101 9.45399C9.79513 9.64215 9.64215 9.79513 9.45399 9.89101C9.24008 10 8.96005 10 8.4 10H5.6C5.03995 10 4.75992 10 4.54601 9.89101C4.35785 9.79513 4.20487 9.64215 4.10899 9.45399C4 9.24008 4 8.96005 4 8.4V5.6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M4 15.6C4 15.0399 4 14.7599 4.10899 14.546C4.20487 14.3578 4.35785 14.2049 4.54601 14.109C4.75992 14 5.03995 14 5.6 14H8.4C8.96005 14 9.24008 14 9.45399 14.109C9.64215 14.2049 9.79513 14.3578 9.89101 14.546C10 14.7599 10 15.0399 10 15.6V18.4C10 18.9601 10 19.2401 9.89101 19.454C9.79513 19.6422 9.64215 19.7951 9.45399 19.891C9.24008 20 8.96005 20 8.4 20H5.6C5.03995 20 4.75992 20 4.54601 19.891C4.35785 19.7951 4.20487 19.6422 4.10899 19.454C4 19.2401 4 18.9601 4 18.4V15.6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M14 15.6C14 15.0399 14 14.7599 14.109 14.546C14.2049 14.3578 14.3578 14.2049 14.546 14.109C14.7599 14 15.0399 14 15.6 14H18.4C18.9601 14 19.2401 14 19.454 14.109C19.6422 14.2049 19.7951 14.3578 19.891 14.546C20 14.7599 20 15.0399 20 15.6V18.4C20 18.9601 20 19.2401 19.891 19.454C19.7951 19.6422 19.6422 19.7951 19.454 19.891C19.2401 20 18.9601 20 18.4 20H15.6C15.0399 20 14.7599 20 14.546 19.891C14.3578 19.7951 14.2049 19.6422 14.109 19.454C14 19.2401 14 18.9601 14 18.4V15.6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})]}),M2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M8.25 13.5H4.65C3.80992 13.5 3.38988 13.5 3.06901 13.3365C2.78677 13.1927 2.5573 12.9632 2.41349 12.681C2.25 12.3601 2.25 11.9401 2.25 11.1V5.4C2.25 4.55992 2.25 4.13988 2.41349 3.81901C2.5573 3.53677 2.78677 3.3073 3.06901 3.16349C3.38988 3 3.80992 3 4.65 3H13.35C14.1901 3 14.6101 3 14.931 3.16349C15.2132 3.3073 15.4427 3.53677 15.5865 3.81901C15.75 4.13988 15.75 4.55992 15.75 5.4V8.25M2.25 6H15.75M13.5 15V10.5M15.75 12.7506L11.25 12.75",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),L2=e=>(0,Yn.jsx)(LF,{fill:"none",viewBox:"0 0 13 17",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M13 12.5L10.75 12.5M10.75 12.5L8.5 12.5M10.75 12.5V10.25M10.75 12.5V14.75M6.25 14.75H1C1 11.8505 3.35051 9.5 6.25 9.5C6.77123 9.5 7.27472 9.57596 7.75 9.71741M9.25 4.25C9.25 5.90685 7.90685 7.25 6.25 7.25C4.59315 7.25 3.25 5.90685 3.25 4.25C3.25 2.59315 4.59315 1.25 6.25 1.25C7.90685 1.25 9.25 2.59315 9.25 4.25Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),N2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M13.5 15.5C13.2164 14.3589 11.981 13.5 10.5 13.5C9.019 13.5 7.78364 14.3589 7.5 15.5M21 5V7M21 11V13M21 17V19M6.2 21H14.8C15.9201 21 16.4802 21 16.908 20.782C17.2843 20.5903 17.5903 20.2843 17.782 19.908C18 19.4802 18 18.9201 18 17.8V6.2C18 5.0799 18 4.51984 17.782 4.09202C17.5903 3.71569 17.2843 3.40973 16.908 3.21799C16.4802 3 15.9201 3 14.8 3H6.2C5.0799 3 4.51984 3 4.09202 3.21799C3.71569 3.40973 3.40973 3.71569 3.21799 4.09202C3 4.51984 3 5.07989 3 6.2V17.8C3 18.9201 3 19.4802 3.21799 19.908C3.40973 20.2843 3.71569 20.5903 4.09202 20.782C4.51984 21 5.07989 21 6.2 21ZM11.5 9.5C11.5 10.0523 11.0523 10.5 10.5 10.5C9.94772 10.5 9.5 10.0523 9.5 9.5C9.5 8.94772 9.94772 8.5 10.5 8.5C11.0523 8.5 11.5 8.94772 11.5 9.5Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),D2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],"data-testid":"baker-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3.74946 5.25V8.25M7.49946 1.5V4.5M13.4995 12V15M2.24946 6.75H5.24946M5.99946 3H8.99946M11.9995 13.5H14.9995M10.4995 5.25L12.6208 7.37132M14.6369 2.80959L15.0612 3.23385C15.3582 3.53086 15.5067 3.67937 15.5624 3.85062C15.6113 4.00125 15.6113 4.16351 15.5624 4.31414C15.5067 4.48539 15.3582 4.6339 15.0612 4.93091L4.89356 15.0985C4.59655 15.3955 4.44804 15.5441 4.2768 15.5997C4.12617 15.6486 3.9639 15.6486 3.81327 15.5997C3.64203 15.5441 3.49352 15.3955 3.19651 15.0985L2.77224 14.6743C2.47523 14.3773 2.32672 14.2288 2.27108 14.0575C2.22214 13.9069 2.22214 13.7446 2.27108 13.594C2.32672 13.4227 2.47523 13.2742 2.77224 12.9772L12.9399 2.80959C13.2369 2.51258 13.3854 2.36407 13.5566 2.30843C13.7073 2.25948 13.8695 2.25948 14.0202 2.30843C14.1914 2.36407 14.3399 2.51258 14.6369 2.80959Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),B2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",strokeWidth:"1.2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M10 4V20M14 4V20M4 8C4 8.92997 4 9.39496 4.10222 9.77646C4.37962 10.8117 5.18827 11.6204 6.22354 11.8978C6.60504 12 7.07003 12 8 12H16C16.93 12 17.395 12 17.7765 11.8978C18.8117 11.6204 19.6204 10.8117 19.8978 9.77646C20 9.39496 20 8.92997 20 8M4 8C4 7.07003 4 6.60504 4.10222 6.22354C4.37962 5.18827 5.18827 4.37962 6.22354 4.10222C6.60504 4 7.07003 4 8 4H16C16.93 4 17.395 4 17.7765 4.10222C18.8117 4.37962 19.6204 5.18827 19.8978 6.22354C20 6.60504 20 7.07003 20 8M4 8V16C4 16.93 4 17.395 4.10222 17.7765C4.37962 18.8117 5.18827 19.6204 6.22354 19.8978C6.60504 20 7.07003 20 8 20H16C16.93 20 17.395 20 17.7765 19.8978C18.8117 19.6204 19.6204 18.8117 19.8978 17.7765C20 17.395 20 16.93 20 16V8M10 16H8C7.07003 16 6.60504 16 6.22354 15.8978C5.18827 15.6204 4.37962 14.8117 4.10222 13.7765C4 13.395 4 12.93 4 12M14 16H16C16.93 16 17.395 16 17.7765 15.8978C18.8117 15.6204 19.6204 14.8117 19.8978 13.7765C20 13.395 20 12.93 20 12M7 8H7.01M17 8H17.01",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round"})}),z2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M6 9.25L7.84615 11.25L12 6.75M15.75 9C15.75 12.7279 12.7279 15.75 9 15.75C5.27208 15.75 2.25 12.7279 2.25 9C2.25 5.27208 5.27208 2.25 9 2.25C12.7279 2.25 15.75 5.27208 15.75 9Z",stroke:"#00C39A",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),U2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M4.5 6.75L9 11.25L13.5 6.75",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),F2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M7 14L11.5 9.5L7 5",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),$2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M12 10V14M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12ZM17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),H2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none","data-testid":"contact-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3.75 15.75C3.75 12.8505 6.10051 10.5 9 10.5C11.8995 10.5 14.25 12.8505 14.25 15.75M12 5.25C12 6.90685 10.6569 8.25 9 8.25C7.34315 8.25 6 6.90685 6 5.25C6 3.59315 7.34315 2.25 9 2.25C10.6569 2.25 12 3.59315 12 5.25Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),V2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M7.5 12.75L6 11.25L7.5 9.75M10.5 9.75L12 11.25L10.5 12.75M9.75 2.25H6.15C5.30992 2.25 4.88988 2.25 4.56901 2.41349C4.28677 2.5573 4.0573 2.78677 3.91349 3.06901C3.75 3.38988 3.75 3.80992 3.75 4.65V13.35C3.75 14.1901 3.75 14.6101 3.91349 14.931C4.0573 15.2132 4.28677 15.4427 4.56901 15.5865C4.88988 15.75 5.30992 15.75 6.15 15.75H11.85C12.6901 15.75 13.1101 15.75 13.431 15.5865C13.7132 15.4427 13.9427 15.2132 14.0865 14.931C14.25 14.6101 14.25 14.1901 14.25 13.35V6.75M9.75 2.25L14.25 6.75M9.75 2.25V6C9.75 6.41421 10.0858 6.75 10.5 6.75H14.25",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),q2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M13.773 13.773C14.9945 12.5515 15.75 10.864 15.75 9C15.75 5.27208 12.7279 2.25 9 2.25C7.13604 2.25 5.44854 3.00552 4.22703 4.22703M13.773 13.773C12.5515 14.9945 10.864 15.75 9 15.75C5.27208 15.75 2.25 12.7279 2.25 9C2.25 7.13604 3.00552 5.44854 4.22703 4.22703M13.773 13.773L4.22703 4.22703",stroke:"#FB4F57",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),K2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3.125 9H20.875M12 3L8 9L12 20.6667L16 9L12 3ZM12.64 20.1467L20.64 9.48C20.7691 9.30787 20.8336 9.22181 20.8585 9.12728C20.8805 9.04385 20.8805 8.95615 20.8585 8.87272C20.8336 8.77819 20.7691 8.69213 20.64 8.52L16.74 3.32C16.652 3.20267 16.608 3.144 16.5522 3.10169C16.5028 3.06421 16.4469 3.03625 16.3873 3.01922C16.32 3 16.2467 3 16.1 3H7.9C7.75333 3 7.68 3 7.61269 3.01922C7.55308 3.03625 7.49715 3.06421 7.44776 3.10169C7.392 3.144 7.348 3.20267 7.26 3.32L3.36 8.52C3.2309 8.69213 3.16635 8.77819 3.14147 8.87271C3.11951 8.95615 3.11951 9.04385 3.14147 9.12728C3.16635 9.2218 3.2309 9.30787 3.36 9.48L11.36 20.1467C11.5771 20.4362 11.6857 20.5809 11.8188 20.6327C11.9353 20.678 12.0647 20.678 12.1812 20.6327C12.3143 20.5809 12.4229 20.4362 12.64 20.1467Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),W2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M9 17H13M9 13H13M9 9H10M17 18V21M17 15H17.01M13 3H8.2C7.0799 3 6.51984 3 6.09202 3.21799C5.71569 3.40973 5.40973 3.71569 5.21799 4.09202C5 4.51984 5 5.0799 5 6.2V17.8C5 18.9201 5 19.4802 5.21799 19.908C5.40973 20.2843 5.71569 20.5903 6.09202 20.782C6.51984 21 7.0799 21 8.2 21H13M13 3L19 9M13 3V7.4C13 7.96005 13 8.24008 13.109 8.45399C13.2049 8.64215 13.3578 8.79513 13.546 8.89101C13.7599 9 14.0399 9 14.6 9H19M19 9V11.5",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),G2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M4 14L9 19L20 8M6 8.88889L9.07692 12L16 5",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),Y2=e=>(0,Yn.jsx)(LF,{width:"16px",height:"16px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M5 7.25L8 10.25M8 10.25L11 7.25M8 10.25V1.25M14.75 7.25V12.3494C14.75 13.1895 14.75 13.6095 14.5865 13.9304C14.4427 14.2126 14.2132 14.4421 13.931 14.5859C13.6101 14.7494 13.1901 14.7494 12.35 14.7494H3.65C2.80992 14.7494 2.38988 14.7494 2.06901 14.5859C1.78677 14.4421 1.5573 14.2126 1.41349 13.9304C1.25 13.6095 1.25 13.1895 1.25 12.3494V7.25",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),Z2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M8.5 21H4C4 17.134 7.13401 14 11 14C11.1681 14 11.3348 14.0059 11.5 14.0176M15 7C15 9.20914 13.2091 11 11 11C8.79086 11 7 9.20914 7 7C7 4.79086 8.79086 3 11 3C13.2091 3 15 4.79086 15 7ZM12.5898 21L14.6148 20.595C14.7914 20.5597 14.8797 20.542 14.962 20.5097C15.0351 20.4811 15.1045 20.4439 15.1689 20.399C15.2414 20.3484 15.3051 20.2848 15.4324 20.1574L19.5898 16C20.1421 15.4477 20.1421 14.5523 19.5898 14C19.0376 13.4477 18.1421 13.4477 17.5898 14L13.4324 18.1574C13.3051 18.2848 13.2414 18.3484 13.1908 18.421C13.1459 18.4853 13.1088 18.5548 13.0801 18.6279C13.0478 18.7102 13.0302 18.7985 12.9948 18.975L12.5898 21Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),X2=e=>(0,Yn.jsx)(LF,{width:"12px",height:"12px",fill:"none",stroke:E$.orange,viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M6 3.66667V6.58333M6 8.33333H6.00583M11.25 6C11.25 8.89949 8.89949 11.25 6 11.25C3.1005 11.25 0.75 8.89949 0.75 6C0.75 3.1005 3.1005 0.75 6 0.75C8.89949 0.75 11.25 3.1005 11.25 6Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),J2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M15 3V15M3 9H12M12 9L9 6M12 9L9 12",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),Q2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M15 3L9 9M15 3V6.375M15 3H11.625M14.25 9.375V12.6C14.25 13.4401 14.25 13.8601 14.0865 14.181C13.9427 14.4632 13.7132 14.6927 13.431 14.8365C13.1101 15 12.6901 15 11.85 15H5.4C4.55992 15 4.13988 15 3.81901 14.8365C3.53677 14.6927 3.3073 14.4632 3.16349 14.181C3 13.8601 3 13.4401 3 12.6V6.15C3 5.30992 3 4.88988 3.16349 4.56901C3.3073 4.28677 3.53677 4.0573 3.81901 3.91349C4.13988 3.75 4.55992 3.75 5.4 3.75H8.625",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),e5=e=>(0,Yn.jsxs)(LF,{width:"16px",height:"12px",fill:"none",viewBox:"0 0 16 12",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,Yn.jsx)("path",{d:"M10.2501 6C10.2501 7.24264 9.2427 8.25 8.00006 8.25C6.75742 8.25 5.75006 7.24264 5.75006 6C5.75006 4.75736 6.75742 3.75 8.00006 3.75C9.2427 3.75 10.2501 4.75736 10.2501 6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M8.00039 0.75C4.64217 0.75 1.79946 2.95716 0.84375 5.99997C1.79944 9.04282 4.64217 11.25 8.00041 11.25C11.3586 11.25 14.2013 9.04284 15.157 6.00003C14.2014 2.95719 11.3586 0.75 8.00039 0.75Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})]}),t5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M2.25024 2.25L15.7502 15.75M7.38345 7.43523C6.99147 7.84016 6.75024 8.39191 6.75024 9C6.75024 10.2426 7.7576 11.25 9.00024 11.25C9.6171 11.25 10.176 11.0018 10.5824 10.5997M4.87524 4.98536C3.45076 5.92525 2.36577 7.33796 1.84375 8.99997C2.79944 12.0428 5.64217 14.25 9.00041 14.25C10.4921 14.25 11.882 13.8145 13.0501 13.0638M8.25024 3.78705C8.49697 3.76254 8.74722 3.75 9.00039 3.75C12.3586 3.75 15.2014 5.95719 16.157 9.00003C15.9465 9.67048 15.6443 10.3004 15.2651 10.875",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),r5=e=>(0,Yn.jsx)(LF,{width:"30px",height:"15px",fill:E$.gray[450],viewBox:"1 1 30 15",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M1.2429 13V4.27273H7.02131V5.79403H3.08807V7.87358H6.63778V9.39489H3.08807V13H1.2429ZM8.67685 13H6.69957L9.71236 4.27273H12.0902L15.0987 13H13.1214L10.9354 6.26705H10.8672L8.67685 13ZM8.55327 9.5696H13.2237V11.0099H8.55327V9.5696ZM19.4847 4.27273V13H17.6396V6.02415H17.5884L15.5898 7.27699V5.64062L17.7504 4.27273H19.4847ZM22.1683 13.1108C21.8871 13.1108 21.6456 13.0114 21.4439 12.8125C21.245 12.6108 21.1456 12.3693 21.1456 12.0881C21.1456 11.8097 21.245 11.571 21.4439 11.3722C21.6456 11.1733 21.8871 11.0739 22.1683 11.0739C22.4411 11.0739 22.6797 11.1733 22.8842 11.3722C23.0888 11.571 23.1911 11.8097 23.1911 12.0881C23.1911 12.2756 23.1428 12.4474 23.0462 12.6037C22.9524 12.7571 22.8288 12.8807 22.6754 12.9744C22.522 13.0653 22.353 13.1108 22.1683 13.1108ZM24.6644 13V11.6705L27.771 8.79403C28.0352 8.53835 28.2567 8.30824 28.4357 8.10369C28.6175 7.89915 28.7553 7.69886 28.8491 7.50284C28.9428 7.30398 28.9897 7.08949 28.9897 6.85938C28.9897 6.60369 28.9315 6.38352 28.815 6.19886C28.6985 6.01136 28.5394 5.8679 28.3377 5.76847C28.136 5.66619 27.9073 5.61506 27.6516 5.61506C27.3846 5.61506 27.1516 5.66903 26.9528 5.77699C26.7539 5.88494 26.6005 6.03977 26.4925 6.24148C26.3846 6.44318 26.3306 6.68324 26.3306 6.96165H24.5792C24.5792 6.39062 24.7085 5.89489 24.967 5.47443C25.2255 5.05398 25.5877 4.72869 26.0536 4.49858C26.5195 4.26847 27.0565 4.15341 27.6644 4.15341C28.2894 4.15341 28.8335 4.2642 29.2965 4.4858C29.7624 4.70455 30.1246 5.00852 30.3832 5.39773C30.6417 5.78693 30.771 6.23295 30.771 6.7358C30.771 7.06534 30.7056 7.39062 30.5749 7.71165C30.4471 8.03267 30.2184 8.3892 29.8888 8.78125C29.5593 9.17045 29.0948 9.63778 28.4954 10.1832L27.2212 11.4318V11.4915H30.886V13H24.6644Z"})}),n5=e=>(0,Yn.jsx)(LF,{width:"23px",height:"18px",fill:E$.gray[450],viewBox:"0 0 23 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M1.0261 13V4.27273H6.80451V5.79403H2.87127V7.87358H6.42099V9.39489H2.87127V13H1.0261ZM8.46005 13H6.48278L9.49556 4.27273H11.8734L14.8819 13H12.9047L10.7186 6.26705H10.6504L8.46005 13ZM8.33647 9.5696H13.0069V11.0099H8.33647V9.5696ZM15.8812 13V11.6705L18.9877 8.79403C19.252 8.53835 19.4735 8.30824 19.6525 8.10369C19.8343 7.89915 19.9721 7.69886 20.0659 7.50284C20.1596 7.30398 20.2065 7.08949 20.2065 6.85938C20.2065 6.60369 20.1483 6.38352 20.0318 6.19886C19.9153 6.01136 19.7562 5.8679 19.5545 5.76847C19.3528 5.66619 19.1241 5.61506 18.8684 5.61506C18.6014 5.61506 18.3684 5.66903 18.1696 5.77699C17.9707 5.88494 17.8173 6.03977 17.7093 6.24148C17.6014 6.44318 17.5474 6.68324 17.5474 6.96165H15.796C15.796 6.39062 15.9252 5.89489 16.1838 5.47443C16.4423 5.05398 16.8045 4.72869 17.2704 4.49858C17.7363 4.26847 18.2733 4.15341 18.8812 4.15341C19.5062 4.15341 20.0502 4.2642 20.5133 4.4858C20.9792 4.70455 21.3414 5.00852 21.6 5.39773C21.8585 5.78693 21.9877 6.23295 21.9877 6.7358C21.9877 7.06534 21.9224 7.39062 21.7917 7.71165C21.6639 8.03267 21.4352 8.3892 21.1056 8.78125C20.7761 9.17045 20.3116 9.63778 19.7122 10.1832L18.438 11.4318V11.4915H22.1028V13H15.8812Z"})}),i5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M8 10.5H16M8 14.5H11M21.0039 12C21.0039 16.9706 16.9745 21 12.0039 21C9.9675 21 3.00463 21 3.00463 21C3.00463 21 4.56382 17.2561 3.93982 16.0008C3.34076 14.7956 3.00391 13.4372 3.00391 12C3.00391 7.02944 7.03334 3 12.0039 3C16.9745 3 21.0039 7.02944 21.0039 12Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),o5=e=>(0,Yn.jsx)(LF,{width:"19px",height:"19px",fill:"none",stroke:E$.gray[400],viewBox:"0 0 19 19",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M15.7842 10.2916C15.8165 10.0323 15.8332 9.76807 15.8332 9.49996C15.8332 6.00216 12.9976 3.16663 9.49984 3.16663C7.52021 3.16663 5.75273 4.07488 4.59135 5.49742M3.2155 8.70829C3.18316 8.96764 3.1665 9.23185 3.1665 9.49996C3.1665 12.9978 6.00203 15.8333 9.49984 15.8333C11.3914 15.8333 13.0893 15.004 14.2498 13.6892M11.8748 13.4583H14.2498V13.6892M4.59135 3.16663V5.49742M4.59135 5.49742V5.54157L6.96635 5.54163M14.2498 15.8333V13.6892",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),a5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M9 8.25V12.75M9 12.75L7.5 11.25M9 12.75L10.5 11.25M9.75 2.25H6.15C5.30992 2.25 4.88988 2.25 4.56901 2.41349C4.28677 2.5573 4.0573 2.78677 3.91349 3.06901C3.75 3.38988 3.75 3.80992 3.75 4.65V13.35C3.75 14.1901 3.75 14.6101 3.91349 14.931C4.0573 15.2132 4.28677 15.4427 4.56901 15.5865C4.88988 15.75 5.30992 15.75 6.15 15.75H11.85C12.6901 15.75 13.1101 15.75 13.431 15.5865C13.7132 15.4427 13.9427 15.2132 14.0865 14.931C14.25 14.6101 14.25 14.1901 14.25 13.35V6.75M9.75 2.25L14.25 6.75M9.75 2.25V5.55C9.75 5.97004 9.75 6.18006 9.83175 6.34049C9.90365 6.48161 10.0184 6.59635 10.1595 6.66825C10.3199 6.75 10.53 6.75 10.95 6.75H14.25",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),s5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M11.25 2.25V4.8C11.25 5.22004 11.25 5.43006 11.3317 5.59049C11.4037 5.73161 11.5184 5.84635 11.6595 5.91825C11.8199 6 12.03 6 12.45 6H15M7.5 6H4.5C3.67157 6 3 6.67157 3 7.5V14.25C3 15.0784 3.67157 15.75 4.5 15.75H9C9.82843 15.75 10.5 15.0784 10.5 14.25V12M12 2.25H9.9C9.05992 2.25 8.63988 2.25 8.31901 2.41349C8.03677 2.5573 7.8073 2.78677 7.66349 3.06901C7.5 3.38988 7.5 3.80992 7.5 4.65V9.6C7.5 10.4401 7.5 10.8601 7.66349 11.181C7.8073 11.4632 8.03677 11.6927 8.31901 11.8365C8.63988 12 9.05992 12 9.9 12H12.6C13.4401 12 13.8601 12 14.181 11.8365C14.4632 11.6927 14.6927 11.4632 14.8365 11.181C15 10.8601 15 10.4401 15 9.6V5.25L12 2.25Z",strokeLinejoin:"round",strokeWidth:"1.2"})}),c5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:"black",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M2.95314 5.997C4.05824 3.77605 6.35091 2.25 9 2.25C12.4718 2.25 15.3314 4.87105 15.708 8.24231M2.2912 9.74998C2.66427 13.125 5.52558 15.75 9 15.75C11.6496 15.75 13.9427 14.2234 15.0475 12.0017M2.25 3V6.375H5.625M15.75 15.375V12H12.375M8.625 6.75L7.5 9H10.5L9.375 11.25",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),l5=e=>(0,Yn.jsxs)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,Yn.jsx)("path",{d:"M15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M12.9046 3.06005C12.6988 3 12.4659 3 12 3C11.5341 3 11.3012 3 11.0954 3.06005C10.7942 3.14794 10.5281 3.32808 10.3346 3.57511C10.2024 3.74388 10.1159 3.96016 9.94291 4.39272C9.69419 5.01452 9.00393 5.33471 8.36857 5.123L7.79779 4.93281C7.3929 4.79785 7.19045 4.73036 6.99196 4.7188C6.70039 4.70181 6.4102 4.77032 6.15701 4.9159C5.98465 5.01501 5.83376 5.16591 5.53197 5.4677C5.21122 5.78845 5.05084 5.94882 4.94896 6.13189C4.79927 6.40084 4.73595 6.70934 4.76759 7.01551C4.78912 7.2239 4.87335 7.43449 5.04182 7.85566C5.30565 8.51523 5.05184 9.26878 4.44272 9.63433L4.16521 9.80087C3.74031 10.0558 3.52786 10.1833 3.37354 10.3588C3.23698 10.5141 3.13401 10.696 3.07109 10.893C3 11.1156 3 11.3658 3 11.8663C3 12.4589 3 12.7551 3.09462 13.0088C3.17823 13.2329 3.31422 13.4337 3.49124 13.5946C3.69158 13.7766 3.96395 13.8856 4.50866 14.1035C5.06534 14.3261 5.35196 14.9441 5.16236 15.5129L4.94721 16.1584C4.79819 16.6054 4.72367 16.829 4.7169 17.0486C4.70875 17.3127 4.77049 17.5742 4.89587 17.8067C5.00015 18.0002 5.16678 18.1668 5.5 18.5C5.83323 18.8332 5.99985 18.9998 6.19325 19.1041C6.4258 19.2295 6.68733 19.2913 6.9514 19.2831C7.17102 19.2763 7.39456 19.2018 7.84164 19.0528L8.36862 18.8771C9.00393 18.6654 9.6942 18.9855 9.94291 19.6073C10.1159 20.0398 10.2024 20.2561 10.3346 20.4249C10.5281 20.6719 10.7942 20.8521 11.0954 20.94C11.3012 21 11.5341 21 12 21C12.4659 21 12.6988 21 12.9046 20.94C13.2058 20.8521 13.4719 20.6719 13.6654 20.4249C13.7976 20.2561 13.8841 20.0398 14.0571 19.6073C14.3058 18.9855 14.9961 18.6654 15.6313 18.8773L16.1579 19.0529C16.605 19.2019 16.8286 19.2764 17.0482 19.2832C17.3123 19.2913 17.5738 19.2296 17.8063 19.1042C17.9997 18.9999 18.1664 18.8333 18.4996 18.5001C18.8328 18.1669 18.9994 18.0002 19.1037 17.8068C19.2291 17.5743 19.2908 17.3127 19.2827 17.0487C19.2759 16.8291 19.2014 16.6055 19.0524 16.1584L18.8374 15.5134C18.6477 14.9444 18.9344 14.3262 19.4913 14.1035C20.036 13.8856 20.3084 13.7766 20.5088 13.5946C20.6858 13.4337 20.8218 13.2329 20.9054 13.0088C21 12.7551 21 12.4589 21 11.8663C21 11.3658 21 11.1156 20.9289 10.893C20.866 10.696 20.763 10.5141 20.6265 10.3588C20.4721 10.1833 20.2597 10.0558 19.8348 9.80087L19.5569 9.63416C18.9478 9.26867 18.6939 8.51514 18.9578 7.85558C19.1262 7.43443 19.2105 7.22383 19.232 7.01543C19.2636 6.70926 19.2003 6.40077 19.0506 6.13181C18.9487 5.94875 18.7884 5.78837 18.4676 5.46762C18.1658 5.16584 18.0149 5.01494 17.8426 4.91583C17.5894 4.77024 17.2992 4.70174 17.0076 4.71872C16.8091 4.73029 16.6067 4.79777 16.2018 4.93273L15.6314 5.12287C14.9961 5.33464 14.3058 5.0145 14.0571 4.39272C13.8841 3.96016 13.7976 3.74388 13.6654 3.57511C13.4719 3.32808 13.2058 3.14794 12.9046 3.06005Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})]}),u5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M18.3795 5.65166L14.1055 9.86303M9.89445 14.137L5.63994 18.3679M5.63408 5.63799L9.89445 9.86303M14.1056 14.137L18.364 18.364M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12ZM15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),d5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M15 2.25H3M15 15.75H3M3.75 2.25C3.75 4.13267 4.65921 5.89944 6.1912 6.99371L11.8088 11.0063C13.3408 12.1006 14.25 13.8673 14.25 15.75M14.25 2.25C14.25 4.13267 13.3408 5.89944 11.8088 6.99371L6.1912 11.0063C4.65921 12.1006 3.75 13.8673 3.75 15.75",stroke:"#FB4F57",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),h5=e=>(0,Yn.jsx)(P5,{css:{rotate:"180deg"},...e}),f5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none","data-testid":"key-icon",strokeWidth:"1.2",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M9.24092 8.01389L3 14.25L4.5 15.75M5.25 12L6.75 13.5M15 5.625C15 7.48896 13.489 9 11.625 9C9.76104 9 8.25 7.48896 8.25 5.625C8.25 3.76104 9.76104 2.25 11.625 2.25C13.489 2.25 15 3.76104 15 5.625Z",strokeLinecap:"round",strokeLinejoin:"round"})});var p5={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},m5=t.createContext&&t.createContext(p5),g5=function(){return g5=Object.assign||function(e){for(var t,r=1,n=arguments.length;r(0,Yn.jsx)(LF,{as:x5,width:"18px",height:"18px","data-testid":"ledger-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e}),S5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M9.16586 17.6508C8.9261 17.8747 8.74055 18.0245 8.55093 18.134C7.62273 18.6699 6.47914 18.6699 5.55093 18.134C5.20889 17.9365 4.88009 17.6077 4.22251 16.9501C3.56492 16.2925 3.23612 15.9637 3.03864 15.6217C2.50274 14.6935 2.50274 13.5499 3.03864 12.6217C3.23612 12.2797 3.56492 11.9509 4.2225 11.2933L7.05093 8.46484C7.70852 7.80725 8.03732 7.47846 8.37936 7.28098C9.30756 6.74508 10.4512 6.74508 11.3794 7.28098C11.7214 7.47846 12.0502 7.80725 12.7078 8.46484C13.3654 9.12243 13.6942 9.45123 13.8916 9.79327C14.4275 10.7215 14.4275 11.8651 13.8916 12.7933C13.7822 12.9829 13.6323 13.1684 13.4085 13.4082M10.5929 10.5926C10.369 10.8323 10.2192 11.0179 10.1097 11.2075C9.57381 12.1357 9.57381 13.2793 10.1097 14.2075C10.3072 14.5495 10.636 14.8783 11.2936 15.5359C11.9512 16.1935 12.28 16.5223 12.622 16.7198C13.5502 17.2557 14.6938 17.2557 15.622 16.7198C15.964 16.5223 16.2928 16.1935 16.9504 15.5359L19.7789 12.7075C20.4364 12.0499 20.7652 11.7211 20.9627 11.3791C21.4986 10.4509 21.4986 9.30726 20.9627 8.37906C20.7652 8.03701 20.4364 7.70822 19.7789 7.05063C19.1213 6.39304 18.7925 6.06425 18.4504 5.86677C17.5222 5.33087 16.3786 5.33087 15.4504 5.86677C15.2608 5.97625 15.0753 6.12608 14.8355 6.34992",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),k5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M12 14.5V16.5M7 10.0288C7.47142 10 8.05259 10 8.8 10H15.2C15.9474 10 16.5286 10 17 10.0288M7 10.0288C6.41168 10.0647 5.99429 10.1455 5.63803 10.327C5.07354 10.6146 4.6146 11.0735 4.32698 11.638C4 12.2798 4 13.1198 4 14.8V16.2C4 17.8802 4 18.7202 4.32698 19.362C4.6146 19.9265 5.07354 20.3854 5.63803 20.673C6.27976 21 7.11984 21 8.8 21H15.2C16.8802 21 17.7202 21 18.362 20.673C18.9265 20.3854 19.3854 19.9265 19.673 19.362C20 18.7202 20 17.8802 20 16.2V14.8C20 13.1198 20 12.2798 19.673 11.638C19.3854 11.0735 18.9265 10.6146 18.362 10.327C18.0057 10.1455 17.5883 10.0647 17 10.0288M7 10.0288V8C7 5.23858 9.23858 3 12 3C14.7614 3 17 5.23858 17 8V10.0288",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),E5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M12 8H12.01M12 11V16M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),P5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],"data-testid":"outgoing-arrow-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M5.25 12.75L12.75 5.25M12.75 5.25H6M12.75 5.25V12",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),O5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M11.3348 4.66483L13.2208 6.55082M3 15L3.03164 14.7785C3.1436 13.9948 3.19958 13.6029 3.32692 13.2371C3.43992 12.9124 3.59428 12.6037 3.78619 12.3185C4.00247 11.9971 4.28237 11.7172 4.84218 11.1574L12.609 3.3906C13.1298 2.8698 13.9742 2.8698 14.495 3.3906C15.0158 3.9114 15.0158 4.75578 14.495 5.27658L6.58565 13.1859C6.07779 13.6938 5.82386 13.9477 5.53462 14.1497C5.27789 14.3289 5.001 14.4774 4.70965 14.5921C4.3814 14.7213 4.02937 14.7923 3.32535 14.9344L3 15Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),A5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[300],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M4 12H20M12 4V20",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),T5=e=>(0,Yn.jsx)(LF,{width:"18",height:"18",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3 9C3 12.3137 5.68629 15 9 15C12.3137 15 15 12.3137 15 9C15 5.68629 12.3137 3 9 3C7.20796 3 5.59942 3.78563 4.5 5.03126C4.43696 5.10268 4.3756 5.17562 4.31597 5.25M9 6V9L10.875 10.875M4.31543 3.00293V5.25293H6.56543",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),j5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],"data-testid":"rotate-icon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M12.5 18.5C17.1944 18.5 21 14.6944 21 10C21 5.30558 17.1944 1.5 12.5 1.5C7.80558 1.5 4 5.30558 4 10C4 11.5433 4.41128 12.9905 5.13022 14.238M1.5 13L5.13022 14.238M6.82531 10.3832L5.47107 14.3542L5.13022 14.238",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),C5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M16 3L8 21",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),R5=e=>(0,Yn.jsx)(LF,{width:"32px",height:"32px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M16 7.33333C16 9.17428 14.5076 10.6667 12.6667 10.6667C10.8257 10.6667 9.33333 9.17428 9.33333 7.33333M16 7.33333C16 5.49238 14.5076 4 12.6667 4C10.8257 4 9.33333 5.49238 9.33333 7.33333M16 7.33333H28M9.33333 7.33333H4M25.3333 16C25.3333 17.8409 23.8409 19.3333 22 19.3333C20.1591 19.3333 18.6667 17.8409 18.6667 16M25.3333 16C25.3333 14.1591 23.8409 12.6667 22 12.6667C20.1591 12.6667 18.6667 14.1591 18.6667 16M25.3333 16H28M18.6667 16H4M13.3333 24.6667C13.3333 26.5076 11.8409 28 10 28C8.15905 28 6.66667 26.5076 6.66667 24.6667M13.3333 24.6667C13.3333 22.8257 11.8409 21.3333 10 21.3333C8.15905 21.3333 6.66667 22.8257 6.66667 24.6667M13.3333 24.6667H28M6.66667 24.6667H4",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})});const I5=r.p+"static/media/google-icon.727bb8d0140ffbc5686602029965f126.svg",M5=e=>(0,Yn.jsx)(HX,{"data-testid":"social-icon",src:I5,...e});const L5=r.p+"static/media/tez.ee59a85037aa1727d7a3c5c5373e5e1d.svg",N5=e=>(0,Yn.jsx)(HX,{"data-testid":"tez-icon",src:L5,...e});const D5=r.p+"static/media/coin-front.fc1df90ba2fd68cda8dcf63056bfef7f.svg",B5=({contract:e,...t})=>{const r=`https://services.tzkt.io/v1/avatars/${e}`;return(0,Yn.jsx)(z5,{url:r,...t})},z5=({url:e,...t})=>(0,Yn.jsx)(HX,{fallbackSrc:D5,src:e,...t}),U5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3 4.5H15M12 4.5L11.797 3.89105C11.6003 3.30094 11.502 3.00588 11.3195 2.78774C11.1584 2.5951 10.9516 2.44599 10.7179 2.35408C10.4532 2.25 10.1422 2.25 9.52018 2.25H8.47982C7.85779 2.25 7.54677 2.25 7.28213 2.35408C7.04844 2.44599 6.84156 2.5951 6.68047 2.78774C6.49804 3.00588 6.39969 3.30094 6.20298 3.89105L6 4.5M13.5 4.5V12.15C13.5 13.4101 13.5 14.0402 13.2548 14.5215C13.039 14.9448 12.6948 15.289 12.2715 15.5048C11.7902 15.75 11.1601 15.75 9.9 15.75H8.1C6.83988 15.75 6.20982 15.75 5.72852 15.5048C5.30516 15.289 4.96095 14.9448 4.74524 14.5215C4.5 14.0402 4.5 13.4101 4.5 12.15V4.5M10.5 7.5V12.75M7.5 7.5V12.75",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),F5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none","data-testid":"unknown-contact-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3.16602 15.5625C3.16602 12.7435 5.45123 10.4583 8.27018 10.4583C8.51775 10.4583 8.7612 10.476 8.99935 10.51M13.3722 13.375C14.1014 12.6458 14.8305 12.3575 14.8305 11.5521C14.8305 10.7467 14.1776 10.0938 13.3722 10.0938C12.6927 10.0938 12.1217 10.5585 11.9598 11.1875M13.3722 15.5625H13.3795M11.1868 5.35417C11.1868 6.965 9.88101 8.27083 8.27018 8.27083C6.65935 8.27083 5.35352 6.965 5.35352 5.35417C5.35352 3.74334 6.65935 2.4375 8.27018 2.4375C9.88101 2.4375 11.1868 3.74334 11.1868 5.35417Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),$5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M20.5 11L18.7396 7.60473C18.253 6.65855 18.0097 6.18545 17.6514 5.84012C17.3346 5.5347 16.9544 5.30272 16.5379 5.16065C16.067 5 15.535 5 14.471 5H9.52901C8.46503 5 7.93304 5 7.46209 5.16065C7.04558 5.30272 6.66542 5.5347 6.34859 5.84012C5.99034 6.18545 5.74703 6.65855 5.26042 7.60473L3.5 11M20.5 11C20.6981 11.3853 20.7658 11.5446 20.8357 11.747C20.8977 11.9267 20.9426 12.1119 20.9696 12.3002C21 12.5121 21 12.7287 21 13.162V14.2C21 15.8802 21 16.7202 20.673 17.362C20.3854 17.9265 19.9265 18.3854 19.362 18.673C18.7202 19 17.8802 19 16.2 19H7.8C6.11984 19 5.27976 19 4.63803 18.673C4.07354 18.3854 3.6146 17.9265 3.32698 17.362C3 16.7202 3 15.8802 3 14.2V13.162C3 12.7287 3 12.5121 3.03041 12.3002C3.05741 12.1119 3.10225 11.9267 3.16432 11.747C3.23421 11.5446 3.30186 11.3853 3.5 11M20.5 11H3.5M15 15H17",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),H5=()=>(0,Yn.jsxs)(Zn,{position:"relative",alignItems:"center",justifyContent:"center","data-testid":"verified-icon",children:[(0,Yn.jsx)(V5,{}),(0,Yn.jsx)(Zn,{position:"absolute",alignItems:"center",justifyContent:"center",children:(0,Yn.jsx)(q5,{})})]}),V5=e=>(0,Yn.jsx)(LF,{width:"14px",height:"14px",fill:E$.gray[450],viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M6.51019 0.479749C6.78233 0.213196 7.21767 0.213195 7.48981 0.479749L8.86158 1.82333C8.99061 1.94972 9.16351 2.02134 9.34412 2.02321L11.2642 2.04314C11.6451 2.04709 11.9529 2.35492 11.9569 2.73584L11.9768 4.65588C11.9787 4.83649 12.0503 5.00939 12.1767 5.13842L13.5203 6.51019C13.7868 6.78233 13.7868 7.21767 13.5203 7.48981L12.1767 8.86158C12.0503 8.99061 11.9787 9.16351 11.9768 9.34412L11.9569 11.2642C11.9529 11.6451 11.6451 11.9529 11.2642 11.9569L9.34412 11.9768C9.16351 11.9787 8.99061 12.0503 8.86158 12.1767L7.48981 13.5203C7.21767 13.7868 6.78233 13.7868 6.51019 13.5203L5.13842 12.1767C5.00939 12.0503 4.83649 11.9787 4.65588 11.9768L2.73584 11.9569C2.35492 11.9529 2.04709 11.6451 2.04314 11.2642L2.02321 9.34412C2.02134 9.16351 1.94972 8.99061 1.82333 8.86158L0.479749 7.48981C0.213196 7.21767 0.213195 6.78233 0.479749 6.51019L1.82333 5.13842C1.94972 5.00939 2.02134 4.83649 2.02321 4.65588L2.04314 2.73584C2.04709 2.35492 2.35492 2.04709 2.73584 2.04314L4.65588 2.02321C4.83649 2.02134 5.00939 1.94972 5.13842 1.82333L6.51019 0.479749Z",strokeLinecap:"square",strokeLinejoin:"round"})}),q5=e=>(0,Yn.jsx)(LF,{width:"7px",height:"5px",fill:"none",stroke:"white",viewBox:"0 0 7 5",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M1.66699 2.19314L3.0281 3.55425L5.75033 0.832031",strokeLinecap:"square",strokeLinejoin:"round"})}),K5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M10 16V14.0003M10 14.0003V12M10 14.0003L12 14.0005M10 14.0003L8 14M21 12V11.2C21 10.0799 21 9.51984 20.782 9.09202C20.5903 8.7157 20.2843 8.40973 19.908 8.21799C19.4802 8 18.9201 8 17.8 8H3M21 12V16M21 12H19C17.8954 12 17 12.8954 17 14C17 15.1046 17.8954 16 19 16H21M21 16V16.8C21 17.9201 21 18.4802 20.782 18.908C20.5903 19.2843 20.2843 19.5903 19.908 19.782C19.4802 20 18.9201 20 17.8 20H6.2C5.0799 20 4.51984 20 4.09202 19.782C3.71569 19.5903 3.40973 19.2843 3.21799 18.908C3 18.4802 3 17.9201 3 16.8V8M18 8V7.2C18 6.0799 18 5.51984 17.782 5.09202C17.5903 4.71569 17.2843 4.40973 16.908 4.21799C16.4802 4 15.9201 4 14.8 4H6.2C5.07989 4 4.51984 4 4.09202 4.21799C3.71569 4.40973 3.40973 4.71569 3.21799 5.09202C3 5.51984 3 6.0799 3 7.2V8",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),W5=e=>(0,Yn.jsx)(LF,{width:"36",height:"32",fill:"none",viewBox:"0 0 36 32",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M18.0004 24.3332H18.0171M18.0004 12.6665V19.3332M8.68719 30.9999H27.3136C30.2831 30.9999 31.7678 30.9999 32.6386 30.3754C33.3985 29.8305 33.8946 28.9915 34.0058 28.0631C34.1333 26.9991 33.4178 25.6982 31.9868 23.0963L22.6736 6.16318C21.1499 3.39292 20.3881 2.00779 19.3814 1.54954C18.5041 1.15015 17.4968 1.15015 16.6194 1.54954C15.6127 2.00779 14.8509 3.39292 13.3273 6.16317L4.01404 23.0963C2.58301 25.6982 1.8675 26.9991 1.99498 28.0631C2.10622 28.9915 2.6023 29.8305 3.36219 30.3754C4.23304 30.9999 5.71776 30.9999 8.68719 30.9999Z",stroke:"#FC7884",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"})}),G5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M4.5 4.5L13.5 13.5M13.5 4.5L4.5 13.5","data-testid":"xmark-icon-path",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})});var Y5=r(3810),Z5=r.n(Y5);const X5="default"in Z5()?Z5().default:Z5(),J5=({address:e,identiconSize:t,...r})=>(0,Yn.jsx)(Qn,{sx:{canvas:{borderRadius:"4px"}},background:"white",borderRadius:"4px","data-testid":"identicon",...r,children:(0,Yn.jsx)(X5,{background:"white",size:t,string:e,style:{borderRadius:4}})}),Q5={stroke:E$.gray[400],borderRadius:"4px",p:"5px",bg:E$.gray[500]},e3=({addressKind:e,size:t="md"})=>{const r="md"===t?"30px":"38.5px";switch(e.type){case"secret_key":case"mnemonic":return(0,Yn.jsx)(J5,{width:r,height:r,padding:"5px",address:e.pkh,identiconSize:20});case"social":return(0,Yn.jsx)(M5,{width:r,height:r,...Q5,background:"white"});case"ledger":return(0,Yn.jsx)(_5,{width:r,height:r,...Q5,color:E$.gray[400]});case"multisig":return(0,Yn.jsx)(f5,{width:r,height:r,...Q5});case"contact":return(0,Yn.jsx)(H2,{width:r,height:r,...Q5});case"unknown":return(0,Yn.jsx)(F5,{width:r,height:r,...Q5});case"baker":{const t=`https://services.tzkt.io/v1/avatars/${e.pkh}`;return(0,Yn.jsx)(UX,{width:"30px",height:"30px",marginRight:"8px","data-testid":"baker-icon",ratio:1,children:(0,Yn.jsx)(HX,{src:t})})}}},t3=eo,r3=qi,n3=()=>{const e=r3((e=>e.accounts.seedPhrases)),t=r3((e=>e.accounts.secretKeys));return async(r,n)=>{if("secret_key"===r.type){const e=t[r.address.pkh];if(!e)throw new Error(`Missing secret key for account ${r.address.pkh}`);return Oc(e,n)}{const t=e[r.seedFingerPrint];if(!t)throw new Error(`Missing seedphrase for account ${r.address.pkh}`);return((e,t,r)=>Qc.fromMnemonic({mnemonic:e,derivationPath:t,curve:r}).secretKey())(await Oc(t,n),r.derivationPath,r.curve)}}},i3=()=>r3((e=>e.networks.current)),o3=()=>r3((e=>e.networks.available)),a3=()=>{const e=o3(),t=eo();return r=>{const n=e.find((e=>e.name===r));n&&t(nO.setCurrent(n))}},s3=()=>{const e=i3(),t=r3((t=>t.tokens[e.name]));return(e,r)=>(0,iE.get)(t,[e,r])},c3=(e,t)=>e.length>t?e.slice(0,t-3)+"...":e,l3=e=>uc("tz","mutez",e),u3=e=>uc("mutez","tz",e),d3=e=>{const t=Ms(u3(e)).toNumber();return`${new Intl.NumberFormat("en-US",{minimumFractionDigits:6,maximumFractionDigits:6}).format(t)} \ua729`},h3=e=>`${e.slice(0,5)}...${e.slice(-5)}`,f3=e=>{const t=r3((e=>e.assets.blockLevel));return null!==t?t-e>=2:null},p3=()=>{const e=v3(),t=r3((e=>e.assets.balances.tokens)),r=Object.keys(t);return(0,iE.fromPairs)(r.map((t=>[t,e(t)])))},m3=()=>{const e=s3(),t=r3((e=>e.assets.balances.tokens));return r=>{const n=t[r]||[];return(0,iE.compact)(n.map((({contract:t,tokenId:r,...n})=>{const i=e(t,r);return i&&{...i,...n}})))}},g3=()=>{const e=(()=>{const e=m3();return t=>e(t).filter((e=>"fa1.2"===e.type))})(),t=(()=>{const e=m3();return t=>e(t).filter((e=>"fa2"===e.type))})();return r=>[...e(r),...t(r)]},v3=()=>{const e=m3();return t=>e(t).filter((e=>"nft"===e.type))},y3=()=>{const e=r3((e=>e.assets.conversionRate));return t=>null===e?null:new Is(t).multipliedBy(e).decimalPlaces(2,Is.ROUND_UP)},b3=()=>{const e=r3((e=>e.assets.balances.mutez)),t=y3(),r=(e=>{const t=(0,iE.compact)(Object.values(e));return 0===t.length?null:t.reduce(((e,t)=>e.plus(t)),new Ms(0))})(e);if(null==r)return null;const n=t(u3(r));return{mutez:r.toFixed(),usd:n}},w3=()=>{const e=r3((e=>e.assets.balances.mutez));return t=>e[t]},x3=()=>r3((e=>e.assets.bakers)),_3=()=>r3((e=>e.contacts)),S3=()=>{const e=_3();return{addressExistsInContacts:t=>t in e,nameExistsInContacts:t=>KP(e,t)}},k3=()=>{const e=_3();return t=>t in e?e[t].name:void 0},E3=()=>r3((e=>e.accounts.items)),P3=()=>{const e=E3();return t=>e.find((e=>e.address.pkh===t))},O3=()=>{const e=E3(),t=r3((e=>e.multisigs.items));return[...e,...t]},A3=()=>{const e=O3();return t=>e.find((e=>e.address.pkh===t))},T3=()=>{const e=A3();return t=>{const r=e(t);if(!r)throw new Error(`You do not own account:${t}`);return r}},j3=e=>O3().map((e=>e.address.pkh)).includes(e),C3=()=>{const e=(()=>{const e=E3();return t=>{const r=e.filter((e=>t.signers.some((t=>t.pkh===e.address.pkh))));return 0===r.length&&console.warn("Wallet doesn't own any signers for multisig contract "+t.address.pkh),r}})();return t=>{switch(t.type){case"ledger":case"mnemonic":case"social":case"secret_key":return[t];case"multisig":return e(t)}}},R3=()=>{const e=C3(),t=w3();return r=>(0,iE.maxBy)(e(r),(e=>t(e.address.pkh)||"0"))},I3=e=>{const t=M3(e),r=L3(e),n=N3(e);return t||r||n||{pkh:e.pkh,type:"unknown",label:null}},M3=({pkh:e})=>{const t=A3()(e);return t?{type:t.type,pkh:e,label:t.label}:null},L3=({pkh:e})=>{const t=(()=>{const e=x3();return t=>e.find((e=>e.address===t))})(),r=t(e);return r?{pkh:e,type:"baker",label:r.name}:null},N3=({pkh:e})=>{const t=k3()(e);return t?{pkh:e,type:"contact",label:t}:null},D3=({number:e,size:t="md"})=>{const r="md"===t?"md":"lg",n="md"===t?"sm":"md",{integer:i,decimal:o}=(e=>{const[t,r]=e.split(".");return{integer:t,decimal:r}})(e);return(0,Yn.jsxs)(Zn,{alignItems:"end","data-testid":"pretty-number",children:[(0,Yn.jsx)(li,{size:r,children:i}),o&&(0,Yn.jsxs)(li,{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",size:n,children:[".",o]})]})},B3=({address:e,size:t,...r})=>{const n=w3()(e);if(!n)return null;const i=d3(n);return(0,Yn.jsx)(Qn,{overflow:"hidden",textAlign:"right","data-testid":"account-balance",...r,children:(0,Yn.jsx)(D3,{number:i,size:t})})},z3=({address:e,...t})=>{const r=I3(e);return(0,Yn.jsx)(R2,{background:E$.white,hasArrow:!0,label:r.label,placement:"left",children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",width:"400px",padding:"9px 10px",background:E$.gray[800],borderRadius:"4px","data-testid":"address-tile",...t,children:[(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(e3,{addressKind:r}),"unknown"===r.type?(0,Yn.jsx)(NX,{marginLeft:"10px",color:E$.gray[300],size:"sm",children:e.pkh}):(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(Qn,{overflow:"hidden",width:"102px",marginLeft:"12px",whiteSpace:"nowrap",children:(0,Yn.jsx)(li,{overflow:"hidden",textOverflow:"ellipsis",size:"sm",children:r.label})}),(0,Yn.jsx)(NX,{width:"89px",marginLeft:"10px",color:E$.gray[300],size:"xs",children:h3(r.pkh)})]})]}),(0,Yn.jsx)(B3,{overflow:"hidden",textAlign:"right",address:e.pkh})]})})},U3=({contacts:e,onChange:t})=>0===e.length?null:(0,Yn.jsx)(N0,{position:"absolute",zIndex:2,overflowY:"auto",width:"100%",maxHeight:300,marginTop:"8px",marginLeft:0,background:E$.gray[700],border:"1px solid",borderColor:E$.gray[500],borderRadius:"8px","data-testid":"suggestions-list",listStyleType:"none",children:e.map(((r,n)=>(0,Yn.jsx)(Qn,{children:(0,Yn.jsx)(D0,{marginBottom:n===e.length-1?"5px":0,padding:"5px 15px 0 5px",onMouseDown:()=>{t(r.name)},children:(0,Yn.jsx)(z3,{width:"370px",height:"40px",padding:"10px 8px 10px 5px",background:E$.gray[700],borderRadius:"4px",_hover:{background:E$.gray[500]},cursor:"pointer",address:dd(r.pkh)})})},r.pkh)))}),F3=(e,t)=>{if(""===e)return t;return t.filter((t=>t.name.toLowerCase().includes(e.trim().toLowerCase())))},$3=({contacts:e,isDisabled:r,isLoading:n=!1,allowUnknown:i,inputName:o,onUpdate:a,validate:s,label:c,keepValid:l,style:u,size:d})=>{const{register:h,setValue:f,formState:{defaultValues:p},getValues:m}=iQ(),g=f,v=(0,t.useId)(),[y,b]=(0,t.useState)((()=>{var t;if(l||!p)return"";const r=(0,iE.get)(p,o);return r?(null===(t=e.find((e=>e.pkh===r)))||void 0===t?void 0:t.name)||r:""})),[w,x]=(0,t.useState)(!0),[_,S]=(0,t.useState)(F3("",e)),k=m(o),E=t=>{b(t),S(F3(t,e));const r=e.find((e=>e.name===t||e.pkh===t));let n;if(void 0!==r)n=r.pkh,x(!0);else if(i&&hd(t))n=t;else{if(l)return;n=""}g(o,n,{shouldValidate:!0}),a&&a(n)};let P="raw_input";n?P="selected_tile":r?P="disabled_tile":k&&(P="selected_tile");const O=()=>{E(""),x(!1)};return(0,Yn.jsxs)(Qn,{"data-testid":`address-autocomplete-${o}`,children:[(0,Yn.jsx)(b0,{htmlFor:v,children:c}),"disabled_tile"===P&&(0,Yn.jsx)(z3,{address:dd(k)}),"selected_tile"===P&&(0,Yn.jsx)(Qn,{height:"48px",background:E$.gray[800],border:"1px solid",borderColor:E$.gray[500],borderRadius:"4px","data-testid":`selected-address-tile-${k}`,onClick:O,paddingY:0,children:(0,Yn.jsxs)(Xn,{justifyContent:"space-between",cursor:"pointer","data-testid":"clear-selected-button",children:[(0,Yn.jsx)(z3,{width:"short"===d?"338px":"365px",paddingTop:"8px",background:"transparent",address:dd(k)}),l?(0,Yn.jsx)(U2,{marginRight:"12px","data-testid":"chevron-icon"}):(0,Yn.jsx)(H3,{marginRight:"14px"})]})}),"raw_input"===P&&(0,Yn.jsxs)(k0,{children:[(0,Yn.jsx)(O0,{...u,"aria-label":o,autoComplete:"off",id:v,onBlur:e=>{if(e.preventDefault(),x(!0),l&&k!==e.target.value)return E(k);E(e.target.value)},onChange:e=>E(e.target.value),onFocus:()=>x(!1),placeholder:"Enter address or contact name",value:y}),(0,Yn.jsx)(C0,{children:y?(0,Yn.jsx)(H3,{marginRight:"0px",onClick:O}):(0,Yn.jsx)(U2,{"data-testid":"chevron-icon"})})]}),(0,Yn.jsx)(O0,{...h(o,{required:"Invalid address or contact name",validate:s}),marginBottom:0,"data-testid":`real-address-input-${o}`,name:o,type:"hidden"}),!w&&(0,Yn.jsx)(U3,{contacts:_,onChange:E})]})},H3=e=>(0,Yn.jsx)(G5,{marginRight:"16px",stroke:E$.gray[450],cursor:"pointer","data-testid":"clear-input-button",...e}),V3=e=>{const t=Object.values(_3()),r=O3().map((e=>({name:e.label,pkh:e.address.pkh})));return(0,Yn.jsx)($3,{...e,contacts:t.concat(r)})},q3=e=>{const t=E3().map((e=>({name:e.label,pkh:e.address.pkh})));return(0,Yn.jsx)($3,{...e,contacts:t})},K3=e=>{const t=O3().map((e=>({name:e.label,pkh:e.address.pkh})));return(0,Yn.jsx)($3,{...e,contacts:t})},W3=e=>{const t=x3().map((e=>({name:e.name,pkh:e.address})));return(0,Yn.jsx)($3,{...e,contacts:t})},G3=e=>{const t=C3()(e.account).map((e=>({name:e.label,pkh:e.address.pkh})));return(0,Yn.jsx)($3,{allowUnknown:!1,contacts:t,isDisabled:1===t.length,...e})},Y3=({request:e,onSuccess:t})=>{const r=(()=>{const e=eo();return(t,r,n)=>e(qP.actions.addConnection({dAppId:t,accountPkh:r,networkType:n}))})(),n=E3(),i=h0({mode:"onBlur"}),{getValues:o,formState:{errors:a,isValid:s}}=i;return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsxs)(MX,{marginBottom:"24px",children:[(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"center",children:"Permission Request"}),(0,Yn.jsxs)(NX,{marginTop:"10px",color:E$.gray[400],textAlign:"center",size:"sm",children:[e.appMetadata.name," is requesting permission to sign this operation."]}),(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"center",marginTop:"10px",children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"sm",children:"Network:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],size:"sm",children:e.network.type})]})]}),(0,Yn.jsx)(DX,{}),(0,Yn.jsxs)(BX,{"data-testid":"beacon-request-body",children:[e.appMetadata.icon&&(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"16px",padding:"15px",borderRadius:"4px",backgroundColor:E$.gray[800],children:[(0,Yn.jsx)(UX,{width:"60px",marginRight:"12px",ratio:1,children:(0,Yn.jsx)(HX,{borderRadius:"4px",src:e.appMetadata.icon})}),(0,Yn.jsx)(li,{size:"sm",children:e.appMetadata.name})]}),(0,Yn.jsx)(pJ,{marginTop:"16px",allowToggle:!0,children:(0,Yn.jsxs)(mJ,{background:E$.gray[800],border:"none",borderRadius:"8px",children:[(0,Yn.jsxs)(gJ,{children:[(0,Yn.jsx)(li,{flex:"1",textAlign:"left",marginY:"10px",size:"md",children:"Request Payload"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)(y0,{value:e})})]})}),(0,Yn.jsx)(oQ,{...i,children:(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!a.address,children:[(0,Yn.jsx)(q3,{allowUnknown:!1,inputName:"address",label:"Select Account"}),a.address&&(0,Yn.jsx)(CJ,{children:a.address.message})]})})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",isDisabled:!s,onClick:i=>(async()=>{const i=n.find((e=>e.address.pkh===o().address));if(!i)throw new Error("No account selected");const a={type:HW.PermissionResponse,network:{type:e.network.type},scopes:e.scopes,id:e.id,publicKey:i.pk};await Ste.respond(a),r(e.senderId,i.address.pkh,e.network.type),t()})(),size:"lg",children:"Grant"})})]})};var Z3=re(((e,r)=>{const{icon:n,children:i,isRound:o,"aria-label":a,...s}=e,c=n||i,l=(0,t.isValidElement)(c)?(0,t.cloneElement)(c,{"aria-hidden":!0,focusable:!1}):null;return(0,Yn.jsx)(_i,{padding:"0",borderRadius:o?"full":void 0,ref:r,"aria-label":a,...s,children:l})}));function X3(e){return X3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X3(e)}function J3(e){var t=function(e,t){if("object"!==X3(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==X3(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===X3(t)?t:String(t)}function Q3(e,t,r){return(t=J3(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Z3.displayName="IconButton";var e6=r(6331),t6=r.n(e6),r6=r(1646),n6=r.n(r6);function i6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o6(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};const r={mode:"cors",headers:{}};(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).useAPIKey&&(r.headers=o6(o6({},r.headers),m6()));const n=t6()(r,t,{method:"GET"}),i=await p6(e,n);if(i.ok)return i.json();throw g6(i),i},y6=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={mode:"cors",headers:{"Content-Type":"application/json; charset=utf-8"}};n.useAPIKey&&(i.headers=o6(o6({},i.headers),m6()));const o=t6()(i,r,{method:"POST"});return n.isUrlEncodedData?(o.body=t,"application/json; charset=utf-8"===o.headers["Content-Type"]&&delete o.headers["Content-Type"]):o.body=JSON.stringify(t),((e,t)=>{const r=new Promise(((t,r)=>{const n=setTimeout((()=>{clearTimeout(n),r(new Error(`Timed out in ${e}ms`))}),e)}));return Promise.race([t,r])})(n.timeout||6e4,p6(e,o).then((e=>{if(n.logTracingHeader&&function(e){a6.info(`Request tracing with traceID=${e.headers.get("x-web3-correlation-id")}`)}(e),e.ok)return e.json();throw g6(e),e})))},b6=(e,t)=>({jsonrpc:"2.0",method:e,id:10,params:t});function w6(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var x6=r(5461),_6=r.n(x6);Promise.resolve(!1),Promise.resolve(!0);var S6=Promise.resolve();function k6(e,t){return e||(e=0),new Promise((function(r){return setTimeout((function(){return r(t)}),e)}))}function E6(){return Math.random().toString(36).substring(2)}var P6=0,O6=0;function A6(){var e=(new Date).getTime();return e===P6?1e3*e+ ++O6:(P6=e,O6=0,1e3*e)}var T6=n6().getLogger("broadcast-channel");T6.setLevel("error");const j6={create:function(e){var t={messagesCallback:null,bc:new BroadcastChannel(e),subFns:[]};return t.bc.onmessage=function(e){t.messagesCallback&&t.messagesCallback(e.data)},t},close:function(e){e.bc.close(),e.subFns=[]},onMessage:function(e,t){e.messagesCallback=t},postMessage:function(e,t){try{return e.bc.postMessage(t,!1),S6}catch(Zue){return Promise.reject(Zue)}},canBeUsed:function(e){if("undefined"===typeof window)return!1;if(!e.support3PC)return!1;if("function"===typeof BroadcastChannel){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}return!1},type:"native",averageResponseTime:function(){return 150},microSeconds:A6};var C6=function(){function e(e){this.ttl=e,this.map=new Map,this._to=!1}return e.prototype.has=function(e){return this.map.has(e)},e.prototype.add=function(e){var t=this;this.map.set(e,R6()),this._to||(this._to=!0,setTimeout((function(){t._to=!1,function(e){var t=R6()-e.ttl,r=e.map[Symbol.iterator]();for(;;){var n=r.next().value;if(!n)return;var i=n[0];if(!(n[1]0&&void 0!==arguments[0]?arguments[0]:{},t=JSON.parse(JSON.stringify(e));return"undefined"===typeof t.support3PC&&(t.support3PC=function(){if("undefined"===typeof navigator)return!1;var e=_6().parse(navigator.userAgent);T6.info(JSON.stringify(e),"current browser info");var t=!0;return navigator.brave&&(t=!1),e.engine.name!==_6().ENGINE_MAP.WebKit&&e.engine.name!==_6().ENGINE_MAP.Gecko||(t=!1),t}()),"undefined"===typeof t.webWorkerSupport&&(t.webWorkerSupport=!0),t.idb||(t.idb={}),t.idb.ttl||(t.idb.ttl=45e3),t.idb.fallbackInterval||(t.idb.fallbackInterval=150),e.idb&&"function"===typeof e.idb.onclose&&(t.idb.onclose=e.idb.onclose),t.localstorage||(t.localstorage={}),t.localstorage.removeTimeout||(t.localstorage.removeTimeout=6e4),t.server||(t.server={}),t.server.url||(t.server.url="https://broadcast-server.tor.us"),t.server.removeTimeout||(t.server.removeTimeout=3e5),e.methods&&(t.methods=e.methods),t}var M6="pubkey.broadcast-channel-0-",L6="messages",N6={durability:"relaxed"};function D6(){if("undefined"!==typeof indexedDB)return indexedDB;if("undefined"!==typeof window){if("undefined"!==typeof window.mozIndexedDB)return window.mozIndexedDB;if("undefined"!==typeof window.webkitIndexedDB)return window.webkitIndexedDB;if("undefined"!==typeof window.msIndexedDB)return window.msIndexedDB}return!1}function B6(e){e.commit&&e.commit()}function z6(e,t){var r=e.transaction(L6,"readonly",N6),n=r.objectStore(L6),i=[],o=IDBKeyRange.bound(t+1,1/0);if(n.getAll){var a=n.getAll(o);return new Promise((function(e,t){a.onerror=function(e){return t(e)},a.onsuccess=function(t){e(t.target.result)}}))}return new Promise((function(e,a){var s=function(){try{return o=IDBKeyRange.bound(t+1,1/0),n.openCursor(o)}catch(e){return n.openCursor()}}();s.onerror=function(e){return a(e)},s.onsuccess=function(n){var o=n.target.result;o?o.value.ide.lastCursorId&&(e.lastCursorId=t.id),t})).filter((function(t){return function(e,t){return e.uuid!==t.uuid&&!t.eMIs.has(e.id)&&!(e.data.time{e4[Q6[e]]=e}));const t4={type:"error",data:"parser error"},r4="function"===typeof Blob||"undefined"!==typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),n4="function"===typeof ArrayBuffer,i4=e=>"function"===typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,o4=({type:e,data:t},r,n)=>r4&&t instanceof Blob?r?n(t):a4(t,n):n4&&(t instanceof ArrayBuffer||i4(t))?r?n(t):a4(new Blob([t]),n):n(Q6[e]+(t||"")),a4=(e,t)=>{const r=new FileReader;return r.onload=function(){const e=r.result.split(",")[1];t("b"+(e||""))},r.readAsDataURL(e)};function s4(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let c4;function l4(e,t){return r4&&e.data instanceof Blob?e.data.arrayBuffer().then(s4).then(t):n4&&(e.data instanceof ArrayBuffer||i4(e.data))?t(s4(e.data)):void o4(e,!1,(e=>{c4||(c4=new TextEncoder),t(c4.encode(e))}))}const u4="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d4="undefined"===typeof Uint8Array?[]:new Uint8Array(256);for(let r=0;r<64;r++)d4[u4.charCodeAt(r)]=r;const h4="function"===typeof ArrayBuffer,f4=(e,t)=>{if("string"!==typeof e)return{type:"message",data:m4(e,t)};const r=e.charAt(0);if("b"===r)return{type:"message",data:p4(e.substring(1),t)};return e4[r]?e.length>1?{type:e4[r],data:e.substring(1)}:{type:e4[r]}:t4},p4=(e,t)=>{if(h4){const r=(e=>{let t,r,n,i,o,a=.75*e.length,s=e.length,c=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);const l=new ArrayBuffer(a),u=new Uint8Array(l);for(t=0;t>4,u[c++]=(15&n)<<4|i>>2,u[c++]=(3&i)<<6|63&o;return l})(e);return m4(r,t)}return{base64:!0,data:e}},m4=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,g4=String.fromCharCode(30);let v4;function y4(e){if(e)return function(e){for(var t in y4.prototype)e[t]=y4.prototype[t];return e}(e)}y4.prototype.on=y4.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},y4.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this},y4.prototype.off=y4.prototype.removeListener=y4.prototype.removeAllListeners=y4.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r,n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var i=0;i(e.hasOwnProperty(r)&&(t[r]=e[r]),t)),{})}const x4=b4.setTimeout,_4=b4.clearTimeout;function S4(e,t){t.useNativeTimers?(e.setTimeoutFn=x4.bind(b4),e.clearTimeoutFn=_4.bind(b4)):(e.setTimeoutFn=b4.setTimeout.bind(b4),e.clearTimeoutFn=b4.clearTimeout.bind(b4))}class k4 extends Error{constructor(e,t,r){super(e),this.description=t,this.context=r,this.type="TransportError"}}class E4 extends y4{constructor(e){super(),this.writable=!1,S4(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,r){return super.emitReserved("error",new k4(e,t,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=f4(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=function(e){let t="";for(let r in e)e.hasOwnProperty(r)&&(t.length&&(t+="&"),t+=encodeURIComponent(r)+"="+encodeURIComponent(e[r]));return t}(e);return t.length?"?"+t:""}}const P4="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),O4=64,A4={};let T4,j4=0,C4=0;function R4(e){let t="";do{t=P4[e%O4]+t,e=Math.floor(e/O4)}while(e>0);return t}function I4(){const e=R4(+new Date);return e!==T4?(j4=0,T4=e):e+"."+R4(j4++)}for(;C4{var e;3===r.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(r)),4===r.readyState&&(200===r.status||1223===r.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"===typeof r.status?r.status:0)}),0))},r.send(this.data)}catch(n){return void this.setTimeoutFn((()=>{this.onError(n)}),0)}"undefined"!==typeof document&&(this.index=z4.requestsCount++,z4.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if("undefined"!==typeof this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=D4,e)try{this.xhr.abort()}catch(t){}"undefined"!==typeof document&&delete z4.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(z4.requestsCount=0,z4.requests={},"undefined"!==typeof document)if("function"===typeof attachEvent)attachEvent("onunload",U4);else if("function"===typeof addEventListener){addEventListener("onpagehide"in b4?"pagehide":"unload",U4,!1)}function U4(){for(let e in z4.requests)z4.requests.hasOwnProperty(e)&&z4.requests[e].abort()}const F4="function"===typeof Promise&&"function"===typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),$4=b4.WebSocket||b4.MozWebSocket;r(261).Buffer;const H4="undefined"!==typeof navigator&&"string"===typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();function V4(e,t){return"message"===e.type&&"string"!==typeof e.data&&t[0]>=48&&t[0]<=54}const q4={websocket:class extends E4{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,r=H4?{}:w4(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=H4?new $4(e,t,r):t?new $4(e,t):new $4(e)}catch(Zue){return this.emitReserved("error",Zue)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{try{this.ws.send(e)}catch(t){}n&&F4((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){"undefined"!==typeof this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=I4()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!$4}},webtransport:class extends E4{get name(){return"webtransport"}doOpen(){"function"===typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((e=>{this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=e.readable.getReader();let r;this.writer=e.writable.getWriter();const n=()=>{t.read().then((({done:e,value:t})=>{e||(r||1!==t.byteLength||54!==t[0]?(this.onPacket(function(e,t,r){v4||(v4=new TextDecoder);const n=t||e[0]<48||e[0]>54;return f4(n?e:v4.decode(e),r)}(t,r,"arraybuffer")),r=!1):r=!0,n())})).catch((e=>{}))};n();const i=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write((new TextEncoder).encode(i)).then((()=>this.onOpen()))}))})))}write(e){this.writable=!1;for(let t=0;t{V4(r,e)&&this.writer.write(Uint8Array.of(54)),this.writer.write(e).then((()=>{n&&F4((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends E4{constructor(e){if(super(e),this.polling=!1,"undefined"!==typeof location){const t="https:"===location.protocol;let r=location.port;r||(r=t?"443":"80"),this.xd="undefined"!==typeof location&&e.hostname!==location.hostname||r!==e.port}const t=e&&e.forceBase64;this.supportsBinary=B4&&!t,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((e,t)=>{const r=e.split(g4),n=[];for(let i=0;i{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,((e,t)=>{const r=e.length,n=new Array(r);let i=0;e.forEach(((e,o)=>{o4(e,!1,(e=>{n[o]=e,++i===r&&t(n.join(g4))}))}))})(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=I4()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new z4(this.uri(),e)}doWrite(e,t){const r=this.request({method:"POST",data:e});r.on("success",t),r.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}},K4=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,W4=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function G4(e){const t=e,r=e.indexOf("["),n=e.indexOf("]");-1!=r&&-1!=n&&(e=e.substring(0,r)+e.substring(r,n).replace(/:/g,";")+e.substring(n,e.length));let i=K4.exec(e||""),o={},a=14;for(;a--;)o[W4[a]]=i[a]||"";return-1!=r&&-1!=n&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(e,t){const r=/\/{2,9}/g,n=t.replace(r,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||n.splice(0,1);"/"==t.slice(-1)&&n.splice(n.length-1,1);return n}(0,o.path),o.queryKey=function(e,t){const r={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(r[t]=n)})),r}(0,o.query),o}class Y4 extends y4{constructor(e,t={}){super(),this.writeBuffer=[],e&&"object"===typeof e&&(t=e,e=null),e?(e=G4(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=G4(t.host).host),S4(this,t),this.secure=null!=t.secure?t.secure:"undefined"!==typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!==typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!==typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"===typeof this.opts.query&&(this.opts.query=function(e){let t={},r=e.split("&");for(let n=0,i=r.length;n{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const r=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new q4[e](r)}open(){let e;if(this.opts.rememberUpgrade&&Y4.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(t){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),r=!1;Y4.priorWebsocketSuccess=!1;const n=()=>{r||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!r)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Y4.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{r||"closed"!==this.readyState&&(l(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function i(){r||(r=!0,l(),t.close(),t=null)}const o=e=>{const r=new Error("probe error: "+e);r.transport=t.name,i(),this.emitReserved("upgradeError",r)};function a(){o("transport closed")}function s(){o("socket closed")}function c(e){t&&e.name!==t.name&&i()}const l=()=>{t.removeListener("open",n),t.removeListener("error",o),t.removeListener("close",a),this.off("close",s),this.off("upgrading",c)};t.once("open",n),t.once("error",o),t.once("close",a),this.once("close",s),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{r||t.open()}),200):t.open()}onOpen(){if(this.readyState="open",Y4.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let r=0;r=57344?r+=3:(n++,r+=4);return r}(t):Math.ceil(1.33*(t.byteLength||t.size))),r>0&&e>this.maxPayload)return this.writeBuffer.slice(0,r);e+=2}var t;return this.writeBuffer}write(e,t,r){return this.sendPacket("message",e,t,r),this}send(e,t,r){return this.sendPacket("message",e,t,r),this}sendPacket(e,t,r,n){if("function"===typeof t&&(n=t,t=void 0),"function"===typeof r&&(n=r,r=null),"closing"===this.readyState||"closed"===this.readyState)return;(r=r||{}).compress=!1!==r.compress;const i={type:e,data:t,options:r};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),n&&this.once("flush",n),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},r=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?r():e()})):this.upgrading?r():e()),this}onError(e){Y4.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"===typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let r=0;const n=e.length;for(;r"function"===typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,J4=Object.prototype.toString,Q4="function"===typeof Blob||"undefined"!==typeof Blob&&"[object BlobConstructor]"===J4.call(Blob),e8="function"===typeof File||"undefined"!==typeof File&&"[object FileConstructor]"===J4.call(File);function t8(e){return Z4&&(e instanceof ArrayBuffer||X4(e))||Q4&&e instanceof Blob||e8&&e instanceof File}function r8(e,t){if(!e||"object"!==typeof e)return!1;if(Array.isArray(e)){for(let t=0,r=e.length;t=0&&e.num{delete this.acks[e];for(let t=0;t{this.io.clearTimeoutFn(i),t.apply(this,[null,...e])}}emitWithAck(e,...t){const r=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((n,i)=>{t.push(((e,t)=>r?e?i(e):n(t):n(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"===typeof e[e.length-1]&&(t=e.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...n)=>{if(r!==this._queue[0])return;return null!==e?r.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...n)),r.pending=!1,this._drainQueue()})),this._queue.push(r),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:l8.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case l8.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case l8.EVENT:case l8.BINARY_EVENT:this.onevent(e);break;case l8.ACK:case l8.BINARY_ACK:this.onack(e);break;case l8.DISCONNECT:this.ondisconnect();break;case l8.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const r of t)r.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"===typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let r=!1;return function(...n){r||(r=!0,t.packet({type:l8.ACK,id:e,data:n}))}}onack(e){const t=this.acks[e.id];"function"===typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:l8.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}v8.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),r=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-r:e+r}return 0|Math.min(e,this.max)},v8.prototype.reset=function(){this.attempts=0},v8.prototype.setMin=function(e){this.ms=e},v8.prototype.setMax=function(e){this.max=e},v8.prototype.setJitter=function(e){this.jitter=e};class y8 extends y4{constructor(t,r){var n;super(),this.nsps={},this.subs=[],t&&"object"===typeof t&&(r=t,t=void 0),(r=r||{}).path=r.path||"/socket.io",this.opts=r,S4(this,r),this.reconnection(!1!==r.reconnection),this.reconnectionAttempts(r.reconnectionAttempts||1/0),this.reconnectionDelay(r.reconnectionDelay||1e3),this.reconnectionDelayMax(r.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(n=r.randomizationFactor)&&void 0!==n?n:.5),this.backoff=new v8({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==r.timeout?2e4:r.timeout),this._readyState="closed",this.uri=t;const i=r.parser||e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=!1!==r.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Y4(this.uri,this.opts);const t=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const n=p8(t,"open",(function(){r.onopen(),e&&e()})),i=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=p8(t,"error",i);if(!1!==this._timeout){const e=this._timeout,r=this.setTimeoutFn((()=>{n(),i(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&r.unref(),this.subs.push((()=>{this.clearTimeoutFn(r)}))}return this.subs.push(n),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(p8(e,"ping",this.onping.bind(this)),p8(e,"data",this.ondata.bind(this)),p8(e,"error",this.onerror.bind(this)),p8(e,"close",this.onclose.bind(this)),p8(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){F4((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let r=this.nsps[e];return r?this._autoConnect&&!r.active&&r.connect():(r=new g8(this,e,t),this.nsps[e]=r),r}_destroy(e){const t=Object.keys(this.nsps);for(const r of t){if(this.nsps[r].active)return}this._close()}_packet(e){const t=this.encoder.encode(e);for(let r=0;re())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&r.unref(),this.subs.push((()=>{this.clearTimeoutFn(r)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const b8={};function w8(e,t){"object"===typeof e&&(t=e,e=void 0);const r=function(e,t="",r){let n=e;r=r||"undefined"!==typeof location&&location,null==e&&(e=r.protocol+"//"+r.host),"string"===typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?r.protocol+e:r.host+e),/^(https?|wss?):\/\//.test(e)||(e="undefined"!==typeof r?r.protocol+"//"+e:"https://"+e),n=G4(e)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const i=-1!==n.host.indexOf(":")?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+t,n.href=n.protocol+"://"+i+(r&&r.port===n.port?"":":"+n.port),n}(e,(t=t||{}).path||"/socket.io"),n=r.source,i=r.id,o=r.path,a=b8[i]&&o in b8[i].nsps;let s;return t.forceNew||t["force new connection"]||!1===t.multiplex||a?s=new y8(n,t):(b8[i]||(b8[i]=new y8(n,t)),s=b8[i]),r.query&&!t.query&&(t.query=r.queryKey),s.socket(r.path,t)}Object.assign(w8,{Manager:y8,Socket:g8,io:w8,connect:w8});var x8=r(8247),_8=r.n(x8),S8=r(261).Buffer;const k8=new Ns.ec("secp256k1"),E8=r.g.crypto||r.g.msCrypto||{},P8=E8.subtle||E8.webkitSubtle,O8=S8.from("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141","hex"),A8=S8.alloc(32,0);function T8(e,t){if(!e)throw new Error(t||"Assertion failed")}function j8(e){return!!function(e){return S8.isBuffer(e)&&32===e.length}(e)&&(e.compare(A8)>0&&e.compare(O8)<0)}function C8(e){const t=new Uint8Array(e);return"undefined"===typeof E8.getRandomValues?S8.from(_8().randomBytes(e)):(E8.getRandomValues(t),S8.from(t))}async function R8(e){if(P8){const t=await P8.digest("SHA-512",e);return new Uint8Array(t)}const t=_8().createHash("sha512").update(e).digest();return new Uint8Array(t)}function I8(e){return async function(t,r,n){if(P8){const i={name:"AES-CBC"},o=await P8.importKey("raw",r,i,!1,[e]),a={name:"AES-CBC",iv:t},s=await P8[e](a,o,n);return S8.from(new Uint8Array(s))}if("encrypt"===e){const e=_8().createCipheriv("aes-256-cbc",r,t),i=e.update(n),o=e.final();return S8.concat([i,o])}if("decrypt"===e){const e=_8().createDecipheriv("aes-256-cbc",r,t),i=e.update(n),o=e.final();return S8.concat([i,o])}throw new Error(`Unsupported operation: ${e}`)}}const M8=I8("encrypt"),L8=I8("decrypt");async function N8(e,t){if(P8){const r={name:"HMAC",hash:{name:"SHA-256"}},n=await P8.importKey("raw",new Uint8Array(e),r,!1,["sign","verify"]),i=await P8.sign("HMAC",n,t);return S8.from(new Uint8Array(i))}const r=_8().createHmac("sha256",S8.from(e));r.update(t);return r.digest()}const D8=function(){let e=C8(32);for(;!j8(e);)e=C8(32);return e},B8=function(e){return T8(32===e.length,"Bad private key"),T8(j8(e),"Bad private key"),S8.from(k8.keyFromPrivate(e).getPublic("array"))},z8=async function(e,t){return T8(32===e.length,"Bad private key"),T8(j8(e),"Bad private key"),T8(t.length>0,"Message should not be empty"),T8(t.length<=32,"Message is too long"),S8.from(k8.sign(t,e,{canonical:!0}).toDER())},U8=async function(e,t){T8(S8.isBuffer(e),"Bad private key"),T8(S8.isBuffer(t),"Bad public key"),T8(32===e.length,"Bad private key"),T8(j8(e),"Bad private key"),T8(65===t.length||33===t.length,"Bad public key"),65===t.length&&T8(4===t[0],"Bad public key"),33===t.length&&T8(2===t[0]||3===t[0],"Bad public key");const r=k8.keyFromPrivate(e),n=k8.keyFromPublic(t),i=r.derive(n.getPublic());return S8.from(i.toArray())},F8=async function(e,t){T8(S8.isBuffer(e),"Bad private key"),T8(S8.isBuffer(t),"Bad public key"),T8(32===e.length,"Bad private key"),T8(j8(e),"Bad private key"),T8(65===t.length||33===t.length,"Bad public key"),65===t.length&&T8(4===t[0],"Bad public key"),33===t.length&&T8(2===t[0]||3===t[0],"Bad public key");const r=k8.keyFromPrivate(e),n=k8.keyFromPublic(t),i=r.derive(n.getPublic());return S8.from(i.toString(16,64),"hex")},$8=async function(e,t,r){let n=(r=r||{}).ephemPrivateKey||C8(32);for(;!j8(n);)n=r.ephemPrivateKey||C8(32);const i=B8(n),o=await U8(n,e),a=await R8(o),s=r.iv||C8(16),c=a.slice(0,32),l=a.slice(32),u=await M8(s,S8.from(c),t),d=S8.concat([s,i,u]);return{iv:s,ephemPublicKey:i,ciphertext:u,mac:await N8(S8.from(l),d)}},H8=async function(e,t,r){const n=null!==r&&void 0!==r&&r,i=n?F8:U8,o=await i(e,t.ephemPublicKey),a=await R8(o),s=a.slice(0,32),c=a.slice(32),l=S8.concat([t.iv,t.ephemPublicKey,t.ciphertext]),u=await async function(e,t,r){return function(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n0||e._addEL.internal.length>0}function w9(e,t,r){e._addEL[t].push(r),function(e){if(!e._iL&&b9(e)){var t=function(t){e._addEL[t.type].forEach((function(r){var n=1e5,i=r.time-n;(t.time>=i||"server"===e.method.type)&&r.fn(t.data)}))},r=e.method.microSeconds();e._prepP?e._prepP.then((function(){e._iL=!0,e.method.onMessage(e._state,t,r)})):(e._iL=!0,e.method.onMessage(e._state,t,r))}}(e)}function x9(e,t,r){e._addEL[t]=e._addEL[t].filter((function(e){return e!==r})),function(e){if(e._iL&&!b9(e)){e._iL=!1;var t=e.method.microSeconds();e.method.onMessage(e._state,null,t)}}(e)}function _9(e){this.message=e}v9._pubkey=!0,v9.prototype={postMessage:function(e){if(this.closed)throw new Error("BroadcastChannel.postMessage(): Cannot post message after channel has closed "+JSON.stringify(e));return y9(this,"message",e)},postInternal:function(e){return y9(this,"internal",e)},set onmessage(e){var t={time:this.method.microSeconds(),fn:e};x9(this,"message",this._onML),e&&"function"===typeof e?(this._onML=t,w9(this,"message",t)):this._onML=null},addEventListener:function(e,t){w9(this,e,{time:this.method.microSeconds(),fn:t})},removeEventListener:function(e,t){x9(this,e,this._addEL[e].find((function(e){return e.fn===t})))},close:function(){var e=this;if(!this.closed){m9.delete(this),this.closed=!0;var t=this._prepP?this._prepP:S6;return this._onML=null,this._addEL.message=[],t.then((function(){return Promise.all(Array.from(e._uMP))})).then((function(){return Promise.all(e._befC.map((function(e){return e()})))})).then((function(){return e.method.close(e._state)}))}},get type(){return this.method.type},get isClosed(){return this.closed}},_9.prototype=new Error,_9.prototype.name="InvalidCharacterError";var S9="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new _9("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,o=0,a="";n=t.charAt(o++);~n&&(r=i%4?64*r+n:n,i++%4)?a+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return a};function k9(e){this.message=e}k9.prototype=new Error,k9.prototype.name="InvalidTokenError";const E9=function(e,t){if("string"!=typeof e)throw new k9("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(S9(e).replace(/(.)/g,(function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return S9(t)}}(e.split(".")[r]))}catch(e){throw new k9("Invalid token specified: "+e.message)}},P9={MAINNET:"mainnet",TESTNET:"testnet",CYAN:"cyan",AQUA:"aqua",CELESTE:"celeste"},O9={SAPPHIRE_DEVNET:"sapphire_devnet",SAPPHIRE_TESTNET:"sapphire_testnet",SAPPHIRE_MAINNET:"sapphire_mainnet"},A9=[P9.AQUA,P9.CELESTE,P9.CYAN],T9={[P9.AQUA]:{migrationCompleted:!1,networkIdentifier:"aqua",networkMigratedTo:O9.SAPPHIRE_MAINNET},[P9.CELESTE]:{migrationCompleted:!1,networkIdentifier:"celeste",networkMigratedTo:O9.SAPPHIRE_MAINNET},[P9.CYAN]:{migrationCompleted:!1,networkIdentifier:"cyan",networkMigratedTo:O9.SAPPHIRE_MAINNET},[P9.MAINNET]:{migrationCompleted:!1,networkIdentifier:"mainnet",networkMigratedTo:O9.SAPPHIRE_MAINNET},[P9.TESTNET]:{migrationCompleted:!0,networkIdentifier:"teal",networkMigratedTo:O9.SAPPHIRE_TESTNET}},j9={[P9.MAINNET]:"https://signer.tor.us",[P9.TESTNET]:"https://signer.tor.us",[P9.CYAN]:"https://signer-polygon.tor.us",[P9.AQUA]:"https://signer-polygon.tor.us",[P9.CELESTE]:"https://signer-polygon.tor.us"},C9={[O9.SAPPHIRE_DEVNET]:["https://sapphire-dev-2-1.authnetwork.dev","https://sapphire-dev-2-2.authnetwork.dev","https://sapphire-dev-2-3.authnetwork.dev","https://sapphire-dev-2-4.authnetwork.dev","https://sapphire-dev-2-5.authnetwork.dev"],[O9.SAPPHIRE_TESTNET]:["https://sapphire-dev-2-1.authnetwork.dev","https://sapphire-dev-2-2.authnetwork.dev","https://sapphire-dev-2-3.authnetwork.dev","https://sapphire-dev-2-4.authnetwork.dev","https://sapphire-dev-2-5.authnetwork.dev"],[O9.SAPPHIRE_MAINNET]:["https://sapphire-1.auth.network","https://sapphire-2.auth.network","https://sapphire-3.auth.network","https://sapphire-4.auth.network","https://sapphire-5.auth.network"]},R9=(e,t)=>{const r=C9[e];if(!r||0===r.length)throw new Error(`Unsupported network: ${e}`);const n=T9[t];return r.map((e=>n&&n.networkIdentifier?`${e}/sss/${n.networkIdentifier}/jrpc`:`${e}/sss/jrpc`))},I9=(e,t)=>{const r=C9[e];if(!r||0===r.length)throw new Error(`Unsupported network: ${e}`);const n=T9[t];return r.map((e=>n&&n.networkIdentifier?`${e}/rss/${n.networkIdentifier}`:`${e}/rss`))},M9=(e,t)=>{const r=C9[e];if(!r||0===r.length)throw new Error(`Unsupported network: ${e}`);const n=T9[t];return r.map((e=>n&&n.networkIdentifier?`${e}/tss/${n.networkIdentifier}`:`${e}/tss`))},L9={currentEpoch:"19",torusNodeEndpoints:["https://torus-19.torusnode.com/jrpc","https://torus-node.ens.domains/jrpc","https://torus-node.matic.network/jrpc","https://torus.zilliqa.network/jrpc","https://torus-mainnet.cosmos.network/jrpc","https://torus2.etherscan.com/jrpc","https://torus-node-v2.skalelabs.com/jrpc","https://torus-node.binancex.dev/jrpc","https://torusnode.ont.io/jrpc"],torusIndexes:[1,2,3,4,5,6,7,8,9],torusNodePub:[{X:"bbe83c64177c3775550e6ba6ac2bc059f6847d644c9e4894e42c60d7974d8c2b",Y:"82b49a7caf70def38cdad2740af45c1e4f969650105c5019a29bb18b21a9acb5"},{X:"c208cac4ef9a47d386097a9c915b28e9cb89213abee8d26a17198ee261201b0d",Y:"c7db2fe4631109f40833de9dc78d07e35706549ee48fa557b33e4e75e1047873"},{X:"ca1766bb426d4ca5582818a0c5439d560ea64f5baa060793ab29dd3d0ceacfe",Y:"d46c1d08c40e1306e1bca328c2287b8268166b11a1ba4b8442ea2ad0c5e32152"},{X:"c3934dd2f6f4b3d2e1e398cc501e143c1e1a381b52feb6d1525af34d16253768",Y:"71f5141a5035799099f5ea3e241e66946bc55dc857ac3bd7d6fcdb8dcd3eeeef"},{X:"22e66f1929631d00bf026227581597f085fd94fd952fc0dca9f0833398b5c064",Y:"6088b3912e10a1e9d50355a609c10db7d188f16a2e2fd7357e51bf4f6a74f0a1"},{X:"9dc9fa410f3ce9eb70df70cdea00a49f2c4cc7a31c08c0dab5f863ed35ff5139",Y:"627a291cb87a75c61da3f65d6818e1e05e360217179817ed27e8c73bca7ec122"},{X:"118b9fc07e97b096d899b9f6658463ce6a8caa64038e37fc969df4e6023dd8c6",Y:"baf9fa4e51770f4796ea165dd03a769b8606681a38954a0a92c4cbffd6609ce9"},{X:"8a6d8b925da15a273dec3d8f8395ec35cd6878f274b2b180e4e106999db64043",Y:"96f67f870c157743da0b1eb84d89bf30500d74dc84c11f501ee1cb013acc8c46"},{X:"39cecb62e863729f572f7dfc46c24867981bf04bb405fed0df39e33984bfade5",Y:"61c2364434012e68a2be2e9952805037e52629d7762fafc8e10e9fb5bad8f790"}]},N9={[O9.SAPPHIRE_MAINNET]:[{X:"e0925898fee0e9e941fdca7ee88deec99939ae9407e923535c4d4a3a3ff8b052",Y:"54b9fea924e3f3e40791f9987f4234ae4222412d65b74068032fa5d8b63375c1"},{X:"9124cf1e280aab32ba50dffd2de81cecabc13d82d2c1fe9de82f3b3523f9b637",Y:"fca939a1ceb42ce745c55b21ef094f543b457630cb63a94ef4f1afeee2b1f107"},{X:"555f681a63d469cc6c3a58a97e29ebd277425f0e6159708e7c7bf05f18f89476",Y:"606f2bcc0884fa5b64366fc3e8362e4939841b56acd60d5f4553cf36b891ac4e"},{X:"2b5f58d8e340f1ab922e89b3a69a68930edfe51364644a456335e179bc130128",Y:"4b4daa05939426e3cbe7d08f0e773d2bf36f64c00d04620ee6df2a7af4d2247"},{X:"3ecbb6a68afe72cf34ec6c0a12b5cb78a0d2e83ba402983b6adbc5f36219861a",Y:"dc1031c5cc8f0472bd521a62a64ebca9e163902c247bf05937daf4ae835091e4"}],[O9.SAPPHIRE_TESTNET]:[{X:"f74389b0a4c8d10d2a687ae575f69b20f412d41ab7f1fe6b358aa14871327247",Y:"54e3a73098ed9bced3ef8821736e9794f9264a1420c0c7ad15d2fa617ba35ef7"},{X:"bc38813a6873e526087918507c78fc3a61624670ee851ecfb4f3bef55d027b5a",Y:"ac4b21229f662a0aefdfdac21cf17c3261a392c74a8790db218b34e3e4c1d56a"},{X:"b56541684ea5fa40c8337b7688d502f0e9e092098962ad344c34e94f06d293fb",Y:"759a998cef79d389082f9a75061a29190eec0cac99b8c25ddcf6b58569dad55c"},{X:"7bcb058d4c6ffc6ba4bfdfd93d141af35a66338a62c7c27cdad2ae3f8289b767",Y:"336ab1935e41ed4719e162587f0ab55518db4207a1eb36cc72303f1b86689d2b"},{X:"bf12a136ef94399ea098f926f04e26a4ec4ac70f69cce274e8893704c4951773",Y:"bdd44828020f52ce510e026338216ada184a6867eb4e19fb4c2d495d4a7e15e4"}],[O9.SAPPHIRE_DEVNET]:[{X:"f74389b0a4c8d10d2a687ae575f69b20f412d41ab7f1fe6b358aa14871327247",Y:"54e3a73098ed9bced3ef8821736e9794f9264a1420c0c7ad15d2fa617ba35ef7"},{X:"bc38813a6873e526087918507c78fc3a61624670ee851ecfb4f3bef55d027b5a",Y:"ac4b21229f662a0aefdfdac21cf17c3261a392c74a8790db218b34e3e4c1d56a"},{X:"b56541684ea5fa40c8337b7688d502f0e9e092098962ad344c34e94f06d293fb",Y:"759a998cef79d389082f9a75061a29190eec0cac99b8c25ddcf6b58569dad55c"},{X:"7bcb058d4c6ffc6ba4bfdfd93d141af35a66338a62c7c27cdad2ae3f8289b767",Y:"336ab1935e41ed4719e162587f0ab55518db4207a1eb36cc72303f1b86689d2b"},{X:"bf12a136ef94399ea098f926f04e26a4ec4ac70f69cce274e8893704c4951773",Y:"bdd44828020f52ce510e026338216ada184a6867eb4e19fb4c2d495d4a7e15e4"}]},D9=(e,t)=>({currentEpoch:"1",torusNodeEndpoints:R9(e,t),torusNodeSSSEndpoints:R9(e,t),torusNodeRSSEndpoints:I9(e,t),torusNodeTSSEndpoints:M9(e,t),torusIndexes:[1,2,3,4,5],torusNodePub:N9[e]});const B9=n6().getLogger("fnd");class z9{constructor(){let{network:e=O9.SAPPHIRE_MAINNET,fndServerEndpoint:t,enableLogging:r=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Q3(this,"fndServerEndpoint","https://fnd.tor.us/node-details"),Q3(this,"_currentEpoch","1"),Q3(this,"_torusNodeEndpoints",[]),Q3(this,"_torusNodeRSSEndpoints",[]),Q3(this,"_torusNodeSSSEndpoints",[]),Q3(this,"_torusNodeTSSEndpoints",[]),Q3(this,"_torusNodePub",[]),Q3(this,"_torusIndexes",[]),Q3(this,"updated",void 0),Q3(this,"network",void 0),this.network=e,this.updated=!1,t&&(this.fndServerEndpoint=t),r?B9.enableAll():B9.disableAll()}get _nodeDetails(){return{currentEpoch:this._currentEpoch,torusNodeEndpoints:this._torusNodeEndpoints,torusNodeSSSEndpoints:this._torusNodeSSSEndpoints,torusNodeRSSEndpoints:this._torusNodeRSSEndpoints,torusNodeTSSEndpoints:this._torusNodeTSSEndpoints,torusNodePub:this._torusNodePub,torusIndexes:this._torusIndexes,updated:this.updated}}async getNodeDetails(e){let{verifier:t,verifierId:r}=e;try{if(this.updated&&!A9.includes(this.network))return this._nodeDetails;try{const{nodeDetails:e}=await v6(`${this.fndServerEndpoint}?network=${this.network}&verifier=${t}&verifierId=${r}`);return this.setNodeDetails(e),this._nodeDetails}catch(n){B9.error("Failed to fetch node details from server, using local.",n)}const e=function(e){if(Object.values(O9).includes(e))return D9(e);if(Object.values(P9).includes(e)){const t=T9[e];if(t.migrationCompleted)return D9(t.networkMigratedTo,e);if(e===P9.MAINNET)return L9}}(this.network);if(!e)throw new Error("Failed to fetch node details");return this.setNodeDetails(e),this._nodeDetails}catch(n){throw B9.error("Failed to fetch node details",n),n}}setNodeDetails(e){const{currentEpoch:t,torusNodeEndpoints:r,torusNodeSSSEndpoints:n,torusNodeRSSEndpoints:i,torusNodeTSSEndpoints:o,torusNodePub:a,torusIndexes:s}=e;this._torusNodeEndpoints=r,this._torusNodeSSSEndpoints=n||[],this._torusNodeRSSEndpoints=i||[],this._torusNodeTSSEndpoints=o||[],this._torusNodePub=a,this._torusIndexes=s,this._currentEpoch=t,this.updated=!0}}var U9=r(2304),F9=r.n(U9),$9=r(261).Buffer;const H9="GetPubKeyOrKeyAssign",V9="CommitmentRequest",q9="ImportShare",K9="GetShareOrKeyAssign",W9="https://metadata.tor.us",G9=(e,t)=>{let r=e;if("number"===typeof r&&(r=Array.from({length:r},((e,t)=>t))),t>r.length||t<=0)return[];if(t===r.length)return[r];if(1===t)return r.reduce(((e,t)=>[...e,[t]]),[]);const n=[];let i=[];for(let o=0;o<=r.length-t+1;o+=1){i=G9(r.slice(o+1),t-1);for(let e=0;e{const r={};for(let n=0;n=8?o+=t[a].toUpperCase():o+=t[a];return o}function t7(e,t){const r=e.keyFromPrivate(t.toString("hex",64),"hex").getPublic().encode("hex",!1).slice(2);J9.info(r,"public key");return e7(`0x${Q9($9.from(r,"hex")).slice(26)}`)}function r7(e,t,r){const n=e.keyFromPublic({x:t.toString("hex",64),y:r.toString("hex",64)}),i=n.getPublic().encode("hex",!1).slice(2);J9.info(n.getPublic().encode("hex",!1),"public key");return e7(`0x${Q9($9.from(i,"hex")).slice(26)}`)}J9.disableAll();class n7{constructor(e,t,r){Q3(this,"x",void 0),Q3(this,"y",void 0),Q3(this,"ecCurve",void 0),this.x=new(F9())(e,"hex"),this.y=new(F9())(t,"hex"),this.ecCurve=r}encode(e){switch(e){case"arr":return $9.concat([$9.from("0x04","hex"),$9.from(this.x.toString("hex"),"hex"),$9.from(this.y.toString("hex"),"hex")]);case"elliptic-compressed":{const e=this.ecCurve.keyFromPublic({x:this.x.toString("hex",64),y:this.y.toString("hex",64)},"hex");return $9.from(e.getPublic(!0,"hex"))}default:throw new Error("encoding doesn't exist in Point")}}}class i7{constructor(e,t){Q3(this,"share",void 0),Q3(this,"shareIndex",void 0),this.share=new(F9())(t,"hex"),this.shareIndex=new(F9())(e,"hex")}static fromJSON(e){const{share:t,shareIndex:r}=e;return new i7(r,t)}toJSON(){return{share:this.share.toString("hex"),shareIndex:this.shareIndex.toString("hex")}}}class o7{constructor(e,t){Q3(this,"polynomial",void 0),Q3(this,"ecCurve",void 0),this.polynomial=e,this.ecCurve=t}getThreshold(){return this.polynomial.length}polyEval(e){const t=new(F9())(e,"hex");let r=new(F9())(t),n=new(F9())(0);n=n.add(this.polynomial[0]);for(let i=1;i"number"===typeof e?new(F9())(e):e instanceof F9()?e:"string"===typeof e?new(F9())(e,"hex"):e)),r={};for(let n=0;ne.eq(t)))?a7(e):t}const s7=e=>Array.from({length:e},(()=>new(F9())(0))),c7=(e,t,r)=>{let n=s7(r.length);const i=((e,t,r)=>{let n=new(F9())(1);const i=r[t].x;for(let o=r.length-1;o>=0;o-=1)if(t!==o){let t=new(F9())(i);t=t.sub(r[o].x),t=t.umod(e.curve.n),n=n.mul(t),n=n.umod(e.curve.n)}return n})(e,t,r);if(0===i.cmp(new(F9())(0)))throw new Error("Denominator for interpolationPoly is 0");n[0]=i.invm(e.curve.n);for(let o=0;o=0;a-=1){i[a+1]=i[a+1].add(n[a]).umod(e.curve.n);let t=new(F9())(r[o].x);t=t.mul(n[a]).umod(e.curve.n),i[a]=i[a].sub(t).umod(e.curve.n)}n=i}}return n},l7=(e,t)=>{const r=(e=>{const t=[...e];return t.sort(((e,t)=>e.x.cmp(t.x))),t})(t),n=s7(r.length);for(let i=0;it)throw new Error("deterministicShares in generateRandomPolynomial should be less or equal than degree to ensure an element of randomness");const o={};n.forEach((t=>{o[t.shareIndex.toString("hex",64)]=new n7(t.shareIndex,t.share,e)}));for(let a=0;a2&&void 0!==arguments[2]?arguments[2]:{};try{const n=await y6(`${e}/get`,t,r,{useAPIKey:!0});return n&&n.message?new(F9())(n.message,16):new(F9())(0)}catch(n){return n6().error("get metadata error",n),new(F9())(0)}}async function g7(e,t,r,n,i,o){let a;const s=arguments.length>6&&void 0!==arguments[6]&&arguments[6]?"getNonce":"getOrSetNonce";return a=o?function(e,t,r,n){const i=e.keyFromPrivate(n.toString("hex",64)),o={data:r,timestamp:new(F9())(~~(t+Date.now()/1e3)).toString(16)},a=i.sign(Q9($9.from(K8()(o),"utf8")).slice(2));return{pub_key_X:i.getPublic().getX().toString("hex",64),pub_key_Y:i.getPublic().getY().toString("hex",64),set_data:o,signature:$9.from(a.r.toString(16,64)+a.s.toString(16,64)+new(F9())("").toString(16,2),"hex").toString("base64")}}(t,r,s,o):{pub_key_X:n,pub_key_Y:i,set_data:{data:s}},y6(`${e}/get_or_set_nonce`,a,void 0,{useAPIKey:!0})}async function v7(e,t,r,n,i,o){return g7(e,t,r,n,i,o,!0)}const y7={logRequestTracing:!1};class b7 extends Error{constructor(e){let{errors:t,responses:r,predicate:n}=e;super("Unable to resolve enough promises."),Q3(this,"errors",void 0),Q3(this,"responses",void 0),Q3(this,"predicate",void 0),this.errors=t,this.responses=r,this.predicate=n}get message(){return`${super.message}. ${this.errors.length} errors: ${this.errors.map((e=>e.message||e)).join(", ")} and ${this.responses.length} responses: ${JSON.stringify(this.responses)}`}toString(){return this.message}}const w7=(e,t)=>new Promise(((r,n)=>{let i=0;const o={resolved:!1},a=new Array(e.length).fill(void 0),s=new Array(e.length).fill(void 0);let c;return e.forEach(((l,u)=>l.then((e=>{s[u]=e})).catch((e=>{a[u]=e})).finally((()=>{if(!o.resolved)return t(s.slice(0),o).then((e=>{o.resolved=!0,r(e)})).catch((e=>{c=e})).finally((()=>{if(i+=1,i===e.length){const e=Object.values(s.reduce(((e,t)=>{if(t){var r;const{id:i,error:o}=t;(null===o||void 0===o||null===(r=o.data)||void 0===r?void 0:r.length)>0&&(o.data.startsWith("Error occurred while verifying params")?e[i]=(n=o.data).charAt(0).toUpperCase()+n.slice(1):e[i]=o.data)}var n;return e}),{}));if(e.length>0){const t=e.length>1?`\n${e.map((e=>`\u2022 ${e}`)).join("\n")}`:e[0];n(new Error(t))}else{var t;n(new b7({errors:a,responses:s,predicate:(null===(t=c)||void 0===t?void 0:t.message)||c}))}}}))}))))}));function x7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _7(e){for(var t=1;t0){if(h.length!==c.length)throw new Error("Invalid imported shares length");w=!0}for(let x=0;x{J9.error("commitment error",e)}));p.push(e)}return w7(p,(e=>{const t=e.filter((e=>!(!e||"object"!==typeof e)&&!e.error));if(h.length>0&&t.length===c.length)return Promise.resolve(e);if(0===h.length&&t.length>=1+~~(3*c.length/4)){if(t.find((e=>{var t;return!(!e||"1"!==(null===(t=e.result)||void 0===t?void 0:t.nodeindex))})))return Promise.resolve(e)}return Promise.reject(new Error(`invalid ${JSON.stringify(e)}`))})).then((e=>{const t=[],r=[];for(let i=0;iJ9.error("share req",e)));t.push(n)}else{const e=y6(c[i],b6(K9,{encrypted:"yes",use_temp:!0,item:[_7(_7({},u),{},{idtoken:d,nodesignatures:r,verifieridentifier:l},f)],one_key_flow:!0}),null,{logTracingHeader:y7.logRequestTracing}).catch((e=>J9.error("share req",e)));t.push(e)}}let n;return w7(t,(async(e,t)=>{const r=e.filter((e=>!(!e||"object"!==typeof e)&&!e.error)),o=e.map((e=>{if(e&&e.result&&e.result.keys[0].public_key){if(!n&&!u.extended_verifier_id){var t,r;(null===(t=e.result.keys[0].nonce_data)||void 0===t||null===(r=t.pubNonce)||void 0===r?void 0:r.x)&&(n=e.result.keys[0].nonce_data)}return e.result.keys[0].public_key}})),s=Y9(o,1+~~(c.length/2));if(!s)throw new Error("invalid result from nodes, threshold number of public key results are not matching");if(!n&&!u.extended_verifier_id&&!T9[a])throw new Error(`invalid metadata result from nodes, nonce metadata is empty for verifier: ${l} and verifierId: ${u.verifier_id}`);const d=h.length>0?c.length:1+~~(c.length/2);if(r.length>=d&&s&&(n||u.extended_verifier_id||T9[a])){const e=[],o=[],a=[],l=[],d=[];for(let t=0;t0)u&&null!==(f=u[0])&&void 0!==f&&f.ephemPublicKey?o.push(p7(u[0],c[0],m).catch((e=>J9.debug("session sig decryption",e)))):o.push(Promise.resolve($9.from(c[0],"hex")));else o.push(Promise.resolve(void 0));if((null===i||void 0===i?void 0:i.length)>0)s&&null!==(p=s[0])&&void 0!==p&&p.ephemPublicKey?a.push(p7(s[0],i[0],m).catch((e=>J9.debug("session token sig decryption",e)))):a.push(Promise.resolve($9.from(i[0],"base64")));else a.push(Promise.resolve(void 0));if((null===d||void 0===d?void 0:d.length)>0){const t=n.result.keys[0];l.push(new(F9())(t.node_index)),t.share_metadata&&e.push(p7(t.share_metadata,$9.from(t.share,"base64").toString("binary").padStart(64,"0"),m).catch((e=>J9.debug("share decryption",e))))}else l.push(void 0),e.push(Promise.resolve(void 0))}const h=await Promise.all(e.concat(o).concat(a)),g=h.slice(0,e.length),v=h.slice(e.length,e.length+o.length),y=h.slice(e.length+o.length,h.length),b=v.filter((e=>!!e)),w=1+~~(c.length/2);if(!u.extended_verifier_id&&b.length!!e));if(!u.extended_verifier_id&&x.length{e?d.push({token:e.toString("base64"),signature:v[t].toString("hex"),node_pubx:r[t].result.node_pubx,node_puby:r[t].result.node_puby}):d.push(void 0)})),t.resolved)return;const _=g.reduce(((e,t,r)=>(t&&e.push({index:l[r],value:new(F9())(t)}),e)),[]),S=G9(_.length,1+~~(c.length/2));let k=null;for(let t=0;te.includes(r))),n=r.map((e=>e.value)),o=r.map((e=>e.index)),a=u7(i,n,o);if(!a)continue;const c=B8($9.from(a.toString(16,64),"hex")).toString("hex"),l=c.slice(2,66),u=c.slice(66);if(0===new(F9())(l,16).cmp(new(F9())(s.X,16))&&0===new(F9())(u,16).cmp(new(F9())(s.Y,16))){k=a;break}}if(void 0===k||null===k)throw new Error("could not derive private key");return{privateKey:k,sessionTokenData:d,thresholdNonceData:n,nodeIndexes:l}}throw new Error("Invalid")}))})).then((async e=>{var o;const{privateKey:s,sessionTokenData:c,thresholdNonceData:l,nodeIndexes:d}=e;let h=l;if(!s)throw new Error("Invalid private key returned");const f=s,p=B8($9.from(f.toString(16,64),"hex")).toString("hex"),g=p.slice(2,66),v=p.slice(66);let y,b,w=new(F9())(null!==(o=h)&&void 0!==o&&o.nonce?h.nonce.padStart(64,"0"):"0","hex"),x="v1";if(u.extended_verifier_id)x="v2",y=i.keyFromPublic({x:g,y:v}).getPublic();else if(T9[a])if(n)h=await v7(t,i,r,g,v,f),w=new(F9())(h.nonce||"0",16),b={X:h.pubNonce.x,Y:h.pubNonce.y},x=h.typeOfUser,"v2"===x&&(y=i.keyFromPublic({x:g,y:v}).getPublic().add(i.keyFromPublic({x:h.pubNonce.x,y:h.pubNonce.y}).getPublic()));else{x="v1",w=await m7(t,{pub_key_X:g,pub_key_Y:v});const e=f.add(w).umod(i.curve.n);y=i.keyFromPrivate(e.toString(16,64),"hex").getPublic()}else x="v2",y=i.keyFromPublic({x:g,y:v}).getPublic().add(i.keyFromPublic({x:h.pubNonce.x,y:h.pubNonce.y}).getPublic()),b={X:h.pubNonce.x,Y:h.pubNonce.y};const _=t7(i,f),S=r7(i,y.getX(),y.getY());J9.debug("> torus.js/retrieveShares",{finalEvmAddress:S});let k="";if("v1"===x||"v2"===x&&w.gt(new(F9())(0))){k=f.add(w).umod(i.curve.n).toString("hex",64)}let E=!1;return"v1"===x?E=null:"v2"===x&&(E=w.eq(new(F9())("0"))),{finalKeyData:{evmAddress:S,X:y.getX().toString(16,64),Y:y.getY().toString(16,64),privKey:k},oAuthKeyData:{evmAddress:_,X:g,Y:v,privKey:f.toString("hex",64).padStart(64,"0")},sessionData:{sessionTokenData:c,sessionAuthKey:m.toString("hex").padStart(64,"0")},metadata:{pubNonce:b,nonce:w,typeOfUser:x,upgraded:E},nodesData:{nodeIndexes:d.map((e=>e.toNumber()))}}}))}const k7=async(e,t,r)=>{const n=e.map((e=>y6(e,b6("VerifierLookupRequest",{verifier:t,verifier_id:r.toString()})).catch((e=>J9.error("lookup request failed",e)))));return w7(n,(t=>{const r=t.filter((e=>e)),n=Y9(r.map((e=>e&&e.error)),1+~~(e.length/2)),i=Y9(r.map((e=>e&&e.result)),1+~~(e.length/2));return i||n?Promise.resolve({keyResult:i,errorResult:n}):Promise.reject(new Error(`invalid results ${JSON.stringify(t)}`))}))},E7=async e=>{let t,r,{endpoints:n,torusNodePubs:i,lastPoint:o,firstPoint:a,verifier:s,verifierId:c,signerHost:l,network:u,clientId:d}=e;if(void 0===o?(t=Math.floor(Math.random()*n.length),J9.info("keyassign",t,n[t]),r=t):t=o%n.length,t===a)throw new Error("Looped through all");void 0!==a&&(r=a);const h=b6("KeyAssign",{verifier:s,verifier_id:c.toString()});try{const e=await y6(l,h,{headers:{pubKeyX:i[t].X,pubKeyY:i[t].Y,network:u,clientId:d}},{useAPIKey:!0});return await y6(n[t],_7(_7({},h),e),{headers:{"Content-Type":"application/json; charset=utf-8"}})}catch(f){J9.error(f.status,f.message,f,"key assign error");const e=["Timed out","Failed to fetch","cancelled","NetworkError when attempting to fetch resource.","TypeError: Failed to fetch","TypeError: cancelled","TypeError: NetworkError when attempting to fetch resource."];if(502===(null===f||void 0===f?void 0:f.status)||504===(null===f||void 0===f?void 0:f.status)||401===(null===f||void 0===f?void 0:f.status)||e.includes(f.message)||e.some((e=>f.message.includes(e)))||f.message&&f.message.includes("reason: getaddrinfo EAI_AGAIN"))return E7({endpoints:n,torusNodePubs:i,lastPoint:t+1,firstPoint:r,verifier:s,verifierId:c,signerHost:l,network:u,clientId:d});throw new Error(`Sorry, the Torus Network that powers Web3Auth is currently very busy.\n We will generate your key in time. Pls try again later. \n\n ${f.message||""}`)}};function P7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O7(e){for(var t=1;t0&&void 0!==arguments[0])||arguments[0]?(J9.enableAll(),y7.logRequestTracing=!0):J9.disableAll()}static setAPIKey(e){f6(e)}static setEmbedHost(e){h6(e)}static isGetOrSetNonceError(e){return e instanceof X9}static getPostboxKey(e){return"v1"===e.metadata.typeOfUser&&e.finalKeyData.privKey||e.oAuthKeyData.privKey}async retrieveShares(e,t,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.isLegacyNetwork?this.legacyRetrieveShares(e,t,r,n,i,o):S7({legacyMetadataHost:this.legacyMetadataHost,serverTimeOffset:this.serverTimeOffset,enableOneKey:this.enableOneKey,ecCurve:this.ec,allowHost:this.allowHost,network:this.network,clientId:this.clientId,endpoints:e,verifier:r,verifierParams:n,idToken:i,importedShares:[],extraParams:o})}async getPublicAddress(e,t,r){let{verifier:n,verifierId:i,extendedVerifierId:o}=r;return this.isLegacyNetwork?this.getLegacyPublicAddress(e,t,{verifier:n,verifierId:i},this.enableOneKey):this.getNewPublicAddress(e,{verifier:n,verifierId:i,extendedVerifierId:o},this.enableOneKey)}async importPrivateKey(e,t,r,n,i,o,a){let s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(this.isLegacyNetwork)throw new Error("This function is not supported on legacy networks");if(e.length!==t.length)throw new Error("length of endpoints array must be same as length of nodeIndexes array");const c=1+~~(e.length/2)-1,l=[],u=this.ec.keyFromPrivate(a.padStart(64,"0"),"hex");for(const x of t)l.push(new(F9())(x));const d=u.getPrivate(),h=new(F9())(D8()),f=d.sub(h).umod(this.ec.curve.n),p=this.ec.keyFromPrivate(f.toString("hex").padStart(64,"0")).getPublic(),m=d7(this.ec,c,f).generateShares(l),g=this.generateNonceMetadataParams("getOrSetNonce",f,h),v=$9.from(K8()(g.set_data),"utf8").toString("base64"),y=[],b=[];for(let x=0;x5&&void 0!==arguments[5]?arguments[5]:{};const a=[];await v6(this.allowHost,{headers:{verifier:r,verifierId:n.verifier_id,network:this.network,clientId:this.clientId}},{useAPIKey:!0});const s=D8(),c=B8(s).toString("hex"),l=c.slice(2,66),u=c.slice(66),d=Q9($9.from(i,"utf8"));for(let h=0;h{J9.error("commitment",e)}));a.push(t)}return w7(a,(t=>{const r=t.filter((e=>!(!e||"object"!==typeof e)&&!e.error));return r.length>=3*~~(e.length/4)+1?Promise.resolve(t):Promise.reject(new Error(`invalid ${JSON.stringify(t)}`))})).then((a=>{const c=[],l=[];for(let e=0;eJ9.error("share req",e)));c.push(a)}return w7(c,(async(r,n)=>{const i=r.filter((e=>e)),o=Y9(r.map((e=>e&&e.result&&e.result.keys[0].PublicKey)),1+~~(e.length/2));if(i.length>=1+~~(e.length/2)&&o){const i=[],l=[];for(let e=0;e0){n.result.keys.sort(((e,t)=>new(F9())(e.Index,16).cmp(new(F9())(t.Index,16))));const e=n.result.keys[0];if(e.Metadata){const t={ephemPublicKey:$9.from(e.Metadata.ephemPublicKey,"hex"),iv:$9.from(e.Metadata.iv,"hex"),mac:$9.from(e.Metadata.mac,"hex")};i.push(H8(s,O7(O7({},t),{},{ciphertext:$9.from($9.from(e.Share,"base64").toString("binary").padStart(64,"0"),"hex")})).catch((e=>J9.debug("share decryption",e))))}else i.push(Promise.resolve($9.from(e.Share.padStart(64,"0"),"hex")))}else i.push(Promise.resolve(void 0));l.push(new(F9())(t[e],16))}const u=await Promise.all(i);if(n.resolved)return;const d=u.reduce(((e,t,r)=>(t&&e.push({index:l[r],value:new(F9())(t)}),e)),[]),h=G9(d.length,1+~~(e.length/2));let f=null;for(let e=0;et.includes(r))),n=r.map((e=>e.value)),i=r.map((e=>e.index)),a=u7(this.ec,n,i);if(!a)continue;const s=B8($9.from(a.toString(16,64),"hex")).toString("hex"),c=s.slice(2,66),l=s.slice(66);if(0===new(F9())(c,16).cmp(new(F9())(o.X,16))&&0===new(F9())(l,16).cmp(new(F9())(o.Y,16))){f=a;break}}if(void 0===f||null===f)throw new Error("could not derive private key");return f}throw new Error("invalid")}))})).then((async e=>{const t=e;if(!t)throw new Error("Invalid private key returned");const r=B8($9.from(t.toString(16,64),"hex")).toString("hex"),n=r.slice(2,66),i=r.slice(66);let o,a,s,c="v1";if(this.enableOneKey){const e=await v7(this.legacyMetadataHost,this.ec,this.serverTimeOffset,n,i,t);o=new(F9())(e.nonce||"0",16),c=e.typeOfUser,"v2"===e.typeOfUser&&(a=this.ec.keyFromPublic({x:n,y:i}).getPublic().add(this.ec.keyFromPublic({x:e.pubNonce.x,y:e.pubNonce.y}).getPublic()),s={X:e.pubNonce.x,Y:e.pubNonce.y})}else{o=await m7(this.legacyMetadataHost,{pub_key_X:n,pub_key_Y:i});const e=t.add(o).umod(this.ec.curve.n);a=this.ec.keyFromPrivate(e.toString("hex"),"hex").getPublic()}const l=t7(this.ec,t),u=r7(this.ec,a.getX(),a.getY());J9.debug("> torus.js/retrieveShares",{finalEvmAddress:u});let d="";if("v1"===c||"v2"===c&&o.gt(new(F9())(0))){d=t.add(o).umod(this.ec.curve.n).toString("hex",64).padStart(64,"0")}let h=!1;return"v1"===c?h=null:"v2"===c&&(h=o.eq(new(F9())("0"))),{finalKeyData:{evmAddress:u,X:a?a.getX().toString(16,64):"",Y:a?a.getY().toString(16,64):"",privKey:d},oAuthKeyData:{evmAddress:l,X:n,Y:i,privKey:t.toString("hex",64).padStart(64,"0")},sessionData:{sessionTokenData:[],sessionAuthKey:""},metadata:{pubNonce:s,nonce:o,typeOfUser:c,upgraded:h},nodesData:{nodeIndexes:[]}}}))}async getLegacyPublicAddress(e,t,r,n){let i,{verifier:o,verifierId:a}=r;J9.debug("> torus.js/getPublicAddress",{endpoints:e,torusNodePubs:t,verifier:o,verifierId:a});let s=!1;const{keyResult:c,errorResult:l}=await k7(e,o,a)||{};if(l&&JSON.stringify(l).includes("Verifier not supported"))throw new Error("Verifier not supported. Check if you: \n\n 1. Are on the right network (Torus testnet/mainnet) \n\n 2. Have setup a verifier on dashboard.web3auth.io?");if(l&&JSON.stringify(l).includes("Verifier + VerifierID has not yet been assigned")){await E7({endpoints:e,torusNodePubs:t,lastPoint:void 0,firstPoint:void 0,verifier:o,verifierId:a,signerHost:this.signerHost,network:this.network,clientId:this.clientId});const r=await((e,t,r,n)=>new Promise(((i,o)=>{setTimeout((()=>{k7(e,t,r).then(i).catch(o)}),n)})))(e,o,a,1e3);i=null===r||void 0===r?void 0:r.keyResult,s=!0}else{if(!c)throw new Error(`node results do not match at first lookup ${JSON.stringify(c||{})}, ${JSON.stringify(l||{})}`);i=c}if(J9.debug("> torus.js/getPublicAddress",{finalKeyResult:i,isNewKey:s}),i)return this.formatLegacyPublicKeyData({finalKeyResult:i,isNewKey:s,enableOneKey:n});throw new Error(`node results do not match at final lookup ${JSON.stringify(c||{})}, ${JSON.stringify(l||{})}`)}generateNonceMetadataParams(e,t,r){const n=this.ec.keyFromPrivate(t.toString("hex",64)),i={operation:e,timestamp:new(F9())(~~(this.serverTimeOffset+Date.now()/1e3)).toString(16)};r&&(i.data=r.toString("hex",64));const o=n.sign(Q9($9.from(K8()(i),"utf8")).slice(2));return{pub_key_X:n.getPublic().getX().toString("hex",64),pub_key_Y:n.getPublic().getY().toString("hex",64),set_data:i,signature:$9.from(o.r.toString(16,64)+o.s.toString(16,64)+new(F9())("").toString(16,2),"hex").toString("base64")}}async getNewPublicAddress(e,t,r){let{verifier:n,verifierId:i,extendedVerifierId:o}=t;J9.debug("> torus.js/getPublicAddress",{endpoints:e,verifier:n,verifierId:i});const a=await(async e=>{const{endpoints:t,network:r,verifier:n,verifierId:i,extendedVerifierId:o}=e,a=t.map((e=>y6(e,b6(H9,{verifier:n,verifier_id:i.toString(),extended_verifier_id:o,one_key_flow:!0,fetch_node_index:!0}),null,{logTracingHeader:y7.logRequestTracing}).catch((e=>J9.error(`${H9} request failed`,e)))));let s;const c=[],l=await w7(a,(e=>{const a=e.filter((e=>{if(e&&!e.error){var t,r,n;if(!s)(null===(t=e.result)||void 0===t||null===(r=t.keys[0].nonce_data)||void 0===r||null===(n=r.pubNonce)||void 0===n?void 0:n.x)&&(s=e.result.keys[0].nonce_data);return e}return!1})),l=Y9(a.map((e=>e&&e.error)),1+~~(t.length/2)),u=Y9(a.map((e=>e&&(e=>{const t={keys:[],is_new_key:e.is_new_key};return e&&e.keys&&e.keys.length>0&&(t.keys=e.keys.map((e=>({pub_key_X:e.pub_key_X,pub_key_Y:e.pub_key_Y,address:e.address})))),t})(e.result))),1+~~(t.length/2));return u&&(s||o||T9[r])||l?(u&&e.forEach((e=>{if(e&&e.result){const t=parseInt(e.result.node_index);t&&c.push(t)}})),Promise.resolve({keyResult:u,nodeIndexes:c,errorResult:l,nonceResult:s})):Promise.reject(new Error(`invalid public key result: ${JSON.stringify(e)} and nonce result:${JSON.stringify(s||{})} for verifier: ${n}, verifierId: ${i} and extendedVerifierId: ${o} `))}));return l})({endpoints:e,network:this.network,verifier:n,verifierId:i,extendedVerifierId:o}),{errorResult:s,keyResult:c,nodeIndexes:l=[]}=a,{nonceResult:u}=a;if(s&&JSON.stringify(s).toLowerCase().includes("verifier not supported"))throw new Error("Verifier not supported. Check if you: \n\n 1. Are on the right network (Torus testnet/mainnet) \n\n 2. Have setup a verifier on dashboard.web3auth.io?");if(s)throw new Error(`node results do not match at first lookup ${JSON.stringify(c||{})}, ${JSON.stringify(s||{})}`);if(J9.debug("> torus.js/getPublicAddress",{keyResult:c}),null===c||void 0===c||!c.keys)throw new Error(`node results do not match at final lookup ${JSON.stringify(c||{})}, ${JSON.stringify(s||{})}`);if(!u&&!o&&!T9[this.network])throw new X9("metadata nonce is missing in share response");const{pub_key_X:d,pub_key_Y:h}=c.keys[0];let f;const p=new(F9())((null===u||void 0===u?void 0:u.nonce)||"0",16);let m,g;if(o)g=this.ec.keyFromPublic({x:d,y:h}).getPublic(),m=g;else{if(T9[this.network])return this.formatLegacyPublicKeyData({isNewKey:c.is_new_key,enableOneKey:r,finalKeyResult:{keys:c.keys}});{const e=u;m=this.ec.keyFromPublic({x:d,y:h}).getPublic(),g=this.ec.keyFromPublic({x:d,y:h}).getPublic().add(this.ec.keyFromPublic({x:e.pubNonce.x,y:e.pubNonce.y}).getPublic()),f={X:e.pubNonce.x,Y:e.pubNonce.y}}}if(!m)throw new Error("Unable to derive oAuthPubKey");const v=m.getX().toString(16,64),y=m.getY().toString(16,64),b=r7(this.ec,m.getX(),m.getY());if(J9.debug("> torus.js/getPublicAddress, oAuthKeyData",{X:v,Y:y,oAuthAddress:b,nonce:null===p||void 0===p?void 0:p.toString(16),pubNonce:f}),!g)throw new Error("Unable to derive finalPubKey");const w=g?g.getX().toString(16,64):"",x=g?g.getY().toString(16,64):"";return{oAuthKeyData:{evmAddress:b,X:v,Y:y},finalKeyData:{evmAddress:g?r7(this.ec,g.getX(),g.getY()):"",X:w,Y:x},metadata:{pubNonce:f,nonce:p,upgraded:(null===u||void 0===u?void 0:u.upgraded)||!1,typeOfUser:"v2"},nodesData:{nodeIndexes:l}}}async formatLegacyPublicKeyData(e){var t,r;const{finalKeyResult:n,enableOneKey:i,isNewKey:o}=e,{pub_key_X:a,pub_key_Y:s}=n.keys[0];let c,l,u,d,h;const f=this.ec.keyFromPublic({x:a,y:s}).getPublic();if(i){try{c=await g7(this.legacyMetadataHost,this.ec,this.serverTimeOffset,a,s,void 0,!o),l=new(F9())(c.nonce||"0",16),d=c.typeOfUser}catch{throw new X9}if("v1"===c.typeOfUser)u=this.ec.keyFromPublic({x:a,y:s}).getPublic().add(this.ec.keyFromPrivate(l.toString(16)).getPublic());else{if("v2"!==c.typeOfUser)throw new Error("getOrSetNonce should always return typeOfUser.");u=this.ec.keyFromPublic({x:a,y:s}).getPublic().add(this.ec.keyFromPublic({x:c.pubNonce.x,y:c.pubNonce.y}).getPublic()),h={X:c.pubNonce.x,Y:c.pubNonce.y}}}else d="v1",l=await m7(this.legacyMetadataHost,{pub_key_X:a,pub_key_Y:s}),u=this.ec.keyFromPublic({x:a,y:s}).getPublic().add(this.ec.keyFromPrivate(l.toString(16)).getPublic());if(!f)throw new Error("Unable to derive oAuthPubKey");const p=f.getX().toString(16,64),m=f.getY().toString(16,64),g=r7(this.ec,f.getX(),f.getY());if(J9.debug("> torus.js/getPublicAddress, oAuthKeyData",{X:p,Y:m,oAuthAddress:g,nonce:null===(t=l)||void 0===t?void 0:t.toString(16),pubNonce:h}),"v2"===d&&!u)throw new Error("Unable to derive finalPubKey");const v=u?u.getX().toString(16,64):"",y=u?u.getY().toString(16,64):"";return{oAuthKeyData:{evmAddress:g,X:p,Y:m},finalKeyData:{evmAddress:u?r7(this.ec,u.getX(),u.getY()):"",X:v,Y:y},metadata:{pubNonce:h,nonce:l,upgraded:(null===(r=c)||void 0===r?void 0:r.upgraded)||!1,typeOfUser:d},nodesData:{nodeIndexes:[]}}}}var T7=r(1871),j7=r(261).Buffer;function C7(e){return j7.from((0,W8.wn)(e))}const R7=new Ns.ec("secp256k1");function I7(e){return{iv:j7.from(e.iv,"hex"),ephemPublicKey:j7.from(e.ephemPublicKey,"hex"),ciphertext:j7.from(e.ciphertext,"hex"),mac:j7.from(e.mac,"hex")}}function M7(e){return{iv:j7.from(e.iv).toString("hex"),ephemPublicKey:j7.from(e.ephemPublicKey).toString("hex"),ciphertext:j7.from(e.ciphertext).toString("hex"),mac:j7.from(e.mac).toString("hex")}}async function L7(e,t){const r=JSON.stringify(t),n=j7.from(r,"utf-8"),i=M7(await $8(B8(j7.from(e,"hex")),n));return JSON.stringify(i)}async function N7(e,t){const r=I7(JSON.parse(t)),n=R7.keyFromPrivate(e),i=(await H8(j7.from(n.getPrivate().toString("hex",64),"hex"),r)).toString("utf-8");return JSON.parse(i)}var D7=r(261).Buffer;const B7="google",z7="facebook",U7="reddit",F7="discord",$7="twitch",H7="apple",V7="github",q7="linkedin",K7="twitter",W7="weibo",G7="line",Y7="email_password",Z7="passwordless",X7="jwt",J7="webauthn",Q7="single_id_verifier",eee={POPUP:"popup",REDIRECT:"redirect"},tee="localStorage",ree="server",nee="triggerLogin",iee="triggerAggregateLogin",oee="triggerHybridAggregateLogin",aee="fetchNodeDetails",see="pubAddressLookup",cee="fetchShares";var lee=n6().getLogger("customauth");const uee={[H7]:"apple",[V7]:"github",[q7]:"linkedin",[K7]:"twitter",[W7]:"weibo",[G7]:"line",[Y7]:"Username-Password-Authentication",[Z7]:"email"},dee=e=>e.href.endsWith("/")?e.href:`${e.href}/`,hee={webWorkerSupport:!1};function fee(e,t){return t?e:e.toLowerCase()}const pee=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const{name:i,sub:o}=e;if(r)return fee(e[r],n);switch(t){case Z7:case Y7:return fee(i,n);case W7:case V7:case K7:case H7:case q7:case G7:case X7:return fee(o,n);default:throw new Error("Invalid login type")}},mee=(e,t)=>{const r=e.split("&").reduce(((e,t)=>{const[r,n]=t.split("=");return e[r]=n,e}),{});lee.info(r,t);let n={},i="";return Object.keys(r).length>0&&r.state?(n=JSON.parse(atob(decodeURIComponent(decodeURIComponent(r.state))))||{},i=r.error_description||r.error||i):Object.keys(t).length>0&&t.state&&(n=JSON.parse(atob(decodeURIComponent(decodeURIComponent(t.state))))||{},t.error&&(i=t.error)),{error:i,instanceParameters:n,hashParameters:r}};function gee(e){const{baseURL:t,query:r,hash:n}=e,i=new URL(t);if(r&&Object.keys(r).forEach((e=>{i.searchParams.append(e,r[e])})),n){const e=new URL(gee({baseURL:t,query:n})).searchParams.toString();i.hash=e}return i.toString()}const vee=e=>{try{return new URL(decodeURIComponent(e))}catch(t){throw new Error(`${(null===t||void 0===t?void 0:t.message)||""}, Note: Your jwt domain: (i.e ${e}) must have http:// or https:// prefix`)}};function yee(e){return e!==z7&&e!==G7||!function(){const e=_6().getParser(navigator.userAgent).getPlatform();return e.type===_6().PLATFORMS_MAP.tablet||e.type===_6().PLATFORMS_MAP.mobile}()?1e4:6e4}class bee extends yd.EventEmitter{constructor(e){let{url:t,target:r,features:n,timeout:i=3e4}=e;super(),Q3(this,"url",void 0),Q3(this,"target",void 0),Q3(this,"features",void 0),Q3(this,"window",void 0),Q3(this,"windowTimer",void 0),Q3(this,"iClosedWindow",void 0),Q3(this,"timeout",void 0),this.url=t,this.target=r||"_blank",this.features=n||function(){const e=void 0!==window.screenLeft?window.screenLeft:window.screenX,t=void 0!==window.screenTop?window.screenTop:window.screenY,r=window.innerWidth?window.innerWidth:document.documentElement.clientWidth?document.documentElement.clientWidth:window.screen.width,n=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:window.screen.height,i=Math.abs((r-1200)/2/1+e);return`titlebar=0,toolbar=0,status=0,location=0,menubar=0,height=700,width=1200,top=${Math.abs((n-700)/2/1+t)},left=${i}`}(),this.window=void 0,this.windowTimer=void 0,this.iClosedWindow=!1,this.timeout=i,this._setupTimer()}_setupTimer(){this.window&&(this.windowTimer=Number(setInterval((()=>{this.window&&this.window.closed&&(clearInterval(this.windowTimer),setTimeout((()=>{this.iClosedWindow||this.emit("close"),this.iClosedWindow=!1,this.window=void 0}),this.timeout)),void 0===this.window&&clearInterval(this.windowTimer)}),500)))}open(){var e;return this.window=window.open(this.url.href,this.target,this.features),null!==(e=this.window)&&void 0!==e&&e.focus&&this.window.focus(),Promise.resolve()}close(){this.iClosedWindow=!0,this.window&&this.window.close()}redirect(e){e?window.location.replace(this.url.href):window.location.href=this.url.href}}const wee=["access_token","id_token"];function xee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _ee(e){for(var t=1;t{let n;const i=async t=>{try{const{error:i,data:o}=t,a=o||{},{instanceParams:s,hashParams:{access_token:c,id_token:l}}=a,u=w6(a.hashParams,wee);if(i)return lee.error(t),void r(new Error(`Error: ${i}. Info: ${JSON.stringify(t.data||{})}`));t.data&&s.verifier===this.verifier&&(lee.info(t.data),!this.redirectToOpener&&n&&await n.postMessage({success:!0}),e(_ee(_ee({accessToken:c,idToken:l||""},u),{},{state:s})))}catch(i){lee.error(i),r(i)}};if(this.redirectToOpener){const e=async r=>{if(!r.data)return;const n=r.data;n.channel===`redirect_channel_${this.nonce}`&&(window.removeEventListener("message",e),i(n),t.close())};window.addEventListener("message",e)}else n=new v9(`redirect_channel_${this.nonce}`,hee),n.addEventListener("message",(async e=>{await i(e),n.close(),t.close()}));t.open(),t.once("close",(()=>{n&&n.close(),r(new Error("user closed popup"))}))})):(t.redirect(e.locationReplaceOnRedirect),null)}}class kee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token"),Q3(this,"SCOPE","identify email"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://discord.com/api/oauth2/authorize"),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,redirect_uri:this.redirect_uri,scope:this.SCOPE},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://discord.com/api/users/@me",{headers:{Authorization:`Bearer ${t}`}}),{id:n,avatar:i,email:o="",username:a="",discriminator:s=""}=r;return{profileImage:null===i?`https://cdn.discordapp.com/embed/avatars/${Number(s)%5}.png`:`https://cdn.discordapp.com/avatars/${n}/${i}.png?size=2048`,name:`${a}#${s}`,email:o,verifierId:n,verifier:this.verifier,typeOfLogin:this.typeOfLogin}}}class Eee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token"),Q3(this,"SCOPE","public_profile email"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://www.facebook.com/v15.0/dialog/oauth"),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,redirect_uri:this.redirect_uri,scope:this.SCOPE},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://graph.facebook.com/me?fields=name,email,picture.type(large)",{headers:{Authorization:`Bearer ${t}`}}),{name:n="",id:i,picture:o,email:a=""}=r;return{email:a,name:n,profileImage:o.data.url||"",verifier:this.verifier,verifierId:i,typeOfLogin:this.typeOfLogin}}}class Pee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token id_token"),Q3(this,"SCOPE","profile email openid"),Q3(this,"PROMPT","consent select_account"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://accounts.google.com/o/oauth2/v2/auth"),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,prompt:this.PROMPT,redirect_uri:this.redirect_uri,scope:this.SCOPE,nonce:this.nonce},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://www.googleapis.com/userinfo/v2/me",{headers:{Authorization:`Bearer ${t}`}}),{picture:n="",email:i="",name:o=""}=r;return{email:i,name:o,profileImage:n,verifier:this.verifier,verifierId:i.toLowerCase(),typeOfLogin:this.typeOfLogin}}}let Oee=class extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"SCOPE","openid profile email"),Q3(this,"RESPONSE_TYPE","token id_token"),Q3(this,"PROMPT","login"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const{domain:e}=this.jwtParams,t=vee(e);t.pathname+=t.pathname.endsWith("/")?"authorize":"/authorize";const r=JSON.parse(JSON.stringify(this.jwtParams));delete r.domain;const n=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,prompt:this.PROMPT,redirect_uri:this.redirect_uri,scope:this.SCOPE,connection:uee[this.typeOfLogin],nonce:this.nonce},r);Object.keys(n).forEach((e=>{n[e]&&t.searchParams.append(e,n[e])})),this.finalURL=t}async getUserInfo(e){const{idToken:t,accessToken:r}=e,{domain:n,verifierIdField:i,isVerifierIdCaseSensitive:o,user_info_route:a="userinfo"}=this.jwtParams;if(r)try{const e=new URL(n),t=await v6(`${dee(e)}${a}`,{headers:{Authorization:`Bearer ${r}`}}),{picture:s,name:c,email:l}=t;return{email:l,name:c,profileImage:s,verifierId:pee(t,this.typeOfLogin,i,o),verifier:this.verifier,typeOfLogin:this.typeOfLogin}}catch(s){n6().warn(s,"Unable to get userinfo from endpoint")}if(t){const e=E9(t),{name:r,email:n,picture:a}=e;return{profileImage:a,name:r,email:n,verifierId:pee(e,this.typeOfLogin,i,o),verifier:this.verifier,typeOfLogin:this.typeOfLogin}}throw new Error("Access/id token not available")}};class Aee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=JSON.parse(JSON.stringify(this.jwtParams));delete e.domain;const t=t6()({state:this.state,client_id:this.clientId,nonce:this.nonce},e);this.finalURL=new URL(gee({baseURL:this.redirect_uri,query:null,hash:t}))}async getUserInfo(e){const{idToken:t,accessToken:r}=e,{domain:n,verifierIdField:i,isVerifierIdCaseSensitive:o,user_info_route:a="userinfo"}=this.jwtParams;if(r)try{const e=new URL(n),t=await v6(`${dee(e)}${a}`,{headers:{Authorization:`Bearer ${r}`}}),{picture:s,name:c,email:l}=t;return{email:l,name:c,profileImage:s,verifierId:pee(t,this.typeOfLogin,i,o),verifier:this.verifier,typeOfLogin:this.typeOfLogin}}catch(s){n6().warn(s,"Unable to get userinfo from endpoint")}if(t){const e=E9(t),{name:r,email:n,picture:a}=e;return{profileImage:a,name:r,email:n,verifierId:pee(e,this.typeOfLogin,i,o),verifier:this.verifier,typeOfLogin:this.typeOfLogin}}throw new Error("Access/id token not available")}handleLoginWindow(e){const{id_token:t,access_token:r}=this.jwtParams,n=new bee({url:this.finalURL,features:e.popupFeatures});return this.uxMode!==eee.REDIRECT?Promise.resolve({state:{},idToken:t,accessToken:r}):(n.redirect(e.locationReplaceOnRedirect),null)}}const Tee=["access_token","id_token"];function jee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Cee(e){for(var t=1;t{if(this.redirectToOpener)return void t(new Error("Cannot use redirect to opener for passwordless"));const r=r=>{try{const{error:n,data:i}=r,o=i||{},{instanceParams:a,hashParams:{access_token:s,id_token:c}}=o,l=w6(o.hashParams,Tee);if(n)return lee.error(r.error),void t(new Error(n));r.data&&a.verifier===this.verifier&&(lee.info(r.data),e(Cee(Cee({accessToken:s,idToken:c||""},l),{},{state:a})))}catch(n){lee.error(n),t(n)}},n=new v9(`redirect_channel_${this.nonce}`,hee);n.addEventListener("message",(async e=>{r(e),n.close()}));try{const{connection:e="email",login_hint:r}=this.jwtParams,n=t6()({client_id:this.clientId,connection:e,email:"email"===e?r:void 0,phone_number:"sms"===e?r:void 0,send:"link",authParams:{scope:this.SCOPE,state:this.state,response_type:this.RESPONSE_TYPE,redirect_uri:this.redirect_uri,nonce:this.nonce,prompt:this.PROMPT}},{authParams:this.jwtParams});y6(this.finalURL.href,JSON.parse(JSON.stringify(n))).then((e=>{lee.info("posted",e)})).catch((e=>{lee.error(e),t(e)}))}catch(i){lee.error(i),t(i)}}))}}class Iee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token"),Q3(this,"SCOPE","identity"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://www.reddit.com/api/v1/authorize"+(window.innerWidth<600?".compact":"")),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,redirect_uri:this.redirect_uri,scope:this.SCOPE},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://oauth.reddit.com/api/v1/me",{headers:{Authorization:`Bearer ${t}`}}),{icon_img:n="",name:i=""}=r;return{email:"",name:i,profileImage:n.split("?").length>0?n.split("?")[0]:n,verifier:this.verifier,verifierId:i.toLowerCase(),typeOfLogin:this.typeOfLogin}}}class Mee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token"),Q3(this,"SCOPE","user:read:email"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://id.twitch.tv/oauth2/authorize"),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,redirect_uri:this.redirect_uri,scope:this.SCOPE,force_verify:!0},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://api.twitch.tv/helix/users",{headers:{Authorization:`Bearer ${t}`,"Client-ID":this.clientId}}),[{profile_image_url:n="",display_name:i="",email:o="",id:a}]=r.data||[];return{profileImage:n,name:i,email:o,verifierId:a,verifier:this.verifier,typeOfLogin:this.typeOfLogin}}}const Lee="https://api.webauthn.openlogin.com";class Nee extends See{constructor(e,t,r,n,i,o,a,s,c){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"registerOnly",void 0),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.registerOnly=c,this.setFinalUrl()}setFinalUrl(){const{webauthnURL:e}=this.customState||{},t=e?new URL(e):new URL("https://webauthn.openlogin.com"),r=JSON.parse(JSON.stringify(this.jwtParams||{})),n=t6()({register_only:!!this.registerOnly,state:this.state,client_id:this.clientId,redirect_uri:this.redirect_uri},r);Object.keys(n).forEach((e=>{n[e]&&t.searchParams.append(e,n[e])})),this.finalURL=t}async getUserInfo(e){const{idToken:t,ref:r,extraParamsPassed:n,extraParams:i}=e;let o,a,s,c,l,u,d,h,f;if("true"===n){lee.debug("extraParamsPassed is true, using extraParams passed through hashParams");try{({verifier_id:o,signature:a,clientDataJSON:s,authenticatorData:c,publicKey:l,challenge:u,rpOrigin:d,credId:h,transports:f}=JSON.parse(atob(i)))}catch(p){lee.warn("unable to parse extraParams",p),({verifier_id:o,signature:a,clientDataJSON:s,authenticatorData:c,publicKey:l,challenge:u,rpOrigin:d,credId:h,transports:f}=await v6(`${Lee}/signature/fetch/${t}`))}}else lee.debug("extraParamsPassed is false, using extraParams passed through bridge server"),({verifier_id:o,signature:a,clientDataJSON:s,authenticatorData:c,publicKey:l,challenge:u,rpOrigin:d,credId:h,transports:f}=await v6(`${Lee}/signature/fetch/${t}`));if(a!==t)throw new Error("idtoken should be equal to signature");return{email:"",name:"WebAuthn Login",profileImage:"",verifier:this.verifier,verifierId:o,typeOfLogin:this.typeOfLogin,ref:r,registerOnly:this.registerOnly,extraVerifierParams:{signature:a,clientDataJSON:s,authenticatorData:c,publicKey:l,challenge:u,rpOrigin:d,credId:h,transports:f}}}}const Dee=e=>{let{clientId:t,redirect_uri:r,typeOfLogin:n,verifier:i,jwtParams:o,redirectToOpener:a,uxMode:s,customState:c,registerOnly:l}=e;if(!i||!n||!t)throw new Error("Invalid params");const{domain:u,login_hint:d,id_token:h,access_token:f}=o||{};switch(n){case B7:return new Pee(t,i,r,n,s,a,o,c);case z7:return new Eee(t,i,r,n,s,a,o,c);case $7:return new Mee(t,i,r,n,s,a,o,c);case U7:return new Iee(t,i,r,n,s,a,o,c);case F7:return new kee(t,i,r,n,s,a,o,c);case Z7:if(!u||!d)throw new Error("Invalid params");return new Ree(t,i,r,n,s,a,o,c);case H7:case V7:case q7:case K7:case W7:case G7:case Y7:case X7:if(h||f)return new Aee(t,i,r,n,s,a,o,c);if(!u)throw new Error("Invalid params");return new Oee(t,i,r,n,s,a,o,c);case J7:return new Nee(t,i,r,n,s,a,o,c,l);default:throw new Error("Invalid login type")}};class Bee{constructor(e){Q3(this,"sentry",null),this.sentry=e}startTransaction(e){if(this.sentry)return this.sentry.startTransaction(e)}finishTransaction(e){e&&e.finish()}}class zee{constructor(e){Q3(this,"currentStorageMethod",tee),Q3(this,"isInitialized",!1),Q3(this,"storageServerUrl","https://broadcast-server.tor.us"),this.storageServerUrl=e}init(){const e=function(){var e;const t=_6().parse(navigator.userAgent);lee.info(JSON.stringify(t),"current browser info");let r=!0;return null!==(e=navigator)&&void 0!==e&&e.brave&&(r=!1),t.engine.name!==_6().ENGINE_MAP.WebKit&&t.engine.name!==_6().ENGINE_MAP.Gecko||(r=!1),r}(),t=function(e){let t;try{t=window[e];const r="__storage_test__";return t.setItem(r,r),t.removeItem(r),!0}catch(r){return r&&(22===r.code||1014===r.code||"QuotaExceededError"===r.name||"NS_ERROR_DOM_QUOTA_REACHED"===r.name)&&t&&0!==t.length}}(tee);this.currentStorageMethod=e&&t?tee:ree,this.isInitialized=!0}async storeLoginDetails(e,t){if(!this.isInitialized)throw new Error("StorageHelper is not initialized");if(this.currentStorageMethod===ree){const r=C7(D7.from(t,"utf8")),n=r.toString("hex"),i=B8(r).toString("hex"),o=await L7(n,e),a=(await z8(r,C7(D7.from(o,"utf8")))).toString("hex");await y6(`${this.storageServerUrl}/store/set`,{key:i,data:o,signature:a})}else window.localStorage.setItem(`torus_login_${t}`,JSON.stringify(e))}async retrieveLoginDetails(e){if(!this.isInitialized)throw new Error("StorageHelper is not initialized");if(this.currentStorageMethod===ree){const t=C7(D7.from(e,"utf8")),n=t.toString("hex"),i=B8(t).toString("hex");try{const e=await v6(`${this.storageServerUrl}/store/get?key=${i}`);if(e.message){return await N7(n,e.message)}}catch(r){if(404!==r.status)throw r;lee.warn(r,"Session likely expired")}}const t=window.localStorage.getItem(`torus_login_${e}`);return JSON.parse(t||"{}")}clearLoginDetailsStorage(e){if(!this.isInitialized)throw new Error("StorageHelper is not initialized");this.currentStorageMethod===tee&&window.localStorage.removeItem(`torus_login_${e}`)}clearOrphanedLoginDetails(){if(!this.isInitialized)throw new Error("StorageHelper is not initialized");if(this.currentStorageMethod===tee){Object.keys(window.localStorage).forEach((e=>{e.startsWith("torus_login_")&&window.localStorage.removeItem(e)}))}}}const Uee=["access_token","id_token"],Fee=["access_token","id_token"],$ee=["access_token","id_token"],Hee=["args","method"];function Vee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qee(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};if(this.storageHelper.init(),t)this.isInitialized=!0;else{if(!e){if(!(await fetch(`${this.config.baseUrl}sw.js`,{cache:"reload"})).ok)throw new Error("Service worker is not being served. Please serve it");try{return await(n=this.config.baseUrl,new Promise(((e,t)=>{const r=`${n}sw.js`;"serviceWorker"in window.navigator?(0,T7.z)(r,{ready(){lee.info("App is being served from cache by a service worker.\n For more details, visit https://goo.gl/AFskqB"),e(void 0)},registered(){lee.info("Service worker has been registered."),e(void 0)},cached(){lee.info("Content has been cached for offline use."),e(void 0)},updatefound(){lee.info("New content is downloading.")},updated(){lee.info("New content is available; please refresh.")},offline(){lee.info("No internet connection found. App is running in offline mode."),t(new Error("App is offline"))},error(e){lee.error("Error during service worker registration:",e),t(e)}}):t(new Error("Service workers are not supported"))}))),void(this.isInitialized=!0)}catch(i){lee.warn(i)}}var n;if(!r)return(()=>{var e,t;return(null===(e=window)||void 0===e||null===(t=e.navigator)||void 0===t?void 0:t.userAgent.toLowerCase().indexOf("firefox"))>-1||!1})()?void(this.isInitialized=!0):void await this.handlePrefetchRedirectUri();this.isInitialized=!0}}async triggerLogin(e){const{verifier:t,typeOfLogin:r,clientId:n,jwtParams:i,hash:o,queryParameters:a,customState:s,registerOnly:c}=e;if(lee.info("Verifier: ",t),!this.isInitialized)throw new Error("Not initialized yet");if(c&&r!==J7)throw new Error("registerOnly flag can only be passed for webauthn");const l=Dee({typeOfLogin:r,clientId:n,verifier:t,redirect_uri:this.config.redirect_uri,redirectToOpener:this.config.redirectToOpener,jwtParams:i,uxMode:this.config.uxMode,customState:s,registerOnly:c});let u;if(o&&a){const{error:e,hashParameters:t,instanceParameters:r}=mee(o,a);if(e)throw new Error(e);const{access_token:n,id_token:i}=t;u=qee(qee({accessToken:n,idToken:i},w6(t,Uee)),{},{state:r})}else if(this.storageHelper.clearOrphanedLoginDetails(),this.config.uxMode===eee.REDIRECT&&await this.storageHelper.storeLoginDetails({method:nee,args:e},l.nonce),u=await l.handleLoginWindow({locationReplaceOnRedirect:this.config.locationReplaceOnRedirect,popupFeatures:this.config.popupFeatures}),this.config.uxMode===eee.REDIRECT)return null;const d=await l.getUserInfo(u);if(c){const e=this.sentryHandler.startTransaction({name:aee}),r=await this.nodeDetailManager.getNodeDetails({verifier:t,verifierId:d.verifierId});this.sentryHandler.finishTransaction(e);const n=this.sentryHandler.startTransaction({name:see}),i=await this.torus.getPublicAddress(r.torusNodeEndpoints,r.torusNodePub,{verifier:t,verifierId:d.verifierId});this.sentryHandler.finishTransaction(n);const o={userInfo:qee(qee({},d),u)};return qee(qee(qee({},o),i),{},{finalKeyData:qee(qee({},i.finalKeyData),{},{privKey:void 0}),oAuthKeyData:qee(qee({},i.finalKeyData),{},{privKey:void 0}),metadata:qee(qee({},i.metadata),{},{nonce:void 0}),sessionData:void 0})}return qee(qee({},await this.getTorusKey(t,d.verifierId,{verifier_id:d.verifierId},u.idToken||u.accessToken,d.extraVerifierParams)),{},{userInfo:qee(qee({},d),u)})}async triggerAggregateLogin(e){const{aggregateVerifierType:t,verifierIdentifier:r,subVerifierDetailsArray:n}=e;if(!this.isInitialized)throw new Error("Not initialized yet");if(!t||!r||!Array.isArray(n))throw new Error("Invalid params");if(t===Q7&&1!==n.length)throw new Error("Single id verifier can only have one sub verifier");const i=[],o=[];for(const h of n){const{clientId:t,typeOfLogin:r,verifier:n,jwtParams:a,hash:s,queryParameters:c,customState:l}=h,u=Dee({typeOfLogin:r,clientId:t,verifier:n,redirect_uri:this.config.redirect_uri,redirectToOpener:this.config.redirectToOpener,jwtParams:a,uxMode:this.config.uxMode,customState:l});let d;if(s&&c){const{error:e,hashParameters:t,instanceParameters:r}=mee(s,c);if(e)throw new Error(e);const{access_token:n,id_token:i}=t;d=qee(qee({accessToken:n,idToken:i},w6(t,Fee)),{},{state:r})}else if(this.storageHelper.clearOrphanedLoginDetails(),this.config.uxMode===eee.REDIRECT&&await this.storageHelper.storeLoginDetails({method:iee,args:e},u.nonce),d=await u.handleLoginWindow({locationReplaceOnRedirect:this.config.locationReplaceOnRedirect,popupFeatures:this.config.popupFeatures}),this.config.uxMode===eee.REDIRECT)return null;i.push(u.getUserInfo(d)),o.push(d)}const a=(await Promise.all(i)).map((e=>qee(qee({},e),{},{aggregateVerifier:r}))),s={verify_params:[],sub_verifier_ids:[],verifier_id:""},c=[];let l="",u={};for(let h=0;hqee(qee({},e),o[t])))})}async triggerHybridAggregateLogin(e){const{singleLogin:t,aggregateLoginParams:r}=e;if(!this.isInitialized)throw new Error("Not initialized yet");if(!r.aggregateVerifierType||!r.verifierIdentifier||!Array.isArray(r.subVerifierDetailsArray))throw new Error("Invalid params");if(r.aggregateVerifierType===Q7&&1!==r.subVerifierDetailsArray.length)throw new Error("Single id verifier can only have one sub verifier");const{typeOfLogin:n,clientId:i,verifier:o,jwtParams:a,hash:s,queryParameters:c,customState:l}=t,u=Dee({typeOfLogin:n,clientId:i,verifier:o,redirect_uri:this.config.redirect_uri,redirectToOpener:this.config.redirectToOpener,jwtParams:a,uxMode:this.config.uxMode,customState:l});let d;if(s&&c){const{error:e,hashParameters:t,instanceParameters:r}=mee(s,c);if(e)throw new Error(e);const{access_token:n,id_token:i}=t;d=qee(qee({accessToken:n,idToken:i},w6(t,$ee)),{},{state:r})}else if(this.storageHelper.clearOrphanedLoginDetails(),this.config.uxMode===eee.REDIRECT&&await this.storageHelper.storeLoginDetails({method:oee,args:e},u.nonce),d=await u.handleLoginWindow({locationReplaceOnRedirect:this.config.locationReplaceOnRedirect,popupFeatures:this.config.popupFeatures}),this.config.uxMode===eee.REDIRECT)return null;const h=await u.getUserInfo(d),f=this.getTorusKey(o,h.verifierId,{verifier_id:h.verifierId},d.idToken||d.accessToken,h.extraVerifierParams),{verifierIdentifier:p,subVerifierDetailsArray:m}=r,g={verify_params:[],sub_verifier_ids:[],verifier_id:""},v=[];let y="";for(let S=0;S0&&void 0!==arguments[0]?arguments[0]:{};await this.init({skipInit:!0});const r=new URL(window.location.href),n=r.hash.substring(1),i={};if(r.searchParams.forEach(((e,t)=>{i[t]=e})),e){const e=window.location.origin+window.location.pathname;window.history.replaceState(qee(qee({},window.history.state),{},{as:e,url:e}),"",e)}if(!n&&0===Object.keys(i).length)throw new Error("Unable to fetch result from OAuth login");const{error:o,instanceParameters:a,hashParameters:s}=mee(n,i),{instanceId:c}=a;lee.info(c,"instanceId");const l=await this.storageHelper.retrieveLoginDetails(c),{args:u,method:d}=l,h=w6(l,Hee);if(lee.info(u,d),t&&this.storageHelper.clearLoginDetailsStorage(c),o)return{error:o,state:a||{},method:d,result:{},hashParameters:s,args:u};let f;try{if(d===nee){const e=u;e.hash=n,e.queryParameters=i,f=await this.triggerLogin(e)}else if(d===iee){const e=u;e.subVerifierDetailsArray.forEach((e=>{e.hash=n,e.queryParameters=i})),f=await this.triggerAggregateLogin(e)}else if(d===oee){const e=u;e.singleLogin.hash=n,e.singleLogin.queryParameters=i,f=await this.triggerHybridAggregateLogin(e)}}catch(Zue){return lee.error(Zue),qee({error:`Could not get result from torus nodes \n ${(null===Zue||void 0===Zue?void 0:Zue.message)||""}`,state:a||{},method:d,result:{},hashParameters:s,args:u},h)}return qee(f?{method:d,result:f,state:a||{},hashParameters:s,args:u}:{error:"Unsupported method type",state:a||{},method:d,result:{},hashParameters:s,args:u},h)}async handlePrefetchRedirectUri(){return document?new Promise(((e,t)=>{const r=document.createElement("link");r.href=this.config.redirect_uri,window.location.origin!==new URL(this.config.redirect_uri).origin&&(r.crossOrigin="anonymous"),r.type="text/html",r.rel="prefetch";const n=()=>{this.isInitialized=!0,e()};try{r.relList&&r.relList.supports&&r.relList.supports("prefetch")?(r.onload=n,r.onerror=()=>{t(new Error(`Please serve redirect.html present in serviceworker folder of this package on ${this.config.redirect_uri}`))},document.head.appendChild(r)):n()}catch(Zue){n()}})):Promise.resolve()}}function Wee(e){return b5({tag:"svg",attr:{version:"1.1",x:"0px",y:"0px",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48"},child:[{tag:"path",attr:{fill:"#FFC107",d:"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12\r\n\tc0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24\r\n\tc0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"}},{tag:"path",attr:{fill:"#FF3D00",d:"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657\r\n\tC34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"}},{tag:"path",attr:{fill:"#4CAF50",d:"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36\r\n\tc-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"}},{tag:"path",attr:{fill:"#1976D2",d:"M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571\r\n\tc0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"}}]})(e)}const Gee=e=>{let t="Something went wrong";"object"===typeof e&&"message"in e?t=e.message:"string"===typeof e&&(t=e);let r="";return"object"===typeof e&&"stack"in e&&(r=e.stack),{timestamp:(new Date).toISOString(),description:t,stacktrace:r}},Yee=()=>{const[e,r]=(0,t.useState)(!1),n=DY(),i=t3(),o=async(t,o)=>{if(!e){r(!0);try{return await t()}catch(a){const e=Gee(a);throw n({description:e.description,status:"error",..."function"===typeof o?o(a):o}),i(XP.actions.add(e)),a}finally{r(!1)}}};return{isLoading:e,handleAsyncAction:async(e,t)=>o(e,t).catch((()=>{})),handleAsyncActionUnsafe:o}},Zee=(e,t,r)=>Promise.race([e(),new Promise(((e,n)=>setTimeout((()=>{n(new Error(r||"The operation has timed out"))}),t)))]),Xee=()=>{const{isLoading:e,handleAsyncAction:t}=Yee();return{isLoading:e,getCredentials:async e=>t((()=>Zee((async()=>{const t=new Kee({web3AuthClientId:"BBHmFdLXgGDzSiizRVMWtyL_7Dsoxu5B8zep2Pns8sGELslgXDbktJewVDVDDBlknEKkMCtzISLjJtxk60SK2-g",baseUrl:"https://umamiwallet.com/auth/v2/",redirectPathName:"redirect.html",redirectToOpener:!0,uxMode:"popup",network:"mainnet"});await t.init({skipSw:!0});const r=await t.triggerAggregateLogin({verifierIdentifier:"tezos-google",aggregateVerifierType:"single_id_verifier",subVerifierDetailsArray:[{clientId:"1070572364808-d31nlkneam5ee6dr0tu28fjjbsdkfta5.apps.googleusercontent.com",typeOfLogin:"google",verifier:"umami"}]}),n=dc(r.finalKeyData.privKey||r.oAuthKeyData.privKey,Us[Ls.SPSK]);e(n,r.userInfo[0].email)}),6e4)),{title:"Torus SSO failed"})}},Jee=({onSuccessfulAuth:e,isDisabled:t})=>{const{isLoading:r,getCredentials:n}=Xee();return(0,Yn.jsx)(Z3,{width:"48px",background:"white",borderRadius:"full",_disabled:{bg:E$.gray[900]},"aria-label":"Google SSO",icon:(0,Yn.jsx)(Wee,{size:"24px"}),isDisabled:t,isLoading:r,onClick:()=>n(e),size:"lg",variant:"outline"})},Qee=({children:e,...t})=>(0,Yn.jsxs)(CJ,{color:E$.orange,fontSize:"12px",...t,children:[(0,Yn.jsx)(LF,{as:X2,marginRight:"6px"}),e]}),ete=({inputName:e,label:r="Password",placeholder:n="Enter your password",required:i="Password is required",validate:o,...a})=>{const{register:s}=iQ(),[c,l]=(0,t.useState)(!1);return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(b0,{children:r}),(0,Yn.jsxs)(k0,{marginTop:"12px",children:[(0,Yn.jsx)(O0,{"aria-label":r,autoComplete:"off",placeholder:n,type:c?"text":"password",...s(e,{required:i,minLength:{value:i?8:0,message:"Your password must be at least 8 characters long"},validate:o}),...a}),(0,Yn.jsx)(C0,{children:(0,Yn.jsx)(_i,{onClick:()=>l((e=>!e)),tabIndex:-1,variant:"unstyled",children:c?(0,Yn.jsx)(t5,{"data-testid":"eye-slash-icon"}):(0,Yn.jsx)(e5,{width:"16.5px","data-testid":"eye-icon"})})})]})]})},tte=({isDisabled:e,onSuccessfulAuth:t,children:r})=>{const{isLoading:n,getCredentials:i}=Xee();return(0,Yn.jsx)(_i,{width:"100%",isDisabled:e,isLoading:n,onClick:()=>i(t),size:"lg",children:r})},rte=({signer:e,onSubmit:t,isLoading:r,isDisabled:n,text:i})=>{const o=h0({mode:"onBlur",defaultValues:{password:""}}),{handleSubmit:a,formState:{errors:s,isValid:c}}=o,l=i3(),u=n3(),d=DY(),{isLoading:h,handleAsyncAction:f}=Yee(),p=h||r,m=n||!c,g=async({password:r})=>f((async()=>{const n=await u(e,r);return t(await yE({type:"mnemonic",secretKey:n,network:l}))})),v=async({password:r})=>f((async()=>{const n=await u(e,r);return t(await yE({type:"secret_key",secretKey:n,network:l}))})),y=async e=>f((async()=>t(await yE({type:"social",secretKey:e,network:l})))),b=async()=>f((async()=>(d({description:"Please open the Tezos app on your Ledger and approve the operation",status:"info",duration:6e4,isClosable:!0}),t(await yE({type:"ledger",account:e,network:l})))));switch(e.type){case"secret_key":case"mnemonic":return(0,Yn.jsx)(Qn,{width:"100%",children:(0,Yn.jsxs)(oQ,{...o,children:[(0,Yn.jsxs)(OJ,{isInvalid:!!s.password,marginY:"16px",children:[(0,Yn.jsx)(ete,{"data-testid":"password",inputName:"password"}),s.password&&(0,Yn.jsx)(Qee,{children:s.password.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"8px",isDisabled:m,isLoading:p,onClick:a("mnemonic"===e.type?g:v),size:"lg",type:"submit",children:i||"Submit Transaction"})]})});case"social":return(0,Yn.jsx)(tte,{isDisabled:m,onSuccessfulAuth:y,children:i||"Sign with Google"});case"ledger":return(0,Yn.jsx)(_i,{width:"100%",isDisabled:m,isLoading:p,onClick:b,size:"lg",children:i||"Sign with Ledger"})}},nte=({request:e,onSuccess:t})=>{const r=P3()(e.sourceAddress),n=DY();if(!r)return(0,Yn.jsx)("div",{children:'"unknown account"'});return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsxs)(MX,{children:["Sign payload Request from ",e.appMetadata.name]}),(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(BX,{children:e.payload}),(0,Yn.jsx)(IJ,{justifyContent:"center",display:"flex",children:(0,Yn.jsx)(rte,{onSubmit:async r=>{const i=await r.signer.sign(e.payload),o={type:HW.SignPayloadResponse,id:e.id,signingType:e.signingType,signature:i.prefixSig};await Ste.respond(o),n({description:"Successfully submitted Beacon operation",status:"success"}),t()},signer:r})})]})},ite=e=>(0,Yn.jsx)(LF,{width:"14px",height:"14px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M13 1L7 7M13 1V4.375M13 1H9.625M12.25 7.375V10.6C12.25 11.4401 12.25 11.8601 12.0865 12.181C11.9427 12.4632 11.7132 12.6927 11.431 12.8365C11.1101 13 10.6901 13 9.85 13H3.4C2.55992 13 2.13988 13 1.81901 12.8365C1.53677 12.6927 1.3073 12.4632 1.16349 12.181C1 11.8601 1 11.4401 1 10.6V4.15C1 3.30992 1 2.88988 1.16349 2.56901C1.3073 2.28677 1.53677 2.0573 1.81901 1.91349C2.13988 1.75 2.55992 1.75 3.4 1.75H6.625",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),ote=({hash:e})=>{const r=`${i3().tzktExplorerUrl}/${e}`,{onClose:n}=(0,t.useContext)(kW),i=VH();return(0,Yn.jsxs)(IX,{paddingY:"20px",children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(MX,{textAlign:"center",children:"Operation Submitted"}),(0,Yn.jsx)(BX,{children:(0,Yn.jsx)(Zn,{justifyContent:"center",marginTop:"10px",children:(0,Yn.jsx)(NX,{color:"text.dark",textAlign:"center",size:"sm",children:"You can follow this operation's progress in the Operations section. It may take up to 30 seconds to appear."})})}),(0,Yn.jsxs)(IJ,{justifyContent:"center",flexDirection:"column",width:"100%",children:[(0,Yn.jsx)(_i,{width:"100%",onClick:()=>{n(),i("/operations")},size:"lg",children:"See all Operations"}),(0,Yn.jsx)(vV,{rel:"noopener noreferrer",target:"_blank",to:r,children:(0,Yn.jsx)(Zn,{alignItems:"center",marginTop:"24px",children:(0,Yn.jsxs)(_i,{variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"View in Tzkt"}),(0,Yn.jsx)(ite,{stroke:"currentcolor"})]})})})]})]})},ate=(e,r)=>{const{onClose:n}=(0,t.useContext)(kW),[i,o]=(0,t.useState)(null),a=i3(),{isLoading:s,handleAsyncAction:c}=Yee(),{openWith:l}=(0,t.useContext)(kW),u=h0({mode:"onBlur",defaultValues:{signer:e.signer.address.pkh,sender:e.sender.address.pkh}});(0,t.useEffect)((()=>{c((async()=>{const t=await kE(e,a);o(t)}),(e=>(n(),{title:"Error",description:`Error while processing beacon request: ${e.message}`,status:"error"})))}),[a,e]);return{fee:i,form:u,isSigning:s,onSign:async t=>c((async()=>{const{opHash:n}=await QE(e,t);l((0,Yn.jsx)(ote,{hash:n})),r(n)}))}},ste=({mutezAmount:e})=>(0,Yn.jsxs)(Zn,{alignItems:"center",height:"60px",padding:"15px",background:E$.gray[800],borderRadius:"4px",children:[(0,Yn.jsx)(N5,{marginRight:"12px"}),(0,Yn.jsx)(Zn,{alignItems:"end",children:(0,Yn.jsx)(D3,{number:d3(e)})})]}),cte=({fee:e})=>(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"sm",children:"Fee:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"fee",size:"sm",children:d3(e)})]}),lte=Gn(MX,{baseStyle:{padding:0,paddingBottom:"32px",textAlign:"center"}}),ute=({title:e="Send",subTitle:t="Send one or insert into batch"})=>(0,Yn.jsxs)(lte,{children:[(0,Yn.jsx)(NX,{fontWeight:"600",size:"2xl",children:e}),(0,Yn.jsx)(NX,{color:E$.gray[400],textAlign:"center",size:"sm",children:t}),(0,Yn.jsx)(DX,{})]});var dte=xV({d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z",displayName:"ArrowBackIcon"});const hte=({onClick:e})=>(0,Yn.jsx)(Z3,{...F$,"aria-label":"Back",icon:(0,Yn.jsx)(dte,{width:"24px",height:"20px"}),onClick:e,size:"sm",variant:"ghost"}),fte=(e,t)=>{let r;switch(e){case"implicit":r="batch"===t?"Submit":"Confirm";break;case"proposal":r="Propose"}switch(t){case"single":return`${r} Transaction`;case"batch":return`${r} Batch`}},pte=({goBack:e,mode:t,operationsType:r})=>(0,Yn.jsxs)(lte,{children:[e&&(0,Yn.jsx)(hte,{onClick:e}),(0,Yn.jsx)(NX,{fontWeight:"600",size:"2xl",children:fte(r,t)}),(0,Yn.jsx)(NX,{color:E$.gray[400],textAlign:"center",size:"sm",children:"Enter your password to confirm this transaction."}),(0,Yn.jsx)(DX,{})]}),mte=({operation:e,onBeaconSuccess:t})=>{const{amount:r,contract:n,entrypoint:i,args:o}=e.operations[0],{isSigning:a,form:s,onSign:c,fee:l}=ate(e,t);return l?(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{mode:"single",operationsType:e.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(ste,{mutezAmount:r}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",children:(0,Yn.jsx)(cte,{fee:l})}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"From "}),(0,Yn.jsx)(z3,{address:e.sender.address}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"To "}),(0,Yn.jsx)(z3,{address:n}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"Parameter"}),(0,Yn.jsx)(pJ,{allowToggle:!0,children:(0,Yn.jsxs)(mJ,{background:E$.gray[800],border:"none",borderRadius:"8px",children:[(0,Yn.jsxs)(gJ,{children:[(0,Yn.jsx)(Qn,{flex:"1",textAlign:"left",children:"JSON"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)(y0,{value:{entrypoint:i,values:o}})})]})})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isLoading:a,onSubmit:c,signer:e.signer,text:fte(e.type,"single")})})]})})}):null},gte=({operation:e,onBeaconSuccess:t})=>{const{recipient:r}=e.operations[0],{isSigning:n,form:i,onSign:o,fee:a}=ate(e,t);return a?(0,Yn.jsx)(oQ,{...i,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{mode:"single",operationsType:e.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:e.signer.address}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",marginBottom:"24px",paddingX:"4px",children:(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(cte,{fee:a})})}),(0,Yn.jsx)(b0,{children:"To"}),(0,Yn.jsx)(z3,{address:r})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isLoading:n,onSubmit:o,signer:e.signer,text:fte(e.type,"single")})})]})})}):null},vte=({operation:e,onBeaconSuccess:t})=>{const{amount:r,recipient:n}=e.operations[0],{isSigning:i,form:o,onSign:a,fee:s}=ate(e,t);return s?(0,Yn.jsx)(oQ,{...o,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{mode:"single",operationsType:e.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(ste,{mutezAmount:r}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",children:(0,Yn.jsx)(cte,{fee:s})}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"From "}),(0,Yn.jsx)(z3,{address:e.sender.address}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"To "}),(0,Yn.jsx)(z3,{address:n})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isLoading:i,onSubmit:a,signer:e.signer,text:fte(e.type,"single")})})]})})}):null},yte=({operation:e,onBeaconSuccess:t})=>{const{isSigning:r,form:n,onSign:i,fee:o}=ate(e,t);return o?(0,Yn.jsx)(oQ,{...n,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{mode:"single",operationsType:e.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:e.signer.address}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",paddingX:"4px",children:(0,Yn.jsx)(cte,{fee:o})})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isLoading:r,onSubmit:i,signer:e.signer,text:fte(e.type,"single")})})]})})}):null},bte=({operation:e,onBeaconSuccess:t})=>{switch(e.operations[0].type){case"tez":return(0,Yn.jsx)(vte,{onBeaconSuccess:t,operation:e});case"contract_call":return(0,Yn.jsx)(mte,{onBeaconSuccess:t,operation:e});case"delegation":return(0,Yn.jsx)(gte,{onBeaconSuccess:t,operation:e});case"undelegation":return(0,Yn.jsx)(yte,{onBeaconSuccess:t,operation:e});case"fa1.2":case"fa2":case"contract_origination":throw new Error("Unsupported operation type")}},wte=({message:e,onClose:t})=>{const r=P3(),n=DY();switch(e.type){case HW.PermissionRequest:return(0,Yn.jsx)(Y3,{onSuccess:t,request:e});case HW.SignPayloadRequest:return(0,Yn.jsx)(nte,{onSuccess:t,request:e});case HW.OperationRequest:{const o=r(e.sourceAddress);if(!o)return(0,Yn.jsxs)(Qn,{children:["Account not in this wallet ",e.sourceAddress]});try{const r=xte(e,o),i=async r=>{const i={type:HW.OperationResponse,id:e.id,transactionHash:r};try{await Ste.respond(i)}catch(o){console.warn("Failed to parse Beacon request",o),n({description:`Failed to confirm Beacon operation: ${o.message}`})}finally{t()}};return(0,Yn.jsx)(bte,{onBeaconSuccess:i,operation:r})}catch(i){return(0,Yn.jsxs)(Qn,{children:["Error handling operation request: ",i.message]})}}default:return(0,Yn.jsxs)("div",{children:["Unsupported request: ",e.type]})}},xte=({operationDetails:e},t)=>{if(0===e.length)throw new Error("Empty operation details!");if(e.length>1)throw new Error("Batch operation is not supported");const r=e[0],n=((e,t)=>{switch(e.kind){case KW.TRANSACTION:{const{destination:t,amount:r,parameters:n}=e;return fd(t)&&n?{type:"contract_call",amount:r,contract:md(t),entrypoint:n.entrypoint,args:n.value}:{type:"tez",amount:r,recipient:gd(e.destination)}}case KW.DELEGATION:{const{delegate:r}=e;return r?{type:"delegation",sender:t.address,recipient:gd(r)}:{type:"undelegation",sender:t.address}}default:return null}})(e[0],t);if(!n)throw new Error(`Unsupported operation: ${r.kind}`);return{type:"implicit",operations:[n],sender:t,signer:t}},_te=ld.object({name:ld.string(),publicKey:ld.string(),version:ld.string(),icon:ld.string().optional(),relayServer:ld.string().optional()}).parse,Ste=new NY({name:"Umami",iconUrl:"",appUrl:"https://umamiwallet.com/"}),kte="beaconPeers",Ete=()=>{const e=(0,Oi.useQueryClient)();return()=>e.refetchQueries(kte)},Pte=()=>{const e=Ete(),t=(()=>{const e=eo();return t=>e(qP.actions.removeConnection({dAppId:t}))})();return r=>Ste.removePeer(r).then((()=>t(r.senderId))).then(e)},Ote=()=>{const e=Ete(),t=DY();return r=>{(new MG).deserialize(r).then(_te).then((t=>{Ste.addPeer(t).then(e)})).catch((e=>{t({description:"Beacon sync code in the clipboard is invalid. Please copy a beacon sync code from the dApp",status:"error"}),console.error(e)}))}},Ate=({children:e})=>{const{openWith:r,onClose:n}=(0,t.useContext)(kW);return(0,t.useEffect)((()=>{Ste.init().then((()=>{Ste.connect((e=>{r((0,Yn.jsx)(wte,{message:e,onClose:n}))}))})).catch(console.error)}),[n,r]),(0,Yn.jsx)(Yn.Fragment,{children:e})},Tte=1963879877,jte=-1890025422,Cte=e=>({address:md(e.address),threshold:Number(e.storage.threshold),signers:e.storage.signers.map(gd),pendingOperationsBigmapId:e.storage.pending_ops}),Rte=async(e,t)=>VE((async()=>{const r=await(e=>VE((async()=>{try{const t=`${e.tzktApiUrl}/v1/contracts?typeHash=1963879877&codeHash=-1890025422&includeStorage=true&limit=10000`,{data:r}=await nE.get(t);return r}catch(t){throw new Error(`Error fetching same contracts from tzkt: ${t.message}`)}})))(t);return r.filter((({storage:{signers:t}})=>{if(!(0,iE.every)(t,pd))return!1;const r=t.filter((t=>e.has(t)));return r.length>0})).map(Cte)})),Ite=e=>{const{bigmap:t,key:r,value:n}=e;if(null===r||null===n)throw new Error("parseMultisigOperation failed");return{id:r,bigmapId:t,rawActions:n.actions,approvals:n.approvals.map(gd)}},Mte=async(e,t)=>0===e.length?[]:VE((async()=>{const r=e.map((e=>e.pendingOperationsBigmapId)),n=await((e,t)=>0===e.length?Promise.resolve([]):VE((async()=>{const r=`${t.tzktApiUrl}/v1/bigmaps/keys?active=true&bigmap.in=${e.join(",")}&limit=10000`,{data:n}=await nE.get(r);return n})))(r,t);return(0,iE.compact)(n.map(Ite))})),Lte=async(e,t,r)=>{const n=await Mte(r,t);e(eO.setPendingOperations(n.flat()))},Nte=async(e,t,r)=>{const n=await qE(r,t);e(DP.updateTezBalance(n.flat()))},Dte=async(e,t,r)=>{const n=await KE(r,t),i=n.flat().map((({token:e,lastLevel:t})=>({...e,lastLevel:t})));e(aO.addTokens({network:t,tokens:i})),e(DP.updateTokenBalance(n.flat()))},Bte=async e=>{const t=await(async()=>{const{data:{data:{priceUsd:e}}}=await nE.get("https://api.coincap.io/v2/assets/tezos");return null!==e&&void 0!==e?e:null})();e(DP.updateConversionRate({rate:t}))},zte=()=>{const e=t3(),r=E3(),n=r3((e=>e.assets.refetchTrigger)),i=i3(),o=(0,Oi.useQueryClient)(),a=DY(),s=r.map((e=>e.address.pkh)),c=(0,Oi.useQuery)("allAssets",{queryFn:()=>(async(e,t,r)=>{try{e(DP.setIsLoading(!0));const n=await Rte(new Set(r),t);e(eO.setMultisigs(n));const i=[...r,...n.map((e=>e.address.pkh))];await Promise.all([Lte(e,t,n),Nte(e,t,i),Dte(e,t,i)]),e(DP.setLastTimeUpdated((new Date).toUTCString()))}finally{e(DP.setIsLoading(!1))}})(e,i,s),onError:t=>{e(XP.actions.add(Gee(t))),a({description:`Data fetching error: ${t.message}`,status:"error",isClosable:!0})},retry:!1,refetchInterval:15e3,refetchIntervalInBackground:!0,refetchOnWindowFocus:!1}),l=(0,Oi.useQuery)("conversionRate",{queryFn:()=>Bte(e),refetchInterval:3e5,refetchIntervalInBackground:!0,refetchOnWindowFocus:!1}),u=(0,Oi.useQuery)("blockNumber",{queryFn:()=>(async(e,t)=>{const r=await XE(t);e(DP.updateBlockLevel(r))})(e,i),retry:!1,refetchInterval:15e3,refetchIntervalInBackground:!0,refetchOnWindowFocus:!1}),d=(0,Oi.useQuery)("bakers",{queryFn:()=>(async(e,t)=>{const r=(await JE(t)).map((({address:e,alias:t,stakingBalance:r})=>({address:e,stakingBalance:r,name:null!==t&&void 0!==t?t:"Unknown baker"})));e(DP.updateBakers(r))})(e,i),retry:!1,refetchInterval:72e5,refetchIntervalInBackground:!0,refetchOnWindowFocus:!1}),h=(0,t.useRef)(l),f=(0,t.useRef)(u),p=(0,t.useRef)(c),m=(0,t.useRef)(d);(0,t.useEffect)((()=>{o.cancelQueries({queryKey:"allAssets"}),o.cancelQueries({queryKey:"conversionRate"}),o.cancelQueries({queryKey:"blockNumber"}),o.cancelQueries({queryKey:"bakers"}),h.current.refetch(),f.current.refetch(),p.current.refetch(),m.current.refetch()}),[i,n,o])},Ute=()=>{const e=DY(),r=Ote(),n=(0,t.useRef)(r),i=(0,t.useRef)(e),o=(e,t)=>{const r=t.replace(":///","://");if(r.startsWith("umami://auth/")){const e=(e=>{const t=e.replace("umami://auth/",""),r=new URLSearchParams(t),n={instanceParams:{insanceId:r.get("instanceId"),verifier:r.get("verifier"),typeOfLogin:r.get("typeOfLogin"),redirectToOpener:r.get("redirectToOpener")},hashParams:{state:r.get("state"),access_token:r.get("access_token"),token_type:r.get("token_type"),expires_in:r.get("expires_in"),scope:r.get("scope"),id_token:r.get("id_token"),authuser:r.get("authuser"),hd:r.get("hd"),prompt:r.get("prompt")}};return{channel:r.get("channel"),data:n,error:r.get("error")}})(r);window.postMessage(e)}else if(r.startsWith("umami://?type=tzip10&data=")){const e=new URL(r).searchParams.get("data");e?n.current(e):i.current({title:"Linkhandler",description:"Data Payload missing"})}else i.current({title:"Linkhandler",description:"Unsupported link type"})};(0,t.useEffect)((()=>{const e=window;return e&&e.electronAPI&&e.electronAPI.onDeeplink(o),()=>{}}),[])};var Fte=re(((e,t)=>{var r;const{overflow:n,overflowX:i,className:o,...a}=e;return(0,Yn.jsx)(Gn.div,{ref:t,className:ne("chakra-table__container",o),...a,__css:{display:"block",whiteSpace:"nowrap",WebkitOverflowScrolling:"touch",overflowX:null!=(r=null!=n?n:i)?r:"auto",overflowY:"hidden",maxWidth:"100%"}})})),[$te,Hte]=ui({name:"TableStylesContext",errorMessage:"useTableStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),Vte=re(((e,t)=>{const r=ci("Table",e),{className:n,layout:i,...o}=Jt(e);return(0,Yn.jsx)($te,{value:r,children:(0,Yn.jsx)(Gn.table,{ref:t,__css:{tableLayout:i,...r.table},className:ne("chakra-table",n),...o})})}));Vte.displayName="Table";var qte=re(((e,t)=>{const r=Hte();return(0,Yn.jsx)(Gn.tbody,{...e,ref:t,__css:r.tbody})})),Kte=re(((e,t)=>{const r=Hte();return(0,Yn.jsx)(Gn.tr,{...e,ref:t,__css:r.tr})})),Wte=re((({isNumeric:e,...t},r)=>{const n=Hte();return(0,Yn.jsx)(Gn.td,{...t,ref:r,__css:n.td,"data-is-numeric":e})}));function Gte(e){return b5({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"}},{tag:"path",attr:{d:"M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z"}}]})(e)}function Yte(e){return b5({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"}}]})(e)}function Zte(e){return b5({tag:"svg",attr:{viewBox:"0 0 15 15",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M7.49991 0.877045C3.84222 0.877045 0.877075 3.84219 0.877075 7.49988C0.877075 11.1575 3.84222 14.1227 7.49991 14.1227C11.1576 14.1227 14.1227 11.1575 14.1227 7.49988C14.1227 3.84219 11.1576 0.877045 7.49991 0.877045ZM1.82708 7.49988C1.82708 4.36686 4.36689 1.82704 7.49991 1.82704C10.6329 1.82704 13.1727 4.36686 13.1727 7.49988C13.1727 10.6329 10.6329 13.1727 7.49991 13.1727C4.36689 13.1727 1.82708 10.6329 1.82708 7.49988ZM10.1589 5.53774C10.3178 5.31191 10.2636 5.00001 10.0378 4.84109C9.81194 4.68217 9.50004 4.73642 9.34112 4.96225L6.51977 8.97154L5.35681 7.78706C5.16334 7.59002 4.84677 7.58711 4.64973 7.78058C4.45268 7.97404 4.44978 8.29061 4.64325 8.48765L6.22658 10.1003C6.33054 10.2062 6.47617 10.2604 6.62407 10.2483C6.77197 10.2363 6.90686 10.1591 6.99226 10.0377L10.1589 5.53774Z",fill:"currentColor"}}]})(e)}function Xte(e){return b5({tag:"svg",attr:{viewBox:"0 0 15 15",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M12.8536 2.85355C13.0488 2.65829 13.0488 2.34171 12.8536 2.14645C12.6583 1.95118 12.3417 1.95118 12.1464 2.14645L7.5 6.79289L2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L6.79289 7.5L2.14645 12.1464C1.95118 12.3417 1.95118 12.6583 2.14645 12.8536C2.34171 13.0488 2.65829 13.0488 2.85355 12.8536L7.5 8.20711L12.1464 12.8536C12.3417 13.0488 12.6583 13.0488 12.8536 12.8536C13.0488 12.6583 13.0488 12.3417 12.8536 12.1464L8.20711 7.5L12.8536 2.85355Z",fill:"currentColor"}}]})(e)}const Jte="TOAST_ID",Qte=({pkh:e,formatAddress:t=!0,copyable:r=!0,iconColor:n=E$.gray[600],...i})=>(0,Yn.jsx)(ere,{copyValue:r?e:void 0,displayText:t?h3(e):e,iconColor:n,toastMessage:"Address copied to clipboard",...i}),ere=({displayText:e,copyValue:t,toastMessage:r,iconColor:n,...i})=>{const o=DY();return(0,Yn.jsxs)(Zn,{alignItems:"center",...i,children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[400],size:"sm",children:e}),t&&(0,Yn.jsx)(s5,{stroke:E$.gray[450],_hover:{stroke:E$.green},cursor:"pointer",onClick:()=>(async()=>{t&&(await navigator.clipboard.writeText(t),r&&!o.isActive(Jte)&&o({id:Jte,render:()=>(0,Yn.jsx)(tre,{message:r,onClose:()=>{o.close(Jte)}})}))})()})]})},tre=({message:e,onClose:t})=>(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",padding:2,borderRadius:"4px",backgroundColor:"white",children:[(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(LF,{as:Gte,margin:1,color:E$.green}),(0,Yn.jsx)(NX,{color:"black",children:e})]}),(0,Yn.jsx)(LF,{as:Xte,color:"black",_hover:{color:E$.gray[600]},cursor:"pointer",onClick:t})]}),rre=({title:e,buttonText:r,contact:n})=>{const i=t3(),o=A3(),{isOpen:a,onClose:s}=(0,t.useContext)(kW),{handleSubmit:c,formState:{isValid:l,errors:u},register:d,reset:h,getValues:f}=h0({mode:"onBlur",defaultValues:n}),p=void 0!==n,m=O3(),{nameExistsInContacts:g,addressExistsInContacts:v}=S3(),y=(0,t.useRef)(h);return(0,t.useEffect)((()=>{a&&y.current(n)}),[a,n]),(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:c((({name:e,pkh:t})=>{var r;r={name:e.trim(),pkh:t},o(r.pkh)||(i(YP.upsert(r)),s()),h()})),children:[(0,Yn.jsx)(MX,{textAlign:"center",children:e}),(0,Yn.jsx)(DX,{}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!u.name,marginY:5,children:[(0,Yn.jsx)(b0,{children:"Name"}),(0,Yn.jsx)(O0,{type:"text",...d("name",{required:"Name is required",validate:e=>m.map((e=>e.label)).includes(e)?"Name already used in accounts":!g(e.trim())||"Name already registered"}),placeholder:"Enter contact's name"}),u.name&&(0,Yn.jsx)(Qee,{children:u.name.message})]}),(0,Yn.jsxs)(OJ,{isInvalid:!!u.pkh,marginY:5,children:[(0,Yn.jsx)(b0,{children:"Address"}),(0,Yn.jsx)(O0,{type:"text",...d("pkh",{required:"Address is required",validate:e=>hd(e)?p?f("name")!==n.name:o(e)?"Address already used in accounts":!v(e)||"Address already registered":"Invalid address"}),disabled:p,placeholder:"Enter contact\u2019s tz address",value:null===n||void 0===n?void 0:n.pkh,variant:p?"filled":void 0}),u.pkh&&(0,Yn.jsx)(Qee,{children:u.pkh.message})]})]}),(0,Yn.jsx)(IJ,{padding:"16px 0 0 0",children:(0,Yn.jsx)(Qn,{width:"100%",children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:2,isDisabled:!l,size:"lg",type:"submit",children:r})})})]})})},nre=({contact:e})=>{const r=t3(),{onClose:n}=(0,t.useContext)(kW);return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsx)(MX,{textAlign:"center",children:"Delete Contact"}),(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(BX,{children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",flexDirection:"column",children:[(0,Yn.jsx)(NX,{color:E$.gray[400],size:"sm",children:"Are you sure you want to remove this contact?"}),(0,Yn.jsxs)(Qn,{marginTop:5,children:[(0,Yn.jsx)(li,{marginBottom:3,textAlign:"center",size:"md",children:e.name}),(0,Yn.jsx)(Qte,{pkh:e.pkh})]})]})}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Qn,{width:"100%",children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:2,onClick:()=>{r(YP.remove(e.pkh)),n()},variant:"warning",children:"Delete"})})})]})};var ire=re((function(e,t){const{borderLeftWidth:r,borderBottomWidth:n,borderTopWidth:i,borderRightWidth:o,borderWidth:a,borderStyle:s,borderColor:c,...l}=si("Divider",e),{className:u,orientation:d="horizontal",__css:h,...f}=Jt(e),p={vertical:{borderLeftWidth:r||o||a||"1px",height:"100%"},horizontal:{borderBottomWidth:n||i||a||"1px",width:"100%"}};return(0,Yn.jsx)(Gn.hr,{ref:t,"aria-orientation":d,...f,__css:{...l,border:"0",borderColor:c,borderStyle:s,...p[d],...h},className:ne("chakra-divider",u)})}));function ore(e){const{isOpen:r,ref:n}=e,[i,o]=(0,t.useState)(r),[a,s]=(0,t.useState)(!1);(0,t.useEffect)((()=>{a||(o(r),s(!0))}),[r,a,i]),P2((()=>n.current),"animationend",(()=>{o(r)}));return{present:!(!r&&!i),onComplete(){var e;const t=function(e){var t,r;return null!=(r=null==(t=xX(e))?void 0:t.defaultView)?r:window}(n.current),r=new t.CustomEvent("animationend",{bubbles:!0});null==(e=n.current)||e.dispatchEvent(r)}}}ire.displayName="Divider";var are=()=>"undefined"!==typeof window;var sre=e=>are()&&e.test(function(){var e;const t=navigator.userAgentData;return null!=(e=null==t?void 0:t.platform)?e:navigator.platform}()),cre=()=>sre(/mac|iphone|ipad|ipod/i)&&(e=>are()&&e.test(navigator.vendor))(/apple/i);function lre(e){const t=e.current;if(!t)return!1;const r=function(e){return xX(e).activeElement}(t);return!!r&&(!t.contains(r)&&!(!((n=r)&&wX(n)&&EX(n))||SX(n)));var n}function ure(e,t){const{shouldFocus:r,visible:n,focusRef:i}=t,o=r&&!n;PM((()=>{if(!o)return;if(lre(e))return;const t=(null==i?void 0:i.current)||e.current;let r;return t?(r=requestAnimationFrame((()=>{t.focus({preventScroll:!0})})),()=>{cancelAnimationFrame(r)}):void 0}),[o,e,i])}var dre={preventScroll:!0,shouldFocus:!1};function hre(e){const{wasSelected:t,enabled:r,isSelected:n,mode:i="unmount"}=e;return!r||(!!n||!("keepMounted"!==i||!t))}var fre={click:"click",hover:"hover"};function pre(e={}){const{closeOnBlur:r=!0,closeOnEsc:n=!0,initialFocusRef:i,id:o,returnFocusOnClose:a=!0,autoFocus:s=!0,arrowSize:c,arrowShadowColor:l,trigger:u=fre.click,openDelay:d=200,closeDelay:h=200,isLazy:f,lazyBehavior:p="unmount",computePositionOnMount:m,...g}=e,{isOpen:v,onClose:y,onOpen:b,onToggle:w}=E2(e),x=(0,t.useRef)(null),_=(0,t.useRef)(null),S=(0,t.useRef)(null),k=(0,t.useRef)(!1),E=(0,t.useRef)(!1);v&&(E.current=!0);const[P,O]=(0,t.useState)(!1),[A,T]=(0,t.useState)(!1),j=(0,t.useId)(),C=null!=o?o:j,[R,I,M,L]=["popover-trigger","popover-content","popover-header","popover-body"].map((e=>`${e}-${C}`)),{referenceRef:N,getArrowProps:D,getPopperProps:B,getArrowInnerProps:z,forceUpdate:U}=S2({...g,enabled:v||!!m}),F=ore({isOpen:v,ref:S});!function(e){const{ref:t,elements:r,enabled:n}=e,i=()=>{var e,r;return null!=(r=null==(e=t.current)?void 0:e.ownerDocument)?r:document};P2(i,"pointerdown",(e=>{if(!cre()||!n)return;const o=e.target,a=(null!=r?r:[t]).some((e=>{const t="current"in e?e.current:e;return(null==t?void 0:t.contains(o))||t===o}));i().activeElement!==o&&a&&(e.preventDefault(),o.focus())}))}({enabled:v,ref:_}),ure(S,{focusRef:_,visible:v,shouldFocus:a&&u===fre.click}),function(e,r=dre){const{focusRef:n,preventScroll:i,shouldFocus:o,visible:a}=r,s="current"in e?e.current:e,c=o&&a,l=(0,t.useRef)(c),u=(0,t.useRef)(a);jO((()=>{!u.current&&a&&(l.current=c),u.current=a}),[a,c]);const d=(0,t.useCallback)((()=>{if(a&&s&&l.current&&(l.current=!1,!s.contains(document.activeElement)))if(null==n?void 0:n.current)requestAnimationFrame((()=>{var e;null==(e=n.current)||e.focus({preventScroll:i})}));else{const e=TX(s);e.length>0&&requestAnimationFrame((()=>{e[0].focus({preventScroll:i})}))}}),[a,i,s,n]);PM((()=>{d()}),[d]),P2(s,"transitionend",d)}(S,{focusRef:i,visible:v,shouldFocus:s&&u===fre.click});const $=hre({wasSelected:E.current,enabled:f,mode:p,isSelected:F.present}),H=(0,t.useCallback)(((e={},t=null)=>{const i={...e,style:{...e.style,transformOrigin:$0.transformOrigin.varRef,[$0.arrowSize.var]:c?`${c}px`:void 0,[$0.arrowShadowColor.var]:l},ref:wi(S,t),children:$?e.children:null,id:I,tabIndex:-1,role:"dialog",onKeyDown:ue(e.onKeyDown,(e=>{n&&"Escape"===e.key&&y()})),onBlur:ue(e.onBlur,(e=>{const t=gre(e),n=mre(S.current,t),i=mre(_.current,t);v&&r&&(!n&&!i)&&y()})),"aria-labelledby":P?M:void 0,"aria-describedby":A?L:void 0};return u===fre.hover&&(i.role="tooltip",i.onMouseEnter=ue(e.onMouseEnter,(()=>{k.current=!0})),i.onMouseLeave=ue(e.onMouseLeave,(e=>{null!==e.nativeEvent.relatedTarget&&(k.current=!1,setTimeout((()=>y()),h))}))),i}),[$,I,P,M,A,L,u,n,y,v,r,h,l,c]),V=(0,t.useCallback)(((e={},t=null)=>B({...e,style:{visibility:v?"visible":"hidden",...e.style}},t)),[v,B]),q=(0,t.useCallback)(((e,t=null)=>({...e,ref:wi(t,x,N)})),[x,N]),K=(0,t.useRef)(),W=(0,t.useRef)(),G=(0,t.useCallback)((e=>{null==x.current&&N(e)}),[N]),Y=(0,t.useCallback)(((e={},t=null)=>{const n={...e,ref:wi(_,t,G),id:R,"aria-haspopup":"dialog","aria-expanded":v,"aria-controls":I};return u===fre.click&&(n.onClick=ue(e.onClick,w)),u===fre.hover&&(n.onFocus=ue(e.onFocus,(()=>{void 0===K.current&&b()})),n.onBlur=ue(e.onBlur,(e=>{const t=gre(e),n=!mre(S.current,t);v&&r&&n&&y()})),n.onKeyDown=ue(e.onKeyDown,(e=>{"Escape"===e.key&&y()})),n.onMouseEnter=ue(e.onMouseEnter,(()=>{k.current=!0,K.current=window.setTimeout((()=>b()),d)})),n.onMouseLeave=ue(e.onMouseLeave,(()=>{k.current=!1,K.current&&(clearTimeout(K.current),K.current=void 0),W.current=window.setTimeout((()=>{!1===k.current&&y()}),h)}))),n}),[R,v,I,u,G,w,b,r,y,d,h]);(0,t.useEffect)((()=>()=>{K.current&&clearTimeout(K.current),W.current&&clearTimeout(W.current)}),[]);const Z=(0,t.useCallback)(((e={},t=null)=>({...e,id:M,ref:wi(t,(e=>{O(!!e)}))})),[M]),X=(0,t.useCallback)(((e={},t=null)=>({...e,id:L,ref:wi(t,(e=>{T(!!e)}))})),[L]);return{forceUpdate:U,isOpen:v,onAnimationComplete:F.onComplete,onClose:y,getAnchorProps:q,getArrowProps:D,getArrowInnerProps:z,getPopoverPositionerProps:V,getPopoverProps:H,getTriggerProps:Y,getHeaderProps:Z,getBodyProps:X}}function mre(e,t){return e===t||(null==e?void 0:e.contains(t))}function gre(e){var t;const r=e.currentTarget.ownerDocument.activeElement;return null!=(t=e.relatedTarget)?t:r}var[vre,yre]=ui({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[bre,wre]=ui({name:"PopoverStylesContext",errorMessage:"usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "});function xre(e){const t=ci("Popover",e),{children:r,...n}=Jt(e),i=pre({...n,direction:ri().direction});return(0,Yn.jsx)(vre,{value:i,children:(0,Yn.jsx)(bre,{value:t,children:ae(r,{isOpen:i.isOpen,onClose:i.onClose,forceUpdate:i.forceUpdate})})})}function _re(e){const r=t.Children.only(e.children),{getTriggerProps:n}=yre();return(0,t.cloneElement)(r,n(r.props,r.ref))}function Sre(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}xre.displayName="Popover",_re.displayName="PopoverTrigger";var kre={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},Ere=Gn(jF.section),Pre=re((function(e,t){const{variants:r=kre,...n}=e,{isOpen:i}=yre();return(0,Yn.jsx)(Ere,{ref:t,variants:Sre(r),initial:!1,animate:i?"enter":"exit",...n})}));Pre.displayName="PopoverTransition";var Ore=re((function(e,t){const{rootProps:r,motionProps:n,...i}=e,{getPopoverProps:o,getPopoverPositionerProps:a,onAnimationComplete:s}=yre(),c=wre(),l={position:"relative",display:"flex",flexDirection:"column",...c.content};return(0,Yn.jsx)(Gn.div,{...a(r),__css:c.popper,className:"chakra-popover__popper",children:(0,Yn.jsx)(Pre,{...n,...o(i,t),onAnimationComplete:de(s,i.onAnimationComplete),className:ne("chakra-popover__content",e.className),__css:l})})}));Ore.displayName="PopoverContent";var Are=re((function(e,t){const{getBodyProps:r}=yre(),n=wre();return(0,Yn.jsx)(Gn.div,{...r(e,t),className:ne("chakra-popover__body",e.className),__css:n.body})}));Are.displayName="PopoverBody";const Tre=e=>{const{onOpen:t,onClose:r,isOpen:n}=aK();return(0,Yn.jsxs)(xre,{isOpen:n,onClose:r,onOpen:t,placement:"bottom-start",children:[(0,Yn.jsx)(_re,{children:(0,Yn.jsx)(_i,{minWidth:"24px",height:"24px",padding:"0",background:n?E$.green:E$.gray[500],border:"none",borderRadius:"full",_hover:{bg:n?E$.green:E$.gray[450]},"data-testid":"popover-cta",variant:"unstyled",children:(0,Yn.jsx)(Xn,{children:(0,Yn.jsx)(LF,{as:Yte,display:"inline",color:E$.white})})})}),(0,Yn.jsx)(Ore,{width:"100px",background:E$.gray[700],children:(0,Yn.jsx)(Are,{borderRadius:"lg",children:e.children})})]})},jre=({onRename:e,onRemove:t})=>(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(Tre,{children:(0,Yn.jsxs)(Qn,{paddingY:"0",children:[(0,Yn.jsx)(_i,{height:t?"24px":"28px",onClick:e,variant:"popover",children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Rename"}),(0,Yn.jsx)(O5,{stroke:"inherit"})]})}),t&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ire,{marginY:"4px"}),(0,Yn.jsx)(_i,{"data-testid":"popover-remove",onClick:t,variant:"popover",children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Remove"}),(0,Yn.jsx)(U5,{stroke:"inherit"})]})})]})]})})}),Cre=({onClick:e,...t})=>(0,Yn.jsxs)(_i,{width:"60px",onClick:e,variant:"specialCTA",...t,children:[(0,Yn.jsx)(P5,{stroke:"currentcolor"}),(0,Yn.jsx)(NX,{marginLeft:"4px",children:"Send"})]}),Rre=({sender:e,operationType:t,isLoading:r,reEstimate:n})=>{switch(t){case"proposal":return(0,Yn.jsx)(OJ,{marginTop:"24px","data-testid":"signer-selector",children:(0,Yn.jsx)(G3,{account:e,inputName:"signer",isLoading:r,keepValid:!0,label:"Select Proposer",onUpdate:n})});case"implicit":return null}},Ire=(e,t,r)=>{switch(e.type){case"ledger":case"mnemonic":case"social":case"secret_key":if(e.address.pkh!==t.address.pkh)throw new Error("Sender and Signer must be the same");return{type:"implicit",operations:r,signer:e,sender:e};case"multisig":return{type:"proposal",operations:r,sender:e,signer:t}}},Mre=()=>{const e=t3(),t=i3();return r=>e(HP.clear({pkh:r.address.pkh,network:t}))},Lre=({isLoading:e,isValid:t,onSingleSubmit:r,onAddToBatch:n,showPreview:i=!0})=>(0,Yn.jsx)(Yn.Fragment,{children:(0,Yn.jsxs)(Qn,{width:"100%",children:[i&&(0,Yn.jsx)(_i,{width:"100%",marginBottom:"16px",isDisabled:!t,isLoading:e,onClick:r,size:"lg",type:"submit",children:"Preview"}),(0,Yn.jsx)(_i,{width:"100%",isDisabled:!t,isLoading:e,onClick:n,size:"lg",type:"submit",variant:"tertiary",children:"Insert Into Batch"})]})}),Nre=({sender:e,form:t})=>t||(e?{sender:e.address.pkh}:{}),Dre=(e,r,n)=>{const[i,o]=(0,t.useState)(!1),a=(()=>{const e=P3();return t=>e(t)})(),[s,c]=(0,t.useState)(e),[l,u]=(0,t.useState)(r),d=i3(),h=Mre(),{isLoading:f,handleAsyncAction:p,handleAsyncActionUnsafe:m}=Yee(),{openWith:g}=(0,t.useContext)(kW),v=h0({mode:"onBlur",defaultValues:{signer:l.signer.address.pkh,sender:l.sender.address.pkh}}),y=v.watch("signer");return{fee:s,estimationFailed:i,operations:l,isLoading:f,form:v,signer:a(y),reEstimate:async e=>m((async()=>{const t={...l,signer:a(e)};c(await kE(l,d)),u(t),o(!1)}),{isClosable:!0,duration:null}).catch((()=>o(!0))),onSign:async e=>p((async()=>{const{opHash:t}=await QE(l,e);"batch"===n&&h(l.sender),g((0,Yn.jsx)(ote,{hash:t}))}))}},Bre=e=>{const t=T3(),r=R3();return n=>{const i=t(n.sender);return Ire(i,r(i),[e(n)])}},zre=e=>{e<0&&(console.warn("Decimals cannot be negative"),e=0);return`${0===e?"":"0."+(0,iE.repeat)("0",e-1)}1`},Ure=e=>t=>{if(t.includes(".")){if(t.split(".")[1].length>e)return`Please enter a value with up to ${e} decimal places`}return!0},Fre=e=>{const{mode:t,operations:r,fee:n}=e,{fee:i,operations:o,estimationFailed:a,isLoading:s,form:c,signer:l,reEstimate:u,onSign:d}=Dre(n,r,t),{amount:h,recipient:f}=o.operations[0];return(0,Yn.jsx)(oQ,{...c,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:o.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(ste,{mutezAmount:h}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",children:(0,Yn.jsx)(cte,{fee:i})}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"From "}),(0,Yn.jsx)(z3,{address:o.sender.address}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"To "}),(0,Yn.jsx)(z3,{address:f}),(0,Yn.jsx)(Rre,{isLoading:s,operationType:o.type,reEstimate:u,sender:o.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:a,isLoading:s,onSubmit:d,signer:l,text:fte(o.type,t)})})]})})})},$re=(e,t)=>async r=>{await kE(e,t),r(HP.add({operations:e,network:t}))},Hre=({SignPage:e,signPageExtraData:r,FormPage:n,defaultFormPageProps:i,toOperation:o})=>{const{openWith:a}=(0,t.useContext)(kW),s=Bre(o),c=i3();return async t=>{const o=s(t);a((0,Yn.jsx)(e,{data:r,fee:await kE(o,c),goBack:()=>{a((0,Yn.jsx)(n,{...i,form:t}))},mode:"single",operations:o}))}},Vre=e=>{const{onClose:r}=(0,t.useContext)(kW),n=i3(),i=Bre(e),o=t3(),a=DY();return async e=>{const t=i(e);await o($re(t,n)),a({description:"Transaction added to batch!",status:"success"}),r()}},qre=e=>{const{handleAsyncAction:t,isLoading:r}=Yee();return{onFormSubmitActionHandlers:e.map((e=>async r=>t((()=>e(r))))),isLoading:r}},Kre=({showPreview:e=!0,...t})=>{const r=Hre({SignPage:Fre,signPageExtraData:void 0,FormPage:Kre,defaultFormPageProps:t,toOperation:Wre}),n=Vre(Wre),{onFormSubmitActionHandlers:[i,o],isLoading:a}=qre([r,n]),s=h0({mode:"onBlur",defaultValues:Nre(t)}),{formState:{isValid:c,errors:l},register:u,handleSubmit:d}=s;return(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(ute,{}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!l.prettyAmount,children:[(0,Yn.jsx)(b0,{children:"Amount"}),(0,Yn.jsxs)(k0,{children:[(0,Yn.jsx)(O0,{isDisabled:a,step:zre(6),type:"number",...u("prettyAmount",{required:"Amount is required",validate:Ure(6)}),placeholder:"0.000000"}),(0,Yn.jsx)(C0,{children:"\ua729"})]}),l.prettyAmount&&(0,Yn.jsx)(Qee,{"data-testid":"amount-error",children:l.prettyAmount.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.sender,children:[(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!!t.sender,label:"From"}),l.sender&&(0,Yn.jsx)(Qee,{"data-testid":"from-error",children:l.sender.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.recipient,children:[(0,Yn.jsx)(V3,{allowUnknown:!0,inputName:"recipient",label:"To"}),l.recipient&&(0,Yn.jsx)(Qee,{"data-testid":"recipient-error",children:l.recipient.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:a,isValid:c,onAddToBatch:d(o),onSingleSubmit:d(i),showPreview:e})})]})})})},Wre=e=>({type:"tez",amount:l3(e.prettyAmount).toFixed(),recipient:dd(e.recipient)}),Gre=({contacts:e})=>{const{openWith:r}=(0,t.useContext)(kW);return(0,Yn.jsx)(Qn,{overflow:"auto",background:E$.gray[900],borderRadius:"8px",paddingX:"30px",children:(0,Yn.jsx)(Fte,{overflowX:"unset",overflowY:"unset",children:(0,Yn.jsx)(Vte,{children:(0,Yn.jsx)(qte,{children:e.map(((t,n)=>{const i=n===e.length-1?"transparent":E$.gray[700];return(0,Yn.jsxs)(Kte,{"data-testid":"contact-row",children:[(0,Yn.jsx)(Wte,{borderColor:i,"data-testid":"contact-row-name",paddingX:"0",children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(Qn,{width:"150px",marginRight:"40px",children:(0,Yn.jsx)(NX,{overflow:"hidden",fontWeight:600,whiteSpace:"nowrap",textOverflow:"ellipsis",children:t.name})}),(0,Yn.jsx)(Qte,{justifyContent:"space-between","data-testid":"contact-row-pkh",formatAddress:!1,iconColor:E$.gray[400],pkh:t.pkh})]})}),(0,Yn.jsx)(Wte,{borderColor:i,paddingX:"0",children:(0,Yn.jsxs)(Zn,{justifyContent:"end",children:[(0,Yn.jsx)(Cre,{marginRight:"20px",onClick:()=>r((0,Yn.jsx)(Kre,{form:{sender:"",recipient:t.pkh,prettyAmount:""}}))}),(0,Yn.jsx)(jre,{onRemove:()=>{r((0,Yn.jsx)(nre,{contact:t}))},onRename:()=>{r((0,Yn.jsx)(rre,{buttonText:"Update",contact:t,title:"Edit contact"}))}})]})})]},t.pkh)}))})})})})};function Yre(e,r={}){const{ssr:n=!0,fallback:i}=r,{getWindow:o}=function({defer:e}={}){const[,r]=(0,t.useReducer)((e=>e+1),0);return jO((()=>{e&&r()}),[e]),(0,t.useContext)(MO)}(),a=Array.isArray(e)?e:[e];let s=Array.isArray(i)?i:[i];s=s.filter((e=>null!=e));const[c,l]=(0,t.useState)((()=>a.map(((e,t)=>({media:e,matches:n?!!s[t]:o().matchMedia(e).matches})))));return(0,t.useEffect)((()=>{const e=o();l(a.map((t=>({media:t,matches:e.matchMedia(t).matches}))));const t=a.map((t=>e.matchMedia(t))),r=e=>{l((t=>t.slice().map((t=>t.media===e.media?{...t,matches:e.matches}:t))))};return t.forEach((e=>{"function"===typeof e.addListener?e.addListener(r):e.addEventListener("change",r)})),()=>{t.forEach((e=>{"function"===typeof e.removeListener?e.removeListener(r):e.removeEventListener("change",r)}))}}),[o]),c.map((e=>e.matches))}Math.pow(10,8);function Zre(e){return Zre="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zre(e)}function Xre(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}function Jre(e){Xre(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===Zre(e)&&"[object Date]"===t?new Date(e.getTime()):"number"===typeof e||"[object Number]"===t?new Date(e):("string"!==typeof e&&"[object String]"!==t||"undefined"===typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function Qre(e,t){return Xre(2,arguments),Jre(e).getTime()-Jre(t).getTime()}var ene={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}},tne="trunc";function rne(e){return e?ene[e]:ene[tne]}var nne={};function ine(){return nne}function one(e,t){Xre(2,arguments);var r=Jre(e),n=Jre(t),i=r.getTime()-n.getTime();return i<0?-1:i>0?1:i}function ane(e){Xre(1,arguments);var t=Jre(e);return function(e){Xre(1,arguments);var t=Jre(e);return t.setHours(23,59,59,999),t}(t).getTime()===function(e){Xre(1,arguments);var t=Jre(e),r=t.getMonth();return t.setFullYear(t.getFullYear(),r+1,0),t.setHours(23,59,59,999),t}(t).getTime()}function sne(e,t){Xre(2,arguments);var r,n=Jre(e),i=Jre(t),o=one(n,i),a=Math.abs(function(e,t){Xre(2,arguments);var r=Jre(e),n=Jre(t);return 12*(r.getFullYear()-n.getFullYear())+(r.getMonth()-n.getMonth())}(n,i));if(a<1)r=0;else{1===n.getMonth()&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-o*a);var s=one(n,i)===-o;ane(Jre(e))&&1===a&&1===one(e,i)&&(s=!1),r=o*(a-Number(s))}return 0===r?0:r}var cne={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};const lne=function(e,t,r){var n,i=cne[e];return n="string"===typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),null!==r&&void 0!==r&&r.addSuffix?r.comparison&&r.comparison>0?"in "+n:n+" ago":n};function une(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.width?String(t.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}const dne={date:une({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:une({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:une({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})};var hne={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};const fne=function(e,t,r,n){return hne[e]};function pne(e){return function(t,r){var n;if("formatting"===(null!==r&&void 0!==r&&r.context?String(r.context):"standalone")&&e.formattingValues){var i=e.defaultFormattingWidth||e.defaultWidth,o=null!==r&&void 0!==r&&r.width?String(r.width):i;n=e.formattingValues[o]||e.formattingValues[i]}else{var a=e.defaultWidth,s=null!==r&&void 0!==r&&r.width?String(r.width):e.defaultWidth;n=e.values[s]||e.values[a]}return n[e.argumentCallback?e.argumentCallback(t):t]}}var mne={ordinalNumber:function(e,t){var r=Number(e),n=r%100;if(n>20||n<10)switch(n%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},era:pne({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:pne({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:pne({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:pne({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:pne({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};const gne=mne;function vne(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.width,i=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;var a,s=o[0],c=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(c)?function(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(yne.matchPattern);if(!r)return null;var n=r[0],i=e.match(yne.parsePattern);if(!i)return null;var o=yne.valueCallback?yne.valueCallback(i[0]):i[0];return{value:o=t.valueCallback?t.valueCallback(o):o,rest:e.slice(n.length)}}),era:vne({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:vne({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:vne({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:vne({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:vne({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};const wne={code:"en-US",formatDistance:lne,formatLong:dne,formatRelative:fne,localize:gne,match:bne,options:{weekStartsOn:0,firstWeekContainsDate:1}};function xne(e,t){if(null==e)throw new TypeError("assign requires that input parameter not be null or undefined");for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}function _ne(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}var Sne=43200;function kne(e,t,r){var n,i;Xre(2,arguments);var o=ine(),a=null!==(n=null!==(i=null===r||void 0===r?void 0:r.locale)&&void 0!==i?i:o.locale)&&void 0!==n?n:wne;if(!a.formatDistance)throw new RangeError("locale must contain formatDistance property");var s=one(e,t);if(isNaN(s))throw new RangeError("Invalid time value");var c,l,u=xne(xne({},r),{addSuffix:Boolean(null===r||void 0===r?void 0:r.addSuffix),comparison:s});s>0?(c=Jre(t),l=Jre(e)):(c=Jre(e),l=Jre(t));var d,h=function(e,t,r){Xre(2,arguments);var n=Qre(e,t)/1e3;return rne(null===r||void 0===r?void 0:r.roundingMethod)(n)}(l,c),f=(_ne(l)-_ne(c))/1e3,p=Math.round((h-f)/60);if(p<2)return null!==r&&void 0!==r&&r.includeSeconds?h<5?a.formatDistance("lessThanXSeconds",5,u):h<10?a.formatDistance("lessThanXSeconds",10,u):h<20?a.formatDistance("lessThanXSeconds",20,u):h<40?a.formatDistance("halfAMinute",0,u):h<60?a.formatDistance("lessThanXMinutes",1,u):a.formatDistance("xMinutes",1,u):0===p?a.formatDistance("lessThanXMinutes",1,u):a.formatDistance("xMinutes",p,u);if(p<45)return a.formatDistance("xMinutes",p,u);if(p<90)return a.formatDistance("aboutXHours",1,u);if(p<1440){var m=Math.round(p/60);return a.formatDistance("aboutXHours",m,u)}if(p<2520)return a.formatDistance("xDays",1,u);if(p{const t=i3(),r="mainnet"===t.name,n=r?"Buy Tez":"Request Tez from faucet",i=h0({mode:"onBlur",defaultValues:{address:e}}),{formState:{isValid:o,errors:a}}=i;let s=t.buyTezUrl;return t.buyTezUrl&&r&&(s+="/default/widget/"),(0,Yn.jsx)(oQ,{...i,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{action:s,rel:"noreferrer noopener",target:"_blank",children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(MX,{textAlign:"center",children:"Buy Tez"}),r&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)("input",{name:"commodity",type:"hidden",value:"XTZ:Tezos"}),(0,Yn.jsx)(NX,{color:E$.gray[400],textAlign:"center",size:"sm",children:"Please select the recipient account."}),(0,Yn.jsx)(BX,{children:(0,Yn.jsxs)(OJ,{"data-testid":"buy-tez-selector",isInvalid:!!a.address,paddingY:5,children:[(0,Yn.jsx)(q3,{allowUnknown:!1,inputName:"address",isDisabled:!!e,label:"Recipient Account"}),a.address&&(0,Yn.jsx)(Qee,{children:a.address.message})]})})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Qn,{width:"100%","data-testid":"buy-tez-button",children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:2,isDisabled:!o,size:"lg",type:"submit",children:n})})})]})})})},Pne=e=>(0,Yn.jsx)(LF,{width:"15px",height:"11px",fill:"none",stroke:"white",viewBox:"0 0 15 11",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M1.16602 5.98371L5.06345 9.85408L13.8327 1.14575",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),One=()=>{const e=t3(),r=r3((e=>e.assets.isLoading)),n=r3((e=>e.assets.lastTimeUpdated)),[i,o]=(0,t.useState)(!1),[a,s]=(0,t.useState)(!1),[c]=Yre("(max-width: 1200px)");if((0,t.useEffect)((()=>{if(n){o(!0),s(!0);const e=setTimeout((()=>{o(!1)}),2e3),t=setTimeout((()=>{s(!1)}),3500);return()=>{clearTimeout(e),clearTimeout(t)}}}),[n]),c||null===n)return null;const l=function(e,t,r){Xre(2,arguments);var n=Qre(e,t)/6e4;return rne(null===r||void 0===r?void 0:r.roundingMethod)(n)}(new Date,new Date(n))>=2,u={opacity:i?1:0,transition:"opacity 2s ease-in-out"};return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsxs)(NX,{display:"inline",color:E$.gray[400],size:"sm",style:a?u:void 0,children:[a&&"Updated just now",l&&`Updated ${kne(new Date(n),new Date)} ago`]}),(0,Yn.jsx)(Z3,{marginRight:"36px",marginLeft:"8px",_active:{color:"white",bg:E$.green},"aria-label":"refetch",backgroundColor:a?E$.green:E$.gray[500],"data-testid":"refetch-button",icon:a?(0,Yn.jsx)(Pne,{style:u}):(0,Yn.jsx)(o5,{color:"white"}),isLoading:r,onClick:()=>{e(DP.refetch())},variant:"circle_without_hover_color"})]})},Ane=({title:e,subtitle:r})=>{const{openWith:n}=(0,t.useContext)(kW);return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",height:"88px",children:[(0,Yn.jsxs)(Zn,{alignItems:"end",children:[(0,Yn.jsx)(li,{marginRight:"6px",size:"xl",children:e}),(0,Yn.jsx)(NX,{color:E$.gray[450],"data-testid":"nft-total-amount",size:"xs",children:r})]}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(One,{}),(0,Yn.jsx)(_i,{onClick:()=>n((0,Yn.jsx)(Ene,{})),variant:"tertiary",children:"Buy Tez"}),(0,Yn.jsx)(_i,{marginLeft:4,onClick:()=>n((0,Yn.jsx)(Kre,{})),children:"Send"})]})]}),(0,Yn.jsx)(ire,{})]})},Tne=()=>{const{openWith:e}=(0,t.useContext)(kW);return(0,Yn.jsxs)(_i,{alignItems:"center",justifyContent:"end",marginTop:"16px",marginBottom:"16px",cursor:"pointer",onClick:()=>e((0,Yn.jsx)(rre,{buttonText:"Add to Contact",title:"Add contact"})),variant:"CTAWithIcon",children:[(0,Yn.jsx)(L2,{stroke:"currentcolor"}),(0,Yn.jsx)(NX,{marginLeft:"4px",size:"sm",children:"Add contact"})]})},jne=()=>{const e=(()=>{const e=_3();return Object.values(e).sort(((e,t)=>e.name.localeCompare(t.name)))})();return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Address Book"}),(0,Yn.jsx)(Zn,{flexDirection:"row-reverse",children:(0,Yn.jsx)(Tne,{})}),(0,Yn.jsx)(Gre,{contacts:e})]})};var Cne=r(903),Rne=r.n(Cne);const Ine=({pkh:e,...t})=>{const r=O3().find((t=>t.address.pkh===e)),n=w3()(e);return r?(0,Yn.jsxs)(Zn,{alignItems:"space-between",cursor:"pointer","data-testid":"account-small-tile",...t,children:[(0,Yn.jsx)(J5,{height:"30px",marginRight:"12px",padding:"5px",address:e,identiconSize:20}),(0,Yn.jsxs)(Zn,{alignSelf:"center",height:"20px",children:[(0,Yn.jsx)(li,{marginRight:"10px","data-testid":"account-small-tile-label",size:"sm",children:r.label}),(0,Yn.jsx)(NX,{marginRight:"35px",color:E$.gray[300],"data-testid":"account-small-tile-pkh",size:"xs",children:h3(e)}),n&&(0,Yn.jsx)(li,{"data-testid":"account-small-tile-balance",size:"sm",children:d3(n)})]})]}):null};function Mne(e,t){var r;const n=e.target;if(n){if(!rK(n).contains(n))return!1}return!(null==(r=t.current)?void 0:r.contains(n))}var Lne=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function Nne(e){var t;const{bg:r,bgColor:n,backgroundColor:i,shadow:o,boxShadow:a,shadowColor:s}=e,{getArrowProps:c,getArrowInnerProps:l}=yre(),u=wre(),d=null!=(t=null!=r?r:n)?t:i,h=null!=o?o:a;return(0,Yn.jsx)(Gn.div,{...c(),className:"chakra-popover__arrow-positioner",children:(0,Yn.jsx)(Gn.div,{className:ne("chakra-popover__arrow",e.className),...l(e),__css:{"--popper-arrow-shadow-color":Lne("colors",s),"--popper-arrow-bg":Lne("colors",d),"--popper-arrow-shadow":Lne("shadows",h),...u.arrow}})})}Nne.displayName="PopoverArrow";const Dne=({addressKind:{type:e},...t})=>{switch(e){case"multisig":return(0,Yn.jsx)(f5,{"data-testid":`${e}-icon`,...t});case"fa1.2":return(0,Yn.jsx)(r5,{"data-testid":`${e}-icon`,...t,fill:t.stroke,stroke:"none"});case"fa2":return(0,Yn.jsx)(n5,{"data-testid":`${e}-icon`,...t,fill:t.stroke,stroke:"none"});case"baker":return(0,Yn.jsx)(D2,{"data-testid":`${e}-icon`,...t});case"contact":return(0,Yn.jsx)(H2,{"data-testid":`${e}-icon`,...t});case"unknown":case"implicit":return null}},Bne=({addressKind:{type:e,pkh:r},addressPillMode:n,...i})=>{const{addressExistsInContacts:o}=S3(),{openWith:a}=(0,t.useContext)(kW);if("removable"===n.type)return(0,Yn.jsx)(G5,{cursor:"pointer",onClick:n.onRemove,...i});return["implicit","multisig","baker"].includes(e)||o(r)?null:(0,Yn.jsx)(Yn.Fragment,{children:(0,Yn.jsx)(L2,{"data-testid":"add-contact-icon",onClick:()=>{a((0,Yn.jsx)(rre,{buttonText:"Add to Contact",contact:{name:"",pkh:r},title:"Add contact"}))},...i})})},zne=({addressKind:{pkh:e,label:t},showPkh:r,alias:n,...i})=>{const o=k3(),a=h3(e),s=o(e)||t||n;return r?(0,Yn.jsx)(NX,{...i,children:a}):(0,Yn.jsx)(NX,{...i,children:s?c3(s,21):a})},Une=e=>{const t=M3(e);if(!t)return null;const{pkh:r,label:n}=t;return{type:"multisig"===t.type?"multisig":"implicit",pkh:r,label:n}},Fne=({pkh:e})=>{const t=(e=>{const t=r3((t=>t.tokens[e.name]));return e=>{if(!t||!(e in t))return;const r=t[e],n=Object.keys(r)[0];return n?r[n].type:void 0}})(i3()),r=t(e);if(!r)return null;switch(r){case"fa1.2":return{pkh:e,type:"fa1.2",label:null};case"fa2":case"nft":return{pkh:e,type:"fa2",label:null}}},$ne=({address:e,mode:r={type:"default"},...n})=>{const i=!("pkh"in e&&"type"in e),o=i?dd(e.address):e,a=(e=>{const t=Une(e),r=Fne(e),n=L3(e),i=N3(e);return t||r||n||i||{pkh:e.pkh,type:"unknown",label:null}})(o),s="no_icons"!==r.type,{onOpen:c,onClose:l,isOpen:u}=aK(),[d,h]=(0,t.useState)(!1),f=(0,t.useRef)(null);let p,m,g;return function(e){const{ref:r,handler:n,enabled:i=!0}=e,o=oK(n),a=(0,t.useRef)({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;(0,t.useEffect)((()=>{if(!i)return;const e=e=>{Mne(e,r)&&(a.isPointerDown=!0)},t=e=>{a.ignoreEmulatedMouseEvents?a.ignoreEmulatedMouseEvents=!1:a.isPointerDown&&n&&Mne(e,r)&&(a.isPointerDown=!1,o(e))},s=e=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&Mne(e,r)&&(a.isPointerDown=!1,o(e))},c=rK(r.current);return c.addEventListener("mousedown",e,!0),c.addEventListener("mouseup",t,!0),c.addEventListener("touchstart",e,!0),c.addEventListener("touchend",s,!0),()=>{c.removeEventListener("mousedown",e,!0),c.removeEventListener("mouseup",t,!0),c.removeEventListener("touchstart",e,!0),c.removeEventListener("touchend",s,!0)}}),[n,r,o,a,i])}({ref:f,handler:()=>{h(!1)}}),u?(p=E$.green,m=E$.gray[300],g="white"):d?(p=E$.gray[450],m=E$.gray[400],g=E$.gray[200]):(p=E$.gray[500],m=E$.gray[450],g=E$.gray[300]),(0,Yn.jsx)(Qn,{maxWidth:"max-content","data-testid":"address-pill",...n,children:(0,Yn.jsxs)(Zn,{ref:f,alignItems:"center",background:p,borderRadius:"full",onMouseEnter:()=>{h(!0)},onMouseLeave:()=>{h(!1)},paddingX:"4px",children:[s&&(0,Yn.jsx)(Dne,{marginLeft:"4px",stroke:m,addressKind:a,"data-testid":"address-pill-left-icon"}),(0,Yn.jsxs)(xre,{autoFocus:!1,isOpen:u,onOpen:async()=>{await navigator.clipboard.writeText(o.pkh),c(),setTimeout(l,1e3)},children:[(0,Yn.jsx)(_re,{children:(0,Yn.jsx)(_i,{height:"24px",_focus:{boxShadow:"none"},onClick:e=>e.stopPropagation(),variant:"unstyled",children:(0,Yn.jsx)(zne,{color:g,cursor:"pointer",addressKind:a,alias:i&&e.alias?e.alias:void 0,"data-testid":"address-pill-text",marginX:"4px",showPkh:!s,size:"sm"})})}),(0,Yn.jsxs)(Ore,{maxWidth:"max-content",background:"white",children:[(0,Yn.jsx)(Nne,{background:"white !important"}),(0,Yn.jsx)(Are,{children:(0,Yn.jsx)(NX,{color:"black",size:"sm",children:"Copied!"})})]})]}),s&&(0,Yn.jsx)(Bne,{marginRight:"4px",stroke:E$.gray[300],cursor:"pointer",addressKind:a,addressPillMode:r,"data-testid":"address-pill-right-icon"})]})})},Hne=({operation:e})=>{let t;switch(e.type){case"undelegation":case"contract_origination":t=void 0;break;case"tez":case"fa1.2":case"fa2":case"delegation":t=e.recipient;break;case"contract_call":t=e.contract}return t?(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:t,"data-testid":"recipient"})]}):(0,Yn.jsx)(NX,{color:E$.gray[500],"data-testid":"recipient",children:"N/A"})},Vne=e=>null===e||void 0===e?void 0:e.replace("ipfs://","https://ipfs.io/ipfs/"),qne=e=>(0,iE.orderBy)(e,["lastLevel","id","owner"],["desc"]),Kne=({operation:e})=>{const t=s3(),r=i3();switch(e.type){case"tez":return(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(P5,{marginRight:"8px"}),(0,Yn.jsx)(li,{size:"sm",children:d3(e.amount)})]});case"fa1.2":case"fa2":{const n=t(e.contract.pkh,e.tokenId);return"nft"===(null===n||void 0===n?void 0:n.type)?(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(P5,{marginRight:"8px"}),Number(e.amount)>1&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsxs)(li,{color:E$.gray[450],size:"sm",children:["x",e.amount]}),"\xa0"]}),(0,Yn.jsx)(li,{size:"sm",children:(0,Yn.jsx)(R2,{padding:"8px",background:E$.gray[700],border:"1px solid",borderColor:E$.gray[500],borderRadius:"8px",label:(0,Yn.jsx)(UX,{width:"170px",height:"170px",ratio:1,children:(0,Yn.jsx)(HX,{src:Vne(SP(n))})}),children:(0,Yn.jsx)(ki,{"data-testid":"link",href:PP(n,r),children:pP(n)})})})]}):(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(P5,{marginRight:"8px"}),(0,Yn.jsx)(li,{size:"sm",children:(0,Yn.jsx)(ki,{"data-testid":"link",href:n?PP(n,r):void 0,children:Qne(n,e.amount)})})]})}case"delegation":return(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(D2,{marginRight:"8px"}),(0,Yn.jsx)(li,{size:"sm",children:"Delegate"})]});case"undelegation":return(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(D2,{marginRight:"8px"}),(0,Yn.jsx)(li,{size:"sm",children:"End Delegation"})]});case"contract_origination":case"contract_call":throw new Error(`${e.type} is not supported yet`)}},Wne=({title:e,description:r,buttonLabel:n,onSubmit:i})=>{const{onClose:o}=(0,t.useContext)(kW);return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsxs)(MX,{marginBottom:"10px",textAlign:"center",children:[(0,Yn.jsx)(Qn,{children:(0,Yn.jsx)(W5,{width:"40px",height:"40px",marginBottom:"16px"})}),(0,Yn.jsx)(li,{children:e}),(0,Yn.jsx)(DX,{})]}),r&&(0,Yn.jsx)(BX,{children:(0,Yn.jsx)(NX,{align:"center",color:E$.gray[400],"data-testid":"description",children:r})}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",onClick:()=>{i(),o()},size:"lg",variant:"warning",children:n})})]})},Gne=({title:e,fee:t,transactionCount:r,signerAddress:n})=>(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ute,{subTitle:" Enter your password to confirm this transaction.",title:e}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:n}),(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",marginY:"12px",paddingX:"4px",children:[(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(NX,{marginRight:1,color:E$.gray[450],size:"sm",children:"Transactions:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"transaction-length",size:"sm",children:r})]}),(0,Yn.jsx)(cte,{fee:t})]})]})]}),Yne=({initialOperations:e,initialFee:t})=>{const{fee:r,operations:n,estimationFailed:i,isLoading:o,signer:a,form:s,reEstimate:c,onSign:l}=Dre(t,e,"batch"),u=fte(n.type,"batch");return(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(Gne,{fee:r,signerAddress:a.address,title:u,transactionCount:n.operations.length}),(0,Yn.jsx)(Rre,{isLoading:o,operationType:n.type,reEstimate:c,sender:n.sender}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:i,isLoading:o,onSubmit:l,signer:a,text:u})})]})})})},Zne=({operations:e})=>{const{type:r,sender:n,operations:i}=e,{openWith:o}=(0,t.useContext)(kW),{handleAsyncAction:a,isLoading:s}=Yee(),c=i3();return(0,Yn.jsxs)(Qn,{alignItems:"center",justifyContent:"space-between","data-testid":"right-header",children:[(0,Yn.jsx)(NX,{display:"inline-block",color:E$.gray[400],size:"sm",children:Rne()("transaction",i.length,!0)}),(0,Yn.jsx)(_i,{marginLeft:"30px",isLoading:s,onClick:()=>a((async()=>{const t=await kE(e,c);o((0,Yn.jsx)(Yne,{initialFee:t,initialOperations:e}))})),variant:"primary",children:fte(r,"batch")}),(0,Yn.jsx)(Z3,{marginLeft:"16px",borderRadius:"4px","aria-label":"remove-batch","data-testid":"remove-batch",icon:(0,Yn.jsx)(U5,{stroke:E$.gray[300]}),onClick:()=>o((0,Yn.jsx)(Jne,{sender:n}),"sm"),variant:"circle"})]})},Xne=e=>{switch(e.type){case"fa1.2":case"fa2":return"Token Transfer";case"undelegation":case"delegation":return"Delegation";case"tez":return"\ua729 Transfer";case"contract_origination":case"contract_call":throw new Error(`${e.type} is not supported yet`)}},Jne=({sender:e})=>{const t=Mre();return(0,Yn.jsx)(Wne,{buttonLabel:"Delete Batch",description:"Are you sure you want to remove all transactions from the batch?",onSubmit:()=>t(e),title:"Delete Batch"})},Qne=(e,t)=>{if(!e)return`${t} Unknown Token`;const r=mP(e),n=xP(t,e,{showSymbol:!1}),i=r?void 0:vP(e);return(0,iE.compact)([n,i,r]).join(" ")},eie=({operations:e})=>{const{operations:t,sender:r}=e,n=(()=>{const e=t3(),t=i3();return(r,n)=>e(HP.removeItem({pkh:r.address.pkh,index:n,network:t}))})(),i=t.length>9;return(0,Yn.jsxs)(Qn,{width:"100%",marginBottom:"16px","data-testid":`batch-table-${r.address.pkh}`,children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",padding:"20px 23px 20px 30px",background:E$.gray[800],borderTopRadius:"8px","data-testid":"header",children:[(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(Ine,{paddingLeft:0,pkh:r.address.pkh})}),(0,Yn.jsx)(Zne,{operations:e})]}),(0,Yn.jsx)(Zn,{flexDirection:"column",background:E$.gray[900],borderBottomRadius:i?0:"8px",paddingX:"30px",paddingY:"20px",children:t.map(((e,i)=>(0,Yn.jsxs)(Qn,{"data-testid":"operation",children:[(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"50px",children:[(0,Yn.jsx)(Zn,{children:(0,Yn.jsx)(Kne,{operation:e})}),(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",width:"100%",marginTop:"8px",children:[(0,Yn.jsx)(Zn,{children:(0,Yn.jsx)(Hne,{operation:e})}),(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(NX,{alignSelf:"flex-end",color:E$.gray[450],size:"sm",children:Xne(e)}),(0,Yn.jsx)(Z3,{width:"24px",marginLeft:"12px",borderRadius:"full","aria-label":"Remove",icon:(0,Yn.jsx)(U5,{stroke:E$.gray[300]}),onClick:()=>n(r,i),size:"xs",variant:"circle"})]})]})]}),icrypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")),""))())))}),i&&(0,Yn.jsx)(Zn,{justifyContent:"end",verticalAlign:"middle",padding:"20px 23px 20px 30px",background:E$.gray[800],borderRadius:"0 0 8px 8px","data-testid":"footer",children:(0,Yn.jsx)(Zne,{operations:e})})]})};var tie=r(6065),rie=r.n(tie);function nie(e){const t=new Is(e);return t.isLessThan(0)?null:t.toFixed()}const iie=(e,t,r)=>{const n=t.filter((e=>e.length>0)),i=n.length;if(i<2||4{const e=i3(),r=DY(),n=s3(),i=t3(),o=T3(),a=R3(),{onClose:s}=(0,t.useContext)(kW),{isLoading:c,handleAsyncAction:l}=Yee(),u=h0({mode:"onBlur"}),{handleSubmit:d,formState:{isValid:h,errors:f}}=u;return(0,Yn.jsx)(oQ,{...u,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:d((async({file:t,sender:c})=>l((async()=>{const l=o(c),u=await new Promise((e=>{rie().parse(t[0],{skipEmptyLines:!0,complete:e})}));if(u.errors.length>0)throw new Error("Error loading csv file: "+u.errors.map((e=>e.message)).join(", "));const d=[];for(let e=0;e{const{openWith:e}=(0,t.useContext)(kW);return(0,Yn.jsxs)(_i,{onClick:()=>e((0,Yn.jsx)(oie,{})),variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{marginRight:"4px",size:"sm",children:"Load CSV file"}),(0,Yn.jsx)(a5,{stroke:"currentcolor"})]})},sie=({href:e,children:t,...r})=>(0,Yn.jsx)(ki,{alignItems:"center",display:"flex",_hover:{textDecoration:"none"},href:e,rel:"noopener noreferrer",role:"link",target:"_blank",...r,children:t}),cie=({batchPending:e})=>(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"24px",marginBottom:"24px",children:[(0,Yn.jsxs)(li,{flex:1,color:E$.orangeL,size:"sm",children:[e," Pending"]}),(0,Yn.jsx)(aie,{}),(0,Yn.jsx)(sie,{marginLeft:"8px",href:"https://github.com/trilitech/umami-v1/blob/main/CSV_FILE_SPEC.md",children:(0,Yn.jsxs)(_i,{paddingRight:"0",variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{marginRight:"4px",size:"sm",children:"See file specs"}),(0,Yn.jsx)(Q2,{stroke:"currentcolor"})]})})]}),lie=()=>{const e=(()=>{const e=i3(),t=r3((t=>t.batches[e.name]));return t||[]})();return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Batch"}),(0,Yn.jsx)(cie,{batchPending:e.length}),(0,Yn.jsx)(Qn,{overflowY:"auto",minHeight:"80%",children:e.length>0?e.map((e=>(0,Yn.jsx)(eie,{operations:e},e.sender.address.pkh))):(0,Yn.jsx)(uie,{})})]})},uie=()=>{const{openWith:e}=(0,t.useContext)(kW);return(0,Yn.jsx)(Xn,{height:"100%",textAlign:"center",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(li,{size:"3xl",children:"No 'batch' to show"}),(0,Yn.jsx)(NX,{marginTop:"10px",color:E$.gray[400],size:"xl",children:"There is no batch transaction to show..."}),(0,Yn.jsx)(Zn,{justifyContent:"space-around",marginTop:"30px",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(_i,{onClick:()=>e((0,Yn.jsx)(Kre,{showPreview:!1})),children:"Start a Batch"}),(0,Yn.jsx)(_i,{marginLeft:"15px",onClick:()=>e((0,Yn.jsx)(oie,{})),variant:"tertiary",children:"Load CSV file"})]})})]})})};var die=re((function(e,t){const{templateAreas:r,gap:n,rowGap:i,columnGap:o,column:a,row:s,autoFlow:c,autoRows:l,templateRows:u,autoColumns:d,templateColumns:h,...f}=e,p={display:"grid",gridTemplateAreas:r,gridGap:n,gridRowGap:i,gridColumnGap:o,gridAutoColumns:d,gridColumn:a,gridRow:s,gridAutoFlow:c,gridAutoRows:l,gridTemplateRows:u,gridTemplateColumns:h};return(0,Yn.jsx)(Gn.div,{ref:t,__css:p,...f})}));function hie(e){return zX(e,(e=>"auto"===e?"auto":`span ${e}/span ${e}`))}die.displayName="Grid";var fie=re((function(e,t){const{area:r,colSpan:n,colStart:i,colEnd:o,rowEnd:a,rowSpan:s,rowStart:c,...l}=e,u=LX({gridArea:r,gridColumn:hie(n),gridRow:hie(s),gridColumnStart:i,gridColumnEnd:o,gridRowStart:c,gridRowEnd:a});return(0,Yn.jsx)(Gn.div,{ref:t,__css:u,...l})}));fie.displayName="GridItem";const pie=({onClick:e,children:t,isSelected:r,...n})=>(0,Yn.jsx)(g0,{justifyContent:"center",height:"66px",marginBottom:"10px",padding:"24px",border:"1px solid",borderColor:r?` ${E$.orangeL}`:"transparent",borderRadius:"lg",_hover:{border:`1px solid ${E$.gray[500]}`,bg:E$.gray[800]},cursor:e?"pointer":void 0,backgroundColor:E$.gray[900],onClick:e,...n,children:(0,Yn.jsx)(v0,{padding:0,children:t})}),mie=({left:e,isSelected:t,onClick:r})=>(0,Yn.jsx)(pie,{isSelected:t,onClick:r,children:(0,Yn.jsx)(Zn,{alignItems:"center",height:"100%",children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",width:"100%",children:[(0,Yn.jsx)(li,{size:"sm",children:e}),(0,Yn.jsx)(F2,{})]})})}),gie=()=>(0,Yn.jsxs)(die,{gridGap:"1",gridTemplateRows:"0fr 1fr 1fr",gridTemplateColumns:"1fr 1fr",gridTemplateAreas:'\n "header header"\n "main main"\n "main main"\n ',height:"100%",children:[(0,Yn.jsx)(fie,{gridArea:"header",children:(0,Yn.jsx)(Ane,{title:"Help"})}),(0,Yn.jsxs)(fie,{gridArea:"main",marginTop:1,children:[(0,Yn.jsx)(yie,{title:"Learn More",children:(0,Yn.jsx)(vie,{about:"Browse Articles",externalLink:"https://medium.com/umamiwallet"})}),(0,Yn.jsxs)(yie,{title:"Need Help?",children:[(0,Yn.jsx)(vie,{about:"Contact our Support Team",externalLink:"mailto:umami-support@trili.tech",linkDescription:"umami-support@trili.tech"}),(0,Yn.jsx)(vie,{about:"Get in touch with the Community",externalLink:"https://join.slack.com/t/tezos-dev/shared_invite/zt-1ur1ymxrp-G_X_bFHrvWXwoeiy53J8lg",linkDescription:"Slack #Umami"})]}),(0,Yn.jsx)(yie,{title:"Terms of Use",children:(0,Yn.jsx)(vie,{about:"Read Terms of Service",externalLink:"https://umamiwallet.com/tos.html"})})]})]}),vie=({about:e,externalLink:t,linkDescription:r})=>(0,Yn.jsx)(vV,{rel:"noopener noreferrer",target:"_blank",to:t,children:(0,Yn.jsx)(pie,{cursor:"pointer",isSelected:!1,children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",children:[(0,Yn.jsx)(li,{size:"sm",children:e}),(0,Yn.jsxs)(Zn,{alignItems:"center",children:[r&&(0,Yn.jsx)(NX,{marginRight:"4px",color:E$.gray[400],size:"sm",children:r}),(0,Yn.jsx)(Q2,{})]})]})})}),yie=({title:e,children:t})=>(0,Yn.jsx)(Qn,{"data-testid":"help-card",marginY:"10px",children:(0,Yn.jsx)(Zn,{children:(0,Yn.jsxs)(Qn,{width:"550px",children:[(0,Yn.jsx)(li,{marginBottom:"16px",size:"lg",children:e}),t]})})});var[bie,wie]=ui(),xie={start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}};function _ie(e){var t;const{isOpen:r,onClose:n,placement:i="right",children:o,...a}=e,s=ri(),c=null==(t=s.components)?void 0:t.Drawer,l=function(e,t){var r,n;if(e)return null!=(n=null==(r=xie[e])?void 0:r[t])?n:e}(i,s.direction);return(0,Yn.jsx)(bie,{value:{placement:l},children:(0,Yn.jsx)(kK,{isOpen:r,onClose:n,styleConfig:c,...a,children:o})})}var Sie={exit:{duration:.15,ease:EK.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},kie={exit:({direction:e,transition:t,transitionEnd:r,delay:n})=>{var i;const{exit:o}=jK({direction:e});return{...o,transition:null!=(i=null==t?void 0:t.exit)?i:IK(Sie.exit,n),transitionEnd:null==r?void 0:r.exit}},enter:({direction:e,transitionEnd:t,transition:r,delay:n})=>{var i;const{enter:o}=jK({direction:e});return{...o,transition:null!=(i=null==r?void 0:r.enter)?i:RK(Sie.enter,n),transitionEnd:null==t?void 0:t.enter}}},Eie=(0,t.forwardRef)((function(e,t){const{direction:r="right",style:n,unmountOnExit:i,in:o,className:a,transition:s,transitionEnd:c,delay:l,motionProps:u,...d}=e,h=jK({direction:r}),f=Object.assign({position:"fixed"},h.position,n),p=!i||o&&i,m=o||i?"enter":"exit",g={transitionEnd:c,transition:s,direction:r,delay:l};return(0,Yn.jsx)(i$,{custom:g,children:p&&(0,Yn.jsx)(jF.div,{...d,ref:t,initial:"exit",className:ne("chakra-slide",a),animate:m,exit:"exit",custom:g,variants:kie,style:f,...u})})}));Eie.displayName="Slide";var Pie=Gn(Eie),Oie=re(((e,t)=>{const{className:r,children:n,motionProps:i,containerProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:c,isOpen:l}=SK(),u=s(a,t),d=c(o),h=ne("chakra-modal__content",r),f=xK(),p={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...f.dialog},m={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...f.dialogContainer},{placement:g}=wie();return(0,Yn.jsx)(RX,{children:(0,Yn.jsx)(Gn.div,{...d,className:"chakra-modal__content-container",__css:m,children:(0,Yn.jsx)(Pie,{motionProps:i,direction:g,in:l,className:h,...u,__css:p,children:n})})})}));Oie.displayName="DrawerContent";const Aie=({onRemove:e,onCreate:t})=>(0,Yn.jsx)(Tre,{children:(0,Yn.jsxs)(Qn,{paddingY:"0",children:[(0,Yn.jsx)(_i,{height:t?"24px":"28px","data-testid":"popover-remove",onClick:e,variant:"popover",children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",flex:1,children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Remove"}),(0,Yn.jsx)(U5,{stroke:"inherit"})]})}),t&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ire,{marginY:"4px"}),(0,Yn.jsx)(_i,{onClick:t,variant:"popover",children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",flex:1,children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Create"}),(0,Yn.jsx)(A5,{width:"18px",height:"18px",stroke:"inherit"})]})})]})]})});var Tie=e=>(0,Yn.jsx)(Gn.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});Tie.displayName="StackItem";var jie=re(((e,r)=>{const{isInline:n,direction:i,align:o,justify:a,spacing:s="0.5rem",wrap:c,children:l,divider:u,className:d,shouldWrapChildren:h,...f}=e,p=n?"row":null!=i?i:"column",m=(0,t.useMemo)((()=>function(e){const{spacing:t,direction:r}=e,n={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":zX(r,(e=>n[e]))}}({spacing:s,direction:p})),[s,p]),g=!!u,v=!h&&!g,y=(0,t.useMemo)((()=>{const e=x0(l);return v?e:e.map(((r,n)=>{const i="undefined"!==typeof r.key?r.key:n,o=n+1===e.length,a=h?(0,Yn.jsx)(Tie,{children:r},i):r;if(!g)return a;const s=(0,t.cloneElement)(u,{__css:m}),c=o?null:s;return(0,Yn.jsxs)(t.Fragment,{children:[a,c]},i)}))}),[u,m,g,v,h,l]),b=ne("chakra-stack",d);return(0,Yn.jsx)(Gn.div,{ref:r,display:"flex",alignItems:o,justifyContent:a,flexDirection:p,flexWrap:c,gap:g?void 0:s,className:b,...f,children:y})}));jie.displayName="Stack";var Cie=re(((e,t)=>(0,Yn.jsx)(jie,{align:"center",...e,direction:"column",ref:t})));Cie.displayName="VStack";const Rie=({icon:e,size:t,onClick:r=(()=>{})})=>(0,Yn.jsx)(Qn,{width:t,height:t,margin:"auto",background:E$.gray[700],borderRadius:"full",onClick:r,children:(0,Yn.jsx)(Xn,{height:"100%",children:e})}),Iie=({children:e,icon:t,title:r,subtitle:n})=>(0,Yn.jsxs)(Cie,{maxHeight:"83vh",spacing:0,children:[(0,Yn.jsx)(Qn,{marginBottom:"20px",children:(0,Yn.jsx)(Rie,{icon:t,size:"48px"})}),(0,Yn.jsxs)(Xn,{flexDirection:"column",marginBottom:"32px",children:[(0,Yn.jsx)(li,{size:"xl",children:r}),n&&(0,Yn.jsx)(NX,{marginTop:"10px",color:E$.gray[400],textAlign:"center",size:"sm",children:n})]}),e]}),Mie=({onSubmit:e,isLoading:t})=>{const r=h0({mode:"onBlur"}),{handleSubmit:n,formState:{errors:i,isValid:o}}=r;return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(k5,{}),subtitle:"Enter your master password for Umami.",title:"Umami Master Password",children:(0,Yn.jsx)(oQ,{...r,children:(0,Yn.jsxs)("form",{onSubmit:n((t=>{e(t.password)})),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{isInvalid:!!i.password,children:[(0,Yn.jsx)(ete,{"data-testid":"password",inputName:"password"}),i.password&&(0,Yn.jsx)(Qee,{children:i.password.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",isDisabled:!o,isLoading:t,size:"lg",type:"submit",children:"Submit"})]})})})},Lie=({onSubmit:e,title:t="Name Your Account",subtitle:r})=>{const{register:n,handleSubmit:i}=h0({mode:"onChange"});return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(Z2,{}),subtitle:r,title:t,children:(0,Yn.jsxs)("form",{onSubmit:i(e),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{children:[(0,Yn.jsx)(b0,{children:"Account name"}),(0,Yn.jsx)(O0,{"data-testid":"name",type:"text",...n("accountName",{required:!1}),placeholder:"Optional"})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",size:"lg",type:"submit",children:"Continue"})]})})},Nie=e=>{const[r,n]=(0,t.useState)();return void 0===r?(0,Yn.jsx)(Lie,{onSubmit:e=>n(e.accountName),subtitle:e.subtitle,title:e.title}):(0,Yn.jsx)(Mie,{isLoading:e.isLoading,onSubmit:t=>e.onSubmit({name:r,password:t})})},Die=({addressKind:e})=>{switch(e.type){case"secret_key":case"mnemonic":return(0,Yn.jsx)(J5,{width:"48px",height:"48px",padding:"8px",address:e.pkh,identiconSize:32});case"social":case"contact":case"ledger":case"multisig":case"unknown":case"baker":{const t="social"===e.type?"white":E$.gray[500];return(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"center",padding:"4px",background:t,borderRadius:"4px",children:(0,Yn.jsx)(e3,{addressKind:e,size:"lg"})})}}},Bie=({icon:e,leftElement:t,rightElement:r,...n})=>(0,Yn.jsxs)(Zn,{alignItems:"center",height:90,marginBottom:4,padding:4,background:E$.gray[900],border:`1px solid ${E$.gray[800]}`,borderRadius:4,...n,children:[e,(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",flex:1,children:[t,r]})]}),zie=({label:e,pkh:t})=>(0,Yn.jsxs)(Qn,{margin:4,"data-testid":"account-identifier",children:[e&&(0,Yn.jsx)(li,{size:"md",children:e}),(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(NX,{color:"text.dark","data-testid":"short-address",size:"sm",children:h3(t)})})]}),Uie=({selected:e,onClick:t,address:r,balance:n})=>{const i=t?`1px solid ${e?E$.orangeL:E$.gray[700]}`:void 0,o=I3(dd(r)),a=!!r3((e=>e.assets.delegationLevels))[r],s=v3(),c=qne(s(r));return(0,Yn.jsxs)(Qn,{background:E$.gray[900],border:`1px solid ${e?E$.orangeL:"transparent"}`,borderRadius:"8px",_hover:{border:i},cursor:"pointer",onClick:t,paddingX:"21px",children:[(0,Yn.jsx)(Bie,{align:"bottom",marginBottom:0,padding:0,border:"none","data-testid":`account-tile-${r}`+(e?"-selected":""),icon:(0,Yn.jsx)(Die,{addressKind:o}),leftElement:(0,Yn.jsx)(zie,{label:o.label,pkh:r}),rightElement:(0,Yn.jsxs)(Zn,{flexDirection:"column",children:[(0,Yn.jsx)(NX,{align:"right",color:E$.gray[450],fontWeight:700,size:"sm",children:a?"Delegated":(0,Yn.jsx)(Yn.Fragment,{children:"\xa0"})}),n&&(0,Yn.jsx)(li,{alignSelf:"flex-end",size:"lg",children:d3(n)})]})}),c.length>0&&(0,Yn.jsxs)(Zn,{flexDirection:"column","data-testid":"nfts-list",children:[(0,Yn.jsx)(ire,{}),(0,Yn.jsx)(Zn,{marginY:"21px",children:c.slice(0,7).map(((e,t)=>{const n=Vne(SP(e));return 6===t?(0,Yn.jsx)(vV,{"data-testid":"show-more-nfts-link",to:`/nfts?accounts=${r}`,children:(0,Yn.jsx)(Qn,{height:"32px",marginLeft:"4px",background:E$.gray[600],borderRadius:"4px",children:(0,Yn.jsx)(NX,{align:"center",width:"32px",color:E$.gray[450],fontWeight:700,children:"..."})})},"last"):(0,Yn.jsx)(vV,{"data-testid":"nft-link",to:`/home/${r}/${fP(e)}`,children:(0,Yn.jsx)(UX,{width:"32px",height:"32px",marginLeft:t>0?"4px":0,ratio:1,children:(0,Yn.jsx)(HX,{borderRadius:"4px",src:n})})},fP(e))}))})]})]})},Fie=e=>(0,Yn.jsx)(Qn,{overflowY:"auto",height:"100%",children:e.children}),$ie=({goToStep:e})=>{const t=E3().length>0;return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(S5,{}),title:"Connect or Import Account",children:(0,Yn.jsxs)(Cie,{width:"100%",spacing:"16px",children:[(0,Yn.jsx)(_i,{width:"100%",onClick:t=>e({type:tae.restoreMnemonic}),size:"lg",children:"Import with Seed Phrase"}),(0,Yn.jsx)(_i,{width:"100%",onClick:t=>e({type:tae.restoreSecretKey}),size:"lg",variant:"tertiary",children:"Import with Secret Key"}),!t&&(0,Yn.jsx)(_i,{width:"100%",onClick:t=>{e({type:tae.restoreBackup})},size:"lg",variant:"tertiary",children:"Restore from Backup"}),(0,Yn.jsx)(_i,{width:"100%",onClick:t=>{e({type:tae.nameAccount,account:{type:"ledger"}})},size:"lg",variant:"tertiary",children:"Connect ledger"})]})})},Hie=e=>async t=>{t(sP.actions.removeSecretKey(e)),t(sP.actions.removeAccount(e))},{addAccount:Vie,removeMnemonicAndAccounts:qie,removeNonMnemonicAccounts:Kie}=sP.actions,Wie=()=>{const e=t3();return(t,r,n,i)=>e(iP({mnemonic:t,password:r,label:n,derivationPathPattern:i})).unwrap()},Gie=()=>{const e=t3();return(t,r,n)=>e((({secretKey:e,label:t,password:r})=>async n=>{const i=new Qc(e),o=await i.publicKey(),a=await i.publicKeyHash(),s=await Pc(e,r);n(sP.actions.addSecretKey({pkh:a,encryptedSecretKey:s})),n(sP.actions.addAccount({type:"secret_key",pk:o,label:t,address:gd(a)}))})({secretKey:t,password:r,label:n}))},Yie=()=>{const e=t3();return(t,r,n,i)=>{e(Vie({derivationPath:t,curve:"ed25519",type:"ledger",pk:r,address:{type:"implicit",pkh:n},label:i}))}},Zie=({goToStep:e,closeModal:t})=>{const{handleAsyncAction:r}=Yee(),n=(()=>{const e=t3();return(t,r,n)=>{e(Vie({type:"social",pk:t,address:{type:"implicit",pkh:r},idp:"google",label:n}))}})(),i=DY();return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(K5,{}),title:"Connect or Create Account",children:(0,Yn.jsxs)(Cie,{width:"100%",spacing:"16px",children:[(0,Yn.jsx)(_i,{width:"100%",onClick:t=>e({type:tae.notice}),size:"lg",children:"Create a new Account"}),(0,Yn.jsx)(_i,{width:"100%",onClick:t=>e({type:tae.connectOptions}),size:"lg",variant:"tertiary",children:"I already have a wallet"}),(0,Yn.jsxs)(Zn,{width:"100%",paddingTop:"14px",paddingBottom:"6px",children:[(0,Yn.jsx)(ire,{marginTop:"11px"}),(0,Yn.jsx)(NX,{minWidth:"160px",color:E$.gray[400],textAlign:"center",noOfLines:1,size:"sm",children:"Continue with Google"}),(0,Yn.jsx)(ire,{marginTop:"11px"})]}),(0,Yn.jsx)(Jee,{onSuccessfulAuth:(e,o)=>r((async()=>{const{pk:r,pkh:a}=await(async e=>{const t=new Qc(e);return{pk:await t.publicKey(),pkh:await t.publicKeyHash()}})(e);n(r,a,o),i({description:`Successfully added ${o} account`,status:"success"}),t()}))})]})})},Xie=({selected:e,options:r,onChange:n})=>{const[i,o]=(0,t.useState)(e),[a,s]=(0,t.useState)(!1);return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",height:"48px",padding:"12px 15px 15px 15px",color:E$.gray[300],background:E$.gray[800],border:"1px solid",borderColor:E$.gray[500],borderRadius:"4px",_hover:{borderColor:E$.gray[450]},cursor:"pointer","data-testid":"select-input",onClick:()=>s((e=>!e)),children:[(0,Yn.jsx)(NX,{size:"sm",children:i.label}),(0,Yn.jsx)(U2,{})]}),a&&(0,Yn.jsx)(N0,{position:"absolute",zIndex:2,width:"100%",margin:0,marginTop:"8px",padding:"15px",background:E$.gray[700],border:"1px solid",borderColor:E$.gray[500],borderRadius:"8px","data-testid":"select-options",listStyleType:"none",children:r.map((e=>(0,Yn.jsx)(D0,{marginBottom:"5px",padding:"11px",color:E$.gray[300],background:"transparent",borderRadius:"4px",_hover:{background:E$.gray[500]},cursor:"pointer",onClick:()=>{s(!1),o(e),n(e.value)},children:(0,Yn.jsx)(NX,{size:"sm",children:e.label})},e.value)))})]})},Jie=({goToStep:e,account:t})=>{const{handleSubmit:r,setValue:n,formState:{errors:i}}=h0({mode:"onBlur",defaultValues:{derivationPath:el}});return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(C5,{}),subtitle:"Choose a custom derivation path or select the default derivation path and use the default key.",title:"Derivation Path",children:(0,Yn.jsxs)("form",{onSubmit:r((async({derivationPath:r})=>{switch(t.type){case"ledger":e({type:tae.restoreLedger,account:{...t,derivationPath:r}});break;case"mnemonic":e({type:tae.masterPassword,account:{...t,derivationPath:r}})}})),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{marginBottom:"20px",children:[(0,Yn.jsx)(b0,{children:"Select Path"}),(0,Yn.jsx)(Xie,{onChange:e=>n("derivationPath",e),options:rl,selected:tl}),i.derivationPath&&(0,Yn.jsx)(Qee,{"data-testid":"error-message",children:i.derivationPath.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"12px",size:"lg",type:"submit",children:"Continue"}),(0,Yn.jsx)(sie,{display:"block",width:"100%",marginTop:"32px",textAlign:"center",href:"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki",children:(0,Yn.jsx)(R2,{backgroundColor:"white",defaultIsOpen:!1,hasArrow:!0,label:"Derivation path is a set of directions that helps create different secret keys; it starts from a master key or seed.",children:(0,Yn.jsx)(NX,{color:E$.blue,fontWeight:600,textDecoration:"underline",_hover:{textDecoration:"underline"},size:"sm",children:"What's a Derivation Path?"})})})]})})};var[Qie,eoe]=ui({name:"CheckboxGroupContext",strict:!1});function toe(e){return(0,Yn.jsx)(Gn.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:(0,Yn.jsx)("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function roe(e){return(0,Yn.jsx)(Gn.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:(0,Yn.jsx)("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function noe(e){const{isIndeterminate:t,isChecked:r,...n}=e,i=t?roe:toe;return r||t?(0,Yn.jsx)(Gn.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:(0,Yn.jsx)(i,{...n})}):null}var ioe={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};var ooe=()=>"undefined"!==typeof document;var aoe=!1,soe=null,coe=!1,loe=!1,uoe=new Set;function doe(e,t){uoe.forEach((r=>r(e,t)))}var hoe="undefined"!==typeof window&&null!=window.navigator&&/^Mac/.test(window.navigator.platform);function foe(e){coe=!0,function(e){return!(e.metaKey||!hoe&&e.altKey||e.ctrlKey||"Control"===e.key||"Shift"===e.key||"Meta"===e.key)}(e)&&(soe="keyboard",doe("keyboard",e))}function poe(e){if(soe="pointer","mousedown"===e.type||"pointerdown"===e.type){coe=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let r=!1;try{r=t.matches(":focus-visible")}catch{}if(r)return;doe("pointer",e)}}function moe(e){var t;(0===(t=e).mozInputSource&&t.isTrusted||0===t.detail&&!t.pointerType)&&(coe=!0,soe="virtual")}function goe(e){e.target!==window&&e.target!==document&&(coe||loe||(soe="virtual",doe("virtual",e)),coe=!1,loe=!1)}function voe(){coe=!1,loe=!0}function yoe(){return"pointer"!==soe}function boe(){if(!ooe()||aoe)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...t){coe=!0,e.apply(this,t)},document.addEventListener("keydown",foe,!0),document.addEventListener("keyup",foe,!0),document.addEventListener("click",moe,!0),window.addEventListener("focus",goe,!0),window.addEventListener("blur",voe,!1),"undefined"!==typeof PointerEvent?(document.addEventListener("pointerdown",poe,!0),document.addEventListener("pointermove",poe,!0),document.addEventListener("pointerup",poe,!0)):(document.addEventListener("mousedown",poe,!0),document.addEventListener("mousemove",poe,!0),document.addEventListener("mouseup",poe,!0)),aoe=!0}function woe(e){boe(),e(yoe());const t=()=>e(yoe());return uoe.add(t),()=>{uoe.delete(t)}}function xoe(e={}){const r=P0(e),{isDisabled:n,isReadOnly:i,isRequired:o,isInvalid:a,id:s,onBlur:c,onFocus:l,"aria-describedby":u}=r,{defaultChecked:d,isChecked:h,isFocusable:f,onChange:p,isIndeterminate:m,name:g,value:v,tabIndex:y,"aria-label":b,"aria-labelledby":w,"aria-invalid":x,..._}=e,S=function(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}(_,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),k=EM(p),E=EM(c),P=EM(l),[O,A]=(0,t.useState)(!1),[T,j]=(0,t.useState)(!1),[C,R]=(0,t.useState)(!1),[I,M]=(0,t.useState)(!1);(0,t.useEffect)((()=>woe(A)),[]);const L=(0,t.useRef)(null),[N,D]=(0,t.useState)(!0),[B,z]=(0,t.useState)(!!d),U=void 0!==h,F=U?h:B,$=(0,t.useCallback)((e=>{i||n?e.preventDefault():(U||z(F?e.target.checked:!!m||e.target.checked),null==k||k(e))}),[i,n,F,U,m,k]);jO((()=>{L.current&&(L.current.indeterminate=Boolean(m))}),[m]),PM((()=>{n&&j(!1)}),[n,j]),jO((()=>{const e=L.current;if(!(null==e?void 0:e.form))return;const t=()=>{z(!!d)};return e.form.addEventListener("reset",t),()=>{var r;return null==(r=e.form)?void 0:r.removeEventListener("reset",t)}}),[]);const H=n&&!f,V=(0,t.useCallback)((e=>{" "===e.key&&M(!0)}),[M]),q=(0,t.useCallback)((e=>{" "===e.key&&M(!1)}),[M]);jO((()=>{if(!L.current)return;L.current.checked!==F&&z(L.current.checked)}),[L.current]);const K=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-active":ce(I),"data-hover":ce(C),"data-checked":ce(F),"data-focus":ce(T),"data-focus-visible":ce(T&&O),"data-indeterminate":ce(m),"data-disabled":ce(n),"data-invalid":ce(a),"data-readonly":ce(i),"aria-hidden":!0,onMouseDown:ue(e.onMouseDown,(e=>{T&&e.preventDefault(),M(!0)})),onMouseUp:ue(e.onMouseUp,(()=>M(!1))),onMouseEnter:ue(e.onMouseEnter,(()=>R(!0))),onMouseLeave:ue(e.onMouseLeave,(()=>R(!1)))})),[I,F,n,T,O,C,m,a,i]),W=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-active":ce(I),"data-hover":ce(C),"data-checked":ce(F),"data-focus":ce(T),"data-focus-visible":ce(T&&O),"data-indeterminate":ce(m),"data-disabled":ce(n),"data-invalid":ce(a),"data-readonly":ce(i)})),[I,F,n,T,O,C,m,a,i]),G=(0,t.useCallback)(((e={},t=null)=>({...S,...e,ref:wi(t,(e=>{e&&D("LABEL"===e.tagName)})),onClick:ue(e.onClick,(()=>{var e;N||(null==(e=L.current)||e.click(),requestAnimationFrame((()=>{var e;null==(e=L.current)||e.focus({preventScroll:!0})})))})),"data-disabled":ce(n),"data-checked":ce(F),"data-invalid":ce(a)})),[S,n,F,a,N]),Y=(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(L,t),type:"checkbox",name:g,value:v,id:s,tabIndex:y,onChange:ue(e.onChange,$),onBlur:ue(e.onBlur,E,(()=>j(!1))),onFocus:ue(e.onFocus,P,(()=>j(!0))),onKeyDown:ue(e.onKeyDown,V),onKeyUp:ue(e.onKeyUp,q),required:o,checked:F,disabled:H,readOnly:i,"aria-label":b,"aria-labelledby":w,"aria-invalid":x?Boolean(x):a,"aria-describedby":u,"aria-disabled":n,style:ioe})),[g,v,s,$,E,P,V,q,o,F,H,i,b,w,x,a,u,n,y]),Z=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,onMouseDown:ue(e.onMouseDown,_oe),"data-disabled":ce(n),"data-checked":ce(F),"data-invalid":ce(a)})),[F,n,a]);return{state:{isInvalid:a,isFocused:T,isChecked:F,isActive:I,isHovered:C,isIndeterminate:m,isDisabled:n,isReadOnly:i,isRequired:o},getRootProps:G,getCheckboxProps:K,getIndicatorProps:W,getInputProps:Y,getLabelProps:Z,htmlProps:S}}function _oe(e){e.preventDefault(),e.stopPropagation()}var Soe={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},koe={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},Eoe=gi({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),Poe=gi({from:{opacity:0},to:{opacity:1}}),Ooe=gi({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),Aoe=re((function(e,r){const n=eoe(),i=ci("Checkbox",{...n,...e}),o=Jt(e),{spacing:a="0.5rem",className:s,children:c,iconColor:l,iconSize:u,icon:d=(0,Yn.jsx)(noe,{}),isChecked:h,isDisabled:f=(null==n?void 0:n.isDisabled),onChange:p,inputProps:m,...g}=o;let v=h;(null==n?void 0:n.value)&&o.value&&(v=n.value.includes(o.value));let y=p;(null==n?void 0:n.onChange)&&o.value&&(y=de(n.onChange,p));const{state:b,getInputProps:w,getCheckboxProps:x,getLabelProps:_,getRootProps:S}=xoe({...g,isDisabled:f,isChecked:v,onChange:y}),k=function(e){const[r,n]=(0,t.useState)(e),[i,o]=(0,t.useState)(!1);return e!==r&&(o(!0),n(e)),i}(b.isChecked),E=(0,t.useMemo)((()=>({animation:k?b.isIndeterminate?`${Poe} 20ms linear, ${Ooe} 200ms linear`:`${Eoe} 200ms linear`:void 0,fontSize:u,color:l,...i.icon})),[l,u,k,b.isIndeterminate,i.icon]),P=(0,t.cloneElement)(d,{__css:E,isIndeterminate:b.isIndeterminate,isChecked:b.isChecked});return(0,Yn.jsxs)(Gn.label,{__css:{...koe,...i.container},className:ne("chakra-checkbox",s),...S(),children:[(0,Yn.jsx)("input",{className:"chakra-checkbox__input",...w(m,r)}),(0,Yn.jsx)(Gn.span,{__css:{...Soe,...i.control},className:"chakra-checkbox__control",...x(),children:P}),c&&(0,Yn.jsx)(Gn.span,{className:"chakra-checkbox__label",..._(),__css:{marginStart:a,...i.label},children:c})]})}));Aoe.displayName="Checkbox";const Toe=({goToStep:e})=>{const[r,n]=t.useState(!1);return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(W2,{}),title:"Accept to Continue",children:(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsxs)(Aoe,{paddingBottom:"24px",fontWeight:"600",onChange:e=>n(e.target.checked),children:["I confirm that I have read and agreed with the"," ",(0,Yn.jsx)(ki,{textDecoration:"underline",_hover:{color:E$.green},href:"https://umamiwallet.com/tos.html",rel:"noopener noreferrer",target:"_blank",children:"Terms of Service"})," ","and the"," ",(0,Yn.jsx)(ki,{textDecoration:"underline",_hover:{color:E$.green},href:"https://umamiwallet.com/privacypolicy.html",rel:"noopener noreferrer",target:"_blank",children:"Privacy Policy"})]}),(0,Yn.jsx)(_i,{width:"100%",isDisabled:!r,onClick:()=>{e({type:tae.connectOrCreate})},size:"lg",children:"Continue"})]})})},joe=({onClose:e})=>{const{register:t,handleSubmit:r,formState:{errors:n}}=h0({mode:"onBlur"}),i=Yie();return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(K5,{}),title:"Add a Fake Account",children:(0,Yn.jsxs)("form",{onSubmit:r((async({pkh:t,name:r})=>{const n=new Vh(BP.rpcUrl),o=await n.getManagerKey(t),a="string"===typeof o?o:o.key;i(el,a,t,r),e()})),style:{width:"100%"},children:[(0,Yn.jsx)(NX,{children:"It will be restored as a ledger account"}),(0,Yn.jsxs)(OJ,{isInvalid:!!n.pkh,children:[(0,Yn.jsx)(b0,{children:"Address"}),(0,Yn.jsx)(O0,{...t("pkh",{required:!0}),autoComplete:"off",placeholder:"Please enter the account address"})]}),(0,Yn.jsxs)(OJ,{isInvalid:!!n.name,children:[(0,Yn.jsx)(b0,{children:"Name"}),(0,Yn.jsx)(O0,{...t("name",{required:!0}),autoComplete:"off",placeholder:"Please enter the account name"})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:2,size:"lg",type:"submit",children:"Add account"})]})})},Coe=({onSubmit:e,isLoading:t})=>{const r=h0({mode:"onBlur"}),{handleSubmit:n,formState:{errors:i,isValid:o},getValues:a}=r;return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(k5,{}),subtitle:"Please choose a master password for Umami. You will need to use this password in order to perform any operations within Umami.",title:"Umami Master Password",children:(0,Yn.jsx)(oQ,{...r,children:(0,Yn.jsxs)("form",{onSubmit:n((async t=>{e(t.confirm)})),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{isInvalid:!!i.password,children:[(0,Yn.jsx)(ete,{"data-testid":"password",inputName:"password",placeholder:"Enter master password"}),i.password&&(0,Yn.jsx)(Qee,{children:i.password.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!i.confirm,children:[(0,Yn.jsx)(ete,{"data-testid":"confirmation",inputName:"confirm",label:"Confirm Password",placeholder:"Confirm your password",required:"Confirmation is required",validate:e=>a("password")===e||"Your passwords do no match"}),i.confirm&&(0,Yn.jsx)(Qee,{children:i.confirm.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",isDisabled:!o||t,isLoading:t,size:"lg",type:"submit",children:"Submit"})]})})})},Roe=({account:e,onClose:t})=>{const r=Wie(),n=Gie(),i=(()=>{const e=r3((e=>e.accounts.seedPhrases)),t=Object.values(e)[0];return t?async e=>{await Oc(t,e)}:null})(),o=null!==i,{isLoading:a,handleAsyncAction:s}=Yee(),c=DY(),l=a=>s((async()=>{switch(o&&await i(a),e.type){case"secret_key":await n(e.secretKey,a,e.label);break;case"mnemonic":await r(e.mnemonic,a,e.label,e.derivationPath)}c({description:"Account successfully created!",status:"success"}),t()}));return o?(0,Yn.jsx)(Mie,{isLoading:a,onSubmit:l}):(0,Yn.jsx)(Coe,{isLoading:a,onSubmit:l})},Ioe="Account",Moe=e=>`${Ioe} ${e+1}`,Loe=({goToStep:e,account:t})=>{const r=(()=>{const e=O3().map((e=>e.label)),t=Object.values(_3()).map((e=>e.name));return r=>![...e,...t].includes(r)})();return(0,Yn.jsx)(Lie,{onSubmit:n=>{let i=n.accountName.trim();switch(t.type){case"secret_key":return i=i.length>0?i:Noe(r),e({type:tae.masterPassword,account:{...t,label:i}});case"ledger":return i=i.length>0?i:Noe(r),e({type:tae.derivationPath,account:{...t,label:i}});case"mnemonic":return i=i.length>0?i:Ioe,e({type:tae.derivationPath,account:{...t,label:i}})}},subtitle:"Please choose a name for your first account. You can edit your account name later."})},Noe=e=>{let t=0;for(;!e(Moe(t));)t+=1;return Moe(t)},Doe=({goToStep:e})=>(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(E5,{}),subtitle:"Please read the following before you continue to see your secret Seed Phrase.",title:"Important Notice",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(L0,{spacing:"16px",variant:"onboardingNotice",children:[{content:"Write down your seed phrase and store it in a safe place."},{content:"Make sure there is no one around you or looking over your shoulder."},{content:"Do not copy and paste the Seed Phrase or store it on your device."},{content:"Do not take a screenshot of your Seed Phrase."}].map(((e,t)=>(0,Yn.jsx)(D0,{fontSize:"16px",fontWeight:600,children:e.content},t)))}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"28px",onClick:()=>e({type:tae.showSeedphrase,account:{type:"mnemonic",mnemonic:(0,jc.OF)(256)}}),size:"lg",children:"I understand"}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"16px",onClick:()=>e({type:tae.restoreMnemonic}),size:"lg",variant:"tertiary",children:"I already have a Seed Phrase"})]})}),Boe=()=>{const e=h0({mode:"onBlur"}),{handleSubmit:t,register:r,formState:{errors:n,isValid:i}}=e,{handleAsyncAction:o}=Yee(),a=(()=>{const e=Wie();return async(t,r)=>{const n=t.recoveryPhrases,i=t.derivationPaths.map((e=>"m/"===e.slice(0,2)?e.slice(2):e));localStorage.clear();try{for(const[t,o]of n.entries()){const n=await Oc(o,r,"V1");await e(n,r,void 0,i[t])}}catch(o){throw new Error("Invalid password.")}}})();return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(j5,{}),subtitle:"Select a JSON backup file and enter the password you used to encrypt it.",title:"Restore from Backup",children:(0,Yn.jsx)(oQ,{...e,children:(0,Yn.jsx)("form",{onSubmit:t((({password:e,file:t})=>o((async()=>{const r=await t[0].text(),n=JSON.parse(r);if(n.recoveryPhrases&&n.derivationPaths)await a(n,e);else{if(!n["persist:accounts"])throw new Error("Invalid backup file.");await(async(e,t)=>{const r=e["persist:accounts"];if(!r)throw new Error("Invalid backup file.");const n=JSON.parse(r),i=JSON.parse(n.seedPhrases);try{for(const e of Object.values(i))await Oc(e,t,"V2")}catch(o){throw new Error("Invalid password.")}localStorage.clear(),localStorage.setItem("persist:accounts",r),localStorage.setItem("persist:root",e["persist:root"])})(n,e)}window.location.reload()})))),style:{width:"100%"},children:(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!n.file,children:[(0,Yn.jsx)(b0,{children:"Upload File"}),(0,Yn.jsx)(Zn,{children:(0,Yn.jsx)(O0,{padding:"2px","data-testid":"file-input",...r("file",{required:"File is required"}),accept:".json",type:"file",variant:"unstyled"})}),n.file&&(0,Yn.jsx)(CJ,{"data-testid":"file",children:n.file.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",children:[(0,Yn.jsx)(ete,{"data-testid":"password-input",inputName:"password",label:"Your password (if you have one)",required:!1}),n.password&&(0,Yn.jsx)(CJ,{"data-testid":"password",children:n.password.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",isDisabled:!i,size:"lg",type:"submit",children:"Import Wallet"})]})})})})},zoe=({closeModal:e,account:t})=>{const r=Yie(),n=DY(),{isLoading:i,handleAsyncAction:o}=Yee();return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)($5,{}),subtitle:"Complete the steps to connect.",title:"Connect Ledger",children:(0,Yn.jsxs)(Cie,{overflowY:"auto",spacing:"24px",children:[(0,Yn.jsx)(L0,{spacing:4,children:[{content:"Plug your Ledger into your computer using a USB cable."},{content:"Unlock your Ledger."},{content:"Make sure your Ledger has the latest firmware version."},{content:"Install and open the Tezos Wallet app on your Ledger."},{content:"Click the button below and confirm the action on your Ledger."}].map(((e,t)=>(0,Yn.jsx)(D0,{children:e.content},t)))}),(0,Yn.jsx)(_i,{width:"100%",isLoading:i,onClick:()=>o((()=>Zee((async()=>{const i=n({description:"Please open the Tezos app on your Ledger and approve the operation",status:"info"}),o=nl(t.derivationPath,0),{pk:a,pkh:s}=await(async e=>{const t=await ch.create(),r=new bh(t,e,!0),n=await r.publicKey(),i=await r.publicKeyHash();return await t.close(),{pk:n,pkh:i}})(o);r(o,a,s,t.label),n.close(i),n({description:"Account successfully created!",status:"success"}),e()}),6e4)),(e=>"PublicKeyRetrievalError"===e.name?{description:"Request rejected. Please unlock your Ledger and open the Tezos app"}:"InvalidStateError"===e.name?{description:"Request pending. Check your ledger..."}:{description:`Ledger error. ${e.message||e.name}`})),size:"lg",children:"Export Public Key"})]})})};var Uoe=xV({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"}),Foe=xV({d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z",displayName:"WarningIcon"}),$oe=re((function(e,t){const{children:r,placeholder:n,className:i,...o}=e;return(0,Yn.jsxs)(Gn.select,{...o,ref:t,className:ne("chakra-select",i),children:[n&&(0,Yn.jsx)("option",{value:"",children:n}),r]})}));$oe.displayName="SelectField";var Hoe=re(((e,t)=>{var r;const n=ci("Select",e),{rootProps:i,placeholder:o,icon:a,color:s,height:c,h:l,minH:u,minHeight:d,iconColor:h,iconSize:f,...p}=Jt(e),[m,g]=function(e,t){const r={},n={};for(const[i,o]of Object.entries(e))t.includes(i)?r[i]=o:n[i]=o;return[r,n]}(p,Ft),v=E0(g),y={width:"100%",height:"fit-content",position:"relative",color:s},b={paddingEnd:"2rem",...n.field,_focus:{zIndex:"unset",...null==(r=n.field)?void 0:r._focus}};return(0,Yn.jsxs)(Gn.div,{className:"chakra-select__wrapper",__css:y,...m,...i,children:[(0,Yn.jsx)($oe,{ref:t,height:null!=l?l:c,minH:null!=u?u:d,placeholder:o,...v,__css:b,children:e.children}),(0,Yn.jsx)(Koe,{"data-disabled":ce(v.disabled),...(h||s)&&{color:h||s},__css:n.icon,...f&&{fontSize:f},children:a})]})}));Hoe.displayName="Select";var Voe=e=>(0,Yn.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),qoe=Gn("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),Koe=e=>{const{children:r=(0,Yn.jsx)(Voe,{}),...n}=e,i=(0,t.cloneElement)(r,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return(0,Yn.jsx)(qoe,{...n,className:"chakra-select__icon-wrapper",children:(0,t.isValidElement)(r)?i:null})};Koe.displayName="SelectIcon";const Woe=[12,15,18,24],Goe=({goToStep:e})=>{const{register:r,handleSubmit:n,setValue:i,trigger:o,formState:{errors:a,isValid:s}}=h0({mode:"onBlur"}),{handleAsyncAction:c}=Yee(),[l,u]=(0,t.useState)(24);return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(f5,{width:"24px",height:"24px",stroke:E$.gray[450]}),subtitle:"Please fill in the Seed Phrase in sequence.",title:"Import Seed Phrase",children:(0,Yn.jsx)(Qn,{overflowX:"hidden",children:(0,Yn.jsx)("form",{onSubmit:n((t=>c((async()=>{const r=Object.values(t).join(" ").trim();if(!(0,jc._I)(r))throw new Error(`Invalid Mnemonic: "${r}"`);e({type:tae.nameAccount,account:{type:"mnemonic",mnemonic:r}})})))),style:{width:"100%"},children:(0,Yn.jsxs)(Cie,{width:"100%",spacing:4,children:[(0,Yn.jsx)(Hoe,{height:"48px",color:E$.gray[450],"data-testid":"select",icon:(0,Yn.jsx)(Uoe,{}),onChange:e=>(e=>{const t=Number(e);Woe.includes(t)&&(u((e=>(e>t&&(0,iE.range)(t,Math.max(...Woe)).forEach((e=>{i(`word${e}`,void 0)})),t))),o())})(e.target.value),value:l,children:Woe.reverse().map((e=>(0,Yn.jsxs)("option",{value:e,children:[e," Words"]},e)))}),(0,Yn.jsx)(die,{gridGap:3,gridTemplateColumns:"repeat(3, 1fr)",paddingBottom:"20px",children:(0,iE.range)(l).map((e=>(0,Yn.jsxs)(fie,{display:"flex",height:"38px",padding:"4px",fontSize:"sm",background:E$.gray[800],border:"1px solid",borderColor:E$.gray[500],borderRadius:"4px",children:[(0,Yn.jsx)(li,{width:"18px",marginRight:"6px",paddingTop:"6px",color:E$.gray[400],textAlign:"right",size:"sm",children:e+1}),(0,Yn.jsx)(O0,{border:"none",autoComplete:"off",onPaste:async e=>{e.preventDefault();(e=>{c((async()=>{const t=e.split(" ");if(!Woe.includes(t.length))throw new Error(`the mnemonic must be ${Woe.join(", ")} words long`);t.slice(0,l).forEach(((e,t)=>{i(`word${t}`,e)})),o()}))})(await navigator.clipboard.readText())},placeholder:"Type here...",size:"xsmall",...r(`word${e}`,{required:!0})}),a[`${e}`]&&(0,Yn.jsx)(Foe,{width:"40px",height:"40px",padding:"8px",color:"red"})]},e)))}),(0,Yn.jsx)(_i,{width:"100%",isDisabled:!s,size:"lg",type:"submit",children:"Continue"})]})})})})};var Yoe=["h","minH","height","minHeight"],Zoe=re(((e,t)=>{const r=si("Textarea",e),{className:n,rows:i,...o}=Jt(e),a=E0(o),s=i?function(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}(r,Yoe):r;return(0,Yn.jsx)(Gn.textarea,{ref:t,rows:i,...a,className:ne("chakra-textarea",n),__css:s})}));Zoe.displayName="Textarea";const Xoe=({goToStep:e})=>{const{register:t,handleSubmit:r,formState:{errors:n}}=h0({mode:"onBlur"});return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(f5,{width:"24px",height:"24px",stroke:E$.gray[450]}),title:"Insert Secret Key",children:(0,Yn.jsxs)("form",{onSubmit:r((({secretKey:t})=>e({type:tae.nameAccount,account:{type:"secret_key",secretKey:t.trim()}}))),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{isInvalid:!!n.secretKey,children:[(0,Yn.jsx)(b0,{children:"Secret Key"}),(0,Yn.jsx)(Zoe,{minHeight:"130px","data-testid":"name",...t("secretKey",{required:"Secret key is required"}),placeholder:"Your secret key"}),n.secretKey&&(0,Yn.jsx)(CJ,{children:n.secretKey.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",isDisabled:!!n.secretKey,size:"lg",type:"submit",children:"Continue"})]})})};var Joe=re((function(e,t){const{columns:r,spacingX:n,spacingY:i,spacing:o,minChildWidth:a,...s}=e,c=ri(),l=a?function(e,t){return zX(e,(e=>{const r=ii("sizes",e,function(e){return"number"===typeof e?`${e}px`:e}(e))(t);return null===e?null:`repeat(auto-fit, minmax(${r}, 1fr))`}))}(a,c):zX(r,(e=>null===e?null:`repeat(${e}, minmax(0, 1fr))`));return(0,Yn.jsx)(die,{ref:t,gap:o,columnGap:n,rowGap:i,templateColumns:l,...s})}));Joe.displayName="SimpleGrid";const Qoe=({goToStep:e,account:t})=>(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(f5,{width:"24px",height:"24px",stroke:E$.gray[450]}),subtitle:"Please record the following 24 words in sequence in order to restore it in the future.",title:"Record Seed Phrase",children:(0,Yn.jsxs)(Cie,{children:[(0,Yn.jsx)(Joe,{columns:3,spacing:2,children:t.mnemonic.split(" ").map(((e,t)=>(0,Yn.jsxs)(Zn,{width:"126px",padding:"6px",border:"1px dashed",borderColor:E$.gray[500],borderRadius:"4px",children:[(0,Yn.jsx)(li,{width:"18px",marginRight:"10px",paddingTop:"2px",color:E$.gray[450],textAlign:"right",size:"sm",children:t+1}),(0,Yn.jsx)(NX,{"data-testid":`mnemonic-word-${t}`,size:"sm",children:e})]},t)))}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"20px",onClick:r=>{e({type:tae.verifySeedphrase,account:t})},size:"lg",children:"OK, I've recorded it"})]})}),eae=({goToStep:e,account:r})=>{const n=r.mnemonic.split(" "),{register:i,handleSubmit:o,formState:{errors:a,isValid:s,isDirty:c}}=h0({mode:"onBlur"}),[l]=(0,t.useState)(((e,t)=>(0,iE.shuffle)(e.map(((e,t)=>({value:e,index:t})))).slice(0,t).sort(((e,t)=>e.index-t.index)))(n,5));return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(G2,{}),subtitle:"To verify, please type in the word that corresponds to each sequence number.",title:"Verify Seed Phrase",children:(0,Yn.jsx)(Qn,{overflowX:"hidden",overflowY:"auto",width:"100%",children:(0,Yn.jsxs)("form",{onSubmit:o((()=>{e({type:tae.nameAccount,account:r})})),children:[l.map(((e,t)=>(0,Yn.jsxs)(OJ,{marginBottom:"12px",isInvalid:!!a[`${e.index}`]&&c,children:[(0,Yn.jsxs)(k0,{size:"md",children:[(0,Yn.jsx)(j0,{"data-testid":"mnemonic-index",children:e.index+1}),(0,Yn.jsx)(O0,{placeholder:"Type here",...i(`${e.index}`,{required:!0,validate:t=>t===`${e.value}`})})]}),a[`${e.index}`]&&(0,Yn.jsx)(Qee,{children:"Invalid input"})]},t))),(0,Yn.jsx)(_i,{width:"100%",marginTop:"20px",isDisabled:!s,size:"lg",type:"submit",children:"Continue"})]})})})};let tae=function(e){return e.eula="eula",e.connectOrCreate="connectOrCreate",e.connectOptions="connectOptions",e.notice="notice",e.restoreMnemonic="restoreMnemonic",e.restoreSecretKey="restoreSecretKey",e.restoreLedger="restoreLedger",e.restoreBackup="restoreBackup",e.showSeedphrase="showSeedphrase",e.verifySeedphrase="verifySeedphrase",e.nameAccount="nameAccount",e.derivationPath="derivationPath",e.masterPassword="masterPassword",e.fakeAccount="fakeAccount",e}({});const rae=e=>{const{isOpen:r,onOpen:n,onClose:i}=aK(),o=0!==E3().length,a=(e=>{const[r,n]=(0,t.useState)(e),[i,o]=(0,t.useState)([r]),a=1===i.length;return{reset:()=>{n(e),o([e])},goToStep:e=>{n(e),o([...i,e])},currentStep:r,goBack:()=>{if(a)return;i.pop();const e=i[i.length-1];o(i),n(e)},atInitialStep:a,fullHistory:i}})({type:o?tae.connectOrCreate:tae.eula}),{currentStep:s,goToStep:c}=a,l=()=>{a.reset(),e&&e(),i()};return{modalElement:(0,Yn.jsxs)(kK,{autoFocus:!1,closeOnOverlayClick:!1,isCentered:!0,isOpen:r,onClose:l,children:[o&&(0,Yn.jsx)(BK,{}),(0,Yn.jsxs)(IX,{children:[!a.atInitialStep&&(0,Yn.jsx)(hte,{onClick:a.goBack}),(0,Yn.jsx)(DX,{onClick:l}),(()=>{switch(s.type){case tae.eula:return(0,Yn.jsx)(Toe,{goToStep:c});case tae.connectOrCreate:return(0,Yn.jsx)(Zie,{closeModal:l,goToStep:c});case tae.connectOptions:return(0,Yn.jsx)($ie,{goToStep:c});case tae.notice:return(0,Yn.jsx)(Doe,{goToStep:c});case tae.restoreMnemonic:return(0,Yn.jsx)(Goe,{goToStep:c});case tae.restoreBackup:return(0,Yn.jsx)(Boe,{});case tae.showSeedphrase:return(0,Yn.jsx)(Qoe,{goToStep:c,...s});case tae.verifySeedphrase:return(0,Yn.jsx)(eae,{goToStep:c,...s});case tae.nameAccount:return(0,Yn.jsx)(Loe,{goToStep:c,...s});case tae.derivationPath:return(0,Yn.jsx)(Jie,{goToStep:c,...s});case tae.restoreLedger:return(0,Yn.jsx)(zoe,{closeModal:l,...s});case tae.masterPassword:return(0,Yn.jsx)(Roe,{onClose:i,...s});case tae.fakeAccount:return(0,Yn.jsx)(joe,{onClose:i});case tae.restoreSecretKey:return(0,Yn.jsx)(Xoe,{goToStep:c})}})()]})]}),onOpen:n}},nae=e=>{const{mode:t,operations:r,fee:n,data:{threshold:i,signers:o,name:a,sender:s}}=e,{fee:c,operations:l,estimationFailed:u,isLoading:d,form:h,signer:f,onSign:p}=Dre(n,r,t);return(0,Yn.jsx)(oQ,{...h,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:l.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"Contract Name"}),(0,Yn.jsx)(NX,{marginBottom:"24px",padding:"14px",color:E$.gray[50],background:E$.gray[800],borderRadius:"6px","data-testid":"contract-name",children:a}),(0,Yn.jsxs)(Qn,{marginBottom:"24px",children:[(0,Yn.jsx)(b0,{children:"Owner"}),(0,Yn.jsx)(z3,{marginBottom:"12px",address:dd(s)}),(0,Yn.jsx)(Zn,{justifyContent:"flex-end",children:(0,Yn.jsx)(cte,{fee:c})})]}),(0,Yn.jsx)(b0,{children:"Approvers"}),o.map((e=>(0,Yn.jsx)(z3,{marginBottom:"12px",address:dd(e.val),"data-testid":`approver-${e.val}`},e.val))),(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"24px",marginBottom:"24px",children:[(0,Yn.jsx)(li,{marginRight:"12px",size:"md",children:"Min No. of approvals:"}),(0,Yn.jsx)(Xn,{width:"100px",height:"48px",background:E$.gray[800],borderRadius:"4px",children:(0,Yn.jsxs)(NX,{textAlign:"center","data-testid":"threshold",children:[i," out of ",o.length]})})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:u,isLoading:d,onSubmit:p,signer:f,text:fte(l.type,t)})})]})})})},iae=[{prim:"storage",args:[{prim:"pair",args:[{prim:"address",annots:["%owner"]},{prim:"pair",args:[{prim:"set",args:[{prim:"address"}],annots:["%signers"]},{prim:"pair",args:[{prim:"nat",annots:["%threshold"]},{prim:"pair",args:[{prim:"nat",annots:["%last_op_id"]},{prim:"pair",args:[{prim:"big_map",args:[{prim:"nat"},{prim:"pair",args:[{prim:"lambda",args:[{prim:"unit"},{prim:"list",args:[{prim:"operation"}]}],annots:["%actions"]},{prim:"set",args:[{prim:"address"}],annots:["%approvals"]}]}],annots:["%pending_ops"]},{prim:"big_map",args:[{prim:"string"},{prim:"bytes"}],annots:["%metadata"]}]}]}]}]}]}]},{prim:"parameter",args:[{prim:"or",args:[{prim:"or",args:[{prim:"or",args:[{prim:"bytes",annots:["%set_metadata_uri"]},{prim:"unit",annots:["%default"]}]},{prim:"or",args:[{prim:"lambda",args:[{prim:"unit"},{prim:"list",args:[{prim:"operation"}]}],annots:["%propose"]},{prim:"nat",annots:["%approve"]}]}]},{prim:"nat",annots:["%execute"]}]}]},{prim:"code",args:[[{prim:"NIL",args:[{prim:"operation"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"UNPAIR"},{prim:"DIP",args:[{int:"1"},[{prim:"UNPAIR",args:[{int:"6"}]}]]},{prim:"IF_LEFT",args:[[{prim:"IF_LEFT",args:[[{prim:"IF_LEFT",args:[[{prim:"DUP",args:[{int:"2"}]},{prim:"SENDER"},{prim:"COMPARE"},{prim:"EQ"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"INVALID_CALLER"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"7"}]},{prim:"DUP",args:[{int:"2"}]},{prim:"SOME"},{prim:"PUSH",args:[{prim:"string"},{string:""}]},{prim:"UPDATE"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"1"}]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}],[{prim:"DROP",args:[{int:"1"}]},{prim:"DUP",args:[{int:"3"}]},{prim:"DUP",args:[{int:"3"}]},{prim:"SIZE"},{prim:"COMPARE"},{prim:"GE"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"FUNDING BLOCKED SINCE PARAMS ARE INVALID"}]},{prim:"FAILWITH"}],[]]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}]]}],[{prim:"IF_LEFT",args:[[{prim:"PUSH",args:[{prim:"mutez"},{int:"0"}]},{prim:"AMOUNT"},{prim:"COMPARE"},{prim:"EQ"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"TO FUND CONTRACT, PLEASE USE THE DEFAULT ENTRYPOINT"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"3"}]},{prim:"SENDER"},{prim:"MEM"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"ONLY FOR SIGNERS"}]},{prim:"FAILWITH"}],[]]},{prim:"PUSH",args:[{prim:"nat"},{int:"1"}]},{prim:"DUP",args:[{int:"6"}]},{prim:"ADD"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"4"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"4"}]},{prim:"DUP",args:[{int:"6"}]},{prim:"DUP",args:[{int:"6"}]},{prim:"MEM"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"pending_ops"}]},{prim:"PUSH",args:[{prim:"string"},{string:"KEY_EXISTS"}]},{prim:"PAIR"},{prim:"FAILWITH"}],[{prim:"DUP",args:[{int:"6"}]},{prim:"EMPTY_SET",args:[{prim:"address"}]},{prim:"PUSH",args:[{prim:"bool"},{prim:"True"}]},{prim:"SENDER"},{prim:"UPDATE"},{prim:"DUP",args:[{int:"3"}]},{prim:"PAIR"},{prim:"SOME"},{prim:"DUP",args:[{int:"7"}]},{prim:"UPDATE"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"5"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"5"}]}]]},{prim:"DROP",args:[{int:"1"}]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}],[{prim:"DUP",args:[{int:"6"}]},{prim:"DUP",args:[{int:"2"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"INVALID OP ID"}]},{prim:"FAILWITH"}],[]]},{prim:"PUSH",args:[{prim:"mutez"},{int:"0"}]},{prim:"AMOUNT"},{prim:"COMPARE"},{prim:"EQ"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"TO FUND CONTRACT, PLEASE USE THE DEFAULT ENTRYPOINT"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"4"}]},{prim:"SENDER"},{prim:"MEM"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"ONLY FOR SIGNERS"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP"},{prim:"CDR"},{prim:"SENDER"},{prim:"MEM"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"ALREADY APPROVED"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"7"}]},{prim:"DUP",args:[{int:"8"}]},{prim:"DUP",args:[{int:"4"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"pending_ops"}]},{prim:"PUSH",args:[{prim:"string"},{string:"ASSET_NOT_FOUND"}]},{prim:"PAIR"},{prim:"FAILWITH"}],[]]},{prim:"UNPAIR"},{prim:"SWAP"},{prim:"DROP",args:[{int:"1"}]},{prim:"DUP",args:[{int:"9"}]},{prim:"DUP",args:[{int:"5"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"pending_ops"}]},{prim:"PUSH",args:[{prim:"string"},{string:"ASSET_NOT_FOUND"}]},{prim:"PAIR"},{prim:"FAILWITH"}],[]]},{prim:"CDR"},{prim:"PUSH",args:[{prim:"bool"},{prim:"True"}]},{prim:"SENDER"},{prim:"UPDATE"},{prim:"SWAP"},{prim:"PAIR"},{prim:"SOME"},{prim:"DUP",args:[{int:"4"}]},{prim:"UPDATE"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"2"}]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}]]}]]}],[{prim:"DUP",args:[{int:"6"}]},{prim:"DUP",args:[{int:"2"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"INVALID OP ID"}]},{prim:"FAILWITH"}],[]]},{prim:"PUSH",args:[{prim:"mutez"},{int:"0"}]},{prim:"AMOUNT"},{prim:"COMPARE"},{prim:"EQ"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"TO FUND CONTRACT, PLEASE USE THE DEFAULT ENTRYPOINT"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"4"}]},{prim:"SENDER"},{prim:"MEM"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"ONLY FOR SIGNERS"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"5"}]},{prim:"DUP",args:[{int:"2"}]},{prim:"CDR"},{prim:"SIZE"},{prim:"COMPARE"},{prim:"GE"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"NOT YET APPROVED"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"7"}]},{prim:"DUP",args:[{int:"3"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"pending_ops"}]},{prim:"PUSH",args:[{prim:"string"},{string:"ASSET_NOT_FOUND"}]},{prim:"PAIR"},{prim:"FAILWITH"}],[]]},{prim:"CAR"},{prim:"PUSH",args:[{prim:"unit"},{prim:"Unit"}]},{prim:"EXEC"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"8"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"8"}]},{prim:"DUP",args:[{int:"7"}]},{prim:"NONE",args:[{prim:"pair",args:[{prim:"lambda",args:[{prim:"unit"},{prim:"list",args:[{prim:"operation"}]}]},{prim:"set",args:[{prim:"address"}]}]}]},{prim:"DUP",args:[{int:"4"}]},{prim:"UPDATE"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"2"}]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}]]}]]}],oae=e=>{return{type:"contract_origination",sender:dd(e.sender),code:iae,storage:(t=e.sender,r=e.signers.map((e=>e.val)),n=String(e.threshold),{owner:t,signers:r,threshold:n,last_op_id:"0",pending_ops:[],metadata:[]})};var t,r,n},aae=e=>{const r=h0({mode:"onBlur",defaultValues:{signers:[{val:""}],threshold:1,...Nre(e)}}),{formState:{errors:n,isValid:i},control:o,register:a,handleSubmit:s,getValues:c,watch:l}=r,u=function(e){const r=iQ(),{control:n=r.control,name:i,keyName:o="id",shouldUnregister:a}=e,[s,c]=t.useState(n._getFieldArray(i)),l=t.useRef(n._getFieldArray(i).map(yQ)),u=t.useRef(s),d=t.useRef(i),h=t.useRef(!1);d.current=i,u.current=s,n._names.array.add(i),e.rules&&n.register(i,e.rules),uQ({next:({values:e,name:t})=>{if(t===d.current||!t){const t=KJ(e,d.current);Array.isArray(t)&&(c(t),l.current=t.map(yQ))}},subject:n._subjects.array});const f=t.useCallback((e=>{h.current=!0,n._updateFieldArray(i,e)}),[n,i]);return t.useEffect((()=>{if(n._state.action=!1,xQ(i,n._names)&&n._subjects.state.next({...n._formState}),h.current&&(!wQ(n._options.mode).isOnSubmit||n._formState.isSubmitted))if(n._options.resolver)n._executeSchema([i]).then((e=>{const t=KJ(e.errors,i),r=KJ(n._formState.errors,i);(r?!t&&r.type||t&&(r.type!==t.type||r.message!==t.message):t&&t.type)&&(t?mQ(n._formState.errors,i,t):VQ(n._formState.errors,i),n._subjects.state.next({errors:n._formState.errors}))}));else{const e=KJ(n._fields,i);e&&e._f&&NQ(e,n._formValues,n._options.criteriaMode===YJ.all,n._options.shouldUseNativeValidation,!0).then((e=>!sQ(e)&&n._subjects.state.next({errors:_Q(n._formState.errors,e,i)})))}n._subjects.values.next({name:i,values:{...n._formValues}}),n._names.focus&&vQ(n._fields,(e=>!!e&&e.startsWith(n._names.focus||""))),n._names.focus="",n._updateValid(),h.current=!1}),[s,i,n]),t.useEffect((()=>(!KJ(n._formValues,i)&&n._updateFieldArray(i),()=>{(n._options.shouldUnregister||a)&&n.unregister(i)})),[i,n,o,a]),{swap:t.useCallback(((e,t)=>{const r=n._getFieldArray(i);HQ(r,e,t),HQ(l.current,e,t),f(r),c(r),n._updateFieldArray(i,r,HQ,{argA:e,argB:t},!1)}),[f,i,n]),move:t.useCallback(((e,t)=>{const r=n._getFieldArray(i);UQ(r,e,t),UQ(l.current,e,t),f(r),c(r),n._updateFieldArray(i,r,UQ,{argA:e,argB:t},!1)}),[f,i,n]),prepend:t.useCallback(((e,t)=>{const r=lQ(HJ(e)),o=FQ(n._getFieldArray(i),r);n._names.focus=bQ(i,0,t),l.current=FQ(l.current,r.map(yQ)),f(o),c(o),n._updateFieldArray(i,o,FQ,{argA:BQ(e)})}),[f,i,n]),append:t.useCallback(((e,t)=>{const r=lQ(HJ(e)),o=DQ(n._getFieldArray(i),r);n._names.focus=bQ(i,o.length-1,t),l.current=DQ(l.current,r.map(yQ)),f(o),c(o),n._updateFieldArray(i,o,DQ,{argA:BQ(e)})}),[f,i,n]),remove:t.useCallback((e=>{const t=$Q(n._getFieldArray(i),e);l.current=$Q(l.current,e),f(t),c(t),n._updateFieldArray(i,t,$Q,{argA:e})}),[f,i,n]),insert:t.useCallback(((e,t,r)=>{const o=lQ(HJ(t)),a=zQ(n._getFieldArray(i),e,o);n._names.focus=bQ(i,e,r),l.current=zQ(l.current,e,o.map(yQ)),f(a),c(a),n._updateFieldArray(i,a,zQ,{argA:e,argB:BQ(t)})}),[f,i,n]),update:t.useCallback(((e,t)=>{const r=HJ(t),o=qQ(n._getFieldArray(i),e,r);l.current=[...o].map(((t,r)=>t&&r!==e?l.current[r]:yQ())),f(o),c([...o]),n._updateFieldArray(i,o,qQ,{argA:e,argB:r},!0,!1)}),[f,i,n]),replace:t.useCallback((e=>{const t=lQ(HJ(e));l.current=t.map(yQ),f([...t]),c([...t]),n._updateFieldArray(i,[...t],(e=>e),{},!0,!1)}),[f,i,n]),fields:t.useMemo((()=>s.map(((e,t)=>({...e,[o]:l.current[t]||yQ()})))),[s,o])}}({control:o,name:"signers",rules:{minLength:1}}),d=l("signers").length,h=Hre({SignPage:nae,signPageExtraData:l(),FormPage:aae,defaultFormPageProps:{},toOperation:oae}),{onFormSubmitActionHandlers:[f],isLoading:p}=qre([h]);return(0,Yn.jsx)(oQ,{...r,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:s(f),children:[(0,Yn.jsx)(ute,{subTitle:"Name your contract, select an owner and the signers of the contract.",title:"Create Multisig"}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!n.name,children:[(0,Yn.jsx)(b0,{children:"Name the Contract"}),(0,Yn.jsx)(k0,{children:(0,Yn.jsx)(O0,{type:"text",...a("name",{required:"Name is required"}),placeholder:"The name is only stored locally"})}),n.name&&(0,Yn.jsx)(Qee,{"data-testid":"name-error",children:n.name.message})]}),(0,Yn.jsxs)(OJ,{isInvalid:!!n.sender,marginY:"24px",children:[(0,Yn.jsx)(q3,{allowUnknown:!1,inputName:"sender",label:"Select Owner"}),n.sender&&(0,Yn.jsx)(Qee,{"data-testid":"owner-error",children:n.sender.message})]}),u.fields.map(((e,t)=>{var r;const i=n.signers&&n.signers[t],o=`${0===t?"Select ":""}${t+1} signer`,a=d>1?"short":"default",s="short"===a?"368px":"100%";return(0,Yn.jsxs)(OJ,{display:"inline-block",width:s,marginBottom:"8px","data-testid":`signer-input-${t}`,isInvalid:!!i,children:[(0,Yn.jsx)(q3,{allowUnknown:!0,inputName:`signers.${t}.val`,label:o,size:a,style:{width:s},validate:e=>{if(!pd(e))return"Signer must be valid TZ address";const t=c("signers").map((e=>e.val));return t.length>new Set(t).size?"Duplicate signer":void 0}}),d>1&&(0,Yn.jsx)(Z3,{position:"absolute",height:"24px",marginTop:"-36px",marginLeft:"374px",background:E$.gray[500],"aria-label":"Remove","data-testid":`remove-signer-${t}`,icon:(0,Yn.jsx)(U5,{width:"12px",height:"14px",stroke:E$.gray[300]}),isRound:!0,onClick:()=>u.remove(t),size:"xs",variant:"tertiary"}),i&&(0,Yn.jsx)(Qee,{"data-testid":`signer-${t}-error`,children:null===(r=i.val)||void 0===r?void 0:r.message})]},e.id)})),(0,Yn.jsx)(_i,{paddingLeft:0,onClick:()=>u.append({val:""}),variant:"specialCTA",children:"+ Add Signer"}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!n.threshold,children:[(0,Yn.jsxs)(b0,{display:"inline",children:["Min No. of approvals:",(0,Yn.jsx)(k0,{display:"inline",marginLeft:"10px",children:(0,Yn.jsx)(O0,{width:"60px",color:"white","data-testid":"threshold-input",step:1,type:"number",...a("threshold",{required:"No. of approvals is required",max:{value:d,message:`Max no. of approvals is ${d}`},min:{value:1,message:"Min no. of approvals is 1"}})})}),(0,Yn.jsxs)(NX,{display:"inline",marginLeft:"10px","data-testid":"max-signers",children:["out of ",d]})]}),n.threshold&&(0,Yn.jsx)(Qee,{"data-testid":"threshold-error",children:n.threshold.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",isDisabled:!i,isLoading:p,size:"lg",type:"submit",children:"Review"})})]})})})},sae=()=>{const{onOpen:e,modalElement:t}=rae();return(0,Yn.jsxs)(Zn,{flexDirection:"row-reverse",marginTop:"12px",marginBottom:"16px",children:[(0,Yn.jsxs)(_i,{paddingRight:"0",onClick:e,variant:"CTAWithIcon",children:[(0,Yn.jsx)(M2,{stroke:"currentcolor"}),(0,Yn.jsx)(NX,{marginLeft:"4px",size:"sm",children:"Add Account"})]}),t]})},cae=({groupLabel:e,accounts:r,balances:n,onSelect:i,selected:o})=>{const a=r[0],s="multisig"===a.type,c="mnemonic"===a.type,{openWith:l,onClose:u}=(0,t.useContext)(kW),d=(()=>{const e=t3();return t=>{e(qie({fingerPrint:t}))}})(),h=(()=>{const e=t3();return t=>{e(Kie({accountType:t}))}})(),f=E3().length===r.length;let p,m="Remove All";const g=lae(a);f?(p="Removing all your accounts will off-board you from Umami. This will remove or reset all customised settings to their defaults. Personal data (including saved contacts, password and accounts) won't be affected.",m="Remove & Off-board"):p=c?`Are you sure you want to remove all accounts derived from ${g}?`:`Are you sure you want to remove all of your ${g}?`;return(0,Yn.jsxs)(Qn,{"data-testid":`account-group-${e}`,children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsx)(li,{marginBottom:4,"data-testid":"account-group-title",size:"md",children:e}),!s&&(0,Yn.jsx)(Aie,{onCreate:c?()=>{if(!c)throw new Error("Can't derive a non mnemonic account!");l((0,Yn.jsx)(dae,{fingerprint:a.seedFingerPrint,onDone:u}))}:void 0,onRemove:()=>{l((0,Yn.jsx)(Wne,{buttonLabel:m,description:p,onSubmit:()=>{c?d(a.seedFingerPrint):h(a.type),u()},title:"Remove All Accounts"}))}})]}),r.map((e=>(0,Yn.jsx)(Qn,{marginBottom:"16px",children:(0,Yn.jsx)(Uie,{address:e.address.pkh,balance:n[e.address.pkh],onClick:t=>i(e.address.pkh),selected:e.address.pkh===o})},e.address.pkh)))]})},lae=e=>{switch(e.type){case"mnemonic":return`Seedphrase ${e.seedFingerPrint}`;case"social":return"Social Accounts";case"ledger":return"Ledger Accounts";case"secret_key":return"Secret Key Accounts";case"multisig":return"Multisig Accounts"}},uae=({onOpen:e,selected:r,onSelect:n})=>{const i=O3(),o=r3((e=>e.assets.balances.mutez)),a=(0,iE.groupBy)(i,lae),{openWith:s}=(0,t.useContext)(kW),c=Object.entries(a).map((([t,i])=>(0,Yn.jsx)(cae,{accounts:i,balances:o,groupLabel:t,onSelect:t=>{e(),n(t)},selected:r},t)));return(0,Yn.jsx)(Yn.Fragment,{children:(0,Yn.jsx)(Qn,{height:"100%",marginRight:0,children:(0,Yn.jsxs)(Fie,{children:[(0,iE.compact)(c),(0,Yn.jsx)(_i,{width:"100%",height:"90px",background:E$.black,border:"1px dashed",borderColor:E$.gray[500],onClick:()=>s((0,Yn.jsx)(aae,{})),variant:"outline",children:(0,Yn.jsxs)(NX,{display:"block",width:"100%",margin:5,color:E$.gray[400],textAlign:"center",children:[(0,Yn.jsx)(f5,{marginRight:1,stroke:E$.gray[450]}),"Create New Multisig"]})})]})})})},dae=e=>{const t=t3(),{isLoading:r,handleAsyncAction:n}=Yee(),i=DY();return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(Nie,{isLoading:r,onSubmit:({name:r,password:o})=>n((async()=>{await t(oP({fingerPrint:e.fingerprint,password:o,label:r})).unwrap(),e.onDone(),i({description:`New account created! Successfully derived account from ${e.fingerprint}`})}),{title:"Failed to derive new account"}),subtitle:`Name the new account derived from ${e.fingerprint}`})]})},hae=({onClose:e})=>(0,Yn.jsx)(Zn,{justifyContent:"flex-end",paddingBottom:"30px",cursor:"pointer",children:(0,Yn.jsx)(fae,{onClose:e})}),fae=({onClose:e})=>(0,Yn.jsxs)(_i,{onClick:e,variant:"CTAWithIcon",children:[(0,Yn.jsx)(J2,{stroke:"currentcolor"}),(0,Yn.jsx)(NX,{marginLeft:"4px",children:"Close"})]});function pae(e){const t=e.target,{tagName:r,isContentEditable:n}=t;return"INPUT"!==r&&"TEXTAREA"!==r&&!0!==n}function mae(e={}){const{ref:r,isDisabled:n,isFocusable:i,clickOnEnter:o=!0,clickOnSpace:a=!0,onMouseDown:s,onMouseUp:c,onClick:l,onKeyDown:u,onKeyUp:d,tabIndex:h,onMouseOver:f,onMouseLeave:p,...m}=e,[g,v]=(0,t.useState)(!0),[y,b]=(0,t.useState)(!1),w=function(){const e=(0,t.useRef)(new Map),r=e.current,n=(0,t.useCallback)(((t,r,n,i)=>{e.current.set(n,{type:r,el:t,options:i}),t.addEventListener(r,n,i)}),[]),i=(0,t.useCallback)(((t,r,n,i)=>{t.removeEventListener(r,n,i),e.current.delete(n)}),[]);return(0,t.useEffect)((()=>()=>{r.forEach(((e,t)=>{i(e.el,e.type,t,e.options)}))}),[i,r]),{add:n,remove:i}}(),x=g?h:h||0,_=n&&!i,S=(0,t.useCallback)((e=>{if(n)return e.stopPropagation(),void e.preventDefault();e.currentTarget.focus(),null==l||l(e)}),[n,l]),k=(0,t.useCallback)((e=>{y&&pae(e)&&(e.preventDefault(),e.stopPropagation(),b(!1),w.remove(document,"keyup",k,!1))}),[y,w]),E=(0,t.useCallback)((e=>{if(null==u||u(e),n||e.defaultPrevented||e.metaKey)return;if(!pae(e.nativeEvent)||g)return;const t=o&&"Enter"===e.key;if(a&&" "===e.key&&(e.preventDefault(),b(!0)),t){e.preventDefault();e.currentTarget.click()}w.add(document,"keyup",k,!1)}),[n,g,u,o,a,w,k]),P=(0,t.useCallback)((e=>{if(null==d||d(e),n||e.defaultPrevented||e.metaKey)return;if(!pae(e.nativeEvent)||g)return;if(a&&" "===e.key){e.preventDefault(),b(!1);e.currentTarget.click()}}),[a,g,n,d]),O=(0,t.useCallback)((e=>{0===e.button&&(b(!1),w.remove(document,"mouseup",O,!1))}),[w]),A=(0,t.useCallback)((e=>{if(0!==e.button)return;if(n)return e.stopPropagation(),void e.preventDefault();g||b(!0);e.currentTarget.focus({preventScroll:!0}),w.add(document,"mouseup",O,!1),null==s||s(e)}),[n,g,s,w,O]),T=(0,t.useCallback)((e=>{0===e.button&&(g||b(!1),null==c||c(e))}),[c,g]),j=(0,t.useCallback)((e=>{n?e.preventDefault():null==f||f(e)}),[n,f]),C=(0,t.useCallback)((e=>{y&&(e.preventDefault(),b(!1)),null==p||p(e)}),[y,p]),R=wi(r,(e=>{e&&"BUTTON"!==e.tagName&&v(!1)}));return g?{...m,ref:R,type:"button","aria-disabled":_?void 0:n,disabled:_,onClick:S,onMouseDown:s,onMouseUp:c,onKeyUp:d,onKeyDown:u,onMouseOver:f,onMouseLeave:p}:{...m,ref:R,role:"button","data-active":ce(y),"aria-disabled":n?"true":void 0,tabIndex:_?void 0:x,onClick:S,onMouseDown:A,onMouseUp:T,onKeyUp:P,onKeyDown:E,onMouseOver:j,onMouseLeave:C}}var[gae,vae,yae,bae]=eJ();var[wae,xae]=ui({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});var[_ae,Sae]=ui({});function kae(e,t){return`${e}--tab-${t}`}function Eae(e,t){return`${e}--tabpanel-${t}`}var[Pae,Oae]=ui({name:"TabsStylesContext",errorMessage:"useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),Aae=re((function(e,r){const n=ci("Tabs",e),{children:i,className:o,...a}=Jt(e),{htmlProps:s,descendants:c,...l}=function(e){var r;const{defaultIndex:n,onChange:i,index:o,isManual:a,isLazy:s,lazyBehavior:c="unmount",orientation:l="horizontal",direction:u="ltr",...d}=e,[h,f]=(0,t.useState)(null!=n?n:0),[p,m]=lJ({defaultValue:null!=n?n:0,value:o,onChange:i});(0,t.useEffect)((()=>{null!=o&&f(o)}),[o]);const g=yae(),v=(0,t.useId)();return{id:`tabs-${null!=(r=e.id)?r:v}`,selectedIndex:p,focusedIndex:h,setSelectedIndex:m,setFocusedIndex:f,isManual:a,isLazy:s,lazyBehavior:c,orientation:l,descendants:g,direction:u,htmlProps:d}}(a),u=(0,t.useMemo)((()=>l),[l]),{isFitted:d,...h}=s,f={position:"relative",...n.root};return(0,Yn.jsx)(gae,{value:c,children:(0,Yn.jsx)(wae,{value:u,children:(0,Yn.jsx)(Pae,{value:n,children:(0,Yn.jsx)(Gn.div,{className:ne("chakra-tabs",o),ref:r,...h,__css:f,children:i})})})})}));Aae.displayName="Tabs";var Tae=re((function(e,r){const n=function(e){const{focusedIndex:r,orientation:n,direction:i}=xae(),o=vae(),a=(0,t.useCallback)((e=>{const t=()=>{var e;const t=o.nextEnabled(r);t&&(null==(e=t.node)||e.focus())},a=()=>{var e;const t=o.prevEnabled(r);t&&(null==(e=t.node)||e.focus())},s="horizontal"===n,c="vertical"===n,l=e.key,u={["ltr"===i?"ArrowLeft":"ArrowRight"]:()=>s&&a(),["ltr"===i?"ArrowRight":"ArrowLeft"]:()=>s&&t(),ArrowDown:()=>c&&t(),ArrowUp:()=>c&&a(),Home:()=>{var e;const t=o.firstEnabled();t&&(null==(e=t.node)||e.focus())},End:()=>{var e;const t=o.lastEnabled();t&&(null==(e=t.node)||e.focus())}},d=u[l];d&&(e.preventDefault(),d(e))}),[o,r,n,i]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:ue(e.onKeyDown,a)}}({...e,ref:r}),i={display:"flex",...Oae().tablist};return(0,Yn.jsx)(Gn.div,{...n,className:ne("chakra-tabs__tablist",e.className),__css:i})}));Tae.displayName="TabList";var jae=re((function(e,r){const n=function(e){const r=xae(),{id:n,selectedIndex:i}=r,o=x0(e.children).map(((e,r)=>(0,t.createElement)(_ae,{key:r,value:{isSelected:r===i,id:Eae(n,r),tabId:kae(n,r),selectedIndex:i}},e)));return{...e,children:o}}(e),i=Oae();return(0,Yn.jsx)(Gn.div,{...n,width:"100%",ref:r,className:ne("chakra-tabs__tab-panels",e.className),__css:i.tabpanels})}));jae.displayName="TabPanels";var Cae=re((function(e,r){const n=function(e){const{children:r,...n}=e,{isLazy:i,lazyBehavior:o}=xae(),{isSelected:a,id:s,tabId:c}=Sae(),l=(0,t.useRef)(!1);return a&&(l.current=!0),{tabIndex:0,...n,children:hre({wasSelected:l.current,isSelected:a,enabled:i,mode:o})?r:null,role:"tabpanel","aria-labelledby":c,hidden:!a,id:s}}({...e,ref:r}),i=Oae();return(0,Yn.jsx)(Gn.div,{outline:"0",...n,className:ne("chakra-tabs__tab-panel",e.className),__css:i.tabpanel})}));function Rae(e){Xre(1,arguments);var t=Jre(e);return t.setHours(0,0,0,0),t}Cae.displayName="TabPanel";var Iae=864e5;function Mae(e,t){Xre(2,arguments);var r=Rae(e),n=Rae(t),i=r.getTime()-_ne(r),o=n.getTime()-_ne(n);return Math.round((i-o)/Iae)}function Lae(e){if(Xre(1,arguments),!function(e){return Xre(1,arguments),e instanceof Date||"object"===Zre(e)&&"[object Date]"===Object.prototype.toString.call(e)}(e)&&"number"!==typeof e)return!1;var t=Jre(e);return!isNaN(Number(t))}function Nae(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function Dae(e,t){return Xre(2,arguments),function(e,t){Xre(2,arguments);var r=Jre(e).getTime(),n=Nae(t);return new Date(r+n)}(e,-Nae(t))}function Bae(e){Xre(1,arguments);var t=Jre(e),r=t.getUTCDay(),n=(r<1?7:0)+r-1;return t.setUTCDate(t.getUTCDate()-n),t.setUTCHours(0,0,0,0),t}function zae(e){Xre(1,arguments);var t=Jre(e),r=t.getUTCFullYear(),n=new Date(0);n.setUTCFullYear(r+1,0,4),n.setUTCHours(0,0,0,0);var i=Bae(n),o=new Date(0);o.setUTCFullYear(r,0,4),o.setUTCHours(0,0,0,0);var a=Bae(o);return t.getTime()>=i.getTime()?r+1:t.getTime()>=a.getTime()?r:r-1}function Uae(e){Xre(1,arguments);var t=Jre(e),r=Bae(t).getTime()-function(e){Xre(1,arguments);var t=zae(e),r=new Date(0);return r.setUTCFullYear(t,0,4),r.setUTCHours(0,0,0,0),Bae(r)}(t).getTime();return Math.round(r/6048e5)+1}function Fae(e,t){var r,n,i,o,a,s,c,l;Xre(1,arguments);var u=ine(),d=Nae(null!==(r=null!==(n=null!==(i=null!==(o=null===t||void 0===t?void 0:t.weekStartsOn)&&void 0!==o?o:null===t||void 0===t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:u.weekStartsOn)&&void 0!==n?n:null===(c=u.locale)||void 0===c||null===(l=c.options)||void 0===l?void 0:l.weekStartsOn)&&void 0!==r?r:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=Jre(e),f=h.getUTCDay(),p=(f=1&&f<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setUTCFullYear(d+1,0,f),p.setUTCHours(0,0,0,0);var m=Fae(p,t),g=new Date(0);g.setUTCFullYear(d,0,f),g.setUTCHours(0,0,0,0);var v=Fae(g,t);return u.getTime()>=m.getTime()?d+1:u.getTime()>=v.getTime()?d:d-1}function Hae(e,t){Xre(1,arguments);var r=Jre(e),n=Fae(r,t).getTime()-function(e,t){var r,n,i,o,a,s,c,l;Xre(1,arguments);var u=ine(),d=Nae(null!==(r=null!==(n=null!==(i=null!==(o=null===t||void 0===t?void 0:t.firstWeekContainsDate)&&void 0!==o?o:null===t||void 0===t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:u.firstWeekContainsDate)&&void 0!==n?n:null===(c=u.locale)||void 0===c||null===(l=c.options)||void 0===l?void 0:l.firstWeekContainsDate)&&void 0!==r?r:1),h=$ae(e,t),f=new Date(0);return f.setUTCFullYear(h,0,d),f.setUTCHours(0,0,0,0),Fae(f,t)}(r,t).getTime();return Math.round(n/6048e5)+1}function Vae(e,t){for(var r=e<0?"-":"",n=Math.abs(e).toString();n.length0?r:1-r;return Vae("yy"===t?n%100:n,t.length)},M:function(e,t){var r=e.getUTCMonth();return"M"===t?String(r+1):Vae(r+1,2)},d:function(e,t){return Vae(e.getUTCDate(),t.length)},a:function(e,t){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];default:return"am"===r?"a.m.":"p.m."}},h:function(e,t){return Vae(e.getUTCHours()%12||12,t.length)},H:function(e,t){return Vae(e.getUTCHours(),t.length)},m:function(e,t){return Vae(e.getUTCMinutes(),t.length)},s:function(e,t){return Vae(e.getUTCSeconds(),t.length)},S:function(e,t){var r=t.length,n=e.getUTCMilliseconds();return Vae(Math.floor(n*Math.pow(10,r-3)),t.length)}};const Kae=qae;var Wae="midnight",Gae="noon",Yae="morning",Zae="afternoon",Xae="evening",Jae="night",Qae={G:function(e,t,r){var n=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});default:return r.era(n,{width:"wide"})}},y:function(e,t,r){if("yo"===t){var n=e.getUTCFullYear(),i=n>0?n:1-n;return r.ordinalNumber(i,{unit:"year"})}return Kae.y(e,t)},Y:function(e,t,r,n){var i=$ae(e,n),o=i>0?i:1-i;return"YY"===t?Vae(o%100,2):"Yo"===t?r.ordinalNumber(o,{unit:"year"}):Vae(o,t.length)},R:function(e,t){return Vae(zae(e),t.length)},u:function(e,t){return Vae(e.getUTCFullYear(),t.length)},Q:function(e,t,r){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(n);case"QQ":return Vae(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,t,r){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(n);case"qq":return Vae(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,t,r){var n=e.getUTCMonth();switch(t){case"M":case"MM":return Kae.M(e,t);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(e,t,r){var n=e.getUTCMonth();switch(t){case"L":return String(n+1);case"LL":return Vae(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(e,t,r,n){var i=Hae(e,n);return"wo"===t?r.ordinalNumber(i,{unit:"week"}):Vae(i,t.length)},I:function(e,t,r){var n=Uae(e);return"Io"===t?r.ordinalNumber(n,{unit:"week"}):Vae(n,t.length)},d:function(e,t,r){return"do"===t?r.ordinalNumber(e.getUTCDate(),{unit:"date"}):Kae.d(e,t)},D:function(e,t,r){var n=function(e){Xre(1,arguments);var t=Jre(e),r=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var n=r-t.getTime();return Math.floor(n/864e5)+1}(e);return"Do"===t?r.ordinalNumber(n,{unit:"dayOfYear"}):Vae(n,t.length)},E:function(e,t,r){var n=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(e,t,r,n){var i=e.getUTCDay(),o=(i-n.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Vae(o,2);case"eo":return r.ordinalNumber(o,{unit:"day"});case"eee":return r.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(i,{width:"short",context:"formatting"});default:return r.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,r,n){var i=e.getUTCDay(),o=(i-n.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Vae(o,t.length);case"co":return r.ordinalNumber(o,{unit:"day"});case"ccc":return r.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(i,{width:"narrow",context:"standalone"});case"cccccc":return r.day(i,{width:"short",context:"standalone"});default:return r.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,r){var n=e.getUTCDay(),i=0===n?7:n;switch(t){case"i":return String(i);case"ii":return Vae(i,t.length);case"io":return r.ordinalNumber(i,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(e,t,r){var n=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(e,t,r){var n,i=e.getUTCHours();switch(n=12===i?Gae:0===i?Wae:i/12>=1?"pm":"am",t){case"b":case"bb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(e,t,r){var n,i=e.getUTCHours();switch(n=i>=17?Xae:i>=12?Zae:i>=4?Yae:Jae,t){case"B":case"BB":case"BBB":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,t,r){if("ho"===t){var n=e.getUTCHours()%12;return 0===n&&(n=12),r.ordinalNumber(n,{unit:"hour"})}return Kae.h(e,t)},H:function(e,t,r){return"Ho"===t?r.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Kae.H(e,t)},K:function(e,t,r){var n=e.getUTCHours()%12;return"Ko"===t?r.ordinalNumber(n,{unit:"hour"}):Vae(n,t.length)},k:function(e,t,r){var n=e.getUTCHours();return 0===n&&(n=24),"ko"===t?r.ordinalNumber(n,{unit:"hour"}):Vae(n,t.length)},m:function(e,t,r){return"mo"===t?r.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Kae.m(e,t)},s:function(e,t,r){return"so"===t?r.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Kae.s(e,t)},S:function(e,t){return Kae.S(e,t)},X:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return tse(i);case"XXXX":case"XX":return rse(i);default:return rse(i,":")}},x:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"x":return tse(i);case"xxxx":case"xx":return rse(i);default:return rse(i,":")}},O:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+ese(i,":");default:return"GMT"+rse(i,":")}},z:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+ese(i,":");default:return"GMT"+rse(i,":")}},t:function(e,t,r,n){var i=n._originalDate||e;return Vae(Math.floor(i.getTime()/1e3),t.length)},T:function(e,t,r,n){return Vae((n._originalDate||e).getTime(),t.length)}};function ese(e,t){var r=e>0?"-":"+",n=Math.abs(e),i=Math.floor(n/60),o=n%60;if(0===o)return r+String(i);var a=t||"";return r+String(i)+a+Vae(o,2)}function tse(e,t){return e%60===0?(e>0?"-":"+")+Vae(Math.abs(e)/60,2):rse(e,t)}function rse(e,t){var r=t||"",n=e>0?"-":"+",i=Math.abs(e);return n+Vae(Math.floor(i/60),2)+r+Vae(i%60,2)}const nse=Qae;var ise=function(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ose=function(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},ase={p:ose,P:function(e,t){var r,n=e.match(/(P+)(p+)?/)||[],i=n[1],o=n[2];if(!o)return ise(e,t);switch(i){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",ise(i,t)).replace("{{time}}",ose(o,t))}};const sse=ase;var cse=["D","DD"],lse=["YY","YYYY"];function use(e,t,r){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var dse=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,hse=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,fse=/^'([^]*?)'?$/,pse=/''/g,mse=/[a-zA-Z]/;function gse(e,t,r){var n,i,o,a,s,c,l,u,d,h,f,p,m,g,v,y,b,w;Xre(2,arguments);var x=String(t),_=ine(),S=null!==(n=null!==(i=null===r||void 0===r?void 0:r.locale)&&void 0!==i?i:_.locale)&&void 0!==n?n:wne,k=Nae(null!==(o=null!==(a=null!==(s=null!==(c=null===r||void 0===r?void 0:r.firstWeekContainsDate)&&void 0!==c?c:null===r||void 0===r||null===(l=r.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==s?s:_.firstWeekContainsDate)&&void 0!==a?a:null===(d=_.locale)||void 0===d||null===(h=d.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==o?o:1);if(!(k>=1&&k<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var E=Nae(null!==(f=null!==(p=null!==(m=null!==(g=null===r||void 0===r?void 0:r.weekStartsOn)&&void 0!==g?g:null===r||void 0===r||null===(v=r.locale)||void 0===v||null===(y=v.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==m?m:_.weekStartsOn)&&void 0!==p?p:null===(b=_.locale)||void 0===b||null===(w=b.options)||void 0===w?void 0:w.weekStartsOn)&&void 0!==f?f:0);if(!(E>=0&&E<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!S.localize)throw new RangeError("locale must contain localize property");if(!S.formatLong)throw new RangeError("locale must contain formatLong property");var P=Jre(e);if(!Lae(P))throw new RangeError("Invalid time value");var O=Dae(P,_ne(P)),A={firstWeekContainsDate:k,weekStartsOn:E,locale:S,_originalDate:P},T=x.match(hse).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,sse[t])(e,S.formatLong):e})).join("").match(dse).map((function(n){if("''"===n)return"'";var i=n[0];if("'"===i)return function(e){var t=e.match(fse);if(!t)return e;return t[1].replace(pse,"'")}(n);var o=nse[i];if(o)return null!==r&&void 0!==r&&r.useAdditionalWeekYearTokens||!function(e){return-1!==lse.indexOf(e)}(n)||use(n,t,String(e)),null!==r&&void 0!==r&&r.useAdditionalDayOfYearTokens||!function(e){return-1!==cse.indexOf(e)}(n)||use(n,t,String(e)),o(O,n,S.localize,A);if(i.match(mse))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return n})).join("");return T}const vse=()=>{const e=w3();return t=>{const r=e(t.sender),n=new Date,i=d3(t.amount),o=r&&d3(r),a=`Since ${function(e,t,r){var n,i,o,a,s,c,l,u,d,h;Xre(2,arguments);var f=Jre(e),p=Jre(t),m=ine(),g=null!==(n=null!==(i=null===r||void 0===r?void 0:r.locale)&&void 0!==i?i:m.locale)&&void 0!==n?n:wne,v=Nae(null!==(o=null!==(a=null!==(s=null!==(c=null===r||void 0===r?void 0:r.weekStartsOn)&&void 0!==c?c:null===r||void 0===r||null===(l=r.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==s?s:m.weekStartsOn)&&void 0!==a?a:null===(d=m.locale)||void 0===d||null===(h=d.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==o?o:0);if(!g.localize)throw new RangeError("locale must contain localize property");if(!g.formatLong)throw new RangeError("locale must contain formatLong property");if(!g.formatRelative)throw new RangeError("locale must contain formatRelative property");var y,b=Mae(f,p);if(isNaN(b))throw new RangeError("Invalid time value");y=b<-6?"other":b<-1?"lastWeek":b<0?"yesterday":b<1?"today":b<2?"tomorrow":b<7?"nextWeek":"other";var w=Dae(f,_ne(f)),x=Dae(p,_ne(p));return gse(f,g.formatRelative(y,w,x,{locale:g,weekStartsOn:v}),{locale:g,weekStartsOn:v})}(new Date(t.timestamp),n)}`;return{initialBalance:i,currentBalance:o,duration:a}}},yse=({title:e,children:t,small:r=!1})=>{const n=r?"md":"3xl";return(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"center",width:"100%",height:"100%",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(li,{padding:"42px",size:n,children:e}),(0,Yn.jsx)(Xn,{children:t})]})})},bse=({small:e})=>(0,Yn.jsx)(yse,{small:e,title:"No NFTs found",children:(0,Yn.jsx)(sie,{href:"https://objkt.com",children:(0,Yn.jsx)(_i,{size:e?"md":"lg",children:"Buy your first NFT"})})}),wse=({small:e})=>(0,Yn.jsx)(yse,{small:e,title:"No operations found"}),xse=({small:e,onDelegate:t})=>(0,Yn.jsx)(yse,{small:e,title:"Currently not delegating",children:(0,Yn.jsx)(_i,{onClick:t,size:e?"md":"lg",children:"Start delegating"})}),_se=e=>{const{mode:t,operations:r,fee:n}=e,{fee:i,operations:o,estimationFailed:a,isLoading:s,form:c,signer:l,reEstimate:u,onSign:d}=Dre(n,r,t),h=o.operations[0].recipient;return(0,Yn.jsx)(oQ,{...c,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:o.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:l.address}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",marginBottom:"24px",paddingX:"4px",children:(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(cte,{fee:i})})}),(0,Yn.jsx)(b0,{children:"To"}),(0,Yn.jsx)(z3,{address:h}),(0,Yn.jsx)(Rre,{isLoading:s,operationType:o.type,reEstimate:u,sender:o.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:a,isLoading:s,onSubmit:d,signer:l,text:fte(o.type,t)})})]})})})},Sse=e=>{var t;const r=null===(t=e.form)||void 0===t?void 0:t.baker,n=Hre({SignPage:_se,signPageExtraData:void 0,FormPage:Sse,defaultFormPageProps:e,toOperation:kse}),i=Vre(kse),{onFormSubmitActionHandlers:[o,a],isLoading:s}=qre([n,i]),c=h0({mode:"onBlur",defaultValues:Nre(e)}),{formState:{isValid:l,errors:u},handleSubmit:d}=c;return(0,Yn.jsx)(oQ,{...c,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsxs)(lte,{children:[(0,Yn.jsx)(NX,{fontWeight:"600",size:"2xl",children:r?"Change Baker":"Delegate"}),(0,Yn.jsx)(DX,{})]}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!u.sender,children:[(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!!e.sender,label:"From"}),u.sender&&(0,Yn.jsx)(Qee,{"data-testid":"from-error",children:u.sender.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px","data-testid":"baker",isInvalid:!!u.baker,children:[(0,Yn.jsx)(W3,{allowUnknown:!0,inputName:"baker",label:"Baker"}),u.baker&&(0,Yn.jsx)(Qee,{children:u.baker.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:s,isValid:l,onAddToBatch:d(a),onSingleSubmit:d(o)})})]})})})},kse=e=>({type:"delegation",sender:dd(e.sender),recipient:gd(e.baker)}),Ese=e=>{const{mode:t,operations:r,fee:n}=e,{fee:i,operations:o,estimationFailed:a,isLoading:s,form:c,signer:l,reEstimate:u,onSign:d}=Dre(n,r,t);return(0,Yn.jsx)(oQ,{...c,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:o.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:l.address}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",paddingX:"4px",children:(0,Yn.jsx)(cte,{fee:i})}),(0,Yn.jsx)(Rre,{isLoading:s,operationType:o.type,reEstimate:u,sender:o.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:a,isLoading:s,onSubmit:d,signer:l,text:fte(o.type,t)})})]})})})},Pse=e=>{var t;const{sender:r}=e,n=null===(t=e.form)||void 0===t?void 0:t.baker,i=Hre({SignPage:Ese,signPageExtraData:void 0,FormPage:Pse,defaultFormPageProps:{sender:r},toOperation:Ose}),o=Vre(Ose),{onFormSubmitActionHandlers:[a,s],isLoading:c}=qre([i,o]),l=h0({mode:"onBlur",defaultValues:Nre({sender:r})}),{handleSubmit:u}=l;return(0,Yn.jsx)(oQ,{...l,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(ute,{subTitle:"Select preview to end delegation or insert this transaction into a Batch.",title:"End delegation"}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(OJ,{children:(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!0,label:"From"})}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"Baker"}),n&&(0,Yn.jsx)(z3,{address:dd(n)})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:c,isValid:!0,onAddToBatch:u(s),onSingleSubmit:u(a)})})]})})})},Ose=e=>({type:"undelegation",sender:dd(e.sender)}),Ase=({label:e,value:t,...r})=>(0,Yn.jsxs)(Zn,{alignItems:"center",height:"50px",padding:"16px","data-testid":e,...r,children:[(0,Yn.jsx)(Qn,{flex:1,children:(0,Yn.jsx)(li,{color:E$.gray[400],size:"sm",children:e})}),(0,Yn.jsx)(Qn,{flex:1,children:"string"===typeof t?(0,Yn.jsx)(NX,{size:"sm",children:t}):t})]}),Tse=({delegation:e,account:r})=>{const{openWith:n}=(0,t.useContext)(kW),i=T3(),o=vse();if(!e)return(0,Yn.jsx)(xse,{onDelegate:()=>{n((0,Yn.jsx)(Sse,{sender:r}))},small:!0});const{currentBalance:a,duration:s,initialBalance:c}=o(e),{sender:l,delegate:{address:u}}=e,d=i(l);return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(Ase,{borderBottom:`1px solid ${E$.gray[700]}`,borderTopRadius:"8px",_odd:{bg:E$.gray[800]},label:"Initial Balance:",value:c}),a&&(0,Yn.jsx)(Ase,{_odd:{bg:E$.gray[800]},label:"Current Balance:",value:a}),(0,Yn.jsx)(Ase,{borderBottom:`1px solid ${E$.gray[700]}`,_odd:{bg:E$.gray[800]},label:"Duration:",value:s}),(0,Yn.jsx)(Ase,{borderBottomRadius:"8px",_odd:{bg:E$.gray[800]},label:"Baker:",value:(0,Yn.jsx)($ne,{address:dd(e.delegate.address)})}),(0,Yn.jsxs)(Zn,{marginTop:"24px",children:[(0,Yn.jsx)(_i,{flex:1,marginRight:"16px",onClick:()=>n((0,Yn.jsx)(Pse,{form:{sender:l,baker:u},sender:d})),variant:"warning",children:"End Delegation"}),(0,Yn.jsx)(_i,{flex:1,onClick:()=>{n((0,Yn.jsx)(Sse,{form:{sender:l,baker:u},sender:d}))},variant:"tertiary",children:"Change Baker"})]})]})};function jse(e){return b5({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"line",attr:{x1:"7",y1:"17",x2:"17",y2:"7"}},{tag:"polyline",attr:{points:"7 7 17 7 17 17"}}]})(e)}const Cse=({operation:e})=>{switch(e.type){case"delegation":return(0,Yn.jsxs)(Qn,{margin:1,paddingLeft:5,"data-testid":"decoded-item-delegate",marginY:6,children:["Delegate to ",(0,Yn.jsx)($ne,{address:e.recipient})]});case"undelegation":return(0,Yn.jsx)(Qn,{margin:1,paddingLeft:5,"data-testid":"decoded-item-undelegate",marginY:6,children:"End Delegation"});case"tez":case"fa1.2":case"fa2":return(0,Yn.jsxs)(Qn,{marginY:6,children:[(0,Yn.jsx)(Rse,{operation:e}),(0,Yn.jsxs)(Zn,{alignItems:"center",margin:1,paddingLeft:5,children:[(0,Yn.jsx)(li,{marginRight:2,color:E$.gray[400],size:"sm",children:"Send to :"}),(0,Yn.jsx)($ne,{address:e.recipient})]})]});case"contract_origination":case"contract_call":throw new Error(`${e.type} is not suported yet`)}},Rse=({operation:e})=>{const t=s3();switch(e.type){case"tez":return(0,Yn.jsxs)(Zn,{alignItems:"center","data-testid":"decoded-tez-amount",children:[(0,Yn.jsx)(LF,{as:jse,width:5,height:5,color:E$.gray[400]}),(0,Yn.jsxs)(NX,{marginLeft:1,textAlign:"center",children:["-",d3(e.amount)]})]});case"fa1.2":case"fa2":{const r=t(e.contract.pkh,e.tokenId);if(!r)return null;const n=pP(r),i="nft"===r.type;return(0,Yn.jsxs)(Zn,{alignItems:"center","data-testid":"decoded-fa-amount",children:[(0,Yn.jsx)(LF,{as:jse,width:5,height:5,color:E$.gray[400]}),i?(0,Yn.jsxs)(NX,{marginLeft:1,textAlign:"center",children:[e.amount," ",n]}):(0,Yn.jsxs)(NX,{marginLeft:1,textAlign:"center",children:["-",xP(e.amount,r,{showSymbol:!0})]})]})}case"delegation":case"undelegation":case"contract_origination":case"contract_call":return null}},Ise=e=>ld.string().regex(new RegExp(`^${e}$`,"i")),Mse=e=>ld.object({prim:Ise(e)}),Lse=ld.object({prim:ld.literal("PUSH"),args:ld.tuple([ld.object({prim:ld.literal("key_hash")}),ld.object({bytes:ld.string()})])}),Nse=ld.object({prim:ld.literal("PUSH"),args:ld.tuple([ld.object({prim:ld.literal("address")}),ld.object({bytes:ld.string()})])}),Dse=(e,t)=>ld.object({prim:ld.literal("Pair"),args:ld.tuple([e,t])}),Bse=ld.object({prim:ld.literal("PUSH"),args:ld.tuple([ld.object({prim:ld.literal("mutez")}),ld.object({int:ld.literal("0")})])}),zse=[Mse("TRANSFER_TOKENS"),Mse("CONS")],Use=ld.object({prim:ld.literal("CONTRACT")}),Fse=ld.tuple([ld.object({prim:ld.literal("DROP")}),ld.object({prim:ld.literal("NIL"),args:ld.array(ld.object({prim:ld.literal("operation")}))})]),$se=ld.object({prim:ld.literal("PUSH"),args:ld.tuple([ld.object({prim:ld.literal("mutez")}),ld.object({int:ld.string()})])}),Hse=ld.tuple([Lse,Mse("IMPLICIT_ACCOUNT"),$se,Mse("UNIT"),...zse]),Vse=ld.tuple([Nse,Use,Mse("IF_NONE"),$se,Mse("UNIT"),...zse]),qse=ld.tuple([Lse,Mse("SOME"),Mse("SET_DELEGATE"),Mse("CONS")]),Kse=ld.tuple([ld.object({prim:ld.literal("NONE"),args:ld.tuple([ld.object({prim:ld.literal("key_hash")})])}),Mse("SET_DELEGATE"),Mse("CONS")]),Wse=ld.tuple([Nse,Use,ld.tuple([Mse("IF_NONE")]),Bse,ld.object({prim:ld.literal("PUSH"),args:ld.tuple([Mse("list"),ld.array(Dse(ld.object({bytes:ld.string({description:"from"})}),ld.array(Dse(ld.object({bytes:ld.string({description:"to"})}),Dse(ld.object({int:ld.string({description:"token_id"})}),ld.object({int:ld.string({description:"amount"})}))))))])}),...zse]),Gse=ld.tuple([Nse,Use,ld.tuple([Mse("IF_NONE")]),Bse,ld.object({prim:ld.literal("PUSH"),args:ld.tuple([Mse("Pair"),Dse(ld.object({bytes:ld.string({description:"from"})}),Dse(ld.object({bytes:ld.string({description:"to"})}),ld.object({int:ld.string({description:"amount"})})))])}),...zse]);class Yse extends Error{}const Zse=e=>(42===e.length&&(e="00"+e),fc(e)),Xse=[{schema:Hse,parsingFn:e=>{const t=Hse.parse(e),r=t[0].args[1].bytes,n=t[2].args[1].int;return{type:"tez",recipient:gd(Zse(r)),amount:n}}},{schema:Vse,parsingFn:e=>{const t=Vse.parse(e),r=t[0].args[1].bytes,n=t[3].args[1].int;return{type:"tez",recipient:md(Zse(r)),amount:n}}},{schema:Wse,parsingFn:e=>{const t=Wse.parse(e),r=md(Zse(t[0].args[1].bytes));return t[4].args[1].flatMap((e=>{const t=e.args[0].bytes;return e.args[1].map((e=>{const n=e.args[0].bytes,i=e.args[1].args[0].int,o=e.args[1].args[1].int;return{type:"fa2",contract:r,sender:dd(Zse(t)),recipient:dd(Zse(n)),tokenId:i,amount:o}}))}))}},{schema:Gse,parsingFn:e=>{const t=Gse.parse(e),r=t[0],n=t[4].args[1],i=n.args[0].bytes,o=n.args[1].args[0].bytes;return{type:"fa1.2",amount:n.args[1].args[1].int,contract:md(Zse(r.args[1].bytes)),recipient:dd(Zse(o)),sender:dd(Zse(i)),tokenId:"0"}}},{schema:qse,parsingFn:(e,t)=>{const r=qse.parse(e);return{type:"delegation",sender:t.address,recipient:gd(Zse(r[0].args[1].bytes))}}},{schema:Kse,parsingFn:(e,t)=>({type:"undelegation",sender:t.address})}],Jse=(e,t,r=[])=>{if(0===e.length)return r;for(let n=0;n((e=>{Fse.parse(e.slice(0,2))})(e),Jse(e.slice(2),t)),ece=(e,t)=>{const r=JSON.parse(e);return Qse(r,t)},tce=({rawActions:e,sender:t})=>{try{const r=ece(e,t);return(0,Yn.jsx)(Qn,{children:r.map(((e,t)=>(0,Yn.jsx)(Cse,{operation:e},t)))})}catch(Zue){return Zue instanceof Yse?(0,Yn.jsx)(rce,{unrecoginizedRawActions:e}):(0,Yn.jsxs)(Qn,{children:["Invalid michelson code: ",Zue.message]})}},rce=({unrecoginizedRawActions:e})=>(0,Yn.jsx)(pJ,{width:"70%",marginBottom:2,allowMultiple:!0,children:(0,Yn.jsxs)(mJ,{marginBottom:"2",background:"umami.gray.800",border:"none",borderRadius:"8px",children:[(0,Yn.jsx)("h2",{children:(0,Yn.jsxs)(gJ,{children:[(0,Yn.jsx)(Qn,{as:"span",flex:"1",paddingLeft:1,textAlign:"left",children:"Unrecognized operation"}),(0,Yn.jsx)(vJ,{})]})}),(0,Yn.jsx)(_J,{overflowY:"scroll",height:"400px",paddingBottom:3,children:(0,Yn.jsx)(y0,{space:1,value:JSON.parse(e)})})]})});function nce(e){return b5({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M13 6H11V7C11 7.55228 11.4477 8 12 8C12.5523 8 13 7.55228 13 7V6Z",fill:"currentColor"}},{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M6 2V4H7V7C7 9.76142 9.23858 12 12 12C9.23858 12 7 14.2386 7 17V20H6V22H18V20H17V17C17 14.2386 14.7614 12 12 12C14.7614 12 17 9.76142 17 7V4H18V2H6ZM9 4H15V7C15 8.65685 13.6569 10 12 10C10.3431 10 9 8.65685 9 7V4ZM9 17V20H15V17C15 15.3431 13.6569 14 12 14C10.3431 14 9 15.3431 9 17Z",fill:"currentColor"}}]})(e)}const ice=({icon:e,onClick:t=(()=>{}),label:r,iconWidth:n=4,iconHeight:i=4,textMargin:o="4px",iconColor:a,textFirst:s,...c})=>{const l=(0,Yn.jsx)(LF,{as:e,width:n,height:i,color:a}),u=s?{mr:o}:{ml:o},d=(0,Yn.jsx)(NX,{...u,fontSize:"sm",children:r});return(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",color:"text.dark",_hover:{color:E$.gray[300]},cursor:"pointer",onClick:t,role:"button",...c,children:[s?d:null,l,s?null:d]})},oce=({onClickApproveExecute:e,isLoading:t=!1,signerState:r})=>{switch(r){case"awaitingApprovalByExternalSigner":return(0,Yn.jsx)(ice,{"data-testid":"multisig-signer-awaiting-approval",icon:nce,iconColor:E$.orange,iconHeight:5,iconWidth:5,label:"Awaiting Approval"});case"approved":return(0,Yn.jsx)(ice,{"data-testid":"multisig-signer-approved",icon:Zte,iconColor:E$.greenL,iconHeight:5,iconWidth:5,label:"Approved"});case"executable":return(0,Yn.jsx)(_i,{"data-testid":"multisig-signer-button",isLoading:t,onClick:e,children:"Execute"});case"approvable":return(0,Yn.jsx)(_i,{"data-testid":"multisig-signer-button",isLoading:t,onClick:e,children:"Approve"})}},ace=({signer:e,fee:r,operation:n,actionType:i,transactionCount:o})=>{const{handleAsyncAction:a}=Yee(),{openWith:s}=(0,t.useContext)(kW),c=`${(0,iE.capitalize)(i)} transaction`;return(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(Gne,{fee:r,signerAddress:e.address,title:c,transactionCount:o}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{onSubmit:e=>a((async()=>{const{opHash:t}=await QE(n,e);s((0,Yn.jsx)(ote,{hash:t}))}),{title:`Failed ${i}`}),signer:e,text:c})})]})})},sce=({pendingApprovals:e,sender:r,operation:n,signerAddress:i})=>{const o=I3(i),a=P3(),{isLoading:s,handleAsyncAction:c}=Yee(),{openWith:l}=(0,t.useContext)(kW),u=i3(),d=a(i.pkh),h=0===e,f=cce({approvals:n.approvals,signerAddress:i,operationIsExecutable:h,signerAccount:d});return(0,Yn.jsx)(Bie,{icon:(0,Yn.jsx)(Die,{addressKind:o}),leftElement:(0,Yn.jsx)(zie,{label:o.label,pkh:o.pkh}),rightElement:(0,Yn.jsx)(oce,{isLoading:s,onClickApproveExecute:()=>c((async()=>{if(!d)throw new Error("Can't approve or execute with an account you don't own");const e=h?"execute":"approve",t=Ire(d,d,[hE(r.address,e,n.id)]),i=await kE(t,u),o=ece(n.rawActions,r).length;l((0,Yn.jsx)(ace,{actionType:e,fee:i,operation:t,signer:d,transactionCount:o}))})),signerState:f})})},cce=({signerAccount:e,operationIsExecutable:t,approvals:r,signerAddress:n})=>{const i=!!r.find((e=>e.pkh===n.pkh));return e?i&&!t?"approved":t?"executable":"approvable":i?"approved":"awaitingApprovalByExternalSigner"},lce=({operation:e,sender:t})=>{const{signers:r,threshold:n}=t,i=Math.max(n-e.approvals.length,0);return(0,Yn.jsx)(Qn,{padding:3,paddingBottom:0,background:E$.gray[800],borderRadius:6,"data-testid":"multisig-pending-operation-"+e.id,marginY:3,children:(0,Yn.jsxs)(mJ,{border:"none",borderRadius:"8px",children:[(0,Yn.jsx)("h2",{children:(0,Yn.jsxs)(gJ,{flex:"1",marginBottom:0,paddingBottom:0,textAlign:"left",children:[(0,Yn.jsxs)(li,{width:"100%",size:"sm",children:["Pending #",e.id]}),(0,Yn.jsx)(vJ,{})]})}),(0,Yn.jsxs)(_J,{children:[(0,Yn.jsxs)(Zn,{alignItems:"end",justifyContent:"space-between",marginY:2,children:[(0,Yn.jsx)(tce,{rawActions:e.rawActions,sender:t}),(0,Yn.jsxs)(Zn,{alignItems:"center",marginBottom:"6",children:[(0,Yn.jsx)(li,{marginRight:1,color:E$.gray[400],size:"sm",children:"Pending Approvals:"}),(0,Yn.jsx)(NX,{color:"w","data-testid":"pending-approvals-count",children:i})]})]}),(0,Yn.jsx)(Qn,{marginY:5,children:r.map((r=>(0,Yn.jsx)(sce,{operation:e,pendingApprovals:i,sender:t,signerAddress:r},r.pkh)))})]})]})})},uce=({account:e})=>{const t=(()=>{const e=r3((e=>e.multisigs.pendingOperations));return t=>{var r;return[...null!==(r=e[t.pendingOperationsBigmapId])&&void 0!==r?r:[]].sort(((e,t)=>Number(t.id)-Number(e.id)))}})(),r=t(e);return 0===r.length?(0,Yn.jsx)(yse,{small:!0,title:"No multisig pending operations"}):(0,Yn.jsx)(Qn,{width:"100%",children:(0,Yn.jsx)(pJ,{allowMultiple:!0,defaultIndex:(0,iE.range)(r.length),children:r.map((t=>(0,Yn.jsx)(lce,{operation:t,sender:e},t.id)))})})},dce=({to:e})=>(0,Yn.jsx)(Xn,{children:(0,Yn.jsxs)(ki,{as:vV,color:E$.gray[300],stroke:E$.gray[450],_hover:{color:E$.green,stroke:E$.green},to:e,children:[(0,Yn.jsx)(T5,{display:"inline",stroke:"inherit"}),(0,Yn.jsx)(NX,{display:"inline",size:"sm",children:"\xa0View All"})]})}),hce=({owner:e,nfts:t,...r})=>{if(0===t.length)return(0,Yn.jsx)(bse,{small:!0});const n=qne(t).slice(0,18);return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(Joe,{marginBottom:"35px",spacing:"12px",...r,children:n.map((t=>{const r=Vne(SP(t)),n=Vne(t.displayUri);return(0,Yn.jsx)(vV,{"data-testid":"nft-link",to:`/home/${e}/${fP(t)}`,children:(0,Yn.jsx)(g0,{background:E$.gray[800],children:(0,Yn.jsxs)(v0,{padding:"8px",children:[(0,Yn.jsx)(UX,{width:"100%",ratio:1,children:(0,Yn.jsx)(HX,{width:"100%",height:40,fallbackSrc:n,src:r})}),Number(t.balance)>1&&(0,Yn.jsx)(NX,{position:"absolute",display:"inline",height:"20px",marginTop:"-24px",marginLeft:"4px",padding:"0 8px",borderRadius:"100px",backgroundColor:"rgba(33, 33, 33, 0.75)","data-testid":"nft-owned-count",size:"xs",children:"x"+t.balance})]})})},`${e}:${fP(t)}`)}))}),(0,Yn.jsx)(dce,{to:`/nfts?accounts=${e}`})]})},fce=t.createContext({mode:"page"}),pce=["bakerFee","storageFee","allocationFee"],mce=({operation:e})=>{const r=(0,t.useContext)(fce),n=j3(e.sender.address);if("drawer"===r.mode)return null;if(!n)return null;const i=pce.reduce(((t,r)=>r in e?t.plus((0,iE.get)(e,r)||0):t),Is(0));return i.eq(0)?null:(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"md",children:"Fee:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"fee",children:d3(i)})]})},gce=({level:e,status:t})=>{const r=f3(e);return void 0===t||"applied"===t?r?(0,Yn.jsx)(z2,{"data-testid":"checkmark"}):(0,Yn.jsx)(d5,{"data-testid":"hourglass"}):(0,Yn.jsx)(q2,{"data-testid":"crossed-circle"})},vce=({children:e})=>"drawer"===(0,t.useContext)(fce).mode?null:(0,Yn.jsx)(NX,{marginRight:"4px",color:E$.gray[300],"data-testid":"operation-type",size:"sm",children:e});function yce(e,t){var r=e.getFullYear()-t.getFullYear()||e.getMonth()-t.getMonth()||e.getDate()-t.getDate()||e.getHours()-t.getHours()||e.getMinutes()-t.getMinutes()||e.getSeconds()-t.getSeconds()||e.getMilliseconds()-t.getMilliseconds();return r<0?-1:r>0?1:r}const bce=({timestamp:e})=>e?(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"timestamp",size:"sm",children:wce(e)}):null,wce=e=>{const t=new Date,r=new Date(e);return function(e,t){Xre(2,arguments);var r=Jre(e),n=Jre(t),i=yce(r,n),o=Math.abs(Mae(r,n));r.setDate(r.getDate()-i*o);var a=i*(o-Number(yce(r,n)===-i));return 0===a?0:a}(t,r)<2?kne(r,t,{addSuffix:!0}):gse(r,"dd MMM yyyy")},xce=({hash:e,counter:t,transactionId:r,originationId:n,migrationId:i,children:o,...a})=>{const{tzktExplorerUrl:s}=i3();let c=s;return e?c=(0,iE.compact)([s,e,t]).join("/"):i?c=`${c}/migrations/${i}`:n?c=`${c}/originations/${n}`:r?c=`${c}/transactions/${r}`:console.warn("No id provided to TzktLink"),(0,Yn.jsx)(ki,{"data-testid":"tzkt-link",href:c,isExternal:!0,...a,children:o})},_ce=e=>{const r=(0,t.useContext)(fce);return!!e&&("page"===r.mode||r.selectedAddress.pkh!==e)},Sce=({operation:e})=>{var t;const r=_ce(e.target.address),n=_ce(e.sender.address),i=!r&&!n;return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-contract-call",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(V2,{marginRight:"8px"}),(0,Yn.jsx)(xce,{marginRight:"8px",counter:e.counter,"data-testid":"title",hash:e.hash,children:(0,Yn.jsxs)(li,{size:"md",children:["Contract Call: ",null===(t=e.parameter)||void 0===t?void 0:t.entrypoint]})}),(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:e.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsxs)(Zn,{children:[r&&(0,Yn.jsxs)(Zn,{marginRight:"15px","data-testid":"to",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:e.target})]}),(n||i)&&(0,Yn.jsxs)(Zn,{"data-testid":"from",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:e.sender})]})]}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:"Contract Call"}),(0,Yn.jsx)(gce,{...e})]})]})})]})},kce=({operation:e})=>{const t=!!e.newDelegate,r=t?"Delegate":"Delegation Ended",n=_ce(e.sender.address);return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-delegation",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(D2,{marginRight:"8px"}),(0,Yn.jsx)(xce,{marginRight:"8px",counter:e.counter,"data-testid":"title",hash:e.hash,children:(0,Yn.jsx)(li,{size:"md",children:r})}),(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:e.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsxs)(Zn,{children:[t&&(0,Yn.jsxs)(Zn,{marginRight:"15px","data-testid":"to",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:e.newDelegate})]}),n&&(0,Yn.jsxs)(Zn,{"data-testid":"from",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:e.sender})]}),!t&&!n&&(0,Yn.jsx)(NX,{color:E$.gray[450],children:"N/A"})]}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:r}),(0,Yn.jsx)(gce,{...e})]})]})})]})},Ece=({operation:e})=>{var t;const r=(null===(t=e.originatedContract)||void 0===t?void 0:t.codeHash)===jte&&e.originatedContract.typeHash===Tte?"Multisig Account Created":"Contract Origination",n=_ce(e.sender.address);return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-origination",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(V2,{marginRight:"8px"}),(0,Yn.jsx)(xce,{marginRight:"8px",counter:e.counter,"data-testid":"title",hash:e.hash,children:(0,Yn.jsx)(li,{size:"md",children:r})}),(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:e.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsx)(Zn,{"data-testid":"from",children:n?(0,Yn.jsxs)(Zn,{marginRight:"15px",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:e.sender})]}):(0,Yn.jsx)(NX,{color:E$.gray[450],children:"N/A"})}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:"Contract Origination"}),(0,Yn.jsx)(gce,{...e})]})]})})]})},Pce=({isOutgoing:e,...t})=>e?(0,Yn.jsx)(P5,{"data-testid":"outgoing-arrow",...t}):(0,Yn.jsx)(h5,{"data-testid":"incoming-arrow",...t}),Oce=({operation:e,tokenTransfer:t,token:r})=>{var n,i;const o=t.amount,a=_ce(t.to.address),s=_ce((null===(n=t.from)||void 0===n?void 0:n.address)||""),c=!a&&!s,l=j3((null===(i=t.from)||void 0===i?void 0:i.address)||""),u="nft"===r.type,d=xP(o,r,{showSymbol:!0}),h=l?E$.orange:E$.green,f=u?"white":h,p=l?"-":"+",m=u?(0,Yn.jsx)(R2,{padding:"8px",background:E$.gray[700],border:"1px solid",borderColor:E$.gray[500],borderRadius:"8px","data-testid":"nft-tooltip",label:(0,Yn.jsx)(UX,{width:"170px",height:"170px",ratio:1,children:(0,Yn.jsx)(HX,{src:Vne(SP(r))})}),children:(0,Yn.jsx)(Zn,{children:(0,Yn.jsxs)(xce,{marginRight:"8px",color:f,"data-testid":"title",migrationId:t.migrationId,originationId:t.originationId,transactionId:t.transactionId,children:[(0,Yn.jsxs)(NX,{display:"inline",color:h,fontWeight:"600",children:[p,d]}),(0,Yn.jsxs)(NX,{display:"inline",fontWeight:"600",children:[" ",pP(r)]})]})})}):(0,Yn.jsx)(xce,{marginRight:"8px",color:f,"data-testid":"title",migrationId:t.migrationId,originationId:t.originationId,transactionId:t.transactionId,children:(0,Yn.jsxs)(NX,{display:"inline",color:h,fontWeight:"600",children:[p,d]})});return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-token-transfer",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(Pce,{marginRight:"8px",isOutgoing:l}),m,e&&(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:t.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsxs)(Zn,{children:[(a||c)&&(0,Yn.jsxs)(Zn,{marginRight:"15px","data-testid":"to",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:t.to})]}),s&&(0,Yn.jsxs)(Zn,{"data-testid":"from",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:t.from})]})]}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:"Token Transfer"}),(0,Yn.jsx)(gce,{level:t.level})]})]})})]})},Ace=({operation:e})=>{const t=j3(e.sender.address),r=d3(String(e.amount)),n=_ce(e.target.address),i=_ce(e.sender.address),o=!n&&!i,a=t?E$.orange:E$.green,s=t?"-":"+";return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-transaction",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(Pce,{marginRight:"8px",isOutgoing:t}),(0,Yn.jsx)(xce,{marginRight:"8px",color:a,counter:e.counter,"data-testid":"title",hash:e.hash,children:(0,Yn.jsxs)(NX,{color:a,fontWeight:"600",children:[s," ",r]})}),(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:e.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsxs)(Zn,{children:[(n||o)&&(0,Yn.jsxs)(Zn,{marginRight:"15px","data-testid":"to",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:dd(e.target.address)})]}),i&&(0,Yn.jsxs)(Zn,{"data-testid":"from",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:dd(e.sender.address)})]})]}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:"Transaction"}),(0,Yn.jsx)(gce,{...e})]})]})})]})},Tce=({operation:e})=>{const t=(()=>{const e=r3((e=>e.assets.transfers.tokens));return t=>e[t]})();switch(e.type){case"token_transfer":{const t=hP(e.token);return t?(0,Yn.jsx)(Oce,{token:t,tokenTransfer:e}):(console.warn(`Could not parse token transfer ${e.id}`),null)}case"transaction":{const r=!!e.parameter,n=t(e.id);if(n){const t=hP(n.token);return t?(0,Yn.jsx)(Oce,{operation:e,token:t,tokenTransfer:n}):(0,Yn.jsx)(Ace,{operation:e})}return r?(0,Yn.jsx)(Sce,{operation:e}):(0,Yn.jsx)(Ace,{operation:e})}case"delegation":return(0,Yn.jsx)(kce,{operation:e});case"origination":return(0,Yn.jsx)(Ece,{operation:e})}},jce=({owner:e,operations:t})=>{if(0===t.length)return(0,Yn.jsx)(wse,{small:!0});const r=t.slice(0,20);return(0,Yn.jsxs)(Yn.Fragment,{children:[r.map(((e,t)=>(0,Yn.jsxs)(Qn,{height:"90px",children:[(0,Yn.jsx)(Tce,{operation:e}),t{const r=Cce.includes(e.contract);return(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(NX,{...t,marginRight:"4px",children:pP(e)}),r&&(0,Yn.jsx)(H5,{})]})},Ice=({token:e})=>{const t=xP(e.balance,e,{showSymbol:!1});return(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-around",height:20,borderBottom:`1px solid ${E$.gray[800]}`,"data-testid":"token-tile",children:[(0,Yn.jsxs)(Zn,{alignItems:"center",flex:1,children:[(0,Yn.jsx)(B5,{width:"38px",background:E$.gray[500],borderRadius:"4px",contract:e.contract}),(0,Yn.jsx)(Qn,{marginLeft:"16px",children:(0,Yn.jsx)(Rce,{fontWeight:600,"data-testid":"token-name",token:e})})]}),(0,Yn.jsx)(li,{"data-testid":"token-balance",size:"lg",children:t})]})},Mce=({tokens:e})=>0===e.length?(0,Yn.jsx)(yse,{small:!0,title:"No Tokens found"}):(0,Yn.jsx)(Qn,{children:e.map((e=>(0,Yn.jsx)(Ice,{token:e},e.contract+("fa2"===e.type?e.tokenId:""))))}),Lce=(e,t)=>`${e.tzktExplorerUrl}/${t}`,Nce=e=>{const r=i3(),[n,i]=(0,t.useState)([]),[o,a]=(0,t.useState)(!0),[s,c]=(0,t.useState)(!0),{isLoading:l,handleAsyncAction:u}=Yee(),[d,h]=(0,t.useState)(e),f=t3(),[p,m]=(0,t.useState)(0);(0,t.useEffect)((()=>{const e=setInterval((()=>{u((async()=>{var e;const t=null===(e=n[0])||void 0===e?void 0:e.id,o=await Dce(f,r,d,{lastId:t,sort:"asc"});i((e=>(0,iE.uniqBy)([...o.reverse(),...e],(e=>e.id))))}))}),15e3);return()=>clearInterval(e)}),[p]);const g=d.join(",");(0,t.useEffect)((()=>{i([]),a(!0),u((async()=>{const e=await Dce(f,r,g.split(","));i(e),a(e.length>0),m((e=>e+1))})).finally((()=>{c(!1)}))}),[r,g,f]);return{operations:Bce(n),isFirstLoad:s,isLoading:l,hasMore:o,loadMore:async()=>{var e;const t=null===(e=n[n.length-1])||void 0===e?void 0:e.id;if(t)return u((async()=>{const e=await Dce(f,r,d,{lastId:t});a(e.length>0),i((t=>[...t,...e]))}))},setAddresses:h}},Dce=async(e,t,r,n)=>{const i=await(async(e,t,r)=>{var n;const i=(null===r||void 0===r?void 0:r.limit)||100,o=null!==(n=null===r||void 0===r?void 0:r.sort)&&void 0!==n?n:"desc",a={limit:i,offset:null!==r&&void 0!==r&&r.lastId?{cr:r.lastId}:void 0,sort:{[o]:"id"}},s=await Promise.all([GE(e,t,a),WE(e,t,a),YE(e,t,a),ZE(e,t,a)]);return(0,iE.sortBy)(s.flat(),(e=>"asc"===o?e.id:-e.id)).slice(0,i)})(r,t,n),o=i.filter((e=>"transaction"===e.type)).map((e=>e.id)),a=await(async(e,t)=>0===e.length?[]:VE((()=>UE({transactionId:{in:[e.join(",")]}},{baseUrl:t.tzktApiUrl}))))(o,t),s=[...a,...i.filter((e=>"token_transfer"===e.type))];return e(DP.updateTokenTransfers(s)),e(aO.addTokens({network:t,tokens:s.map((e=>e.token))})),i},Bce=e=>{const t=[];for(let r=0;r{i(l)}))}),id:kae(a,l),role:"tab",tabIndex:d?0:-1,type:"button","aria-selected":d,"aria-controls":Eae(a,l),onFocus:t?void 0:ue(e.onFocus,(()=>{s(l),!o&&(!t||!r)&&i(l)}))}}({...e,ref:t}),i={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return(0,Yn.jsx)(Gn.button,{...n,className:ne("chakra-tabs__tab",e.className),__css:i})}));zce.displayName="Tab";const Uce=({children:e,...t})=>(0,Yn.jsx)(zce,{...t,fontSize:"sm",paddingX:3,children:e}),Fce=({tokens:e,nfts:t,account:r,delegation:n})=>{const i="multisig"===r.type,o=i3(),{operations:a,isFirstLoad:s}=Nce([r.address.pkh]);return(0,Yn.jsxs)(Aae,{flexDirection:"column",display:"flex",width:"100%",height:"100%",marginTop:"60px","data-testid":"asset-panel",children:[(0,Yn.jsxs)(Tae,{justifyContent:"space-between","data-testid":"asset-panel-tablist",children:[(0,Yn.jsxs)(Zn,{children:[i&&(0,Yn.jsx)(Uce,{"data-testid":"account-card-pending-tab",children:"Pending"}),(0,Yn.jsx)(Uce,{children:"Operations"}),(0,Yn.jsx)(Uce,{children:"Delegation"}),(0,Yn.jsx)(Uce,{children:"NFTs"}),(0,Yn.jsx)(Uce,{children:"Tokens"})]}),(0,Yn.jsx)(sie,{href:Lce(o,r.address.pkh),children:(0,Yn.jsxs)(_i,{paddingRight:0,variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{marginRight:"7px",size:"sm",children:"View on Tzkt"}),(0,Yn.jsx)(Q2,{stroke:"currentcolor"})]})})]}),(0,Yn.jsxs)(jae,{height:"100%",children:[i&&(0,Yn.jsx)(Cae,{paddingTop:"24px","data-testid":"account-card-pending-tab-panel",children:(0,Yn.jsx)(uce,{account:r})}),(0,Yn.jsx)(Cae,{paddingTop:"24px",paddingBottom:"25px","data-testid":"account-card-operations-tab",children:(0,Yn.jsx)(fce.Provider,{value:{mode:"drawer",selectedAddress:r.address},children:s?(0,Yn.jsx)(NX,{color:E$.gray[500],textAlign:"center",children:"Loading..."}):(0,Yn.jsx)(jce,{operations:a,owner:r.address.pkh})})}),(0,Yn.jsx)(Cae,{paddingTop:"24px","data-testid":"account-card-delegation-tab",children:(0,Yn.jsx)(Tse,{account:r,delegation:n})}),(0,Yn.jsx)(Cae,{overflow:"hidden",height:"100%",paddingTop:"24px","data-testid":"account-card-nfts-tab",children:(0,Yn.jsx)(hce,{columns:3,nfts:t,owner:r.address.pkh})}),(0,Yn.jsx)(Cae,{paddingTop:"24px","data-testid":"account-card-tokens-tab",children:(0,Yn.jsx)(Mce,{tokens:e})})]})]})};var $ce=re((function(e,r){const{spacing:n="0.5rem",spacingX:i,spacingY:o,children:a,justify:s,direction:c,align:l,className:u,shouldWrapChildren:d,...h}=e,f=(0,t.useMemo)((()=>d?t.Children.map(a,((e,t)=>(0,Yn.jsx)(Hce,{children:e},t))):a),[a,d]);return(0,Yn.jsx)(Gn.div,{ref:r,className:ne("chakra-wrap",u),...h,children:(0,Yn.jsx)(Gn.ul,{className:"chakra-wrap__list",__css:{display:"flex",flexWrap:"wrap",justifyContent:s,alignItems:l,flexDirection:c,listStyleType:"none",gap:n,columnGap:i,rowGap:o,padding:"0"},children:f})})}));$ce.displayName="Wrap";var Hce=re((function(e,t){const{className:r,...n}=e;return(0,Yn.jsx)(Gn.li,{ref:t,__css:{display:"flex",alignItems:"flex-start"},className:ne("chakra-wrap__listitem",r),...n})}));Hce.displayName="WrapItem";const Vce=({signers:e})=>(0,Yn.jsx)(Qn,{width:"100%",marginTop:"60px",padding:"15px",background:E$.gray[800],borderRadius:"8px",children:(0,Yn.jsx)(pJ,{allowToggle:!0,defaultIndex:0,children:(0,Yn.jsxs)(mJ,{background:E$.gray[800],border:"none",borderRadius:"8px",children:[(0,Yn.jsx)("h2",{children:(0,Yn.jsxs)(gJ,{as:"span",flex:"1",textAlign:"left",children:[(0,Yn.jsx)(li,{width:"100%",size:"sm",children:"Approvers"}),(0,Yn.jsx)(vJ,{cursor:"pointer"})]})}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)($ce,{marginTop:"3","data-testid":"multisig-tag-section",children:e.map((e=>(0,Yn.jsx)(Hce,{padding:"3px 8px",borderRadius:"100px",children:(0,Yn.jsx)($ne,{address:e})},e.pkh)))})})]})})}),qce=({account:e})=>{const r=t3(),{onClose:n}=(0,t.useContext)(kW),i=({name:t})=>{r(((e,t)=>(r,n)=>{const{accounts:i,multisigs:o,contacts:a}=n(),s="multisig"===e.type,c=i.items.map((e=>e.label));[c,o.items.map((e=>e.label)),Object.values(a).map((e=>e.name))].flat().includes(t)||r(s?QP.actions.setName({newName:t,account:e}):sP.actions.renameAccount({newName:t,account:e}))})(e,t)),n()},{handleSubmit:o,formState:{isValid:a,errors:s},register:c,reset:l}=h0({mode:"onBlur",defaultValues:{name:e.label}}),u=O3(),{nameExistsInContacts:d}=S3();return(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:o((({name:e})=>{i({name:e.trim()}),l()})),children:[(0,Yn.jsx)(ute,{subTitle:"Edit your account name here.",title:"Edit Name"}),(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(BX,{children:(0,Yn.jsxs)(OJ,{isInvalid:!!s.name,marginY:"20px",children:[(0,Yn.jsx)(b0,{children:"Account name"}),(0,Yn.jsx)(O0,{type:"text",...c("name",{required:"Name is required",validate:e=>u.map((e=>e.label)).includes(e)?"Name already used in accounts":!d(e.trim())||"Name already registered in address book"}),placeholder:"Enter contact's name"}),s.name&&(0,Yn.jsx)(CJ,{"data-testid":"name-error",children:s.name.message})]})}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:"8px",isDisabled:!a,size:"lg",type:"submit",children:"Save"})})]})})},Kce=({account:e})=>{const{openWith:r,onClose:n}=(0,t.useContext)(kW),i=t3(),o=VH(),a=1===E3().length;let s;switch(e.type){case"secret_key":s=Hie;break;case"ledger":case"social":s=sP.actions.removeAccount(e)}let c="Are you sure you want to remove this account?",l="Remove Account";a&&(c="Removing your last account will off-board you from Umami. This will remove or reset all customised settings to their defaults. Personal data (including saved contacts, password and accounts) won't be affected.",l="Remove & Off-board");const u=s?()=>{r((0,Yn.jsx)(Wne,{buttonLabel:l,description:c,onSubmit:()=>{i(s(e)),n(),o("/")},title:"Remove Account"}))}:void 0;return(0,Yn.jsx)(jre,{onRemove:u,onRename:()=>r((0,Yn.jsx)(qce,{account:e}))})},Wce=e=>(0,Yn.jsxs)(Qn,{textAlign:e.center?"center":"initial",children:[(0,Yn.jsx)(li,{size:"md",children:d3(e.balance)}),null!==e.dollarBalance&&(0,Yn.jsxs)(NX,{marginTop:"6px",color:E$.gray[400],size:"sm",children:["$",e.dollarBalance.toFixed(2)]})]}),Gce=({icon:e,label:t,onClick:r=(()=>{})})=>(0,Yn.jsxs)(Qn,{color:E$.gray[300],textAlign:"center",_hover:{color:E$.green},cursor:"pointer",marginX:"24px",onClick:r,children:[(0,Yn.jsx)(Z3,{marginBottom:"8px","aria-label":"button",icon:e,size:"lg",variant:"circle_without_color"}),(0,Yn.jsx)(NX,{cursor:"pointer",size:"sm",children:t})]}),Yce=({onSend:e,onReceive:r=(()=>{}),balance:n,dollarBalance:i,tokens:o,nfts:a,account:s})=>{const c="multisig"===s.type,{openWith:l}=(0,t.useContext)(kW),u=I3(s.address),d=i3(),[h,f]=(0,t.useState)(null),{handleAsyncAction:p}=Yee();return(0,t.useEffect)((()=>{p((async()=>{const e=await((e,t)=>WE([e],t,{limit:1,sort:{desc:"id"}}).then(iE.first))(s.address.pkh,d);e&&f((e=>{var t,r,n;const i=null===(t=e.sender)||void 0===t?void 0:t.address,o=null===(r=e.newDelegate)||void 0===r?void 0:r.address,a=e.timestamp,s=e.id,c=e.amount;return null==i||null==o||null==a||null==s||null==c?null:{sender:i,timestamp:a,id:s,amount:new Is(c),delegate:{address:o,alias:(null===(n=e.newDelegate)||void 0===n?void 0:n.alias)||void 0}}})(e))}))}),[s.address.pkh,d]),(0,Yn.jsxs)(Zn,{alignItems:"center",flexDirection:"column","data-testid":`account-card-${s.address.pkh}`,children:[(0,Yn.jsx)(Die,{addressKind:u}),(0,Yn.jsx)(li,{marginTop:"24px",size:"md",children:s.label}),(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"8px",marginBottom:"30px",children:[(0,Yn.jsx)($ne,{marginRight:"4px",address:s.address,mode:{type:"no_icons"}}),(0,Yn.jsx)(Kce,{account:s})]}),n&&(0,Yn.jsx)(Wce,{balance:n,center:!0,dollarBalance:i}),(0,Yn.jsxs)(Xn,{marginTop:"34px",children:[(0,Yn.jsx)(Gce,{icon:(0,Yn.jsx)(P5,{width:"24px",height:"24px",stroke:"currentcolor"}),label:"Send",onClick:e}),(0,Yn.jsx)(Gce,{icon:(0,Yn.jsx)(h5,{width:"24px",height:"24px",stroke:"currentcolor"}),label:"Receive",onClick:r}),!c&&(0,Yn.jsx)(Gce,{icon:(0,Yn.jsx)(A5,{stroke:"currentcolor"}),label:"Buy tez",onClick:()=>{l((0,Yn.jsx)(Ene,{recipient:s.address.pkh}))}}),(0,Yn.jsx)(Gce,{icon:(0,Yn.jsx)(D2,{width:"24px",height:"24px",stroke:"currentcolor"}),label:"Delegate",onClick:()=>{l((0,Yn.jsx)(Sse,{form:h?{baker:h.delegate.address,sender:s.address.pkh}:void 0,sender:s}))}})]}),c&&(0,Yn.jsx)(Vce,{signers:s.signers}),(0,Yn.jsx)(Fce,{account:s,delegation:h,nfts:a,tokens:o})]})};var Zce=r(7003);const Xce=({pkh:e})=>{const t=A3()(e);return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsx)(ute,{subTitle:"You can receive tez or other digital assets by scanning or sharing this QR code",title:"Receive"}),(0,Yn.jsx)(BX,{children:(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"space-between",flexDirection:"column",children:(0,Yn.jsx)(Qn,{padding:"8px",background:"white",borderRadius:"8px",children:(0,Yn.jsx)(Zce.QRCode,{size:232,value:e})})})}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsxs)(Qn,{width:"100%",children:[t&&(0,Yn.jsx)(li,{textAlign:"center",marginY:2,children:t.label}),(0,Yn.jsx)(Zn,{justifyContent:"center",width:"100%",children:(0,Yn.jsx)($ne,{address:dd(e),mode:{type:"no_icons"}})})]})})]})},Jce=({account:e})=>{const r=w3(),n=(()=>{const e=y3(),t=w3();return r=>{const n=t(r);if(null==n)return null;const i=u3(n);return e(i)}})(),i=g3(),o=v3(),{openWith:a}=(0,t.useContext)(kW),s=r(e.address.pkh),c=n(e.address.pkh),l=i(e.address.pkh),u=qne(o(e.address.pkh));return(0,Yn.jsx)(Yce,{account:e,balance:s,dollarBalance:c,nfts:u,onReceive:()=>{a((0,Yn.jsx)(Xce,{pkh:e.address.pkh}))},onSend:()=>a((0,Yn.jsx)(Kre,{sender:e})),tokens:l})};var Qce=r(7294);const ele=({nft:e,style:t})=>{const r=e.metadata.attributes;return r&&0!==r.length?(0,Yn.jsxs)(mJ,{background:E$.gray[800],"data-testid":"attributes-section",style:t,children:[(0,Yn.jsxs)(gJ,{paddingY:"16px",children:[(0,Yn.jsx)(li,{flex:"1",textAlign:"left",size:"md",children:"Attributes"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)($ce,{marginLeft:"0",spacing:"10px",children:r.map((e=>(0,Yn.jsx)(Hce,{flex:"1","data-testid":"nft-attribute",children:(0,Yn.jsx)(g0,{width:"160px",height:"128px",marginBottom:"2px",background:E$.gray[700],children:(0,Yn.jsxs)(v0,{padding:"16px",children:[(0,Yn.jsx)(NX,{color:E$.gray[400],size:"sm",children:e.name}),(0,Yn.jsx)(li,{size:"md",children:e.value})]})})},e.name)))})})]}):null},tle=({text:e,maxLength:t})=>e.length<=t?(0,Yn.jsx)(NX,{"data-testid":"truncated-text",children:e}):(0,Yn.jsx)(R2,{label:e,children:(0,Yn.jsx)(NX,{"data-testid":"truncated-text",children:c3(e,t)})}),rle=({url:e,...t})=>(0,Yn.jsx)("a",{"data-testid":"tzkt-link",href:e,rel:"noopener noreferrer",target:"_blank",children:(0,Yn.jsx)(ite,{...t})}),nle=({nft:e})=>{if(!e.metadata.creators||0===e.metadata.creators.length)return(0,Yn.jsx)(Yn.Fragment,{children:"-"});const t=e.metadata.creators[0];return t.startsWith("tz")?(0,Yn.jsx)($ne,{marginRight:1,address:dd(t)}):(0,Yn.jsx)(tle,{maxLength:15,text:t})},ile=({nft:e,style:t})=>{const r=(e=>{const t=e.metadata.royalties;if(!t)return[];const r=Math.pow(10,Number(t.decimals)),n=Object.entries(t.shares).map((([e,t])=>({address:e,share:100*Number(t)/r})));return n.sort(((e,t)=>e.sharee+t.share),0).toFixed(2),i=i3();return(0,Yn.jsxs)(mJ,{background:E$.gray[800],style:t,children:[(0,Yn.jsxs)(gJ,{paddingY:"16px",children:[(0,Yn.jsx)(li,{flex:"1",textAlign:"left",size:"md",children:"Properties"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)(Fte,{children:(0,Yn.jsx)(Vte,{variant:"stripped",children:(0,Yn.jsxs)(qte,{fontSize:"14px",children:[(0,Yn.jsxs)(Kte,{background:E$.gray[900],borderColor:E$.gray[700],borderBottomWidth:"1px",borderRadius:"8px",children:[(0,Yn.jsx)(Wte,{width:"20%",padding:"16px 0 16px 15px",paddingRight:"0",color:E$.gray[400],borderTopLeftRadius:"8px","data-testid":"nft-editions",children:"Editions:"}),(0,Yn.jsx)(Wte,{width:"30%",padding:"16px 0 16px 5px",borderColor:E$.gray[700],borderRightWidth:"1px","data-testid":"nft-editions-value",children:e.totalSupply||"?"}),(0,Yn.jsx)(Wte,{width:"20%",padding:"16px 0 16px 15px",color:E$.gray[400],children:"Token ID:"}),(0,Yn.jsx)(Wte,{width:"30%",padding:"16px 0 16px 5px",borderTopRightRadius:"8px",children:e.tokenId})]}),(0,Yn.jsxs)(Kte,{background:E$.gray[800],borderColor:E$.gray[700],borderBottomWidth:"1px",children:[(0,Yn.jsxs)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],"data-testid":"nft-royalty",children:["Royalties",r.length>1?" ("+r.length+")":"",":"]}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 5px",borderColor:E$.gray[700],borderRightWidth:"1px","data-testid":"nft-royalty-value",children:r.length>0?n+"%":"-"}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],"data-testid":"nft-mime",children:"MIME type:"}),(0,Yn.jsx)(Wte,{width:"30%",padding:"16px 0 16px 5px","data-testid":"nft-mime-value",children:kP(e)||"-"})]}),(0,Yn.jsxs)(Kte,{background:E$.gray[900],borderColor:E$.gray[700],borderBottomWidth:"1px",children:[(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],children:"Contract:"}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 5px",borderColor:E$.gray[700],borderRightWidth:"1px",children:(0,Yn.jsx)($ne,{marginRight:1,address:dd(e.contract)})}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],children:"Metadata:"}),(0,Yn.jsxs)(Wte,{width:"30%",padding:"16px 0 16px 5px",children:["TzKT ",(0,Yn.jsx)(rle,{url:EP(e,i)})]})]}),(0,Yn.jsxs)(Kte,{background:E$.gray[800],borderColor:E$.gray[700],borderBottomWidth:"1px",children:[(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],"data-testid":"nft-creator",children:"Creator:"}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 5px",borderColor:E$.gray[700],borderRightWidth:"1px","data-testid":"nft-creator-value",children:(0,Yn.jsx)(nle,{nft:e})}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],children:"License:"}),(0,Yn.jsx)(Wte,{width:"30%",padding:"16px 0 16px 5px",children:(0,Yn.jsx)(tle,{maxLength:15,text:e.metadata.rights||"-"})})]})]})})})})]})},ole=({nft:e})=>{const t=e.metadata.tags;return t&&0!==t.length?(0,Yn.jsx)($ce,{marginTop:"20px","data-testid":"tags-section",children:t.map((e=>(0,Yn.jsx)(Hce,{padding:"3px 8px",background:E$.gray[600],borderRadius:"100px",children:(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"nft-tag",children:e})},e)))}):null},ale=({nft:e})=>{const t=Vne(SP(e)),r=Vne(e.displayUri);return(0,Yn.jsx)(Qn,{width:"100%","aria-label":"nft",children:(0,Yn.jsxs)(Zn,{alignItems:"center",height:"60px",padding:3,background:E$.gray[800],borderRadius:"4px","data-testid":"nft-name",children:[(0,Yn.jsx)(UX,{width:"30px",height:"30px",ratio:1,children:(0,Yn.jsx)(HX,{fallbackSrc:r,src:t})}),e.metadata.name&&(0,Yn.jsx)(li,{marginLeft:4,size:"sm",children:c3(e.metadata.name,45)})]})})},sle=e=>{const{mode:t,operations:r,fee:n,data:{nft:i}}=e,{fee:o,operations:a,estimationFailed:s,isLoading:c,form:l,signer:u,reEstimate:d,onSign:h}=Dre(n,r,t),{recipient:f}=a.operations[0];return(0,Yn.jsx)(oQ,{...l,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:a.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(Zn,{marginBottom:"12px",children:(0,Yn.jsx)(ale,{nft:i})}),(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",marginY:"12px",paddingX:"4px",children:[(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"sm",children:"Owned:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"nft-owned",size:"sm",children:i.balance})]}),(0,Yn.jsx)(cte,{fee:o})]}),(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"12px",marginBottom:"24px",children:[(0,Yn.jsx)(li,{marginRight:"12px",size:"md",children:"Quantity:"}),(0,Yn.jsx)(Xn,{width:"100px",height:"48px",background:E$.gray[800],borderRadius:"4px",children:(0,Yn.jsxs)(NX,{textAlign:"center",children:[a.operations[0].amount," out of ",i.balance]})})]}),(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{marginBottom:"24px",address:a.sender.address}),(0,Yn.jsx)(b0,{children:"To"}),(0,Yn.jsx)(z3,{address:f}),(0,Yn.jsx)(Rre,{isLoading:c,operationType:a.type,reEstimate:d,sender:a.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:s,isLoading:c,onSubmit:h,signer:u,text:fte(a.type,t)})})]})})})},cle=e=>{const{nft:t}=e,r=Hre({SignPage:sle,signPageExtraData:{nft:t},FormPage:cle,defaultFormPageProps:e,toOperation:lle(t)}),n=Vre(lle(t)),{onFormSubmitActionHandlers:[i,o],isLoading:a}=qre([r,n]),s=h0({mode:"onBlur",defaultValues:{quantity:1,...Nre(e)}}),{formState:{isValid:c,errors:l},register:u,handleSubmit:d}=s;return(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(ute,{}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(Zn,{marginBottom:"12px",children:(0,Yn.jsx)(ale,{nft:e.nft})}),(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"sm",children:"Owned:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"nft-owned",size:"sm",children:t.balance})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.quantity,children:[(0,Yn.jsx)(b0,{children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(li,{marginRight:"8px",size:"md",children:"Quantity:"}),(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(k0,{width:"75px",children:(0,Yn.jsx)(O0,{width:"60px",color:"white","data-testid":"quantity-input",step:1,type:"number",...u("quantity",{required:"Quantity is required",max:{value:t.balance,message:`Max quantity is ${t.balance}`},min:{value:1,message:"Min quantity is 1"}})})}),(0,Yn.jsxs)(NX,{"data-testid":"out-of-nft",children:["out of ",t.balance]})]})]})}),l.quantity&&(0,Yn.jsx)(Qee,{"data-testid":"quantity-error",children:l.quantity.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.sender,children:[(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!0,label:"From"}),l.sender&&(0,Yn.jsx)(Qee,{"data-testid":"from-error",children:l.sender.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.recipient,children:[(0,Yn.jsx)(V3,{allowUnknown:!0,inputName:"recipient",label:"To"}),l.recipient&&(0,Yn.jsx)(Qee,{"data-testid":"recipient-error",children:l.recipient.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:a,isValid:c,onAddToBatch:d(o),onSingleSubmit:d(i)})})]})})})},lle=e=>t=>({type:"fa2",sender:dd(t.sender),recipient:dd(t.recipient),contract:md(e.contract),tokenId:e.tokenId,amount:t.quantity.toString()}),ule=({nft:e,ownerPkh:r})=>{var n;const i=Vne(_P(e)),o=Vne(e.displayUri),a=T3(),{openWith:s}=(0,t.useContext)(kW),c=null===(n=kP(e))||void 0===n?void 0:n.startsWith("video/"),l=mP(e),u={border:"none",borderRadius:"8px",marginBottom:"20px"};return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(g0,{width:"534px",height:"534px",background:E$.gray[800],children:(0,Yn.jsxs)(v0,{padding:"24px",children:[(0,Yn.jsx)(Qn,{width:"486px",height:"486px",children:c?(0,Yn.jsx)(Qce.Z,{width:"100%",height:"100%",loop:!0,playing:!0,url:i}):(0,Yn.jsx)(HX,{width:"486px",height:"486px",objectFit:"contain",alt:l,"data-testid":"nft-image",fallbackSrc:o,src:i})}),Number(e.balance)>1&&(0,Yn.jsx)(NX,{position:"absolute",display:"inline",height:"24px",marginTop:"-38px",marginLeft:"16px",borderRadius:"100px",backgroundColor:"rgba(33, 33, 33, 0.75)","data-testid":"nft-owned-count",paddingX:"8px",children:"x"+e.balance})]})}),(0,Yn.jsx)(ole,{nft:e}),l&&(0,Yn.jsx)(li,{marginTop:"16px",marginBottom:"14px","data-testid":"nft-name",size:"lg",children:l}),e.metadata.description&&(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"nft-description",size:"sm",children:e.metadata.description}),(0,Yn.jsx)(_i,{marginTop:"20px",onClick:()=>{s((0,Yn.jsx)(cle,{nft:e,sender:a(r)}))},children:"Send"}),(0,Yn.jsxs)(pJ,{marginTop:"32px",allowMultiple:!0,children:[(0,Yn.jsx)(ele,{nft:e,style:u}),(0,Yn.jsx)(ile,{nft:e,style:u}),(0,Yn.jsxs)(mJ,{background:E$.gray[800],style:u,children:[(0,Yn.jsxs)(gJ,{paddingY:"16px",children:[(0,Yn.jsx)(li,{flex:"1",textAlign:"left",size:"md",children:"JSON"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)(y0,{value:e})})]})]})]})},dle=({ownerPkh:e,nft:t,onCloseDrawer:r})=>(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",paddingBottom:"22px",color:E$.gray[400],"data-testid":"nft-drawer-body",children:[(0,Yn.jsx)($ne,{address:dd(e)}),(0,Yn.jsx)(fae,{onClose:r})]}),(0,Yn.jsx)(ule,{nft:t,ownerPkh:e})]}),hle=()=>{const[e,r]=(0,t.useState)(null),n=O3(),{ownerPkh:i,nftId:o}=function(){let{matches:e}=t.useContext(zH),r=e[e.length-1];return r?r.params:{}}(),a=p3(),s=i&&(0,iE.get)(a,[i],[]).find((e=>fP(e)===o)),c=!!s,{isOpen:l,onClose:u,onOpen:d}=aK({defaultIsOpen:c}),{isOpen:h}=EW(),f=VH(),p=(0,t.useCallback)((()=>{r(null),u(),f("/home")}),[r,u,f]);(0,t.useEffect)((()=>{const e=e=>{"Escape"===e.key&&p()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}),[p]);const m=n.find((t=>t.address.pkh===e));return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(uae,{onOpen:d,onSelect:r,selected:e}),(0,Yn.jsxs)(_ie,{autoFocus:!1,blockScrollOnMount:!h,isOpen:l,onClose:p,placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsx)(BX,{children:c?(0,Yn.jsx)(dle,{nft:s,onCloseDrawer:p,ownerPkh:i}):(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(hae,{onClose:p}),m&&(0,Yn.jsx)(Jce,{account:m})]})})})]})]})},fle=()=>(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Accounts"}),(0,Yn.jsx)(Zn,{flex:1,minHeight:1,children:(0,Yn.jsxs)(Zn,{flexDirection:"column",flex:1,marginRight:"12px",paddingBottom:"12px",children:[(0,Yn.jsx)(sae,{}),(0,Yn.jsx)(Qn,{flex:1,overflow:"hidden",borderRadius:"8px",children:(0,Yn.jsx)(hle,{})})]})})]}),ple=({nft:e,onClick:t})=>{const r=Vne(SP(e)),n=Vne(e.displayUri),i=e.metadata.name,o=$H().pathname.includes(`${e.owner}/${fP(e)}`);return(0,Yn.jsx)(g0,{minWidth:"274px",borderRadius:"8px",cursor:"pointer","data-testid":"nft-card",onClick:t,children:(0,Yn.jsxs)(v0,{padding:"16px",background:E$.gray[900],border:"1px solid",borderColor:o?E$.orangeL:"transparent",borderRadius:"8px",_hover:{bg:E$.gray[700],borderColor:`${E$.gray[500]}`},children:[(0,Yn.jsx)(Xn,{children:(0,Yn.jsx)(HX,{width:"100%",minWidth:"242px",minHeight:"242px",objectFit:"contain",aspectRatio:"1 /1","data-testid":"nft-image",fallbackSrc:n,src:r})}),Number(e.balance)>1&&(0,Yn.jsx)(NX,{position:"absolute",display:"inline",height:"24px",marginTop:"-36px",marginLeft:"10px",paddingTop:"1px",fontSize:"14px",borderRadius:"full",backgroundColor:"rgba(33, 33, 33, 0.75)","data-testid":"nft-owned-count",paddingX:"8px",children:"x"+e.balance}),(0,Yn.jsx)(Qn,{overflow:"hidden","data-testid":"nft-card-name",children:(0,Yn.jsx)(li,{overflow:"hidden",marginTop:"15px",marginBottom:"8px",fontSize:"sm",whiteSpace:"nowrap",textOverflow:"ellipsis",children:i})}),(0,Yn.jsx)($ne,{address:dd(e.owner)})]})})},mle=({nftsByOwner:e,onSelect:t})=>{const r=Object.entries(e).flatMap((([e,t])=>(t||[]).map((t=>({owner:e,...t})))));let n="repeat(auto-fit, minmax(min(100%/2, max(274px, 100%/7)), 1fr))";return r.length<3&&(n=`repeat(auto-fit, min(100% / ${r.length} - 16px, 450px))`),(0,Yn.jsx)(Joe,{gridTemplateColumns:n,marginBottom:"16px",minChildWidth:"340px",spacing:"16px",children:qne(r).map((e=>(0,Yn.jsx)(ple,{nft:e,onClick:()=>t(e)},`${e.owner}:${fP(e)}`)))})};function gle(e={}){const{timeout:r=300,preventDefault:n=(()=>!0)}=e,[i,o]=(0,t.useState)([]),a=(0,t.useRef)(),s=()=>{a.current&&(clearTimeout(a.current),a.current=null)};return(0,t.useEffect)((()=>s),[]),function(e){return t=>{if("Backspace"===t.key){const e=[...i];return e.pop(),void o(e)}if(function(e){const{key:t}=e;return 1===t.length||t.length>1&&/[^a-zA-Z0-9]/.test(t)}(t)){const c=i.concat(t.key);n(t)&&(t.preventDefault(),t.stopPropagation()),o(c),e(c.join("")),s(),a.current=setTimeout((()=>{o([]),a.current=null}),r)}}}}function vle(e,t){var r;const n=e.target;if(n){if(!yle(n).contains(n))return!1}return!(null==(r=t.current)?void 0:r.contains(n))}function yle(e){var t;return null!=(t=null==e?void 0:e.ownerDocument)?t:document}var[ble,wle,xle,_le]=eJ(),[Sle,kle]=ui({strict:!1,name:"MenuContext"});function Ele(e){var t;return null!=(t=null==e?void 0:e.ownerDocument)?t:document}function Ple(e){return Ele(e).activeElement===e}function Ole(e={}){const{id:r,closeOnSelect:n=!0,closeOnBlur:i=!0,initialFocusRef:o,autoSelect:a=!0,isLazy:s,isOpen:c,defaultIsOpen:l,onClose:u,onOpen:d,placement:h="bottom-start",lazyBehavior:f="unmount",direction:p,computePositionOnMount:m=!1,...g}=e,v=(0,t.useRef)(null),y=(0,t.useRef)(null),b=xle(),w=(0,t.useCallback)((()=>{requestAnimationFrame((()=>{var e;null==(e=v.current)||e.focus({preventScroll:!1})}))}),[]),x=(0,t.useCallback)((()=>{const e=setTimeout((()=>{var e;if(o)null==(e=o.current)||e.focus();else{const e=b.firstEnabled();e&&j(e.index)}}));L.current.add(e)}),[b,o]),_=(0,t.useCallback)((()=>{const e=setTimeout((()=>{const e=b.lastEnabled();e&&j(e.index)}));L.current.add(e)}),[b]),S=(0,t.useCallback)((()=>{null==d||d(),a?x():w()}),[a,x,w,d]),{isOpen:k,onOpen:E,onClose:P,onToggle:O}=E2({isOpen:c,defaultIsOpen:l,onClose:u,onOpen:S});!function(e){const{ref:r,handler:n,enabled:i=!0}=e,o=EM(n),a=(0,t.useRef)({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;(0,t.useEffect)((()=>{if(!i)return;const e=e=>{vle(e,r)&&(a.isPointerDown=!0)},t=e=>{a.ignoreEmulatedMouseEvents?a.ignoreEmulatedMouseEvents=!1:a.isPointerDown&&n&&vle(e,r)&&(a.isPointerDown=!1,o(e))},s=e=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&vle(e,r)&&(a.isPointerDown=!1,o(e))},c=yle(r.current);return c.addEventListener("mousedown",e,!0),c.addEventListener("mouseup",t,!0),c.addEventListener("touchstart",e,!0),c.addEventListener("touchend",s,!0),()=>{c.removeEventListener("mousedown",e,!0),c.removeEventListener("mouseup",t,!0),c.removeEventListener("touchstart",e,!0),c.removeEventListener("touchend",s,!0)}}),[n,r,o,a,i])}({enabled:k&&i,ref:v,handler:e=>{var t;(null==(t=y.current)?void 0:t.contains(e.target))||P()}});const A=S2({...g,enabled:k||m,placement:h,direction:p}),[T,j]=(0,t.useState)(-1);PM((()=>{k||j(-1)}),[k]),ure(v,{focusRef:y,visible:k,shouldFocus:!0});const C=ore({isOpen:k,ref:v}),[R,I]=function(e,...r){const n=(0,t.useId)(),i=e||n;return(0,t.useMemo)((()=>r.map((e=>`${e}-${i}`))),[i,r])}(r,"menu-button","menu-list"),M=(0,t.useCallback)((()=>{E(),w()}),[E,w]),L=(0,t.useRef)(new Set([]));(0,t.useEffect)((()=>{const e=L.current;return()=>{e.forEach((e=>clearTimeout(e))),e.clear()}}),[]);const N=(0,t.useCallback)((()=>{E(),x()}),[x,E]),D=(0,t.useCallback)((()=>{E(),_()}),[E,_]),B=(0,t.useCallback)((()=>{var e,t;const r=Ele(v.current),n=null==(e=v.current)?void 0:e.contains(r.activeElement);if(!(k&&!n))return;const i=null==(t=b.item(T))?void 0:t.node;null==i||i.focus({preventScroll:!0})}),[k,T,b]),z=(0,t.useRef)(null);return{openAndFocusMenu:M,openAndFocusFirstItem:N,openAndFocusLastItem:D,onTransitionEnd:B,unstable__animationState:C,descendants:b,popper:A,buttonId:R,menuId:I,forceUpdate:A.forceUpdate,orientation:"vertical",isOpen:k,onToggle:O,onOpen:E,onClose:P,menuRef:v,buttonRef:y,focusedIndex:T,closeOnSelect:n,closeOnBlur:i,autoSelect:a,setFocusedIndex:j,isLazy:s,lazyBehavior:f,initialFocusRef:o,rafId:z}}function Ale(e){var t;return function(e){var t;if(!function(e){return null!=e&&"object"==typeof e&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}(e))return!1;const r=null!=(t=e.ownerDocument.defaultView)?t:window;return e instanceof r.HTMLElement}(e)&&!!(null==(t=null==e?void 0:e.getAttribute("role"))?void 0:t.startsWith("menuitem"))}function Tle(e={},r=null){const{onMouseEnter:n,onMouseMove:i,onMouseLeave:o,onClick:a,onFocus:s,isDisabled:c,isFocusable:l,closeOnSelect:u,type:d,...h}=e,f=kle(),{setFocusedIndex:p,focusedIndex:m,closeOnSelect:g,onClose:v,menuRef:y,isOpen:b,menuId:w,rafId:x}=f,_=(0,t.useRef)(null),S=`${w}-menuitem-${(0,t.useId)()}`,{index:k,register:E}=_le({disabled:c&&!l}),P=(0,t.useCallback)((e=>{null==n||n(e),c||p(k)}),[p,k,c,n]),O=(0,t.useCallback)((e=>{null==i||i(e),_.current&&!Ple(_.current)&&P(e)}),[P,i]),A=(0,t.useCallback)((e=>{null==o||o(e),c||p(-1)}),[p,c,o]),T=(0,t.useCallback)((e=>{null==a||a(e),Ale(e.currentTarget)&&(null!=u?u:g)&&v()}),[v,a,g,u]),j=(0,t.useCallback)((e=>{null==s||s(e),p(k)}),[p,s,k]),C=k===m,R=c&&!l;PM((()=>{if(b)return C&&!R&&_.current?(x.current&&cancelAnimationFrame(x.current),x.current=requestAnimationFrame((()=>{var e;null==(e=_.current)||e.focus({preventScroll:!0}),x.current=null}))):y.current&&!Ple(y.current)&&y.current.focus({preventScroll:!0}),()=>{x.current&&cancelAnimationFrame(x.current)}}),[C,R,y,b]);const I=mae({onClick:T,onFocus:j,onMouseEnter:P,onMouseMove:O,onMouseLeave:A,ref:wi(E,_,r),isDisabled:c,isFocusable:l});return{...h,...I,type:null!=d?d:I.type,id:S,role:"menuitem",tabIndex:C?0:-1}}var[jle,Cle]=ui({name:"MenuStylesContext",errorMessage:"useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),Rle=e=>{const{children:r}=e,n=ci("Menu",e),i=Jt(e),{direction:o}=ri(),{descendants:a,...s}=Ole({...i,direction:o}),c=(0,t.useMemo)((()=>s),[s]),{isOpen:l,onClose:u,forceUpdate:d}=c;return(0,Yn.jsx)(ble,{value:a,children:(0,Yn.jsx)(Sle,{value:c,children:(0,Yn.jsx)(jle,{value:n,children:ae(r,{isOpen:l,onClose:u,forceUpdate:d})})})})};Rle.displayName="Menu";var Ile=re(((e,t)=>{const r=Cle();return(0,Yn.jsx)(Gn.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...r.button}})})),Mle=re(((e,r)=>{const{children:n,as:i,...o}=e,a=function(e={},r=null){const n=kle(),{onToggle:i,popper:o,openAndFocusFirstItem:a,openAndFocusLastItem:s}=n,c=(0,t.useCallback)((e=>{const t=e.key,r={Enter:a,ArrowDown:a,ArrowUp:s}[t];r&&(e.preventDefault(),e.stopPropagation(),r(e))}),[a,s]);return{...e,ref:wi(n.buttonRef,r,o.referenceRef),id:n.buttonId,"data-active":ce(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:ue(e.onClick,i),onKeyDown:ue(e.onKeyDown,c)}}(o,r),s=i||Ile;return(0,Yn.jsx)(s,{...a,className:ne("chakra-menu__menu-button",e.className),children:(0,Yn.jsx)(Gn.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})}));Mle.displayName="MenuButton";var Lle={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},Nle=Gn(jF.div),Dle=re((function(e,r){var n,i;const{rootProps:o,motionProps:a,...s}=e,{isOpen:c,onTransitionEnd:l,unstable__animationState:u}=kle(),d=function(e={},r=null){const n=kle();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:i,setFocusedIndex:o,menuRef:a,isOpen:s,onClose:c,menuId:l,isLazy:u,lazyBehavior:d,unstable__animationState:h}=n,f=wle(),p=gle({preventDefault:e=>" "!==e.key&&Ale(e.target)}),m=(0,t.useCallback)((e=>{if(!e.currentTarget.contains(e.target))return;const t=e.key,r={Tab:e=>e.preventDefault(),Escape:c,ArrowDown:()=>{const e=f.nextEnabled(i);e&&o(e.index)},ArrowUp:()=>{const e=f.prevEnabled(i);e&&o(e.index)}},n=r[t];if(n)return e.preventDefault(),void n(e);const a=p((e=>{const t=function(e,t,r,n){if(null==t)return n;if(!n)return e.find((e=>r(e).toLowerCase().startsWith(t.toLowerCase())));const i=e.filter((e=>r(e).toLowerCase().startsWith(t.toLowerCase())));if(i.length>0){let t;return i.includes(n)?(t=i.indexOf(n)+1,t===i.length&&(t=0),i[t]):(t=e.indexOf(i[0]),e[t])}return n}(f.values(),e,(e=>{var t,r;return null!=(r=null==(t=null==e?void 0:e.node)?void 0:t.textContent)?r:""}),f.item(i));if(t){const e=f.indexOf(t.node);o(e)}}));Ale(e.target)&&a(e)}),[f,i,p,c,o]),g=(0,t.useRef)(!1);s&&(g.current=!0);const v=hre({wasSelected:g.current,enabled:u,mode:d,isSelected:h.present});return{...e,ref:wi(a,r),children:v?e.children:null,tabIndex:-1,role:"menu",id:l,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:ue(e.onKeyDown,m)}}(s,r),h=function(e={}){const{popper:t,isOpen:r}=kle();return t.getPopperProps({...e,style:{visibility:r?"visible":"hidden",...e.style}})}(o),f=Cle();return(0,Yn.jsx)(Gn.div,{...h,__css:{zIndex:null!=(i=e.zIndex)?i:null==(n=f.list)?void 0:n.zIndex},children:(0,Yn.jsx)(Nle,{variants:Lle,initial:!1,animate:c?"enter":"exit",__css:{outline:0,...f.list},...a,className:ne("chakra-menu__menu-list",d.className),...d,onUpdate:l,onAnimationComplete:de(u.onComplete,d.onAnimationComplete)})})}));Dle.displayName="MenuList";var Ble=re(((e,t)=>{const r=Cle();return(0,Yn.jsx)(Gn.span,{ref:t,...e,__css:r.command,className:"chakra-menu__command"})}));Ble.displayName="MenuCommand";var zle=re(((e,r)=>{const{type:n,...i}=e,o=Cle(),a=i.as||n?null!=n?n:void 0:"button",s=(0,t.useMemo)((()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item})),[o.item]);return(0,Yn.jsx)(Gn.button,{ref:r,type:a,...i,__css:s})})),Ule=e=>{const{className:r,children:n,...i}=e,o=Cle(),a=t.Children.only(n),s=(0,t.isValidElement)(a)?(0,t.cloneElement)(a,{focusable:"false","aria-hidden":!0,className:ne("chakra-menu__icon",a.props.className)}):null,c=ne("chakra-menu__icon-wrapper",r);return(0,Yn.jsx)(Gn.span,{className:c,...i,__css:o.icon,children:s})};Ule.displayName="MenuIcon";var Fle=re(((e,t)=>{const{icon:r,iconSpacing:n="0.75rem",command:i,commandSpacing:o="0.75rem",children:a,...s}=e,c=Tle(s,t),l=r||i?(0,Yn.jsx)("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return(0,Yn.jsxs)(zle,{...c,className:ne("chakra-menu__menuitem",c.className),children:[r&&(0,Yn.jsx)(Ule,{fontSize:"0.8em",marginEnd:n,children:r}),l,i&&(0,Yn.jsx)(Ble,{marginStart:o,children:i})]})}));Fle.displayName="MenuItem";const $le=({accounts:e,onSelect:t})=>(0,Yn.jsx)(Dle,{zIndex:"docked",overflowY:"scroll",maxHeight:"300px",padding:0,background:E$.gray[900],children:e.map((e=>(0,Yn.jsx)(Fle,{width:"100%",minHeight:"48px",padding:"5px",background:E$.gray[700],"aria-label":e.label,onClick:()=>{t(e)},value:e.address.pkh,children:(0,Yn.jsx)(z3,{width:"370px",height:"40px",padding:"5px",background:E$.gray[700],borderRadius:"4px",_hover:{background:E$.gray[500]},cursor:"pointer",address:e.address})},e.address.pkh)))}),Hle=()=>{const e=O3(),[t,r]=wV(),n=t.getAll("accounts"),i=e.filter((e=>n.includes(e.address.pkh))),o=(0,iE.differenceBy)(e,i,(e=>e.address.pkh)),a=i.length===e.length;return{selectedAccounts:0===i.length?e:i,accountsFilter:(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(Qn,{alignSelf:"flex-start",children:(0,Yn.jsxs)(Rle,{children:[(0,Yn.jsx)(Mle,{as:_i,maxHeight:"26px",paddingLeft:0,fontWeight:"normal",_hover:{bg:"none"},_active:{bg:"none"},"data-testid":"account-filter",isDisabled:a,marginY:"16px",rightIcon:(0,Yn.jsx)(Uoe,{}),variant:"ghost",children:"Filter by Account"}),(0,Yn.jsx)($le,{accounts:o,onSelect:e=>{r({...t,accounts:[...i,e].map((e=>e.address.pkh))})}})]})}),(0,Yn.jsx)($ce,{width:"100%",children:i.map((e=>(0,Yn.jsx)($ne,{address:e.address,"data-testid":"account-pill",mode:{type:"removable",onRemove:()=>{r({...t,accounts:n.filter((t=>t!==e.address.pkh))})}}},e.address.pkh)))})]})}},Vle=()=>{const e=p3(),{isOpen:r}=EW(),{accountsFilter:n,selectedAccounts:i}=Hle(),[o,a]=(0,t.useState)(void 0);(0,t.useEffect)((()=>{const e=e=>{"Escape"===e.key&&a(void 0)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}),[]);const s=(0,iE.pick)(e,i.map((e=>e.address.pkh))),c=(0,iE.sumBy)(Object.values(s).flat(),(e=>Number((null===e||void 0===e?void 0:e.balance)||0))),l=(0,iE.every)(s,(e=>!e||0===e.length));return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{subtitle:`(${c})`,title:"NFTs"}),n,l?(0,Yn.jsx)(bse,{}):(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(Qn,{overflowY:"scroll",children:(0,Yn.jsx)(mle,{nftsByOwner:s,onSelect:e=>a(e)})}),(0,Yn.jsxs)(_ie,{autoFocus:!1,blockScrollOnMount:!r,isOpen:!!o,onClose:()=>a(void 0),placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsx)(BX,{children:o&&(0,Yn.jsx)(dle,{nft:o,onCloseDrawer:()=>a(void 0),ownerPkh:o.owner})})})]})]})]})},qle=()=>{const{accountsFilter:e,selectedAccounts:r}=Hle(),{operations:n,loadMore:i,hasMore:o,setAddresses:a,isLoading:s}=Nce(r.map((e=>e.address.pkh))),c=r.map((e=>e.address.pkh)).join(",");(0,t.useEffect)((()=>{a(c.split(","))}),[a,c]);const l=(0,Yn.jsx)(NX,{color:E$.gray[500],textAlign:"center",paddingY:"20px",children:"Loading..."});return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Operations"}),e,0===n.length&&s&&l,0===n.length&&!s&&(0,Yn.jsx)(wse,{}),n.length>0&&(0,Yn.jsx)(Qn,{overflowY:"scroll",marginBottom:"20px",background:E$.gray[900],borderRadius:"8px",onScroll:async e=>{if(!o||s)return;const t=e.target;t.scrollHeight-t.scrollTop-t.clientHeight<100&&i()},paddingX:"20px",children:(0,Yn.jsxs)(fce.Provider,{value:{mode:"page"},children:[n.map(((e,t)=>{const r=t===n.length-1;return(0,Yn.jsxs)(Qn,{height:"90px",marginBottom:r?"10px":0,paddingY:"20px",children:[(0,Yn.jsx)(Tce,{operation:e}),!r&&(0,Yn.jsx)(Qn,{children:(0,Yn.jsx)(ire,{marginTop:"20px"})})]},e.id)})),s&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ire,{}),l]})]})})]})},Kle=()=>{const{data:e}=(0,Oi.useQuery)(kte,(()=>Ste.getPeers())),r=Pte(),[n,i]=(0,t.useState)([]);return(0,t.useEffect)((()=>{(async()=>{const t=await Promise.all((e||[]).map((async e=>({...e,senderId:await wG(e.publicKey)}))));i(t)})()}),[e]),0===n.length?null:(0,Yn.jsx)(Wle,{peerInfos:n,removePeer:r})},Wle=({peerInfos:e,removePeer:r})=>(0,Yn.jsx)(Qn,{children:e.map((e=>(0,Yn.jsxs)(t.Fragment,{children:[(0,Yn.jsx)(ire,{}),(0,Yn.jsx)(Gle,{onRemove:()=>r(e),peerInfo:e})]},e.name)))}),Gle=({peerInfo:e,onRemove:t})=>(0,Yn.jsxs)(Zn,{justifyContent:"space-between",height:"106px","data-testid":"peer-row",paddingY:"30px",children:[(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(UX,{width:"48px",marginRight:"16px",ratio:1,children:(0,Yn.jsx)(HX,{width:"100%",src:e.icon})}),(0,Yn.jsxs)(Xn,{alignItems:"flex-start",flexDirection:"column",children:[(0,Yn.jsx)(li,{marginBottom:"6px",size:"md",children:e.name}),(0,Yn.jsx)(Yle,{peerInfo:e})]})]}),(0,Yn.jsx)(Xn,{children:(0,Yn.jsx)(Z3,{"aria-label":"Remove Peer",icon:(0,Yn.jsx)(U5,{}),onClick:t,size:"xs",variant:"circle"})})]}),Yle=({peerInfo:e})=>{const t=(e=>{const t=r3((e=>e.beacon));return t[e]})(e.senderId);return t?(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)($ne,{marginRight:"10px",address:dd(t.accountPkh)}),(0,Yn.jsx)(ire,{marginRight:"10px",orientation:"vertical"}),(0,Yn.jsx)(NX,{marginTop:"2px",marginRight:"4px",color:E$.gray[450],fontWeight:650,size:"sm",children:"Network:"}),(0,Yn.jsx)(NX,{marginTop:"2px",color:E$.white,"data-testid":"dapp-connection-network",size:"sm",children:(0,iE.capitalize)(t.networkType)})]}):null},Zle=()=>{const{isOpen:e,onClose:t,onOpen:r}=aK(),{isOpen:n}=EW();return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(mie,{left:"dApps",isSelected:e,onClick:r}),(0,Yn.jsxs)(_ie,{autoFocus:!1,blockScrollOnMount:!n,isOpen:e,onClose:t,placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(hae,{onClose:t}),(0,Yn.jsx)(Xle,{})]})})]})]})},Xle=()=>{const e=Ote();return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"space-between",height:24,children:(0,Yn.jsx)(li,{size:"xl",children:"dApps"})}),(0,Yn.jsx)(_i,{onClick:()=>navigator.clipboard.readText().then((t=>{e(t)})),children:"Paste a peer request code"}),(0,Yn.jsx)(NX,{marginTop:"16px",marginBottom:"32px",color:"text.dark",children:"or open a deeplink from inside the dApp..."}),(0,Yn.jsx)(Kle,{})]})};function Jle(e){return b5({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attr:{d:"M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]})(e)}const Qle=()=>{const{isOpen:e,onClose:t,onOpen:r}=aK(),{isOpen:n}=EW();return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(mie,{left:"ErrorLogs",isSelected:e,onClick:r}),(0,Yn.jsxs)(_ie,{blockScrollOnMount:!n,isOpen:e,onClose:t,placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(hae,{onClose:t}),(0,Yn.jsx)(eue,{})]})})]})]})},eue=()=>{const e=[...r3((e=>e.errors))].reverse(),t=eo();return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",height:"50px",marginBottom:"20px",children:[(0,Yn.jsx)(li,{size:"xl",children:"Error Logs"}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)("a",{download:"UmamiErrorLogs.json",href:`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(e))}`,children:(0,Yn.jsx)(_i,{variant:"tertiary",children:"Download error logs"})}),(0,Yn.jsx)(_i,{marginLeft:"8px",onClick:()=>{t(XP.actions.reset())},variant:"warning",children:"Clear All"})]})]}),e.map((e=>(0,Yn.jsx)(tue,{errorLog:e},Ta())))]})},tue=({errorLog:e})=>(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ire,{marginY:1}),(0,Yn.jsx)(Zn,{justifyContent:"space-between",paddingY:3,children:(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(LF,{as:Jle,marginTop:"1px",marginRight:2}),(0,Yn.jsxs)(Zn,{flexDirection:"column",children:[(0,Yn.jsx)(li,{wordBreak:"break-all",size:"sm",children:e.description}),(0,Yn.jsx)(NX,{color:E$.gray[400],size:"sm",children:e.timestamp})]})]})})]});function rue(e={}){const{onChange:r,value:n,defaultValue:i,name:o,isDisabled:a,isFocusable:s,isNative:c,...l}=e,[u,d]=(0,t.useState)(i||""),h="undefined"!==typeof n,f=h?n:u,p=(0,t.useRef)(null),m=(0,t.useCallback)((()=>{const e=p.current;if(!e)return;let t="input:not(:disabled):checked";const r=e.querySelector(t);if(r)return void r.focus();t="input:not(:disabled)";const n=e.querySelector(t);null==n||n.focus()}),[]),g=(0,t.useId)(),v=o||`radio-${g}`,y=(0,t.useCallback)((e=>{const t=function(e){return e&&ie(e)&&ie(e.target)}(e)?e.target.value:e;h||d(t),null==r||r(String(t))}),[r,h]);return{getRootProps:(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(t,p),role:"radiogroup"})),[]),getRadioProps:(0,t.useCallback)(((e={},t=null)=>{const r=c?"checked":"isChecked";return{...e,ref:t,name:v,[r]:null!=f?e.value===f:void 0,onChange(e){y(e)},"data-radiogroup":!0}}),[c,v,y,f]),name:v,ref:p,focus:m,setValue:d,value:f,onChange:y,isDisabled:a,isFocusable:s,htmlProps:l}}var[nue,iue]=ui({name:"RadioGroupContext",strict:!1}),oue=re(((e,r)=>{const{colorScheme:n,size:i,variant:o,children:a,className:s,isDisabled:c,isFocusable:l,...u}=e,{value:d,onChange:h,getRootProps:f,name:p,htmlProps:m}=rue(u),g=(0,t.useMemo)((()=>({name:p,size:i,onChange:h,colorScheme:n,value:d,variant:o,isDisabled:c,isFocusable:l})),[p,i,h,n,d,o,c,l]);return(0,Yn.jsx)(nue,{value:g,children:(0,Yn.jsx)(Gn.div,{...f(m,r),className:ne("chakra-radio-group",s),children:a})})}));oue.displayName="RadioGroup";var aue={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function sue(e){e.preventDefault(),e.stopPropagation()}var cue=re(((e,r)=>{var n;const i=iue(),{onChange:o,value:a}=e,s=ci("Radio",{...i,...e}),c=Jt(e),{spacing:l="0.5rem",children:u,isDisabled:d=(null==i?void 0:i.isDisabled),isFocusable:h=(null==i?void 0:i.isFocusable),inputProps:f,...p}=c;let m=e.isChecked;null!=(null==i?void 0:i.value)&&null!=a&&(m=i.value===a);let g=o;(null==i?void 0:i.onChange)&&null!=a&&(g=de(i.onChange,o));const v=null!=(n=null==e?void 0:e.name)?n:null==i?void 0:i.name,{getInputProps:y,getCheckboxProps:b,getLabelProps:w,getRootProps:x,htmlProps:_}=function(e={}){const{defaultChecked:r,isChecked:n,isFocusable:i,isDisabled:o,isReadOnly:a,isRequired:s,onChange:c,isInvalid:l,name:u,value:d,id:h,"data-radiogroup":f,"aria-describedby":p,...m}=e,g=`radio-${(0,t.useId)()}`,v=PJ(),y=iue();let b=!v||y||f?g:v.id;b=null!=h?h:b;const w=null!=o?o:null==v?void 0:v.isDisabled,x=null!=a?a:null==v?void 0:v.isReadOnly,_=null!=s?s:null==v?void 0:v.isRequired,S=null!=l?l:null==v?void 0:v.isInvalid,[k,E]=(0,t.useState)(!1),[P,O]=(0,t.useState)(!1),[A,T]=(0,t.useState)(!1),[j,C]=(0,t.useState)(!1),[R,I]=(0,t.useState)(Boolean(r)),M="undefined"!==typeof n,L=M?n:R;(0,t.useEffect)((()=>woe(E)),[]);const N=(0,t.useCallback)((e=>{x||w?e.preventDefault():(M||I(e.target.checked),null==c||c(e))}),[M,w,x,c]),D=(0,t.useCallback)((e=>{" "===e.key&&C(!0)}),[C]),B=(0,t.useCallback)((e=>{" "===e.key&&C(!1)}),[C]),z=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-active":ce(j),"data-hover":ce(A),"data-disabled":ce(w),"data-invalid":ce(S),"data-checked":ce(L),"data-focus":ce(P),"data-focus-visible":ce(P&&k),"data-readonly":ce(x),"aria-hidden":!0,onMouseDown:ue(e.onMouseDown,(()=>C(!0))),onMouseUp:ue(e.onMouseUp,(()=>C(!1))),onMouseEnter:ue(e.onMouseEnter,(()=>T(!0))),onMouseLeave:ue(e.onMouseLeave,(()=>T(!1)))})),[j,A,w,S,L,P,x,k]),{onFocus:U,onBlur:F}=null!=v?v:{},$=(0,t.useCallback)(((e={},t=null)=>{const r=w&&!i;return{...e,id:b,ref:t,type:"radio",name:u,value:d,onChange:ue(e.onChange,N),onBlur:ue(F,e.onBlur,(()=>O(!1))),onFocus:ue(U,e.onFocus,(()=>O(!0))),onKeyDown:ue(e.onKeyDown,D),onKeyUp:ue(e.onKeyUp,B),checked:L,disabled:r,readOnly:x,required:_,"aria-invalid":le(S),"aria-disabled":le(r),"aria-required":le(_),"data-readonly":ce(x),"aria-describedby":p,style:aue}}),[w,i,b,u,d,N,F,U,D,B,L,x,_,S,p]);return{state:{isInvalid:S,isFocused:P,isChecked:L,isActive:j,isHovered:A,isDisabled:w,isReadOnly:x,isRequired:_},getCheckboxProps:z,getRadioProps:z,getInputProps:$,getLabelProps:(e={},t=null)=>({...e,ref:t,onMouseDown:ue(e.onMouseDown,sue),"data-disabled":ce(w),"data-checked":ce(L),"data-invalid":ce(S)}),getRootProps:(e,t=null)=>({...e,ref:t,"data-disabled":ce(w),"data-checked":ce(L),"data-invalid":ce(S)}),htmlProps:m}}({...p,isChecked:m,isFocusable:h,isDisabled:d,onChange:g,name:v}),[S,k]=function(e,t){const r={},n={};for(const[i,o]of Object.entries(e))t.includes(i)?r[i]=o:n[i]=o;return[r,n]}(_,Ft),E=b(k),P=y(f,r),O=w(),A=Object.assign({},S,x()),T={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...s.container},j={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...s.control},C={userSelect:"none",marginStart:l,...s.label};return(0,Yn.jsxs)(Gn.label,{className:"chakra-radio",...A,__css:T,children:[(0,Yn.jsx)("input",{className:"chakra-radio__input",...P}),(0,Yn.jsx)(Gn.span,{className:"chakra-radio__control",...E,__css:j}),u&&(0,Yn.jsx)(Gn.span,{className:"chakra-radio__label",...O,__css:C,children:u})]})}));cue.displayName="Radio";const lue=({network:e})=>{const r=e?"edit":"create",{onClose:n}=(0,t.useContext)(kW),i=eo(),o=o3(),{formState:{errors:a,isValid:s},register:c,handleSubmit:l}=h0({mode:"onBlur",defaultValues:e});return(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:l((e=>{i(nO.upsertNetwork(e)),n()})),children:[(0,Yn.jsxs)(MX,{textAlign:"center",children:["edit"===r?"Edit":"Add"," Network",(0,Yn.jsx)(DX,{})]}),(0,Yn.jsxs)(BX,{children:["create"===r&&(0,Yn.jsxs)(OJ,{marginTop:"32px",marginBottom:"24px",isInvalid:!!a.name,children:[(0,Yn.jsx)(b0,{children:"Name"}),(0,Yn.jsx)(O0,{placeholder:"mainnet",...c("name",{required:"Name is required",validate:e=>{if(o.find((t=>t.name===e)))return"Network with this name already exists"}})}),a.name&&(0,Yn.jsx)(Qee,{children:a.name.message})]}),(0,Yn.jsxs)(OJ,{marginBottom:"24px",isInvalid:!!a.rpcUrl,children:[(0,Yn.jsx)(b0,{children:"RPC URL"}),(0,Yn.jsx)(O0,{placeholder:"https://prod.tcinfra.net/rpc/mainnet",...c("rpcUrl",{required:"RPC URL is required"})}),a.rpcUrl&&(0,Yn.jsx)(Qee,{children:a.rpcUrl.message})]}),(0,Yn.jsxs)(OJ,{marginBottom:"24px",isInvalid:!!a.tzktApiUrl,children:[(0,Yn.jsx)(b0,{children:"Tzkt API URL"}),(0,Yn.jsx)(O0,{placeholder:"https://api.ghostnet.tzkt.io",...c("tzktApiUrl",{required:"Tzkt API URL is required"})}),a.tzktApiUrl&&(0,Yn.jsx)(Qee,{children:a.tzktApiUrl.message})]}),(0,Yn.jsxs)(OJ,{marginBottom:"24px",isInvalid:!!a.tzktExplorerUrl,children:[(0,Yn.jsx)(b0,{children:"Tzkt Explorer URL"}),(0,Yn.jsx)(O0,{placeholder:"https://ghostnet.tzkt.io",...c("tzktExplorerUrl",{required:"Tzkt Explorer URL is required"})}),a.tzktExplorerUrl&&(0,Yn.jsx)(Qee,{children:a.tzktExplorerUrl.message})]}),(0,Yn.jsxs)(OJ,{children:[(0,Yn.jsx)(b0,{children:"Buy Tez URL"}),(0,Yn.jsx)(O0,{placeholder:"https://faucet.ghostnet.teztnets.xyz",...c("buyTezUrl")})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",isDisabled:!s,onClick:()=>{},type:"submit",children:"edit"===r?"Save changes":"Add network"})})]})]})})},uue=()=>{const{openWith:e}=(0,t.useContext)(kW),r=i3(),n=a3(),i=o3(),o=t3();return(0,Yn.jsxs)(Zn,{flexDirection:"column",children:[(0,Yn.jsxs)(Xn,{justifyContent:"space-between",children:[(0,Yn.jsx)(li,{children:"Network Settings"}),(0,Yn.jsxs)(_i,{paddingRight:"0",onClick:()=>e((0,Yn.jsx)(lue,{})),variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{size:"sm",children:"Add Network"}),(0,Yn.jsx)(A5,{width:"18px",height:"18px",marginLeft:"4px",stroke:"currentcolor"})]})]}),(0,Yn.jsx)(oue,{marginTop:"60px",onChange:n,value:r.name,children:(0,Yn.jsx)(jie,{children:i.map((r=>(0,Yn.jsxs)(t.Fragment,{children:[(0,Yn.jsx)(ire,{borderColor:E$.gray[700]}),(0,Yn.jsxs)(Zn,{justifyContent:"space-between","data-testid":`network-${r.name}`,children:[(0,Yn.jsx)(cue,{height:"100px",value:r.name,variant:"primary",children:(0,Yn.jsxs)(Zn,{flexDirection:"column",marginLeft:"16px",children:[(0,Yn.jsx)(li,{marginBottom:"4px",size:"sm",children:r.name}),(0,Yn.jsx)(NX,{color:E$.gray[400],children:r.rpcUrl})]})}),!zP(r)&&(0,Yn.jsx)(Xn,{"data-testid":"popover-menu",children:(0,Yn.jsxs)(Tre,{children:[(0,Yn.jsxs)(_i,{onClick:()=>e((0,Yn.jsx)(lue,{network:r})),variant:"popover",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Edit"}),(0,Yn.jsx)(O5,{stroke:"inherit"})]}),(0,Yn.jsx)(ire,{marginTop:"4px"}),(0,Yn.jsxs)(_i,{onClick:()=>(e=>{o(nO.removeNetwork(e))})(r),variant:"popover",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Remove"}),(0,Yn.jsx)(U5,{stroke:"inherit"})]})]})})]})]},r.name)))})})]})},due=()=>{const{isOpen:e,onClose:r,onOpen:n}=aK(),{isOpen:i}=(0,t.useContext)(kW);return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(mie,{left:"Network Settings",isSelected:e,onClick:n}),(0,Yn.jsxs)(_ie,{blockScrollOnMount:!i,isOpen:e,onClose:r,placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(hae,{onClose:r}),(0,Yn.jsx)(uue,{})]})})]})]})},hue="2.0.0-beta1",fue=()=>{const{onClose:e}=(0,t.useContext)(kW),r=h0({mode:"onBlur"}),n=DY(),i=t3(),{handleAsyncAction:o,isLoading:a}=Yee(),{handleSubmit:s,formState:{isValid:c,errors:l},getValues:u}=r;return(0,Yn.jsx)(oQ,{...r,children:(0,Yn.jsx)(IX,{background:E$.gray[700],"data-testid":"change-password-modal",children:(0,Yn.jsxs)("form",{onSubmit:s((async({currentPassword:t,newPassword:r,newPasswordConfirmation:a})=>{t!==r&&r===a&&o((async()=>{await i(nP({currentPassword:t,newPassword:r})).unwrap(),n({description:"Password updated",status:"success"}),e()}))})),children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(MX,{textAlign:"center",children:(0,Yn.jsx)(li,{children:"Change Password"})}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{marginTop:"32px",isInvalid:!!l.currentPassword,children:[(0,Yn.jsx)(ete,{"data-testid":"current-password",inputName:"currentPassword",label:"Current Password",placeholder:"Enter your current password",required:"Current password is required"}),l.currentPassword&&(0,Yn.jsx)(Qee,{"data-testid":"current-password-error",children:l.currentPassword.message})]}),(0,Yn.jsxs)(OJ,{isInvalid:!!l.newPassword,marginY:6,children:[(0,Yn.jsx)(ete,{"data-testid":"new-password",inputName:"newPassword",label:"New Password",placeholder:"Enter new password",required:"New password is required",validate:e=>u("currentPassword")!==e||"Cannot be the same as old password"}),l.newPassword&&(0,Yn.jsx)(Qee,{"data-testid":"new-password-error",children:l.newPassword.message})]}),(0,Yn.jsxs)(OJ,{marginTop:3,isInvalid:!!l.newPasswordConfirmation,children:[(0,Yn.jsx)(ete,{"data-testid":"new-password-confirmation",inputName:"newPasswordConfirmation",label:"Confirm New Password",placeholder:"Confirm new password",required:"Confirmation is required",validate:e=>u("newPassword")===e||"Your new passwords do no match"}),l.newPasswordConfirmation&&(0,Yn.jsx)(Qee,{"data-testid":"new-password-confirmation-error",children:l.newPasswordConfirmation.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",isDisabled:!c,isLoading:a,size:"lg",type:"submit",children:"Update Password"})})]})})})},pue="wasabi",mue=()=>{const e=()=>{localStorage.clear(),window.location.reload()},t=h0({mode:"onBlur"}),{register:r,handleSubmit:n,formState:{isValid:i,errors:o},getValues:a}=t;return(0,Yn.jsx)(oQ,{...t,children:(0,Yn.jsxs)("form",{onSubmit:n((()=>{a("check")&&a("confirmationCode")===pue&&e()})),children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(MX,{marginBottom:"12px",textAlign:"center",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(W5,{width:10,height:10,marginBottom:5}),(0,Yn.jsx)(li,{children:"Off-board Wallet"})]})}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(NX,{marginBottom:2,color:E$.gray[400],fontWeight:"bold",textAlign:"center",size:"sm",children:"This will permanently remove any data from this computer."}),(0,Yn.jsxs)(NX,{color:E$.gray[400],textAlign:"center",size:"sm",children:["Please enter \xab ",pue," \xbb to confirm. The accounts are still available to be imported in the future; in order to regain access to your accounts, please make sure that you keep the recovery phrase."]}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(ire,{borderColor:E$.gray[700],marginY:5}),(0,Yn.jsx)(OJ,{isInvalid:!!o.check,children:(0,Yn.jsx)(Aoe,{...r("check",{required:!0}),children:(0,Yn.jsx)(NX,{marginLeft:2,fontWeight:"bold",children:"I have read the warning and I am certain I want to remove my private keys locally. I also made sure to keep my recovery phrase."})})}),(0,Yn.jsx)(ire,{borderColor:E$.gray[700],marginY:5}),(0,Yn.jsxs)(OJ,{isInvalid:!!o.confirmationCode,paddingY:5,children:[(0,Yn.jsx)(O0,{type:"text",...r("confirmationCode",{required:"Confirmation is required",validate:e=>e===pue||"Confirmation code does not match"}),placeholder:"Enter code word to confirm"}),o.confirmationCode&&(0,Yn.jsx)(Qee,{children:o.confirmationCode.message})]})]})]}),(0,Yn.jsx)(IJ,{padding:0,children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:2,isDisabled:!i,size:"lg",type:"submit",variant:"warning",children:"Confirm"})})]})})},gue=()=>(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Settings"}),(0,Yn.jsxs)(Qn,{overflowY:"scroll",children:[(0,Yn.jsx)(Qn,{marginTop:"16px",children:(0,Yn.jsx)(vue,{})}),(0,Yn.jsx)(yue,{}),(0,Yn.jsx)(wue,{}),(0,Yn.jsx)(xue,{})]})]}),vue=()=>(0,Yn.jsxs)(_ue,{title:"General",children:[(0,Yn.jsx)(due,{}),(0,Yn.jsx)(Qle,{})]}),yue=()=>null,bue=()=>{const e={version:hue,"persist:accounts":localStorage.getItem("persist:accounts"),"persist:root":localStorage.getItem("persist:root")},t=`data:text/json;chatset=utf-8,${encodeURIComponent(JSON.stringify(e))}`,r=document.createElement("a");r.href=t,r.download="UmamiV2Backup.json",r.click()},wue=()=>(0,Yn.jsx)(_ue,{title:"Backup",children:(0,Yn.jsx)(pie,{isSelected:!1,onClick:bue,children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",children:[(0,Yn.jsx)(li,{size:"sm",children:"Download backup file"}),(0,Yn.jsx)(_i,{onClick:bue,variant:"unstyled",children:(0,Yn.jsx)(Y2,{cursor:"pointer"})})]})})}),xue=()=>{const{modalElement:e,onOpen:r}=(()=>{const{isOpen:e,onOpen:t,onClose:r}=aK();return{modalElement:(0,Yn.jsxs)(kK,{isCentered:!0,isOpen:e,onClose:r,children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(IX,{background:E$.gray[900],children:(0,Yn.jsx)(mue,{})})]}),onOpen:t}})(),{openWith:n}=(0,t.useContext)(kW);return(0,Yn.jsxs)(_ue,{title:"Advanced Settings",children:[(0,Yn.jsx)(Zle,{}),(0,Yn.jsx)(mie,{left:"Off-board Wallet",isSelected:!1,onClick:r}),(0,Yn.jsx)(mie,{left:"Change Password",isSelected:!1,onClick:()=>n((0,Yn.jsx)(fue,{}))}),e]})},_ue=({title:e,children:t})=>(0,Yn.jsx)(Qn,{marginTop:"8px",children:(0,Yn.jsx)(Zn,{children:(0,Yn.jsxs)(Qn,{width:"550px",children:[(0,Yn.jsx)(li,{marginBottom:"16px",size:"lg",children:e}),t]})})}),Sue=({token:e,amount:t,...r})=>{const{contract:n}=e,i=xP(t,e),o=gP(e);return(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"start",width:"400px",padding:"15px",background:E$.gray[800],borderRadius:"4px","data-testid":"token-tile",...r,children:[(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(UX,{width:"30px",height:"30px",marginRight:"12px",ratio:1,children:(0,Yn.jsx)(B5,{padding:"6.25px",background:E$.gray[500],borderRadius:"4px",contract:n})})}),(0,Yn.jsx)(D3,{number:i}),(0,Yn.jsx)(NX,{marginLeft:"4px",size:"sm",children:o})]})},kue=e=>{const{mode:t,operations:r,fee:n,data:{token:i}}=e,{fee:o,operations:a,estimationFailed:s,isLoading:c,form:l,signer:u,reEstimate:d,onSign:h}=Dre(n,r,t),{amount:f,recipient:p}=a.operations[0];return(0,Yn.jsx)(oQ,{...l,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:a.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(Sue,{amount:f,token:i}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",marginBottom:"24px",paddingX:"4px",children:(0,Yn.jsx)(Zn,{children:(0,Yn.jsx)(cte,{fee:o})})}),(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{marginBottom:"24px",address:a.sender.address}),(0,Yn.jsx)(b0,{children:"To"}),(0,Yn.jsx)(z3,{address:p}),(0,Yn.jsx)(Rre,{isLoading:c,operationType:a.type,reEstimate:d,sender:a.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:s,isLoading:c,onSubmit:h,signer:u,text:fte(a.type,t)})})]})})})},Eue=e=>{const{token:t}=e,r=Hre({SignPage:kue,signPageExtraData:{token:t},FormPage:Eue,defaultFormPageProps:e,toOperation:Pue(t)}),n=Vre(Pue(t)),{onFormSubmitActionHandlers:[i,o],isLoading:a}=qre([r,n]),s=h0({mode:"onBlur",defaultValues:Nre(e)}),{formState:{isValid:c,errors:l},register:u,handleSubmit:d}=s,h=yP(t),f=wP(t.balance,h),p=zre(Number(h));return(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(ute,{}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!l.prettyAmount,children:[(0,Yn.jsx)(b0,{children:"Amount"}),(0,Yn.jsxs)(k0,{children:[(0,Yn.jsx)(O0,{isDisabled:a,step:p,type:"number",...u("prettyAmount",{required:"Amount is required",max:{value:f.toString(),message:`Max amount is ${f}`},validate:Ure(Number(h))}),placeholder:p}),(0,Yn.jsx)(C0,{paddingRight:"12px","data-testid":"token-symbol",children:gP(t)})]}),l.prettyAmount&&(0,Yn.jsx)(Qee,{"data-testid":"amount-error",children:l.prettyAmount.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.sender,children:[(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!0,label:"From"}),l.sender&&(0,Yn.jsx)(Qee,{"data-testid":"from-error",children:l.sender.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.recipient,children:[(0,Yn.jsx)(V3,{allowUnknown:!0,inputName:"recipient",label:"To"}),l.recipient&&(0,Yn.jsx)(Qee,{"data-testid":"recipient-error",children:l.recipient.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:a,isValid:c,onAddToBatch:d(o),onSingleSubmit:d(i)})})]})})})},Pue=e=>t=>{const r={type:"fa2",sender:dd(t.sender),recipient:dd(t.recipient),contract:md(e.contract),tokenId:e.tokenId,amount:bP(e,t.prettyAmount)};return"fa2"===e.type?r:{...r,type:"fa1.2",tokenId:"0"}},Oue=({account:e})=>{const{address:{pkh:t},label:r}=e;return(0,Yn.jsxs)(Zn,{alignItems:"center",height:"78px",background:E$.gray[800],borderTopRadius:"8px","data-testid":"header",paddingX:"30px",children:[(0,Yn.jsx)(J5,{padding:"8px",address:t,identiconSize:32}),(0,Yn.jsxs)(Zn,{justifyContent:"space-between",flex:1,children:[(0,Yn.jsxs)(Qn,{marginLeft:"16px","data-testid":"account-identifier",children:[(0,Yn.jsx)(li,{marginBottom:"4px",size:"md",children:r}),(0,Yn.jsx)(NX,{color:E$.gray[300],size:"sm",children:h3(t)})]}),(0,Yn.jsx)(Zn,{flexDirection:"column-reverse",children:(0,Yn.jsx)(B3,{verticalAlign:"bottom",address:e.address.pkh})})]})]})},Aue=({account:e,tokens:r})=>{const{openWith:n}=(0,t.useContext)(kW);return(0,Yn.jsxs)(g0,{overflowX:"auto",marginBottom:"16px",borderBottomRadius:"8px",backgroundColor:E$.gray[900],children:[(0,Yn.jsx)(Oue,{account:e}),(0,Yn.jsx)(Fte,{paddingX:"30px",children:(0,Yn.jsx)(Vte,{children:(0,Yn.jsx)(qte,{children:r.map(((t,i)=>{const o=i===r.length-1?"transparent":E$.gray[700];return(0,Yn.jsxs)(Kte,{"data-testid":"token-tile",children:[(0,Yn.jsx)(Wte,{width:"20%",minWidth:"240px",borderColor:o,paddingX:"0",children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(B5,{display:"inline-block",width:"38px",contract:t.contract}),(0,Yn.jsx)(li,{display:"inline-block",marginLeft:"16px",size:"sm",children:(0,Yn.jsx)(Rce,{token:t})})]})}),(0,Yn.jsx)(Wte,{width:"20%",minWidth:"200px",borderColor:o,paddingX:"0",children:(0,Yn.jsx)($ne,{address:md(t.contract)})}),(0,Yn.jsx)(Wte,{width:"15%",minWidth:"160px",borderColor:o,paddingX:"0",children:(0,Yn.jsx)(li,{size:"sm",children:xP(t.balance,t,{showSymbol:!1})})}),(0,Yn.jsx)(Wte,{textAlign:"right",borderColor:o,paddingX:"0",children:(0,Yn.jsx)(Cre,{onClick:()=>{n((0,Yn.jsx)(Eue,{sender:e,token:t}))}})})]},fP(t))}))})})})]})},Tue=()=>{const{accountsFilter:e,selectedAccounts:t}=Hle(),r=g3(),n=t.map((e=>[e,r(e.address.pkh)])).filter((([,e])=>e.length>0));return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Tokens"}),e,0===n.length?(0,Yn.jsx)(yse,{title:"No Tokens found"}):(0,Yn.jsx)(Qn,{overflowY:"auto",children:n.map((([e,t])=>(0,Yn.jsx)(Aue,{account:e,tokens:t},e.address.pkh)))})]})},jue=e=>(0,Yn.jsxs)(NX,{color:E$.gray[450],...e,children:["Umami v",hue]}),Cue=r.p+"static/media/maki-default.9b24fbf6d7fd050fb08b.png",Rue=({size:e=100,...t})=>(0,Yn.jsx)(HX,{boxSize:e,objectFit:"cover",alt:"Maki logo",src:Cue,...t}),Iue=()=>{const e=i3(),t=o3(),r=a3();return(0,Yn.jsx)(Qn,{width:"105px",children:(0,Yn.jsx)(Hoe,{padding:0,color:E$.green,fontSize:"14px",fontWeight:600,border:"1px solid transparent","data-testid":"network-selector",onChange:e=>r(e.target.value),size:"xs",value:e.name,children:t.map((e=>(0,Yn.jsx)("option",{value:e.name,children:(0,iE.capitalize)(e.name)},e.name)))})})},Mue=()=>{const[e,r]=(0,t.useState)(!1),n=window;(0,t.useEffect)((()=>{n&&n.electronAPI&&n.electronAPI.onAppUpdateDownloaded((e=>r(!0)))}),[n]);return e?(0,Yn.jsx)(Qn,{marginTop:"24px",marginBottom:"6px",children:(0,Yn.jsxs)(_i,{justifyContent:"flex-start",width:"100%",height:"32px",paddingTop:"7px",paddingRight:"8px",paddingBottom:"7px",paddingLeft:"8px",color:E$.black,background:E$.green,_hover:{color:E$.black,background:E$.greenL},onClick:()=>{n&&n.electronAPI&&n.electronAPI.installAppUpdateAndQuit()},children:[(0,Yn.jsx)(c5,{}),(0,Yn.jsx)(NX,{marginLeft:"4px",size:"sm",children:"Update Umami"})]})}):null},Lue=()=>(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"236px",padding:"30px 30px 30px 30px",background:E$.gray[900],children:[(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",height:"30px",children:[(0,Yn.jsx)(Rue,{size:38}),(0,Yn.jsx)(Iue,{})]}),(0,Yn.jsx)(ire,{marginTop:"28px"})]}),(0,Yn.jsxs)(Zn,{justifyContent:"space-between",flexDirection:"column",flex:1,children:[(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(Mue,{}),(0,Yn.jsx)(Due,{}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(I2,{}),label:"Accounts",to:"/home"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(K2,{}),label:"NFTs",to:"/nfts"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(T5,{width:"24px",height:"24px"}),label:"Operations",to:"/operations"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)($2,{}),label:"Tokens",to:"/tokens"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(B2,{}),label:"Batch",to:"/batch"})]})]}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(ire,{}),(0,Yn.jsx)(Nue,{marginTop:"22px",icon:(0,Yn.jsx)(N2,{}),label:"Address Book",to:"/address-book"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(l5,{}),label:"Settings",to:"/settings"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(u5,{}),label:"Help",to:"/help"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(i5,{}),label:"Share Feedback",target:"_blank",to:`mailto:umami-support@trili.tech?subject=Umami V2 feedback&body=${Ei}`}),(0,Yn.jsx)(jue,{marginTop:"24px",fontSize:"14px"})]})]})]}),Nue=({icon:e,target:t,label:r,to:n,...i})=>{const o=$H().pathname.startsWith(n);return(0,Yn.jsx)(vV,{rel:"noopener noreferrer",target:t,to:n,children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"flex-start",width:"176px",marginBottom:"8px",padding:"10px",background:o?E$.gray[600]:"transparent",borderRadius:"4px",_hover:{background:o?E$.gray[600]:E$.gray[800]},cursor:"pointer",...i,children:[e,(0,Yn.jsx)(NX,{marginLeft:"10px",size:"sm",children:r})]})})},Due=()=>{const e=b3(),[t]=Yre("(max-height: 900px)");return(0,Yn.jsxs)(Qn,{marginTop:"24px",marginBottom:t?"30px":"100px",children:[(0,Yn.jsx)(NX,{marginBottom:"4px",size:"sm",children:"Balance"}),null!==e&&(0,Yn.jsx)(Wce,{balance:e.mutez,dollarBalance:e.usd})]})},Bue=e=>(0,Yn.jsxs)(Zn,{height:"100vh",children:[(0,Yn.jsx)(Lue,{}),(0,Yn.jsx)(Qn,{flex:1,overflowX:"hidden",height:"100%",paddingX:6,children:e})]}),zue=r.p+"static/media/accounts.5f47a2af4c8394165d1e.png",Uue=r.p+"static/media/background_image.a833e862a22ad4910526.png",Fue=r.p+"static/media/batch.5ba4eb38fa8c4e1ed39b.png",$ue=r.p+"static/media/multisig.3ab2bbc3bda7df25ea83.png";var Hue=r(5155);const Vue=({children:e})=>{const t={background:E$.gray[400],width:"10px",height:"10px",display:"inline-block",margin:"0 4px 60px 4px",borderRadius:"5px"};return(0,Yn.jsx)(Qn,{backgroundImage:"linear-gradient(180deg, rgba(18, 18, 18, 0.00) 36.43%, rgba(18, 18, 18, 0.50) 53.65%, #121212 76.24%)",borderRightRadius:"30px",backgroundColor:"#323131",children:(0,Yn.jsx)(Hue.lr,{autoPlay:!0,dynamicHeight:!1,infiniteLoop:!0,interval:5e3,renderIndicator:(e,r,n)=>r?(0,Yn.jsx)("li",{style:{...t,background:"#00C39A",width:"24px"}}):(0,Yn.jsx)("li",{onClick:e,onKeyDown:e,role:"button",style:t,tabIndex:0,value:n},n),showArrows:!1,showStatus:!1,showThumbs:!1,transitionTime:1e3,children:e})})},que=({item:e})=>(0,Yn.jsx)(Qn,{height:"730px",paddingTop:"500px",paddingBottom:"35px",backgroundImage:e.image,backgroundSize:"cover",backgroundRepeat:"no-repeat","data-testid":`slide-${e.id}`,children:(0,Yn.jsxs)(Xn,{flexDirection:"column",paddingBottom:"50px",children:[(0,Yn.jsx)(Rie,{icon:e.icon,size:"58px"}),(0,Yn.jsx)(NX,{width:"400px",margin:"16px 50px 0 50px",children:e.text})]})}),Kue=()=>{const[e,r]=(0,t.useState)(!0),{onOpen:n,modalElement:i}=rae((()=>r(!0))),o=[{id:1,text:(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(NX,{as:"span",fontWeight:600,size:"md",children:"Streamline asset management:\xa0"}),(0,Yn.jsx)(NX,{as:"span",size:"md",children:"one mnemonic, multiple accounts, full control."})]}),icon:(0,Yn.jsx)(R5,{}),image:zue},{id:2,text:(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(NX,{as:"span",size:"md",children:"Enhance security with\xa0"}),(0,Yn.jsx)(NX,{as:"span",fontWeight:600,size:"md",children:"Multi-sig"}),(0,Yn.jsx)(NX,{as:"span",size:"md",children:", requiring multiple signatures for transaction executions."})]}),icon:(0,Yn.jsx)(f5,{width:"32px",height:"32px",stroke:E$.gray[450],strokeWidth:"0.9"}),image:$ue},{id:3,text:(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(NX,{as:"span",size:"md",children:"Utilize the\xa0"}),(0,Yn.jsx)(NX,{as:"span",fontWeight:600,size:"md",children:"Batch\xa0"}),(0,Yn.jsx)(NX,{as:"span",size:"md",children:"feature to bundle transactions, improving efficiency and reducing costs."})]}),icon:(0,Yn.jsx)(B2,{width:"32px",height:"32px",strokeWidth:"0.9"}),image:Fue}];return(0,Yn.jsxs)(Xn,{height:"100vh",padding:"60px",backgroundImage:Uue,backgroundSize:"cover",children:[e&&(0,Yn.jsxs)(Joe,{boxShadow:"0px 0px 30px rgba(0, 0, 0, 0.30)",columns:[1,1,2],children:[(0,Yn.jsx)(Xn,{width:"100%",maxWidth:"660px",background:E$.gray[800],borderLeftRadius:"30px",children:(0,Yn.jsxs)(Cie,{maxWidth:"400px",padding:"32px",spacing:"0",children:[(0,Yn.jsx)(Rue,{marginBottom:"24px",size:"48px"}),(0,Yn.jsx)(li,{marginBottom:"16px",size:"3xl",children:"Welcome to Umami"}),(0,Yn.jsx)(ire,{maxWidth:"400px",marginBottom:"16px"}),(0,Yn.jsx)(NX,{marginBottom:"32px",color:E$.gray[450],children:"A powerful Tezos wallet"}),(0,Yn.jsx)(_i,{width:"100%",marginBottom:"24px",onClick:()=>{r(!1),n()},size:"lg",children:"Get started"}),(0,Yn.jsx)(jue,{fontSize:"13px"})]})}),(0,Yn.jsx)(Qn,{maxWidth:"660px",children:(0,Yn.jsx)(Vue,{children:o.map((e=>(0,Yn.jsx)(que,{item:e},e.id)))})})]}),i]})},Wue=()=>{Ute();return E3().length>0?(0,Yn.jsx)(Gue,{}):(0,Yn.jsx)(Yue,{})},Gue=()=>{zte();const e=EW();return(0,Yn.jsx)(pV,{children:(0,Yn.jsx)(kW.Provider,{value:e,children:(0,Yn.jsxs)(Ate,{children:[(0,Yn.jsx)(Qq,{}),(0,Yn.jsxs)(sV,{children:[(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(fle,{})),path:"/home"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(fle,{})),path:"/home/:ownerPkh/:nftId"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(Vle,{})),path:"/nfts"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(qle,{})),path:"/operations"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(Tue,{})),path:"/tokens"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(jne,{})),path:"/address-book"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(gue,{})),path:"/settings"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(gie,{})),path:"/help"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(lie,{})),path:"/batch"}),(0,Yn.jsx)(oV,{element:(0,Yn.jsx)(iV,{to:"/home"}),path:"/*"})]}),e.content]})})})},Yue=()=>{const e=(()=>{const e=eo();return()=>e(qP.actions.reset())})();return(0,t.useEffect)((()=>{(async()=>{await Ste.removeAllAccounts(),await Ste.removeAllAppMetadata(),await Ste.removeAllPeers(),await Ste.removeAllPermissions()})().then(e)}),[e]),(0,Yn.jsx)(pV,{children:(0,Yn.jsxs)(sV,{children:[(0,Yn.jsx)(oV,{element:(0,Yn.jsx)(iV,{to:"/welcome"}),path:"/*"}),(0,Yn.jsx)(oV,{element:(0,Yn.jsx)(Kue,{}),path:"/welcome"})]})})};i.createRoot(document.getElementById("root")).render((0,Yn.jsx)(t.StrictMode,{children:(0,Yn.jsx)(Z$,{children:(0,Yn.jsx)(uO,{children:(0,Yn.jsx)(te,{loading:null,persistor:function(e,t,r){var n=r||!1,i=z(G,W,t&&t.enhancer?t.enhancer:void 0),o=function(e){i.dispatch({type:p,key:e})},a=function(t,r,o){var a={type:u,payload:r,err:o,key:t};e.dispatch(a),i.dispatch(a),n&&s.getState().bootstrapped&&(n(),n=!1)},s=q({},i,{purge:function(){var t=[];return e.dispatch({type:f,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:l,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:d})},persist:function(){e.dispatch({type:h,register:o,rehydrate:a})}});return t&&t.manualPersist||s.persist(),s}(lO),children:(0,Yn.jsx)(s,{fallback:(0,Yn.jsx)(Pi,{}),onError:(e,t)=>{const r={...Gee(e),stacktrace:String(t.componentStack)};lO.dispatch(XP.actions.add(r))},children:(0,Yn.jsx)(Ti,{children:(0,Yn.jsx)(Wue,{})})})})})})}))})()})(); -//# sourceMappingURL=main.e5ce2461.js.map \ No newline at end of file + `}),[mO,gO]=ui({strict:!1,name:"PortalManagerContext"});function vO(e){const{children:t,zIndex:r}=e;return(0,Yn.jsx)(mO,{value:{zIndex:r},children:t})}function yO(e={}){const{strict:r=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:i}=e,o=(0,t.createContext)(void 0);return o.displayName=i,[o.Provider,function e(){var i;const a=(0,t.useContext)(o);if(!a&&r){const t=new Error(n);throw t.name="ContextError",null==(i=Error.captureStackTrace)||i.call(Error,t,e),t}return a},o]}function bO(e){const{cssVarsRoot:r,theme:n,children:i}=e,o=(0,t.useMemo)((()=>Bt(n)),[n]);return(0,Yn.jsxs)(Ln,{theme:o,children:[(0,Yn.jsx)(wO,{root:r}),i]})}function wO({root:e=":host, :root"}){const t=[e,"[data-theme]"].join(",");return(0,Yn.jsx)(pi,{styles:e=>({[t]:e.__cssVars})})}vO.displayName="PortalManager";var[xO,_O]=yO({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function SO(){const{colorMode:e}=nr();return(0,Yn.jsx)(pi,{styles:t=>{const r=sr(ir(t,"styles.global"),{theme:t,colorMode:e});if(!r)return;return Gt(r)(t)}})}var kO={light:"chakra-ui-light",dark:"chakra-ui-dark"};var EO="chakra-ui-color-mode";var PO,OO=(PO=EO,{ssr:!1,type:"localStorage",get(e){if(!(null==globalThis?void 0:globalThis.document))return e;let t;try{t=localStorage.getItem(PO)||e}catch(r){}return t||e},set(e){try{localStorage.setItem(PO,e)}catch(t){}}});function AO(e,t){const r=e.match(new RegExp(`(^| )${t}=([^;]+)`));return null==r?void 0:r[2]}function TO(e,t){return{ssr:!!t,type:"cookie",get:r=>t?AO(t,e):(null==globalThis?void 0:globalThis.document)&&AO(document.cookie,e)||r,set(t){document.cookie=`${e}=${t}; max-age=31536000; path=/`}}}TO(EO);var jO=Boolean(null==globalThis?void 0:globalThis.document)?t.useLayoutEffect:t.useEffect,CO=()=>{};function RO(e,t){return"cookie"===e.type&&e.ssr?e.get(t):t}function IO(e){const{value:r,children:n,options:{useSystemColorMode:i,initialColorMode:o,disableTransitionOnChange:a}={},colorModeManager:s=OO}=e,c="dark"===o?"dark":"light",[l,u]=(0,t.useState)((()=>RO(s,c))),[d,h]=(0,t.useState)((()=>RO(s))),{getSystemTheme:f,setClassName:p,setDataset:m,addListener:g}=(0,t.useMemo)((()=>function(e={}){const{preventTransition:t=!0}=e,r={setDataset:e=>{const n=t?r.preventTransition():void 0;document.documentElement.dataset.theme=e,document.documentElement.style.colorScheme=e,null==n||n()},setClassName(e){document.body.classList.add(e?kO.dark:kO.light),document.body.classList.remove(e?kO.light:kO.dark)},query:()=>window.matchMedia("(prefers-color-scheme: dark)"),getSystemTheme(e){var t;return(null!=(t=r.query().matches)?t:"dark"===e)?"dark":"light"},addListener(e){const t=r.query(),n=t=>{e(t.matches?"dark":"light")};return"function"===typeof t.addListener?t.addListener(n):t.addEventListener("change",n),()=>{"function"===typeof t.removeListener?t.removeListener(n):t.removeEventListener("change",n)}},preventTransition(){const e=document.createElement("style");return e.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),requestAnimationFrame((()=>{requestAnimationFrame((()=>{document.head.removeChild(e)}))}))}}};return r}({preventTransition:a})),[a]),v="system"!==o||l?l:d,y=(0,t.useCallback)((e=>{const t="system"===e?f():e;u(t),p("dark"===t),m(t),s.set(t)}),[s,f,p,m]);jO((()=>{"system"===o&&h(f())}),[]),(0,t.useEffect)((()=>{const e=s.get();y(e||("system"!==o?c:"system"))}),[s,c,o,y]);const b=(0,t.useCallback)((()=>{y("dark"===v?"light":"dark")}),[v,y]);(0,t.useEffect)((()=>{if(i)return g(y)}),[i,g,y]);const w=(0,t.useMemo)((()=>({colorMode:null!=r?r:v,toggleColorMode:r?CO:b,setColorMode:r?CO:y,forced:void 0!==r})),[v,b,y,r]);return(0,Yn.jsx)(rr.Provider,{value:w,children:n})}IO.displayName="ColorModeProvider";var MO=(0,t.createContext)({getDocument:()=>document,getWindow:()=>window});function LO(e){const{children:r,environment:n,disabled:i}=e,o=(0,t.useRef)(null),a=(0,t.useMemo)((()=>n||{getDocument:()=>{var e,t;return null!=(t=null==(e=o.current)?void 0:e.ownerDocument)?t:document},getWindow:()=>{var e,t;return null!=(t=null==(e=o.current)?void 0:e.ownerDocument.defaultView)?t:window}}),[n]),s=!i||!n;return(0,Yn.jsxs)(MO.Provider,{value:a,children:[r,s&&(0,Yn.jsx)("span",{id:"__chakra_env",hidden:!0,ref:o})]})}MO.displayName="EnvironmentContext",LO.displayName="EnvironmentProvider";var NO=e=>{const{children:t,colorModeManager:r,portalZIndex:n,resetScope:i,resetCSS:o=!0,theme:a={},environment:s,cssVarsRoot:c,disableEnvironment:l,disableGlobalStyle:u}=e,d=(0,Yn.jsx)(LO,{environment:s,disabled:l,children:t});return(0,Yn.jsx)(bO,{theme:a,cssVarsRoot:c,children:(0,Yn.jsxs)(IO,{colorModeManager:r,options:a.config,children:[o?(0,Yn.jsx)(pO,{scope:i}):(0,Yn.jsx)(fO,{}),!u&&(0,Yn.jsx)(SO,{}),n?(0,Yn.jsx)(vO,{zIndex:n,children:d}):d]})})},DO={property:{common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},easing:{"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},duration:{"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"}},BO={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},zO={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},UO={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},FO={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},$O={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},HO={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},VO={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},qO={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},KO={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},WO={...KO,max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch",container:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px"}},GO={breakpoints:UO,zIndices:BO,radii:$O,blur:VO,colors:FO,...qO,sizes:WO,shadows:HO,space:KO,borders:zO,transition:DO},{defineMultiStyleConfig:YO,definePartsStyle:ZO}=Yt(["stepper","step","title","description","indicator","separator","icon","number"]),XO=dt("stepper-indicator-size"),JO=dt("stepper-icon-size"),QO=dt("stepper-title-font-size"),eA=dt("stepper-description-font-size"),tA=dt("stepper-accent-color"),rA=ZO((({colorScheme:e})=>({stepper:{display:"flex",justifyContent:"space-between",gap:"4","&[data-orientation=vertical]":{flexDirection:"column",alignItems:"flex-start"},"&[data-orientation=horizontal]":{flexDirection:"row",alignItems:"center"},[tA.variable]:`colors.${e}.500`,_dark:{[tA.variable]:`colors.${e}.200`}},title:{fontSize:QO.reference,fontWeight:"medium"},description:{fontSize:eA.reference,color:"chakra-subtle-text"},number:{fontSize:QO.reference},step:{flexShrink:0,position:"relative",display:"flex",gap:"2","&[data-orientation=horizontal]":{alignItems:"center"},flex:"1","&:last-of-type:not([data-stretch])":{flex:"initial"}},icon:{flexShrink:0,width:JO.reference,height:JO.reference},indicator:{flexShrink:0,borderRadius:"full",width:XO.reference,height:XO.reference,display:"flex",justifyContent:"center",alignItems:"center","&[data-status=active]":{borderWidth:"2px",borderColor:tA.reference},"&[data-status=complete]":{bg:tA.reference,color:"chakra-inverse-text"},"&[data-status=incomplete]":{borderWidth:"2px"}},separator:{bg:"chakra-border-color",flex:"1","&[data-status=complete]":{bg:tA.reference},"&[data-orientation=horizontal]":{width:"100%",height:"2px",marginStart:"2"},"&[data-orientation=vertical]":{width:"2px",position:"absolute",height:"100%",maxHeight:`calc(100% - ${XO.reference} - 8px)`,top:`calc(${XO.reference} + 4px)`,insetStart:`calc(${XO.reference} / 2 - 1px)`}}}))),nA=YO({baseStyle:rA,sizes:{xs:ZO({stepper:{[XO.variable]:"sizes.4",[JO.variable]:"sizes.3",[QO.variable]:"fontSizes.xs",[eA.variable]:"fontSizes.xs"}}),sm:ZO({stepper:{[XO.variable]:"sizes.6",[JO.variable]:"sizes.4",[QO.variable]:"fontSizes.sm",[eA.variable]:"fontSizes.xs"}}),md:ZO({stepper:{[XO.variable]:"sizes.8",[JO.variable]:"sizes.5",[QO.variable]:"fontSizes.md",[eA.variable]:"fontSizes.sm"}}),lg:ZO({stepper:{[XO.variable]:"sizes.10",[JO.variable]:"sizes.6",[QO.variable]:"fontSizes.lg",[eA.variable]:"fontSizes.md"}})},defaultProps:{size:"md",colorScheme:"blue"}});function iA(e,t={}){let r=!1;function n(t){const r=`chakra-${(["container","root"].includes(null!=t?t:"")?[e]:[e,t]).filter(Boolean).join("__")}`;return{className:r,selector:`.${r}`,toString:()=>t}}return{parts:function(...i){!function(){if(r)throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?");r=!0}();for(const e of i)t[e]=n(e);return iA(e,t)},toPart:n,extend:function(...r){for(const e of r)e in t||(t[e]=n(e));return iA(e,t)},selectors:function(){const e=Object.fromEntries(Object.entries(t).map((([e,t])=>[e,t.selector])));return e},classnames:function(){const e=Object.fromEntries(Object.entries(t).map((([e,t])=>[e,t.className])));return e},get keys(){return Object.keys(t)},__type:{}}}var oA=iA("accordion").parts("root","container","button","panel").extend("icon"),aA=iA("alert").parts("title","description","container").extend("icon","spinner"),sA=iA("avatar").parts("label","badge","container").extend("excessLabel","group"),cA=iA("breadcrumb").parts("link","item","container").extend("separator"),lA=(iA("button").parts(),iA("checkbox").parts("control","icon","container").extend("label")),uA=(iA("progress").parts("track","filledTrack").extend("label"),iA("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer")),dA=iA("editable").parts("preview","input","textarea"),hA=iA("form").parts("container","requiredIndicator","helperText"),fA=iA("formError").parts("text","icon"),pA=iA("input").parts("addon","field","element","group"),mA=iA("list").parts("container","item","icon"),gA=iA("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),vA=iA("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),yA=iA("numberinput").parts("root","field","stepperGroup","stepper"),bA=(iA("pininput").parts("field"),iA("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton")),wA=iA("progress").parts("label","filledTrack","track"),xA=iA("radio").parts("container","control","label"),_A=iA("select").parts("field","icon"),SA=iA("slider").parts("container","track","thumb","filledTrack","mark"),kA=iA("stat").parts("container","label","helpText","number","icon"),EA=iA("switch").parts("container","track","thumb","label"),PA=iA("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),OA=iA("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),AA=iA("tag").parts("container","label","closeButton"),TA=iA("card").parts("container","header","body","footer");iA("stepper").parts("stepper","step","title","description","indicator","separator","icon","number");function jA(e){const t=function(e,t="-"){return e.replace(/\s+/g,t)}(e.toString());return t.includes("\\.")?e:function(e){return!Number.isInteger(parseFloat(e.toString()))}(e)?t.replace(".","\\."):e}function CA(e,t){return`var(${jA(e)}${t?`, ${t}`:""})`}function RA(e,t=""){return`--${function(e,t=""){return[t,jA(e)].filter(Boolean).join("-")}(e,t)}`}function IA(e,t){const r=RA(e,null==t?void 0:t.prefix);return{variable:r,reference:CA(r,MA(null==t?void 0:t.fallback))}}function MA(e){return"string"===typeof e?e:null==e?void 0:e.reference}function LA(e){return ie(e)&&e.reference?e.reference:String(e)}var NA=(e,...t)=>t.map(LA).join(` ${e} `).replace(/calc/g,""),DA=(...e)=>`calc(${NA("+",...e)})`,BA=(...e)=>`calc(${NA("-",...e)})`,zA=(...e)=>`calc(${NA("*",...e)})`,UA=(...e)=>`calc(${NA("/",...e)})`,FA=e=>{const t=LA(e);return null==t||Number.isNaN(parseFloat(t))?zA(t,-1):String(t).startsWith("-")?String(t).slice(1):`-${t}`},$A=Object.assign((e=>({add:(...t)=>$A(DA(e,...t)),subtract:(...t)=>$A(BA(e,...t)),multiply:(...t)=>$A(zA(e,...t)),divide:(...t)=>$A(UA(e,...t)),negate:()=>$A(FA(e)),toString:()=>e.toString()})),{add:DA,subtract:BA,multiply:zA,divide:UA,negate:FA}),{defineMultiStyleConfig:HA,definePartsStyle:VA}=Yt(EA.keys),qA=IA("switch-track-width"),KA=IA("switch-track-height"),WA=IA("switch-track-diff"),GA=$A.subtract(qA,KA),YA=IA("switch-thumb-x"),ZA=IA("switch-bg"),XA=e=>{const{colorScheme:t}=e;return{borderRadius:"full",p:"0.5",width:[qA.reference],height:[KA.reference],transitionProperty:"common",transitionDuration:"fast",[ZA.variable]:"colors.gray.300",_dark:{[ZA.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[ZA.variable]:`colors.${t}.500`,_dark:{[ZA.variable]:`colors.${t}.200`}},bg:ZA.reference}},JA={bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[KA.reference],height:[KA.reference],_checked:{transform:`translateX(${YA.reference})`}},QA=HA({baseStyle:VA((e=>({container:{[WA.variable]:GA,[YA.variable]:WA.reference,_rtl:{[YA.variable]:$A(WA).negate().toString()}},track:XA(e),thumb:JA}))),sizes:{sm:VA({container:{[qA.variable]:"1.375rem",[KA.variable]:"sizes.3"}}),md:VA({container:{[qA.variable]:"1.875rem",[KA.variable]:"sizes.4"}}),lg:VA({container:{[qA.variable]:"2.875rem",[KA.variable]:"sizes.6"}})},defaultProps:{size:"md",colorScheme:"blue"}});function eT(e,t){return r=>"dark"===r.colorMode?t:e}function tT(e){const{orientation:t,vertical:r,horizontal:n}=e;return t?"vertical"===t?r:n:{}}var{defineMultiStyleConfig:rT,definePartsStyle:nT}=Yt(PA.keys),iT=nT({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),oT={"&[data-is-numeric=true]":{textAlign:"end"}},aT=nT((e=>{const{colorScheme:t}=e;return{th:{color:eT("gray.600","gray.400")(e),borderBottom:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e),...oT},td:{borderBottom:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e),...oT},caption:{color:eT("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}})),sT=nT((e=>{const{colorScheme:t}=e;return{th:{color:eT("gray.600","gray.400")(e),borderBottom:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e),...oT},td:{borderBottom:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e),...oT},caption:{color:eT("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:eT(`${t}.100`,`${t}.700`)(e)},td:{background:eT(`${t}.100`,`${t}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}})),cT=rT({baseStyle:iT,variants:{simple:aT,striped:sT,unstyled:{}},sizes:{sm:nT({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:nT({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:nT({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}});function lT(e,t,r){return Math.min(Math.max(e,r),t)}class uT extends Error{constructor(e){super(`Failed to parse color: "${e}"`)}}var dT=uT;function hT(e){if("string"!==typeof e)throw new dT(e);if("transparent"===e.trim().toLowerCase())return[0,0,0,0];let t=e.trim();t=wT.test(e)?function(e){const t=e.toLowerCase().trim(),r=pT[function(e){let t=5381,r=e.length;for(;r;)t=33*t^e.charCodeAt(--r);return(t>>>0)%2341}(t)];if(!r)throw new dT(e);return`#${r}`}(e):e;const r=gT.exec(t);if(r){const e=Array.from(r).slice(1);return[...e.slice(0,3).map((e=>parseInt(mT(e,2),16))),parseInt(mT(e[3]||"f",2),16)/255]}const n=vT.exec(t);if(n){const e=Array.from(n).slice(1);return[...e.slice(0,3).map((e=>parseInt(e,16))),parseInt(e[3]||"ff",16)/255]}const i=yT.exec(t);if(i){const e=Array.from(i).slice(1);return[...e.slice(0,3).map((e=>parseInt(e,10))),parseFloat(e[3]||"1")]}const o=bT.exec(t);if(o){const[t,r,n,i]=Array.from(o).slice(1).map(parseFloat);if(lT(0,100,r)!==r)throw new dT(e);if(lT(0,100,n)!==n)throw new dT(e);return[..._T(t,r,n),Number.isNaN(i)?1:i]}throw new dT(e)}const fT=e=>parseInt(e.replace(/_/g,""),36),pT="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce(((e,t)=>{const r=fT(t.substring(0,3)),n=fT(t.substring(3)).toString(16);let i="";for(let o=0;o<6-n.length;o++)i+="0";return e[r]=`${i}${n}`,e}),{});const mT=(e,t)=>Array.from(Array(t)).map((()=>e)).join(""),gT=new RegExp(`^#${mT("([a-f0-9])",3)}([a-f0-9])?$`,"i"),vT=new RegExp(`^#${mT("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),yT=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${mT(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),bT=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,wT=/^[a-z]+$/i,xT=e=>Math.round(255*e),_T=(e,t,r)=>{let n=r/100;if(0===t)return[n,n,n].map(xT);const i=(e%360+360)%360/60,o=(1-Math.abs(2*n-1))*(t/100),a=o*(1-Math.abs(i%2-1));let s=0,c=0,l=0;i>=0&&i<1?(s=o,c=a):i>=1&&i<2?(s=a,c=o):i>=2&&i<3?(c=o,l=a):i>=3&&i<4?(c=a,l=o):i>=4&&i<5?(s=a,l=o):i>=5&&i<6&&(s=o,l=a);const u=n-o/2;return[s+u,c+u,l+u].map(xT)};function ST(e,t,r,n){return`rgba(${lT(0,255,e).toFixed()}, ${lT(0,255,t).toFixed()}, ${lT(0,255,r).toFixed()}, ${parseFloat(lT(0,1,n).toFixed(3))})`}function kT(e,t){const[r,n,i,o]=hT(e);return ST(r,n,i,o-t)}var ET=(e,t,r)=>{const n=function(e,t,r,n,i){for(t=t.split?t.split("."):t,n=0;n{const t=lT(0,255,e).toString(16);return 1===t.length?`0${t}`:t};o(t),o(r),o(n),i<1&&o(Math.round(255*i))}(n),n}catch{return null!=r?r:"#000000"}},PT=e=>t=>{const r=(e=>{const[t,r,n]=hT(e);return(299*t+587*r+114*n)/1e3})(ET(t,e));return r<128?"dark":"light"},OT=(e,t)=>r=>kT(ET(r,e),1-t);function AT(e="1rem",t="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient(\n 45deg,\n ${t} 25%,\n transparent 25%,\n transparent 50%,\n ${t} 50%,\n ${t} 75%,\n transparent 75%,\n transparent\n )`,backgroundSize:`${e} ${e}`}}function TT(e){const t=`#${Math.floor(16777215*Math.random()).toString(16).padEnd(6,"0")}`;return e&&(r=e,0!==Object.keys(r).length)?e.string&&e.colors?function(e,t){let r=0;if(0===e.length)return t[0];for(let n=0;n>8*n&255).toString(16)}`.substr(-2)}return r}(e.string):e.colors&&!e.string?function(e){return e[Math.floor(Math.random()*e.length)]}(e.colors):t:t;var r}var jT=dt("tabs-color"),CT=dt("tabs-bg"),RT=dt("tabs-border-color"),{defineMultiStyleConfig:IT,definePartsStyle:MT}=Yt(OA.keys),LT=e=>{const{orientation:t}=e;return{display:"vertical"===t?"flex":"block"}},NT=e=>{const{isFitted:t}=e;return{flex:t?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}},DT=e=>{const{align:t="start",orientation:r}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[t],flexDirection:"vertical"===r?"column":"row"}},BT={p:4},zT=MT((e=>({root:LT(e),tab:NT(e),tablist:DT(e),tabpanel:BT}))),UT={sm:MT({tab:{py:1,px:4,fontSize:"sm"}}),md:MT({tab:{fontSize:"md",py:2,px:4}}),lg:MT({tab:{fontSize:"lg",py:3,px:4}})},FT=MT((e=>{const{colorScheme:t,orientation:r}=e,n="vertical"===r,i=n?"borderStart":"borderBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[n?"marginStart":"marginBottom"]:"-2px",_selected:{[jT.variable]:`colors.${t}.600`,_dark:{[jT.variable]:`colors.${t}.300`},borderColor:"currentColor"},_active:{[CT.variable]:"colors.gray.200",_dark:{[CT.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:jT.reference,bg:CT.reference}}})),$T=MT((e=>{const{colorScheme:t}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[RT.variable]:"transparent",_selected:{[jT.variable]:`colors.${t}.600`,[RT.variable]:"colors.white",_dark:{[jT.variable]:`colors.${t}.300`,[RT.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:RT.reference},color:jT.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}})),HT=MT((e=>{const{colorScheme:t}=e;return{tab:{border:"1px solid",borderColor:"inherit",[CT.variable]:"colors.gray.50",_dark:{[CT.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[CT.variable]:"colors.white",[jT.variable]:`colors.${t}.600`,_dark:{[CT.variable]:"colors.gray.800",[jT.variable]:`colors.${t}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:jT.reference,bg:CT.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}})),VT=MT((e=>{const{colorScheme:t,theme:r}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:ET(r,`${t}.700`),bg:ET(r,`${t}.100`)}}}})),qT=MT((e=>{const{colorScheme:t}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[jT.variable]:"colors.gray.600",_dark:{[jT.variable]:"inherit"},_selected:{[jT.variable]:"colors.white",[CT.variable]:`colors.${t}.600`,_dark:{[jT.variable]:"colors.gray.800",[CT.variable]:`colors.${t}.300`}},color:jT.reference,bg:CT.reference}}})),KT=IT({baseStyle:zT,sizes:UT,variants:{line:FT,enclosed:$T,"enclosed-colored":HT,"soft-rounded":VT,"solid-rounded":qT,unstyled:MT({})},defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),WT=function(e,t){const r={};for(const n of t)if(Array.isArray(n)){const[t,i]=n;r[t]=dt(`${e}-${t}`,i)}else r[n]=dt(`${e}-${n}`);return r}("badge",["bg","color","shadow"]),GT=e=>{const{colorScheme:t,theme:r}=e,n=OT(`${t}.500`,.6)(r);return{[WT.bg.variable]:`colors.${t}.500`,[WT.color.variable]:"colors.white",_dark:{[WT.bg.variable]:n,[WT.color.variable]:"colors.whiteAlpha.800"}}},YT=e=>{const{colorScheme:t,theme:r}=e,n=OT(`${t}.200`,.16)(r);return{[WT.bg.variable]:`colors.${t}.100`,[WT.color.variable]:`colors.${t}.800`,_dark:{[WT.bg.variable]:n,[WT.color.variable]:`colors.${t}.200`}}},ZT=e=>{const{colorScheme:t,theme:r}=e,n=OT(`${t}.200`,.8)(r);return{[WT.color.variable]:`colors.${t}.500`,_dark:{[WT.color.variable]:n},[WT.shadow.variable]:`inset 0 0 0px 1px ${WT.color.reference}`}},XT={baseStyle:{px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold",bg:WT.bg.reference,color:WT.color.reference,boxShadow:WT.shadow.reference},variants:{solid:GT,subtle:YT,outline:ZT},defaultProps:{variant:"subtle",colorScheme:"gray"}},{defineMultiStyleConfig:JT,definePartsStyle:QT}=Yt(AA.keys),ej=dt("tag-bg"),tj=dt("tag-color"),rj=dt("tag-shadow"),nj=dt("tag-min-height"),ij=dt("tag-min-width"),oj=dt("tag-font-size"),aj=dt("tag-padding-inline"),sj=QT({container:{fontWeight:"medium",lineHeight:1.2,outline:0,[tj.variable]:WT.color.reference,[ej.variable]:WT.bg.reference,[rj.variable]:WT.shadow.reference,color:tj.reference,bg:ej.reference,boxShadow:rj.reference,borderRadius:"md",minH:nj.reference,minW:ij.reference,fontSize:oj.reference,px:aj.reference,_focusVisible:{[rj.variable]:"shadows.outline"}},label:{lineHeight:1.2,overflow:"visible"},closeButton:{fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}}}),cj={sm:QT({container:{[nj.variable]:"sizes.5",[ij.variable]:"sizes.5",[oj.variable]:"fontSizes.xs",[aj.variable]:"space.2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:QT({container:{[nj.variable]:"sizes.6",[ij.variable]:"sizes.6",[oj.variable]:"fontSizes.sm",[aj.variable]:"space.2"}}),lg:QT({container:{[nj.variable]:"sizes.8",[ij.variable]:"sizes.8",[oj.variable]:"fontSizes.md",[aj.variable]:"space.3"}})},lj={subtle:QT((e=>{var t;return{container:null==(t=XT.variants)?void 0:t.subtle(e)}})),solid:QT((e=>{var t;return{container:null==(t=XT.variants)?void 0:t.solid(e)}})),outline:QT((e=>{var t;return{container:null==(t=XT.variants)?void 0:t.outline(e)}}))},uj=JT({variants:lj,baseStyle:sj,sizes:cj,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:dj,defineMultiStyleConfig:hj}=Yt(pA.keys),fj=dt("input-height"),pj=dt("input-font-size"),mj=dt("input-padding"),gj=dt("input-border-radius"),vj=dj({addon:{height:fj.reference,fontSize:pj.reference,px:mj.reference,borderRadius:gj.reference},field:{width:"100%",height:fj.reference,fontSize:pj.reference,px:mj.reference,borderRadius:gj.reference,minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),yj={lg:{[pj.variable]:"fontSizes.lg",[mj.variable]:"space.4",[gj.variable]:"radii.md",[fj.variable]:"sizes.12"},md:{[pj.variable]:"fontSizes.md",[mj.variable]:"space.4",[gj.variable]:"radii.md",[fj.variable]:"sizes.10"},sm:{[pj.variable]:"fontSizes.sm",[mj.variable]:"space.3",[gj.variable]:"radii.sm",[fj.variable]:"sizes.8"},xs:{[pj.variable]:"fontSizes.xs",[mj.variable]:"space.2",[gj.variable]:"radii.sm",[fj.variable]:"sizes.6"}},bj={lg:dj({field:yj.lg,group:yj.lg}),md:dj({field:yj.md,group:yj.md}),sm:dj({field:yj.sm,group:yj.sm}),xs:dj({field:yj.xs,group:yj.xs})};function wj(e){const{focusBorderColor:t,errorBorderColor:r}=e;return{focusBorderColor:t||eT("blue.500","blue.300")(e),errorBorderColor:r||eT("red.500","red.300")(e)}}var xj,_j,Sj,kj,Ej,Pj,Oj,Aj,Tj,jj,Cj,Rj=dj((e=>{const{theme:t}=e,{focusBorderColor:r,errorBorderColor:n}=wj(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:eT("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:ET(t,n),boxShadow:`0 0 0 1px ${ET(t,n)}`},_focusVisible:{zIndex:1,borderColor:ET(t,r),boxShadow:`0 0 0 1px ${ET(t,r)}`}},addon:{border:"1px solid",borderColor:eT("inherit","whiteAlpha.50")(e),bg:eT("gray.100","whiteAlpha.300")(e)}}})),Ij=dj((e=>{const{theme:t}=e,{focusBorderColor:r,errorBorderColor:n}=wj(e);return{field:{border:"2px solid",borderColor:"transparent",bg:eT("gray.100","whiteAlpha.50")(e),_hover:{bg:eT("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:ET(t,n)},_focusVisible:{bg:"transparent",borderColor:ET(t,r)}},addon:{border:"2px solid",borderColor:"transparent",bg:eT("gray.100","whiteAlpha.50")(e)}}})),Mj=dj((e=>{const{theme:t}=e,{focusBorderColor:r,errorBorderColor:n}=wj(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:ET(t,n),boxShadow:`0px 1px 0px 0px ${ET(t,n)}`},_focusVisible:{borderColor:ET(t,r),boxShadow:`0px 1px 0px 0px ${ET(t,r)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}})),Lj=hj({baseStyle:vj,sizes:bj,variants:{outline:Rj,filled:Ij,flushed:Mj,unstyled:dj({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}})},defaultProps:{size:"md",variant:"outline"}}),Nj={...null==(xj=Lj.baseStyle)?void 0:xj.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"},Dj={outline:e=>{var t,r;return null!=(r=null==(t=Lj.variants)?void 0:t.outline(e).field)?r:{}},flushed:e=>{var t,r;return null!=(r=null==(t=Lj.variants)?void 0:t.flushed(e).field)?r:{}},filled:e=>{var t,r;return null!=(r=null==(t=Lj.variants)?void 0:t.filled(e).field)?r:{}},unstyled:null!=(Sj=null==(_j=Lj.variants)?void 0:_j.unstyled.field)?Sj:{}},Bj={baseStyle:Nj,sizes:{xs:null!=(Ej=null==(kj=Lj.sizes)?void 0:kj.xs.field)?Ej:{},sm:null!=(Oj=null==(Pj=Lj.sizes)?void 0:Pj.sm.field)?Oj:{},md:null!=(Tj=null==(Aj=Lj.sizes)?void 0:Aj.md.field)?Tj:{},lg:null!=(Cj=null==(jj=Lj.sizes)?void 0:jj.lg.field)?Cj:{}},variants:Dj,defaultProps:{size:"md",variant:"outline"}},zj=IA("tooltip-bg"),Uj=IA("tooltip-fg"),Fj=IA("popper-arrow-bg"),$j={baseStyle:{bg:zj.reference,color:Uj.reference,[zj.variable]:"colors.gray.700",[Uj.variable]:"colors.whiteAlpha.900",_dark:{[zj.variable]:"colors.gray.300",[Uj.variable]:"colors.gray.900"},[Fj.variable]:zj.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"}},{defineMultiStyleConfig:Hj,definePartsStyle:Vj}=Yt(wA.keys),qj=e=>{const{colorScheme:t,theme:r,isIndeterminate:n,hasStripe:i}=e,o=eT(AT(),AT("1rem","rgba(0,0,0,0.1)"))(e),a=eT(`${t}.500`,`${t}.200`)(e),s=`linear-gradient(\n to right,\n transparent 0%,\n ${ET(r,a)} 50%,\n transparent 100%\n )`;return{...!n&&i&&o,...n?{bgImage:s}:{bgColor:a}}},Kj={lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"},Wj=e=>({bg:eT("gray.100","whiteAlpha.300")(e)}),Gj=e=>({transitionProperty:"common",transitionDuration:"slow",...qj(e)}),Yj=Vj((e=>({label:Kj,filledTrack:Gj(e),track:Wj(e)}))),Zj=Hj({sizes:{xs:Vj({track:{h:"1"}}),sm:Vj({track:{h:"2"}}),md:Vj({track:{h:"3"}}),lg:Vj({track:{h:"4"}})},baseStyle:Yj,defaultProps:{size:"md",colorScheme:"blue"}});function Xj(e,...t){return(e=>"function"===typeof e)(e)?e(...t):e}var Jj,Qj,eC,tC,rC,nC,iC,oC,aC,{definePartsStyle:sC,defineMultiStyleConfig:cC}=Yt(lA.keys),lC=dt("checkbox-size"),uC=e=>{const{colorScheme:t}=e;return{w:lC.reference,h:lC.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:eT(`${t}.500`,`${t}.200`)(e),borderColor:eT(`${t}.500`,`${t}.200`)(e),color:eT("white","gray.900")(e),_hover:{bg:eT(`${t}.600`,`${t}.300`)(e),borderColor:eT(`${t}.600`,`${t}.300`)(e)},_disabled:{borderColor:eT("gray.200","transparent")(e),bg:eT("gray.200","whiteAlpha.300")(e),color:eT("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:eT(`${t}.500`,`${t}.200`)(e),borderColor:eT(`${t}.500`,`${t}.200`)(e),color:eT("white","gray.900")(e)},_disabled:{bg:eT("gray.100","whiteAlpha.100")(e),borderColor:eT("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:eT("red.500","red.300")(e)}}},dC={_disabled:{cursor:"not-allowed"}},hC={userSelect:"none",_disabled:{opacity:.4}},fC={transitionProperty:"transform",transitionDuration:"normal"},pC=cC({baseStyle:sC((e=>({icon:fC,container:dC,control:Xj(uC,e),label:hC}))),sizes:{sm:sC({control:{[lC.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:sC({control:{[lC.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:sC({control:{[lC.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:mC,definePartsStyle:gC}=Yt(xA.keys),vC=e=>{var t;const r=null==(t=Xj(pC.baseStyle,e))?void 0:t.control;return{...r,borderRadius:"full",_checked:{...null==r?void 0:r._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}},yC=gC((e=>{var t,r,n,i;return{label:null==(r=(t=pC).baseStyle)?void 0:r.call(t,e).label,container:null==(i=(n=pC).baseStyle)?void 0:i.call(n,e).container,control:vC(e)}})),bC=mC({baseStyle:yC,sizes:{md:gC({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:gC({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:gC({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:wC,definePartsStyle:xC}=Yt(_A.keys),_C=dt("select-bg"),SC={paddingInlineEnd:"8"},kC=wC({baseStyle:xC({field:{...null==(Jj=Lj.baseStyle)?void 0:Jj.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:_C.reference,[_C.variable]:"colors.white",_dark:{[_C.variable]:"colors.gray.700"},"> option, > optgroup":{bg:_C.reference}},icon:{width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}}}),sizes:{lg:{...null==(Qj=Lj.sizes)?void 0:Qj.lg,field:{...null==(eC=Lj.sizes)?void 0:eC.lg.field,...SC}},md:{...null==(tC=Lj.sizes)?void 0:tC.md,field:{...null==(rC=Lj.sizes)?void 0:rC.md.field,...SC}},sm:{...null==(nC=Lj.sizes)?void 0:nC.sm,field:{...null==(iC=Lj.sizes)?void 0:iC.sm.field,...SC}},xs:{...null==(oC=Lj.sizes)?void 0:oC.xs,field:{...null==(aC=Lj.sizes)?void 0:aC.xs.field,...SC},icon:{insetEnd:"1"}}},variants:Lj.variants,defaultProps:Lj.defaultProps}),EC=dt("skeleton-start-color"),PC=dt("skeleton-end-color"),OC={baseStyle:{[EC.variable]:"colors.gray.100",[PC.variable]:"colors.gray.400",_dark:{[EC.variable]:"colors.gray.800",[PC.variable]:"colors.gray.600"},background:EC.reference,borderColor:PC.reference,opacity:.7,borderRadius:"sm"}},AC=dt("skip-link-bg"),TC={baseStyle:{borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[AC.variable]:"colors.white",_dark:{[AC.variable]:"colors.gray.700"},bg:AC.reference}}},{defineMultiStyleConfig:jC,definePartsStyle:CC}=Yt(SA.keys),RC=dt("slider-thumb-size"),IC=dt("slider-track-size"),MC=dt("slider-bg"),LC=e=>{const{orientation:t}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...tT({orientation:t,vertical:{h:"100%"},horizontal:{w:"100%"}})}},NC=e=>({...tT({orientation:e.orientation,horizontal:{h:IC.reference},vertical:{w:IC.reference}}),overflow:"hidden",borderRadius:"sm",[MC.variable]:"colors.gray.200",_dark:{[MC.variable]:"colors.whiteAlpha.200"},_disabled:{[MC.variable]:"colors.gray.300",_dark:{[MC.variable]:"colors.whiteAlpha.300"}},bg:MC.reference}),DC=e=>{const{orientation:t}=e;return{...tT({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:RC.reference,h:RC.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}},BC=e=>{const{colorScheme:t}=e;return{width:"inherit",height:"inherit",[MC.variable]:`colors.${t}.500`,_dark:{[MC.variable]:`colors.${t}.200`},bg:MC.reference}},zC=jC({baseStyle:CC((e=>({container:LC(e),track:NC(e),thumb:DC(e),filledTrack:BC(e)}))),sizes:{lg:CC({container:{[RC.variable]:"sizes.4",[IC.variable]:"sizes.1"}}),md:CC({container:{[RC.variable]:"sizes.3.5",[IC.variable]:"sizes.1"}}),sm:CC({container:{[RC.variable]:"sizes.2.5",[IC.variable]:"sizes.0.5"}})},defaultProps:{size:"md",colorScheme:"blue"}}),UC=IA("spinner-size"),FC={baseStyle:{width:[UC.reference],height:[UC.reference]},sizes:{xs:{[UC.variable]:"sizes.3"},sm:{[UC.variable]:"sizes.4"},md:{[UC.variable]:"sizes.6"},lg:{[UC.variable]:"sizes.8"},xl:{[UC.variable]:"sizes.12"}},defaultProps:{size:"md"}},{defineMultiStyleConfig:$C,definePartsStyle:HC}=Yt(kA.keys),VC=$C({baseStyle:HC({container:{},label:{fontWeight:"medium"},helpText:{opacity:.8,marginBottom:"2"},number:{verticalAlign:"baseline",fontWeight:"semibold"},icon:{marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"}}),sizes:{md:HC({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},defaultProps:{size:"md"}}),qC=dt("kbd-bg"),KC={baseStyle:{[qC.variable]:"colors.gray.100",_dark:{[qC.variable]:"colors.whiteAlpha.100"},bg:qC.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}},WC={baseStyle:{transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}}},{defineMultiStyleConfig:GC,definePartsStyle:YC}=Yt(mA.keys),ZC=GC({baseStyle:YC({icon:{marginEnd:"2",display:"inline",verticalAlign:"text-bottom"}})}),{defineMultiStyleConfig:XC,definePartsStyle:JC}=Yt(gA.keys),QC=dt("menu-bg"),eR=dt("menu-shadow"),tR=XC({baseStyle:JC({button:{transitionProperty:"common",transitionDuration:"normal"},list:{[QC.variable]:"#fff",[eR.variable]:"shadows.sm",_dark:{[QC.variable]:"colors.gray.700",[eR.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:QC.reference,boxShadow:eR.reference},item:{py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[QC.variable]:"colors.gray.100",_dark:{[QC.variable]:"colors.whiteAlpha.100"}},_active:{[QC.variable]:"colors.gray.200",_dark:{[QC.variable]:"colors.whiteAlpha.200"}},_expanded:{[QC.variable]:"colors.gray.100",_dark:{[QC.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:QC.reference},groupTitle:{mx:4,my:2,fontWeight:"semibold",fontSize:"sm"},icon:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},command:{opacity:.6},divider:{border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6}})}),{defineMultiStyleConfig:rR,definePartsStyle:nR}=Yt(vA.keys),iR=dt("modal-bg"),oR=dt("modal-shadow"),aR={bg:"blackAlpha.600",zIndex:"modal"},sR=e=>{const{isCentered:t,scrollBehavior:r}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:t?"center":"flex-start",overflow:"inside"===r?"hidden":"auto",overscrollBehaviorY:"none"}},cR=e=>{const{isCentered:t,scrollBehavior:r}=e;return{borderRadius:"md",color:"inherit",my:t?"auto":"16",mx:t?"auto":void 0,zIndex:"modal",maxH:"inside"===r?"calc(100% - 7.5rem)":void 0,[iR.variable]:"colors.white",[oR.variable]:"shadows.lg",_dark:{[iR.variable]:"colors.gray.700",[oR.variable]:"shadows.dark-lg"},bg:iR.reference,boxShadow:oR.reference}},lR={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},uR={position:"absolute",top:"2",insetEnd:"3"},dR=e=>{const{scrollBehavior:t}=e;return{px:"6",py:"2",flex:"1",overflow:"inside"===t?"auto":void 0}},hR={px:"6",py:"4"};function fR(e){return nR("full"===e?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var pR=rR({baseStyle:nR((e=>({overlay:aR,dialogContainer:Xj(sR,e),dialog:Xj(cR,e),header:lR,closeButton:uR,body:Xj(dR,e),footer:hR}))),sizes:{xs:fR("xs"),sm:fR("sm"),md:fR("md"),lg:fR("lg"),xl:fR("xl"),"2xl":fR("2xl"),"3xl":fR("3xl"),"4xl":fR("4xl"),"5xl":fR("5xl"),"6xl":fR("6xl"),full:fR("full")},defaultProps:{size:"md"}}),{defineMultiStyleConfig:mR,definePartsStyle:gR}=Yt(yA.keys),vR=IA("number-input-stepper-width"),yR=IA("number-input-input-padding"),bR=$A(vR).add("0.5rem").toString(),wR=IA("number-input-bg"),xR=IA("number-input-color"),_R=IA("number-input-border-color"),SR={[vR.variable]:"sizes.6",[yR.variable]:bR},kR=e=>{var t,r;return null!=(r=null==(t=Xj(Lj.baseStyle,e))?void 0:t.field)?r:{}},ER={width:vR.reference},PR={borderStart:"1px solid",borderStartColor:_R.reference,color:xR.reference,bg:wR.reference,[xR.variable]:"colors.chakra-body-text",[_R.variable]:"colors.chakra-border-color",_dark:{[xR.variable]:"colors.whiteAlpha.800",[_R.variable]:"colors.whiteAlpha.300"},_active:{[wR.variable]:"colors.gray.200",_dark:{[wR.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}},OR=gR((e=>{var t;return{root:SR,field:null!=(t=Xj(kR,e))?t:{},stepperGroup:ER,stepper:PR}}));function AR(e){var t,r,n;const i=null==(t=Lj.sizes)?void 0:t[e],o={lg:"md",md:"md",sm:"sm",xs:"sm"},a=null!=(n=null==(r=i.field)?void 0:r.fontSize)?n:"md",s=qO.fontSizes[a];return gR({field:{...i.field,paddingInlineEnd:yR.reference,verticalAlign:"top"},stepper:{fontSize:$A(s).multiply(.75).toString(),_first:{borderTopEndRadius:o[e]},_last:{borderBottomEndRadius:o[e],mt:"-1px",borderTopWidth:1}}})}var TR,jR,CR,RR=mR({baseStyle:OR,sizes:{xs:AR("xs"),sm:AR("sm"),md:AR("md"),lg:AR("lg")},variants:Lj.variants,defaultProps:Lj.defaultProps}),IR={...null==(TR=Lj.baseStyle)?void 0:TR.field,textAlign:"center"},MR={lg:{fontSize:"lg",w:12,h:12,borderRadius:"md"},md:{fontSize:"md",w:10,h:10,borderRadius:"md"},sm:{fontSize:"sm",w:8,h:8,borderRadius:"sm"},xs:{fontSize:"xs",w:6,h:6,borderRadius:"sm"}},LR={outline:e=>{var t,r,n;return null!=(n=null==(r=Xj(null==(t=Lj.variants)?void 0:t.outline,e))?void 0:r.field)?n:{}},flushed:e=>{var t,r,n;return null!=(n=null==(r=Xj(null==(t=Lj.variants)?void 0:t.flushed,e))?void 0:r.field)?n:{}},filled:e=>{var t,r,n;return null!=(n=null==(r=Xj(null==(t=Lj.variants)?void 0:t.filled,e))?void 0:r.field)?n:{}},unstyled:null!=(CR=null==(jR=Lj.variants)?void 0:jR.unstyled.field)?CR:{}},NR={baseStyle:IR,sizes:MR,variants:LR,defaultProps:Lj.defaultProps},{defineMultiStyleConfig:DR,definePartsStyle:BR}=Yt(bA.keys),zR=IA("popper-bg"),UR=IA("popper-arrow-bg"),FR=IA("popper-arrow-shadow-color"),$R=DR({baseStyle:BR({popper:{zIndex:10},content:{[zR.variable]:"colors.white",bg:zR.reference,[UR.variable]:zR.reference,[FR.variable]:"colors.gray.200",_dark:{[zR.variable]:"colors.gray.700",[FR.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}},header:{px:3,py:2,borderBottomWidth:"1px"},body:{px:3,py:2},footer:{px:3,py:2,borderTopWidth:"1px"},closeButton:{position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2}})}),{definePartsStyle:HR,defineMultiStyleConfig:VR}=Yt(uA.keys),qR=dt("drawer-bg"),KR=dt("drawer-box-shadow");function WR(e){return HR("full"===e?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var GR={bg:"blackAlpha.600",zIndex:"modal"},YR={display:"flex",zIndex:"modal",justifyContent:"center"},ZR=e=>{const{isFullHeight:t}=e;return{...t&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[qR.variable]:"colors.white",[KR.variable]:"shadows.lg",_dark:{[qR.variable]:"colors.gray.700",[KR.variable]:"shadows.dark-lg"},bg:qR.reference,boxShadow:KR.reference}},XR={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},JR={position:"absolute",top:"2",insetEnd:"3"},QR={px:"6",py:"2",flex:"1",overflow:"auto"},eI={px:"6",py:"4"},tI=VR({baseStyle:HR((e=>({overlay:GR,dialogContainer:YR,dialog:Xj(ZR,e),header:XR,closeButton:JR,body:QR,footer:eI}))),sizes:{xs:WR("xs"),sm:WR("md"),md:WR("lg"),lg:WR("2xl"),xl:WR("4xl"),full:WR("full")},defaultProps:{size:"xs"}}),{definePartsStyle:rI,defineMultiStyleConfig:nI}=Yt(dA.keys),iI=nI({baseStyle:rI({preview:{borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"},input:{borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},textarea:{borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}})}),{definePartsStyle:oI,defineMultiStyleConfig:aI}=Yt(hA.keys),sI=dt("form-control-color"),cI=aI({baseStyle:oI({container:{width:"100%",position:"relative"},requiredIndicator:{marginStart:"1",[sI.variable]:"colors.red.500",_dark:{[sI.variable]:"colors.red.300"},color:sI.reference},helperText:{mt:"2",[sI.variable]:"colors.gray.600",_dark:{[sI.variable]:"colors.whiteAlpha.600"},color:sI.reference,lineHeight:"normal",fontSize:"sm"}})}),{definePartsStyle:lI,defineMultiStyleConfig:uI}=Yt(fA.keys),dI=dt("form-error-color"),hI=uI({baseStyle:lI({text:{[dI.variable]:"colors.red.500",_dark:{[dI.variable]:"colors.red.300"},color:dI.reference,mt:"2",fontSize:"sm",lineHeight:"normal"},icon:{marginEnd:"0.5em",[dI.variable]:"colors.red.500",_dark:{[dI.variable]:"colors.red.300"},color:dI.reference}})}),fI={baseStyle:{fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}}},pI={baseStyle:{fontFamily:"heading",fontWeight:"bold"},sizes:{"4xl":{fontSize:["6xl",null,"7xl"],lineHeight:1},"3xl":{fontSize:["5xl",null,"6xl"],lineHeight:1},"2xl":{fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]},xl:{fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]},lg:{fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]},md:{fontSize:"xl",lineHeight:1.2},sm:{fontSize:"md",lineHeight:1.2},xs:{fontSize:"sm",lineHeight:1.2}},defaultProps:{size:"xl"}},{defineMultiStyleConfig:mI,definePartsStyle:gI}=Yt(cA.keys),vI=dt("breadcrumb-link-decor"),yI=mI({baseStyle:gI({link:{transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",outline:"none",color:"inherit",textDecoration:vI.reference,[vI.variable]:"none","&:not([aria-current=page])":{cursor:"pointer",_hover:{[vI.variable]:"underline"},_focusVisible:{boxShadow:"outline"}}}})}),bI=e=>{const{colorScheme:t,theme:r}=e;if("gray"===t)return{color:eT("gray.800","whiteAlpha.900")(e),_hover:{bg:eT("gray.100","whiteAlpha.200")(e)},_active:{bg:eT("gray.200","whiteAlpha.300")(e)}};const n=OT(`${t}.200`,.12)(r),i=OT(`${t}.200`,.24)(r);return{color:eT(`${t}.600`,`${t}.200`)(e),bg:"transparent",_hover:{bg:eT(`${t}.50`,n)(e)},_active:{bg:eT(`${t}.100`,i)(e)}}},wI=e=>{const{colorScheme:t}=e,r=eT("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:"gray"===t?r:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...Xj(bI,e)}},xI={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},_I=e=>{var t;const{colorScheme:r}=e;if("gray"===r){const t=eT("gray.100","whiteAlpha.200")(e);return{bg:t,color:eT("gray.800","whiteAlpha.900")(e),_hover:{bg:eT("gray.200","whiteAlpha.300")(e),_disabled:{bg:t}},_active:{bg:eT("gray.300","whiteAlpha.400")(e)}}}const{bg:n=`${r}.500`,color:i="white",hoverBg:o=`${r}.600`,activeBg:a=`${r}.700`}=null!=(t=xI[r])?t:{},s=eT(n,`${r}.200`)(e);return{bg:s,color:eT(i,"gray.800")(e),_hover:{bg:eT(o,`${r}.300`)(e),_disabled:{bg:s}},_active:{bg:eT(a,`${r}.400`)(e)}}},SI=e=>{const{colorScheme:t}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:eT(`${t}.500`,`${t}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:eT(`${t}.700`,`${t}.500`)(e)}}},kI={baseStyle:{lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}},variants:{ghost:bI,outline:wI,solid:_I,link:SI,unstyled:{bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"}},sizes:{lg:{h:"12",minW:"12",fontSize:"lg",px:"6"},md:{h:"10",minW:"10",fontSize:"md",px:"4"},sm:{h:"8",minW:"8",fontSize:"sm",px:"3"},xs:{h:"6",minW:"6",fontSize:"xs",px:"2"}},defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}},{definePartsStyle:EI,defineMultiStyleConfig:PI}=Yt(TA.keys),OI=dt("card-bg"),AI=dt("card-padding"),TI=dt("card-shadow"),jI=dt("card-radius"),CI=dt("card-border-width","0"),RI=dt("card-border-color"),II=EI({container:{[OI.variable]:"colors.chakra-body-bg",backgroundColor:OI.reference,boxShadow:TI.reference,borderRadius:jI.reference,color:"chakra-body-text",borderWidth:CI.reference,borderColor:RI.reference},body:{padding:AI.reference,flex:"1 1 0%"},header:{padding:AI.reference},footer:{padding:AI.reference}}),MI={sm:EI({container:{[jI.variable]:"radii.base",[AI.variable]:"space.3"}}),md:EI({container:{[jI.variable]:"radii.md",[AI.variable]:"space.5"}}),lg:EI({container:{[jI.variable]:"radii.xl",[AI.variable]:"space.7"}})},LI=PI({baseStyle:II,variants:{elevated:EI({container:{[TI.variable]:"shadows.base",_dark:{[OI.variable]:"colors.gray.700"}}}),outline:EI({container:{[CI.variable]:"1px",[RI.variable]:"colors.chakra-border-color"}}),filled:EI({container:{[OI.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[AI.variable]:0},header:{[AI.variable]:0},footer:{[AI.variable]:0}}},sizes:MI,defaultProps:{variant:"elevated",size:"md"}}),NI=IA("close-button-size"),DI=IA("close-button-bg"),BI={baseStyle:{w:[NI.reference],h:[NI.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[DI.variable]:"colors.blackAlpha.100",_dark:{[DI.variable]:"colors.whiteAlpha.100"}},_active:{[DI.variable]:"colors.blackAlpha.200",_dark:{[DI.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:DI.reference},sizes:{lg:{[NI.variable]:"sizes.10",fontSize:"md"},md:{[NI.variable]:"sizes.8",fontSize:"xs"},sm:{[NI.variable]:"sizes.6",fontSize:"2xs"}},defaultProps:{size:"md"}},{variants:zI,defaultProps:UI}=XT,FI={baseStyle:{fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm",bg:WT.bg.reference,color:WT.color.reference,boxShadow:WT.shadow.reference},variants:zI,defaultProps:UI},$I={baseStyle:{w:"100%",mx:"auto",maxW:"prose",px:"4"}},HI={baseStyle:{opacity:.6,borderColor:"inherit"},variants:{solid:{borderStyle:"solid"},dashed:{borderStyle:"dashed"}},defaultProps:{variant:"solid"}},{definePartsStyle:VI,defineMultiStyleConfig:qI}=Yt(oA.keys),KI=qI({baseStyle:VI({container:{borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}},button:{transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"},panel:{pt:"2",px:"4",pb:"5"},icon:{fontSize:"1.25em"}})}),{definePartsStyle:WI,defineMultiStyleConfig:GI}=Yt(aA.keys),YI=dt("alert-fg"),ZI=dt("alert-bg"),XI=WI({container:{bg:ZI.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:YI.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:YI.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function JI(e){const{theme:t,colorScheme:r}=e;return{light:`colors.${r}.100`,dark:OT(`${r}.200`,.16)(t)}}var QI=WI((e=>{const{colorScheme:t}=e,r=JI(e);return{container:{[YI.variable]:`colors.${t}.600`,[ZI.variable]:r.light,_dark:{[YI.variable]:`colors.${t}.200`,[ZI.variable]:r.dark}}}})),eM=WI((e=>{const{colorScheme:t}=e,r=JI(e);return{container:{[YI.variable]:`colors.${t}.600`,[ZI.variable]:r.light,_dark:{[YI.variable]:`colors.${t}.200`,[ZI.variable]:r.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:YI.reference}}})),tM=WI((e=>{const{colorScheme:t}=e,r=JI(e);return{container:{[YI.variable]:`colors.${t}.600`,[ZI.variable]:r.light,_dark:{[YI.variable]:`colors.${t}.200`,[ZI.variable]:r.dark},pt:"2",borderTopWidth:"4px",borderTopColor:YI.reference}}})),rM=WI((e=>{const{colorScheme:t}=e;return{container:{[YI.variable]:"colors.white",[ZI.variable]:`colors.${t}.600`,_dark:{[YI.variable]:"colors.gray.900",[ZI.variable]:`colors.${t}.200`},color:YI.reference}}})),nM=GI({baseStyle:XI,variants:{subtle:QI,"left-accent":eM,"top-accent":tM,solid:rM},defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:iM,defineMultiStyleConfig:oM}=Yt(sA.keys),aM=dt("avatar-border-color"),sM=dt("avatar-bg"),cM=dt("avatar-font-size"),lM=dt("avatar-size"),uM={borderRadius:"full",border:"0.2em solid",borderColor:aM.reference,[aM.variable]:"white",_dark:{[aM.variable]:"colors.gray.800"}},dM={bg:sM.reference,fontSize:cM.reference,width:lM.reference,height:lM.reference,lineHeight:"1",[sM.variable]:"colors.gray.200",_dark:{[sM.variable]:"colors.whiteAlpha.400"}},hM=e=>{const{name:t,theme:r}=e,n=t?TT({string:t}):"colors.gray.400",i=(e=>t=>"dark"===PT(e)(t))(n)(r);let o="white";return i||(o="gray.800"),{bg:sM.reference,fontSize:cM.reference,color:o,borderColor:aM.reference,verticalAlign:"top",width:lM.reference,height:lM.reference,"&:not([data-loaded])":{[sM.variable]:n},[aM.variable]:"colors.white",_dark:{[aM.variable]:"colors.gray.800"}}},fM={fontSize:cM.reference,lineHeight:"1"};function pM(e){const t="100%"!==e?WO[e]:void 0;return iM({container:{[lM.variable]:null!=t?t:e,[cM.variable]:`calc(${null!=t?t:e} / 2.5)`},excessLabel:{[lM.variable]:null!=t?t:e,[cM.variable]:`calc(${null!=t?t:e} / 2.5)`}})}var mM={Accordion:KI,Alert:nM,Avatar:oM({baseStyle:iM((e=>({badge:Xj(uM,e),excessLabel:Xj(dM,e),container:Xj(hM,e),label:fM}))),sizes:{"2xs":pM(4),xs:pM(6),sm:pM(8),md:pM(12),lg:pM(16),xl:pM(24),"2xl":pM(32),full:pM("100%")},defaultProps:{size:"md"}}),Badge:XT,Breadcrumb:yI,Button:kI,Checkbox:pC,CloseButton:BI,Code:FI,Container:$I,Divider:HI,Drawer:tI,Editable:iI,Form:cI,FormError:hI,FormLabel:fI,Heading:pI,Input:Lj,Kbd:KC,Link:WC,List:ZC,Menu:tR,Modal:pR,NumberInput:RR,PinInput:NR,Popover:$R,Progress:Zj,Radio:bC,Select:kC,Skeleton:OC,SkipLink:TC,Slider:zC,Spinner:FC,Stat:VC,Switch:QA,Table:cT,Tabs:KT,Tag:uj,Textarea:Bj,Tooltip:$j,Card:LI,Stepper:nA},gM={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-inverse-text":{_light:"white",_dark:"gray.800"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-subtle-text":{_light:"gray.600",_dark:"gray.400"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},vM={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color"}}},yM={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},bM={semanticTokens:gM,direction:"ltr",...GO,components:mM,styles:vM,config:yM},wM={semanticTokens:gM,direction:"ltr",components:{},...GO,styles:vM,config:yM},xM=(e,t)=>e.find((e=>e.id===t));function _M(e,t){const r=SM(e,t);return{position:r,index:r?e[r].findIndex((e=>e.id===t)):-1}}function SM(e,t){for(const[r,n]of Object.entries(e))if(xM(n,t))return r}function kM(e){return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:"top"===e||"bottom"===e?"0 auto":void 0,top:e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,bottom:e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,right:e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",left:e.includes("right")?void 0:"env(safe-area-inset-left, 0px)"}}function EM(e,r=[]){const n=(0,t.useRef)(e);return(0,t.useEffect)((()=>{n.current=e})),(0,t.useCallback)(((...e)=>{var t;return null==(t=n.current)?void 0:t.call(n,...e)}),r)}function PM(e,r){const n=(0,t.useRef)(!1),i=(0,t.useRef)(!1);(0,t.useEffect)((()=>{if(n.current&&i.current)return e();i.current=!0}),r),(0,t.useEffect)((()=>(n.current=!0,()=>{n.current=!1})),[])}const OM=(0,t.createContext)(null);function AM(){const e=(0,t.useContext)(OM);if(null===e)return[!0,null];const{isPresent:r,onExitComplete:n,register:i}=e,o=(0,t.useId)();(0,t.useEffect)((()=>i(o)),[]);return!r&&n?[!1,()=>n&&n(o)]:[!0]}function TM(){return function(e){return null===e||e.isPresent}((0,t.useContext)(OM))}const jM=(0,t.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),CM=(0,t.createContext)({}),RM="undefined"!==typeof document,IM=RM?t.useLayoutEffect:t.useEffect,MM=(0,t.createContext)({strict:!1});function LM(e){return"object"===typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}function NM(e){return"string"===typeof e||Array.isArray(e)}function DM(e){return"object"===typeof e&&"function"===typeof e.start}const BM=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],zM=["initial",...BM];function UM(e){return DM(e.animate)||zM.some((t=>NM(e[t])))}function FM(e){return Boolean(UM(e)||e.variants)}function $M(e){const{initial:r,animate:n}=function(e,t){if(UM(e)){const{initial:t,animate:r}=e;return{initial:!1===t||NM(t)?t:void 0,animate:NM(r)?r:void 0}}return!1!==e.inherit?t:{}}(e,(0,t.useContext)(CM));return(0,t.useMemo)((()=>({initial:r,animate:n})),[HM(r),HM(n)])}function HM(e){return Array.isArray(e)?e.join(" "):e}const VM={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},qM={};for(const r in VM)qM[r]={isEnabled:e=>VM[r].some((t=>!!e[t]))};const KM=(0,t.createContext)({}),WM=(0,t.createContext)({}),GM=Symbol.for("motionComponentSymbol");function YM({preloadedFeatures:e,createVisualElement:r,useRender:n,useVisualState:i,Component:o}){e&&function(e){for(const t in e)qM[t]={...qM[t],...e[t]}}(e);const a=(0,t.forwardRef)((function(a,s){let c;const l={...(0,t.useContext)(jM),...a,layoutId:ZM(a)},{isStatic:u}=l,d=$M(a),h=i(a,u);if(!u&&RM){d.visualElement=function(e,r,n,i){const{visualElement:o}=(0,t.useContext)(CM),a=(0,t.useContext)(MM),s=(0,t.useContext)(OM),c=(0,t.useContext)(jM).reducedMotion,l=(0,t.useRef)();i=i||a.renderer,!l.current&&i&&(l.current=i(e,{visualState:r,parent:o,props:n,presenceContext:s,blockInitialAnimation:!!s&&!1===s.initial,reducedMotionConfig:c}));const u=l.current;(0,t.useInsertionEffect)((()=>{u&&u.update(n,s)}));const d=(0,t.useRef)(Boolean(window.HandoffAppearAnimations));return IM((()=>{u&&(u.render(),d.current&&u.animationState&&u.animationState.animateChanges())})),(0,t.useEffect)((()=>{u&&(u.updateFeatures(),!d.current&&u.animationState&&u.animationState.animateChanges(),window.HandoffAppearAnimations=void 0,d.current=!1)})),u}(o,h,l,r);const n=(0,t.useContext)(WM),i=(0,t.useContext)(MM).strict;d.visualElement&&(c=d.visualElement.loadFeatures(l,i,e,n))}return t.createElement(CM.Provider,{value:d},c&&d.visualElement?t.createElement(c,{visualElement:d.visualElement,...l}):null,n(o,a,function(e,r,n){return(0,t.useCallback)((t=>{t&&e.mount&&e.mount(t),r&&(t?r.mount(t):r.unmount()),n&&("function"===typeof n?n(t):LM(n)&&(n.current=t))}),[r])}(h,d.visualElement,s),h,u,d.visualElement))}));return a[GM]=o,a}function ZM({layoutId:e}){const r=(0,t.useContext)(KM).id;return r&&void 0!==e?r+"-"+e:e}function XM(e){function t(t,r={}){return YM(e(t,r))}if("undefined"===typeof Proxy)return t;const r=new Map;return new Proxy(t,{get:(e,n)=>(r.has(n)||r.set(n,t(n)),r.get(n))})}const JM=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function QM(e){return"string"===typeof e&&!e.includes("-")&&!!(JM.indexOf(e)>-1||/[A-Z]/.test(e))}const eL={};const tL=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],rL=new Set(tL);function nL(e,{layout:t,layoutId:r}){return rL.has(e)||e.startsWith("origin")||(t||void 0!==r)&&(!!eL[e]||"opacity"===e)}const iL=e=>Boolean(e&&e.getVelocity),oL={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},aL=tL.length;const sL=e=>t=>"string"===typeof t&&t.startsWith(e),cL=sL("--"),lL=sL("var(--"),uL=(e,t)=>t&&"number"===typeof e?t.transform(e):e,dL=(e,t,r)=>Math.min(Math.max(r,e),t),hL={test:e=>"number"===typeof e,parse:parseFloat,transform:e=>e},fL={...hL,transform:e=>dL(0,1,e)},pL={...hL,default:1},mL=e=>Math.round(1e5*e)/1e5,gL=/(-)?([\d]*\.?[\d])+/g,vL=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,yL=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function bL(e){return"string"===typeof e}const wL=e=>({test:t=>bL(t)&&t.endsWith(e)&&1===t.split(" ").length,parse:parseFloat,transform:t=>`${t}${e}`}),xL=wL("deg"),_L=wL("%"),SL=wL("px"),kL=wL("vh"),EL=wL("vw"),PL={..._L,parse:e=>_L.parse(e)/100,transform:e=>_L.transform(100*e)},OL={...hL,transform:Math.round},AL={borderWidth:SL,borderTopWidth:SL,borderRightWidth:SL,borderBottomWidth:SL,borderLeftWidth:SL,borderRadius:SL,radius:SL,borderTopLeftRadius:SL,borderTopRightRadius:SL,borderBottomRightRadius:SL,borderBottomLeftRadius:SL,width:SL,maxWidth:SL,height:SL,maxHeight:SL,size:SL,top:SL,right:SL,bottom:SL,left:SL,padding:SL,paddingTop:SL,paddingRight:SL,paddingBottom:SL,paddingLeft:SL,margin:SL,marginTop:SL,marginRight:SL,marginBottom:SL,marginLeft:SL,rotate:xL,rotateX:xL,rotateY:xL,rotateZ:xL,scale:pL,scaleX:pL,scaleY:pL,scaleZ:pL,skew:xL,skewX:xL,skewY:xL,distance:SL,translateX:SL,translateY:SL,translateZ:SL,x:SL,y:SL,z:SL,perspective:SL,transformPerspective:SL,opacity:fL,originX:PL,originY:PL,originZ:SL,zIndex:OL,fillOpacity:fL,strokeOpacity:fL,numOctaves:OL};function TL(e,t,r,n){const{style:i,vars:o,transform:a,transformOrigin:s}=e;let c=!1,l=!1,u=!0;for(const d in t){const e=t[d];if(cL(d)){o[d]=e;continue}const r=AL[d],n=uL(e,r);if(rL.has(d)){if(c=!0,a[d]=n,!u)continue;e!==(r.default||0)&&(u=!1)}else d.startsWith("origin")?(l=!0,s[d]=n):i[d]=n}if(t.transform||(c||n?i.transform=function(e,{enableHardwareAcceleration:t=!0,allowTransformNone:r=!0},n,i){let o="";for(let a=0;a({style:{},transform:{},transformOrigin:{},vars:{}});function CL(e,t,r){for(const n in t)iL(t[n])||nL(n,r)||(e[n]=t[n])}function RL(e,r,n){const i={};return CL(i,e.style||{},e),Object.assign(i,function({transformTemplate:e},r,n){return(0,t.useMemo)((()=>{const t=jL();return TL(t,r,{enableHardwareAcceleration:!n},e),Object.assign({},t.vars,t.style)}),[r])}(e,r,n)),e.transformValues?e.transformValues(i):i}function IL(e,t,r){const n={},i=RL(e,t,r);return e.drag&&!1!==e.dragListener&&(n.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=!0===e.drag?"none":"pan-"+("x"===e.drag?"y":"x")),void 0===e.tabIndex&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=i,n}const ML=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function LL(e){return e.startsWith("while")||e.startsWith("drag")&&"draggable"!==e||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||ML.has(e)}let NL=e=>!LL(e);try{(DL=require("@emotion/is-prop-valid").default)&&(NL=e=>e.startsWith("on")?!LL(e):DL(e))}catch(Nn){}var DL;function BL(e,t,r){return"string"===typeof e?e:SL.transform(t+r*e)}const zL={offset:"stroke-dashoffset",array:"stroke-dasharray"},UL={offset:"strokeDashoffset",array:"strokeDasharray"};function FL(e,{attrX:t,attrY:r,attrScale:n,originX:i,originY:o,pathLength:a,pathSpacing:s=1,pathOffset:c=0,...l},u,d,h){if(TL(e,l,u,h),d)return void(e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox));e.attrs=e.style,e.style={};const{attrs:f,style:p,dimensions:m}=e;f.transform&&(m&&(p.transform=f.transform),delete f.transform),m&&(void 0!==i||void 0!==o||p.transform)&&(p.transformOrigin=function(e,t,r){return`${BL(t,e.x,e.width)} ${BL(r,e.y,e.height)}`}(m,void 0!==i?i:.5,void 0!==o?o:.5)),void 0!==t&&(f.x=t),void 0!==r&&(f.y=r),void 0!==n&&(f.scale=n),void 0!==a&&function(e,t,r=1,n=0,i=!0){e.pathLength=1;const o=i?zL:UL;e[o.offset]=SL.transform(-n);const a=SL.transform(t),s=SL.transform(r);e[o.array]=`${a} ${s}`}(f,a,s,c,!1)}const $L=()=>({...jL(),attrs:{}}),HL=e=>"string"===typeof e&&"svg"===e.toLowerCase();function VL(e,r,n,i){const o=(0,t.useMemo)((()=>{const t=$L();return FL(t,r,{enableHardwareAcceleration:!1},HL(i),e.transformTemplate),{...t.attrs,style:{...t.style}}}),[r]);if(e.style){const t={};CL(t,e.style,e),o.style={...t,...o.style}}return o}function qL(e=!1){return(r,n,i,{latestValues:o},a)=>{const s=(QM(r)?VL:IL)(n,o,a,r),c=function(e,t,r){const n={};for(const i in e)"values"===i&&"object"===typeof e.values||(NL(i)||!0===r&&LL(i)||!t&&!LL(i)||e.draggable&&i.startsWith("onDrag"))&&(n[i]=e[i]);return n}(n,"string"===typeof r,e),l={...c,...s,ref:i},{children:u}=n,d=(0,t.useMemo)((()=>iL(u)?u.get():u),[u]);return(0,t.createElement)(r,{...l,children:d})}}const KL=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function WL(e,{style:t,vars:r},n,i){Object.assign(e.style,t,i&&i.getProjectionStyles(n));for(const o in r)e.style.setProperty(o,r[o])}const GL=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function YL(e,t,r,n){WL(e,t,void 0,n);for(const i in t.attrs)e.setAttribute(GL.has(i)?i:KL(i),t.attrs[i])}function ZL(e,t){const{style:r}=e,n={};for(const i in r)(iL(r[i])||t.style&&iL(t.style[i])||nL(i,e))&&(n[i]=r[i]);return n}function XL(e,t){const r=ZL(e,t);for(const n in e)if(iL(e[n])||iL(t[n])){r[-1!==tL.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=e[n]}return r}function JL(e,t,r,n={},i={}){return"function"===typeof t&&(t=t(void 0!==r?r:e.custom,n,i)),"string"===typeof t&&(t=e.variants&&e.variants[t]),"function"===typeof t&&(t=t(void 0!==r?r:e.custom,n,i)),t}function QL(e){const r=(0,t.useRef)(null);return null===r.current&&(r.current=e()),r.current}const eN=e=>Array.isArray(e),tN=e=>Boolean(e&&"object"===typeof e&&e.mix&&e.toValue),rN=e=>eN(e)?e[e.length-1]||0:e;function nN(e){const t=iL(e)?e.get():e;return tN(t)?t.toValue():t}const iN=e=>(r,n)=>{const i=(0,t.useContext)(CM),o=(0,t.useContext)(OM),a=()=>function({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:r},n,i,o){const a={latestValues:oN(n,i,o,e),renderState:t()};return r&&(a.mount=e=>r(n,e,a)),a}(e,r,i,o);return n?a():QL(a)};function oN(e,t,r,n){const i={},o=n(e,{});for(const h in o)i[h]=nN(o[h]);let{initial:a,animate:s}=e;const c=UM(e),l=FM(e);t&&l&&!c&&!1!==e.inherit&&(void 0===a&&(a=t.initial),void 0===s&&(s=t.animate));let u=!!r&&!1===r.initial;u=u||!1===a;const d=u?s:a;if(d&&"boolean"!==typeof d&&!DM(d)){(Array.isArray(d)?d:[d]).forEach((t=>{const r=JL(e,t);if(!r)return;const{transitionEnd:n,transition:o,...a}=r;for(const e in a){let t=a[e];if(Array.isArray(t)){t=t[u?t.length-1:0]}null!==t&&(i[e]=t)}for(const e in n)i[e]=n[e]}))}return i}const aN=e=>e;class sN{constructor(){this.order=[],this.scheduled=new Set}add(e){if(!this.scheduled.has(e))return this.scheduled.add(e),this.order.push(e),!0}remove(e){const t=this.order.indexOf(e);-1!==t&&(this.order.splice(t,1),this.scheduled.delete(e))}clear(){this.order.length=0,this.scheduled.clear()}}const cN=["prepare","read","update","preRender","render","postRender"];const{schedule:lN,cancel:uN,state:dN,steps:hN}=function(e,t){let r=!1,n=!0;const i={delta:0,timestamp:0,isProcessing:!1},o=cN.reduce(((e,t)=>(e[t]=function(e){let t=new sN,r=new sN,n=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(e,o=!1,s=!1)=>{const c=s&&i,l=c?t:r;return o&&a.add(e),l.add(e)&&c&&i&&(n=t.order.length),e},cancel:e=>{r.remove(e),a.delete(e)},process:c=>{if(i)o=!0;else{if(i=!0,[t,r]=[r,t],r.clear(),n=t.order.length,n)for(let r=0;rr=!0)),e)),{}),a=e=>o[e].process(i),s=()=>{const o=performance.now();r=!1,i.delta=n?1e3/60:Math.max(Math.min(o-i.timestamp,40),1),i.timestamp=o,i.isProcessing=!0,cN.forEach(a),i.isProcessing=!1,r&&t&&(n=!1,e(s))},c=cN.reduce(((t,a)=>{const c=o[a];return t[a]=(t,o=!1,a=!1)=>(r||(r=!0,n=!0,i.isProcessing||e(s)),c.schedule(t,o,a)),t}),{});return{schedule:c,cancel:e=>cN.forEach((t=>o[t].cancel(e))),state:i,steps:o}}("undefined"!==typeof requestAnimationFrame?requestAnimationFrame:aN,!0),fN={useVisualState:iN({scrapeMotionValuesFromProps:XL,createRenderState:$L,onMount:(e,t,{renderState:r,latestValues:n})=>{lN.read((()=>{try{r.dimensions="function"===typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(e){r.dimensions={x:0,y:0,width:0,height:0}}})),lN.render((()=>{FL(r,n,{enableHardwareAcceleration:!1},HL(t.tagName),e.transformTemplate),YL(t,r)}))}})},pN={useVisualState:iN({scrapeMotionValuesFromProps:ZL,createRenderState:jL})};function mN(e,t,r,n={passive:!0}){return e.addEventListener(t,r,n),()=>e.removeEventListener(t,r)}const gN=e=>"mouse"===e.pointerType?"number"!==typeof e.button||e.button<=0:!1!==e.isPrimary;function vN(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const yN=e=>t=>gN(t)&&e(t,vN(t));function bN(e,t,r,n){return mN(e,t,yN(r),n)}const wN=(e,t)=>r=>t(e(r)),xN=(...e)=>e.reduce(wN);function _N(e){let t=null;return()=>{const r=()=>{t=null};return null===t&&(t=e,r)}}const SN=_N("dragHorizontal"),kN=_N("dragVertical");function EN(e){let t=!1;if("y"===e)t=kN();else if("x"===e)t=SN();else{const e=SN(),r=kN();e&&r?t=()=>{e(),r()}:(e&&e(),r&&r())}return t}function PN(){const e=EN(!0);return!e||(e(),!1)}class ON{constructor(e){this.isMounted=!1,this.node=e}update(){}}function AN(e,t){const r="pointer"+(t?"enter":"leave"),n="onHover"+(t?"Start":"End");return bN(e.current,r,((r,i)=>{if("touch"===r.type||PN())return;const o=e.getProps();e.animationState&&o.whileHover&&e.animationState.setActive("whileHover",t),o[n]&&lN.update((()=>o[n](r,i)))}),{passive:!e.getProps()[n]})}const TN=(e,t)=>!!t&&(e===t||TN(e,t.parentElement));function jN(e,t){if(!t)return;const r=new PointerEvent("pointer"+e);t(r,vN(r))}const CN=new WeakMap,RN=new WeakMap,IN=e=>{const t=CN.get(e.target);t&&t(e)},MN=e=>{e.forEach(IN)};function LN(e,t,r){const n=function({root:e,...t}){const r=e||document;RN.has(r)||RN.set(r,{});const n=RN.get(r),i=JSON.stringify(t);return n[i]||(n[i]=new IntersectionObserver(MN,{root:e,...t})),n[i]}(t);return CN.set(e,r),n.observe(e),()=>{CN.delete(e),n.unobserve(e)}}const NN={some:0,all:1};const DN={inView:{Feature:class extends ON{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:t,margin:r,amount:n="some",once:i}=e,o={root:t?t.current:void 0,rootMargin:r,threshold:"number"===typeof n?n:NN[n]};return LN(this.node.current,o,(e=>{const{isIntersecting:t}=e;if(this.isInView===t)return;if(this.isInView=t,i&&!t&&this.hasEnteredView)return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",t);const{onViewportEnter:r,onViewportLeave:n}=this.node.getProps(),o=t?r:n;o&&o(e)}))}mount(){this.startObserver()}update(){if("undefined"===typeof IntersectionObserver)return;const{props:e,prevProps:t}=this.node,r=["amount","margin","root"].some(function({viewport:e={}},{viewport:t={}}={}){return r=>e[r]!==t[r]}(e,t));r&&this.startObserver()}unmount(){}}},tap:{Feature:class extends ON{constructor(){super(...arguments),this.removeStartListeners=aN,this.removeEndListeners=aN,this.removeAccessibleListeners=aN,this.startPointerPress=(e,t)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),n=bN(window,"pointerup",((e,t)=>{if(!this.checkPressEnd())return;const{onTap:r,onTapCancel:n}=this.node.getProps();lN.update((()=>{TN(this.node.current,e.target)?r&&r(e,t):n&&n(e,t)}))}),{passive:!(r.onTap||r.onPointerUp)}),i=bN(window,"pointercancel",((e,t)=>this.cancelPress(e,t)),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=xN(n,i),this.startPress(e,t)},this.startAccessiblePress=()=>{const e=mN(this.node.current,"keydown",(e=>{if("Enter"!==e.key||this.isPressing)return;this.removeEndListeners(),this.removeEndListeners=mN(this.node.current,"keyup",(e=>{"Enter"===e.key&&this.checkPressEnd()&&jN("up",((e,t)=>{const{onTap:r}=this.node.getProps();r&&lN.update((()=>r(e,t)))}))})),jN("down",((e,t)=>{this.startPress(e,t)}))})),t=mN(this.node.current,"blur",(()=>{this.isPressing&&jN("cancel",((e,t)=>this.cancelPress(e,t)))}));this.removeAccessibleListeners=xN(e,t)}}startPress(e,t){this.isPressing=!0;const{onTapStart:r,whileTap:n}=this.node.getProps();n&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&lN.update((()=>r(e,t)))}checkPressEnd(){this.removeEndListeners(),this.isPressing=!1;return this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!PN()}cancelPress(e,t){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&lN.update((()=>r(e,t)))}mount(){const e=this.node.getProps(),t=bN(this.node.current,"pointerdown",this.startPointerPress,{passive:!(e.onTapStart||e.onPointerStart)}),r=mN(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=xN(t,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}},focus:{Feature:class extends ON{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch(t){e=!0}e&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=xN(mN(this.node.current,"focus",(()=>this.onFocus())),mN(this.node.current,"blur",(()=>this.onBlur())))}unmount(){}}},hover:{Feature:class extends ON{mount(){this.unmount=xN(AN(this.node,!0),AN(this.node,!1))}unmount(){}}}};function BN(e,t){if(!Array.isArray(t))return!1;const r=t.length;if(r!==e.length)return!1;for(let n=0;nt[r]=e.get())),t}(e),function(e){const t={};return e.values.forEach(((e,r)=>t[r]=e.getVelocity())),t}(e))}const UN="data-"+KL("framerAppearId");let FN=aN,$N=aN;const HN=e=>1e3*e,VN=e=>e/1e3,qN=!1,KN=e=>Array.isArray(e)&&"number"===typeof e[0];function WN(e){return Boolean(!e||"string"===typeof e&&YN[e]||KN(e)||Array.isArray(e)&&e.every(WN))}const GN=([e,t,r,n])=>`cubic-bezier(${e}, ${t}, ${r}, ${n})`,YN={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:GN([0,.65,.55,1]),circOut:GN([.55,0,1,.45]),backIn:GN([.31,.01,.66,-.59]),backOut:GN([.33,1.53,.69,.99])};function ZN(e){if(e)return KN(e)?GN(e):Array.isArray(e)?e.map(ZN):YN[e]}const XN=(e,t,r)=>(((1-3*r+3*t)*e+(3*r-6*t))*e+3*t)*e,JN=1e-7,QN=12;function eD(e,t,r,n){if(e===t&&r===n)return aN;const i=t=>function(e,t,r,n,i){let o,a,s=0;do{a=t+(r-t)/2,o=XN(a,n,i)-e,o>0?r=a:t=a}while(Math.abs(o)>JN&&++s0===e||1===e?e:XN(i(e),t,n)}const tD=eD(.42,0,1,1),rD=eD(0,0,.58,1),nD=eD(.42,0,.58,1),iD=e=>Array.isArray(e)&&"number"!==typeof e[0],oD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,aD=e=>t=>1-e(1-t),sD=e=>1-Math.sin(Math.acos(e)),cD=aD(sD),lD=oD(cD),uD=eD(.33,1.53,.69,.99),dD=aD(uD),hD=oD(dD),fD={linear:aN,easeIn:tD,easeInOut:nD,easeOut:rD,circIn:sD,circInOut:lD,circOut:cD,backIn:dD,backInOut:hD,backOut:uD,anticipate:e=>(e*=2)<1?.5*dD(e):.5*(2-Math.pow(2,-10*(e-1)))},pD=e=>{if(Array.isArray(e)){$N(4===e.length,"Cubic bezier arrays must contain four numerical values.");const[t,r,n,i]=e;return eD(t,r,n,i)}return"string"===typeof e?($N(void 0!==fD[e],`Invalid easing type '${e}'`),fD[e]):e},mD=(e,t)=>r=>Boolean(bL(r)&&yL.test(r)&&r.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(r,t)),gD=(e,t,r)=>n=>{if(!bL(n))return n;const[i,o,a,s]=n.match(gL);return{[e]:parseFloat(i),[t]:parseFloat(o),[r]:parseFloat(a),alpha:void 0!==s?parseFloat(s):1}},vD={...hL,transform:e=>Math.round((e=>dL(0,255,e))(e))},yD={test:mD("rgb","red"),parse:gD("red","green","blue"),transform:({red:e,green:t,blue:r,alpha:n=1})=>"rgba("+vD.transform(e)+", "+vD.transform(t)+", "+vD.transform(r)+", "+mL(fL.transform(n))+")"};const bD={test:mD("#"),parse:function(e){let t="",r="",n="",i="";return e.length>5?(t=e.substring(1,3),r=e.substring(3,5),n=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),r=e.substring(2,3),n=e.substring(3,4),i=e.substring(4,5),t+=t,r+=r,n+=n,i+=i),{red:parseInt(t,16),green:parseInt(r,16),blue:parseInt(n,16),alpha:i?parseInt(i,16)/255:1}},transform:yD.transform},wD={test:mD("hsl","hue"),parse:gD("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:r,alpha:n=1})=>"hsla("+Math.round(e)+", "+_L.transform(mL(t))+", "+_L.transform(mL(r))+", "+mL(fL.transform(n))+")"},xD={test:e=>yD.test(e)||bD.test(e)||wD.test(e),parse:e=>yD.test(e)?yD.parse(e):wD.test(e)?wD.parse(e):bD.parse(e),transform:e=>bL(e)?e:e.hasOwnProperty("red")?yD.transform(e):wD.transform(e)},_D=(e,t,r)=>-r*e+r*t+e;function SD(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}const kD=(e,t,r)=>{const n=e*e;return Math.sqrt(Math.max(0,r*(t*t-n)+n))},ED=[bD,yD,wD];function PD(e){const t=(e=>ED.find((t=>t.test(e))))(e);$N(Boolean(t),`'${e}' is not an animatable color. Use the equivalent color code instead.`);let r=t.parse(e);return t===wD&&(r=function({hue:e,saturation:t,lightness:r,alpha:n}){e/=360,r/=100;let i=0,o=0,a=0;if(t/=100){const n=r<.5?r*(1+t):r+t-r*t,s=2*r-n;i=SD(s,n,e+1/3),o=SD(s,n,e),a=SD(s,n,e-1/3)}else i=o=a=r;return{red:Math.round(255*i),green:Math.round(255*o),blue:Math.round(255*a),alpha:n}}(r)),r}const OD=(e,t)=>{const r=PD(e),n=PD(t),i={...r};return e=>(i.red=kD(r.red,n.red,e),i.green=kD(r.green,n.green,e),i.blue=kD(r.blue,n.blue,e),i.alpha=_D(r.alpha,n.alpha,e),yD.transform(i))};const AD={regex:/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,countKey:"Vars",token:"${v}",parse:aN},TD={regex:vL,countKey:"Colors",token:"${c}",parse:xD.parse},jD={regex:gL,countKey:"Numbers",token:"${n}",parse:hL.parse};function CD(e,{regex:t,countKey:r,token:n,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+r]=o.length,e.tokenised=e.tokenised.replace(t,n),e.values.push(...o.map(i)))}function RD(e){const t=e.toString(),r={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return r.value.includes("var(--")&&CD(r,AD),CD(r,TD),CD(r,jD),r}function ID(e){return RD(e).values}function MD(e){const{values:t,numColors:r,numVars:n,tokenised:i}=RD(e),o=t.length;return e=>{let t=i;for(let i=0;i"number"===typeof e?0:e;const ND={test:function(e){var t,r;return isNaN(e)&&bL(e)&&((null===(t=e.match(gL))||void 0===t?void 0:t.length)||0)+((null===(r=e.match(vL))||void 0===r?void 0:r.length)||0)>0},parse:ID,createTransformer:MD,getAnimatableNone:function(e){const t=ID(e);return MD(e)(t.map(LD))}},DD=(e,t)=>r=>`${r>0?t:e}`;function BD(e,t){return"number"===typeof e?r=>_D(e,t,r):xD.test(e)?OD(e,t):e.startsWith("var(")?DD(e,t):FD(e,t)}const zD=(e,t)=>{const r=[...e],n=r.length,i=e.map(((e,r)=>BD(e,t[r])));return e=>{for(let t=0;t{const r={...e,...t},n={};for(const i in r)void 0!==e[i]&&void 0!==t[i]&&(n[i]=BD(e[i],t[i]));return e=>{for(const t in n)r[t]=n[t](e);return r}},FD=(e,t)=>{const r=ND.createTransformer(t),n=RD(e),i=RD(t);return n.numVars===i.numVars&&n.numColors===i.numColors&&n.numNumbers>=i.numNumbers?xN(zD(n.values,i.values),r):(FN(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),DD(e,t))},$D=(e,t,r)=>{const n=t-e;return 0===n?1:(r-e)/n},HD=(e,t)=>r=>_D(e,t,r);function VD(e,t,r){const n=[],i=r||function(e){return"number"===typeof e?HD:"string"===typeof e?xD.test(e)?OD:FD:Array.isArray(e)?zD:"object"===typeof e?UD:HD}(e[0]),o=e.length-1;for(let a=0;at[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=VD(t,n,i),s=a.length,c=t=>{let r=0;if(s>1)for(;rc(dL(e[0],e[o-1],t)):c}function KD(e){const t=[0];return function(e,t){const r=e[e.length-1];for(let n=1;n<=t;n++){const i=$D(0,t,n);e.push(_D(r,1,i))}}(t,e.length-1),t}function WD({duration:e=300,keyframes:t,times:r,ease:n="easeInOut"}){const i=iD(n)?n.map(pD):pD(n),o={done:!1,value:t[0]},a=function(e,t){return e.map((e=>e*t))}(r&&r.length===t.length?r:KD(t),e),s=qD(a,t,{ease:Array.isArray(i)?i:(c=t,l=i,c.map((()=>l||nD)).splice(0,c.length-1))});var c,l;return{calculatedDuration:e,next:t=>(o.value=s(t),o.done=t>=e,o)}}function GD(e,t){return t?e*(1e3/t):0}const YD=5;function ZD(e,t,r){const n=Math.max(t-YD,0);return GD(r-e(n),t-n)}const XD=.001,JD=.01,QD=10,eB=.05,tB=1;function rB({duration:e=800,bounce:t=.25,velocity:r=0,mass:n=1}){let i,o;FN(e<=HN(QD),"Spring duration must be 10 seconds or less");let a=1-t;a=dL(eB,tB,a),e=dL(JD,QD,VN(e)),a<1?(i=t=>{const n=t*a,i=n*e,o=n-r,s=iB(t,a),c=Math.exp(-i);return XD-o/s*c},o=t=>{const n=t*a*e,o=n*r+r,s=Math.pow(a,2)*Math.pow(t,2)*e,c=Math.exp(-n),l=iB(Math.pow(t,2),a);return(-i(t)+XD>0?-1:1)*((o-s)*c)/l}):(i=t=>Math.exp(-t*e)*((t-r)*e+1)-XD,o=t=>Math.exp(-t*e)*(e*e*(r-t)));const s=function(e,t,r){let n=r;for(let i=1;ivoid 0!==e[t]))}function cB({keyframes:e,restDelta:t,restSpeed:r,...n}){const i=e[0],o=e[e.length-1],a={done:!1,value:i},{stiffness:s,damping:c,mass:l,velocity:u,duration:d,isResolvedFromDuration:h}=function(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!sB(e,aB)&&sB(e,oB)){const r=rB(e);t={...t,...r,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}(n),f=u?-VN(u):0,p=c/(2*Math.sqrt(s*l)),m=o-i,g=VN(Math.sqrt(s/l)),v=Math.abs(m)<5;let y;if(r||(r=v?.01:2),t||(t=v?.005:.5),p<1){const e=iB(g,p);y=t=>{const r=Math.exp(-p*g*t);return o-r*((f+p*g*m)/e*Math.sin(e*t)+m*Math.cos(e*t))}}else if(1===p)y=e=>o-Math.exp(-g*e)*(m+(f+g*m)*e);else{const e=g*Math.sqrt(p*p-1);y=t=>{const r=Math.exp(-p*g*t),n=Math.min(e*t,300);return o-r*((f+p*g*m)*Math.sinh(n)+e*m*Math.cosh(n))/e}}return{calculatedDuration:h&&d||null,next:e=>{const n=y(e);if(h)a.done=e>=d;else{let i=f;0!==e&&(i=p<1?ZD(y,e,n):0);const s=Math.abs(i)<=r,c=Math.abs(o-n)<=t;a.done=s&&c}return a.value=a.done?o:n,a}}}function lB({keyframes:e,velocity:t=0,power:r=.8,timeConstant:n=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:a,min:s,max:c,restDelta:l=.5,restSpeed:u}){const d=e[0],h={done:!1,value:d},f=e=>void 0===s?c:void 0===c||Math.abs(s-e)-p*Math.exp(-e/n),y=e=>g+v(e),b=e=>{const t=v(e),r=y(e);h.done=Math.abs(t)<=l,h.value=h.done?g:r};let w,x;const _=e=>{(e=>void 0!==s&&ec)(h.value)&&(w=e,x=cB({keyframes:[h.value,f(h.value)],velocity:ZD(y,e,h.value),damping:i,stiffness:o,restDelta:l,restSpeed:u}))};return _(0),{calculatedDuration:null,next:e=>{let t=!1;return x||void 0!==w||(t=!0,b(e),_(e)),void 0!==w&&e>w?x.next(e-w):(!t&&b(e),h)}}}const uB=e=>{const t=({timestamp:t})=>e(t);return{start:()=>lN.update(t,!0),stop:()=>uN(t),now:()=>dN.isProcessing?dN.timestamp:performance.now()}},dB=2e4;function hB(e){let t=0;let r=e.next(t);for(;!r.done&&t=dB?1/0:t}const fB={decay:lB,inertia:lB,tween:WD,keyframes:WD,spring:cB};function pB({autoplay:e=!0,delay:t=0,driver:r=uB,keyframes:n,type:i="keyframes",repeat:o=0,repeatDelay:a=0,repeatType:s="loop",onPlay:c,onStop:l,onComplete:u,onUpdate:d,...h}){let f,p,m=1,g=!1;const v=()=>{p=new Promise((e=>{f=e}))};let y;v();const b=fB[i]||WD;let w;b!==WD&&"number"!==typeof n[0]&&(w=qD([0,100],n,{clamp:!1}),n=[0,100]);const x=b({...h,keyframes:n});let _;"mirror"===s&&(_=b({...h,keyframes:[...n].reverse(),velocity:-(h.velocity||0)}));let S="idle",k=null,E=null,P=null;null===x.calculatedDuration&&o&&(x.calculatedDuration=hB(x));const{calculatedDuration:O}=x;let A=1/0,T=1/0;null!==O&&(A=O+a,T=A*(o+1)-a);let j=0;const C=e=>{if(null===E)return;m>0&&(E=Math.min(E,e)),m<0&&(E=Math.min(e-T/m,E)),j=null!==k?k:Math.round(e-E)*m;const r=j-t*(m>=0?1:-1),i=m>=0?r<0:r>T;j=Math.max(r,0),"finished"===S&&null===k&&(j=T);let c=j,l=x;if(o){const e=j/A;let t=Math.floor(e),r=e%1;!r&&e>=1&&(r=1),1===r&&t--,t=Math.min(t,o+1);const n=Boolean(t%2);n&&("reverse"===s?(r=1-r,a&&(r-=a/A)):"mirror"===s&&(l=_));let i=dL(0,1,r);j>T&&(i="reverse"===s&&n?1:0),c=i*A}const u=i?{done:!1,value:n[0]}:l.next(c);w&&(u.value=w(u.value));let{done:h}=u;i||null===O||(h=m>=0?j>=T:j<=0);const f=null===k&&("finished"===S||"running"===S&&h);return d&&d(u.value),f&&M(),u},R=()=>{y&&y.stop(),y=void 0},I=()=>{S="idle",R(),f(),v(),E=P=null},M=()=>{S="finished",u&&u(),R(),f()},L=()=>{if(g)return;y||(y=r(C));const e=y.now();c&&c(),null!==k?E=e-k:E&&"finished"!==S||(E=e),"finished"===S&&v(),P=E,k=null,S="running",y.start()};e&&L();const N={then:(e,t)=>p.then(e,t),get time(){return VN(j)},set time(e){e=HN(e),j=e,null===k&&y&&0!==m?E=y.now()-e/m:k=e},get duration(){const e=null===x.calculatedDuration?hB(x):x.calculatedDuration;return VN(e)},get speed(){return m},set speed(e){e!==m&&y&&(m=e,N.time=VN(j))},get state(){return S},play:L,pause:()=>{S="paused",k=j},stop:()=>{g=!0,"idle"!==S&&(S="idle",l&&l(),I())},cancel:()=>{null!==P&&C(P),I()},complete:()=>{S="finished"},sample:e=>(E=0,C(e))};return N}const mB=function(e){let t;return()=>(void 0===t&&(t=e()),t)}((()=>Object.hasOwnProperty.call(Element.prototype,"animate"))),gB=new Set(["opacity","clipPath","filter","transform","backgroundColor"]);function vB(e,t,{onUpdate:r,onComplete:n,...i}){if(!(mB()&&gB.has(t)&&!i.repeatDelay&&"mirror"!==i.repeatType&&0!==i.damping&&"inertia"!==i.type))return!1;let o,a,s=!1;const c=()=>{a=new Promise((e=>{o=e}))};c();let{keyframes:l,duration:u=300,ease:d,times:h}=i;if(((e,t)=>"spring"===t.type||"backgroundColor"===e||!WN(t.ease))(t,i)){const e=pB({...i,repeat:0,delay:0});let t={done:!1,value:l[0]};const r=[];let n=0;for(;!t.done&&n<2e4;)t=e.sample(n),r.push(t.value),n+=10;h=void 0,l=r,u=n-10,d="linear"}const f=function(e,t,r,{delay:n=0,duration:i,repeat:o=0,repeatType:a="loop",ease:s,times:c}={}){const l={[t]:r};c&&(l.offset=c);const u=ZN(s);return Array.isArray(u)&&(l.easing=u),e.animate(l,{delay:n,duration:i,easing:Array.isArray(u)?"linear":u,fill:"both",iterations:o+1,direction:"reverse"===a?"alternate":"normal"})}(e.owner.current,t,l,{...i,duration:u,ease:d,times:h});i.syncStart&&(f.startTime=dN.isProcessing?dN.timestamp:document.timeline?document.timeline.currentTime:performance.now());const p=()=>f.cancel(),m=()=>{lN.update(p),o(),c()};f.onfinish=()=>{e.set(function(e,{repeat:t,repeatType:r="loop"}){return e[t&&"loop"!==r&&t%2===1?0:e.length-1]}(l,i)),n&&n(),m()};return{then:(e,t)=>a.then(e,t),attachTimeline:e=>(f.timeline=e,f.onfinish=null,aN),get time(){return VN(f.currentTime||0)},set time(e){f.currentTime=HN(e)},get speed(){return f.playbackRate},set speed(e){f.playbackRate=e},get duration(){return VN(u)},play:()=>{s||(f.play(),uN(p))},pause:()=>f.pause(),stop:()=>{if(s=!0,"idle"===f.playState)return;const{currentTime:t}=f;if(t){const r=pB({...i,autoplay:!1});e.setWithVelocity(r.sample(t-10).value,r.sample(t).value,10)}m()},complete:()=>f.finish(),cancel:m}}const yB={type:"spring",stiffness:500,damping:25,restSpeed:10},bB={type:"keyframes",duration:.8},wB={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},xB=(e,{keyframes:t})=>t.length>2?bB:rL.has(e)?e.startsWith("scale")?{type:"spring",stiffness:550,damping:0===t[1]?2*Math.sqrt(550):30,restSpeed:10}:yB:wB,_B=(e,t)=>"zIndex"!==e&&(!("number"!==typeof t&&!Array.isArray(t))||!("string"!==typeof t||!ND.test(t)&&"0"!==t||t.startsWith("url("))),SB=new Set(["brightness","contrast","saturate","opacity"]);function kB(e){const[t,r]=e.slice(0,-1).split("(");if("drop-shadow"===t)return e;const[n]=r.match(gL)||[];if(!n)return e;const i=r.replace(n,"");let o=SB.has(t)?1:0;return n!==r&&(o*=100),t+"("+o+i+")"}const EB=/([a-z-]*)\(.*?\)/g,PB={...ND,getAnimatableNone:e=>{const t=e.match(EB);return t?t.map(kB).join(" "):e}},OB={...AL,color:xD,backgroundColor:xD,outlineColor:xD,fill:xD,stroke:xD,borderColor:xD,borderTopColor:xD,borderRightColor:xD,borderBottomColor:xD,borderLeftColor:xD,filter:PB,WebkitFilter:PB},AB=e=>OB[e];function TB(e,t){let r=AB(e);return r!==PB&&(r=ND),r.getAnimatableNone?r.getAnimatableNone(t):void 0}const jB=e=>/^0[^.\s]+$/.test(e);function CB(e){return"number"===typeof e?0===e:null!==e?"none"===e||"0"===e||jB(e):void 0}function RB(e,t){return e[t]||e.default||e}const IB=(e,t,r,n={})=>i=>{const o=RB(n,e)||{},a=o.delay||n.delay||0;let{elapsed:s=0}=n;s-=HN(a);const c=function(e,t,r,n){const i=_B(t,r);let o;o=Array.isArray(r)?[...r]:[null,r];const a=void 0!==n.from?n.from:e.get();let s;const c=[];for(let l=0;l{t.set(e),o.onUpdate&&o.onUpdate(e)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(function({when:e,delay:t,delayChildren:r,staggerChildren:n,staggerDirection:i,repeat:o,repeatType:a,repeatDelay:s,from:c,elapsed:l,...u}){return!!Object.keys(u).length}(o)||(f={...f,...xB(e,f)}),f.duration&&(f.duration=HN(f.duration)),f.repeatDelay&&(f.repeatDelay=HN(f.repeatDelay)),!d||!h||qN||!1===o.type)return function({keyframes:e,delay:t,onUpdate:r,onComplete:n}){const i=()=>(r&&r(e[e.length-1]),n&&n(),{time:0,speed:1,duration:0,play:aN,pause:aN,stop:aN,then:e=>(e(),Promise.resolve()),cancel:aN,complete:aN});return t?pB({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}(qN?{...f,delay:0}:f);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const r=vB(t,e,f);if(r)return r}return pB(f)};function MB(e){return Boolean(iL(e)&&e.add)}const LB=e=>/^\-?\d*\.?\d+$/.test(e);function NB(e,t){-1===e.indexOf(t)&&e.push(t)}function DB(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}class BB{constructor(){this.subscriptions=[]}add(e){return NB(this.subscriptions,e),()=>DB(this.subscriptions,e)}notify(e,t,r){const n=this.subscriptions.length;if(n)if(1===n)this.subscriptions[0](e,t,r);else for(let i=0;i{this.prev=this.current,this.current=e;const{delta:r,timestamp:n}=dN;this.lastUpdated!==n&&(this.timeDelta=r,this.lastUpdated=n,lN.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),t&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>lN.postRender(this.velocityCheck),this.velocityCheck=({timestamp:e})=>{e!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=e,this.canTrackVelocity=(e=>!isNaN(parseFloat(e)))(this.current),this.owner=t.owner}onChange(e){return this.on("change",e)}on(e,t){this.events[e]||(this.events[e]=new BB);const r=this.events[e].add(t);return"change"===e?()=>{r(),lN.read((()=>{this.events.change.getSize()||this.stop()}))}:r}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e,t=!0){t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)}setWithVelocity(e,t,r){this.set(t),this.prev=e,this.timeDelta=r}jump(e){this.updateAndNotify(e),this.prev=e,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return zB.current&&zB.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?GD(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(e){return this.stop(),new Promise((t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()})).then((()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()}))}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function FB(e,t){return new UB(e,t)}const $B=e=>t=>t.test(e),HB=[hL,SL,_L,xL,EL,kL,{test:e=>"auto"===e,parse:e=>e}],VB=e=>HB.find($B(e)),qB=[...HB,xD,ND],KB=e=>qB.find($B(e));function WB(e,t,r){e.hasValue(t)?e.getValue(t).set(r):e.addValue(t,FB(r))}function GB(e,t){const r=zN(e,t);let{transitionEnd:n={},transition:i={},...o}=r?e.makeTargetAnimatable(r,!1):{};o={...o,...n};for(const a in o){WB(e,a,rN(o[a]))}}function YB(e,t){if(!t)return;return(t[e]||t.default||t).from}function ZB({protectedKeys:e,needsAnimating:t},r){const n=e.hasOwnProperty(r)&&!0!==t[r];return t[r]=!1,n}function XB(e,t,{delay:r=0,transitionOverride:n,type:i}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:a,...s}=e.makeTargetAnimatable(t);const c=e.getValue("willChange");n&&(o=n);const l=[],u=i&&e.animationState&&e.animationState.getState()[i];for(const d in s){const t=e.getValue(d),n=s[d];if(!t||void 0===n||u&&ZB(u,d))continue;const i={delay:r,elapsed:0,...o};if(window.HandoffAppearAnimations&&!t.hasAnimated){const r=e.getProps()[UN];r&&(i.elapsed=window.HandoffAppearAnimations(r,d,t,lN),i.syncStart=!0)}t.start(IB(d,t,n,e.shouldReduceMotion&&rL.has(d)?{type:!1}:i));const a=t.animation;MB(c)&&(c.add(d),a.then((()=>c.remove(d)))),l.push(a)}return a&&Promise.all(l).then((()=>{a&&GB(e,a)})),l}function JB(e,t,r={}){const n=zN(e,t,r.custom);let{transition:i=e.getDefaultTransition()||{}}=n||{};r.transitionOverride&&(i=r.transitionOverride);const o=n?()=>Promise.all(XB(e,n,r)):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(n=0)=>{const{delayChildren:o=0,staggerChildren:a,staggerDirection:s}=i;return function(e,t,r=0,n=0,i=1,o){const a=[],s=(e.variantChildren.size-1)*n,c=1===i?(e=0)=>e*n:(e=0)=>s-e*n;return Array.from(e.variantChildren).sort(QB).forEach(((e,n)=>{e.notify("AnimationStart",t),a.push(JB(e,t,{...o,delay:r+c(n)}).then((()=>e.notify("AnimationComplete",t))))})),Promise.all(a)}(e,t,o+n,a,s,r)}:()=>Promise.resolve(),{when:s}=i;if(s){const[e,t]="beforeChildren"===s?[o,a]:[a,o];return e().then((()=>t()))}return Promise.all([o(),a(r.delay)])}function QB(e,t){return e.sortNodePosition(t)}const ez=[...BM].reverse(),tz=BM.length;function rz(e){return t=>Promise.all(t.map((({animation:t,options:r})=>function(e,t,r={}){let n;if(e.notify("AnimationStart",t),Array.isArray(t)){const i=t.map((t=>JB(e,t,r)));n=Promise.all(i)}else if("string"===typeof t)n=JB(e,t,r);else{const i="function"===typeof t?zN(e,t,r.custom):t;n=Promise.all(XB(e,i,r))}return n.then((()=>e.notify("AnimationComplete",t)))}(e,t,r))))}function nz(e){let t=rz(e);const r={animate:oz(!0),whileInView:oz(),whileHover:oz(),whileTap:oz(),whileDrag:oz(),whileFocus:oz(),exit:oz()};let n=!0;const i=(t,r)=>{const n=zN(e,r);if(n){const{transition:e,transitionEnd:r,...i}=n;t={...t,...i,...r}}return t};function o(o,a){const s=e.getProps(),c=e.getVariantContext(!0)||{},l=[],u=new Set;let d={},h=1/0;for(let t=0;th&&g;const x=Array.isArray(m)?m:[m];let _=x.reduce(i,{});!1===v&&(_={});const{prevResolvedValues:S={}}=p,k={...S,..._},E=e=>{w=!0,u.delete(e),p.needsAnimating[e]=!0};for(const e in k){const t=_[e],r=S[e];d.hasOwnProperty(e)||(t!==r?eN(t)&&eN(r)?!BN(t,r)||b?E(e):p.protectedKeys[e]=!0:void 0!==t?E(e):u.add(e):void 0!==t&&u.has(e)?E(e):p.protectedKeys[e]=!0)}p.prevProp=m,p.prevResolvedValues=_,p.isActive&&(d={...d,..._}),n&&e.blockInitialAnimation&&(w=!1),w&&!y&&l.push(...x.map((e=>({animation:e,options:{type:f,...o}}))))}if(u.size){const t={};u.forEach((r=>{const n=e.getBaseTarget(r);void 0!==n&&(t[r]=n)})),l.push({animation:t})}let f=Boolean(l.length);return n&&!1===s.initial&&!e.manuallyAnimateOnMount&&(f=!1),n=!1,f?t(l):Promise.resolve()}return{animateChanges:o,setActive:function(t,n,i){var a;if(r[t].isActive===n)return Promise.resolve();null===(a=e.variantChildren)||void 0===a||a.forEach((e=>{var r;return null===(r=e.animationState)||void 0===r?void 0:r.setActive(t,n)})),r[t].isActive=n;const s=o(i,t);for(const e in r)r[e].protectedKeys={};return s},setAnimateFunction:function(r){t=r(e)},getState:()=>r}}function iz(e,t){return"string"===typeof t?t!==e:!!Array.isArray(t)&&!BN(t,e)}function oz(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}let az=0;const sz={animation:{Feature:class extends ON{constructor(e){super(e),e.animationState||(e.animationState=nz(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();this.unmount(),DM(e)&&(this.unmount=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){}}},exit:{Feature:class extends ON{constructor(){super(...arguments),this.id=az++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:t,custom:r}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;const i=this.node.animationState.setActive("exit",!e,{custom:null!==r&&void 0!==r?r:this.node.getProps().custom});t&&!e&&i.then((()=>t(this.id)))}mount(){const{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}}},cz=(e,t)=>Math.abs(e-t);class lz{constructor(e,t,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!this.lastMoveEvent||!this.lastMoveEventInfo)return;const e=hz(this.lastMoveEventInfo,this.history),t=null!==this.startEvent,r=function(e,t){const r=cz(e.x,t.x),n=cz(e.y,t.y);return Math.sqrt(r**2+n**2)}(e.offset,{x:0,y:0})>=3;if(!t&&!r)return;const{point:n}=e,{timestamp:i}=dN;this.history.push({...n,timestamp:i});const{onStart:o,onMove:a}=this.handlers;t||(o&&o(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),a&&a(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastMoveEventInfo=uz(t,this.transformPagePoint),lN.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{if(this.end(),!this.lastMoveEvent||!this.lastMoveEventInfo)return;const{onEnd:r,onSessionEnd:n}=this.handlers,i=hz("pointercancel"===e.type?this.lastMoveEventInfo:uz(t,this.transformPagePoint),this.history);this.startEvent&&r&&r(e,i),n&&n(e,i)},!gN(e))return;this.handlers=t,this.transformPagePoint=r;const n=uz(vN(e),this.transformPagePoint),{point:i}=n,{timestamp:o}=dN;this.history=[{...i,timestamp:o}];const{onSessionStart:a}=t;a&&a(e,hz(n,this.history)),this.removeListeners=xN(bN(window,"pointermove",this.handlePointerMove),bN(window,"pointerup",this.handlePointerUp),bN(window,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),uN(this.updatePoint)}}function uz(e,t){return t?{point:t(e.point)}:e}function dz(e,t){return{x:e.x-t.x,y:e.y-t.y}}function hz({point:e},t){return{point:e,delta:dz(e,pz(t)),offset:dz(e,fz(t)),velocity:mz(t,.1)}}function fz(e){return e[0]}function pz(e){return e[e.length-1]}function mz(e,t){if(e.length<2)return{x:0,y:0};let r=e.length-1,n=null;const i=pz(e);for(;r>=0&&(n=e[r],!(i.timestamp-n.timestamp>HN(t)));)r--;if(!n)return{x:0,y:0};const o=VN(i.timestamp-n.timestamp);if(0===o)return{x:0,y:0};const a={x:(i.x-n.x)/o,y:(i.y-n.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function gz(e){return e.max-e.min}function vz(e,t=0,r=.01){return Math.abs(e-t)<=r}function yz(e,t,r,n=.5){e.origin=n,e.originPoint=_D(t.min,t.max,e.origin),e.scale=gz(r)/gz(t),(vz(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=_D(r.min,r.max,e.origin)-e.originPoint,(vz(e.translate)||isNaN(e.translate))&&(e.translate=0)}function bz(e,t,r,n){yz(e.x,t.x,r.x,n?n.originX:void 0),yz(e.y,t.y,r.y,n?n.originY:void 0)}function wz(e,t,r){e.min=r.min+t.min,e.max=e.min+gz(t)}function xz(e,t,r){e.min=t.min-r.min,e.max=e.min+gz(t)}function _z(e,t,r){xz(e.x,t.x,r.x),xz(e.y,t.y,r.y)}function Sz(e,t,r){return{min:void 0!==t?e.min+t:void 0,max:void 0!==r?e.max+r-(e.max-e.min):void 0}}function kz(e,t){let r=t.min-e.min,n=t.max-e.max;return t.max-t.min({x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}}),Tz=()=>({x:{min:0,max:0},y:{min:0,max:0}});function jz(e){return[e("x"),e("y")]}function Cz({top:e,left:t,right:r,bottom:n}){return{x:{min:t,max:r},y:{min:e,max:n}}}function Rz(e){return void 0===e||1===e}function Iz({scale:e,scaleX:t,scaleY:r}){return!Rz(e)||!Rz(t)||!Rz(r)}function Mz(e){return Iz(e)||Lz(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Lz(e){return Nz(e.x)||Nz(e.y)}function Nz(e){return e&&"0%"!==e}function Dz(e,t,r){return r+t*(e-r)}function Bz(e,t,r,n,i){return void 0!==i&&(e=Dz(e,i,n)),Dz(e,r,n)+t}function zz(e,t=0,r=1,n,i){e.min=Bz(e.min,t,r,n,i),e.max=Bz(e.max,t,r,n,i)}function Uz(e,{x:t,y:r}){zz(e.x,t.translate,t.scale,t.originPoint),zz(e.y,r.translate,r.scale,r.originPoint)}function Fz(e){return Number.isInteger(e)||e>1.0000000000001||e<.999999999999?e:1}function $z(e,t){e.min=e.min+t,e.max=e.max+t}function Hz(e,t,[r,n,i]){const o=void 0!==t[i]?t[i]:.5,a=_D(e.min,e.max,o);zz(e,t[r],t[n],a,t.scale)}const Vz=["x","scaleX","originX"],qz=["y","scaleY","originY"];function Kz(e,t){Hz(e.x,t,Vz),Hz(e.y,t,qz)}function Wz(e,t){return Cz(function(e,t){if(!t)return e;const r=t({x:e.left,y:e.top}),n=t({x:e.right,y:e.bottom});return{top:r.y,left:r.x,bottom:n.y,right:n.x}}(e.getBoundingClientRect(),t))}const Gz=new WeakMap;class Yz{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Tz(),this.visualElement=e}start(e,{snapToCursor:t=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&!1===r.isPresent)return;this.panSession=new lz(e,{onSessionStart:e=>{this.stopAnimation(),t&&this.snapToCursor(vN(e,"page").point)},onStart:(e,t)=>{const{drag:r,dragPropagation:n,onDragStart:i}=this.getProps();if(r&&!n&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=EN(r),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),jz((e=>{let t=this.getAxisMotionValue(e).get()||0;if(_L.test(t)){const{projection:r}=this.visualElement;if(r&&r.layout){const n=r.layout.layoutBox[e];if(n){t=gz(n)*(parseFloat(t)/100)}}}this.originPoint[e]=t})),i&&lN.update((()=>i(e,t)),!1,!0);const{animationState:o}=this.visualElement;o&&o.setActive("whileDrag",!0)},onMove:(e,t)=>{const{dragPropagation:r,dragDirectionLock:n,onDirectionLock:i,onDrag:o}=this.getProps();if(!r&&!this.openGlobalLock)return;const{offset:a}=t;if(n&&null===this.currentDirection)return this.currentDirection=function(e,t=10){let r=null;Math.abs(e.y)>t?r="y":Math.abs(e.x)>t&&(r="x");return r}(a),void(null!==this.currentDirection&&i&&i(this.currentDirection));this.updateAxis("x",t.point,a),this.updateAxis("y",t.point,a),this.visualElement.render(),o&&o(e,t)},onSessionEnd:(e,t)=>this.stop(e,t)},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(e,t){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:n}=t;this.startAnimation(n);const{onDragEnd:i}=this.getProps();i&&lN.update((()=>i(e,t)))}cancel(){this.isDragging=!1;const{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),t&&t.setActive("whileDrag",!1)}updateAxis(e,t,r){const{drag:n}=this.getProps();if(!r||!Zz(e,n,this.currentDirection))return;const i=this.getAxisMotionValue(e);let o=this.originPoint[e]+r[e];this.constraints&&this.constraints[e]&&(o=function(e,{min:t,max:r},n){return void 0!==t&&er&&(e=n?_D(r,e,n.max):Math.min(e,r)),e}(o,this.constraints[e],this.elastic[e])),i.set(o)}resolveConstraints(){const{dragConstraints:e,dragElastic:t}=this.getProps(),{layout:r}=this.visualElement.projection||{},n=this.constraints;e&&LM(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):this.constraints=!(!e||!r)&&function(e,{top:t,left:r,bottom:n,right:i}){return{x:Sz(e.x,r,i),y:Sz(e.y,t,n)}}(r.layoutBox,e),this.elastic=function(e=Ez){return!1===e?e=0:!0===e&&(e=Ez),{x:Pz(e,"left","right"),y:Pz(e,"top","bottom")}}(t),n!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&jz((e=>{this.getAxisMotionValue(e)&&(this.constraints[e]=function(e,t){const r={};return void 0!==t.min&&(r.min=t.min-e.min),void 0!==t.max&&(r.max=t.max-e.min),r}(r.layoutBox[e],this.constraints[e]))}))}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!LM(e))return!1;const r=e.current;$N(null!==r,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.");const{projection:n}=this.visualElement;if(!n||!n.layout)return!1;const i=function(e,t,r){const n=Wz(e,r),{scroll:i}=t;return i&&($z(n.x,i.offset.x),$z(n.y,i.offset.y)),n}(r,n.root,this.visualElement.getTransformPagePoint());let o=function(e,t){return{x:kz(e.x,t.x),y:kz(e.y,t.y)}}(n.layout.layoutBox,i);if(t){const e=t(function({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}(o));this.hasMutatedConstraints=!!e,e&&(o=Cz(e))}return o}startAnimation(e){const{drag:t,dragMomentum:r,dragElastic:n,dragTransition:i,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),s=this.constraints||{},c=jz((a=>{if(!Zz(a,t,this.currentDirection))return;let c=s&&s[a]||{};o&&(c={min:0,max:0});const l=n?200:1e6,u=n?40:1e7,d={type:"inertia",velocity:r?e[a]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(a,d)}));return Promise.all(c).then(a)}startAxisValueAnimation(e,t){const r=this.getAxisMotionValue(e);return r.start(IB(e,r,0,t))}stopAnimation(){jz((e=>this.getAxisMotionValue(e).stop()))}getAxisMotionValue(e){const t="_drag"+e.toUpperCase(),r=this.visualElement.getProps(),n=r[t];return n||this.visualElement.getValue(e,(r.initial?r.initial[e]:void 0)||0)}snapToCursor(e){jz((t=>{const{drag:r}=this.getProps();if(!Zz(t,r,this.currentDirection))return;const{projection:n}=this.visualElement,i=this.getAxisMotionValue(t);if(n&&n.layout){const{min:r,max:o}=n.layout.layoutBox[t];i.set(e[t]-_D(r,o,.5))}}))}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:t}=this.getProps(),{projection:r}=this.visualElement;if(!LM(t)||!r||!this.constraints)return;this.stopAnimation();const n={x:0,y:0};jz((e=>{const t=this.getAxisMotionValue(e);if(t){const r=t.get();n[e]=function(e,t){let r=.5;const n=gz(e),i=gz(t);return i>n?r=$D(t.min,t.max-n,e.min):n>i&&(r=$D(e.min,e.max-i,t.min)),dL(0,1,r)}({min:r,max:r},this.constraints[e])}}));const{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),jz((t=>{if(!Zz(t,e,null))return;const r=this.getAxisMotionValue(t),{min:i,max:o}=this.constraints[t];r.set(_D(i,o,n[t]))}))}addListeners(){if(!this.visualElement.current)return;Gz.set(this.visualElement,this);const e=bN(this.visualElement.current,"pointerdown",(e=>{const{drag:t,dragListener:r=!0}=this.getProps();t&&r&&this.start(e)})),t=()=>{const{dragConstraints:e}=this.getProps();LM(e)&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,n=r.addEventListener("measure",t);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),t();const i=mN(window,"resize",(()=>this.scalePositionWithinConstraints())),o=r.addEventListener("didUpdate",(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(jz((t=>{const r=this.getAxisMotionValue(t);r&&(this.originPoint[t]+=e[t].translate,r.set(r.get()+e[t].translate))})),this.visualElement.render())}));return()=>{i(),e(),n(),o&&o()}}getProps(){const e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:r=!1,dragPropagation:n=!1,dragConstraints:i=!1,dragElastic:o=Ez,dragMomentum:a=!0}=e;return{...e,drag:t,dragDirectionLock:r,dragPropagation:n,dragConstraints:i,dragElastic:o,dragMomentum:a}}}function Zz(e,t,r){return(!0===t||t===e)&&(null===r||r===e)}const Xz=e=>(t,r)=>{e&&lN.update((()=>e(t,r)))};const Jz={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Qz(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const eU={correct:(e,t)=>{if(!t.target)return e;if("string"===typeof e){if(!SL.test(e))return e;e=parseFloat(e)}return`${Qz(e,t.target.x)}% ${Qz(e,t.target.y)}%`}},tU={correct:(e,{treeScale:t,projectionDelta:r})=>{const n=e,i=ND.parse(e);if(i.length>5)return n;const o=ND.createTransformer(e),a="number"!==typeof i[0]?1:0,s=r.x.scale*t.x,c=r.y.scale*t.y;i[0+a]/=s,i[1+a]/=c;const l=_D(s,c,.5);return"number"===typeof i[2+a]&&(i[2+a]/=l),"number"===typeof i[3+a]&&(i[3+a]/=l),o(i)}};class rU extends t.Component{componentDidMount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:r,layoutId:n}=this.props,{projection:i}=e;var o;o=iU,Object.assign(eL,o),i&&(t.group&&t.group.add(i),r&&r.register&&n&&r.register(i),i.root.didUpdate(),i.addEventListener("animationComplete",(()=>{this.safeToRemove()})),i.setOptions({...i.options,onExitComplete:()=>this.safeToRemove()})),Jz.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:t,visualElement:r,drag:n,isPresent:i}=this.props,o=r.projection;return o?(o.isPresent=i,n||e.layoutDependency!==t||void 0===t?o.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?o.promote():o.relegate()||lN.postRender((()=>{const e=o.getStack();e&&e.members.length||this.safeToRemove()}))),null):null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),queueMicrotask((()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()})))}componentWillUnmount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:r}=this.props,{projection:n}=e;n&&(n.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(n),r&&r.deregister&&r.deregister(n))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function nU(e){const[r,n]=AM(),i=(0,t.useContext)(KM);return t.createElement(rU,{...e,layoutGroup:i,switchLayoutGroup:(0,t.useContext)(WM),isPresent:r,safeToRemove:n})}const iU={borderRadius:{...eU,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:eU,borderTopRightRadius:eU,borderBottomLeftRadius:eU,borderBottomRightRadius:eU,boxShadow:tU},oU=["TopLeft","TopRight","BottomLeft","BottomRight"],aU=oU.length,sU=e=>"string"===typeof e?parseFloat(e):e,cU=e=>"number"===typeof e||SL.test(e);function lU(e,t){return void 0!==e[t]?e[t]:e.borderRadius}const uU=hU(0,.5,cD),dU=hU(.5,.95,aN);function hU(e,t,r){return n=>nt?1:r($D(e,t,n))}function fU(e,t){e.min=t.min,e.max=t.max}function pU(e,t){fU(e.x,t.x),fU(e.y,t.y)}function mU(e,t,r,n,i){return e=Dz(e-=t,1/r,n),void 0!==i&&(e=Dz(e,1/i,n)),e}function gU(e,t,[r,n,i],o,a){!function(e,t=0,r=1,n=.5,i,o=e,a=e){_L.test(t)&&(t=parseFloat(t),t=_D(a.min,a.max,t/100)-a.min);if("number"!==typeof t)return;let s=_D(o.min,o.max,n);e===o&&(s-=t),e.min=mU(e.min,t,r,s,i),e.max=mU(e.max,t,r,s,i)}(e,t[r],t[n],t[i],t.scale,o,a)}const vU=["x","scaleX","originX"],yU=["y","scaleY","originY"];function bU(e,t,r,n){gU(e.x,t,vU,r?r.x:void 0,n?n.x:void 0),gU(e.y,t,yU,r?r.y:void 0,n?n.y:void 0)}function wU(e){return 0===e.translate&&1===e.scale}function xU(e){return wU(e.x)&&wU(e.y)}function _U(e,t){return Math.round(e.x.min)===Math.round(t.x.min)&&Math.round(e.x.max)===Math.round(t.x.max)&&Math.round(e.y.min)===Math.round(t.y.min)&&Math.round(e.y.max)===Math.round(t.y.max)}function SU(e){return gz(e.x)/gz(e.y)}class kU{constructor(){this.members=[]}add(e){NB(this.members,e),e.scheduleRender()}remove(e){if(DB(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){const t=this.members.findIndex((t=>e===t));if(0===t)return!1;let r;for(let n=t;n>=0;n--){const e=this.members[n];if(!1!==e.isPresent){r=e;break}}return!!r&&(this.promote(r),!0)}promote(e,t){const r=this.lead;if(e!==r&&(this.prevLead=r,this.lead=e,e.show(),r)){r.instance&&r.scheduleRender(),e.scheduleRender(),e.resumeFrom=r,t&&(e.resumeFrom.preserveOpacity=!0),r.snapshot&&(e.snapshot=r.snapshot,e.snapshot.latestValues=r.animationValues||r.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:n}=e.options;!1===n&&r.hide()}}exitAnimationComplete(){this.members.forEach((e=>{const{options:t,resumingFrom:r}=e;t.onExitComplete&&t.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()}))}scheduleRender(){this.members.forEach((e=>{e.instance&&e.scheduleRender(!1)}))}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function EU(e,t,r){let n="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(n=`translate3d(${i}px, ${o}px, 0) `),1===t.x&&1===t.y||(n+=`scale(${1/t.x}, ${1/t.y}) `),r){const{rotate:e,rotateX:t,rotateY:i}=r;e&&(n+=`rotate(${e}deg) `),t&&(n+=`rotateX(${t}deg) `),i&&(n+=`rotateY(${i}deg) `)}const a=e.x.scale*t.x,s=e.y.scale*t.y;return 1===a&&1===s||(n+=`scale(${a}, ${s})`),n||"none"}const PU=(e,t)=>e.depth-t.depth;class OU{constructor(){this.children=[],this.isDirty=!1}add(e){NB(this.children,e),this.isDirty=!0}remove(e){DB(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(PU),this.isDirty=!1,this.children.forEach(e)}}const AU=["","X","Y","Z"];let TU=0;const jU={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function CU({attachResizeListener:e,defaultParent:t,measureScroll:r,checkIsScrollRoot:n,resetTransform:i}){return class{constructor(e={},r=(null===t||void 0===t?void 0:t())){this.id=TU++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{var e;jU.totalNodes=jU.resolvedTargetDeltas=jU.recalculatedProjection=0,this.nodes.forEach(MU),this.nodes.forEach(FU),this.nodes.forEach($U),this.nodes.forEach(LU),e=jU,window.MotionDebug&&window.MotionDebug.record(e)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=r?r.root||r:this,this.path=r?[...r.path,r]:[],this.parent=r,this.depth=r?r.depth+1:0;for(let t=0;tthis.root.updateBlockedByResize=!1;e(t,(()=>{this.root.updateBlockedByResize=!0,r&&r(),r=function(e,t){const r=performance.now(),n=({timestamp:i})=>{const o=i-r;o>=t&&(uN(n),e(o-t))};return lN.read(n,!0),()=>uN(n)}(n,250),Jz.hasAnimatedSinceResize&&(Jz.hasAnimatedSinceResize=!1,this.nodes.forEach(UU))}))}i&&this.root.registerSharedNode(i,this),!1!==this.options.animate&&a&&(i||o)&&this.addEventListener("didUpdate",(({delta:e,hasLayoutChanged:t,hasRelativeTargetChanged:r,layout:n})=>{if(this.isTreeAnimationBlocked())return this.target=void 0,void(this.relativeTarget=void 0);const i=this.options.transition||a.getDefaultTransition()||GU,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=a.getProps(),c=!this.targetLayout||!_U(this.targetLayout,n)||r,l=!t&&r;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(e,l);const t={...RB(i,"layout"),onPlay:o,onComplete:s};(a.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t)}else t||UU(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=n}))}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,uN(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(HU),this.animationId++)}getTransformTemplate(){const{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked())return void(this.options.onExitComplete&&this.options.onExitComplete());if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let i=0;ithis.update())))}clearAllSnapshots(){this.nodes.forEach(NU),this.sharedNodes.forEach(VU)}scheduleUpdateProjection(){lN.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){lN.postRender((()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()}))}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure())}updateLayout(){if(!this.instance)return;if(this.updateScroll(),(!this.options.alwaysMeasureLayout||!this.isLead())&&!this.isLayoutDirty)return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let r=0;r{const r=t/1e3;qU(o.x,e.x,r),qU(o.y,e.y,r),this.setTargetDelta(o),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(_z(a,this.layout.layoutBox,this.relativeParent.layout.layoutBox),function(e,t,r,n){KU(e.x,t.x,r.x,n),KU(e.y,t.y,r.y,n)}(this.relativeTarget,this.relativeTargetOrigin,a,r),d&&function(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||(d=Tz()),pU(d,this.relativeTarget)),s&&(this.animationValues=i,function(e,t,r,n,i,o){i?(e.opacity=_D(0,void 0!==r.opacity?r.opacity:1,uU(n)),e.opacityExit=_D(void 0!==t.opacity?t.opacity:1,0,dU(n))):o&&(e.opacity=_D(void 0!==t.opacity?t.opacity:1,void 0!==r.opacity?r.opacity:1,n));for(let a=0;a{Jz.hasAnimatedSinceResize=!0,this.currentAnimation=function(e,t,r){const n=iL(e)?e:FB(e);return n.start(IB("",n,t,r)),n.animation}(0,1e3,{...e,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onComplete:()=>{e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0}))}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const e=this.getLead();let{targetWithTransforms:t,target:r,layout:n,latestValues:i}=e;if(t&&r&&n){if(this!==e&&this.layout&&n&&JU(this.options.animationType,this.layout.layoutBox,n.layoutBox)){r=this.target||Tz();const t=gz(this.layout.layoutBox.x);r.x.min=e.target.x.min,r.x.max=r.x.min+t;const n=gz(this.layout.layoutBox.y);r.y.min=e.target.y.min,r.y.max=r.y.min+n}pU(t,r),Kz(t,i),bz(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new kU);this.sharedNodes.get(e).add(t);const r=t.options.initialPromotionConfig;t.promote({transition:r?r.transition:void 0,preserveFollowOpacity:r&&r.shouldPreserveFollowOpacity?r.shouldPreserveFollowOpacity(t):void 0})}isLead(){const e=this.getStack();return!e||e.lead===this}getLead(){var e;const{layoutId:t}=this.options;return t&&(null===(e=this.getStack())||void 0===e?void 0:e.lead)||this}getPrevLead(){var e;const{layoutId:t}=this.options;return t?null===(e=this.getStack())||void 0===e?void 0:e.prevLead:void 0}getStack(){const{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:r}={}){const n=this.getStack();n&&n.promote(this,r),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){const e=this.getStack();return!!e&&e.relegate(this)}resetRotation(){const{visualElement:e}=this.options;if(!e)return;let t=!1;const{latestValues:r}=e;if((r.rotate||r.rotateX||r.rotateY||r.rotateZ)&&(t=!0),!t)return;const n={};for(let i=0;i{var t;return null===(t=e.currentAnimation)||void 0===t?void 0:t.stop()})),this.root.nodes.forEach(DU),this.root.sharedNodes.clear()}}}function RU(e){e.updateLayout()}function IU(e){var t;const r=(null===(t=e.resumeFrom)||void 0===t?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&r&&e.hasListeners("didUpdate")){const{layoutBox:t,measuredBox:n}=e.layout,{animationType:i}=e.options,o=r.source!==e.layout.source;"size"===i?jz((e=>{const n=o?r.measuredBox[e]:r.layoutBox[e],i=gz(n);n.min=t[e].min,n.max=n.min+i})):JU(i,r.layoutBox,t)&&jz((n=>{const i=o?r.measuredBox[n]:r.layoutBox[n],a=gz(t[n]);i.max=i.min+a,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[n].max=e.relativeTarget[n].min+a)}));const a=Az();bz(a,t,r.layoutBox);const s=Az();o?bz(s,e.applyTransform(n,!0),r.measuredBox):bz(s,t,r.layoutBox);const c=!xU(a);let l=!1;if(!e.resumeFrom){const n=e.getClosestProjectingParent();if(n&&!n.resumeFrom){const{snapshot:i,layout:o}=n;if(i&&o){const a=Tz();_z(a,r.layoutBox,i.layoutBox);const s=Tz();_z(s,t,o.layoutBox),_U(a,s)||(l=!0),n.options.layoutRoot&&(e.relativeTarget=s,e.relativeTargetOrigin=a,e.relativeParent=n)}}}e.notifyListeners("didUpdate",{layout:t,snapshot:r,delta:s,layoutDelta:a,hasLayoutChanged:c,hasRelativeTargetChanged:l})}else if(e.isLead()){const{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function MU(e){jU.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=Boolean(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function LU(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function NU(e){e.clearSnapshot()}function DU(e){e.clearMeasurements()}function BU(e){e.isLayoutDirty=!1}function zU(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function UU(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function FU(e){e.resolveTargetDelta()}function $U(e){e.calcProjection()}function HU(e){e.resetRotation()}function VU(e){e.removeLeadSnapshot()}function qU(e,t,r){e.translate=_D(t.translate,0,r),e.scale=_D(t.scale,1,r),e.origin=t.origin,e.originPoint=t.originPoint}function KU(e,t,r,n){e.min=_D(t.min,r.min,n),e.max=_D(t.max,r.max,n)}function WU(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}const GU={duration:.45,ease:[.4,0,.1,1]},YU=e=>"undefined"!==typeof navigator&&navigator.userAgent.toLowerCase().includes(e),ZU=YU("applewebkit/")&&!YU("chrome/")?Math.round:aN;function XU(e){e.min=ZU(e.min),e.max=ZU(e.max)}function JU(e,t,r){return"position"===e||"preserve-aspect"===e&&!vz(SU(t),SU(r),.2)}const QU=CU({attachResizeListener:(e,t)=>mN(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),eF={current:void 0},tF=CU({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!eF.current){const e=new QU({});e.mount(window),e.setOptions({layoutScroll:!0}),eF.current=e}return eF.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:"none"},checkIsScrollRoot:e=>Boolean("fixed"===window.getComputedStyle(e).position)}),rF={pan:{Feature:class extends ON{constructor(){super(...arguments),this.removePointerDownListener=aN}onPointerDown(e){this.session=new lz(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:t,onPan:r,onPanEnd:n}=this.node.getProps();return{onSessionStart:Xz(e),onStart:Xz(t),onMove:r,onEnd:(e,t)=>{delete this.session,n&&lN.update((()=>n(e,t)))}}}mount(){this.removePointerDownListener=bN(this.node.current,"pointerdown",(e=>this.onPointerDown(e)))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}},drag:{Feature:class extends ON{constructor(e){super(e),this.removeGroupControls=aN,this.removeListeners=aN,this.controls=new Yz(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||aN}unmount(){this.removeGroupControls(),this.removeListeners()}},ProjectionNode:tF,MeasureLayout:nU}},nF=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;const iF=4;function oF(e,t,r=1){$N(r<=iF,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`);const[n,i]=function(e){const t=nF.exec(e);if(!t)return[,];const[,r,n]=t;return[r,n]}(e);if(!n)return;const o=window.getComputedStyle(t).getPropertyValue(n);if(o){const e=o.trim();return LB(e)?parseFloat(e):e}return lL(i)?oF(i,t,r+1):i}const aF=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),sF=e=>aF.has(e),cF=e=>e===hL||e===SL,lF=(e,t)=>parseFloat(e.split(", ")[t]),uF=(e,t)=>(r,{transform:n})=>{if("none"===n||!n)return 0;const i=n.match(/^matrix3d\((.+)\)$/);if(i)return lF(i[1],t);{const t=n.match(/^matrix\((.+)\)$/);return t?lF(t[1],e):0}},dF=new Set(["x","y","z"]),hF=tL.filter((e=>!dF.has(e)));const fF={width:({x:e},{paddingLeft:t="0",paddingRight:r="0"})=>e.max-e.min-parseFloat(t)-parseFloat(r),height:({y:e},{paddingTop:t="0",paddingBottom:r="0"})=>e.max-e.min-parseFloat(t)-parseFloat(r),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:uF(4,13),y:uF(5,14)};fF.translateX=fF.x,fF.translateY=fF.y;const pF=(e,t,r={},n={})=>{t={...t},n={...n};const i=Object.keys(t).filter(sF);let o=[],a=!1;const s=[];if(i.forEach((i=>{const c=e.getValue(i);if(!e.hasValue(i))return;let l=r[i],u=VB(l);const d=t[i];let h;if(eN(d)){const e=d.length,t=null===d[0]?1:0;l=d[t],u=VB(l);for(let r=t;r{const n=e.getValue(r);void 0!==n&&(t.push([r,n.get()]),n.set(r.startsWith("scale")?1:0))})),t.length&&e.render(),t}(e),a=!0),s.push(i),n[i]=void 0!==n[i]?n[i]:t[i],c.jump(d))})),s.length){const r=s.indexOf("height")>=0?window.pageYOffset:null,i=((e,t,r)=>{const n=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:a}=o,s={};"none"===a&&t.setStaticValue("display",e.display||"block"),r.forEach((e=>{s[e]=fF[e](n,o)})),t.render();const c=t.measureViewportBox();return r.forEach((r=>{const n=t.getValue(r);n&&n.jump(s[r]),e[r]=fF[r](c,o)})),e})(t,e,s);return o.length&&o.forEach((([t,r])=>{e.getValue(t).set(r)})),e.render(),RM&&null!==r&&window.scrollTo({top:r}),{target:i,transitionEnd:n}}return{target:t,transitionEnd:n}};function mF(e,t,r,n){return(e=>Object.keys(e).some(sF))(t)?pF(e,t,r,n):{target:t,transitionEnd:n}}const gF=(e,t,r,n)=>{const i=function(e,{...t},r){const n=e.current;if(!(n instanceof Element))return{target:t,transitionEnd:r};r&&(r={...r}),e.values.forEach((e=>{const t=e.get();if(!lL(t))return;const r=oF(t,n);r&&e.set(r)}));for(const i in t){const e=t[i];if(!lL(e))continue;const o=oF(e,n);o&&(t[i]=o,r||(r={}),void 0===r[i]&&(r[i]=e))}return{target:t,transitionEnd:r}}(e,t,n);return mF(e,t=i.target,r,n=i.transitionEnd)},vF={current:null},yF={current:!1};const bF=new WeakMap,wF=Object.keys(qM),xF=wF.length,_F=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],SF=zM.length;class kF{constructor({parent:e,props:t,presenceContext:r,reducedMotionConfig:n,visualState:i},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>lN.render(this.render,!1,!0);const{latestValues:a,renderState:s}=i;this.latestValues=a,this.baseTarget={...a},this.initialValues=t.initial?{...a}:{},this.renderState=s,this.parent=e,this.props=t,this.presenceContext=r,this.depth=e?e.depth+1:0,this.reducedMotionConfig=n,this.options=o,this.isControllingVariants=UM(t),this.isVariantNode=FM(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(e&&e.current);const{willChange:c,...l}=this.scrapeMotionValuesFromProps(t,{});for(const u in l){const e=l[u];void 0!==a[u]&&iL(e)&&(e.set(a[u],!1),MB(c)&&c.add(u))}}scrapeMotionValuesFromProps(e,t){return{}}mount(e){this.current=e,bF.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach(((e,t)=>this.bindToMotionValue(t,e))),yF.current||function(){if(yF.current=!0,RM)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>vF.current=e.matches;e.addListener(t),t()}else vF.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||vF.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){bF.delete(this.current),this.projection&&this.projection.unmount(),uN(this.notifyUpdate),uN(this.render),this.valueSubscriptions.forEach((e=>e())),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features)this.features[e].unmount();this.current=null}bindToMotionValue(e,t){const r=rL.has(e),n=t.on("change",(t=>{this.latestValues[e]=t,this.props.onUpdate&&lN.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)})),i=t.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(e,(()=>{n(),i()}))}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}loadFeatures({children:e,...t},r,n,i){let o,a;for(let s=0;sthis.scheduleRender(),animationType:"string"===typeof r?r:"both",initialPromotionConfig:i,layoutScroll:s,layoutRoot:c})}return a}updateFeatures(){for(const e in this.features){const t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Tz()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}makeTargetAnimatable(e,t=!0){return this.makeTargetAnimatableFromInstance(e,this.props,t)}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let r=0;r<_F.length;r++){const t=_F[r];this.propEventSubscriptions[t]&&(this.propEventSubscriptions[t](),delete this.propEventSubscriptions[t]);const n=e["on"+t];n&&(this.propEventSubscriptions[t]=this.on(t,n))}this.prevMotionValues=function(e,t,r){const{willChange:n}=t;for(const i in t){const o=t[i],a=r[i];if(iL(o))e.addValue(i,o),MB(n)&&n.add(i);else if(iL(a))e.addValue(i,FB(o,{owner:e})),MB(n)&&n.remove(i);else if(a!==o)if(e.hasValue(i)){const t=e.getValue(i);!t.hasAnimated&&t.set(o)}else{const t=e.getStaticValue(i);e.addValue(i,FB(void 0!==t?t:o,{owner:e}))}}for(const i in r)void 0===t[i]&&e.removeValue(i);return t}(this,this.scrapeMotionValuesFromProps(e,this.prevProps),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}getVariantContext(e=!1){if(e)return this.parent?this.parent.getVariantContext():void 0;if(!this.isControllingVariants){const e=this.parent&&this.parent.getVariantContext()||{};return void 0!==this.props.initial&&(e.initial=this.props.initial),e}const t={};for(let r=0;rt.variantChildren.delete(e)}addValue(e,t){t!==this.values.get(e)&&(this.removeValue(e),this.bindToMotionValue(e,t)),this.values.set(e,t),this.latestValues[e]=t.get()}removeValue(e){this.values.delete(e);const t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let r=this.values.get(e);return void 0===r&&void 0!==t&&(r=FB(t,{owner:this}),this.addValue(e,r)),r}readValue(e){var t;return void 0===this.latestValues[e]&&this.current?null!==(t=this.getBaseTargetFromProps(this.props,e))&&void 0!==t?t:this.readValueFromInstance(this.current,e,this.options):this.latestValues[e]}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const{initial:r}=this.props,n="string"===typeof r||"object"===typeof r?null===(t=JL(this.props,r))||void 0===t?void 0:t[e]:void 0;if(r&&void 0!==n)return n;const i=this.getBaseTargetFromProps(this.props,e);return void 0===i||iL(i)?void 0!==this.initialValues[e]&&void 0===n?void 0:this.baseTarget[e]:i}on(e,t){return this.events[e]||(this.events[e]=new BB),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}}class EF extends kF{sortInstanceNodePosition(e,t){return 2&e.compareDocumentPosition(t)?1:-1}getBaseTargetFromProps(e,t){return e.style?e.style[t]:void 0}removeValueFromRenderState(e,{vars:t,style:r}){delete t[e],delete r[e]}makeTargetAnimatableFromInstance({transition:e,transitionEnd:t,...r},{transformValues:n},i){let o=function(e,t,r){const n={};for(const i in e){const e=YB(i,t);if(void 0!==e)n[i]=e;else{const e=r.getValue(i);e&&(n[i]=e.get())}}return n}(r,e||{},this);if(n&&(t&&(t=n(t)),r&&(r=n(r)),o&&(o=n(o))),i){!function(e,t,r){var n,i;const o=Object.keys(t).filter((t=>!e.hasValue(t))),a=o.length;if(a)for(let s=0;s{this.current&&(this.current.textContent=`${e}`)})))}renderInstance(e,t,r,n){WL(e,t,r,n)}}class OF extends EF{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(rL.has(t)){const e=AB(t);return e&&e.default||0}return t=GL.has(t)?t:KL(t),e.getAttribute(t)}measureInstanceViewportBox(){return Tz()}scrapeMotionValuesFromProps(e,t){return XL(e,t)}build(e,t,r,n){FL(e,t,r,this.isSVGTag,n.transformTemplate)}renderInstance(e,t,r,n){YL(e,t,0,n)}mount(e){this.isSVGTag=HL(e.tagName),super.mount(e)}}const AF=(e,t)=>QM(e)?new OF(t,{enableHardwareAcceleration:!1}):new PF(t,{enableHardwareAcceleration:!0}),TF={...sz,...DN,...rF,...{layout:{ProjectionNode:tF,MeasureLayout:nU}}},jF=XM(((e,t)=>function(e,{forwardMotionProps:t=!1},r,n){return{...QM(e)?fN:pN,preloadedFeatures:r,useRender:qL(t),createVisualElement:n,Component:e}}(e,t,TF,AF)));var CF={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let n=["top-right","bottom-right"].includes(t)?1:-1;return"bottom"===t&&(n=1),{opacity:0,[r]:24*n}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},RF=(0,t.memo)((e=>{const{id:r,message:n,onCloseComplete:i,onRequestRemove:o,requestClose:a=!1,position:s="bottom",duration:c=5e3,containerStyle:l,motionVariants:u=CF,toastSpacing:d="0.5rem"}=e,[h,f]=(0,t.useState)(c),p=TM();PM((()=>{p||null==i||i()}),[p]),PM((()=>{f(c)}),[c]);const m=()=>{p&&o()};(0,t.useEffect)((()=>{p&&a&&o()}),[p,a,o]),function(e,r){const n=EM(e);(0,t.useEffect)((()=>{if(null==r)return;let e=null;return e=window.setTimeout((()=>{n()}),r),()=>{e&&window.clearTimeout(e)}}),[r,n])}(m,h);const g=(0,t.useMemo)((()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:d,...l})),[l,d]),v=(0,t.useMemo)((()=>function(e){let t="center";return e.includes("right")&&(t="flex-end"),e.includes("left")&&(t="flex-start"),{display:"flex",flexDirection:"column",alignItems:t}}(s)),[s]);return(0,Yn.jsx)(jF.div,{layout:!0,className:"chakra-toast",variants:u,initial:"initial",animate:"animate",exit:"exit",onHoverStart:()=>f(null),onHoverEnd:()=>f(c),custom:{position:s},style:v,children:(0,Yn.jsx)(Gn.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:g,children:ae(n,{id:r,onClose:m})})})}));function IF(e,t){var r;const n=null!=e?e:"bottom",i={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[n];return null!=(r=null==i?void 0:i[t])?r:n}RF.displayName="ToastComponent";var MF={path:(0,Yn.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",children:[(0,Yn.jsx)("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),(0,Yn.jsx)("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),(0,Yn.jsx)("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},LF=re(((e,t)=>{const{as:r,viewBox:n,color:i="currentColor",focusable:o=!1,children:a,className:s,__css:c,...l}=e,u={ref:t,focusable:o,className:ne("chakra-icon",s),__css:{w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...c,...si("Icon",e)}},d=null!=n?n:MF.viewBox;if(r&&"string"!==typeof r)return(0,Yn.jsx)(Gn.svg,{as:r,...u,...l});const h=null!=a?a:MF.path;return(0,Yn.jsx)(Gn.svg,{verticalAlign:"middle",viewBox:d,...u,...l,children:h})}));LF.displayName="Icon";function NF(e){return(0,Yn.jsx)(LF,{viewBox:"0 0 24 24",...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[DF,BF]=ui({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[zF,UF]=ui({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),FF={info:{icon:function(e){return(0,Yn.jsx)(LF,{viewBox:"0 0 24 24",...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})},colorScheme:"blue"},warning:{icon:NF,colorScheme:"orange"},success:{icon:function(e){return(0,Yn.jsx)(LF,{viewBox:"0 0 24 24",...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})},colorScheme:"green"},error:{icon:NF,colorScheme:"red"},loading:{icon:yi,colorScheme:"blue"}};var $F=re((function(e,t){var r;const{status:n="info",addRole:i=!0,...o}=Jt(e),a=null!=(r=e.colorScheme)?r:function(e){return FF[e].colorScheme}(n),s=ci("Alert",{...e,colorScheme:a}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...s.container};return(0,Yn.jsx)(DF,{value:{status:n},children:(0,Yn.jsx)(zF,{value:s,children:(0,Yn.jsx)(Gn.div,{"data-status":n,role:i?"alert":void 0,ref:t,...o,className:ne("chakra-alert",e.className),__css:c})})})}));function HF(e){const{status:t}=BF(),r=function(e){return FF[e].icon}(t),n=UF(),i="loading"===t?n.spinner:n.icon;return(0,Yn.jsx)(Gn.span,{display:"inherit","data-status":t,...e,className:ne("chakra-alert__icon",e.className),__css:i,children:e.children||(0,Yn.jsx)(r,{h:"100%",w:"100%"})})}$F.displayName="Alert",HF.displayName="AlertIcon";var VF=re((function(e,t){const r=UF(),{status:n}=BF();return(0,Yn.jsx)(Gn.div,{ref:t,"data-status":n,...e,className:ne("chakra-alert__title",e.className),__css:r.title})}));VF.displayName="AlertTitle";var qF=re((function(e,t){const r=UF(),{status:n}=BF(),i={display:"inline",...r.description};return(0,Yn.jsx)(Gn.div,{ref:t,"data-status":n,...e,className:ne("chakra-alert__desc",e.className),__css:i})}));function KF(e){return(0,Yn.jsx)(LF,{focusable:"false","aria-hidden":!0,...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}qF.displayName="AlertDescription";var WF=re((function(e,t){const r=si("CloseButton",e),{children:n,isDisabled:i,__css:o,...a}=Jt(e);return(0,Yn.jsx)(Gn.button,{type:"button","aria-label":"Close",ref:t,disabled:i,__css:{outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,...r,...o},...a,children:n||(0,Yn.jsx)(KF,{width:"1em",height:"1em"})})}));WF.displayName="CloseButton";var GF=function(e){let t=e;const r=new Set,n=e=>{t=e(t),r.forEach((e=>e()))};return{getState:()=>t,subscribe:t=>(r.add(t),()=>{n((()=>e)),r.delete(t)}),removeToast:(e,t)=>{n((r=>({...r,[t]:r[t].filter((t=>t.id!=e))})))},notify:(e,t)=>{const r=function(e,t={}){var r,n;YF+=1;const i=null!=(r=t.id)?r:YF,o=null!=(n=t.position)?n:"bottom";return{id:i,message:e,position:o,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>GF.removeToast(String(i),o),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}(e,t),{position:i,id:o}=r;return n((e=>{var t,n;const o=i.includes("top")?[r,...null!=(t=e[i])?t:[]]:[...null!=(n=e[i])?n:[],r];return{...e,[i]:o}})),o},update:(e,t)=>{e&&n((r=>{const n={...r},{position:i,index:o}=_M(n,e);return i&&-1!==o&&(n[i][o]={...n[i][o],...t,message:XF(t)}),n}))},closeAll:({positions:e}={})=>{n((t=>(null!=e?e:["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce(((e,r)=>(e[r]=t[r].map((e=>({...e,requestClose:!0}))),e)),{...t})))},close:e=>{n((t=>{const r=SM(t,e);return r?{...t,[r]:t[r].map((t=>t.id==e?{...t,requestClose:!0}:t))}:t}))},isActive:e=>Boolean(_M(GF.getState(),e).position)}}({top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]});var YF=0;var ZF=e=>{const{status:t,variant:r="solid",id:n,title:i,isClosable:o,onClose:a,description:s,colorScheme:c,icon:l}=e,u=n?{root:`toast-${n}`,title:`toast-${n}-title`,description:`toast-${n}-description`}:void 0;return(0,Yn.jsxs)($F,{addRole:!1,status:t,variant:r,id:null==u?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:c,children:[(0,Yn.jsx)(HF,{children:l}),(0,Yn.jsxs)(Gn.div,{flex:"1",maxWidth:"100%",children:[i&&(0,Yn.jsx)(VF,{id:null==u?void 0:u.title,children:i}),s&&(0,Yn.jsx)(qF,{id:null==u?void 0:u.description,display:"block",children:s})]}),o&&(0,Yn.jsx)(WF,{size:"sm",onClick:a,position:"absolute",insetEnd:1,top:1})]})};function XF(e={}){const{render:t,toastComponent:r=ZF}=e;return n=>"function"===typeof t?t({...n,...e}):(0,Yn.jsx)(r,{...n,...e})}function JF(){const e=(0,t.useRef)(!1);return IM((()=>(e.current=!0,()=>{e.current=!1})),[]),e}class QF extends t.Component{getSnapshotBeforeUpdate(e){const t=this.props.childRef.current;if(t&&e.isPresent&&!this.props.isPresent){const e=this.props.sizeRef.current;e.height=t.offsetHeight||0,e.width=t.offsetWidth||0,e.top=t.offsetTop,e.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function e$({children:e,isPresent:r}){const n=(0,t.useId)(),i=(0,t.useRef)(null),o=(0,t.useRef)({width:0,height:0,top:0,left:0});return(0,t.useInsertionEffect)((()=>{const{width:e,height:t,top:a,left:s}=o.current;if(r||!i.current||!e||!t)return;i.current.dataset.motionPopId=n;const c=document.createElement("style");return document.head.appendChild(c),c.sheet&&c.sheet.insertRule(`\n [data-motion-pop-id="${n}"] {\n position: absolute !important;\n width: ${e}px !important;\n height: ${t}px !important;\n top: ${a}px !important;\n left: ${s}px !important;\n }\n `),()=>{document.head.removeChild(c)}}),[r]),t.createElement(QF,{isPresent:r,childRef:i,sizeRef:o},t.cloneElement(e,{ref:i}))}const t$=({children:e,initial:r,isPresent:n,onExitComplete:i,custom:o,presenceAffectsLayout:a,mode:s})=>{const c=QL(r$),l=(0,t.useId)(),u=(0,t.useMemo)((()=>({id:l,initial:r,isPresent:n,custom:o,onExitComplete:e=>{c.set(e,!0);for(const t of c.values())if(!t)return;i&&i()},register:e=>(c.set(e,!1),()=>c.delete(e))})),a?void 0:[n]);return(0,t.useMemo)((()=>{c.forEach(((e,t)=>c.set(t,!1)))}),[n]),t.useEffect((()=>{!n&&!c.size&&i&&i()}),[n]),"popLayout"===s&&(e=t.createElement(e$,{isPresent:n},e)),t.createElement(OM.Provider,{value:u},e)};function r$(){return new Map}const n$=e=>e.key||"";const i$=({children:e,custom:r,initial:n=!0,onExitComplete:i,exitBeforeEnter:o,presenceAffectsLayout:a=!0,mode:s="sync"})=>{$N(!o,"Replace exitBeforeEnter with mode='wait'");const c=(0,t.useContext)(KM).forceRender||function(){const e=JF(),[r,n]=(0,t.useState)(0),i=(0,t.useCallback)((()=>{e.current&&n(r+1)}),[r]);return[(0,t.useCallback)((()=>lN.postRender(i)),[i]),r]}()[0],l=JF(),u=function(e){const r=[];return t.Children.forEach(e,(e=>{(0,t.isValidElement)(e)&&r.push(e)})),r}(e);let d=u;const h=(0,t.useRef)(new Map).current,f=(0,t.useRef)(d),p=(0,t.useRef)(new Map).current,m=(0,t.useRef)(!0);var g;if(IM((()=>{m.current=!1,function(e,t){e.forEach((e=>{const r=n$(e);t.set(r,e)}))}(u,p),f.current=d})),g=()=>{m.current=!0,p.clear(),h.clear()},(0,t.useEffect)((()=>()=>g()),[]),m.current)return t.createElement(t.Fragment,null,d.map((e=>t.createElement(t$,{key:n$(e),isPresent:!0,initial:!!n&&void 0,presenceAffectsLayout:a,mode:s},e))));d=[...d];const v=f.current.map(n$),y=u.map(n$),b=v.length;for(let t=0;t{if(-1!==y.indexOf(n))return;const o=p.get(n);if(!o)return;const m=v.indexOf(n);let g=e;if(!g){const e=()=>{p.delete(n),h.delete(n);const e=f.current.findIndex((e=>e.key===n));if(f.current.splice(e,1),!h.size){if(f.current=u,!1===l.current)return;c(),i&&i()}};g=t.createElement(t$,{key:n$(o),isPresent:!1,onExitComplete:e,custom:r,presenceAffectsLayout:a,mode:s},o),h.set(n,g)}d.splice(m,0,g)})),d=d.map((e=>{const r=e.key;return h.has(r)?e:t.createElement(t$,{key:n$(e),isPresent:!0,presenceAffectsLayout:a,mode:s},e)})),t.createElement(t.Fragment,null,h.size?d:d.map((e=>(0,t.cloneElement)(e))))};var[o$,a$]=ui({strict:!1,name:"PortalContext"}),s$="chakra-portal",c$=e=>(0,Yn.jsx)("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),l$=e=>{const{appendToParentPortal:r,children:n}=e,[i,o]=(0,t.useState)(null),a=(0,t.useRef)(null),[,s]=(0,t.useState)({});(0,t.useEffect)((()=>s({})),[]);const c=a$(),l=gO();jO((()=>{if(!i)return;const e=i.ownerDocument,t=r&&null!=c?c:e.body;if(!t)return;a.current=e.createElement("div"),a.current.className=s$,t.appendChild(a.current),s({});const n=a.current;return()=>{t.contains(n)&&t.removeChild(n)}}),[i]);const u=(null==l?void 0:l.zIndex)?(0,Yn.jsx)(c$,{zIndex:null==l?void 0:l.zIndex,children:n}):n;return a.current?(0,Ri.createPortal)((0,Yn.jsx)(o$,{value:a.current,children:u}),a.current):(0,Yn.jsx)("span",{ref:e=>{e&&o(e)}})},u$=e=>{const{children:r,containerRef:n,appendToParentPortal:i}=e,o=n.current,a=null!=o?o:"undefined"!==typeof window?document.body:void 0,s=(0,t.useMemo)((()=>{const e=null==o?void 0:o.ownerDocument.createElement("div");return e&&(e.className=s$),e}),[o]),[,c]=(0,t.useState)({});return jO((()=>c({})),[]),jO((()=>{if(s&&a)return a.appendChild(s),()=>{a.removeChild(s)}}),[s,a]),a&&s?(0,Ri.createPortal)((0,Yn.jsx)(o$,{value:i?s:null,children:r}),s):null};function d$(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...n}=t;return r?(0,Yn.jsx)(u$,{containerRef:r,...n}):(0,Yn.jsx)(l$,{...n})}d$.className=s$,d$.selector=".chakra-portal",d$.displayName="Portal";var[h$,f$]=ui({name:"ToastOptionsContext",strict:!1}),p$=e=>{const r=(0,t.useSyncExternalStore)(GF.subscribe,GF.getState,GF.getState),{motionVariants:n,component:i=RF,portalProps:o}=e,a=Object.keys(r).map((e=>{const t=r[e];return(0,Yn.jsx)("div",{role:"region","aria-live":"polite","aria-label":`Notifications-${e}`,id:`chakra-toast-manager-${e}`,style:kM(e),children:(0,Yn.jsx)(i$,{initial:!1,children:t.map((e=>(0,Yn.jsx)(i,{motionVariants:n,...e},e.id)))})},e)}));return(0,Yn.jsx)(d$,{...o,children:a})},m$=e=>function({children:t,theme:r=e,toastOptions:n,...i}){return(0,Yn.jsxs)(NO,{theme:r,...i,children:[(0,Yn.jsx)(h$,{value:null==n?void 0:n.defaultOptions,children:t}),(0,Yn.jsx)(p$,{...n})]})},g$=m$(bM),v$=(m$(wM),new Set(["dark","light","system"]));function y$(e={}){const{initialColorMode:t="light",type:r="localStorage",storageKey:n="chakra-ui-color-mode"}=e,i=function(e){let t=e;return v$.has(t)||(t="light"),t}(t);return`!${"cookie"===r?`(function(){try{var a=function(o){var l="(prefers-color-scheme: dark)",v=window.matchMedia(l).matches?"dark":"light",e=o==="system"?v:o,d=document.documentElement,m=document.body,i="chakra-ui-light",n="chakra-ui-dark",s=e==="dark";return m.classList.add(s?n:i),m.classList.remove(s?i:n),d.style.colorScheme=e,d.dataset.theme=e,e},u=a,h="${i}",r="${n}",t=document.cookie.match(new RegExp("(^| )".concat(r,"=([^;]+)"))),c=t?t[2]:null;c?a(c):document.cookie="".concat(r,"=").concat(a(h),"; max-age=31536000; path=/")}catch(a){}})();\n `:`(function(){try{var a=function(c){var v="(prefers-color-scheme: dark)",h=window.matchMedia(v).matches?"dark":"light",r=c==="system"?h:c,o=document.documentElement,s=document.body,l="chakra-ui-light",d="chakra-ui-dark",i=r==="dark";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.theme=r,r},n=a,m="${i}",e="${n}",t=localStorage.getItem(e);t?a(t):localStorage.setItem(e,a(m))}catch(a){}})();\n `}`.trim()}function b$(e={}){const{nonce:t}=e;return(0,Yn.jsx)("script",{id:"chakra-script",nonce:t,dangerouslySetInnerHTML:{__html:y$(e)}})}var w$=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function x$(e){return"function"===typeof e}var _$=e=>function(...t){let r=[...t],n=t[t.length-1];var i;return ie(i=n)&&w$.every((e=>Object.prototype.hasOwnProperty.call(i,e)))&&r.length>1?r=r.slice(0,r.length-1):n=e,function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}(...r.map((e=>t=>x$(e)?e(t):function(...e){return he({},...e,k$)}(t,e))))(n)},S$=_$(bM);_$(wM);function k$(e,t,r,n){if((x$(e)||x$(t))&&Object.prototype.hasOwnProperty.call(n,r))return(...r)=>{const n=x$(e)?e(...r):e,i=x$(t)?t(...r):t;return he({},n,i,k$)}}const E$={orange:"#FB4F57",orangeL:"#FC7884",blue:"#0D99FF",blueL:"#4FA2FF",green:"#00C39A",greenL:"#00E7B6",black:"#000000",white:"#FFFFFF",gray:{900:"#121212",800:"#181818",700:"#282828",600:"#2C2B2B",500:"#414141",450:"#707070",400:"#C2C2C2",300:"#D6D6D6",200:"#EBEBEB",100:"#F0F0F0",50:"#F5F5F5"}},P$={borderRadius:"full",bg:E$.gray[600],_disabled:{bg:E$.gray[700],color:E$.gray[450]},_hover:{color:E$.green,bg:E$.gray[500],_disabled:{bg:E$.gray[700],color:E$.gray[450]}}},O$={sizes:{md:{height:"38px",fontSize:"14px",minWidth:"38px"},lg:{height:"48px",fontSize:"16px",minWidth:"48px"}},variants:{primary:{bg:E$.blue,_disabled:{bg:E$.gray[500],color:E$.gray[450],opacity:1},_hover:{_disabled:{bg:E$.gray[500],color:E$.gray[450],opacity:1},bg:E$.blueL}},secondary:{border:"1px solid",borderColor:E$.green,_disabled:{color:E$.gray[450],borderColor:E$.gray[500],opacity:1},_hover:{bg:E$.green,_disabled:{color:E$.gray[450],borderColor:E$.gray[500],opacity:1}}},tertiary:{bg:"transparent",border:"1px solid",borderColor:E$.gray[500],_disabled:{color:E$.gray[450],opacity:1},_hover:{border:"1px solid",borderColor:E$.gray[600],bg:E$.gray[600],_disabled:{borderColor:E$.gray[500],color:E$.gray[450],opacity:1}}},warning:{bg:E$.orange,_disabled:{bg:E$.gray[500],color:E$.gray[450],opacity:1},_hover:{bg:E$.orangeL,_disabled:{bg:E$.gray[500],color:E$.gray[450],opacity:1}}},circle_without_hover_color:{...P$,_hover:{color:E$.green,_disabled:{bg:E$.gray[700],color:E$.gray[450]}}},circle_without_color:P$,circle:{...P$,color:E$.gray[300]},specialCTA:{color:E$.greenL,_hover:{color:E$.green}},CTAWithIcon:{padding:"8px 7px",color:E$.gray[300],_hover:{color:E$.green},_disabled:{color:E$.gray[450]}},popover:{color:E$.gray[300],stroke:E$.gray[450],width:"100%",padding:0,height:"24px",justifyContent:"end",_hover:{color:E$.green,stroke:E$.green}}},defaultProps:{variant:"primary",size:"md"}},{definePartsStyle:A$,defineMultiStyleConfig:T$}=Yt(lA.keys),j$=T$({baseStyle:A$({icon:{color:"white"},control:{marginTop:"-20px",width:"20px",height:"20px",borderWidth:"2px",borderColor:E$.gray[400],borderRadius:"2px",_checked:{borderColor:E$.green,bg:E$.green,color:E$.white,_hover:{bg:E$.green,borderColor:E$.green}}}})}),{definePartsStyle:C$,defineMultiStyleConfig:R$}=Yt(uA.keys),I$=R$({baseStyle:C$((e=>({body:{padding:"18px 30px 30px 30px"},dialog:{bg:E$.gray[900]}}))),sizes:{md:{dialog:{maxW:"594px"}}},defaultProps:{size:"md"}}),{definePartsStyle:M$,defineMultiStyleConfig:L$}=Yt(mA.keys),N$=L$({variants:{onboardingNotice:M$({item:{"&::marker":{color:E$.gray[400]}}})}}),{definePartsStyle:D$,defineMultiStyleConfig:B$}=Yt(vA.keys),z$={top:"10px",position:"absolute",color:E$.gray[400],borderRadius:"18px"},U$={...z$,insetEnd:"10px"},F$={...z$,insetStart:"10px"},$$=B$({baseStyle:D$({dialog:{padding:"40px",_dark:{bg:E$.gray[900],border:"1px solid",borderColor:E$.gray[700],borderRadius:"8px"}},overlay:{_dark:{bg:"rgba(0, 0, 0, 0.85)"}},closeButton:U$,body:{padding:0},footer:{padding:"32px 0 0 0"},header:{padding:0}}),sizes:{md:{dialog:{maxW:"482px"}}}}),{definePartsStyle:H$,defineMultiStyleConfig:V$}=Yt(xA.keys),q$=V$({variants:{primary:H$({control:{height:"16px",width:"16px",_dark:{borderColor:E$.gray[400]},_checked:{backgroundColor:E$.green,borderColor:E$.green,border:"none",color:"white"}}})}}),{definePartsStyle:K$,defineMultiStyleConfig:W$}=Yt(OA.keys),G$={xs:{fontSize:"12px"},sm:{fontSize:"14px"},md:{fontSize:"16px"},lg:{fontSize:"18px"},xl:{fontSize:"20px"},"2xl":{fontSize:"24px"},"3xl":{fontSize:"30px"},"4xl":{fontSize:"36px"},"5xl":{fontSize:"48px"},"6xl":{fontSize:"69px"}},Y$=S$({components:{Tabs:W$({baseStyle:K$({tab:{_selected:{fontWeight:600,color:E$.white,borderColor:E$.orange,borderBottom:`2px solid ${E$.orange}`}}})}),Text:{baseStyle:{fontWeight:"400"},sizes:G$},Heading:{baseStyle:{fontWeight:"600"},sizes:G$},Checkbox:j$,Input:{sizes:{md:{field:{height:"48px"}}},defaultProps:{variant:"filled"},variants:{filled:{field:{bg:E$.gray[800],border:"1px solid",borderColor:E$.gray[500],_invalid:{borderColor:E$.orange},_hover:{bg:E$.gray[800]},_focusVisible:{bg:E$.gray[800],borderColor:E$.gray[450]}}}}},Button:O$,FormLabel:{baseStyle:{fontWeight:"600",marginBottom:"12px",size:"md"},sizes:G$},Modal:$$,Drawer:I$,Radio:q$,List:N$},config:{initialColorMode:"dark",useSystemColorMode:!1},colors:{umami:E$,text:{dark:E$.gray[400]}},styles:{global:{body:{bg:E$.black,color:E$.white}}}}),Z$=e=>(0,Yn.jsxs)(g$,{theme:Y$,children:[(0,Yn.jsx)(b$,{initialColorMode:Y$.config.initialColorMode}),e.children]});function X$(){return X$=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function aH(e,t,r,n){void 0===n&&(n={});let{window:i=document.defaultView,v5Compat:o=!1}=n,a=i.history,s=J$.Pop,c=null,l=u();function u(){return(a.state||{idx:null}).idx}function d(){s=J$.Pop;let e=u(),t=null==e?null:e-l;l=e,c&&c({action:s,location:f.location,delta:t})}function h(e){let t="null"!==i.location.origin?i.location.origin:i.location.href,r="string"===typeof e?e:iH(e);return eH(t,"No window.location.(origin|href) available to create URL for href: "+r),new URL(r,t)}null==l&&(l=0,a.replaceState(X$({},a.state,{idx:l}),""));let f={get action(){return s},get location(){return e(i,a)},listen(e){if(c)throw new Error("A history only accepts one active listener");return i.addEventListener(Q$,d),c=e,()=>{i.removeEventListener(Q$,d),c=null}},createHref:e=>t(i,e),createURL:h,encodeLocation(e){let t=h(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){s=J$.Push;let n=nH(f.location,e,t);r&&r(n,e),l=u()+1;let d=rH(n,l),h=f.createHref(n);try{a.pushState(d,"",h)}catch(p){if(p instanceof DOMException&&"DataCloneError"===p.name)throw p;i.location.assign(h)}o&&c&&c({action:s,location:f.location,delta:1})},replace:function(e,t){s=J$.Replace;let n=nH(f.location,e,t);r&&r(n,e),l=u();let i=rH(n,l),d=f.createHref(n);a.replaceState(i,"",d),o&&c&&c({action:s,location:f.location,delta:0})},go:e=>a.go(e)};return f}var sH;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(sH||(sH={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function cH(e,t,r){void 0===r&&(r="/");let n=_H(("string"===typeof t?oH(t):t).pathname||"/",r);if(null==n)return null;let i=lH(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let r=e.length===t.length&&e.slice(0,-1).every(((e,r)=>e===t[r]));return r?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(i);let o=null;for(let a=0;null==o&&a{let a={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:i,route:e};a.relativePath.startsWith("/")&&(eH(a.relativePath.startsWith(n),'Absolute route path "'+a.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),a.relativePath=a.relativePath.slice(n.length));let s=OH([n,a.relativePath]),c=r.concat(a);e.children&&e.children.length>0&&(eH(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),lH(e.children,t,c,s)),(null!=e.path||e.index)&&t.push({path:s,score:yH(s,e.index),routesMeta:c})};return e.forEach(((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let n of uH(e.path))i(e,t,n);else i(e,t)})),t}function uH(e){let t=e.split("/");if(0===t.length)return[];let[r,...n]=t,i=r.endsWith("?"),o=r.replace(/\?$/,"");if(0===n.length)return i?[o,""]:[o];let a=uH(n.join("/")),s=[];return s.push(...a.map((e=>""===e?o:[o,e].join("/")))),i&&s.push(...a),s.map((t=>e.startsWith("/")&&""===t?"/":t))}const dH=/^:\w+$/,hH=3,fH=2,pH=1,mH=10,gH=-2,vH=e=>"*"===e;function yH(e,t){let r=e.split("/"),n=r.length;return r.some(vH)&&(n+=gH),t&&(n+=fH),r.filter((e=>!vH(e))).reduce(((e,t)=>e+(dH.test(t)?hH:""===t?pH:mH)),n)}function bH(e,t){let{routesMeta:r}=e,n={},i="/",o=[];for(let a=0;a(n.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(n.push({paramName:"*"}),i+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?i+="\\/*$":""!==e&&"/"!==e&&(i+="(?:(?=\\/|$))");let o=new RegExp(i,t?void 0:"i");return[o,n]}(e.path,e.caseSensitive,e.end),i=t.match(r);if(!i)return null;let o=i[0],a=o.replace(/(.)\/+$/,"$1"),s=i.slice(1),c=n.reduce(((e,t,r)=>{let{paramName:n,isOptional:i}=t;if("*"===n){let e=s[r]||"";a=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const c=s[r];return e[n]=i&&!c?void 0:function(e,t){try{return decodeURIComponent(e)}catch(r){return tH(!1,'The value for the URL param "'+t+'" will not be decoded because the string "'+e+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+r+")."),e}}(c||"",n),e}),{});return{params:c,pathname:o,pathnameBase:a,pattern:e}}function xH(e){try{return decodeURI(e)}catch(t){return tH(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function _H(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function SH(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in and the router will parse it for you.'}function kH(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function EH(e,t){let r=kH(e);return t?r.map(((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)):r.map((e=>e.pathnameBase))}function PH(e,t,r,n){let i;void 0===n&&(n=!1),"string"===typeof e?i=oH(e):(i=X$({},e),eH(!i.pathname||!i.pathname.includes("?"),SH("?","pathname","search",i)),eH(!i.pathname||!i.pathname.includes("#"),SH("#","pathname","hash",i)),eH(!i.search||!i.search.includes("#"),SH("#","search","hash",i)));let o,a=""===e||""===i.pathname,s=a?"/":i.pathname;if(null==s)o=r;else{let e=t.length-1;if(!n&&s.startsWith("..")){let t=s.split("/");for(;".."===t[0];)t.shift(),e-=1;i.pathname=t.join("/")}o=e>=0?t[e]:"/"}let c=function(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:i=""}="string"===typeof e?oH(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)})),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:TH(n),hash:jH(i)}}(i,o),l=s&&"/"!==s&&s.endsWith("/"),u=(a||"."===s)&&r.endsWith("/");return c.pathname.endsWith("/")||!l&&!u||(c.pathname+="/"),c}const OH=e=>e.join("/").replace(/\/\/+/g,"/"),AH=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),TH=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",jH=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;function CH(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const RH=["post","put","patch","delete"],IH=(new Set(RH),["get",...RH]);new Set(IH),new Set([301,302,303,307,308]),new Set([307,308]);Symbol("deferred");function MH(){return MH=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.current=!0}));let i=t.useCallback((function(t,i){void 0===i&&(i={}),n.current&&("number"===typeof t?e.navigate(t):e.navigate(t,MH({fromRouteId:r},i)))}),[e,r]);return i}():function(){FH()||eH(!1);let e=t.useContext(LH),{basename:r,future:n,navigator:i}=t.useContext(DH),{matches:o}=t.useContext(zH),{pathname:a}=$H(),s=JSON.stringify(EH(o,n.v7_relativeSplatPath)),c=t.useRef(!1);HH((()=>{c.current=!0}));let l=t.useCallback((function(t,n){if(void 0===n&&(n={}),!c.current)return;if("number"===typeof t)return void i.go(t);let o=PH(t,JSON.parse(s),a,"path"===n.relative);null==e&&"/"!==r&&(o.pathname="/"===o.pathname?r:OH([r,o.pathname])),(n.replace?i.replace:i.push)(o,n.state,n)}),[r,i,s,a,e]);return l}()}function qH(e,r){let{relative:n}=void 0===r?{}:r,{future:i}=t.useContext(DH),{matches:o}=t.useContext(zH),{pathname:a}=$H(),s=JSON.stringify(EH(o,i.v7_relativeSplatPath));return t.useMemo((()=>PH(e,JSON.parse(s),a,"path"===n)),[e,s,a,n])}function KH(e,r,n,i){FH()||eH(!1);let{navigator:o}=t.useContext(DH),{matches:a}=t.useContext(zH),s=a[a.length-1],c=s?s.params:{},l=(s&&s.pathname,s?s.pathnameBase:"/");s&&s.route;let u,d=$H();if(r){var h;let e="string"===typeof r?oH(r):r;"/"===l||(null==(h=e.pathname)?void 0:h.startsWith(l))||eH(!1),u=e}else u=d;let f=u.pathname||"/",p=cH(e,{pathname:"/"===l?f:f.slice(l.length)||"/"});let m=XH(p&&p.map((e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:OH([l,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?l:OH([l,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),a,n,i);return r&&m?t.createElement(BH.Provider,{value:{location:MH({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:J$.Pop}},m):m}function WH(){let e=function(){var e;let r=t.useContext(UH),n=tV(QH.UseRouteError),i=rV(QH.UseRouteError);if(void 0!==r)return r;return null==(e=n.errors)?void 0:e[i]}(),r=CH(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:i};return t.createElement(t.Fragment,null,t.createElement("h2",null,"Unexpected Application Error!"),t.createElement("h3",{style:{fontStyle:"italic"}},r),n?t.createElement("pre",{style:o},n):null,null)}const GH=t.createElement(WH,null);class YH extends t.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?t.createElement(zH.Provider,{value:this.props.routeContext},t.createElement(UH.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ZH(e){let{routeContext:r,match:n,children:i}=e,o=t.useContext(LH);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),t.createElement(zH.Provider,{value:r},i)}function XH(e,r,n,i){var o;if(void 0===r&&(r=[]),void 0===n&&(n=null),void 0===i&&(i=null),null==e){var a;if(null==(a=n)||!a.errors)return null;e=n.matches}let s=e,c=null==(o=n)?void 0:o.errors;if(null!=c){let e=s.findIndex((e=>e.route.id&&(null==c?void 0:c[e.route.id])));e>=0||eH(!1),s=s.slice(0,Math.min(s.length,e+1))}let l=!1,u=-1;if(n&&i&&i.v7_partialHydration)for(let t=0;t=0?s.slice(0,u+1):[s[0]];break}}}return s.reduceRight(((e,i,o)=>{let a,d=!1,h=null,f=null;n&&(a=c&&i.route.id?c[i.route.id]:void 0,h=i.route.errorElement||GH,l&&(u<0&&0===o?(!function(e,t,r){t||nV[e]||(nV[e]=!0)}("route-fallback",!1),d=!0,f=null):u===o&&(d=!0,f=i.route.hydrateFallbackElement||null)));let p=r.concat(s.slice(0,o+1)),m=()=>{let r;return r=a?h:d?f:i.route.Component?t.createElement(i.route.Component,null):i.route.element?i.route.element:e,t.createElement(ZH,{match:i,routeContext:{outlet:e,matches:p,isDataRoute:null!=n},children:r})};return n&&(i.route.ErrorBoundary||i.route.errorElement||0===o)?t.createElement(YH,{location:n.location,revalidation:n.revalidation,component:h,error:a,children:m(),routeContext:{outlet:null,matches:p,isDataRoute:!0}}):m()}),null)}var JH=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(JH||{}),QH=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(QH||{});function eV(e){let r=t.useContext(LH);return r||eH(!1),r}function tV(e){let r=t.useContext(NH);return r||eH(!1),r}function rV(e){let r=function(e){let r=t.useContext(zH);return r||eH(!1),r}(),n=r.matches[r.matches.length-1];return n.route.id||eH(!1),n.route.id}const nV={};n.startTransition;function iV(e){let{to:r,replace:n,state:i,relative:o}=e;FH()||eH(!1);let{future:a,static:s}=t.useContext(DH),{matches:c}=t.useContext(zH),{pathname:l}=$H(),u=VH(),d=PH(r,EH(c,a.v7_relativeSplatPath),l,"path"===o),h=JSON.stringify(d);return t.useEffect((()=>u(JSON.parse(h),{replace:n,state:i,relative:o})),[u,h,o,n,i]),null}function oV(e){eH(!1)}function aV(e){let{basename:r="/",children:n=null,location:i,navigationType:o=J$.Pop,navigator:a,static:s=!1,future:c}=e;FH()&&eH(!1);let l=r.replace(/^\/*/,"/"),u=t.useMemo((()=>({basename:l,navigator:a,static:s,future:MH({v7_relativeSplatPath:!1},c)})),[l,c,a,s]);"string"===typeof i&&(i=oH(i));let{pathname:d="/",search:h="",hash:f="",state:p=null,key:m="default"}=i,g=t.useMemo((()=>{let e=_H(d,l);return null==e?null:{location:{pathname:e,search:h,hash:f,state:p,key:m},navigationType:o}}),[l,d,h,f,p,m,o]);return null==g?null:t.createElement(DH.Provider,{value:u},t.createElement(BH.Provider,{children:n,value:g}))}function sV(e){let{children:t,location:r}=e;return KH(cV(t),r)}new Promise((()=>{}));t.Component;function cV(e,r){void 0===r&&(r=[]);let n=[];return t.Children.forEach(e,((e,i)=>{if(!t.isValidElement(e))return;let o=[...r,i];if(e.type===t.Fragment)return void n.push.apply(n,cV(e.props.children,o));e.type!==oV&&eH(!1),e.props.index&&e.props.children&&eH(!1);let a={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=cV(e.props.children,o)),n.push(a)})),n}function lV(){return lV=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[r]=e[r]);return i}function dV(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map((e=>[r,e])):[[r,n]])}),[]))}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const hV=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"];new Map;const fV=n.startTransition;Ii.flushSync;function pV(e){let{basename:r,children:n,future:i,window:o}=e,a=t.useRef();null==a.current&&(a.current=function(e){return void 0===e&&(e={}),aH((function(e,t){let{pathname:r="/",search:n="",hash:i=""}=oH(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),nH("",{pathname:r,search:n,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"===typeof t?t:iH(t))}),(function(e,t){tH("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:o,v5Compat:!0}));let s=a.current,[c,l]=t.useState({action:s.action,location:s.location}),{v7_startTransition:u}=i||{},d=t.useCallback((e=>{u&&fV?fV((()=>l(e))):l(e)}),[l,u]);return t.useLayoutEffect((()=>s.listen(d)),[s,d]),t.createElement(aV,{basename:r,children:n,location:c.location,navigationType:c.action,navigator:s,future:i})}const mV="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,gV=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,vV=t.forwardRef((function(e,r){let n,{onClick:i,relative:o,reloadDocument:a,replace:s,state:c,target:l,to:u,preventScrollReset:d,unstable_viewTransition:h}=e,f=uV(e,hV),{basename:p}=t.useContext(DH),m=!1;if("string"===typeof u&&gV.test(u)&&(n=u,mV))try{let e=new URL(window.location.href),t=u.startsWith("//")?new URL(e.protocol+u):new URL(u),r=_H(t.pathname,p);t.origin===e.origin&&null!=r?u=r+t.search+t.hash:m=!0}catch(y){}let g=function(e,r){let{relative:n}=void 0===r?{}:r;FH()||eH(!1);let{basename:i,navigator:o}=t.useContext(DH),{hash:a,pathname:s,search:c}=qH(e,{relative:n}),l=s;return"/"!==i&&(l="/"===s?i:OH([i,s])),o.createHref({pathname:l,search:c,hash:a})}(u,{relative:o}),v=function(e,r){let{target:n,replace:i,state:o,preventScrollReset:a,relative:s,unstable_viewTransition:c}=void 0===r?{}:r,l=VH(),u=$H(),d=qH(e,{relative:s});return t.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,n)){t.preventDefault();let r=void 0!==i?i:iH(u)===iH(d);l(e,{replace:r,state:o,preventScrollReset:a,relative:s,unstable_viewTransition:c})}}),[u,l,d,i,o,n,e,a,s,c])}(u,{replace:s,state:c,target:l,preventScrollReset:d,relative:o,unstable_viewTransition:h});return t.createElement("a",lV({},f,{href:n||g,onClick:m||a?i:function(e){i&&i(e),e.defaultPrevented||v(e)},ref:r,target:l}))}));var yV,bV;function wV(e){let r=t.useRef(dV(e)),n=t.useRef(!1),i=$H(),o=t.useMemo((()=>function(e,t){let r=dV(e);return t&&t.forEach(((e,n)=>{r.has(n)||t.getAll(n).forEach((e=>{r.append(n,e)}))})),r}(i.search,n.current?null:r.current)),[i.search]),a=VH(),s=t.useCallback(((e,t)=>{const r=dV("function"===typeof e?e(o):e);n.current=!0,a("?"+r,t)}),[a,o]);return[o,s]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(yV||(yV={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(bV||(bV={}));function xV(e){const{viewBox:r="0 0 24 24",d:n,displayName:i,defaultProps:o={}}=e,a=t.Children.toArray(e.path),s=re(((e,t)=>(0,Yn.jsx)(LF,{ref:t,viewBox:r,...o,...e,children:a.length?a:(0,Yn.jsx)("path",{fill:"currentColor",d:n})})));return s.displayName=i,s}const _V={stroke:E$.gray[450],fill:"none",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"},SV=xV({displayName:"Maintance",viewBox:"0 0 18 18",path:(0,Yn.jsx)("path",{d:"M12.182 5.8181C13.9393 7.57546 13.9393 10.4247 12.182 12.1821M5.81802 12.182C4.06066 10.4247 4.06066 7.57543 5.81802 5.81807M3.6967 14.3034C0.767767 11.3744 0.767767 6.62571 3.6967 3.69678M14.3033 3.69681C17.2322 6.62574 17.2322 11.3745 14.3033 14.3034M10.5 9.00008C10.5 9.82851 9.82843 10.5001 9 10.5001C8.17157 10.5001 7.5 9.82851 7.5 9.00008C7.5 8.17165 8.17157 7.50008 9 7.50008C9.82843 7.50008 10.5 8.17165 10.5 9.00008Z",..._V})});const kV={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"configuration"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"configuration"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"maintenanceMessage"}}]}}]}}]},EV=JSON,PV=(e,t,...r)=>{const[n,i]=r;return e.document?e:{url:e,document:t,variables:n,requestHeaders:i,signal:void 0}};function OV(e,t){if(!Boolean(e))throw new Error(null!=t?t:"Unexpected invariant triggered.")}const AV=/\r\n|[\n\r]/g;function TV(e,t){let r=0,n=1;for(const i of e.body.matchAll(AV)){if("number"===typeof i.index||OV(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}function jV(e){return CV(e.source,TV(e.source,e.start))}function CV(e,t){const r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,s=1===t.line?r:0,c=t.column+s,l=`${e.name}:${a}:${c}\n`,u=n.split(/\r\n|[\n\r]/g),d=u[i];if(d.length>120){const e=Math.floor(c/80),t=c%80,r=[];for(let n=0;n["|",e])),["|","^".padStart(t)],["|",r[e+1]]])}return l+RV([[a-1+" |",u[i-1]],[`${a} |`,d],["|","^".padStart(c)],[`${a+1} |`,u[i+1]]])}function RV(e){const t=e.filter((([e,t])=>void 0!==t)),r=Math.max(...t.map((([e])=>e.length)));return t.map((([e,t])=>e.padStart(r)+(t?" "+t:""))).join("\n")}class IV extends Error{constructor(e,...t){var r,n,i;const{nodes:o,source:a,positions:s,path:c,originalError:l,extensions:u}=function(e){const t=e[0];return null==t||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}(t);super(e),this.name="GraphQLError",this.path=null!==c&&void 0!==c?c:void 0,this.originalError=null!==l&&void 0!==l?l:void 0,this.nodes=MV(Array.isArray(o)?o:o?[o]:void 0);const d=MV(null===(r=this.nodes)||void 0===r?void 0:r.map((e=>e.loc)).filter((e=>null!=e)));this.source=null!==a&&void 0!==a?a:null===d||void 0===d||null===(n=d[0])||void 0===n?void 0:n.source,this.positions=null!==s&&void 0!==s?s:null===d||void 0===d?void 0:d.map((e=>e.start)),this.locations=s&&a?s.map((e=>TV(a,e))):null===d||void 0===d?void 0:d.map((e=>TV(e.source,e.start)));const h=function(e){return"object"==typeof e&&null!==e}(null===l||void 0===l?void 0:l.extensions)?null===l||void 0===l?void 0:l.extensions:void 0;this.extensions=null!==(i=null!==u&&void 0!==u?u:h)&&void 0!==i?i:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!==l&&void 0!==l&&l.stack?Object.defineProperty(this,"stack",{value:l.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,IV):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(const t of this.nodes)t.loc&&(e+="\n\n"+jV(t.loc));else if(this.source&&this.locations)for(const t of this.locations)e+="\n\n"+CV(this.source,t);return e}toJSON(){const e={message:this.message};return null!=this.locations&&(e.locations=this.locations),null!=this.path&&(e.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}}function MV(e){return void 0===e||0===e.length?void 0:e}function LV(e,t,r){return new IV(`Syntax Error: ${r}`,{source:e,positions:[t]})}class NV{constructor(e,t,r){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class DV{constructor(e,t,r,n,i,o){this.kind=e,this.start=t,this.end=r,this.line=n,this.column=i,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const BV={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},zV=new Set(Object.keys(BV));function UV(e){const t=null===e||void 0===e?void 0:e.kind;return"string"===typeof t&&zV.has(t)}var FV,$V,HV,VV;function qV(e){return 9===e||32===e}function KV(e){return e>=48&&e<=57}function WV(e){return e>=97&&e<=122||e>=65&&e<=90}function GV(e){return WV(e)||95===e}function YV(e){return WV(e)||KV(e)||95===e}function ZV(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a0===t?e:e.slice(r))).slice(null!==(t=n)&&void 0!==t?t:0,i+1)}function XV(e){let t=0;for(;t",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"}(VV||(VV={}));class JV{constructor(e){const t=new DV(VV.SOF,0,0,0,0);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;return this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==VV.EOF)do{if(e.next)e=e.next;else{const t=oq(this,e.end);e.next=t,t.prev=e,e=t}}while(e.kind===VV.COMMENT);return e}}function QV(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function eq(e,t){return tq(e.charCodeAt(t))&&rq(e.charCodeAt(t+1))}function tq(e){return e>=55296&&e<=56319}function rq(e){return e>=56320&&e<=57343}function nq(e,t){const r=e.source.body.codePointAt(t);if(void 0===r)return VV.EOF;if(r>=32&&r<=126){const e=String.fromCodePoint(r);return'"'===e?"'\"'":`"${e}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}function iq(e,t,r,n,i){const o=e.line,a=1+r-e.lineStart;return new DV(t,r,n,o,a,i)}function oq(e,t){const r=e.source.body,n=r.length;let i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function pq(e,t){const r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw LV(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}function mq(e,t){const r=e.source.body,n=r.length;let i=e.lineStart,o=t+3,a=o,s="";const c=[];for(;obq)return"[Array]";const r=Math.min(yq,e.length),n=e.length-r,i=[];for(let o=0;o1&&i.push(`... ${n} more items`);return"["+i.join(", ")+"]"}(e,r);return function(e,t){const r=Object.entries(e);if(0===r.length)return"{}";if(t.length>bq)return"["+function(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"===typeof e.constructor){const t=e.constructor.name;if("string"===typeof t&&""!==t)return t}return t}(e)+"]";const n=r.map((([e,r])=>e+": "+xq(r,t)));return"{ "+n.join(", ")+" }"}(e,r)}(e,t);default:return String(e)}}const _q=globalThis.process&&"production"===globalThis.process.env.NODE_ENV?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;if("object"===typeof e&&null!==e){var r;const n=t.prototype[Symbol.toStringTag];if(n===(Symbol.toStringTag in e?e[Symbol.toStringTag]:null===(r=e.constructor)||void 0===r?void 0:r.name)){const t=wq(e);throw new Error(`Cannot use ${n} "${t}" from another module or realm.\n\nEnsure that there is only one instance of "graphql" in the node_modules\ndirectory. If different versions of "graphql" are the dependencies of other\nrelied on modules, use "resolutions" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate "graphql" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`)}}return!1};class Sq{constructor(e,t="GraphQL request",r={line:1,column:1}){"string"===typeof e||vq(!1,`Body must be a string. Received: ${wq(e)}.`),this.body=e,this.name=t,this.locationOffset=r,this.locationOffset.line>0||vq(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||vq(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}class kq{constructor(e,t={}){const r=function(e){return _q(e,Sq)}(e)?e:new Sq(e);this._lexer=new JV(r),this._options=t,this._tokenCounter=0}parseName(){const e=this.expectToken(VV.NAME);return this.node(e,{kind:HV.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:HV.DOCUMENT,definitions:this.many(VV.SOF,this.parseDefinition,VV.EOF)})}parseDefinition(){if(this.peek(VV.BRACE_L))return this.parseOperationDefinition();const e=this.peekDescription(),t=e?this._lexer.lookahead():this._lexer.token;if(t.kind===VV.NAME){switch(t.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw LV(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(t.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(t)}parseOperationDefinition(){const e=this._lexer.token;if(this.peek(VV.BRACE_L))return this.node(e,{kind:HV.OPERATION_DEFINITION,operation:FV.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const t=this.parseOperationType();let r;return this.peek(VV.NAME)&&(r=this.parseName()),this.node(e,{kind:HV.OPERATION_DEFINITION,operation:t,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const e=this.expectToken(VV.NAME);switch(e.value){case"query":return FV.QUERY;case"mutation":return FV.MUTATION;case"subscription":return FV.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(VV.PAREN_L,this.parseVariableDefinition,VV.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:HV.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(VV.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(VV.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const e=this._lexer.token;return this.expectToken(VV.DOLLAR),this.node(e,{kind:HV.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:HV.SELECTION_SET,selections:this.many(VV.BRACE_L,this.parseSelection,VV.BRACE_R)})}parseSelection(){return this.peek(VV.SPREAD)?this.parseFragment():this.parseField()}parseField(){const e=this._lexer.token,t=this.parseName();let r,n;return this.expectOptionalToken(VV.COLON)?(r=t,n=this.parseName()):n=t,this.node(e,{kind:HV.FIELD,alias:r,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(VV.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){const t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(VV.PAREN_L,t,VV.PAREN_R)}parseArgument(e=!1){const t=this._lexer.token,r=this.parseName();return this.expectToken(VV.COLON),this.node(t,{kind:HV.ARGUMENT,name:r,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const e=this._lexer.token;this.expectToken(VV.SPREAD);const t=this.expectOptionalKeyword("on");return!t&&this.peek(VV.NAME)?this.node(e,{kind:HV.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:HV.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const e=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(e,{kind:HV.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:HV.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(e){const t=this._lexer.token;switch(t.kind){case VV.BRACKET_L:return this.parseList(e);case VV.BRACE_L:return this.parseObject(e);case VV.INT:return this.advanceLexer(),this.node(t,{kind:HV.INT,value:t.value});case VV.FLOAT:return this.advanceLexer(),this.node(t,{kind:HV.FLOAT,value:t.value});case VV.STRING:case VV.BLOCK_STRING:return this.parseStringLiteral();case VV.NAME:switch(this.advanceLexer(),t.value){case"true":return this.node(t,{kind:HV.BOOLEAN,value:!0});case"false":return this.node(t,{kind:HV.BOOLEAN,value:!1});case"null":return this.node(t,{kind:HV.NULL});default:return this.node(t,{kind:HV.ENUM,value:t.value})}case VV.DOLLAR:if(e){if(this.expectToken(VV.DOLLAR),this._lexer.token.kind===VV.NAME){const e=this._lexer.token.value;throw LV(this._lexer.source,t.start,`Unexpected variable "$${e}" in constant value.`)}throw this.unexpected(t)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:HV.STRING,value:e.value,block:e.kind===VV.BLOCK_STRING})}parseList(e){return this.node(this._lexer.token,{kind:HV.LIST,values:this.any(VV.BRACKET_L,(()=>this.parseValueLiteral(e)),VV.BRACKET_R)})}parseObject(e){return this.node(this._lexer.token,{kind:HV.OBJECT,fields:this.any(VV.BRACE_L,(()=>this.parseObjectField(e)),VV.BRACE_R)})}parseObjectField(e){const t=this._lexer.token,r=this.parseName();return this.expectToken(VV.COLON),this.node(t,{kind:HV.OBJECT_FIELD,name:r,value:this.parseValueLiteral(e)})}parseDirectives(e){const t=[];for(;this.peek(VV.AT);)t.push(this.parseDirective(e));return t}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){const t=this._lexer.token;return this.expectToken(VV.AT),this.node(t,{kind:HV.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){const e=this._lexer.token;let t;if(this.expectOptionalToken(VV.BRACKET_L)){const r=this.parseTypeReference();this.expectToken(VV.BRACKET_R),t=this.node(e,{kind:HV.LIST_TYPE,type:r})}else t=this.parseNamedType();return this.expectOptionalToken(VV.BANG)?this.node(e,{kind:HV.NON_NULL_TYPE,type:t}):t}parseNamedType(){return this.node(this._lexer.token,{kind:HV.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(VV.STRING)||this.peek(VV.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");const r=this.parseConstDirectives(),n=this.many(VV.BRACE_L,this.parseOperationTypeDefinition,VV.BRACE_R);return this.node(e,{kind:HV.SCHEMA_DEFINITION,description:t,directives:r,operationTypes:n})}parseOperationTypeDefinition(){const e=this._lexer.token,t=this.parseOperationType();this.expectToken(VV.COLON);const r=this.parseNamedType();return this.node(e,{kind:HV.OPERATION_TYPE_DEFINITION,operation:t,type:r})}parseScalarTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");const r=this.parseName(),n=this.parseConstDirectives();return this.node(e,{kind:HV.SCALAR_TYPE_DEFINITION,description:t,name:r,directives:n})}parseObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");const r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:HV.OBJECT_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:i,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(VV.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(VV.BRACE_L,this.parseFieldDefinition,VV.BRACE_R)}parseFieldDefinition(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseName(),n=this.parseArgumentDefs();this.expectToken(VV.COLON);const i=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(e,{kind:HV.FIELD_DEFINITION,description:t,name:r,arguments:n,type:i,directives:o})}parseArgumentDefs(){return this.optionalMany(VV.PAREN_L,this.parseInputValueDef,VV.PAREN_R)}parseInputValueDef(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseName();this.expectToken(VV.COLON);const n=this.parseTypeReference();let i;this.expectOptionalToken(VV.EQUALS)&&(i=this.parseConstValueLiteral());const o=this.parseConstDirectives();return this.node(e,{kind:HV.INPUT_VALUE_DEFINITION,description:t,name:r,type:n,defaultValue:i,directives:o})}parseInterfaceTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");const r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:HV.INTERFACE_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();return this.node(e,{kind:HV.UNION_TYPE_DEFINITION,description:t,name:r,directives:n,types:i})}parseUnionMemberTypes(){return this.expectOptionalToken(VV.EQUALS)?this.delimitedMany(VV.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();return this.node(e,{kind:HV.ENUM_TYPE_DEFINITION,description:t,name:r,directives:n,values:i})}parseEnumValuesDefinition(){return this.optionalMany(VV.BRACE_L,this.parseEnumValueDefinition,VV.BRACE_R)}parseEnumValueDefinition(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseEnumValueName(),n=this.parseConstDirectives();return this.node(e,{kind:HV.ENUM_VALUE_DEFINITION,description:t,name:r,directives:n})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw LV(this._lexer.source,this._lexer.token.start,`${Eq(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();return this.node(e,{kind:HV.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:r,directives:n,fields:i})}parseInputFieldsDefinition(){return this.optionalMany(VV.BRACE_L,this.parseInputValueDef,VV.BRACE_R)}parseTypeSystemExtension(){const e=this._lexer.lookahead();if(e.kind===VV.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const t=this.parseConstDirectives(),r=this.optionalMany(VV.BRACE_L,this.parseOperationTypeDefinition,VV.BRACE_R);if(0===t.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:HV.SCHEMA_EXTENSION,directives:t,operationTypes:r})}parseScalarTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const t=this.parseName(),r=this.parseConstDirectives();if(0===r.length)throw this.unexpected();return this.node(e,{kind:HV.SCALAR_TYPE_EXTENSION,name:t,directives:r})}parseObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:HV.OBJECT_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:i})}parseInterfaceTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:HV.INTERFACE_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:i})}parseUnionTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseUnionMemberTypes();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:HV.UNION_TYPE_EXTENSION,name:t,directives:r,types:n})}parseEnumTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseEnumValuesDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:HV.ENUM_TYPE_EXTENSION,name:t,directives:r,values:n})}parseInputObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseInputFieldsDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:HV.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:r,fields:n})}parseDirectiveDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(VV.AT);const r=this.parseName(),n=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const o=this.parseDirectiveLocations();return this.node(e,{kind:HV.DIRECTIVE_DEFINITION,description:t,name:r,arguments:n,repeatable:i,locations:o})}parseDirectiveLocations(){return this.delimitedMany(VV.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const e=this._lexer.token,t=this.parseName();if(Object.prototype.hasOwnProperty.call($V,t.value))return t;throw this.unexpected(e)}node(e,t){return!0!==this._options.noLocation&&(t.loc=new NV(e,this._lexer.lastToken,this._lexer.source)),t}peek(e){return this._lexer.token.kind===e}expectToken(e){const t=this._lexer.token;if(t.kind===e)return this.advanceLexer(),t;throw LV(this._lexer.source,t.start,`Expected ${Pq(e)}, found ${Eq(t)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e&&(this.advanceLexer(),!0)}expectKeyword(e){const t=this._lexer.token;if(t.kind!==VV.NAME||t.value!==e)throw LV(this._lexer.source,t.start,`Expected "${e}", found ${Eq(t)}.`);this.advanceLexer()}expectOptionalKeyword(e){const t=this._lexer.token;return t.kind===VV.NAME&&t.value===e&&(this.advanceLexer(),!0)}unexpected(e){const t=null!==e&&void 0!==e?e:this._lexer.token;return LV(this._lexer.source,t.start,`Unexpected ${Eq(t)}.`)}any(e,t,r){this.expectToken(e);const n=[];for(;!this.expectOptionalToken(r);)n.push(t.call(this));return n}optionalMany(e,t,r){if(this.expectOptionalToken(e)){const e=[];do{e.push(t.call(this))}while(!this.expectOptionalToken(r));return e}return[]}many(e,t,r){this.expectToken(e);const n=[];do{n.push(t.call(this))}while(!this.expectOptionalToken(r));return n}delimitedMany(e,t){this.expectOptionalToken(e);const r=[];do{r.push(t.call(this))}while(this.expectOptionalToken(e));return r}advanceLexer(){const{maxTokens:e}=this._options,t=this._lexer.advance();if(void 0!==e&&t.kind!==VV.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw LV(this._lexer.source,t.start,`Document contains more that ${e} tokens. Parsing aborted.`)}}function Eq(e){const t=e.value;return Pq(e.kind)+(null!=t?` "${t}"`:"")}function Pq(e){return function(e){return e===VV.BANG||e===VV.DOLLAR||e===VV.AMP||e===VV.PAREN_L||e===VV.PAREN_R||e===VV.SPREAD||e===VV.COLON||e===VV.EQUALS||e===VV.AT||e===VV.BRACKET_L||e===VV.BRACKET_R||e===VV.BRACE_L||e===VV.PIPE||e===VV.BRACE_R}(e)?`"${e}"`:e}const Oq=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Aq(e){return Tq[e.charCodeAt(0)]}const Tq=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],jq=Object.freeze({});function Cq(e,t){const r=e[t];return"object"===typeof r?r:"function"===typeof r?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}function Rq(e){return function(e,t,r=BV){const n=new Map;for(const v of Object.values(HV))n.set(v,Cq(t,v));let i,o,a,s=Array.isArray(e),c=[e],l=-1,u=[],d=e;const h=[],f=[];do{l++;const e=l===c.length,v=e&&0!==u.length;if(e){if(o=0===f.length?void 0:h[h.length-1],d=a,a=f.pop(),v)if(s){d=d.slice();let e=0;for(const[t,r]of u){const n=t-e;null===r?(d.splice(n,1),e++):d[n]=r}}else{d=Object.defineProperties({},Object.getOwnPropertyDescriptors(d));for(const[e,t]of u)d[e]=t}l=i.index,c=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(a){if(o=s?l:c[l],d=a[o],null===d||void 0===d)continue;h.push(o)}let y;if(!Array.isArray(d)){var p,m;UV(d)||vq(!1,`Invalid AST Node: ${wq(d)}.`);const r=e?null===(p=n.get(d.kind))||void 0===p?void 0:p.leave:null===(m=n.get(d.kind))||void 0===m?void 0:m.enter;if(y=null===r||void 0===r?void 0:r.call(t,d,o,a,h,f),y===jq)break;if(!1===y){if(!e){h.pop();continue}}else if(void 0!==y&&(u.push([o,y]),!e)){if(!UV(y)){h.pop();continue}d=y}}var g;void 0===y&&v&&u.push([o,d]),e?h.pop():(i={inArray:s,index:l,keys:c,edits:u,prev:i},s=Array.isArray(d),c=s?d:null!==(g=r[d.kind])&&void 0!==g?g:[],l=-1,u=[],a&&f.push(a),a=d)}while(void 0!==i);return 0!==u.length?u[u.length-1][1]:e}(e,Iq)}const Iq={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Mq(e.definitions,"\n\n")},OperationDefinition:{leave(e){const t=Nq("(",Mq(e.variableDefinitions,", "),")"),r=Mq([e.operation,Mq([e.name,t]),Mq(e.directives," ")]," ");return("query"===r?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+Nq(" = ",r)+Nq(" ",Mq(n," "))},SelectionSet:{leave:({selections:e})=>Lq(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){const o=Nq("",e,": ")+t;let a=o+Nq("(",Mq(r,", "),")");return a.length>80&&(a=o+Nq("(\n",Dq(Mq(r,"\n")),"\n)")),Mq([a,Mq(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Nq(" ",Mq(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>Mq(["...",Nq("on ",e),Mq(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${Nq("(",Mq(r,", "),")")} on ${t} ${Nq("",Mq(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t){const r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=1===n.length,o=n.length>1&&n.slice(1).every((e=>0===e.length||qV(e.charCodeAt(0)))),a=r.endsWith('\\"""'),s=e.endsWith('"')&&!a,c=e.endsWith("\\"),l=s||c,u=!(null!==t&&void 0!==t&&t.minimize)&&(!i||e.length>70||l||o||a);let d="";const h=i&&qV(e.charCodeAt(0));return(u&&!h||o)&&(d+="\n"),d+=r,(u||l)&&(d+="\n"),'"""'+d+'"""'}(e):`"${e.replace(Oq,Aq)}"`},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+Mq(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+Mq(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Nq("(",Mq(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>Nq("",e,"\n")+Mq(["schema",Mq(t," "),Lq(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>Nq("",e,"\n")+Mq(["scalar",t,Mq(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>Nq("",e,"\n")+Mq(["type",t,Nq("implements ",Mq(r," & ")),Mq(n," "),Lq(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>Nq("",e,"\n")+t+(Bq(r)?Nq("(\n",Dq(Mq(r,"\n")),"\n)"):Nq("(",Mq(r,", "),")"))+": "+n+Nq(" ",Mq(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>Nq("",e,"\n")+Mq([t+": "+r,Nq("= ",n),Mq(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>Nq("",e,"\n")+Mq(["interface",t,Nq("implements ",Mq(r," & ")),Mq(n," "),Lq(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>Nq("",e,"\n")+Mq(["union",t,Mq(r," "),Nq("= ",Mq(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>Nq("",e,"\n")+Mq(["enum",t,Mq(r," "),Lq(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>Nq("",e,"\n")+Mq([t,Mq(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>Nq("",e,"\n")+Mq(["input",t,Mq(r," "),Lq(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>Nq("",e,"\n")+"directive @"+t+(Bq(r)?Nq("(\n",Dq(Mq(r,"\n")),"\n)"):Nq("(",Mq(r,", "),")"))+(n?" repeatable":"")+" on "+Mq(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Mq(["extend schema",Mq(e," "),Lq(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Mq(["extend scalar",e,Mq(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>Mq(["extend type",e,Nq("implements ",Mq(t," & ")),Mq(r," "),Lq(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>Mq(["extend interface",e,Nq("implements ",Mq(t," & ")),Mq(r," "),Lq(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>Mq(["extend union",e,Mq(t," "),Nq("= ",Mq(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>Mq(["extend enum",e,Mq(t," "),Lq(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>Mq(["extend input",e,Mq(t," "),Lq(r)]," ")}};function Mq(e,t=""){var r;return null!==(r=null===e||void 0===e?void 0:e.filter((e=>e)).join(t))&&void 0!==r?r:""}function Lq(e){return Nq("{\n",Dq(Mq(e,"\n")),"\n}")}function Nq(e,t,r=""){return null!=t&&""!==t?e+t+r:""}function Dq(e){return Nq(" ",e.replace(/\n/g,"\n "))}function Bq(e){var t;return null!==(t=null===e||void 0===e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}const zq=e=>{let t;const r=e.definitions.filter((e=>"OperationDefinition"===e.kind));return 1===r.length&&(t=r[0]?.name?.value),t},Uq=e=>{if("string"===typeof e){let t;try{const r=function(e,t){return new kq(e,t).parseDocument()}(e);t=zq(r)}catch(r){}return{query:e,operationName:t}}const t=zq(e);return{query:Rq(e),operationName:t}};class Fq extends Error{constructor(e,t){super(`${Fq.extractMessage(e)}: ${JSON.stringify({response:e,request:t})}`),Object.setPrototypeOf(this,Fq.prototype),this.response=e,this.request=t,"function"===typeof Error.captureStackTrace&&Error.captureStackTrace(this,Fq)}static extractMessage(e){return e.errors?.[0]?.message??`GraphQL Error (Code: ${e.status})`}}var $q=r(9775),Hq=r.t($q,2);const Vq=e=>{let t={};return e&&("undefined"!==typeof Headers&&e instanceof Headers||Hq&&$q.Headers&&e instanceof $q.Headers?t=(e=>{const t={};return e.forEach(((e,r)=>{t[r]=e})),t})(e):Array.isArray(e)?e.forEach((([e,r])=>{e&&void 0!==r&&(t[e]=r)})):t=e),t},qq=e=>e.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),Kq=e=>async t=>{const{url:r,query:n,variables:i,operationName:o,fetch:a,fetchOptions:s,middleware:c}=t,l={...t.headers};let u,d="";"POST"===e?(u=Zq(n,i,o,s.jsonSerializer),"string"===typeof u&&(l["Content-Type"]="application/json")):d=(e=>{if(!Array.isArray(e.query)){const t=e,r=[`query=${encodeURIComponent(qq(t.query))}`];return e.variables&&r.push(`variables=${encodeURIComponent(t.jsonSerializer.stringify(t.variables))}`),t.operationName&&r.push(`operationName=${encodeURIComponent(t.operationName)}`),r.join("&")}if("undefined"!==typeof e.variables&&!Array.isArray(e.variables))throw new Error("Cannot create query with given variable type, array expected");const t=e,r=e.query.reduce(((e,r,n)=>(e.push({query:qq(r),variables:t.variables?t.jsonSerializer.stringify(t.variables[n]):void 0}),e)),[]);return`query=${encodeURIComponent(t.jsonSerializer.stringify(r))}`})({query:n,variables:i,operationName:o,jsonSerializer:s.jsonSerializer??EV});const h={method:e,headers:l,body:u,...s};let f=r,p=h;if(c){const e=await Promise.resolve(c({...h,url:r,operationName:o,variables:i})),{url:t,...n}=e;f=t,p=n}return d&&(f=`${f}?${d}`),await a(f,p)};class Wq{constructor(e,t={}){this.url=e,this.requestConfig=t,this.rawRequest=async(...e)=>{const[t,r,n]=e,i=((e,t,r)=>e.query?e:{query:e,variables:t,requestHeaders:r,signal:void 0})(t,r,n),{headers:o,fetch:a=$q,method:s="POST",requestMiddleware:c,responseMiddleware:l,...u}=this.requestConfig,{url:d}=this;void 0!==i.signal&&(u.signal=i.signal);const{operationName:h}=Uq(i.query);return Gq({url:d,query:i.query,variables:i.variables,headers:{...Vq(Jq(o)),...Vq(i.requestHeaders)},operationName:h,fetch:a,method:s,fetchOptions:u,middleware:c}).then((e=>(l&&l(e),e))).catch((e=>{throw l&&l(e),e}))}}async request(e,...t){const[r,n]=t,i=((e,t,r)=>e.document?e:{document:e,variables:t,requestHeaders:r,signal:void 0})(e,r,n),{headers:o,fetch:a=$q,method:s="POST",requestMiddleware:c,responseMiddleware:l,...u}=this.requestConfig,{url:d}=this;void 0!==i.signal&&(u.signal=i.signal);const{query:h,operationName:f}=Uq(i.document);return Gq({url:d,query:h,variables:i.variables,headers:{...Vq(Jq(o)),...Vq(i.requestHeaders)},operationName:f,fetch:a,method:s,fetchOptions:u,middleware:c}).then((e=>(l&&l(e),e.data))).catch((e=>{throw l&&l(e),e}))}batchRequests(e,t){const r=((e,t)=>e.documents?e:{documents:e,requestHeaders:t,signal:void 0})(e,t),{headers:n,...i}=this.requestConfig;void 0!==r.signal&&(i.signal=r.signal);const o=r.documents.map((({document:e})=>Uq(e).query)),a=r.documents.map((({variables:e})=>e));return Gq({url:this.url,query:o,variables:a,headers:{...Vq(Jq(n)),...Vq(r.requestHeaders)},operationName:void 0,fetch:this.requestConfig.fetch??$q,method:this.requestConfig.method||"POST",fetchOptions:i,middleware:this.requestConfig.requestMiddleware}).then((e=>(this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(e),e.data))).catch((e=>{throw this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(e),e}))}setHeaders(e){return this.requestConfig.headers=e,this}setHeader(e,t){const{headers:r}=this.requestConfig;return r?r[e]=t:this.requestConfig.headers={[e]:t},this}setEndpoint(e){return this.url=e,this}}const Gq=async e=>{const{query:t,variables:r,fetchOptions:n}=e,i=Kq((e.method??"post").toUpperCase());const o=Array.isArray(e.query),a=await i(e),s=await Xq(a,n.jsonSerializer??EV),c=Array.isArray(s)?!s.some((({data:e})=>!e)):Boolean(s.data),l=Array.isArray(s)||!s.errors||Array.isArray(s.errors)&&!s.errors.length||"all"===n.errorPolicy||"ignore"===n.errorPolicy;if(a.ok&&l&&c){const{errors:e,...t}=(Array.isArray(s),s),r="ignore"===n.errorPolicy?t:s;return{...o?{data:r}:r,headers:a.headers,status:a.status}}throw new Fq({..."string"===typeof s?{error:s}:s,status:a.status,headers:a.headers},{query:t,variables:r})};async function Yq(e,t,...r){const n=PV(e,t,...r);return new Wq(n.url).request({...n})}const Zq=(e,t,r,n)=>{const i=n??EV;if(!Array.isArray(e))return i.stringify({query:e,variables:t,operationName:r});if("undefined"!==typeof t&&!Array.isArray(t))throw new Error("Cannot create request body with given variable type, array expected");const o=e.reduce(((e,r,n)=>(e.push({query:r,variables:t?t[n]:void 0}),e)),[]);return i.stringify(o)},Xq=async(e,t)=>{let r;return e.headers.forEach(((e,t)=>{"content-type"===t.toLowerCase()&&(r=e)})),r&&(r.toLowerCase().startsWith("application/json")||r.toLowerCase().startsWith("application/graphql+json")||r.toLowerCase().startsWith("application/graphql-response+json"))?t.parse(await e.text()):e.text()},Jq=e=>"function"===typeof e?e():e;const Qq=()=>{const[e,r]=(0,t.useState)(!1),[n,i]=(0,t.useState)();(0,t.useEffect)((()=>{const e=async()=>{var e;const t=await function(e,t){return Yq("https://graphql.datocms.com/",e,t,{Authorization:"19ab95a257833429647fc25765a06a"})}(kV);var r;n!==(null===(e=t.configuration)||void 0===e?void 0:e.maintenanceMessage)&&i(null===(r=t.configuration)||void 0===r?void 0:r.maintenanceMessage)};e();const t=setInterval((()=>{e()}),36e5);return()=>clearInterval(t)}),[n,e]);const o=SV;return e&&n?(0,Yn.jsxs)($F,{color:"black",background:"#FC7884","data-testid":"announcement",children:[(0,Yn.jsx)(o,{}),(0,Yn.jsx)(Qn,{width:"100%",paddingLeft:"8px",children:(0,Yn.jsx)(qF,{children:n})}),(0,Yn.jsx)(WF,{onClick:()=>r(!1)})]}):null};function eK(e,r){const n=(0,t.useId)();return(0,t.useMemo)((()=>e||[r,n].filter(Boolean).join("-")),[e,r,n])}function tK(e){return null!=e&&"object"==typeof e&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function rK(e){var t;return tK(e)&&null!=(t=e.ownerDocument)?t:document}function nK(){return!("undefined"===typeof window||!window.document||!window.document.createElement)}var iK=nK()?t.useLayoutEffect:t.useEffect;function oK(e,r=[]){const n=(0,t.useRef)(e);return iK((()=>{n.current=e})),(0,t.useCallback)(((...e)=>{var t;return null==(t=n.current)?void 0:t.call(n,...e)}),r)}function aK(e={}){const{onClose:r,onOpen:n,isOpen:i,id:o}=e,a=oK(n),s=oK(r),[c,l]=(0,t.useState)(e.defaultIsOpen||!1),[u,d]=function(e,t){const r=void 0!==e;return[r,r&&"undefined"!==typeof e?e:t]}(i,c),h=eK(o,"disclosure"),f=(0,t.useCallback)((()=>{u||l(!1),null==s||s()}),[u,s]),p=(0,t.useCallback)((()=>{u||l(!0),null==a||a()}),[u,a]),m=(0,t.useCallback)((()=>{(d?f:p)()}),[d,p,f]);return{isOpen:!!d,onOpen:p,onClose:f,onToggle:m,isControlled:u,getButtonProps:(e={})=>({...e,"aria-expanded":d,"aria-controls":h,onClick:cr(e.onClick,m)}),getDisclosureProps:(e={})=>({...e,hidden:!d,id:h})}}var sK=Object.defineProperty,cK=(e,t,r)=>(((e,t,r)=>{t in e?sK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!==typeof t?t+"":t,r),r),lK=new class{constructor(){cK(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return!!e&&this.modals.get(e)===this.modals.size}};function uK(e,r){const[n,i]=(0,t.useState)(0);return(0,t.useEffect)((()=>{const t=e.current;if(t){if(r){const e=lK.add(t);i(e)}return()=>{lK.remove(t),i(0)}}}),[r,e]),n}var dK=function(e){return"undefined"===typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},hK=new WeakMap,fK=new WeakMap,pK={},mK=0,gK=function(e){return e&&(e.host||gK(e.parentNode))},vK=function(e,t,r,n){var i=function(e,t){return t.map((function(t){if(e.contains(t))return t;var r=gK(t);return r&&e.contains(r)?r:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)})).filter((function(e){return Boolean(e)}))}(t,Array.isArray(e)?e:[e]);pK[r]||(pK[r]=new WeakMap);var o=pK[r],a=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,(function(e){if(s.has(e))u(e);else{var t=e.getAttribute(n),i=null!==t&&"false"!==t,c=(hK.get(e)||0)+1,l=(o.get(e)||0)+1;hK.set(e,c),o.set(e,l),a.push(e),1===c&&i&&fK.set(e,!0),1===l&&e.setAttribute(r,"true"),i||e.setAttribute(n,"true")}}))};return u(t),s.clear(),mK++,function(){a.forEach((function(e){var t=hK.get(e)-1,i=o.get(e)-1;hK.set(e,t),o.set(e,i),t||(fK.has(e)||e.removeAttribute(n),fK.delete(e)),i||e.removeAttribute(r)})),--mK||(hK=new WeakMap,hK=new WeakMap,fK=new WeakMap,pK={})}},yK=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=t||dK(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live]"))),vK(n,i,r,"aria-hidden")):function(){return null}};function bK(e){const{isOpen:r,onClose:n,id:i,closeOnOverlayClick:o=!0,closeOnEsc:a=!0,useInert:s=!0,onOverlayClick:c,onEsc:l}=e,u=(0,t.useRef)(null),d=(0,t.useRef)(null),[h,f,p]=function(e,...r){const n=(0,t.useId)(),i=e||n;return(0,t.useMemo)((()=>r.map((e=>`${e}-${i}`))),[i,r])}(i,"chakra-modal","chakra-modal--header","chakra-modal--body");!function(e,r){const n=e.current;(0,t.useEffect)((()=>{if(e.current&&r)return yK(e.current)}),[r,e,n])}(u,r&&s);const m=uK(u,r),g=(0,t.useRef)(null),v=(0,t.useCallback)((e=>{g.current=e.target}),[]),y=(0,t.useCallback)((e=>{"Escape"===e.key&&(e.stopPropagation(),a&&(null==n||n()),null==l||l())}),[a,n,l]),[b,w]=(0,t.useState)(!1),[x,_]=(0,t.useState)(!1),S=(0,t.useCallback)(((e={},t=null)=>({role:"dialog",...e,ref:wi(t,u),id:h,tabIndex:-1,"aria-modal":!0,"aria-labelledby":b?f:void 0,"aria-describedby":x?p:void 0,onClick:ue(e.onClick,(e=>e.stopPropagation()))})),[p,x,h,f,b]),k=(0,t.useCallback)((e=>{e.stopPropagation(),g.current===e.target&&lK.isTopModal(u.current)&&(o&&(null==n||n()),null==c||c())}),[n,o,c]),E=(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(t,d),onClick:ue(e.onClick,k),onKeyDown:ue(e.onKeyDown,y),onMouseDown:ue(e.onMouseDown,v)})),[y,v,k]);return{isOpen:r,onClose:n,headerId:f,bodyId:p,setBodyMounted:_,setHeaderMounted:w,dialogRef:u,overlayRef:d,getDialogProps:S,getDialogContainerProps:E,index:m}}var[wK,xK]=ui({name:"ModalStylesContext",errorMessage:"useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),[_K,SK]=ui({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),kK=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:r,children:n,autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:c,blockScrollOnMount:l,allowPinchZoom:u,preserveScrollBarGap:d,motionPreset:h,lockFocusAcrossFrames:f,onCloseComplete:p}=t,m=ci("Modal",t),g={...bK(t),autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:c,blockScrollOnMount:l,allowPinchZoom:u,preserveScrollBarGap:d,motionPreset:h,lockFocusAcrossFrames:f};return(0,Yn.jsx)(_K,{value:g,children:(0,Yn.jsx)(wK,{value:m,children:(0,Yn.jsx)(i$,{onExitComplete:p,children:g.isOpen&&(0,Yn.jsx)(d$,{...r,children:n})})})})};kK.displayName="Modal";var EK={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},PK={position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},OK={position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},AK={position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},TK={position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}};function jK(e){var t;switch(null!=(t=null==e?void 0:e.direction)?t:"right"){case"right":default:return OK;case"left":return PK;case"bottom":return TK;case"top":return AK}}var CK={enter:{duration:.2,ease:EK.easeOut},exit:{duration:.1,ease:EK.easeIn}},RK=(e,t)=>({...e,delay:"number"===typeof t?t:null==t?void 0:t.enter}),IK=(e,t)=>({...e,delay:"number"===typeof t?t:null==t?void 0:t.exit}),MK={enter:({transition:e,transitionEnd:t,delay:r}={})=>{var n;return{opacity:1,transition:null!=(n=null==e?void 0:e.enter)?n:RK(CK.enter,r),transitionEnd:null==t?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:r}={})=>{var n;return{opacity:0,transition:null!=(n=null==e?void 0:e.exit)?n:IK(CK.exit,r),transitionEnd:null==t?void 0:t.exit}}},LK={initial:"exit",animate:"enter",exit:"exit",variants:MK},NK=(0,t.forwardRef)((function(e,t){const{unmountOnExit:r,in:n,className:i,transition:o,transitionEnd:a,delay:s,...c}=e,l=n||r?"enter":"exit",u=!r||n&&r,d={transition:o,transitionEnd:a,delay:s};return(0,Yn.jsx)(i$,{custom:d,children:u&&(0,Yn.jsx)(jF.div,{ref:t,className:ne("chakra-fade",i),custom:d,...LK,animate:l,...c})})}));NK.displayName="Fade";var DK=Gn(jF.div),BK=re(((e,t)=>{const{className:r,transition:n,motionProps:i,...o}=e,a=ne("chakra-modal__overlay",r),s={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...xK().overlay},{motionPreset:c}=SK(),l=i||("none"===c?{}:LK);return(0,Yn.jsx)(DK,{...l,__css:s,ref:t,className:a,...o})}));BK.displayName="ModalOverlay";var zK="right-scroll-bar-position",UK="width-before-scroll-bar";function FK(e,r){return function(e,r){var n=(0,t.useState)((function(){return{value:e,callback:r,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}}))[0];return n.callback=r,n.facade}(r||null,(function(t){return e.forEach((function(e){return function(e,t){return"function"===typeof e?e(t):e&&(e.current=t),e}(e,t)}))}))}function $K(e){return e}function HK(e,t){void 0===t&&(t=$K);var r=[],n=!1,i={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(e){var i=t(e,n);return r.push(i),function(){r=r.filter((function(e){return e!==i}))}},assignSyncMedium:function(e){for(n=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){n=!0;var t=[];if(r.length){var i=r;r=[],i.forEach(e),t=r}var o=function(){var r=t;t=[],r.forEach(e)},a=function(){return Promise.resolve().then(o)};a(),r={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),r}}}};return i}function VK(e,t){return void 0===t&&(t=$K),HK(e,t)}function qK(e){void 0===e&&(e={});var t=HK(null);return t.options=Wh({async:!0,ssr:!1},e),t}var KK=qK(),WK=function(){},GK=t.forwardRef((function(e,r){var n=t.useRef(null),i=t.useState({onScrollCapture:WK,onWheelCapture:WK,onTouchMoveCapture:WK}),o=i[0],a=i[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,h=e.shards,f=e.sideCar,p=e.noIsolation,m=e.inert,g=e.allowPinchZoom,v=e.as,y=void 0===v?"div":v,b=e.gapMode,w=Gh(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),x=f,_=FK([n,r]),S=Wh(Wh({},w),o);return t.createElement(t.Fragment,null,d&&t.createElement(x,{sideCar:KK,removeScrollBar:u,shards:h,noIsolation:p,inert:m,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:b}),s?t.cloneElement(t.Children.only(c),Wh(Wh({},S),{ref:_})):t.createElement(y,Wh({},S,{className:l,ref:_}),c))}));GK.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},GK.classNames={fullWidth:UK,zeroRight:zK};var YK,ZK=function(e){var r=e.sideCar,n=Gh(e,["sideCar"]);if(!r)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=r.read();if(!i)throw new Error("Sidecar medium not found");return t.createElement(i,Wh({},n))};ZK.isSideCarExport=!0;function XK(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=YK||r.nc;return t&&e.setAttribute("nonce",t),e}var JK=function(){var e=0,t=null;return{add:function(r){var n;0==e&&(t=XK())&&(!function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}(t,r),n=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(n)),e++},remove:function(){!--e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},QK=function(){var e=function(){var e=JK();return function(r,n){t.useEffect((function(){return e.add(r),function(){e.remove()}}),[r&&n])}}();return function(t){var r=t.styles,n=t.dynamic;return e(r,n),null}},eW={left:0,top:0,right:0,gap:0},tW=function(e){return parseInt(e||"",10)||0},rW=function(e){if(void 0===e&&(e="margin"),"undefined"===typeof window)return eW;var t=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],i=t["padding"===e?"paddingRight":"marginRight"];return[tW(r),tW(n),tW(i)]}(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},nW=QK(),iW=function(e,t,r,n){var i=e.left,o=e.top,a=e.right,s=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(s,"px ").concat(n,";\n }\n body {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(i,"px;\n padding-top: ").concat(o,"px;\n padding-right: ").concat(a,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(s,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(zK," {\n right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(UK," {\n margin-right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(zK," .").concat(zK," {\n right: 0 ").concat(n,";\n }\n \n .").concat(UK," .").concat(UK," {\n margin-right: 0 ").concat(n,";\n }\n \n body {\n ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n }\n")},oW=function(e){var r=e.noRelative,n=e.noImportant,i=e.gapMode,o=void 0===i?"margin":i,a=t.useMemo((function(){return rW(o)}),[o]);return t.createElement(nW,{styles:iW(a,!r,o,n?"":"!important")})},aW=!1;if("undefined"!==typeof window)try{var sW=Object.defineProperty({},"passive",{get:function(){return aW=!0,!0}});window.addEventListener("test",sW,sW),window.removeEventListener("test",sW,sW)}catch(Zue){aW=!1}var cW=!!aW&&{passive:!1},lW=function(e,t){var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&!function(e){return"TEXTAREA"===e.tagName}(e)&&"visible"===r[t])},uW=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!==typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),dW(e,n)){var i=hW(e,n);if(i[1]>i[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},dW=function(e,t){return"v"===e?function(e){return lW(e,"overflowY")}(t):function(e){return lW(e,"overflowX")}(t)},hW=function(e,t){return"v"===e?function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]}(t):function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]}(t)},fW=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},pW=function(e){return[e.deltaX,e.deltaY]},mW=function(e){return e&&"current"in e?e.current:e},gW=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},vW=0,yW=[];function bW(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const wW=(xW=function(e){var r=t.useRef([]),n=t.useRef([0,0]),i=t.useRef(),o=t.useState(vW++)[0],a=t.useState(QK)[0],s=t.useRef(e);t.useEffect((function(){s.current=e}),[e]),t.useEffect((function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=Qh([e.lockRef.current],(e.shards||[]).map(mW),!0).filter(Boolean);return t.forEach((function(e){return e.classList.add("allow-interactivity-".concat(o))})),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach((function(e){return e.classList.remove("allow-interactivity-".concat(o))}))}}}),[e.inert,e.lockRef.current,e.shards]);var c=t.useCallback((function(e,t){if("touches"in e&&2===e.touches.length)return!s.current.allowPinchZoom;var r,o=fW(e),a=n.current,c="deltaX"in e?e.deltaX:a[0]-o[0],l="deltaY"in e?e.deltaY:a[1]-o[1],u=e.target,d=Math.abs(c)>Math.abs(l)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var h=uW(d,u);if(!h)return!0;if(h?r=d:(r="v"===d?"h":"v",h=uW(d,u)),!h)return!1;if(!i.current&&"changedTouches"in e&&(c||l)&&(i.current=r),!r)return!0;var f=i.current||r;return function(e,t,r,n,i){var o=function(e,t){return"h"===e&&"rtl"===t?-1:1}(e,window.getComputedStyle(t).direction),a=o*n,s=r.target,c=t.contains(s),l=!1,u=a>0,d=0,h=0;do{var f=hW(e,s),p=f[0],m=f[1]-f[2]-o*p;(p||m)&&dW(e,s)&&(d+=m,h+=p),s=s instanceof ShadowRoot?s.host:s.parentNode}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&a>d)||!u&&(i&&Math.abs(h)<1||!i&&-a>h))&&(l=!0),l}(f,t,e,"h"===f?c:l,!0)}),[]),l=t.useCallback((function(e){var t=e;if(yW.length&&yW[yW.length-1]===a){var n="deltaY"in t?pW(t):fW(t),i=r.current.filter((function(e){return e.name===t.type&&(e.target===t.target||t.target===e.shadowParent)&&function(e,t){return e[0]===t[0]&&e[1]===t[1]}(e.delta,n)}))[0];if(i&&i.should)t.cancelable&&t.preventDefault();else if(!i){var o=(s.current.shards||[]).map(mW).filter(Boolean).filter((function(e){return e.contains(t.target)}));(o.length>0?c(t,o[0]):!s.current.noIsolation)&&t.cancelable&&t.preventDefault()}}}),[]),u=t.useCallback((function(e,t,n,i){var o={name:e,delta:t,target:n,should:i,shadowParent:bW(n)};r.current.push(o),setTimeout((function(){r.current=r.current.filter((function(e){return e!==o}))}),1)}),[]),d=t.useCallback((function(e){n.current=fW(e),i.current=void 0}),[]),h=t.useCallback((function(t){u(t.type,pW(t),t.target,c(t,e.lockRef.current))}),[]),f=t.useCallback((function(t){u(t.type,fW(t),t.target,c(t,e.lockRef.current))}),[]);t.useEffect((function(){return yW.push(a),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:f}),document.addEventListener("wheel",l,cW),document.addEventListener("touchmove",l,cW),document.addEventListener("touchstart",d,cW),function(){yW=yW.filter((function(e){return e!==a})),document.removeEventListener("wheel",l,cW),document.removeEventListener("touchmove",l,cW),document.removeEventListener("touchstart",d,cW)}}),[]);var p=e.removeScrollBar,m=e.inert;return t.createElement(t.Fragment,null,m?t.createElement(a,{styles:gW(o)}):null,p?t.createElement(oW,{gapMode:e.gapMode}):null)},KK.useMedium(xW),ZK);var xW,_W=t.forwardRef((function(e,r){return t.createElement(GK,Wh({},e,{ref:r,sideCar:wW}))}));_W.classNames=GK.classNames;const SW=_W,kW=(0,t.createContext)({openWith:e=>Promise.resolve(),onClose:()=>{},isOpen:!1}),EW=()=>{const{isOpen:e,onClose:r,onOpen:n}=aK(),[i,o]=(0,t.useState)(null),[a,s]=(0,t.useState)("md");return{isOpen:e,onClose:r,openWith:async(e,t="md")=>{s(t),o(e),n()},content:(0,Yn.jsxs)(kK,{autoFocus:!1,blockScrollOnMount:!1,closeOnOverlayClick:!1,isCentered:!0,isOpen:e,onClose:r,size:a,children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(SW,{enabled:e,children:i})]})}};function PW(e){return Object.keys(e)}var OW;!function(e){e.PENDING="pending",e.RESOLVED="resolved",e.REJECTED="rejected"}(OW||(OW={}));const AW=()=>{throw new Error("ExposedPromise not initialized yet.")};class TW{constructor(){this._resolve=AW,this._reject=AW,this._status=OW.PENDING,this._promise=new Promise(((e,t)=>{this._resolve=t=>{this.isSettled()||(this._promiseResult=t,e(t),this._status=OW.RESOLVED)},this._reject=e=>{this.isSettled()||(this._promiseError=e,t(e),this._status=OW.REJECTED)}}))}get promise(){return this._promise}get resolve(){return this._resolve}get reject(){return this._reject}get status(){return this._status}get promiseResult(){return this._promiseResult}get promiseError(){return this._promiseError}static resolve(e){const t=new TW;return t.resolve(e),t}static reject(e){const t=new TW;return t.reject(e),t}isPending(){return this.status===OW.PENDING}isResolved(){return this.status===OW.RESOLVED}isRejected(){return this.status===OW.REJECTED}isSettled(){return this.isResolved()||this.isRejected()}}var jW=r(2104),CW=r(3226),RW=r(3715),IW=r(2111),MW=r(261).Buffer,LW=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};function NW(e){return MW.from(e).toString("hex")}function DW(e){return LW(this,void 0,void 0,(function*(){return NW("string"===typeof e?(0,Fa.hash)((0,RW.cv)(e),32):(0,Fa.hash)(e,32))}))}function BW(e){return LW(this,void 0,void 0,(function*(){return(0,Ua._w)((0,Fa.hash)((0,RW.cv)(e),32))}))}function zW(e,t){return`@${e}:${t}`}var UW=r(261).Buffer,FW=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};function $W(){return FW(this,void 0,void 0,(function*(){const e=(0,CW.randomBytes)(16);return[e.slice(0,4),e.slice(4,6),e.slice(6,8),e.slice(8,10),e.slice(10,16)].map((function(e){return UW.from(e).toString("hex")})).join("-")}))}var HW,VW,qW,KW,WW,GW,YW,ZW,XW,JW;!function(e){e.BlockchainRequest="blockchain_request",e.PermissionRequest="permission_request",e.SignPayloadRequest="sign_payload_request",e.OperationRequest="operation_request",e.BroadcastRequest="broadcast_request",e.ChangeAccountRequest="change_account_request",e.BlockchainResponse="blockchain_response",e.PermissionResponse="permission_response",e.SignPayloadResponse="sign_payload_response",e.OperationResponse="operation_response",e.BroadcastResponse="broadcast_response",e.Acknowledge="acknowledge",e.Disconnect="disconnect",e.Error="error"}(HW||(HW={})),function(e){e.SIGN="sign",e.OPERATION_REQUEST="operation_request",e.ENCRYPT="encrypt",e.NOTIFICATION="notification",e.THRESHOLD="threshold"}(VW||(VW={})),function(e){e.MAINNET="mainnet",e.GHOSTNET="ghostnet",e.MONDAYNET="mondaynet",e.DAILYNET="dailynet",e.DELPHINET="delphinet",e.EDONET="edonet",e.FLORENCENET="florencenet",e.GRANADANET="granadanet",e.HANGZHOUNET="hangzhounet",e.ITHACANET="ithacanet",e.JAKARTANET="jakartanet",e.KATHMANDUNET="kathmandunet",e.LIMANET="limanet",e.MUMBAINET="mumbainet",e.NAIROBINET="nairobinet",e.OXFORDNET="oxfordnet",e.CUSTOM="custom"}(qW||(qW={})),function(e){e.ENDORSEMENT="endorsement",e.SEED_NONCE_REVELATION="seed_nonce_revelation",e.DOUBLE_ENDORSEMENT_EVIDENCE="double_endorsement_evidence",e.DOUBLE_BAKING_EVIDENCE="double_baking_evidence",e.ACTIVATE_ACCOUNT="activate_account",e.PROPOSALS="proposals",e.BALLOT="ballot",e.REVEAL="reveal",e.TRANSACTION="transaction",e.ORIGINATION="origination",e.DELEGATION="delegation"}(KW||(KW={})),function(e){e.WEBSITE="website",e.EXTENSION="extension",e.P2P="p2p",e.WALLETCONNECT="walletconnect"}(WW||(WW={})),function(e){e.BACKGROUND="toBackground",e.PAGE="toPage",e.EXTENSION="toExtension"}(GW||(GW={})),function(e){e.BROADCAST_ERROR="BROADCAST_ERROR",e.NETWORK_NOT_SUPPORTED="NETWORK_NOT_SUPPORTED",e.NO_ADDRESS_ERROR="NO_ADDRESS_ERROR",e.NO_PRIVATE_KEY_FOUND_ERROR="NO_PRIVATE_KEY_FOUND_ERROR",e.NOT_GRANTED_ERROR="NOT_GRANTED_ERROR",e.PARAMETERS_INVALID_ERROR="PARAMETERS_INVALID_ERROR",e.TOO_MANY_OPERATIONS="TOO_MANY_OPERATIONS",e.TRANSACTION_INVALID_ERROR="TRANSACTION_INVALID_ERROR",e.SIGNATURE_TYPE_NOT_SUPPORTED="SIGNATURE_TYPE_NOT_SUPPORTED",e.ABORTED_ERROR="ABORTED_ERROR",e.UNKNOWN_ERROR="UNKNOWN_ERROR"}(YW||(YW={})),function(e){e.NOT_CONNECTED="NOT_CONNECTED",e.CONNECTING="CONNECTING",e.CONNECTED="CONNECTED"}(ZW||(ZW={})),function(e){e.CHROME_MESSAGE="chrome_message",e.WALLETCONNECT="walletconnect",e.POST_MESSAGE="post_message",e.LEDGER="ledger",e.P2P="p2p"}(XW||(XW={})),function(e){e.TRANSPORT_P2P_PEERS_DAPP="beacon:communication-peers-dapp",e.TRANSPORT_P2P_PEERS_WALLET="beacon:communication-peers-wallet",e.TRANSPORT_POSTMESSAGE_PEERS_DAPP="beacon:postmessage-peers-dapp",e.TRANSPORT_POSTMESSAGE_PEERS_WALLET="beacon:postmessage-peers-wallet",e.TRANSPORT_WALLETCONNECT_PEERS_DAPP="beacon:walletconnect-peers-dapp",e.LAST_SELECTED_WALLET="beacon:last-selected-wallet",e.ACCOUNTS="beacon:accounts",e.ACTIVE_ACCOUNT="beacon:active-account",e.PUSH_TOKENS="beacon:push-tokens",e.BEACON_SDK_SECRET_SEED="beacon:sdk-secret-seed",e.APP_METADATA_LIST="beacon:app-metadata-list",e.PERMISSION_LIST="beacon:permissions",e.BEACON_SDK_VERSION="beacon:sdk_version",e.MATRIX_PRESERVED_STATE="beacon:sdk-matrix-preserved-state",e.MATRIX_PEER_ROOM_IDS="beacon:matrix-peer-rooms",e.MATRIX_SELECTED_NODE="beacon:matrix-selected-node",e.MULTI_NODE_SETUP_DONE="beacon:multi-node-setup"}(JW||(JW={}));const QW={[JW.TRANSPORT_P2P_PEERS_DAPP]:[],[JW.TRANSPORT_P2P_PEERS_WALLET]:[],[JW.TRANSPORT_POSTMESSAGE_PEERS_DAPP]:[],[JW.TRANSPORT_POSTMESSAGE_PEERS_WALLET]:[],[JW.TRANSPORT_WALLETCONNECT_PEERS_DAPP]:[],[JW.LAST_SELECTED_WALLET]:void 0,[JW.ACCOUNTS]:[],[JW.ACTIVE_ACCOUNT]:void 0,[JW.PUSH_TOKENS]:[],[JW.BEACON_SDK_SECRET_SEED]:void 0,[JW.APP_METADATA_LIST]:[],[JW.PERMISSION_LIST]:[],[JW.BEACON_SDK_VERSION]:void 0,[JW.MATRIX_PRESERVED_STATE]:{},[JW.MATRIX_PEER_ROOM_IDS]:{},[JW.MATRIX_SELECTED_NODE]:void 0,[JW.MULTI_NODE_SETUP_DONE]:void 0};var eG,tG,rG;!function(e){e.RAW="raw",e.OPERATION="operation",e.MICHELINE="micheline"}(eG||(eG={})),function(e){e.LIGHT="light",e.DARK="dark"}(tG||(tG={})),function(e){e.EUROPE_EAST="europe-east",e.EUROPE_WEST="europe-west",e.NORTH_AMERICA_EAST="north-america-east",e.NORTH_AMERICA_WEST="north-america-west",e.CENTRAL_AMERICA="central-america",e.SOUTH_AMERICA="south-america",e.ASIA_EAST="asia-east",e.ASIA_WEST="asia-west",e.AFRICA="africa",e.AUSTRALIA="australia"}(rG||(rG={}));const nG="https://beacon-notification-oracle.dev.gke.papers.tech",iG=[e=>{}];let oG={postMessage:(e,t)=>{console.log("GOT MOCK POST MESSAGE",e),iG.forEach((t=>{t({data:e})}))},addEventListener:(e,t)=>{iG.push(t)},removeEventListener:(e,t)=>{iG.splice(iG.indexOf((e=>e===t)),1)},location:{origin:"*"}};try{"undefined"!==typeof window&&(oG=window)}catch(Xue){console.log(`not defined: ${Xue}`)}class aG{track(e,t,r,n){}}var sG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class cG{constructor(e){var t,r;if(this._beaconId=new TW,this._keyPair=new TW,!e.name)throw new Error("Name not set");if(!e.storage)throw new Error("Storage not set");this.name=e.name,this.iconUrl=e.iconUrl,this.appUrl=null!==(t=e.appUrl)&&void 0!==t?t:oG.location.origin,this.storage=e.storage,this.analytics=null!==(r=e.analytics)&&void 0!==r?r:new aG,oG.beaconCreatedClientInstance?console.error("[BEACON] It looks like you created multiple Beacon SDK Client instances. This can lead to problems. Only create one instance and re-use it everywhere."):oG.beaconCreatedClientInstance=!0,this.initSDK().catch(console.error)}get beaconId(){return this._beaconId.promise}get keyPair(){return this._keyPair.promise}destroy(){return sG(this,void 0,void 0,(function*(){yield this.removeBeaconEntriesFromStorage(),oG.beaconCreatedClientInstance=!1}))}initSDK(){return sG(this,void 0,void 0,(function*(){return this.storage.set(JW.BEACON_SDK_VERSION,"4.0.12").catch(console.error),this.loadOrCreateBeaconSecret().catch(console.error),this.keyPair.then((e=>{this._beaconId.resolve(NW(e.publicKey))}))}))}removeBeaconEntriesFromStorage(){return sG(this,void 0,void 0,(function*(){const e=Object.values(JW);yield Promise.all(e.map((e=>this.storage.delete(e))))}))}loadOrCreateBeaconSecret(){return sG(this,void 0,void 0,(function*(){const e=yield this.storage.get(JW.BEACON_SDK_SECRET_SEED);if(e&&"string"===typeof e)this._keyPair.resolve(yield BW(e));else{const e=yield $W();yield this.storage.set(JW.BEACON_SDK_SECRET_SEED,e),this._keyPair.resolve(yield BW(e))}}))}}var lG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class uG{constructor(e,t){this.storage=e,this.storageKey=t}getAll(){var e;return lG(this,void 0,void 0,(function*(){return null!==(e=yield this.storage.get(this.storageKey))&&void 0!==e?e:[]}))}getOne(e){return lG(this,void 0,void 0,(function*(){return(yield this.storage.get(this.storageKey)).find(e)}))}addOne(e,t,r=!0){return lG(this,void 0,void 0,(function*(){const n=yield this.storage.get(this.storageKey);if(n.some(t)){if(r)for(let r=0;r!e(t)));return this.storage.set(this.storageKey,t)}))}removeAll(){return lG(this,void 0,void 0,(function*(){return this.storage.delete(this.storageKey)}))}}var dG=r(261).Buffer,hG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const fG=(e,t)=>hG(void 0,void 0,void 0,(function*(){const r=[e,t.type];t.name&&r.push(`name:${t.name}`),t.rpcUrl&&r.push(`rpc:${t.rpcUrl}`);const n=dG.from((0,Fa.hash)((0,RW.cv)(r.join("-")),10));return jW.encode(n)}));var pG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class mG{static hasPermission(e,t,r){return pG(this,void 0,void 0,(function*(){switch(e.type){case HW.PermissionRequest:case HW.BroadcastRequest:return!0;case HW.OperationRequest:{const r=yield fG(e.sourceAddress,e.network),n=yield t(r);return!!n&&n.scopes.includes(VW.OPERATION_REQUEST)}case HW.SignPayloadRequest:{const t=(yield r()).filter((t=>t.address===e.sourceAddress));return 0!==t.length&&t.some((e=>e.scopes.includes(VW.SIGN)))}default:throw new Error("Message not handled")}}))}}var gG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class vG{constructor(e){this.storageManager=new uG(e,JW.ACCOUNTS)}getAccounts(){var e;return gG(this,void 0,void 0,(function*(){return null!==(e=yield this.storageManager.getAll())&&void 0!==e?e:[]}))}getAccount(e){return gG(this,void 0,void 0,(function*(){return this.storageManager.getOne((t=>t.accountIdentifier===e))}))}addAccount(e){return gG(this,void 0,void 0,(function*(){return this.storageManager.addOne(e,(t=>t.accountIdentifier===e.accountIdentifier))}))}removeAccount(e){return gG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>t.accountIdentifier===e))}))}removeAccounts(e){return gG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>e.includes(t.accountIdentifier)))}))}removeAllAccounts(){return gG(this,void 0,void 0,(function*(){return this.storageManager.removeAll()}))}hasPermission(e){return gG(this,void 0,void 0,(function*(){return mG.hasPermission(e,this.getAccount.bind(this),this.getAccounts.bind(this))}))}}var yG=r(261).Buffer,bG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const wG=e=>bG(void 0,void 0,void 0,(function*(){const t=yG.from((0,Fa.hash)(yG.from(e,"hex"),5));return jW.encode(t)}));let xG=!!oG.beaconSdkDebugEnabled;xG&&console.log("[BEACON]: Debug mode is ON (turned on either by the developer or a browser extension)");class _G{constructor(e){this.name=e}debug(e,...t){SG.debug(this.name,e,t)}log(e,...t){SG.log(this.name,e,t)}warn(e,...t){SG.warn(this.name,e,t)}error(e,...t){SG.error(this.name,e,t)}time(e,t){SG.time(e,t)}timeLog(e,...t){SG.timeLog(e,t)}}new _G("");let SG=new class{constructor(){}debug(e,t,...r){this._log("debug",e,t,r)}log(e,t,...r){this._log("log",e,t,r)}warn(e,t,...r){this._log("warn",e,t,r)}error(e,t,...r){this._log("error",e,t,r)}time(e,t){e?console.time(t):console.timeEnd(t)}timeLog(e,t,...r){this._log("timeLog",e,t,r)}_log(e,t,r,n=[]){if(!xG)return;let i=`[BEACON] ${(new Date).toISOString()} [${t}](${r})`,o=n;switch(n[0]&&"string"===typeof n[0]&&(i+=` ${n[0]}`,o=n.slice(1)),e){case"error":console.group(i),console.error(...o);break;case"warn":console.group(i),console.warn(...o);break;case"debug":console.groupCollapsed(i),console.debug(...o);break;case"timeLog":console.group(i),console.timeLog(...o);break;default:console.group(i),console.log(...o)}console.groupEnd()}};var kG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const EG=new _G("Client");class PG extends cG{constructor(e){var t;super(e),this.rateLimit=2,this.rateLimitWindowInSeconds=5,this.requestCounter=[],this._transport=new TW,this.accountManager=new vG(e.storage),this.matrixNodes=null!==(t=e.matrixNodes)&&void 0!==t?t:{},this.handleResponse=(e,t)=>{throw new Error(`not overwritten${JSON.stringify(e)} - ${JSON.stringify(t)}`)}}get transport(){return this._transport.promise}get connectionStatus(){var e,t;return null!==(t=null===(e=this._transport.promiseResult)||void 0===e?void 0:e.connectionStatus)&&void 0!==t?t:ZW.NOT_CONNECTED}get ready(){return this.transport.then((()=>{}))}getAccounts(){return kG(this,void 0,void 0,(function*(){return this.accountManager.getAccounts()}))}getAccount(e){return kG(this,void 0,void 0,(function*(){return this.accountManager.getAccount(e)}))}removeAccount(e){return kG(this,void 0,void 0,(function*(){return this.accountManager.removeAccount(e)}))}removeAllAccounts(){return kG(this,void 0,void 0,(function*(){return this.accountManager.removeAllAccounts()}))}addRequestAndCheckIfRateLimited(){return kG(this,void 0,void 0,(function*(){const e=(new Date).getTime();return this.requestCounter=this.requestCounter.filter((t=>t+1e3*this.rateLimitWindowInSeconds>e)),this.requestCounter.push(e),this.requestCounter.length>this.rateLimit}))}init(e){return kG(this,void 0,void 0,(function*(){return this._transport.status===OW.RESOLVED?(yield this.transport).type:(yield this.setTransport(e),e.type)}))}getOwnAppMetadata(){return kG(this,void 0,void 0,(function*(){return{senderId:yield wG(yield this.beaconId),name:this.name,icon:this.iconUrl}}))}getPeers(){return kG(this,void 0,void 0,(function*(){return(yield this.transport).getPeers()}))}addPeer(e){return kG(this,void 0,void 0,(function*(){return(yield this.transport).addPeer(e)}))}destroy(){const e=Object.create(null,{destroy:{get:()=>super.destroy}});return kG(this,void 0,void 0,(function*(){this._transport.status===OW.RESOLVED&&(yield(yield this.transport).disconnect()),yield e.destroy.call(this)}))}setTransport(e){return kG(this,void 0,void 0,(function*(){e?this._transport.isSettled()?this._transport=TW.resolve(e):this._transport.resolve(e):this._transport.isSettled()&&(this._transport=new TW)}))}addListener(e){return kG(this,void 0,void 0,(function*(){e.addListener(((e,t)=>kG(this,void 0,void 0,(function*(){if("string"===typeof e){const r=yield(new MG).deserialize(e);this.handleResponse(r,t)}})))).catch((e=>EG.error("addListener",e)))}))}sendDisconnectToPeer(e,t){return kG(this,void 0,void 0,(function*(){const r={id:yield $W(),version:e.version,senderId:yield wG(yield this.beaconId),type:HW.Disconnect},n=yield(new MG).serialize(r),i=null!==t&&void 0!==t?t:yield this.transport;yield i.send(n,e)}))}}var OG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const AG=new _G("Transport");class TG{constructor(e,t,r){this.type=XW.POST_MESSAGE,this._isConnected=ZW.NOT_CONNECTED,this.listeners=[],this.name=e,this.client=t,this.peerManager=r}setEventHandler(e,t){this.client.eventHandlers.set(e,t)}get connectionStatus(){return this._isConnected}static isAvailable(){return OG(this,void 0,void 0,(function*(){return Promise.resolve(!1)}))}connect(){return OG(this,void 0,void 0,(function*(){AG.log("connect"),this._isConnected=ZW.CONNECTED}))}disconnect(){return OG(this,void 0,void 0,(function*(){AG.log("disconnect"),this._isConnected=ZW.NOT_CONNECTED}))}send(e,t){return OG(this,void 0,void 0,(function*(){if(t)return this.client.sendMessage(e,t);{const t=(yield this.getPeers()).map((t=>this.client.sendMessage(e,t)));return(yield Promise.all(t))[0]}}))}addListener(e){return OG(this,void 0,void 0,(function*(){AG.debug("addListener"),this.listeners.push(e)}))}removeListener(e){return OG(this,void 0,void 0,(function*(){AG.log("removeListener"),this.listeners=this.listeners.filter((t=>t!==e))}))}getPeers(){return OG(this,void 0,void 0,(function*(){return this.peerManager.getPeers()}))}addPeer(e,t=!0){return OG(this,void 0,void 0,(function*(){AG.log("addPeer","adding peer",e),yield this.peerManager.addPeer(e),yield this.listen(e.publicKey)}))}removePeer(e){return OG(this,void 0,void 0,(function*(){AG.log("removePeer","removing peer",e),yield this.peerManager.removePeer(e.publicKey),this.client&&(yield this.client.unsubscribeFromEncryptedMessage(e.publicKey))}))}removeAllPeers(){return OG(this,void 0,void 0,(function*(){AG.log("removeAllPeers"),yield this.peerManager.removeAllPeers(),this.client&&(yield this.client.unsubscribeFromEncryptedMessages())}))}notifyListeners(e,t){return OG(this,void 0,void 0,(function*(){0===this.listeners.length?AG.warn("notifyListeners","0 listeners notified!",this):AG.log("notifyListeners",`Notifying ${this.listeners.length} listeners`,this),this.listeners.forEach((r=>{r(e,t)}))}))}}var jG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class CG{constructor(e){this.prefix=e}static isSupported(){return jG(this,void 0,void 0,(function*(){return Promise.resolve(Boolean("undefined"!==typeof window)&&Boolean(window.localStorage))}))}get(e){return jG(this,void 0,void 0,(function*(){const t=localStorage.getItem(this.getPrefixedKey(e));if(!t)return"object"===typeof QW[e]?JSON.parse(JSON.stringify(QW[e])):QW[e];try{return JSON.parse(t)}catch(r){return t}}))}set(e,t){return jG(this,void 0,void 0,(function*(){return"string"===typeof t?localStorage.setItem(this.getPrefixedKey(e),t):localStorage.setItem(this.getPrefixedKey(e),JSON.stringify(t))}))}delete(e){return jG(this,void 0,void 0,(function*(){return Promise.resolve(localStorage.removeItem(this.getPrefixedKey(e)))}))}getPrefixedKey(e){return this.prefix?`${this.prefix}-${e}`:e}}new _G("STORAGE");var RG=r(261).Buffer,IG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class MG{serialize(e){return IG(this,void 0,void 0,(function*(){const t=JSON.stringify(e);return jW.encode(RG.from(t))}))}deserialize(e){return IG(this,void 0,void 0,(function*(){if("string"!==typeof e)throw new Error("Encoded payload needs to be a string");return JSON.parse(jW.decode(e).toString())}))}}var LG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class NG{constructor(e){this.storageManager=new uG(e,JW.APP_METADATA_LIST)}getAppMetadataList(){var e;return LG(this,void 0,void 0,(function*(){return null!==(e=yield this.storageManager.getAll())&&void 0!==e?e:[]}))}getAppMetadata(e){return LG(this,void 0,void 0,(function*(){return this.storageManager.getOne((t=>t.senderId===e))}))}addAppMetadata(e){return LG(this,void 0,void 0,(function*(){return this.storageManager.addOne(e,(t=>t.senderId===e.senderId))}))}removeAppMetadata(e){return LG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>t.senderId===e))}))}removeAppMetadatas(e){return LG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>e.includes(t.senderId)))}))}removeAllAppMetadata(){return LG(this,void 0,void 0,(function*(){return this.storageManager.removeAll()}))}}var DG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class BG{constructor(e){this.storageManager=new uG(e,JW.PERMISSION_LIST)}getPermissions(){var e;return DG(this,void 0,void 0,(function*(){return null!==(e=yield this.storageManager.getAll())&&void 0!==e?e:[]}))}getPermission(e){return DG(this,void 0,void 0,(function*(){return this.storageManager.getOne((t=>t.accountIdentifier===e))}))}addPermission(e){return DG(this,void 0,void 0,(function*(){return this.storageManager.addOne(e,(t=>t.accountIdentifier===e.accountIdentifier&&t.senderId===e.senderId))}))}removePermission(e){return DG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>t.accountIdentifier===e))}))}removePermissions(e){return DG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>e.includes(t.accountIdentifier)))}))}removeAllPermissions(){return DG(this,void 0,void 0,(function*(){return this.storageManager.removeAll()}))}hasPermission(e){return DG(this,void 0,void 0,(function*(){return mG.hasPermission(e,this.getPermission.bind(this),this.getPermissions.bind(this))}))}}var zG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class UG{constructor(e,t){this.storageManager=new uG(e,t)}hasPeer(e){return zG(this,void 0,void 0,(function*(){return!!(yield this.getPeer(e))}))}getPeers(){var e;return zG(this,void 0,void 0,(function*(){return null!==(e=yield this.storageManager.getAll())&&void 0!==e?e:[]}))}getPeer(e){return zG(this,void 0,void 0,(function*(){return this.storageManager.getOne((t=>t.publicKey===e))}))}addPeer(e){return zG(this,void 0,void 0,(function*(){return this.storageManager.addOne(e,(t=>t.publicKey===e.publicKey))}))}removePeer(e){return zG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>t.publicKey===e))}))}removePeers(e){return zG(this,void 0,void 0,(function*(){return this.storageManager.remove((t=>e.includes(t.publicKey)))}))}removeAllPeers(){return zG(this,void 0,void 0,(function*(){return this.storageManager.removeAll()}))}}var FG=r(757),$G=r(261).Buffer,HG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class VG{constructor(e){this.keyPair=e,this.eventHandlers=new Map}getPublicKey(){var e;return HG(this,void 0,void 0,(function*(){return NW(null===(e=this.keyPair)||void 0===e?void 0:e.publicKey)}))}getPublicKeyHash(){return HG(this,void 0,void 0,(function*(){return DW(this.keyPair.publicKey)}))}createCryptoBoxServer(e,t){return HG(this,void 0,void 0,(function*(){return(0,FG.serverSessionKeys)({publicKey:(0,Ua.SH)(t.publicKey),secretKey:(0,Ua.zh)(t.secretKey)},(0,Ua.SH)($G.from(e,"hex")))}))}createCryptoBoxClient(e,t){return HG(this,void 0,void 0,(function*(){return(0,FG.clientSessionKeys)({publicKey:(0,Ua.SH)(t.publicKey),secretKey:(0,Ua.zh)(t.secretKey)},(0,Ua.SH)($G.from(e,"hex")))}))}encryptMessageAsymmetric(e,t){return HG(this,void 0,void 0,(function*(){return function(e,t){return LW(this,void 0,void 0,(function*(){const r=(0,Ua.SH)(MW.from(t)),n=(0,Ac.generateKeyPair)(),i=new Fa.BLAKE2b(24).update(n.publicKey,32).update(r,32).digest(),o="string"===typeof e?(0,RW.cv)(e):e,a=(0,Ac.box)(r,n.secretKey,i,o);return NW((0,IW.z)(n.publicKey,a))}))}(t,$G.from(e,"hex"))}))}}r(261).Buffer;var qG,KG=r(5893),WG=r.n(KG);!function(e){e.TEXT="m.text"}(qG||(qG={}));class GG{constructor(e,t,r,n){this.type=e,this.sender=t,this.content=r,this.timestamp=n}static from(e){if(ZG(e))return new GG(e.content.msgtype,e.sender,e.content.body,e.origin_server_ts)}}const YG=e=>"m.room.message"===e.type,ZG=e=>YG(e)&&e.content instanceof Object&&"msgtype"in e.content&&e.content.msgtype===qG.TEXT;var XG;!function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.JOINED=1]="JOINED",e[e.INVITED=2]="INVITED",e[e.LEFT=3]="LEFT"}(XG||(XG={}));class JG{constructor(e,t=XG.UNKNOWN,r=[],n=[]){this.id=e,this.status=t,this.members=r,this.messages=n}static fromSync(e){var t,r,n;if(!e)return[];function i(e,t){return Object.entries(e).map((([e,r])=>t(e,r)))}return[...i(null!==(t=e.join)&&void 0!==t?t:{},JG.fromJoined),...i(null!==(r=e.invite)&&void 0!==r?r:{},JG.fromInvited),...i(null!==(n=e.leave)&&void 0!==n?n:{},JG.fromLeft)]}static from(e,t){return"string"===typeof e?new JG(e,t||XG.UNKNOWN):void 0!==t?new JG(e.id,t,e.members,e.messages):e}static merge(e,t){return t&&t.id===e.id?new JG(e.id,e.status,[...t.members,...e.members].filter(((e,t,r)=>r.indexOf(e)===t)),[...t.messages,...e.messages]):JG.from(e)}static fromJoined(e,t){const r=[...t.state.events,...t.timeline.events],n=JG.getMembersFromEvents(r),i=JG.getMessagesFromEvents(r);return new JG(e,XG.JOINED,n,i)}static fromInvited(e,t){const r=JG.getMembersFromEvents(t.invite_state.events);return new JG(e,XG.INVITED,r)}static fromLeft(e,t){const r=[...t.state.events,...t.timeline.events],n=JG.getMembersFromEvents(r),i=JG.getMessagesFromEvents(r);return new JG(e,XG.LEFT,n,i)}static getMembersFromEvents(e){return JG.getUniqueEvents(e.filter((e=>(e=>"m.room.create"===e.type&&e.content instanceof Object&&"creator"in e.content)(e)||(e=>"m.room.member"===e.type&&e.content instanceof Object&&"membership"in e.content&&"join"===e.content.membership)(e)))).map((e=>e.sender)).filter(((e,t,r)=>r.indexOf(e)===t))}static getMessagesFromEvents(e){return JG.getUniqueEvents(e.filter(YG)).map((e=>GG.from(e))).filter(Boolean)}static getUniqueEvents(e){const t={},r=[];return e.forEach(((e,n)=>{const i=e.event_id;void 0!==i&&i in t||(void 0!==i&&(t[i]=n),r.push(e))})),r}}var QG=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const eY=["syncToken","rooms"];class tY{constructor(e){this.storage=e,this.state={isRunning:!1,userId:void 0,deviceId:void 0,txnNo:0,accessToken:void 0,syncToken:void 0,pollingTimeout:void 0,pollingRetries:0,rooms:{}},this.onStateChangedListeners=new Map,this.waitReadyPromise=new Promise(((e,t)=>QG(this,void 0,void 0,(function*(){try{yield this.initFromStorage(),e()}catch(r){t(r)}}))))}get(e){return this.state[e]}getRoom(e){const t=JG.from(e,XG.UNKNOWN);return this.state.rooms[t.id]||t}update(e){return QG(this,void 0,void 0,(function*(){yield this.waitReady();const t=Object.assign({},this.state);this.setState(e),this.updateStorage(e),this.notifyListeners(t,this.state,e)}))}onStateChanged(e,...t){t.length>0?t.forEach((t=>{this.onStateChangedListeners.set(t,e)})):this.onStateChangedListeners.set("all",e)}waitReady(){return QG(this,void 0,void 0,(function*(){return this.waitReadyPromise}))}initFromStorage(){return QG(this,void 0,void 0,(function*(){const e=yield this.storage.get(JW.MATRIX_PRESERVED_STATE);this.setState(e)}))}prepareData(e){const t=["rooms"].some((t=>void 0!==e[t]))?JSON.parse(JSON.stringify(e)):e;return Object.values(t.rooms||{}).forEach((e=>{e.messages=[]})),t}updateStorage(e){const t=Object.entries(e).filter((([e,t])=>eY.includes(e)&&Boolean(t)));if(t.length>0){const e={};eY.forEach((t=>{e[t]=this.state[t]})),this.storage.set(JW.MATRIX_PRESERVED_STATE,this.prepareData(e))}}setState(e){this.state={isRunning:e.isRunning||this.state.isRunning,userId:e.userId||this.state.userId,deviceId:e.deviceId||this.state.deviceId,txnNo:e.txnNo||this.state.txnNo,accessToken:e.accessToken||this.state.accessToken,syncToken:e.syncToken||this.state.syncToken,pollingTimeout:e.pollingTimeout||this.state.pollingTimeout,pollingRetries:e.pollingRetries||this.state.pollingRetries,rooms:this.mergeRooms(this.state.rooms,e.rooms)}}mergeRooms(e,t){if(!t)return e;const r=Array.isArray(t)?t:Object.values(t),n=Object.assign({},e);return r.forEach((t=>{n[t.id]=JG.merge(t,e[t.id])})),n}notifyListeners(e,t,r){const n=this.onStateChangedListeners.get("all");n&&n(e,t,r),PW(r).filter((e=>void 0!==r[e])).forEach((n=>{const i=this.onStateChangedListeners.get(n);i&&i(e,t,r)}))}}var rY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const nY=new _G("MatrixHttpClient");class iY{constructor(e){this.baseUrl=e,this.cancelTokenSource=WG().CancelToken.source()}get(e,t,r){return rY(this,void 0,void 0,(function*(){return this.send("GET",e,r,t)}))}post(e,t,r,n){return rY(this,void 0,void 0,(function*(){return this.send("POST",e,r,n,t)}))}put(e,t,r,n){return rY(this,void 0,void 0,(function*(){return this.send("PUT",e,r,n,t)}))}cancelAllRequests(){return rY(this,void 0,void 0,(function*(){return this.cancelTokenSource.cancel("Manually cancelled")}))}send(e,t,r,n,i){return rY(this,void 0,void 0,(function*(){const o=r?this.getHeaders(r):void 0,a=n?this.getParams(n):void 0;let s;try{s=yield WG().request({method:e,url:t,baseURL:this.apiUrl("/_matrix/client/r0"),headers:o,data:i,params:a,cancelToken:this.cancelTokenSource.token})}catch(c){const e=c;throw nY.error("send",e.code,e.message,e.response.data),c.response.data}return s.data}))}getHeaders(e){const t={},r=[];if(e.accessToken&&r.push(["Authorization",`Bearer ${e.accessToken}`]),0!==r.length){for(const[e,n]of r)t[e]=n;return t}}getParams(e){if(!e)return;const t=Object.assign(e,{});return PW(t).forEach((e=>void 0===t[e]&&delete t[e])),t}apiUrl(...e){return[this.baseUrl.endsWith("/")?this.baseUrl.substr(0,this.baseUrl.length-1):this.baseUrl,...e.map((e=>e.startsWith("/")?e.substr(1):e))].join("/")}}var oY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class aY{constructor(e){this.httpClient=e}createRoom(e,t={}){return oY(this,void 0,void 0,(function*(){return this.httpClient.post("/createRoom",t,{accessToken:e})}))}inviteToRoom(e,t,r){return oY(this,void 0,void 0,(function*(){return r.status!==XG.JOINED&&r.status!==XG.UNKNOWN?Promise.reject(`User is not a member of room ${r.id}.`):this.httpClient.post(`/rooms/${encodeURIComponent(r.id)}/invite`,{user_id:t},{accessToken:e})}))}joinRoom(e,t){return oY(this,void 0,void 0,(function*(){return t.status===XG.JOINED?Promise.resolve({room_id:t.id}):this.httpClient.post(`/rooms/${encodeURIComponent(t.id)}/join`,{},{accessToken:e})}))}getJoinedRooms(e){return oY(this,void 0,void 0,(function*(){return this.httpClient.get("/joined_rooms",void 0,{accessToken:e})}))}}var sY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class cY{constructor(e){this.httpClient=e}login(e,t,r){return sY(this,void 0,void 0,(function*(){return this.httpClient.post("/login",{type:"m.login.password",identifier:{type:"m.id.user",user:e},password:t,device_id:r})}))}}var lY,uY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class dY{constructor(e){this.httpClient=e,this.cachedPromises=new Map}sync(e,t){return uY(this,void 0,void 0,(function*(){return this.withCache("sync",(()=>this.httpClient.get("/sync",{timeout:t?t.pollingTimeout:void 0,since:t?t.syncToken:void 0},{accessToken:e})))}))}sendMessage(e,t,r,n){return uY(this,void 0,void 0,(function*(){return new Promise(((i,o)=>this.scheduleEvent({accessToken:e,roomId:t,type:"m.room.message",content:r,txnId:n,onSuccess:i,onError:o})))}))}scheduleEvent(e){this.sendEvent(e)}sendEvent(e){return uY(this,void 0,void 0,(function*(){const{roomId:t,type:r,txnId:n,content:i,accessToken:o}=e;try{const a=yield this.httpClient.put(`/rooms/${encodeURIComponent(t)}/send/${r}/${encodeURIComponent(n)}`,i,{accessToken:o});e.onSuccess(a)}catch(a){e.onError(a)}}))}withCache(e,t){let r=this.cachedPromises.get(e);return r||(r=t().finally((()=>{this.cachedPromises.delete(e)})),this.cachedPromises.set(e,r)),r}}class hY{constructor(){this.events={}}on(e,t){return"object"!==typeof this.events[e]&&(this.events[e]=[]),this.events[e].push(t),()=>this.removeListener(e,t)}removeListener(e,t){if("object"!==typeof this.events[e])return;if(!t)return void(this.events[e]=[]);const r=this.events[e].indexOf(t);r>-1&&this.events[e].splice(r,1)}removeAllListeners(){Object.keys(this.events).forEach((e=>this.events[e].splice(0,this.events[e].length)))}emit(e,...t){"object"===typeof this.events[e]&&[...this.events[e]].forEach((e=>e.apply(this,t)))}once(e,t){const r=this.on(e,((...e)=>{r(),t.apply(this,e)}));return r}}!function(e){e.INVITE="invite",e.MESSAGE="message"}(lY||(lY={}));class fY extends hY{constructor(){super(...arguments),this.eventEmitProviders=new Map([[lY.INVITE,()=>[this.isInvite,this.emitInvite.bind(this)]],[lY.MESSAGE,()=>[this.isMessage,this.emitMessage.bind(this)]]])}onStateChanged(e,t,r){for(const n of PW(lY))this.emitIfEvent(lY[n],r)}emitIfEvent(e,t){const r=this.eventEmitProviders.get(e);if(r){const[n,i]=r();n(t)&&i(e,t)}}emitClientEvent(e,t,r){this.emit(e,{type:e,content:t,timestamp:r})}isInvite(e){return!!e.rooms&&e.rooms.some((e=>e.status===XG.INVITED))}emitInvite(e,t){t.rooms.filter((e=>e.status===XG.INVITED)).map((e=>[e.id,e.members])).forEach((([t,r])=>{this.emitClientEvent(e,{roomId:t,members:r})}))}isMessage(e){return!!e.rooms&&e.rooms.some((e=>e.messages.length>0))}emitMessage(e,t){t.rooms.filter((e=>e.messages.length>0)).map((e=>e.messages.map((t=>[e.id,t,t.timestamp])))).reduce(((e,t)=>e.concat(t)),[]).forEach((([t,r,n])=>{this.emitClientEvent(e,{roomId:t,message:r},n)}))}}var pY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const mY=new _G("MatrixClient");class gY{constructor(e,t,r,n,i,o){this.store=e,this.eventEmitter=t,this.userService=r,this.roomService=n,this.eventService=i,this.httpClient=o,this.isActive=!0,this._isReady=new TW,this.store.onStateChanged(((e,t,r)=>{this.eventEmitter.onStateChanged(e,t,r)}),"rooms")}static create(e){const t=new tY(e.storage),r=new fY,n=new iY(e.baseUrl),i=new cY(n),o=new aY(n),a=new dY(n);return new gY(t,r,i,o,a,n)}get joinedRooms(){return new Promise((e=>pY(this,void 0,void 0,(function*(){yield this.isConnected(),e(Object.values(this.store.get("rooms")).filter((e=>e.status===XG.JOINED)))}))))}get invitedRooms(){return new Promise((e=>pY(this,void 0,void 0,(function*(){yield this.isConnected(),e(Object.values(this.store.get("rooms")).filter((e=>e.status===XG.INVITED)))}))))}get leftRooms(){return new Promise((e=>pY(this,void 0,void 0,(function*(){yield this.isConnected(),e(Object.values(this.store.get("rooms")).filter((e=>e.status===XG.LEFT)))}))))}start(e){return pY(this,void 0,void 0,(function*(){const t=yield this.userService.login(e.id,e.password,e.deviceId);yield this.store.update({accessToken:t.access_token});const r=new Promise(((e,t)=>pY(this,void 0,void 0,(function*(){yield this.poll(0,(t=>pY(this,void 0,void 0,(function*(){this.store.get("isRunning")||e(),yield this.store.update({isRunning:!0,syncToken:t.next_batch,pollingTimeout:3e4,pollingRetries:0,rooms:JG.fromSync(t.rooms)})}))),(e=>pY(this,void 0,void 0,(function*(){this.store.get("isRunning")||t(e),yield this.store.update({isRunning:!1,pollingRetries:this.store.get("pollingRetries")+1})}))))}))));return r.then((()=>{this._isReady.resolve()})).catch(console.error),r}))}isConnected(){return pY(this,void 0,void 0,(function*(){return this._isReady.promise}))}stop(){return pY(this,void 0,void 0,(function*(){return mY.log("MATRIX CLIENT STOPPED"),this.isActive=!1,this._isReady=new TW,this.httpClient.cancelAllRequests()}))}subscribe(e,t){this.eventEmitter.on(e,t)}unsubscribe(e,t){t&&this.eventEmitter.removeListener(e,t)}unsubscribeAll(e){this.eventEmitter.removeListener(e)}getRoomById(e){return pY(this,void 0,void 0,(function*(){return yield this.isConnected(),this.store.getRoom(e)}))}createTrustedPrivateRoom(...e){return pY(this,void 0,void 0,(function*(){return yield this.isConnected(),this.requiresAuthorization("createRoom",(t=>pY(this,void 0,void 0,(function*(){return(yield this.roomService.createRoom(t,{room_version:"5",invite:e,preset:"public_chat",is_direct:!0})).room_id}))))}))}inviteToRooms(e,...t){return pY(this,void 0,void 0,(function*(){yield this.isConnected(),yield this.requiresAuthorization("invite",(r=>Promise.all(t.map((t=>{const n=this.store.getRoom(t);this.roomService.inviteToRoom(r,e,n).catch((e=>mY.warn("inviteToRooms",e)))})))))}))}joinRooms(...e){return pY(this,void 0,void 0,(function*(){yield this.isConnected(),yield this.requiresAuthorization("join",(t=>Promise.all(e.map((e=>{const r=this.store.getRoom(e);return this.roomService.joinRoom(t,r)})))))}))}sendTextMessage(e,t){return pY(this,void 0,void 0,(function*(){yield this.isConnected(),yield this.requiresAuthorization("send",(r=>pY(this,void 0,void 0,(function*(){const n=yield this.createTxnId();return this.eventService.sendMessage(r,e,{msgtype:"m.text",body:t},n)}))))}))}poll(e,t,r){return pY(this,void 0,void 0,(function*(){const n=this.store,i=this.sync.bind(this),o=(a,s)=>pY(this,void 0,void 0,(function*(){let c=0;try{const e=yield i();t(e)}catch(l){r(l),c=n.get("pollingRetries"),this.isActive&&mY.log(`Retry syncing... ${c} retries so far`)}finally{this.isActive?setTimeout((()=>pY(this,void 0,void 0,(function*(){yield o(a,s)}))),c>3?5e3+e:e):s(new Error("Syncing stopped manually."))}}));return new Promise(o)}))}sync(){return pY(this,void 0,void 0,(function*(){return this.requiresAuthorization("sync",(e=>pY(this,void 0,void 0,(function*(){return this.eventService.sync(e,{pollingTimeout:this.store.get("pollingTimeout"),syncToken:this.store.get("syncToken")})}))))}))}requiresAuthorization(e,t){return pY(this,void 0,void 0,(function*(){const r=this.store.get("accessToken");return r?t(r):Promise.reject(`${e} requires authorization but no access token has been provided.`)}))}createTxnId(){return pY(this,void 0,void 0,(function*(){const e=(new Date).getTime(),t=this.store.get("txnNo");return yield this.store.update({txnNo:t+1}),`m${e}.${t}`}))}}var vY=r(261).Buffer,yY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const bY=new _G("P2PCommunicationClient"),wY={[rG.EUROPE_WEST]:["beacon-node-1.diamond.papers.tech","beacon-node-1.sky.papers.tech","beacon-node-2.sky.papers.tech","beacon-node-1.hope.papers.tech","beacon-node-1.hope-2.papers.tech","beacon-node-1.hope-3.papers.tech","beacon-node-1.hope-4.papers.tech","beacon-node-1.hope-5.papers.tech"]};class xY extends VG{constructor(e,t,r,n,i,o,a){super(t),this.name=e,this.replicationCount=r,this.storage=n,this.iconUrl=o,this.appUrl=a,this.client=new TW,this.activeListeners=new Map,this.ignoredRooms=[],this.loginCounter=0,bY.log("constructor","P2PCommunicationClient created"),this.ENABLED_RELAY_SERVERS=wY,i&&(this.ENABLED_RELAY_SERVERS=Object.assign(Object.assign({},wY),i))}getPairingRequestInfo(){return yY(this,void 0,void 0,(function*(){const e={id:yield $W(),type:"p2p-pairing-request",name:this.name,version:"3",publicKey:yield this.getPublicKey(),relayServer:(yield this.getRelayServer()).server};return this.iconUrl&&(e.icon=this.iconUrl),this.appUrl&&(e.appUrl=this.appUrl),e}))}getPairingResponseInfo(e){return yY(this,void 0,void 0,(function*(){const t={id:e.id,type:"p2p-pairing-response",name:this.name,version:e.version,publicKey:yield this.getPublicKey(),relayServer:(yield this.getRelayServer()).server};return this.iconUrl&&(t.icon=this.iconUrl),this.appUrl&&(t.appUrl=this.appUrl),t}))}findBestRegion(){return yY(this,void 0,void 0,(function*(){if(this.selectedRegion)return this.selectedRegion;const e=Object.keys(this.ENABLED_RELAY_SERVERS),t=[];e.forEach((e=>{var r;const n=null!==(r=this.ENABLED_RELAY_SERVERS[e])&&void 0!==r?r:[];if(0===n.length)return;const i=Math.floor(Math.random()*n.length);t.push(this.getBeaconInfo(n[i]).then((t=>({region:e,server:n[i],response:t}))).catch((e=>new Promise(((t,r)=>{setTimeout((()=>r(e)),2e3)})))))}));const r=yield Promise.race(t);return this.selectedRegion=r.region,r.region}))}getRelayServer(){return yY(this,void 0,void 0,(function*(){if(this.relayServer){const e=yield this.relayServer.promise;if(Date.now()-e.localTimestamp<6e4)return{server:e.server,timestamp:e.timestamp};const t=yield this.getBeaconInfo(e.server);return this.relayServer.resolve({server:e.server,timestamp:t.timestamp,localTimestamp:(new Date).getTime()}),{server:e.server,timestamp:t.timestamp}}this.relayServer=new TW;const e=yield this.storage.get(JW.MATRIX_SELECTED_NODE);if(e&&e.length>0){const t=yield this.getBeaconInfo(e);return this.relayServer.resolve({server:e,timestamp:t.timestamp,localTimestamp:(new Date).getTime()}),{server:e,timestamp:t.timestamp}}const t=yield this.findBestRegion(),r=this.ENABLED_RELAY_SERVERS[t];if(!r)throw new Error(`No servers found for region ${t}`);const n=[...r];for(;n.length>0;){const e=Math.floor(Math.random()*n.length),t=n[e];try{const e=yield this.getBeaconInfo(t);return this.storage.set(JW.MATRIX_SELECTED_NODE,t).catch((e=>bY.log(e))),this.relayServer.resolve({server:t,timestamp:e.timestamp,localTimestamp:(new Date).getTime()}),{server:t,timestamp:e.timestamp}}catch(i){bY.log(`Ignoring server "${t}", trying another one...`),n.splice(e,1)}}throw this.relayServer.reject("No matrix server reachable!"),new Error("No matrix server reachable!")}))}getBeaconInfo(e){return yY(this,void 0,void 0,(function*(){return WG().get(`https://${e}/_synapse/client/beacon/info`).then((e=>({region:e.data.region,known_servers:e.data.known_servers,timestamp:Math.floor(e.data.timestamp)})))}))}tryJoinRooms(e,t=1){return yY(this,void 0,void 0,(function*(){try{yield(yield this.client.promise).joinRooms(e)}catch(r){t<=10&&"M_FORBIDDEN"===r.errcode?(bY.log("Retrying to join...",r),setTimeout((()=>yY(this,void 0,void 0,(function*(){yield this.tryJoinRooms(e,t+1)}))),200)):bY.log(`Failed to join after ${t} tries.`,r)}}))}start(){var e,t;return yY(this,void 0,void 0,(function*(){bY.log("start","starting client"),bY.log("start","connecting to server");const r=yield this.getRelayServer(),n=gY.create({baseUrl:`https://${r.server}`,storage:this.storage});if(this.initialListener=e=>yY(this,void 0,void 0,(function*(){this.initialEvent&&this.initialEvent.timestamp&&e&&e.timestamp?this.initialEvent.timestampyY(this,void 0,void 0,(function*(){let t;1===e.content.members.length&&(t=e.content.members[0]),yield this.tryJoinRooms(e.content.roomId),t&&(yield this.updateRelayServer(t),yield this.updatePeerRoom(t,e.content.roomId))})))),!r.timestamp)throw new Error("No timestamp received from relay server");const i=Math.floor(r.timestamp),o=`login:${Math.floor(i/300)}`;bY.log("start",`login ${o}, ${yield this.getPublicKeyHash()} on ${r.server}`);const a=(0,Fa.hash)((0,RW.cv)(o),32),s=null!==(e=this.keyPair.secretKey)&&void 0!==e?e:this.keyPair.privateKey,c=(0,Ua.Xx)(s,a);try{yield n.start({id:yield this.getPublicKeyHash(),password:`ed:${NW(c)}:${yield this.getPublicKey()}`,deviceId:NW(this.keyPair.publicKey)})}catch(l){if(bY.error("start","Could not log in, retrying"),yield this.reset(),!this.selectedRegion)throw new Error("No region selected.");if(this.loginCounter<=(null!==(t=this.ENABLED_RELAY_SERVERS[this.selectedRegion])&&void 0!==t?t:[]).length)return this.loginCounter++,void this.start();throw bY.error("start","Tried to log in to every known beacon node, but no login was successful."),new Error("Could not connect to any beacon nodes. Try again later.")}bY.log("start","login successful, client is ready"),this.client.resolve(n)}))}stop(){return yY(this,void 0,void 0,(function*(){bY.log("stop","stopping client"),this.client.isResolved()&&(yield(yield this.client.promise).stop().catch((e=>bY.error(e)))),yield this.reset()}))}reset(){return yY(this,void 0,void 0,(function*(){bY.log("reset","resetting connection"),yield this.storage.delete(JW.MATRIX_PEER_ROOM_IDS).catch((e=>bY.log(e))),yield this.storage.delete(JW.MATRIX_PRESERVED_STATE).catch((e=>bY.log(e))),yield this.storage.delete(JW.MATRIX_SELECTED_NODE).catch((e=>bY.log(e))),this.relayServer=void 0,this.client=new TW,this.initialEvent=void 0,this.initialListener=void 0}))}listenForEncryptedMessage(e,t){return yY(this,void 0,void 0,(function*(){if(this.activeListeners.has(e))return;bY.log("listenForEncryptedMessage",`start listening for encrypted messages from publicKey ${e}`);const r=yield this.createCryptoBoxServer(e,this.keyPair),n=n=>yY(this,void 0,void 0,(function*(){if(this.isTextMessage(n.content)&&(yield this.isSender(n,e))){let o;yield this.updateRelayServer(n.content.message.sender),yield this.updatePeerRoom(n.content.message.sender,n.content.roomId);try{o=vY.from(n.content.message.content,"hex")}catch(Nn){}if(o&&o.length>=40)try{const n=yield function(e,t){return LW(this,void 0,void 0,(function*(){const r=e.slice(0,24),n=e.slice(24),i=(0,Ac.openSecretBox)(t,r,n);if(!i)throw new Error("Decryption failed");return MW.from(i).toString("utf8")}))}(o,r.receive);bY.log("listenForEncryptedMessage",`received a message from ${e}`,n),t(n)}catch(i){}}}));this.activeListeners.set(e,n),(yield this.client.promise).subscribe(lY.MESSAGE,n);const i=this.initialEvent;i&&i.timestamp&&(new Date).getTime()-i.timestamp<3e5?(bY.log("listenForEncryptedMessage","Handling previous event"),yield n(i)):bY.log("listenForEncryptedMessage","No previous event found");const o=this.initialListener;o&&(yield this.client.promise).unsubscribe(lY.MESSAGE,o),this.initialListener=void 0,this.initialEvent=void 0}))}unsubscribeFromEncryptedMessage(e){return yY(this,void 0,void 0,(function*(){const t=this.activeListeners.get(e);t&&((yield this.client.promise).unsubscribe(lY.MESSAGE,t),this.activeListeners.delete(e))}))}unsubscribeFromEncryptedMessages(){return yY(this,void 0,void 0,(function*(){(yield this.client.promise).unsubscribeAll(lY.MESSAGE),this.activeListeners.clear()}))}sendMessage(e,t){return yY(this,void 0,void 0,(function*(){const r=yield this.createCryptoBoxClient(t.publicKey,this.keyPair),n=zW(yield DW(vY.from(t.publicKey,"hex")),t.relayServer),i=yield this.getRelevantRoom(n);yield this.waitForJoin(i);const o=yield function(e,t){return LW(this,void 0,void 0,(function*(){const r=MW.from((0,CW.randomBytes)(24));return NW(MW.concat([r,MW.from((0,Ac.secretBox)(t,r,MW.from(e,"utf8")))]))}))}(e,r.send);bY.log("sendMessage","sending encrypted message",t.publicKey,i,e),(yield this.client.promise).sendTextMessage(i,o).catch((e=>yY(this,void 0,void 0,(function*(){if("M_FORBIDDEN"===e.errcode){bY.log("sendMessage","M_FORBIDDEN",i,e),yield this.deleteRoomIdFromRooms(i);const t=yield this.getRelevantRoom(n);bY.log("sendMessage","Old room deleted, new room created",t),(yield this.client.promise).sendTextMessage(t,o).catch((e=>yY(this,void 0,void 0,(function*(){bY.log("sendMessage","inner error",t,e)}))))}else bY.log("sendMessage","unexpected error",e)}))))}))}updatePeerRoom(e,t){return yY(this,void 0,void 0,(function*(){bY.log("updatePeerRoom",e,t);const r=e.split(":");if(r.length<2||!r[0].startsWith("@"))throw new Error("Invalid sender");const n=yield this.storage.get(JW.MATRIX_PEER_ROOM_IDS),i=n[e];i===t&&bY.debug("updatePeerRoom","rooms are the same, not updating"),bY.debug("updatePeerRoom","current room",i,"new room",t),i&&i[1]&&(bY.log("updatePeerRoom",`adding room "${i[1]}" to ignored array`),this.ignoredRooms.push(i[1])),n[e]=t,yield this.storage.set(JW.MATRIX_PEER_ROOM_IDS,n)}))}deleteRoomIdFromRooms(e){return yY(this,void 0,void 0,(function*(){const t=yield this.storage.get(JW.MATRIX_PEER_ROOM_IDS),r=Object.entries(t).filter((t=>t[1]!==e)).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t[0]]:t[1]})),{});yield this.storage.set(JW.MATRIX_PEER_ROOM_IDS,r),this.ignoredRooms.push(e)}))}listenForChannelOpening(e){return yY(this,void 0,void 0,(function*(){bY.debug("listenForChannelOpening"),(yield this.client.promise).subscribe(lY.MESSAGE,(t=>yY(this,void 0,void 0,(function*(){if(this.isTextMessage(t.content)&&(yield this.isChannelOpenMessage(t.content))){bY.log("listenForChannelOpening","channel opening received, trying to decrypt",JSON.stringify(t)),yield this.updateRelayServer(t.content.message.sender),yield this.updatePeerRoom(t.content.message.sender,t.content.roomId);const n=t.content.message.content.split(":"),i=vY.from(n[n.length-1],"hex");if(i.length>=40)try{const t=JSON.parse(yield function(e,t,r){return LW(this,void 0,void 0,(function*(){const n=(0,Ua.zh)(MW.from(r)),i=(0,Ua.SH)(MW.from(t)),o="string"===typeof e?(0,RW.cv)(e):e,a=o.slice(0,32),s=o.slice(32),c=new Fa.BLAKE2b(24).update(a,32).update(i,32).digest(),l=(0,Ac.openBox)(a,n,c,s);if(!l)throw new Error("Decryption failed");return MW.from(l).toString()}))}(i,this.keyPair.publicKey,this.keyPair.secretKey));bY.log("listenForChannelOpening","channel opening received and decrypted",JSON.stringify(t)),e(Object.assign(Object.assign({},t),{senderId:yield wG(t.publicKey)}))}catch(r){}}}))))}))}waitForJoin(e,t=0){return yY(this,void 0,void 0,(function*(){const r=yield(yield this.client.promise).getRoomById(e);if(bY.log("waitForJoin",`Currently ${r.members.length} members, we need at least 2`),!(r.members.length>=2)){if(t<=200)return bY.log(`Waiting for join... Try: ${t}`),new Promise((r=>{setTimeout((()=>yY(this,void 0,void 0,(function*(){r(this.waitForJoin(e,t+1))}))),100*(t>50?10:1))}));throw new Error(`No one joined after ${t} tries.`)}}))}sendPairingResponse(e){return yY(this,void 0,void 0,(function*(){bY.log("sendPairingResponse");const t=zW(yield DW(vY.from(e.publicKey,"hex")),e.relayServer),r=yield(yield this.client.promise).createTrustedPrivateRoom(t);bY.debug("sendPairingResponse",`Connecting to room "${r}"`),yield this.updatePeerRoom(t,r),yield this.waitForJoin(r),bY.debug("sendPairingResponse","Successfully joined room.");const n="undefined"===typeof e.version?yield this.getPublicKey():JSON.stringify(yield this.getPairingResponseInfo(e));bY.debug("sendPairingResponse","Sending pairing response",n);const i=yield this.encryptMessageAsymmetric(e.publicKey,n),o=["@channel-open",t,i].join(":");(yield this.client.promise).sendTextMessage(r,o).catch((e=>yY(this,void 0,void 0,(function*(){if("M_FORBIDDEN"===e.errcode){bY.log("sendPairingResponse","M_FORBIDDEN",r,e),yield this.deleteRoomIdFromRooms(r);const n=yield this.getRelevantRoom(t);bY.log("sendPairingResponse","Old room deleted, new room created",n),(yield this.client.promise).sendTextMessage(n,o).catch((e=>yY(this,void 0,void 0,(function*(){bY.log("sendPairingResponse","inner error",n,e)}))))}else bY.log("sendPairingResponse","unexpected error",e)}))))}))}isTextMessage(e){return e.message.type===qG.TEXT}updateRelayServer(e){return yY(this,void 0,void 0,(function*(){bY.log("updateRelayServer",e);const t=e.split(":");if(t.length<2||!t[0].startsWith("@"))throw new Error("Invalid sender");const r=t.shift(),n=t.join(":"),i=localStorage.getItem("beacon:communication-peers-dapp")?new UG(this.storage,JW.TRANSPORT_P2P_PEERS_DAPP):new UG(this.storage,JW.TRANSPORT_P2P_PEERS_WALLET),o=(yield i.getPeers()).map((e=>yY(this,void 0,void 0,(function*(){`@${yield DW(vY.from(e.publicKey,"hex"))}`===r&&e.relayServer!==n&&(e.relayServer=n,yield i.addPeer(e))}))));yield Promise.all(o)}))}isChannelOpenMessage(e){return yY(this,void 0,void 0,(function*(){return e.message.content.startsWith(`@channel-open:@${yield DW(vY.from(yield this.getPublicKey(),"hex"))}`)}))}isSender(e,t){return yY(this,void 0,void 0,(function*(){return e.content.message.sender.startsWith(`@${yield DW(vY.from(t,"hex"))}`)}))}getRelevantRoom(e){return yY(this,void 0,void 0,(function*(){const t=yield this.storage.get(JW.MATRIX_PEER_ROOM_IDS);let r=t[e];if(!r){bY.log("getRelevantRoom",`No room found for peer ${e}, checking joined ones.`);const n=yield this.getRelevantJoinedRoom(e);r=n.id,t[e]=n.id,yield this.storage.set(JW.MATRIX_PEER_ROOM_IDS,t)}return bY.log("getRelevantRoom",`Using room ${r}`),r}))}getRelevantJoinedRoom(e){return yY(this,void 0,void 0,(function*(){const t=yield(yield this.client.promise).joinedRooms;bY.log("checking joined rooms",t,e);const r=t.filter((e=>!this.ignoredRooms.some((t=>e.id===t)))).filter((t=>t.members.some((t=>t===e))));let n;if(0===r.length||this.ignoredRooms.length>0){bY.log("getRelevantJoinedRoom","no relevant rooms found, creating new one");const t=yield(yield this.client.promise).createTrustedPrivateRoom(e);n=yield(yield this.client.promise).getRoomById(t),bY.log("getRelevantJoinedRoom",`waiting for other party to join room: ${n.id}`),yield this.waitForJoin(t),bY.log("getRelevantJoinedRoom",`new room created and peer invited: ${n.id}`)}else n=r[0],bY.log("getRelevantJoinedRoom",`channel already open, reusing room ${n.id}`);return n}))}}var _Y=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const SY=new _G("P2PTransport");class kY extends TG{constructor(e,t,r,n,i,o,a){super(e,new xY(e,t,1,r,n,o,a),new UG(r,i)),this.type=XW.P2P}static isAvailable(){return _Y(this,void 0,void 0,(function*(){return Promise.resolve(!0)}))}connect(){const e=Object.create(null,{connect:{get:()=>super.connect}});return _Y(this,void 0,void 0,(function*(){if(this._isConnected!==ZW.NOT_CONNECTED)return;SY.log("connect"),this._isConnected=ZW.CONNECTING,yield this.client.start();const t=yield this.getPeers();if(t.length>0){SY.log("connect",`connecting to ${t.length} peers`);const e=t.map((e=>_Y(this,void 0,void 0,(function*(){return this.listen(e.publicKey)}))));Promise.all(e).catch((e=>SY.error("connect",e)))}return yield this.startOpenChannelListener(),e.connect.call(this)}))}disconnect(){const e=Object.create(null,{disconnect:{get:()=>super.disconnect}});return _Y(this,void 0,void 0,(function*(){return yield this.client.stop(),e.disconnect.call(this)}))}startOpenChannelListener(){return _Y(this,void 0,void 0,(function*(){}))}getPairingRequestInfo(){return _Y(this,void 0,void 0,(function*(){return this.client.getPairingRequestInfo()}))}listen(e){return _Y(this,void 0,void 0,(function*(){yield this.client.listenForEncryptedMessage(e,(t=>{const r={origin:WW.P2P,id:e};this.notifyListeners(t,r).catch((e=>{throw e}))})).catch((e=>{throw e}))}))}}var EY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};class PY extends kY{constructor(e,t,r,n,i,o){super(e,t,r,n,JW.TRANSPORT_P2P_PEERS_WALLET,i,o)}addPeer(e,t=!0){const r=Object.create(null,{addPeer:{get:()=>super.addPeer}});return EY(this,void 0,void 0,(function*(){yield r.addPeer.call(this,e),t&&(yield this.client.sendPairingResponse(e))}))}}var OY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const AY=new _G("IncomingRequestInterceptor");class TY{static intercept(e){return OY(this,void 0,void 0,(function*(){console.log("INTERCEPTING REQUEST",e.message),"2"===e.message.version?TY.handleV2Message(e):"3"===e.message.version&&TY.handleV3Message(e)}))}static getAppMetadata(e,t){return OY(this,void 0,void 0,(function*(){const r=yield e.getAppMetadata(t);if(!r)throw new Error("AppMetadata not found");return r}))}static handleV2Message(e){return OY(this,void 0,void 0,(function*(){const{message:t,connectionInfo:r,appMetadataManager:n,interceptorCallback:i}=e;switch(t.type){case HW.PermissionRequest:console.log("PERMISSION REQUEST V*",t),t.appMetadata.beaconId&&!t.appMetadata.senderId&&(t.appMetadata.senderId=t.appMetadata.beaconId,delete t.appMetadata.beaconId),yield n.addAppMetadata(t.appMetadata);i(t,r);break;case HW.OperationRequest:{const e=yield TY.getAppMetadata(n,t.senderId);i(Object.assign({appMetadata:e},t),r)}break;case HW.SignPayloadRequest:{const e=yield TY.getAppMetadata(n,t.senderId);i(Object.assign({appMetadata:e},t),r)}break;case HW.BroadcastRequest:{const e=yield TY.getAppMetadata(n,t.senderId);i(Object.assign({appMetadata:e},t),r)}break;default:AY.log("intercept","Message not handled"),jY(t)}}))}static handleV3Message(e){return OY(this,void 0,void 0,(function*(){const{message:t,connectionInfo:r,appMetadataManager:n,interceptorCallback:i}=e,o=t,a=o.message;switch(a.type){case HW.PermissionRequest:yield n.addAppMetadata(Object.assign(Object.assign({},a.blockchainData.appMetadata),{senderId:t.senderId}));i(o,r);break;case HW.BlockchainRequest:i(Object.assign({},o),r);break;default:AY.log("intercept","Message not handled"),jY(a)}}))}}function jY(e){throw new Error("Function not implemented.")}var CY=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(t){o(t)}}function s(e){try{c(n.throw(e))}catch(t){o(t)}}function c(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((n=n.apply(e,t||[])).next())}))};const RY=new _G("OutgoingResponseInterceptor");class IY{static intercept(e){return CY(this,void 0,void 0,(function*(){"2"===e.request.version?IY.handleV2Message(e):"3"===e.request.version&&IY.handleV3Message(e)}))}static handleV3Message(e){return CY(this,void 0,void 0,(function*(){const{message:t,appMetadataManager:r,interceptorCallback:n}=e,i=t.message;console.log("LOGGING OUTGOING V3",i,r),n(t)}))}static handleV2Message(e){return CY(this,void 0,void 0,(function*(){const{senderId:t,request:r,message:n,ownAppMetadata:i,permissionManager:o,appMetadataManager:a,interceptorCallback:s}=e;switch(n.type){case HW.Error:{const e={type:n.type,version:"2",senderId:t,id:n.id,errorType:n.errorType};if(n.errorType===YW.TRANSACTION_INVALID_ERROR&&n.errorData){const t=n.errorData;Array.isArray(t)&&t.every((e=>Boolean(e.kind)&&Boolean(e.id)))?e.errorData=n.errorData:RY.warn("ErrorData provided is not in correct format. It needs to be an array of RPC errors. It will not be included in the message sent to the dApp")}s(e);break}case HW.Acknowledge:s({type:n.type,version:"2",senderId:t,id:n.id});break;case HW.PermissionResponse:{const e=Object.assign({senderId:t,version:"2",appMetadata:i},n),c=e.publicKey,l=yield function(e){return LW(this,void 0,void 0,(function*(){const t={edpk:{length:54,prefix:MW.from(new Uint8Array([6,161,159]))},sppk:{length:55,prefix:MW.from(new Uint8Array([6,161,161]))},p2pk:{length:55,prefix:MW.from(new Uint8Array([6,161,164]))}};let r,n;if(64===e.length)r=t.edpk.prefix,n=e;else{const i=Object.entries(t);for(let t=0;tsuper.init}});return MY(this,void 0,void 0,(function*(){const t=yield this.keyPair,r=new PY(this.name,t,this.storage,this.matrixNodes,this.iconUrl,this.appUrl);return e.init.call(this,r)}))}connect(e){return MY(this,void 0,void 0,(function*(){return this.handleResponse=(t,r)=>MY(this,void 0,void 0,(function*(){if("3"===t.version){const n=t;if(n.message.type===HW.Disconnect)return this.disconnect(n.senderId);this.pendingRequests.some((e=>e[0].id===t.id))||(this.pendingRequests.push([n,r]),yield this.sendAcknowledgeResponse(n,r),yield TY.intercept({message:n,connectionInfo:r,appMetadataManager:this.appMetadataManager,interceptorCallback:e}))}else{const n=t;if(n.type===HW.Disconnect)return this.disconnect(n.senderId);this.pendingRequests.some((e=>e[0].id===t.id))||(this.pendingRequests.push([n,r]),"1"!==n.version&&(yield this.sendAcknowledgeResponse(n,r)),yield TY.intercept({message:n,connectionInfo:r,appMetadataManager:this.appMetadataManager,interceptorCallback:e}))}})),this._connect()}))}getRegisterPushChallenge(e,t,r=nG){return MY(this,void 0,void 0,(function*(){const n=(yield nE.get(`${r}/challenge`)).data,i=NW(["Tezos Signed Message: ",n.id,n.timestamp,t,e].join(" "));return{challenge:n,payloadToSign:"0501"+i.length.toString(16).padStart(8,"0")+i}}))}registerPush(e,t,r,n,i,o,a=nG){return MY(this,void 0,void 0,(function*(){const s=yield this.storage.get(JW.PUSH_TOKENS),c=s.find((e=>e.publicKey===n&&e.backendUrl===r));if(c)return c;const l=(yield nE.post(`${a}/register`,{name:this.name,challenge:e,accountPublicKey:n,signature:t,backendUrl:r,protocolIdentifier:i,deviceId:o})).data,u={publicKey:n,backendUrl:r,accessToken:l.accessToken,managementToken:l.managementToken};return s.push(u),yield this.storage.set(JW.PUSH_TOKENS,s),u}))}_connect(){return MY(this,void 0,void 0,(function*(){const e=yield this.transport;e.connectionStatus===ZW.NOT_CONNECTED&&(yield e.connect(),e.addListener(((e,t)=>MY(this,void 0,void 0,(function*(){if("string"===typeof e){const r=yield(new MG).deserialize(e);this.handleResponse(r,t)}})))).catch((e=>LY.log("_connect",e))),this._isConnected.resolve(!0))}))}respond(e){return MY(this,void 0,void 0,(function*(){console.log("RESPONSE",e);const t=this.pendingRequests.find((t=>t[0].id===e.id));if(!t)throw new Error("No matching request found!");this.pendingRequests=this.pendingRequests.filter((t=>t[0].id!==e.id)),yield IY.intercept({senderId:yield wG(yield this.beaconId),request:t[0],message:e,ownAppMetadata:yield this.getOwnAppMetadata(),permissionManager:this.permissionManager,appMetadataManager:this.appMetadataManager,interceptorCallback:e=>MY(this,void 0,void 0,(function*(){yield this.respondToMessage(e,t[1])}))})}))}getAppMetadataList(){return MY(this,void 0,void 0,(function*(){return this.appMetadataManager.getAppMetadataList()}))}getAppMetadata(e){return MY(this,void 0,void 0,(function*(){return this.appMetadataManager.getAppMetadata(e)}))}removeAppMetadata(e){return MY(this,void 0,void 0,(function*(){return this.appMetadataManager.removeAppMetadata(e)}))}removeAllAppMetadata(){return MY(this,void 0,void 0,(function*(){return this.appMetadataManager.removeAllAppMetadata()}))}getPermissions(){return MY(this,void 0,void 0,(function*(){return this.permissionManager.getPermissions()}))}getPermission(e){return MY(this,void 0,void 0,(function*(){return this.permissionManager.getPermission(e)}))}removePermission(e){return MY(this,void 0,void 0,(function*(){return this.permissionManager.removePermission(e)}))}removeAllPermissions(){return MY(this,void 0,void 0,(function*(){return this.permissionManager.removeAllPermissions()}))}addPeer(e,t=!0){return MY(this,void 0,void 0,(function*(){const r=Object.assign(Object.assign({},e),{senderId:yield wG(e.publicKey)});return(yield this.transport).addPeer(r,t)}))}removePeer(e,t=!1){return MY(this,void 0,void 0,(function*(){const r=(yield this.transport).removePeer(e);return yield this.removePermissionsForPeers([e]),t&&(yield this.sendDisconnectToPeer(e)),r}))}removeAllPeers(e=!1){return MY(this,void 0,void 0,(function*(){const t=yield(yield this.transport).getPeers(),r=(yield this.transport).removeAllPeers();if(yield this.removePermissionsForPeers(t),e){const e=t.map((e=>this.sendDisconnectToPeer(e)));yield Promise.all(e)}return r}))}removePermissionsForPeers(e){return MY(this,void 0,void 0,(function*(){const t=yield this.permissionManager.getPermissions(),r=e.map((e=>e.senderId)),n=t.filter((e=>r.includes(e.appMetadata.senderId))).map((e=>e.accountIdentifier));yield this.permissionManager.removePermissions(n)}))}sendAcknowledgeResponse(e,t){return MY(this,void 0,void 0,(function*(){const r={id:e.id,type:HW.Acknowledge};yield IY.intercept({senderId:yield wG(yield this.beaconId),request:e,message:r,ownAppMetadata:yield this.getOwnAppMetadata(),permissionManager:this.permissionManager,appMetadataManager:this.appMetadataManager,interceptorCallback:e=>MY(this,void 0,void 0,(function*(){yield this.respondToMessage(e,t)}))})}))}respondToMessage(e,t){return MY(this,void 0,void 0,(function*(){const r=yield(new MG).serialize(e);if(t){const e=(yield this.getPeers()).find((e=>e.publicKey===t.id));yield(yield this.transport).send(r,e)}else yield(yield this.transport).send(r)}))}disconnect(e){return MY(this,void 0,void 0,(function*(){const t=yield this.transport,r=(yield t.getPeers()).find((t=>t.senderId===e));r&&(yield this.removePeer(r))}))}}function DY(e){const{theme:r}=ni(),n=f$();return(0,t.useMemo)((()=>function(e,t){const r=r=>{var n;return{...t,...r,position:IF(null!=(n=null==r?void 0:r.position)?n:null==t?void 0:t.position,e)}},n=e=>{const t=r(e),n=XF(t);return GF.notify(n,t)};return n.update=(e,t)=>{GF.update(e,r(t))},n.promise=(e,t)=>{const r=n({...t.loading,status:"loading",duration:null});e.then((e=>n.update(r,{status:"success",duration:5e3,...ae(t.success,e)}))).catch((e=>n.update(r,{status:"error",duration:5e3,...ae(t.error,e)})))},n.closeAll=GF.closeAll,n.close=GF.close,n.isActive=GF.isActive,n}(r.direction,{...n,...e})),[e,r.direction,n])}var BY={initial:({offsetX:e,offsetY:t,transition:r,transitionEnd:n,delay:i})=>{var o;return{opacity:0,x:e,y:t,transition:null!=(o=null==r?void 0:r.exit)?o:IK(CK.exit,i),transitionEnd:null==n?void 0:n.exit}},enter:({transition:e,transitionEnd:t,delay:r})=>{var n;return{opacity:1,x:0,y:0,transition:null!=(n=null==e?void 0:e.enter)?n:RK(CK.enter,r),transitionEnd:null==t?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:r,transitionEnd:n,reverse:i,delay:o})=>{var a;const s={x:t,y:e};return{opacity:0,transition:null!=(a=null==r?void 0:r.exit)?a:IK(CK.exit,o),...i?{...s,transitionEnd:null==n?void 0:n.exit}:{transitionEnd:{...s,...null==n?void 0:n.exit}}}}},zY={initial:"initial",animate:"enter",exit:"exit",variants:BY},UY=(0,t.forwardRef)((function(e,t){const{unmountOnExit:r,in:n,reverse:i=!0,className:o,offsetX:a=0,offsetY:s=8,transition:c,transitionEnd:l,delay:u,...d}=e,h=!r||n&&r,f=n||r?"enter":"exit",p={offsetX:a,offsetY:s,reverse:i,transition:c,transitionEnd:l,delay:u};return(0,Yn.jsx)(i$,{custom:p,children:h&&(0,Yn.jsx)(jF.div,{ref:t,className:ne("chakra-offset-slide",o),custom:p,...zY,animate:f,...d})})}));UY.displayName="SlideFade";var FY={exit:({reverse:e,initialScale:t,transition:r,transitionEnd:n,delay:i})=>{var o;return{opacity:0,...e?{scale:t,transitionEnd:null==n?void 0:n.exit}:{transitionEnd:{scale:t,...null==n?void 0:n.exit}},transition:null!=(o=null==r?void 0:r.exit)?o:IK(CK.exit,i)}},enter:({transitionEnd:e,transition:t,delay:r})=>{var n;return{opacity:1,scale:1,transition:null!=(n=null==t?void 0:t.enter)?n:RK(CK.enter,r),transitionEnd:null==e?void 0:e.enter}}},$Y={initial:"exit",animate:"enter",exit:"exit",variants:FY},HY=(0,t.forwardRef)((function(e,t){const{unmountOnExit:r,in:n,reverse:i=!0,initialScale:o=.95,className:a,transition:s,transitionEnd:c,delay:l,...u}=e,d=!r||n&&r,h=n||r?"enter":"exit",f={initialScale:o,reverse:i,transition:s,transitionEnd:c,delay:l};return(0,Yn.jsx)(i$,{custom:f,children:d&&(0,Yn.jsx)(jF.div,{ref:t,className:ne("chakra-offset-slide",a),...$Y,animate:h,custom:f,...u})})}));HY.displayName="ScaleFade";var VY={slideInBottom:{...zY,custom:{offsetY:16,reverse:!0}},slideInRight:{...zY,custom:{offsetX:16,reverse:!0}},slideInTop:{...zY,custom:{offsetY:-16,reverse:!0}},slideInLeft:{...zY,custom:{offsetX:-16,reverse:!0}},scale:{...$Y,custom:{initialScale:.95,reverse:!0}},none:{}},qY=Gn(jF.section),KY=e=>VY[e||"none"],WY=(0,t.forwardRef)(((e,t)=>{const{preset:r,motionProps:n=KY(r),...i}=e;return(0,Yn.jsx)(qY,{ref:t,...n,...i})}));function GY(){return GY=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0})).sort(EZ)},OZ=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"].join(","),AZ="".concat(OZ,", [data-focus-guard]"),TZ=function(e,t){return uZ((e.shadowRoot||e).children).reduce((function(e,r){return e.concat(r.matches(t?AZ:OZ)?[r]:[],TZ(r))}),[])},jZ=function(e,t){return e.reduce((function(e,r){var n,i=TZ(r,t),o=(n=[]).concat.apply(n,i.map((function(e){return function(e,t){var r;return e instanceof HTMLIFrameElement&&(null===(r=e.contentDocument)||void 0===r?void 0:r.body)?jZ([e.contentDocument.body],t):[e]}(e,t)})));return e.concat(o,r.parentNode?uZ(r.parentNode.querySelectorAll(OZ)).filter((function(e){return e===r})):[])}),[])},CZ=function(e,t){return uZ(e).filter((function(e){return gZ(t,e)})).filter((function(e){return function(e){return!((bZ(e)||function(e){return"BUTTON"===e.tagName}(e))&&("hidden"===e.type||e.disabled))}(e)}))},RZ=function(e,t){return void 0===t&&(t=new Map),uZ(e).filter((function(e){return vZ(t,e)}))},IZ=function(e,t,r){return PZ(CZ(jZ(e,r),t),!0,r)},MZ=function(e,t){return PZ(CZ(jZ(e),t),!1)},LZ=function(e,t){return CZ(function(e){var t=e.querySelectorAll("[".concat("data-autofocus-inside","]"));return uZ(t).map((function(e){return jZ([e])})).reduce((function(e,t){return e.concat(t)}),[])}(e),t)},NZ=function(e,t){return e.shadowRoot?NZ(e.shadowRoot,t):!(void 0===Object.getPrototypeOf(e).contains||!Object.getPrototypeOf(e).contains.call(e,t))||uZ(e.children).some((function(e){var r;if(e instanceof HTMLIFrameElement){var n=null===(r=e.contentDocument)||void 0===r?void 0:r.body;return!!n&&NZ(n,t)}return NZ(e,t)}))},DZ=function(e){if(void 0===e&&(e=document),e&&e.activeElement){var t=e.activeElement;return t.shadowRoot?DZ(t.shadowRoot):t instanceof HTMLIFrameElement&&function(e){try{return e()}catch(t){return}}((function(){return t.contentWindow.document}))?DZ(t.contentWindow.document):t}},BZ=function(e){return e.parentNode?BZ(e.parentNode):e},zZ=function(e){return dZ(e).filter(Boolean).reduce((function(e,t){var r=t.getAttribute(YY);return e.push.apply(e,r?function(e){for(var t=new Set,r=e.length,n=0;n0&&t.add(i),(o&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(n)}return e.filter((function(e,r){return!t.has(r)}))}(uZ(BZ(t).querySelectorAll("[".concat(YY,'="').concat(r,'"]:not([').concat(ZY,'="disabled"])')))):[t]),e}),[])},UZ=function(e,t){return void 0===t&&(t=DZ(hZ(e).ownerDocument)),!(!t||t.dataset&&t.dataset.focusGuard)&&zZ(e).some((function(e){return NZ(e,t)||function(e,t){return Boolean(uZ(e.querySelectorAll("iframe")).some((function(e){return function(e,t){return e===t}(e,t)})))}(e,t)}))},FZ=function(e,t){return wZ(e)&&e.name?function(e,t){return t.filter(wZ).filter((function(t){return t.name===e.name})).filter((function(e){return e.checked}))[0]||e}(e,t):e},$Z=function(e){return e[0]&&e.length>1?FZ(e[0],e):e[0]},HZ=function(e,t){return e.length>1?e.indexOf(FZ(e[t],e)):t},VZ="NEW_FOCUS",qZ=function(e,t,r,n){var i=e.length,o=e[0],a=e[i-1],s=_Z(r);if(!(r&&e.indexOf(r)>=0)){var c=void 0!==r?t.indexOf(r):-1,l=n?t.indexOf(n):c,u=n?e.indexOf(n):-1,d=c-l,h=t.indexOf(o),f=t.indexOf(a),p=function(e){var t=new Set;return e.forEach((function(r){return t.add(FZ(r,e))})),e.filter((function(e){return t.has(e)}))}(t),m=(void 0!==r?p.indexOf(r):-1)-(n?p.indexOf(n):c),g=HZ(e,0),v=HZ(e,i-1);return-1===c||-1===u?VZ:!d&&u>=0?u:c<=h&&s&&Math.abs(d)>1?v:c>=f&&s&&Math.abs(d)>1?g:d&&Math.abs(m)>1?u:c<=h?v:c>f?g:d?Math.abs(d)>1?u:(i+u+d)%i:void 0}},KZ=function(e,t,r){var n,i=e.map((function(e){return e.node})),o=RZ(i.filter((n=r,function(e){var t,r=null===(t=yZ(e))||void 0===t?void 0:t.autofocus;return e.autofocus||void 0!==r&&"false"!==r||n.indexOf(e)>=0})));return o&&o.length?$Z(o):$Z(RZ(t))},WZ=function(e,t){return void 0===t&&(t=[]),t.push(e),e.parentNode&&WZ(e.parentNode.host||e.parentNode,t),t},GZ=function(e,t){for(var r=WZ(e),n=WZ(t),i=0;i=0)return o}return!1},YZ=function(e,t,r){var n=dZ(e),i=dZ(t),o=n[0],a=!1;return i.filter(Boolean).forEach((function(e){a=GZ(a||e,e)||a,r.filter(Boolean).forEach((function(e){var t=GZ(o,e);t&&(a=!a||NZ(t,a)?t:GZ(t,a))}))})),a},ZZ=function(e,t){var r=DZ(dZ(e).length>0?document:hZ(e).ownerDocument),n=zZ(e).filter(SZ),i=YZ(r||e,e,n),o=new Map,a=MZ(n,o),s=IZ(n,o).filter((function(e){var t=e.node;return SZ(t)}));if(s[0]||(s=a)[0]){var c=MZ([i],o).map((function(e){return e.node})),l=function(e,t){var r=new Map;return t.forEach((function(e){return r.set(e.node,e)})),e.map((function(e){return r.get(e)})).filter(kZ)}(c,s),u=l.map((function(e){return e.node})),d=qZ(u,c,r,t);if(d===VZ){var h=KZ(a,u,function(e,t){return e.reduce((function(e,r){return e.concat(LZ(r,t))}),[])}(n,o));return h?{node:h}:void console.warn("focus-lock: cannot find any node to move focus into")}return void 0===d?d:l[d]}},XZ=0,JZ=!1,QZ=function(e,t,r){void 0===r&&(r={});var n,i,o=ZZ(e,t);if(!JZ&&o){if(XZ>2)return console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),JZ=!0,void setTimeout((function(){JZ=!1}),1);XZ++,n=o.node,i=r.focusOptions,"focus"in n&&n.focus(i),"contentWindow"in n&&n.contentWindow&&n.contentWindow.focus(),XZ--}};function eX(e){setTimeout(e,1)}var tX=function(){return document&&document.activeElement===document.body||function(e){void 0===e&&(e=document);var t=DZ(e);return!!t&&uZ(e.querySelectorAll("[".concat("data-no-focus-lock","]"))).some((function(e){return NZ(e,t)}))}()},rX=null,nX=null,iX=null,oX=!1,aX=function(){return!0};function sX(e,t,r,n){var i=null,o=e;do{var a=n[o];if(a.guard)a.node.dataset.focusAutoGuard&&(i=a);else{if(!a.lockItem)break;if(o!==e)return;i=null}}while((o+=r)!==t);i&&(i.node.tabIndex=0)}var cX=function(e){return e&&"current"in e?e.current:e},lX=function e(t,r,n){return r&&(r.host===t&&(!r.activeElement||n.contains(r.activeElement))||r.parentNode&&e(t,r.parentNode,n))},uX=function(){var e,t=!1;if(rX){var r=rX,n=r.observed,i=r.persistentFocus,o=r.autoFocus,a=r.shards,s=r.crossFrame,c=r.focusOptions,l=n||iX&&iX.portaledElement,u=document&&document.activeElement;if(l){var d=[l].concat(a.map(cX).filter(Boolean));if(u&&!function(e){return(rX.whiteList||aX)(e)}(u)||(i||(s?Boolean(oX):"meanwhile"===oX)||!tX()||!nX&&o)&&(l&&!(UZ(d)||u&&function(e,t){return t.some((function(t){return lX(e,t,t)}))}(u,d)||(e=u,iX&&iX.portaledElement===e))&&(document&&!nX&&u&&!o?(u.blur&&u.blur(),document.body.focus()):(t=QZ(d,nX,{focusOptions:c}),iX={})),oX=!1,nX=document&&document.activeElement),document){var h=document&&document.activeElement,f=function(e){var t=zZ(e).filter(SZ),r=YZ(e,e,t),n=new Map,i=IZ([r],n,!0),o=IZ(t,n).filter((function(e){var t=e.node;return SZ(t)})).map((function(e){return e.node}));return i.map((function(e){var t=e.node;return{node:t,index:e.index,lockItem:o.indexOf(t)>=0,guard:_Z(t)}}))}(d),p=f.map((function(e){return e.node})).indexOf(h);p>-1&&(f.filter((function(e){var t=e.guard,r=e.node;return t&&r.dataset.focusAutoGuard})).forEach((function(e){return e.node.removeAttribute("tabIndex")})),sX(p,f.length,1,f),sX(p,-1,-1,f))}}}return t},dX=function(e){uX()&&e&&(e.stopPropagation(),e.preventDefault())},hX=function(){return eX(uX)},fX=function(e){var t=e.target,r=e.currentTarget;r.contains(t)||(iX={observerNode:r,portaledElement:t})},pX=function(){oX="just",eX((function(){oX="meanwhile"}))};QY.assignSyncMedium(fX),eZ.assignMedium(hX),tZ.assignMedium((function(e){return e({moveFocusInside:QZ,focusInside:UZ})}));const mX=lZ((function(e){return e.filter((function(e){return!e.disabled}))}),(function(e){var t=e.slice(-1)[0];t&&!rX&&(document.addEventListener("focusin",dX),document.addEventListener("focusout",hX),window.addEventListener("blur",pX));var r=rX,n=r&&t&&t.id===r.id;rX=t,r&&!n&&(r.onDeactivation(),e.filter((function(e){return e.id===r.id})).length||r.returnFocus(!t)),t?(nX=null,n&&r.observed===t.observed||t.onActivation(),uX(),eX(uX)):(document.removeEventListener("focusin",dX),document.removeEventListener("focusout",hX),window.removeEventListener("blur",pX),nX=null)}))((function(){return null}));var gX=t.forwardRef((function(e,r){return t.createElement(oZ,GY({sideCar:mX,ref:r},e))})),vX=oZ.propTypes||{};vX.sideCar,function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n=0||(i[r]=e[r])}(vX,["sideCar"]);gX.propTypes={};const yX=gX;function bX(e){return null!=e&&"object"==typeof e&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function wX(e){var t;if(!bX(e))return!1;return e instanceof(null!=(t=e.ownerDocument.defaultView)?t:window).HTMLElement}function xX(e){return bX(e)?e.ownerDocument:document}var _X=e=>e.hasAttribute("tabindex"),SX=e=>_X(e)&&-1===e.tabIndex;function kX(e){return!(!e.parentElement||!kX(e.parentElement))||e.hidden}function EX(e){if(!wX(e)||kX(e)||function(e){return!0===Boolean(e.getAttribute("disabled"))||!0===Boolean(e.getAttribute("aria-disabled"))}(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():!!function(e){const t=e.getAttribute("contenteditable");return"false"!==t&&null!=t}(e)||_X(e)}var PX,OX=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"].join(),AX=e=>e.offsetWidth>0&&e.offsetHeight>0;function TX(e){const t=Array.from(e.querySelectorAll(OX));return t.unshift(e),t.filter((e=>EX(e)&&AX(e)))}var jX=null!=(PX=yX.default)?PX:yX,CX=e=>{const{initialFocusRef:r,finalFocusRef:n,contentRef:i,restoreFocus:o,children:a,isDisabled:s,autoFocus:c,persistentFocus:l,lockFocusAcrossFrames:u}=e,d=(0,t.useCallback)((()=>{if(null==r?void 0:r.current)r.current.focus();else if(null==i?void 0:i.current){0===TX(i.current).length&&requestAnimationFrame((()=>{var e;null==(e=i.current)||e.focus()}))}}),[r,i]),h=(0,t.useCallback)((()=>{var e;null==(e=null==n?void 0:n.current)||e.focus()}),[n]),f=o&&!n;return(0,Yn.jsx)(jX,{crossFrame:u,persistentFocus:l,autoFocus:c,disabled:s,onActivation:d,onDeactivation:h,returnFocus:f,children:a})};CX.displayName="FocusLock";function RX(e){const{autoFocus:r,trapFocus:n,dialogRef:i,initialFocusRef:o,blockScrollOnMount:a,allowPinchZoom:s,finalFocusRef:c,returnFocusOnClose:l,preserveScrollBarGap:u,lockFocusAcrossFrames:d,isOpen:h}=SK(),[f,p]=AM();(0,t.useEffect)((()=>{!f&&p&&setTimeout(p)}),[f,p]);const m=uK(i,h);return(0,Yn.jsx)(CX,{autoFocus:r,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:l,contentRef:i,lockFocusAcrossFrames:d,children:(0,Yn.jsx)(SW,{removeScrollBar:!u,allowPinchZoom:s,enabled:1===m&&a,forwardProps:!0,children:e.children})})}var IX=re(((e,t)=>{const{className:r,children:n,containerProps:i,motionProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:c}=SK(),l=s(a,t),u=c(i),d=ne("chakra-modal__content",r),h=xK(),f={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...h.dialog},p={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...h.dialogContainer},{motionPreset:m}=SK();return(0,Yn.jsx)(RX,{children:(0,Yn.jsx)(Gn.div,{...u,className:"chakra-modal__content-container",tabIndex:-1,__css:p,children:(0,Yn.jsx)(WY,{preset:m,motionProps:o,className:d,...l,__css:f,children:n})})})}));IX.displayName="ModalContent";var MX=re(((e,r)=>{const{className:n,...i}=e,{headerId:o,setHeaderMounted:a}=SK();(0,t.useEffect)((()=>(a(!0),()=>a(!1))),[a]);const s=ne("chakra-modal__header",n),c={flex:0,...xK().header};return(0,Yn.jsx)(Gn.header,{ref:r,className:s,id:o,...i,__css:c})}));function LX(e){const t=Object.assign({},e);for(let r in t)void 0===t[r]&&delete t[r];return t}MX.displayName="ModalHeader";var NX=re((function(e,t){const r=si("Text",e),{className:n,align:i,decoration:o,casing:a,...s}=Jt(e),c=LX({textAlign:e.align,textDecoration:e.decoration,textTransform:e.casing});return(0,Yn.jsx)(Gn.p,{ref:t,className:ne("chakra-text",e.className),...c,...s,__css:r})}));NX.displayName="Text";var DX=re(((e,t)=>{const{onClick:r,className:n,...i}=e,{onClose:o}=SK(),a=ne("chakra-modal__close-btn",n),s=xK();return(0,Yn.jsx)(WF,{ref:t,__css:s.closeButton,className:a,onClick:ue(r,(e=>{e.stopPropagation(),o()})),...i})}));DX.displayName="ModalCloseButton";var BX=re(((e,r)=>{const{className:n,...i}=e,{bodyId:o,setBodyMounted:a}=SK();(0,t.useEffect)((()=>(a(!0),()=>a(!1))),[a]);const s=ne("chakra-modal__body",n),c=xK();return(0,Yn.jsx)(Gn.div,{ref:r,className:s,id:o,...i,__css:c.body})}));BX.displayName="ModalBody";Object.freeze(["base","sm","md","lg","xl","2xl"]);function zX(e,t){return Array.isArray(e)?e.map((e=>null===e?null:t(e))):ie(e)?Object.keys(e).reduce(((r,n)=>(r[n]=t(e[n]),r)),{}):null!=e?t(e):null}var UX=re((function(e,r){const{ratio:n=4/3,children:i,className:o,...a}=e,s=t.Children.only(i),c=ne("chakra-aspect-ratio",o);return(0,Yn.jsx)(Gn.div,{ref:r,position:"relative",className:c,_before:{height:0,content:'""',display:"block",paddingBottom:zX(n,(e=>1/e*100+"%"))},__css:{"& > *:not(style)":{overflow:"hidden",position:"absolute",top:"0",right:"0",bottom:"0",left:"0",display:"flex",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},"& > img, & > video":{objectFit:"cover"}},...a,children:s})}));UX.displayName="AspectRatio";var FX=re((function(e,t){const{htmlWidth:r,htmlHeight:n,alt:i,...o}=e;return(0,Yn.jsx)("img",{width:r,height:n,ref:t,alt:i,...o})}));FX.displayName="NativeImage";function $X(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}var HX=re((function(e,r){const{fallbackSrc:n,fallback:i,src:o,srcSet:a,align:s,fit:c,loading:l,ignoreFallback:u,crossOrigin:d,fallbackStrategy:h="beforeLoadOrError",referrerPolicy:f,...p}=e,m=null!=l||u||!(void 0!==n||void 0!==i),g=function(e){const{loading:r,src:n,srcSet:i,onLoad:o,onError:a,crossOrigin:s,sizes:c,ignoreFallback:l}=e,[u,d]=(0,t.useState)("pending");(0,t.useEffect)((()=>{d(n?"loading":"pending")}),[n]);const h=(0,t.useRef)(),f=(0,t.useCallback)((()=>{if(!n)return;p();const e=new Image;e.src=n,s&&(e.crossOrigin=s),i&&(e.srcset=i),c&&(e.sizes=c),r&&(e.loading=r),e.onload=e=>{p(),d("loaded"),null==o||o(e)},e.onerror=e=>{p(),d("failed"),null==a||a(e)},h.current=e}),[n,s,i,c,o,a,r]),p=()=>{h.current&&(h.current.onload=null,h.current.onerror=null,h.current=null)};return jO((()=>{if(!l)return"loading"===u&&f(),()=>{p()}}),[u,f,l]),l?"loaded":u}({...e,crossOrigin:d,ignoreFallback:m}),v=((e,t)=>"loaded"!==e&&"beforeLoadOrError"===t||"failed"===e&&"onError"===t)(g,h),y={ref:r,objectFit:c,objectPosition:s,...m?p:$X(p,["onError","onLoad"])};return v?i||(0,Yn.jsx)(Gn.img,{as:FX,className:"chakra-image__placeholder",src:n,...y}):(0,Yn.jsx)(Gn.img,{as:FX,src:o,srcSet:a,crossOrigin:d,loading:l,referrerPolicy:f,className:"chakra-image",...y})}));HX.displayName="Image";var VX=Object.defineProperty,qX=(e,t,r)=>(((e,t,r)=>{t in e?VX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!==typeof t?t+"":t,r),r);function KX(e){return e.sort(((e,t)=>{const r=e.compareDocumentPosition(t);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0}))}function WX(e,t,r){let n=e+1;return r&&n>=t&&(n=0),n}function GX(e,t,r){let n=e-1;return r&&n<0&&(n=t),n}var YX="undefined"!==typeof window?t.useLayoutEffect:t.useEffect,ZX=e=>e,XX=class{constructor(){qX(this,"descendants",new Map),qX(this,"register",(e=>{var t;if(null!=e)return"object"==typeof(t=e)&&"nodeType"in t&&t.nodeType===Node.ELEMENT_NODE?this.registerNode(e):t=>{this.registerNode(t,e)}})),qX(this,"unregister",(e=>{this.descendants.delete(e);const t=KX(Array.from(this.descendants.keys()));this.assignIndex(t)})),qX(this,"destroy",(()=>{this.descendants.clear()})),qX(this,"assignIndex",(e=>{this.descendants.forEach((t=>{const r=e.indexOf(t.node);t.index=r,t.node.dataset.index=t.index.toString()}))})),qX(this,"count",(()=>this.descendants.size)),qX(this,"enabledCount",(()=>this.enabledValues().length)),qX(this,"values",(()=>Array.from(this.descendants.values()).sort(((e,t)=>e.index-t.index)))),qX(this,"enabledValues",(()=>this.values().filter((e=>!e.disabled)))),qX(this,"item",(e=>{if(0!==this.count())return this.values()[e]})),qX(this,"enabledItem",(e=>{if(0!==this.enabledCount())return this.enabledValues()[e]})),qX(this,"first",(()=>this.item(0))),qX(this,"firstEnabled",(()=>this.enabledItem(0))),qX(this,"last",(()=>this.item(this.descendants.size-1))),qX(this,"lastEnabled",(()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)})),qX(this,"indexOf",(e=>{var t,r;return e&&null!=(r=null==(t=this.descendants.get(e))?void 0:t.index)?r:-1})),qX(this,"enabledIndexOf",(e=>null==e?-1:this.enabledValues().findIndex((t=>t.node.isSameNode(e))))),qX(this,"next",((e,t=!0)=>{const r=WX(e,this.count(),t);return this.item(r)})),qX(this,"nextEnabled",((e,t=!0)=>{const r=this.item(e);if(!r)return;const n=WX(this.enabledIndexOf(r.node),this.enabledCount(),t);return this.enabledItem(n)})),qX(this,"prev",((e,t=!0)=>{const r=GX(e,this.count()-1,t);return this.item(r)})),qX(this,"prevEnabled",((e,t=!0)=>{const r=this.item(e);if(!r)return;const n=GX(this.enabledIndexOf(r.node),this.enabledCount()-1,t);return this.enabledItem(n)})),qX(this,"registerNode",((e,t)=>{if(!e||this.descendants.has(e))return;const r=KX(Array.from(this.descendants.keys()).concat(e));(null==t?void 0:t.disabled)&&(t.disabled=!!t.disabled);const n={node:e,index:-1,...t};this.descendants.set(e,n),this.assignIndex(r)}))}};var[JX,QX]=ui({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function eJ(){return[ZX(JX),()=>ZX(QX()),()=>function(){const e=(0,t.useRef)(new XX);return YX((()=>()=>e.current.destroy())),e.current}(),e=>function(e){const r=QX(),[n,i]=(0,t.useState)(-1),o=(0,t.useRef)(null);YX((()=>()=>{o.current&&r.unregister(o.current)}),[]),YX((()=>{if(!o.current)return;const e=Number(o.current.dataset.index);n==e||Number.isNaN(e)||i(e)}));const a=ZX(e?r.register(e):r.register);return{descendants:r,index:n,enabledIndex:r.enabledIndexOf(o.current),register:wi(a,o)}}(e)]}var[tJ,rJ]=ui({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[nJ,iJ]=ui({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[oJ,aJ,sJ,cJ]=eJ();function lJ(e){const{value:r,defaultValue:n,onChange:i,shouldUpdate:o=((e,t)=>e!==t)}=e,a=EM(i),s=EM(o),[c,l]=(0,t.useState)(n),u=void 0!==r,d=u?r:c,h=EM((e=>{const t="function"===typeof e?e(d):e;s(d,t)&&(u||l(t),a(t))}),[u,a,d,s]);return[d,h]}function uJ(e){const{onChange:r,defaultIndex:n,index:i,allowMultiple:o,allowToggle:a,...s}=e;!function(e){const t=e.index||e.defaultIndex,r=null!=t&&!Array.isArray(t)&&e.allowMultiple;oe({condition:!!r,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}(e),function(e){oe({condition:!(!e.allowMultiple||!e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}(e);const c=sJ(),[l,u]=(0,t.useState)(-1);(0,t.useEffect)((()=>()=>{u(-1)}),[]);const[d,h]=lJ({value:i,defaultValue:()=>o?null!=n?n:[]:null!=n?n:-1,onChange:r});return{index:d,setIndex:h,htmlProps:s,getAccordionItemProps:e=>{let t=!1;null!==e&&(t=Array.isArray(d)?d.includes(e):d===e);return{isOpen:t,onChange:t=>{if(null!==e)if(o&&Array.isArray(d)){const r=t?d.concat(e):d.filter((t=>t!==e));h(r)}else t?h(e):a&&h(-1)}}},focusedIndex:l,setFocusedIndex:u,descendants:c}}var[dJ,hJ]=ui({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function fJ(e){const{isDisabled:r,isFocusable:n,id:i,...o}=e,{getAccordionItemProps:a,setFocusedIndex:s}=hJ(),c=(0,t.useRef)(null),l=(0,t.useId)(),u=null!=i?i:l,d=`accordion-button-${u}`,h=`accordion-panel-${u}`;!function(e){oe({condition:!(!e.isFocusable||e.isDisabled),message:"Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well.\n "})}(e);const{register:f,index:p,descendants:m}=cJ({disabled:r&&!n}),{isOpen:g,onChange:v}=a(-1===p?null:p);!function(e){oe({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}({isOpen:g,isDisabled:r});const y=(0,t.useCallback)((()=>{null==v||v(!g),s(p)}),[p,s,g,v]),b=(0,t.useCallback)((e=>{const t={ArrowDown:()=>{const e=m.nextEnabled(p);null==e||e.node.focus()},ArrowUp:()=>{const e=m.prevEnabled(p);null==e||e.node.focus()},Home:()=>{const e=m.firstEnabled();null==e||e.node.focus()},End:()=>{const e=m.lastEnabled();null==e||e.node.focus()}},r=t[e.key];r&&(e.preventDefault(),r(e))}),[m,p]),w=(0,t.useCallback)((()=>{s(p)}),[s,p]),x=(0,t.useCallback)((function(e={},t=null){return{...e,type:"button",ref:wi(f,c,t),id:d,disabled:!!r,"aria-expanded":!!g,"aria-controls":h,onClick:ue(e.onClick,y),onFocus:ue(e.onFocus,w),onKeyDown:ue(e.onKeyDown,b)}}),[d,r,g,y,w,b,h,f]),_=(0,t.useCallback)((function(e={},t=null){return{...e,ref:t,role:"region",id:h,"aria-labelledby":d,hidden:!g}}),[d,g,h]);return{isOpen:g,isDisabled:r,isFocusable:n,onOpen:()=>{null==v||v(!0)},onClose:()=>{null==v||v(!1)},getButtonProps:x,getPanelProps:_,htmlProps:o}}var pJ=re((function({children:e,reduceMotion:r,...n},i){const o=ci("Accordion",n),a=Jt(n),{htmlProps:s,descendants:c,...l}=uJ(a),u=(0,t.useMemo)((()=>({...l,reduceMotion:!!r})),[l,r]);return(0,Yn.jsx)(oJ,{value:c,children:(0,Yn.jsx)(dJ,{value:u,children:(0,Yn.jsx)(tJ,{value:o,children:(0,Yn.jsx)(Gn.div,{ref:i,...s,className:ne("chakra-accordion",n.className),__css:o.root,children:e})})})})}));pJ.displayName="Accordion";var mJ=re((function(e,r){const{children:n,className:i}=e,{htmlProps:o,...a}=fJ(e),s={...rJ().container,overflowAnchor:"none"},c=(0,t.useMemo)((()=>a),[a]);return(0,Yn.jsx)(nJ,{value:c,children:(0,Yn.jsx)(Gn.div,{ref:r,...o,className:ne("chakra-accordion__item",i),__css:s,children:"function"===typeof n?n({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):n})})}));mJ.displayName="AccordionItem";var gJ=re((function(e,t){const{getButtonProps:r}=iJ(),n=r(e,t),i={display:"flex",alignItems:"center",width:"100%",outline:0,...rJ().button};return(0,Yn.jsx)(Gn.button,{...n,className:ne("chakra-accordion__button",e.className),__css:i})}));function vJ(e){const{isOpen:t,isDisabled:r}=iJ(),{reduceMotion:n}=hJ(),i=ne("chakra-accordion__icon",e.className),o={opacity:r?.4:1,transform:t?"rotate(-180deg)":void 0,transition:n?void 0:"transform 0.2s",transformOrigin:"center",...rJ().icon};return(0,Yn.jsx)(LF,{viewBox:"0 0 24 24","aria-hidden":!0,className:i,__css:o,...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}gJ.displayName="AccordionButton",vJ.displayName="AccordionIcon";var yJ=e=>null!=e&&parseInt(e.toString(),10)>0,bJ={exit:{height:{duration:.2,ease:EK.ease},opacity:{duration:.3,ease:EK.ease}},enter:{height:{duration:.3,ease:EK.ease},opacity:{duration:.4,ease:EK.ease}}},wJ={exit:({animateOpacity:e,startingHeight:t,transition:r,transitionEnd:n,delay:i})=>{var o;return{...e&&{opacity:yJ(t)?1:0},height:t,transitionEnd:null==n?void 0:n.exit,transition:null!=(o=null==r?void 0:r.exit)?o:IK(bJ.exit,i)}},enter:({animateOpacity:e,endingHeight:t,transition:r,transitionEnd:n,delay:i})=>{var o;return{...e&&{opacity:1},height:t,transitionEnd:null==n?void 0:n.enter,transition:null!=(o=null==r?void 0:r.enter)?o:RK(bJ.enter,i)}}},xJ=(0,t.forwardRef)(((e,r)=>{const{in:n,unmountOnExit:i,animateOpacity:o=!0,startingHeight:a=0,endingHeight:s="auto",style:c,className:l,transition:u,transitionEnd:d,...h}=e,[f,p]=(0,t.useState)(!1);(0,t.useEffect)((()=>{const e=setTimeout((()=>{p(!0)}));return()=>clearTimeout(e)}),[]),oe({condition:Number(a)>0&&!!i,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const m=parseFloat(a.toString())>0,g={startingHeight:a,endingHeight:s,animateOpacity:o,transition:f?u:{enter:{duration:0}},transitionEnd:{enter:null==d?void 0:d.enter,exit:i?null==d?void 0:d.exit:{...null==d?void 0:d.exit,display:m?"block":"none"}}},v=!i||n,y=n||i?"enter":"exit";return(0,Yn.jsx)(i$,{initial:!1,custom:g,children:v&&(0,Yn.jsx)(jF.div,{ref:r,...h,className:ne("chakra-collapse",l),style:{overflow:"hidden",display:"block",...c},custom:g,variants:wJ,initial:!!i&&"exit",animate:y,exit:"exit"})})}));xJ.displayName="Collapse";var _J=re((function(e,t){const{className:r,motionProps:n,...i}=e,{reduceMotion:o}=hJ(),{getPanelProps:a,isOpen:s}=iJ(),c=a(i,t),l=ne("chakra-accordion__panel",r),u=rJ();o||delete c.hidden;const d=(0,Yn.jsx)(Gn.div,{...c,__css:u.panel,className:l});return o?d:(0,Yn.jsx)(xJ,{in:s,...n,children:d})}));_J.displayName="AccordionPanel";var[SJ,kJ]=ui({name:"FormControlStylesContext",errorMessage:"useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),[EJ,PJ]=ui({strict:!1,name:"FormControlContext"});var OJ=re((function(e,r){const n=ci("Form",e),i=Jt(e),{getRootProps:o,htmlProps:a,...s}=function(e){const{id:r,isRequired:n,isInvalid:i,isDisabled:o,isReadOnly:a,...s}=e,c=(0,t.useId)(),l=r||`field-${c}`,u=`${l}-label`,d=`${l}-feedback`,h=`${l}-helptext`,[f,p]=(0,t.useState)(!1),[m,g]=(0,t.useState)(!1),[v,y]=(0,t.useState)(!1),b=(0,t.useCallback)(((e={},t=null)=>({id:h,...e,ref:wi(t,(e=>{e&&g(!0)}))})),[h]),w=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-focus":ce(v),"data-disabled":ce(o),"data-invalid":ce(i),"data-readonly":ce(a),id:void 0!==e.id?e.id:u,htmlFor:void 0!==e.htmlFor?e.htmlFor:l})),[l,o,v,i,a,u]),x=(0,t.useCallback)(((e={},t=null)=>({id:d,...e,ref:wi(t,(e=>{e&&p(!0)})),"aria-live":"polite"})),[d]),_=(0,t.useCallback)(((e={},t=null)=>({...e,...s,ref:t,role:"group","data-focus":ce(v),"data-disabled":ce(o),"data-invalid":ce(i),"data-readonly":ce(a)})),[s,o,v,i,a]),S=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,role:"presentation","aria-hidden":!0,children:e.children||"*"})),[]);return{isRequired:!!n,isInvalid:!!i,isReadOnly:!!a,isDisabled:!!o,isFocused:!!v,onFocus:()=>y(!0),onBlur:()=>y(!1),hasFeedbackText:f,setHasFeedbackText:p,hasHelpText:m,setHasHelpText:g,id:l,labelId:u,feedbackId:d,helpTextId:h,htmlProps:s,getHelpTextProps:b,getErrorMessageProps:x,getRootProps:_,getLabelProps:w,getRequiredIndicatorProps:S}}(i),c=ne("chakra-form-control",e.className);return(0,Yn.jsx)(EJ,{value:s,children:(0,Yn.jsx)(SJ,{value:n,children:(0,Yn.jsx)(Gn.div,{...o({},r),className:c,__css:n.container})})})}));OJ.displayName="FormControl";var AJ=re((function(e,t){const r=PJ(),n=kJ(),i=ne("chakra-form__helper-text",e.className);return(0,Yn.jsx)(Gn.div,{...null==r?void 0:r.getHelpTextProps(e,t),__css:n.helperText,className:i})}));AJ.displayName="FormHelperText";var[TJ,jJ]=ui({name:"FormErrorStylesContext",errorMessage:"useFormErrorStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),CJ=re(((e,t)=>{const r=ci("FormError",e),n=Jt(e),i=PJ();return(null==i?void 0:i.isInvalid)?(0,Yn.jsx)(TJ,{value:r,children:(0,Yn.jsx)(Gn.div,{...null==i?void 0:i.getErrorMessageProps(n,t),className:ne("chakra-form__error-message",e.className),__css:{display:"flex",alignItems:"center",...r.text}})}):null}));CJ.displayName="FormErrorMessage";var RJ=re(((e,t)=>{const r=jJ(),n=PJ();if(!(null==n?void 0:n.isInvalid))return null;const i=ne("chakra-form__error-icon",e.className);return(0,Yn.jsx)(LF,{ref:t,"aria-hidden":!0,...e,__css:r.icon,className:i,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}));RJ.displayName="FormErrorIcon";var IJ=re(((e,t)=>{const{className:r,...n}=e,i=ne("chakra-modal__footer",r),o={display:"flex",alignItems:"center",justifyContent:"flex-end",...xK().footer};return(0,Yn.jsx)(Gn.footer,{ref:t,...n,__css:o,className:i})}));IJ.displayName="ModalFooter";var MJ=e=>"checkbox"===e.type,LJ=e=>e instanceof Date,NJ=e=>null==e;const DJ=e=>"object"===typeof e;var BJ=e=>!NJ(e)&&!Array.isArray(e)&&DJ(e)&&!LJ(e),zJ=e=>BJ(e)&&e.target?MJ(e.target)?e.target.checked:e.target.value:e,UJ=(e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)),FJ=e=>{const t=e.constructor&&e.constructor.prototype;return BJ(t)&&t.hasOwnProperty("isPrototypeOf")},$J="undefined"!==typeof window&&"undefined"!==typeof window.HTMLElement&&"undefined"!==typeof document;function HJ(e){let t;const r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if($J&&(e instanceof Blob||e instanceof FileList)||!r&&!BJ(e))return e;if(t=r?[]:{},r||FJ(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=HJ(e[r]));else t=e}return t}var VJ=e=>Array.isArray(e)?e.filter(Boolean):[],qJ=e=>void 0===e,KJ=(e,t,r)=>{if(!t||!BJ(e))return r;const n=VJ(t.split(/[,[\].]+?/)).reduce(((e,t)=>NJ(e)?e:e[t]),e);return qJ(n)||n===e?qJ(e[t])?r:e[t]:n},WJ=e=>"boolean"===typeof e;const GJ={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},YJ={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ZJ="max",XJ="min",JJ="maxLength",QJ="minLength",eQ="pattern",tQ="required",rQ="validate",nQ=t.createContext(null),iQ=()=>t.useContext(nQ),oQ=e=>{const{children:r,...n}=e;return t.createElement(nQ.Provider,{value:n},r)};var aQ=(e,t,r,n=!0)=>{const i={defaultValues:t._defaultValues};for(const o in e)Object.defineProperty(i,o,{get:()=>{const i=o;return t._proxyFormState[i]!==YJ.all&&(t._proxyFormState[i]=!n||YJ.all),r&&(r[i]=!0),e[i]}});return i},sQ=e=>BJ(e)&&!Object.keys(e).length,cQ=(e,t,r,n)=>{r(e);const{name:i,...o}=e;return sQ(o)||Object.keys(o).length>=Object.keys(t).length||Object.keys(o).find((e=>t[e]===(!n||YJ.all)))},lQ=e=>Array.isArray(e)?e:[e];function uQ(e){const r=t.useRef(e);r.current=e,t.useEffect((()=>{const t=!e.disabled&&r.current.subject&&r.current.subject.subscribe({next:r.current.next});return()=>{t&&t.unsubscribe()}}),[e.disabled])}var dQ=e=>"string"===typeof e,hQ=(e,t,r,n,i)=>dQ(e)?(n&&t.watch.add(e),KJ(r,e,i)):Array.isArray(e)?e.map((e=>(n&&t.watch.add(e),KJ(r,e)))):(n&&(t.watchAll=!0),r);var fQ=e=>/^\w*$/.test(e),pQ=e=>VJ(e.replace(/["|']|\]/g,"").split(/\.|\[/));function mQ(e,t,r){let n=-1;const i=fQ(t)?[t]:pQ(t),o=i.length,a=o-1;for(;++nt?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:i||!0}}:{};const vQ=(e,t,r)=>{for(const n of r||Object.keys(e)){const r=KJ(e,n);if(r){const{_f:e,...n}=r;if(e&&t(e.name)){if(e.ref.focus){e.ref.focus();break}if(e.refs&&e.refs[0].focus){e.refs[0].focus();break}}else BJ(n)&&vQ(n,t)}}};var yQ=()=>{const e="undefined"===typeof performance?Date.now():1e3*performance.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(t=>{const r=(16*Math.random()+e)%16|0;return("x"==t?r:3&r|8).toString(16)}))},bQ=(e,t,r={})=>r.shouldFocus||qJ(r.shouldFocus)?r.focusName||`${e}.${qJ(r.focusIndex)?t:r.focusIndex}.`:"",wQ=e=>({isOnSubmit:!e||e===YJ.onSubmit,isOnBlur:e===YJ.onBlur,isOnChange:e===YJ.onChange,isOnAll:e===YJ.all,isOnTouch:e===YJ.onTouched}),xQ=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some((t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))))),_Q=(e,t,r)=>{const n=VJ(KJ(e,r));return mQ(n,"root",t[r]),mQ(e,r,n),e},SQ=e=>"file"===e.type,kQ=e=>"function"===typeof e,EQ=e=>{if(!$J)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},PQ=e=>dQ(e),OQ=e=>"radio"===e.type,AQ=e=>e instanceof RegExp;const TQ={value:!1,isValid:!1},jQ={value:!0,isValid:!0};var CQ=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter((e=>e&&e.checked&&!e.disabled)).map((e=>e.value));return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!qJ(e[0].attributes.value)?qJ(e[0].value)||""===e[0].value?jQ:{value:e[0].value,isValid:!0}:jQ:TQ}return TQ};const RQ={isValid:!1,value:null};var IQ=e=>Array.isArray(e)?e.reduce(((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e),RQ):RQ;function MQ(e,t,r="validate"){if(PQ(e)||Array.isArray(e)&&e.every(PQ)||WJ(e)&&!e)return{type:r,message:PQ(e)?e:"",ref:t}}var LQ=e=>BJ(e)&&!AQ(e)?e:{value:e,message:""},NQ=async(e,t,r,n,i)=>{const{ref:o,refs:a,required:s,maxLength:c,minLength:l,min:u,max:d,pattern:h,validate:f,name:p,valueAsNumber:m,mount:g,disabled:v}=e._f,y=KJ(t,p);if(!g||v)return{};const b=a?a[0]:o,w=e=>{n&&b.reportValidity&&(b.setCustomValidity(WJ(e)?"":e||""),b.reportValidity())},x={},_=OQ(o),S=MJ(o),k=_||S,E=(m||SQ(o))&&qJ(o.value)&&qJ(y)||EQ(o)&&""===o.value||""===y||Array.isArray(y)&&!y.length,P=gQ.bind(null,p,r,x),O=(e,t,r,n=JJ,i=QJ)=>{const a=e?t:r;x[p]={type:e?n:i,message:a,ref:o,...P(e?n:i,a)}};if(i?!Array.isArray(y)||!y.length:s&&(!k&&(E||NJ(y))||WJ(y)&&!y||S&&!CQ(a).isValid||_&&!IQ(a).isValid)){const{value:e,message:t}=PQ(s)?{value:!!s,message:s}:LQ(s);if(e&&(x[p]={type:tQ,message:t,ref:b,...P(tQ,t)},!r))return w(t),x}if(!E&&(!NJ(u)||!NJ(d))){let e,t;const n=LQ(d),i=LQ(u);if(NJ(y)||isNaN(y)){const r=o.valueAsDate||new Date(y),a=e=>new Date((new Date).toDateString()+" "+e),s="time"==o.type,c="week"==o.type;dQ(n.value)&&y&&(e=s?a(y)>a(n.value):c?y>n.value:r>new Date(n.value)),dQ(i.value)&&y&&(t=s?a(y)n.value),NJ(i.value)||(t=r+e.value,i=!NJ(t.value)&&y.length<+t.value;if((n||i)&&(O(n,e.message,t.message),!r))return w(x[p].message),x}if(h&&!E&&dQ(y)){const{value:e,message:t}=LQ(h);if(AQ(e)&&!y.match(e)&&(x[p]={type:eQ,message:t,ref:o,...P(eQ,t)},!r))return w(t),x}if(f)if(kQ(f)){const e=MQ(await f(y,t),b);if(e&&(x[p]={...e,...P(rQ,e.message)},!r))return w(e.message),x}else if(BJ(f)){let e={};for(const n in f){if(!sQ(e)&&!r)break;const i=MQ(await f[n](y,t),b,n);i&&(e={...i,...P(n,i.message)},w(i.message),r&&(x[p]=e))}if(!sQ(e)&&(x[p]={ref:b,...e},!r))return x}return w(!0),x};function DQ(e,t){return[...e,...lQ(t)]}var BQ=e=>Array.isArray(e)?e.map((()=>{})):void 0;function zQ(e,t,r){return[...e.slice(0,t),...lQ(r),...e.slice(t)]}var UQ=(e,t,r)=>Array.isArray(e)?(qJ(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function FQ(e,t){return[...lQ(t),...lQ(e)]}var $Q=(e,t)=>qJ(t)?[]:function(e,t){let r=0;const n=[...e];for(const i of t)n.splice(i-r,1),r++;return VJ(n).length?n:[]}(e,lQ(t).sort(((e,t)=>e-t))),HQ=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]};function VQ(e,t){const r=Array.isArray(t)?t:fQ(t)?[t]:pQ(t),n=1===r.length?e:function(e,t){const r=t.slice(0,-1).length;let n=0;for(;n(e[t]=r,e);function KQ(){let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter((e=>e!==t))}}),unsubscribe:()=>{e=[]}}}var WQ=e=>NJ(e)||!DJ(e);function GQ(e,t){if(WQ(e)||WQ(t))return e===t;if(LJ(e)&&LJ(t))return e.getTime()===t.getTime();const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(const i of r){const r=e[i];if(!n.includes(i))return!1;if("ref"!==i){const e=t[i];if(LJ(r)&&LJ(e)||BJ(r)&&BJ(e)||Array.isArray(r)&&Array.isArray(e)?!GQ(r,e):r!==e)return!1}}return!0}var YQ=e=>"select-multiple"===e.type,ZQ=e=>OQ(e)||MJ(e),XQ=e=>EQ(e)&&e.isConnected,JQ=e=>{for(const t in e)if(kQ(e[t]))return!0;return!1};function QQ(e,t={}){const r=Array.isArray(e);if(BJ(e)||r)for(const n in e)Array.isArray(e[n])||BJ(e[n])&&!JQ(e[n])?(t[n]=Array.isArray(e[n])?[]:{},QQ(e[n],t[n])):NJ(e[n])||(t[n]=!0);return t}function e0(e,t,r){const n=Array.isArray(e);if(BJ(e)||n)for(const i in e)Array.isArray(e[i])||BJ(e[i])&&!JQ(e[i])?qJ(t)||WQ(r[i])?r[i]=Array.isArray(e[i])?QQ(e[i],[]):{...QQ(e[i])}:e0(e[i],NJ(t)?{}:t[i],r[i]):r[i]=!GQ(e[i],t[i]);return r}var t0=(e,t)=>e0(e,t,QQ(t)),r0=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>qJ(e)?e:t?""===e?NaN:e?+e:e:r&&dQ(e)?new Date(e):n?n(e):e;function n0(e){const t=e.ref;if(!(e.refs?e.refs.every((e=>e.disabled)):t.disabled))return SQ(t)?t.files:OQ(t)?IQ(e.refs).value:YQ(t)?[...t.selectedOptions].map((({value:e})=>e)):MJ(t)?CQ(e.refs).value:r0(qJ(t.value)?e.ref.value:t.value,e)}var i0=(e,t,r,n)=>{const i={};for(const o of e){const e=KJ(t,o);e&&mQ(i,o,e._f)}return{criteriaMode:r,names:[...e],fields:i,shouldUseNativeValidation:n}},o0=e=>qJ(e)?e:AQ(e)?e.source:BJ(e)?AQ(e.value)?e.value.source:e.value:e,a0=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function s0(e,t,r){const n=KJ(e,r);if(n||fQ(r))return{error:n,name:r};const i=r.split(".");for(;i.length;){const n=i.join("."),o=KJ(t,n),a=KJ(e,n);if(o&&!Array.isArray(o)&&r!==n)return{name:r};if(a&&a.type)return{name:n,error:a};i.pop()}return{name:r}}var c0=(e,t,r,n,i)=>!i.isOnAll&&(!r&&i.isOnTouch?!(t||e):(r?n.isOnBlur:i.isOnBlur)?!e:!(r?n.isOnChange:i.isOnChange)||e),l0=(e,t)=>!VJ(KJ(e,t)).length&&VQ(e,t);const u0={mode:YJ.onSubmit,reValidateMode:YJ.onChange,shouldFocusError:!0};function d0(e={},t){let r,n={...u0,...e},i={submitCount:0,isDirty:!1,isLoading:kQ(n.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:{}},o={},a=(BJ(n.defaultValues)||BJ(n.values))&&HJ(n.defaultValues||n.values)||{},s=n.shouldUnregister?{}:HJ(a),c={action:!1,mount:!1,watch:!1},l={mount:new Set,unMount:new Set,array:new Set,watch:new Set},u=0;const d={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},h={values:KQ(),array:KQ(),state:KQ()},f=e.resetOptions&&e.resetOptions.keepDirtyValues,p=wQ(n.mode),m=wQ(n.reValidateMode),g=n.criteriaMode===YJ.all,v=async e=>{if(d.isValid||e){const e=n.resolver?sQ((await _()).errors):await S(o,!0);e!==i.isValid&&h.state.next({isValid:e})}},y=e=>d.isValidating&&h.state.next({isValidating:e}),b=(e,t,r,n)=>{const i=KJ(o,e);if(i){const o=KJ(s,e,qJ(r)?KJ(a,e):r);qJ(o)||n&&n.defaultChecked||t?mQ(s,e,t?o:n0(i._f)):P(e,o),c.mount&&v()}},w=(e,t,r,n,o)=>{let s=!1,c=!1;const l={name:e};if(!r||n){d.isDirty&&(c=i.isDirty,i.isDirty=l.isDirty=k(),s=c!==l.isDirty);const r=GQ(KJ(a,e),t);c=KJ(i.dirtyFields,e),r?VQ(i.dirtyFields,e):mQ(i.dirtyFields,e,!0),l.dirtyFields=i.dirtyFields,s=s||d.dirtyFields&&c!==!r}if(r){const t=KJ(i.touchedFields,e);t||(mQ(i.touchedFields,e,r),l.touchedFields=i.touchedFields,s=s||d.touchedFields&&t!==r)}return s&&o&&h.state.next(l),s?l:{}},x=(t,n,o,a)=>{const s=KJ(i.errors,t),c=d.isValid&&WJ(n)&&i.isValid!==n;var l;if(e.delayError&&o?(l=()=>((e,t)=>{mQ(i.errors,e,t),h.state.next({errors:i.errors})})(t,o),r=e=>{clearTimeout(u),u=setTimeout(l,e)},r(e.delayError)):(clearTimeout(u),r=null,o?mQ(i.errors,t,o):VQ(i.errors,t)),(o?!GQ(s,o):s)||!sQ(a)||c){const e={...a,...c&&WJ(n)?{isValid:n}:{},errors:i.errors,name:t};i={...i,...e},h.state.next(e)}y(!1)},_=async e=>n.resolver(s,n.context,i0(e||l.mount,o,n.criteriaMode,n.shouldUseNativeValidation)),S=async(e,t,r={valid:!0})=>{for(const o in e){const a=e[o];if(a){const{_f:e,...o}=a;if(e){const o=l.array.has(e.name),c=await NQ(a,s,g,n.shouldUseNativeValidation&&!t,o);if(c[e.name]&&(r.valid=!1,t))break;!t&&(KJ(c,e.name)?o?_Q(i.errors,c,e.name):mQ(i.errors,e.name,c[e.name]):VQ(i.errors,e.name))}o&&await S(o,t,r)}}return r.valid},k=(e,t)=>(e&&t&&mQ(s,e,t),!GQ(C(),a)),E=(e,t,r)=>hQ(e,l,{...c.mount?s:qJ(t)?a:dQ(e)?{[e]:t}:t},r,t),P=(e,t,r={})=>{const n=KJ(o,e);let i=t;if(n){const r=n._f;r&&(!r.disabled&&mQ(s,e,r0(t,r)),i=EQ(r.ref)&&NJ(t)?"":t,YQ(r.ref)?[...r.ref.options].forEach((e=>e.selected=i.includes(e.value))):r.refs?MJ(r.ref)?r.refs.length>1?r.refs.forEach((e=>(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(i)?!!i.find((t=>t===e.value)):i===e.value))):r.refs[0]&&(r.refs[0].checked=!!i):r.refs.forEach((e=>e.checked=e.value===i)):SQ(r.ref)?r.ref.value="":(r.ref.value=i,r.ref.type||h.values.next({name:e,values:{...s}})))}(r.shouldDirty||r.shouldTouch)&&w(e,i,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&j(e)},O=(e,t,r)=>{for(const n in t){const i=t[n],a=`${e}.${n}`,s=KJ(o,a);!l.array.has(e)&&WQ(i)&&(!s||s._f)||LJ(i)?P(a,i,r):O(a,i,r)}},A=(e,r,n={})=>{const u=KJ(o,e),f=l.array.has(e),p=HJ(r);mQ(s,e,p),f?(h.array.next({name:e,values:{...s}}),(d.isDirty||d.dirtyFields)&&n.shouldDirty&&h.state.next({name:e,dirtyFields:t0(a,s),isDirty:k(e,p)})):!u||u._f||NJ(p)?P(e,p,n):O(e,p,n),xQ(e,l)&&h.state.next({...i}),h.values.next({name:e,values:{...s}}),!c.mount&&t()},T=async e=>{const t=e.target;let a=t.name,c=!0;const u=KJ(o,a);if(u){let f,b;const k=t.type?n0(u._f):zJ(e),E=e.type===GJ.BLUR||e.type===GJ.FOCUS_OUT,P=!a0(u._f)&&!n.resolver&&!KJ(i.errors,a)&&!u._f.deps||c0(E,KJ(i.touchedFields,a),i.isSubmitted,m,p),O=xQ(a,l,E);mQ(s,a,k),E?(u._f.onBlur&&u._f.onBlur(e),r&&r(0)):u._f.onChange&&u._f.onChange(e);const A=w(a,k,E,!1),T=!sQ(A)||O;if(!E&&h.values.next({name:a,type:e.type,values:{...s}}),P)return d.isValid&&v(),T&&h.state.next({name:a,...O?{}:A});if(!E&&O&&h.state.next({...i}),y(!0),n.resolver){const{errors:e}=await _([a]),t=s0(i.errors,o,a),r=s0(e,o,t.name||a);f=r.error,a=r.name,b=sQ(e)}else f=(await NQ(u,s,g,n.shouldUseNativeValidation))[a],c=Number.isNaN(k)||k===KJ(s,a,k),c&&(f?b=!1:d.isValid&&(b=await S(o,!0)));c&&(u._f.deps&&j(u._f.deps),x(a,b,f,A))}},j=async(e,t={})=>{let r,a;const s=lQ(e);if(y(!0),n.resolver){const t=await(async e=>{const{errors:t}=await _(e);if(e)for(const r of e){const e=KJ(t,r);e?mQ(i.errors,r,e):VQ(i.errors,r)}else i.errors=t;return t})(qJ(e)?e:s);r=sQ(t),a=e?!s.some((e=>KJ(t,e))):r}else e?(a=(await Promise.all(s.map((async e=>{const t=KJ(o,e);return await S(t&&t._f?{[e]:t}:t)})))).every(Boolean),(a||i.isValid)&&v()):a=r=await S(o);return h.state.next({...!dQ(e)||d.isValid&&r!==i.isValid?{}:{name:e},...n.resolver||!e?{isValid:r}:{},errors:i.errors,isValidating:!1}),t.shouldFocus&&!a&&vQ(o,(e=>e&&KJ(i.errors,e)),e?s:l.mount),a},C=e=>{const t={...a,...c.mount?s:{}};return qJ(e)?t:dQ(e)?KJ(t,e):e.map((e=>KJ(t,e)))},R=(e,t)=>({invalid:!!KJ((t||i).errors,e),isDirty:!!KJ((t||i).dirtyFields,e),isTouched:!!KJ((t||i).touchedFields,e),error:KJ((t||i).errors,e)}),I=(e,t,r)=>{const n=(KJ(o,e,{_f:{}})._f||{}).ref;mQ(i.errors,e,{...t,ref:n}),h.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&n&&n.focus&&n.focus()},M=(e,t={})=>{for(const r of e?lQ(e):l.mount)l.mount.delete(r),l.array.delete(r),t.keepValue||(VQ(o,r),VQ(s,r)),!t.keepError&&VQ(i.errors,r),!t.keepDirty&&VQ(i.dirtyFields,r),!t.keepTouched&&VQ(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&VQ(a,r);h.values.next({values:{...s}}),h.state.next({...i,...t.keepDirty?{isDirty:k()}:{}}),!t.keepIsValid&&v()},L=({disabled:e,name:t,field:r,fields:n})=>{if(WJ(e)){const i=e?void 0:KJ(s,t,n0(r?r._f:KJ(n,t)._f));mQ(s,t,i),w(t,i,!1,!1,!0)}},N=(e,t={})=>{let r=KJ(o,e);const i=WJ(t.disabled);return mQ(o,e,{...r||{},_f:{...r&&r._f?r._f:{ref:{name:e}},name:e,mount:!0,...t}}),l.mount.add(e),r?L({field:r,disabled:t.disabled,name:e}):b(e,!0,t.value),{...i?{disabled:t.disabled}:{},...n.progressive?{required:!!t.required,min:o0(t.min),max:o0(t.max),minLength:o0(t.minLength),maxLength:o0(t.maxLength),pattern:o0(t.pattern)}:{},name:e,onChange:T,onBlur:T,ref:i=>{if(i){N(e,t),r=KJ(o,e);const n=qJ(i.value)&&i.querySelectorAll&&i.querySelectorAll("input,select,textarea")[0]||i,s=ZQ(n),c=r._f.refs||[];if(s?c.find((e=>e===n)):n===r._f.ref)return;mQ(o,e,{_f:{...r._f,...s?{refs:[...c.filter(XQ),n,...Array.isArray(KJ(a,e))?[{}]:[]],ref:{type:n.type,name:e}}:{ref:n}}}),b(e,!1,void 0,n)}else r=KJ(o,e,{}),r._f&&(r._f.mount=!1),(n.shouldUnregister||t.shouldUnregister)&&(!UJ(l.array,e)||!c.action)&&l.unMount.add(e)}}},D=()=>n.shouldFocusError&&vQ(o,(e=>e&&KJ(i.errors,e)),l.mount),B=(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let a=HJ(s);if(h.state.next({isSubmitting:!0}),n.resolver){const{errors:e,values:t}=await _();i.errors=e,a=t}else await S(o);VQ(i.errors,"root"),sQ(i.errors)?(h.state.next({errors:{}}),await e(a,r)):(t&&await t({...i.errors},r),D(),setTimeout(D)),h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:sQ(i.errors),submitCount:i.submitCount+1,errors:i.errors})},z=(r,n={})=>{const u=r?HJ(r):a,p=HJ(u),m=r&&!sQ(r)?p:a;if(n.keepDefaultValues||(a=u),!n.keepValues){if(n.keepDirtyValues||f)for(const e of l.mount)KJ(i.dirtyFields,e)?mQ(m,e,KJ(s,e)):A(e,KJ(m,e));else{if($J&&qJ(r))for(const e of l.mount){const t=KJ(o,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(EQ(e)){const t=e.closest("form");if(t){t.reset();break}}}}o={}}s=e.shouldUnregister?n.keepDefaultValues?HJ(a):{}:HJ(m),h.array.next({values:{...m}}),h.values.next({values:{...m}})}l={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!c.mount&&t(),c.mount=!d.isValid||!!n.keepIsValid,c.watch=!!e.shouldUnregister,h.state.next({submitCount:n.keepSubmitCount?i.submitCount:0,isDirty:n.keepDirty?i.isDirty:!(!n.keepDefaultValues||GQ(r,a)),isSubmitted:!!n.keepIsSubmitted&&i.isSubmitted,dirtyFields:n.keepDirtyValues?i.dirtyFields:n.keepDefaultValues&&r?t0(a,r):{},touchedFields:n.keepTouched?i.touchedFields:{},errors:n.keepErrors?i.errors:{},isSubmitSuccessful:!!n.keepIsSubmitSuccessful&&i.isSubmitSuccessful,isSubmitting:!1})},U=(e,t)=>z(kQ(e)?e(s):e,t);return{control:{register:N,unregister:M,getFieldState:R,handleSubmit:B,setError:I,_executeSchema:_,_getWatch:E,_getDirty:k,_updateValid:v,_removeUnmounted:()=>{for(const e of l.unMount){const t=KJ(o,e);t&&(t._f.refs?t._f.refs.every((e=>!XQ(e))):!XQ(t._f.ref))&&M(e)}l.unMount=new Set},_updateFieldArray:(e,t=[],r,n,l=!0,u=!0)=>{if(n&&r){if(c.action=!0,u&&Array.isArray(KJ(o,e))){const t=r(KJ(o,e),n.argA,n.argB);l&&mQ(o,e,t)}if(u&&Array.isArray(KJ(i.errors,e))){const t=r(KJ(i.errors,e),n.argA,n.argB);l&&mQ(i.errors,e,t),l0(i.errors,e)}if(d.touchedFields&&u&&Array.isArray(KJ(i.touchedFields,e))){const t=r(KJ(i.touchedFields,e),n.argA,n.argB);l&&mQ(i.touchedFields,e,t)}d.dirtyFields&&(i.dirtyFields=t0(a,s)),h.state.next({name:e,isDirty:k(e,t),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})}else mQ(s,e,t)},_updateDisabledField:L,_getFieldArray:t=>VJ(KJ(c.mount?s:a,t,e.shouldUnregister?KJ(a,t,[]):[])),_reset:z,_resetDefaultValues:()=>kQ(n.defaultValues)&&n.defaultValues().then((e=>{U(e,n.resetOptions),h.state.next({isLoading:!1})})),_updateFormState:e=>{i={...i,...e}},_subjects:h,_proxyFormState:d,get _fields(){return o},get _formValues(){return s},get _state(){return c},set _state(e){c=e},get _defaultValues(){return a},get _names(){return l},set _names(e){l=e},get _formState(){return i},set _formState(e){i=e},get _options(){return n},set _options(e){n={...n,...e}}},trigger:j,register:N,handleSubmit:B,watch:(e,t)=>kQ(e)?h.values.subscribe({next:r=>e(E(void 0,t),r)}):E(e,t,!0),setValue:A,getValues:C,reset:U,resetField:(e,t={})=>{KJ(o,e)&&(qJ(t.defaultValue)?A(e,KJ(a,e)):(A(e,t.defaultValue),mQ(a,e,t.defaultValue)),t.keepTouched||VQ(i.touchedFields,e),t.keepDirty||(VQ(i.dirtyFields,e),i.isDirty=t.defaultValue?k(e,KJ(a,e)):k()),t.keepError||(VQ(i.errors,e),d.isValid&&v()),h.state.next({...i}))},clearErrors:e=>{e&&lQ(e).forEach((e=>VQ(i.errors,e))),h.state.next({errors:e?i.errors:{}})},unregister:M,setError:I,setFocus:(e,t={})=>{const r=KJ(o,e),n=r&&r._f;if(n){const e=n.refs?n.refs[0]:n.ref;e.focus&&(e.focus(),t.shouldSelect&&e.select())}},getFieldState:R}}function h0(e={}){const r=t.useRef(),n=t.useRef(),[i,o]=t.useState({isDirty:!1,isValidating:!1,isLoading:kQ(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:kQ(e.defaultValues)?void 0:e.defaultValues});r.current||(r.current={...d0(e,(()=>o((e=>({...e}))))),formState:i});const a=r.current.control;return a._options=e,uQ({subject:a._subjects.state,next:e=>{cQ(e,a._proxyFormState,a._updateFormState,!0)&&o({...a._formState})}}),t.useEffect((()=>{e.values&&!GQ(e.values,n.current)?(a._reset(e.values,a._options.resetOptions),n.current=e.values):a._resetDefaultValues()}),[e.values,a]),t.useEffect((()=>{a._state.mount||(a._updateValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()})),r.current.formState=aQ(i,a),r.current}var f0,[p0,m0]=yO({name:`${f0="Card"}StylesContext`,errorMessage:`useStyles: "styles" is undefined. Seems you forgot to wrap the components in "<${f0} />" `}),g0=re((function(e,t){const{className:r,children:n,direction:i="column",justify:o,align:a,...s}=Jt(e),c=ci("Card",e);return(0,Yn.jsx)(Gn.div,{ref:t,className:ne("chakra-card",r),__css:{display:"flex",flexDirection:i,justifyContent:o,alignItems:a,position:"relative",minWidth:0,wordWrap:"break-word",...c.container},...s,children:(0,Yn.jsx)(p0,{value:c,children:n})})})),v0=re((function(e,t){const{className:r,...n}=e,i=m0();return(0,Yn.jsx)(Gn.div,{ref:t,className:ne("chakra-card__body",r),__css:i.body,...n})}));const y0=({value:e,space:t=2})=>(0,Yn.jsx)(g0,{background:E$.gray[700],borderRadius:"5px",children:(0,Yn.jsx)(v0,{children:(0,Yn.jsx)("pre",{style:{whiteSpace:"pre-wrap",fontSize:"12px",lineHeight:"18px"},children:JSON.stringify(e,null,t)})})});var b0=re((function(e,t){var r;const n=si("FormLabel",e),i=Jt(e),{className:o,children:a,requiredIndicator:s=(0,Yn.jsx)(w0,{}),optionalIndicator:c=null,...l}=i,u=PJ(),d=null!=(r=null==u?void 0:u.getLabelProps(l,t))?r:{ref:t,...l};return(0,Yn.jsxs)(Gn.label,{...d,className:ne("chakra-form__label",i.className),__css:{display:"block",textAlign:"start",...n},children:[a,(null==u?void 0:u.isRequired)?s:c]})}));b0.displayName="FormLabel";var w0=re((function(e,t){const r=PJ(),n=kJ();if(!(null==r?void 0:r.isRequired))return null;const i=ne("chakra-form__required-indicator",e.className);return(0,Yn.jsx)(Gn.span,{...null==r?void 0:r.getRequiredIndicatorProps(e,t),__css:n.requiredIndicator,className:i})}));function x0(e){return t.Children.toArray(e).filter((e=>(0,t.isValidElement)(e)))}w0.displayName="RequiredIndicator";var[_0,S0]=ui({name:"InputGroupStylesContext",errorMessage:"useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),k0=re((function(e,r){const n=ci("Input",e),{children:i,className:o,...a}=Jt(e),s=ne("chakra-input__group",o),c={},l=x0(i),u=n.field;l.forEach((e=>{var t,r;n&&(u&&"InputLeftElement"===e.type.id&&(c.paddingStart=null!=(t=u.height)?t:u.h),u&&"InputRightElement"===e.type.id&&(c.paddingEnd=null!=(r=u.height)?r:u.h),"InputRightAddon"===e.type.id&&(c.borderEndRadius=0),"InputLeftAddon"===e.type.id&&(c.borderStartRadius=0))}));const d=l.map((r=>{var n,i;const o=LX({size:(null==(n=r.props)?void 0:n.size)||e.size,variant:(null==(i=r.props)?void 0:i.variant)||e.variant});return"Input"!==r.type.id?(0,t.cloneElement)(r,o):(0,t.cloneElement)(r,Object.assign(o,c,r.props))}));return(0,Yn.jsx)(Gn.div,{className:s,ref:r,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...n.group},"data-group":!0,...a,children:(0,Yn.jsx)(_0,{value:n,children:d})})}));function E0(e){const{isDisabled:t,isInvalid:r,isReadOnly:n,isRequired:i,...o}=P0(e);return{...o,disabled:t,readOnly:n,required:i,"aria-invalid":le(r),"aria-required":le(i),"aria-readonly":le(n)}}function P0(e){var t,r,n;const i=PJ(),{id:o,disabled:a,readOnly:s,required:c,isRequired:l,isInvalid:u,isReadOnly:d,isDisabled:h,onFocus:f,onBlur:p,...m}=e,g=e["aria-describedby"]?[e["aria-describedby"]]:[];return(null==i?void 0:i.hasFeedbackText)&&(null==i?void 0:i.isInvalid)&&g.push(i.feedbackId),(null==i?void 0:i.hasHelpText)&&g.push(i.helpTextId),{...m,"aria-describedby":g.join(" ")||void 0,id:null!=o?o:null==i?void 0:i.id,isDisabled:null!=(t=null!=a?a:h)?t:null==i?void 0:i.isDisabled,isReadOnly:null!=(r=null!=s?s:d)?r:null==i?void 0:i.isReadOnly,isRequired:null!=(n=null!=c?c:l)?n:null==i?void 0:i.isRequired,isInvalid:null!=u?u:null==i?void 0:i.isInvalid,onFocus:ue(null==i?void 0:i.onFocus,f),onBlur:ue(null==i?void 0:i.onBlur,p)}}k0.displayName="InputGroup";var O0=re((function(e,t){const{htmlSize:r,...n}=e,i=ci("Input",n),o=E0(Jt(n)),a=ne("chakra-input",e.className);return(0,Yn.jsx)(Gn.input,{size:r,...o,__css:i.field,ref:t,className:a})}));O0.displayName="Input",O0.id="Input";var A0=Gn("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),T0=re((function(e,t){var r,n;const{placement:i="left",...o}=e,a=S0(),s=a.field,c={["left"===i?"insetStart":"insetEnd"]:"0",width:null!=(r=null==s?void 0:s.height)?r:null==s?void 0:s.h,height:null!=(n=null==s?void 0:s.height)?n:null==s?void 0:s.h,fontSize:null==s?void 0:s.fontSize,...a.element};return(0,Yn.jsx)(A0,{ref:t,__css:c,...o})}));T0.id="InputElement",T0.displayName="InputElement";var j0=re((function(e,t){const{className:r,...n}=e,i=ne("chakra-input__left-element",r);return(0,Yn.jsx)(T0,{ref:t,placement:"left",className:i,...n})}));j0.id="InputLeftElement",j0.displayName="InputLeftElement";var C0=re((function(e,t){const{className:r,...n}=e,i=ne("chakra-input__right-element",r);return(0,Yn.jsx)(T0,{ref:t,placement:"right",className:i,...n})}));C0.id="InputRightElement",C0.displayName="InputRightElement";var[R0,I0]=ui({name:"ListStylesContext",errorMessage:"useListStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),M0=re((function(e,t){const r=ci("List",e),{children:n,styleType:i="none",stylePosition:o,spacing:a,...s}=Jt(e),c=x0(n),l=a?{"& > *:not(style) ~ *:not(style)":{mt:a}}:{};return(0,Yn.jsx)(R0,{value:r,children:(0,Yn.jsx)(Gn.ul,{ref:t,listStyleType:i,listStylePosition:o,role:"list",__css:{...r.container,...l},...s,children:c})})}));M0.displayName="List";var L0=re(((e,t)=>{const{as:r,...n}=e;return(0,Yn.jsx)(M0,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...n})}));L0.displayName="OrderedList";var N0=re((function(e,t){const{as:r,...n}=e;return(0,Yn.jsx)(M0,{ref:t,as:"ul",styleType:"initial",marginStart:"1em",...n})}));N0.displayName="UnorderedList";var D0=re((function(e,t){const r=I0();return(0,Yn.jsx)(Gn.li,{ref:t,...e,__css:r.item})}));D0.displayName="ListItem";var B0=re((function(e,t){const r=I0();return(0,Yn.jsx)(LF,{ref:t,role:"presentation",...e,__css:r.icon})}));B0.displayName="ListIcon";var z0={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}};function U0(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:wX(e)&&function(e){const t=e.ownerDocument.defaultView||window,{overflow:r,overflowX:n,overflowY:i}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(r+i+n)}(e)?e:U0(function(e){return"html"===e.localName?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}(e))}var F0=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),$0={arrowShadowColor:F0("--popper-arrow-shadow-color"),arrowSize:F0("--popper-arrow-size","8px"),arrowSizeHalf:F0("--popper-arrow-size-half"),arrowBg:F0("--popper-arrow-bg"),transformOrigin:F0("--popper-transform-origin"),arrowOffset:F0("--popper-arrow-offset")};var H0={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},V0={scroll:!0,resize:!0};function q0(e){let t;return t="object"===typeof e?{enabled:!0,options:{...V0,...e}}:{enabled:e,options:V0},t}var K0={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},W0={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{G0(e)},effect:({state:e})=>()=>{G0(e)}},G0=e=>{var t;e.elements.popper.style.setProperty($0.transformOrigin.var,(t=e.placement,H0[t]))},Y0={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Z0(e)}},Z0=e=>{var t;if(!e.placement)return;const r=X0(e.placement);if((null==(t=e.elements)?void 0:t.arrow)&&r){Object.assign(e.elements.arrow.style,{[r.property]:r.value,width:$0.arrowSize.varRef,height:$0.arrowSize.varRef,zIndex:-1});const t={[$0.arrowSizeHalf.var]:`calc(${$0.arrowSize.varRef} / 2 - 1px)`,[$0.arrowOffset.var]:`calc(${$0.arrowSizeHalf.varRef} * -1)`};for(const r in t)e.elements.arrow.style.setProperty(r,t[r])}},X0=e=>e.startsWith("top")?{property:"bottom",value:$0.arrowOffset.varRef}:e.startsWith("bottom")?{property:"top",value:$0.arrowOffset.varRef}:e.startsWith("left")?{property:"right",value:$0.arrowOffset.varRef}:e.startsWith("right")?{property:"left",value:$0.arrowOffset.varRef}:void 0,J0={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Q0(e)},effect:({state:e})=>()=>{Q0(e)}},Q0=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const r=(n=e.placement).includes("top")?"1px 1px 0px 0 var(--popper-arrow-shadow-color)":n.includes("bottom")?"-1px -1px 0px 0 var(--popper-arrow-shadow-color)":n.includes("right")?"-1px 1px 0px 0 var(--popper-arrow-shadow-color)":n.includes("left")?"1px -1px 0px 0 var(--popper-arrow-shadow-color)":void 0;var n;r&&t.style.setProperty("--popper-arrow-default-shadow",r),Object.assign(t.style,{transform:"rotate(45deg)",background:$0.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},e1={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},t1={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function r1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n1(e){return e instanceof r1(e).Element||e instanceof Element}function i1(e){return e instanceof r1(e).HTMLElement||e instanceof HTMLElement}function o1(e){return"undefined"!==typeof ShadowRoot&&(e instanceof r1(e).ShadowRoot||e instanceof ShadowRoot)}var a1=Math.max,s1=Math.min,c1=Math.round;function l1(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function u1(){return!/^((?!chrome|android).)*safari/i.test(l1())}function d1(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.getBoundingClientRect(),i=1,o=1;t&&i1(e)&&(i=e.offsetWidth>0&&c1(n.width)/e.offsetWidth||1,o=e.offsetHeight>0&&c1(n.height)/e.offsetHeight||1);var a=(n1(e)?r1(e):window).visualViewport,s=!u1()&&r,c=(n.left+(s&&a?a.offsetLeft:0))/i,l=(n.top+(s&&a?a.offsetTop:0))/o,u=n.width/i,d=n.height/o;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c,x:c,y:l}}function h1(e){var t=r1(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function f1(e){return e?(e.nodeName||"").toLowerCase():null}function p1(e){return((n1(e)?e.ownerDocument:e.document)||window.document).documentElement}function m1(e){return d1(p1(e)).left+h1(e).scrollLeft}function g1(e){return r1(e).getComputedStyle(e)}function v1(e){var t=g1(e),r=t.overflow,n=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+i+n)}function y1(e,t,r){void 0===r&&(r=!1);var n=i1(t),i=i1(t)&&function(e){var t=e.getBoundingClientRect(),r=c1(t.width)/e.offsetWidth||1,n=c1(t.height)/e.offsetHeight||1;return 1!==r||1!==n}(t),o=p1(t),a=d1(e,i,r),s={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!r)&&(("body"!==f1(t)||v1(o))&&(s=function(e){return e!==r1(e)&&i1(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:h1(e);var t}(t)),i1(t)?((c=d1(t,!0)).x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=m1(o))),{x:a.left+s.scrollLeft-c.x,y:a.top+s.scrollTop-c.y,width:a.width,height:a.height}}function b1(e){var t=d1(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}function w1(e){return"html"===f1(e)?e:e.assignedSlot||e.parentNode||(o1(e)?e.host:null)||p1(e)}function x1(e){return["html","body","#document"].indexOf(f1(e))>=0?e.ownerDocument.body:i1(e)&&v1(e)?e:x1(w1(e))}function _1(e,t){var r;void 0===t&&(t=[]);var n=x1(e),i=n===(null==(r=e.ownerDocument)?void 0:r.body),o=r1(n),a=i?[o].concat(o.visualViewport||[],v1(n)?n:[]):n,s=t.concat(a);return i?s:s.concat(_1(w1(a)))}function S1(e){return["table","td","th"].indexOf(f1(e))>=0}function k1(e){return i1(e)&&"fixed"!==g1(e).position?e.offsetParent:null}function E1(e){for(var t=r1(e),r=k1(e);r&&S1(r)&&"static"===g1(r).position;)r=k1(r);return r&&("html"===f1(r)||"body"===f1(r)&&"static"===g1(r).position)?t:r||function(e){var t=/firefox/i.test(l1());if(/Trident/i.test(l1())&&i1(e)&&"fixed"===g1(e).position)return null;var r=w1(e);for(o1(r)&&(r=r.host);i1(r)&&["html","body"].indexOf(f1(r))<0;){var n=g1(r);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||t&&"filter"===n.willChange||t&&n.filter&&"none"!==n.filter)return r;r=r.parentNode}return null}(e)||t}var P1="top",O1="bottom",A1="right",T1="left",j1="auto",C1=[P1,O1,A1,T1],R1="start",I1="end",M1="clippingParents",L1="viewport",N1="popper",D1="reference",B1=C1.reduce((function(e,t){return e.concat([t+"-"+R1,t+"-"+I1])}),[]),z1=[].concat(C1,[j1]).reduce((function(e,t){return e.concat([t,t+"-"+R1,t+"-"+I1])}),[]),U1=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function F1(e){var t=new Map,r=new Set,n=[];function i(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var n=t.get(e);n&&i(n)}})),n.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||i(e)})),n}function $1(e){var t;return function(){return t||(t=new Promise((function(r){Promise.resolve().then((function(){t=void 0,r(e())}))}))),t}}var H1={placement:"bottom",modifiers:[],strategy:"absolute"};function V1(){for(var e=arguments.length,t=new Array(e),r=0;r=0?"x":"y"}function X1(e){var t,r=e.reference,n=e.element,i=e.placement,o=i?G1(i):null,a=i?Y1(i):null,s=r.x+r.width/2-n.width/2,c=r.y+r.height/2-n.height/2;switch(o){case P1:t={x:s,y:r.y-n.height};break;case O1:t={x:s,y:r.y+r.height};break;case A1:t={x:r.x+r.width,y:c};break;case T1:t={x:r.x-n.width,y:c};break;default:t={x:r.x,y:r.y}}var l=o?Z1(o):null;if(null!=l){var u="y"===l?"height":"width";switch(a){case R1:t[l]=t[l]-(r[u]/2-n[u]/2);break;case I1:t[l]=t[l]+(r[u]/2-n[u]/2)}}return t}const J1={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,r=e.name;t.modifiersData[r]=X1({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var Q1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function e2(e){var t,r=e.popper,n=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,s=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,h=a.x,f=void 0===h?0:h,p=a.y,m=void 0===p?0:p,g="function"===typeof u?u({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var v=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),b=T1,w=P1,x=window;if(l){var _=E1(r),S="clientHeight",k="clientWidth";if(_===r1(r)&&"static"!==g1(_=p1(r)).position&&"absolute"===s&&(S="scrollHeight",k="scrollWidth"),i===P1||(i===T1||i===A1)&&o===I1)w=O1,m-=(d&&_===x&&x.visualViewport?x.visualViewport.height:_[S])-n.height,m*=c?1:-1;if(i===T1||(i===P1||i===O1)&&o===I1)b=A1,f-=(d&&_===x&&x.visualViewport?x.visualViewport.width:_[k])-n.width,f*=c?1:-1}var E,P=Object.assign({position:s},l&&Q1),O=!0===u?function(e,t){var r=e.x,n=e.y,i=t.devicePixelRatio||1;return{x:c1(r*i)/i||0,y:c1(n*i)/i||0}}({x:f,y:m},r1(r)):{x:f,y:m};return f=O.x,m=O.y,c?Object.assign({},P,((E={})[w]=y?"0":"",E[b]=v?"0":"",E.transform=(x.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",E)):Object.assign({},P,((t={})[w]=y?m+"px":"",t[b]=v?f+"px":"",t.transform="",t))}const t2={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,r=e.options,n=r.gpuAcceleration,i=void 0===n||n,o=r.adaptive,a=void 0===o||o,s=r.roundOffsets,c=void 0===s||s,l={placement:G1(t.placement),variation:Y1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,e2(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,e2(Object.assign({},l,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};const r2={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},n=t.attributes[e]||{},i=t.elements[e];i1(i)&&f1(i)&&(Object.assign(i.style,r),Object.keys(n).forEach((function(e){var t=n[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var n=t.elements[e],i=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});i1(n)&&f1(n)&&(Object.assign(n.style,o),Object.keys(i).forEach((function(e){n.removeAttribute(e)})))}))}},requires:["computeStyles"]};const n2={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,n=e.name,i=r.offset,o=void 0===i?[0,0]:i,a=z1.reduce((function(e,r){return e[r]=function(e,t,r){var n=G1(e),i=[T1,P1].indexOf(n)>=0?-1:1,o="function"===typeof r?r(Object.assign({},t,{placement:e})):r,a=o[0],s=o[1];return a=a||0,s=(s||0)*i,[T1,A1].indexOf(n)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,o),e}),{}),s=a[t.placement],c=s.x,l=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[n]=a}};var i2={left:"right",right:"left",bottom:"top",top:"bottom"};function o2(e){return e.replace(/left|right|bottom|top/g,(function(e){return i2[e]}))}var a2={start:"end",end:"start"};function s2(e){return e.replace(/start|end/g,(function(e){return a2[e]}))}function c2(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&o1(r)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function l2(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function u2(e,t,r){return t===L1?l2(function(e,t){var r=r1(e),n=p1(e),i=r.visualViewport,o=n.clientWidth,a=n.clientHeight,s=0,c=0;if(i){o=i.width,a=i.height;var l=u1();(l||!l&&"fixed"===t)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:o,height:a,x:s+m1(e),y:c}}(e,r)):n1(t)?function(e,t){var r=d1(e,!1,"fixed"===t);return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}(t,r):l2(function(e){var t,r=p1(e),n=h1(e),i=null==(t=e.ownerDocument)?void 0:t.body,o=a1(r.scrollWidth,r.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=a1(r.scrollHeight,r.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-n.scrollLeft+m1(e),c=-n.scrollTop;return"rtl"===g1(i||r).direction&&(s+=a1(r.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:c}}(p1(e)))}function d2(e,t,r,n){var i="clippingParents"===t?function(e){var t=_1(w1(e)),r=["absolute","fixed"].indexOf(g1(e).position)>=0&&i1(e)?E1(e):e;return n1(r)?t.filter((function(e){return n1(e)&&c2(e,r)&&"body"!==f1(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),a=o[0],s=o.reduce((function(t,r){var i=u2(e,r,n);return t.top=a1(i.top,t.top),t.right=s1(i.right,t.right),t.bottom=s1(i.bottom,t.bottom),t.left=a1(i.left,t.left),t}),u2(e,a,n));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function h2(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function f2(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}function p2(e,t){void 0===t&&(t={});var r=t,n=r.placement,i=void 0===n?e.placement:n,o=r.strategy,a=void 0===o?e.strategy:o,s=r.boundary,c=void 0===s?M1:s,l=r.rootBoundary,u=void 0===l?L1:l,d=r.elementContext,h=void 0===d?N1:d,f=r.altBoundary,p=void 0!==f&&f,m=r.padding,g=void 0===m?0:m,v=h2("number"!==typeof g?g:f2(g,C1)),y=h===N1?D1:N1,b=e.rects.popper,w=e.elements[p?y:h],x=d2(n1(w)?w:w.contextElement||p1(e.elements.popper),c,u,a),_=d1(e.elements.reference),S=X1({reference:_,element:b,strategy:"absolute",placement:i}),k=l2(Object.assign({},b,S)),E=h===N1?k:_,P={top:x.top-E.top+v.top,bottom:E.bottom-x.bottom+v.bottom,left:x.left-E.left+v.left,right:E.right-x.right+v.right},O=e.modifiersData.offset;if(h===N1&&O){var A=O[i];Object.keys(P).forEach((function(e){var t=[A1,O1].indexOf(e)>=0?1:-1,r=[P1,O1].indexOf(e)>=0?"y":"x";P[e]+=A[r]*t}))}return P}const m2={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var i=r.mainAxis,o=void 0===i||i,a=r.altAxis,s=void 0===a||a,c=r.fallbackPlacements,l=r.padding,u=r.boundary,d=r.rootBoundary,h=r.altBoundary,f=r.flipVariations,p=void 0===f||f,m=r.allowedAutoPlacements,g=t.options.placement,v=G1(g),y=c||(v===g||!p?[o2(g)]:function(e){if(G1(e)===j1)return[];var t=o2(e);return[s2(e),t,s2(t)]}(g)),b=[g].concat(y).reduce((function(e,r){return e.concat(G1(r)===j1?function(e,t){void 0===t&&(t={});var r=t,n=r.placement,i=r.boundary,o=r.rootBoundary,a=r.padding,s=r.flipVariations,c=r.allowedAutoPlacements,l=void 0===c?z1:c,u=Y1(n),d=u?s?B1:B1.filter((function(e){return Y1(e)===u})):C1,h=d.filter((function(e){return l.indexOf(e)>=0}));0===h.length&&(h=d);var f=h.reduce((function(t,r){return t[r]=p2(e,{placement:r,boundary:i,rootBoundary:o,padding:a})[G1(r)],t}),{});return Object.keys(f).sort((function(e,t){return f[e]-f[t]}))}(t,{placement:r,boundary:u,rootBoundary:d,padding:l,flipVariations:p,allowedAutoPlacements:m}):r)}),[]),w=t.rects.reference,x=t.rects.popper,_=new Map,S=!0,k=b[0],E=0;E=0,j=T?"width":"height",C=p2(t,{placement:P,boundary:u,rootBoundary:d,altBoundary:h,padding:l}),R=T?A?A1:T1:A?O1:P1;w[j]>x[j]&&(R=o2(R));var I=o2(R),M=[];if(o&&M.push(C[O]<=0),s&&M.push(C[R]<=0,C[I]<=0),M.every((function(e){return e}))){k=P,S=!1;break}_.set(P,M)}if(S)for(var L=function(e){var t=b.find((function(t){var r=_.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},N=p?3:1;N>0;N--){if("break"===L(N))break}t.placement!==k&&(t.modifiersData[n]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function g2(e,t,r){return a1(e,s1(t,r))}const v2={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,n=e.name,i=r.mainAxis,o=void 0===i||i,a=r.altAxis,s=void 0!==a&&a,c=r.boundary,l=r.rootBoundary,u=r.altBoundary,d=r.padding,h=r.tether,f=void 0===h||h,p=r.tetherOffset,m=void 0===p?0:p,g=p2(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),v=G1(t.placement),y=Y1(t.placement),b=!y,w=Z1(v),x="x"===w?"y":"x",_=t.modifiersData.popperOffsets,S=t.rects.reference,k=t.rects.popper,E="function"===typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,P="number"===typeof E?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),O=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,A={x:0,y:0};if(_){if(o){var T,j="y"===w?P1:T1,C="y"===w?O1:A1,R="y"===w?"height":"width",I=_[w],M=I+g[j],L=I-g[C],N=f?-k[R]/2:0,D=y===R1?S[R]:k[R],B=y===R1?-k[R]:-S[R],z=t.elements.arrow,U=f&&z?b1(z):{width:0,height:0},F=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},$=F[j],H=F[C],V=g2(0,S[R],U[R]),q=b?S[R]/2-N-V-$-P.mainAxis:D-V-$-P.mainAxis,K=b?-S[R]/2+N+V+H+P.mainAxis:B+V+H+P.mainAxis,W=t.elements.arrow&&E1(t.elements.arrow),G=W?"y"===w?W.clientTop||0:W.clientLeft||0:0,Y=null!=(T=null==O?void 0:O[w])?T:0,Z=I+K-Y,X=g2(f?s1(M,I+q-Y-G):M,I,f?a1(L,Z):L);_[w]=X,A[w]=X-I}if(s){var J,Q="x"===w?P1:T1,ee="x"===w?O1:A1,te=_[x],re="y"===x?"height":"width",ne=te+g[Q],ie=te-g[ee],oe=-1!==[P1,T1].indexOf(v),ae=null!=(J=null==O?void 0:O[x])?J:0,se=oe?ne:te-S[re]-k[re]-ae+P.altAxis,ce=oe?te+S[re]+k[re]-ae-P.altAxis:ie,le=f&&oe?function(e,t,r){var n=g2(e,t,r);return n>r?r:n}(se,te,ce):g2(f?se:ne,te,f?ce:ie);_[x]=le,A[x]=le-te}t.modifiersData[n]=A}},requiresIfExists:["offset"]};const y2={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,n=e.name,i=e.options,o=r.elements.arrow,a=r.modifiersData.popperOffsets,s=G1(r.placement),c=Z1(s),l=[T1,A1].indexOf(s)>=0?"height":"width";if(o&&a){var u=function(e,t){return h2("number"!==typeof(e="function"===typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:f2(e,C1))}(i.padding,r),d=b1(o),h="y"===c?P1:T1,f="y"===c?O1:A1,p=r.rects.reference[l]+r.rects.reference[c]-a[c]-r.rects.popper[l],m=a[c]-r.rects.reference[c],g=E1(o),v=g?"y"===c?g.clientHeight||0:g.clientWidth||0:0,y=p/2-m/2,b=u[h],w=v-d[l]-u[f],x=v/2-d[l]/2+y,_=g2(b,x,w),S=c;r.modifiersData[n]=((t={})[S]=_,t.centerOffset=_-x,t)}},effect:function(e){var t=e.state,r=e.options.element,n=void 0===r?"[data-popper-arrow]":r;null!=n&&("string"!==typeof n||(n=t.elements.popper.querySelector(n)))&&c2(t.elements.popper,n)&&(t.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function b2(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function w2(e){return[P1,A1,O1,T1].some((function(t){return e[t]>=0}))}const x2={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,r=e.name,n=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=p2(t,{elementContext:"reference"}),s=p2(t,{altBoundary:!0}),c=b2(a,n),l=b2(s,i,o),u=w2(c),d=w2(l);t.modifiersData[r]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}};var _2=q1({defaultModifiers:[W1,J1,t2,r2,n2,m2,v2,y2,x2]});function S2(e={}){const{enabled:r=!0,modifiers:n,placement:i="bottom",strategy:o="absolute",arrowPadding:a=8,eventListeners:s=!0,offset:c,gutter:l=8,flip:u=!0,boundary:d="clippingParents",preventOverflow:h=!0,matchWidth:f,direction:p="ltr"}=e,m=(0,t.useRef)(null),g=(0,t.useRef)(null),v=(0,t.useRef)(null),y=function(e,t="ltr"){var r,n;const i=(null==(r=e1[e])?void 0:r[t])||e;return"ltr"===t?i:null!=(n=t1[e])?n:i}(i,p),b=(0,t.useRef)((()=>{})),w=(0,t.useCallback)((()=>{var e;r&&m.current&&g.current&&(null==(e=b.current)||e.call(b),v.current=_2(m.current,g.current,{placement:y,modifiers:[J0,Y0,W0,{...K0,enabled:!!f},{name:"eventListeners",...q0(s)},{name:"arrow",options:{padding:a}},{name:"offset",options:{offset:null!=c?c:[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!h,options:{boundary:d}},...null!=n?n:[]],strategy:o}),v.current.forceUpdate(),b.current=v.current.destroy)}),[y,r,n,f,s,a,c,l,u,h,d,o]);(0,t.useEffect)((()=>()=>{var e;m.current||g.current||(null==(e=v.current)||e.destroy(),v.current=null)}),[]);const x=(0,t.useCallback)((e=>{m.current=e,w()}),[w]),_=(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(x,t)})),[x]),S=(0,t.useCallback)((e=>{g.current=e,w()}),[w]),k=(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(S,t),style:{...e.style,position:o,minWidth:f?void 0:"max-content",inset:"0 auto auto 0"}})),[o,S,f]),E=(0,t.useCallback)(((e={},t=null)=>{const{size:r,shadowColor:n,bg:i,style:o,...a}=e;return{...a,ref:t,"data-popper-arrow":"",style:k2(e)}}),[]),P=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-popper-arrow-inner":""})),[]);return{update(){var e;null==(e=v.current)||e.update()},forceUpdate(){var e;null==(e=v.current)||e.forceUpdate()},transformOrigin:$0.transformOrigin.varRef,referenceRef:x,popperRef:S,getPopperProps:k,getArrowProps:E,getArrowInnerProps:P,getReferenceProps:_}}function k2(e){const{size:t,shadowColor:r,bg:n,style:i}=e,o={...i,position:"absolute"};return t&&(o["--popper-arrow-size"]=t),r&&(o["--popper-arrow-shadow-color"]=r),n&&(o["--popper-arrow-bg"]=n),o}function E2(e={}){const{onClose:r,onOpen:n,isOpen:i,id:o}=e,a=EM(n),s=EM(r),[c,l]=(0,t.useState)(e.defaultIsOpen||!1),u=void 0!==i?i:c,d=void 0!==i,h=(0,t.useId)(),f=null!=o?o:`disclosure-${h}`,p=(0,t.useCallback)((()=>{d||l(!1),null==s||s()}),[d,s]),m=(0,t.useCallback)((()=>{d||l(!0),null==a||a()}),[d,a]),g=(0,t.useCallback)((()=>{u?p():m()}),[u,m,p]);return{isOpen:u,onOpen:m,onClose:p,onToggle:g,isControlled:d,getButtonProps:function(e={}){return{...e,"aria-expanded":u,"aria-controls":f,onClick(t){var r;null==(r=e.onClick)||r.call(e,t),g()}}},getDisclosureProps:function(e={}){return{...e,hidden:!u,id:f}}}}function P2(e,r,n,i){const o=EM(n);return(0,t.useEffect)((()=>{const t="function"===typeof e?e():null!=e?e:document;if(n&&t)return t.addEventListener(r,o,i),()=>{t.removeEventListener(r,o,i)}}),[r,e,i,o,n]),()=>{const t="function"===typeof e?e():null!=e?e:document;null==t||t.removeEventListener(r,o,i)}}var O2=e=>{var t;return(null==(t=e.current)?void 0:t.ownerDocument)||document},A2=e=>{var t,r;return(null==(r=null==(t=e.current)?void 0:t.ownerDocument)?void 0:r.defaultView)||window};function T2(e={}){const{openDelay:r=0,closeDelay:n=0,closeOnClick:i=!0,closeOnMouseDown:o,closeOnScroll:a,closeOnPointerDown:s=o,closeOnEsc:c=!0,onOpen:l,onClose:u,placement:d,id:h,isOpen:f,defaultIsOpen:p,arrowSize:m=10,arrowShadowColor:g,arrowPadding:v,modifiers:y,isDisabled:b,gutter:w,offset:x,direction:_,...S}=e,{isOpen:k,onOpen:E,onClose:P}=E2({isOpen:f,defaultIsOpen:p,onOpen:l,onClose:u}),{referenceRef:O,getPopperProps:A,getArrowInnerProps:T,getArrowProps:j}=S2({enabled:k,placement:d,arrowPadding:v,modifiers:y,gutter:w,offset:x,direction:_}),C=(0,t.useId)(),R=`tooltip-${null!=h?h:C}`,I=(0,t.useRef)(null),M=(0,t.useRef)(),L=(0,t.useCallback)((()=>{M.current&&(clearTimeout(M.current),M.current=void 0)}),[]),N=(0,t.useRef)(),D=(0,t.useCallback)((()=>{N.current&&(clearTimeout(N.current),N.current=void 0)}),[]),B=(0,t.useCallback)((()=>{D(),P()}),[P,D]),z=function(e,r){return(0,t.useEffect)((()=>{const t=O2(e);return t.addEventListener(j2,r),()=>t.removeEventListener(j2,r)}),[r,e]),()=>{const t=O2(e),r=A2(e);t.dispatchEvent(new r.CustomEvent(j2))}}(I,B),U=(0,t.useCallback)((()=>{if(!b&&!M.current){k&&z();const e=A2(I);M.current=e.setTimeout(E,r)}}),[z,b,k,E,r]),F=(0,t.useCallback)((()=>{L();const e=A2(I);N.current=e.setTimeout(B,n)}),[n,B,L]),$=(0,t.useCallback)((()=>{k&&i&&F()}),[i,F,k]),H=(0,t.useCallback)((()=>{k&&s&&F()}),[s,F,k]),V=(0,t.useCallback)((e=>{k&&"Escape"===e.key&&F()}),[k,F]);P2((()=>O2(I)),"keydown",c?V:void 0),P2((()=>{if(!a)return null;const e=I.current;if(!e)return null;const t=U0(e);return"body"===t.localName?A2(I):t}),"scroll",(()=>{k&&a&&B()}),{passive:!0,capture:!0}),(0,t.useEffect)((()=>{b&&(L(),k&&P())}),[b,k,P,L]),(0,t.useEffect)((()=>()=>{L(),D()}),[L,D]),P2((()=>I.current),"pointerleave",F);const q=(0,t.useCallback)(((e={},t=null)=>{const r={...e,ref:wi(I,t,O),onPointerEnter:ue(e.onPointerEnter,(e=>{"touch"!==e.pointerType&&U()})),onClick:ue(e.onClick,$),onPointerDown:ue(e.onPointerDown,H),onFocus:ue(e.onFocus,U),onBlur:ue(e.onBlur,F),"aria-describedby":k?R:void 0};return r}),[U,F,H,k,R,$,O]),K=(0,t.useCallback)(((e={},t=null)=>A({...e,style:{...e.style,[$0.arrowSize.var]:m?`${m}px`:void 0,[$0.arrowShadowColor.var]:g}},t)),[A,m,g]),W=(0,t.useCallback)(((e={},t=null)=>{const r={...e.style,position:"relative",transformOrigin:$0.transformOrigin.varRef};return{ref:t,...S,...e,id:R,role:"tooltip",style:r}}),[S,R]);return{isOpen:k,show:U,hide:F,getTriggerProps:q,getTooltipProps:W,getTooltipPositionerProps:K,getArrowProps:j,getArrowInnerProps:T}}var j2="chakra-ui:close-tooltip";var C2=Gn(jF.div),R2=re(((e,r)=>{var n,i;const o=si("Tooltip",e),a=Jt(e),s=ri(),{children:c,label:l,shouldWrapChildren:u,"aria-label":d,hasArrow:h,bg:f,portalProps:p,background:m,backgroundColor:g,bgColor:v,motionProps:y,...b}=a,w=null!=(i=null!=(n=null!=m?m:g)?n:f)?i:v;if(w){o.bg=w;const e=function(e,t,r){var n,i,o;return null!=(o=null==(i=null==(n=e.__cssMap)?void 0:n[`${t}.${r}`])?void 0:i.varRef)?o:r}(s,"colors",w);o[$0.arrowBg.var]=e}const x=T2({...b,direction:s.direction});let _;if("string"===typeof c||u)_=(0,Yn.jsx)(Gn.span,{display:"inline-block",tabIndex:0,...x.getTriggerProps(),children:c});else{const e=t.Children.only(c);_=(0,t.cloneElement)(e,x.getTriggerProps(e.props,e.ref))}const S=!!d,k=x.getTooltipProps({},r),E=S?function(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}(k,["role","id"]):k,P=function(e,t){const r={};for(const n of t)n in e&&(r[n]=e[n]);return r}(k,["role","id"]);return l?(0,Yn.jsxs)(Yn.Fragment,{children:[_,(0,Yn.jsx)(i$,{children:x.isOpen&&(0,Yn.jsx)(d$,{...p,children:(0,Yn.jsx)(Gn.div,{...x.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:(0,Yn.jsxs)(C2,{variants:z0,initial:"exit",animate:"enter",exit:"exit",...y,...E,__css:o,children:[l,S&&(0,Yn.jsx)(Gn.span,{srOnly:!0,...P,children:d}),h&&(0,Yn.jsx)(Gn.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:(0,Yn.jsx)(Gn.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):(0,Yn.jsx)(Yn.Fragment,{children:c})}));R2.displayName="Tooltip";const I2=e=>(0,Yn.jsxs)(LF,{width:"24px",height:"24px",fill:"none",textAlign:"center",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,Yn.jsx)("path",{d:"M14 5.6C14 5.03995 14 4.75992 14.109 4.54601C14.2049 4.35785 14.3578 4.20487 14.546 4.10899C14.7599 4 15.0399 4 15.6 4H18.4C18.9601 4 19.2401 4 19.454 4.10899C19.6422 4.20487 19.7951 4.35785 19.891 4.54601C20 4.75992 20 5.03995 20 5.6V8.4C20 8.96005 20 9.24008 19.891 9.45399C19.7951 9.64215 19.6422 9.79513 19.454 9.89101C19.2401 10 18.9601 10 18.4 10H15.6C15.0399 10 14.7599 10 14.546 9.89101C14.3578 9.79513 14.2049 9.64215 14.109 9.45399C14 9.24008 14 8.96005 14 8.4V5.6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M4 5.6C4 5.03995 4 4.75992 4.10899 4.54601C4.20487 4.35785 4.35785 4.20487 4.54601 4.10899C4.75992 4 5.03995 4 5.6 4H8.4C8.96005 4 9.24008 4 9.45399 4.10899C9.64215 4.20487 9.79513 4.35785 9.89101 4.54601C10 4.75992 10 5.03995 10 5.6V8.4C10 8.96005 10 9.24008 9.89101 9.45399C9.79513 9.64215 9.64215 9.79513 9.45399 9.89101C9.24008 10 8.96005 10 8.4 10H5.6C5.03995 10 4.75992 10 4.54601 9.89101C4.35785 9.79513 4.20487 9.64215 4.10899 9.45399C4 9.24008 4 8.96005 4 8.4V5.6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M4 15.6C4 15.0399 4 14.7599 4.10899 14.546C4.20487 14.3578 4.35785 14.2049 4.54601 14.109C4.75992 14 5.03995 14 5.6 14H8.4C8.96005 14 9.24008 14 9.45399 14.109C9.64215 14.2049 9.79513 14.3578 9.89101 14.546C10 14.7599 10 15.0399 10 15.6V18.4C10 18.9601 10 19.2401 9.89101 19.454C9.79513 19.6422 9.64215 19.7951 9.45399 19.891C9.24008 20 8.96005 20 8.4 20H5.6C5.03995 20 4.75992 20 4.54601 19.891C4.35785 19.7951 4.20487 19.6422 4.10899 19.454C4 19.2401 4 18.9601 4 18.4V15.6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M14 15.6C14 15.0399 14 14.7599 14.109 14.546C14.2049 14.3578 14.3578 14.2049 14.546 14.109C14.7599 14 15.0399 14 15.6 14H18.4C18.9601 14 19.2401 14 19.454 14.109C19.6422 14.2049 19.7951 14.3578 19.891 14.546C20 14.7599 20 15.0399 20 15.6V18.4C20 18.9601 20 19.2401 19.891 19.454C19.7951 19.6422 19.6422 19.7951 19.454 19.891C19.2401 20 18.9601 20 18.4 20H15.6C15.0399 20 14.7599 20 14.546 19.891C14.3578 19.7951 14.2049 19.6422 14.109 19.454C14 19.2401 14 18.9601 14 18.4V15.6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})]}),M2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M8.25 13.5H4.65C3.80992 13.5 3.38988 13.5 3.06901 13.3365C2.78677 13.1927 2.5573 12.9632 2.41349 12.681C2.25 12.3601 2.25 11.9401 2.25 11.1V5.4C2.25 4.55992 2.25 4.13988 2.41349 3.81901C2.5573 3.53677 2.78677 3.3073 3.06901 3.16349C3.38988 3 3.80992 3 4.65 3H13.35C14.1901 3 14.6101 3 14.931 3.16349C15.2132 3.3073 15.4427 3.53677 15.5865 3.81901C15.75 4.13988 15.75 4.55992 15.75 5.4V8.25M2.25 6H15.75M13.5 15V10.5M15.75 12.7506L11.25 12.75",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),L2=e=>(0,Yn.jsx)(LF,{fill:"none",viewBox:"0 0 13 17",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M13 12.5L10.75 12.5M10.75 12.5L8.5 12.5M10.75 12.5V10.25M10.75 12.5V14.75M6.25 14.75H1C1 11.8505 3.35051 9.5 6.25 9.5C6.77123 9.5 7.27472 9.57596 7.75 9.71741M9.25 4.25C9.25 5.90685 7.90685 7.25 6.25 7.25C4.59315 7.25 3.25 5.90685 3.25 4.25C3.25 2.59315 4.59315 1.25 6.25 1.25C7.90685 1.25 9.25 2.59315 9.25 4.25Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),N2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M13.5 15.5C13.2164 14.3589 11.981 13.5 10.5 13.5C9.019 13.5 7.78364 14.3589 7.5 15.5M21 5V7M21 11V13M21 17V19M6.2 21H14.8C15.9201 21 16.4802 21 16.908 20.782C17.2843 20.5903 17.5903 20.2843 17.782 19.908C18 19.4802 18 18.9201 18 17.8V6.2C18 5.0799 18 4.51984 17.782 4.09202C17.5903 3.71569 17.2843 3.40973 16.908 3.21799C16.4802 3 15.9201 3 14.8 3H6.2C5.0799 3 4.51984 3 4.09202 3.21799C3.71569 3.40973 3.40973 3.71569 3.21799 4.09202C3 4.51984 3 5.07989 3 6.2V17.8C3 18.9201 3 19.4802 3.21799 19.908C3.40973 20.2843 3.71569 20.5903 4.09202 20.782C4.51984 21 5.07989 21 6.2 21ZM11.5 9.5C11.5 10.0523 11.0523 10.5 10.5 10.5C9.94772 10.5 9.5 10.0523 9.5 9.5C9.5 8.94772 9.94772 8.5 10.5 8.5C11.0523 8.5 11.5 8.94772 11.5 9.5Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),D2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],"data-testid":"baker-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3.74946 5.25V8.25M7.49946 1.5V4.5M13.4995 12V15M2.24946 6.75H5.24946M5.99946 3H8.99946M11.9995 13.5H14.9995M10.4995 5.25L12.6208 7.37132M14.6369 2.80959L15.0612 3.23385C15.3582 3.53086 15.5067 3.67937 15.5624 3.85062C15.6113 4.00125 15.6113 4.16351 15.5624 4.31414C15.5067 4.48539 15.3582 4.6339 15.0612 4.93091L4.89356 15.0985C4.59655 15.3955 4.44804 15.5441 4.2768 15.5997C4.12617 15.6486 3.9639 15.6486 3.81327 15.5997C3.64203 15.5441 3.49352 15.3955 3.19651 15.0985L2.77224 14.6743C2.47523 14.3773 2.32672 14.2288 2.27108 14.0575C2.22214 13.9069 2.22214 13.7446 2.27108 13.594C2.32672 13.4227 2.47523 13.2742 2.77224 12.9772L12.9399 2.80959C13.2369 2.51258 13.3854 2.36407 13.5566 2.30843C13.7073 2.25948 13.8695 2.25948 14.0202 2.30843C14.1914 2.36407 14.3399 2.51258 14.6369 2.80959Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),B2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",strokeWidth:"1.2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M10 4V20M14 4V20M4 8C4 8.92997 4 9.39496 4.10222 9.77646C4.37962 10.8117 5.18827 11.6204 6.22354 11.8978C6.60504 12 7.07003 12 8 12H16C16.93 12 17.395 12 17.7765 11.8978C18.8117 11.6204 19.6204 10.8117 19.8978 9.77646C20 9.39496 20 8.92997 20 8M4 8C4 7.07003 4 6.60504 4.10222 6.22354C4.37962 5.18827 5.18827 4.37962 6.22354 4.10222C6.60504 4 7.07003 4 8 4H16C16.93 4 17.395 4 17.7765 4.10222C18.8117 4.37962 19.6204 5.18827 19.8978 6.22354C20 6.60504 20 7.07003 20 8M4 8V16C4 16.93 4 17.395 4.10222 17.7765C4.37962 18.8117 5.18827 19.6204 6.22354 19.8978C6.60504 20 7.07003 20 8 20H16C16.93 20 17.395 20 17.7765 19.8978C18.8117 19.6204 19.6204 18.8117 19.8978 17.7765C20 17.395 20 16.93 20 16V8M10 16H8C7.07003 16 6.60504 16 6.22354 15.8978C5.18827 15.6204 4.37962 14.8117 4.10222 13.7765C4 13.395 4 12.93 4 12M14 16H16C16.93 16 17.395 16 17.7765 15.8978C18.8117 15.6204 19.6204 14.8117 19.8978 13.7765C20 13.395 20 12.93 20 12M7 8H7.01M17 8H17.01",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round"})}),z2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M6 9.25L7.84615 11.25L12 6.75M15.75 9C15.75 12.7279 12.7279 15.75 9 15.75C5.27208 15.75 2.25 12.7279 2.25 9C2.25 5.27208 5.27208 2.25 9 2.25C12.7279 2.25 15.75 5.27208 15.75 9Z",stroke:"#00C39A",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),U2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M4.5 6.75L9 11.25L13.5 6.75",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),F2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M7 14L11.5 9.5L7 5",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),$2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M12 10V14M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12ZM17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),H2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none","data-testid":"contact-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3.75 15.75C3.75 12.8505 6.10051 10.5 9 10.5C11.8995 10.5 14.25 12.8505 14.25 15.75M12 5.25C12 6.90685 10.6569 8.25 9 8.25C7.34315 8.25 6 6.90685 6 5.25C6 3.59315 7.34315 2.25 9 2.25C10.6569 2.25 12 3.59315 12 5.25Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),V2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M7.5 12.75L6 11.25L7.5 9.75M10.5 9.75L12 11.25L10.5 12.75M9.75 2.25H6.15C5.30992 2.25 4.88988 2.25 4.56901 2.41349C4.28677 2.5573 4.0573 2.78677 3.91349 3.06901C3.75 3.38988 3.75 3.80992 3.75 4.65V13.35C3.75 14.1901 3.75 14.6101 3.91349 14.931C4.0573 15.2132 4.28677 15.4427 4.56901 15.5865C4.88988 15.75 5.30992 15.75 6.15 15.75H11.85C12.6901 15.75 13.1101 15.75 13.431 15.5865C13.7132 15.4427 13.9427 15.2132 14.0865 14.931C14.25 14.6101 14.25 14.1901 14.25 13.35V6.75M9.75 2.25L14.25 6.75M9.75 2.25V6C9.75 6.41421 10.0858 6.75 10.5 6.75H14.25",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),q2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M13.773 13.773C14.9945 12.5515 15.75 10.864 15.75 9C15.75 5.27208 12.7279 2.25 9 2.25C7.13604 2.25 5.44854 3.00552 4.22703 4.22703M13.773 13.773C12.5515 14.9945 10.864 15.75 9 15.75C5.27208 15.75 2.25 12.7279 2.25 9C2.25 7.13604 3.00552 5.44854 4.22703 4.22703M13.773 13.773L4.22703 4.22703",stroke:"#FB4F57",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),K2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3.125 9H20.875M12 3L8 9L12 20.6667L16 9L12 3ZM12.64 20.1467L20.64 9.48C20.7691 9.30787 20.8336 9.22181 20.8585 9.12728C20.8805 9.04385 20.8805 8.95615 20.8585 8.87272C20.8336 8.77819 20.7691 8.69213 20.64 8.52L16.74 3.32C16.652 3.20267 16.608 3.144 16.5522 3.10169C16.5028 3.06421 16.4469 3.03625 16.3873 3.01922C16.32 3 16.2467 3 16.1 3H7.9C7.75333 3 7.68 3 7.61269 3.01922C7.55308 3.03625 7.49715 3.06421 7.44776 3.10169C7.392 3.144 7.348 3.20267 7.26 3.32L3.36 8.52C3.2309 8.69213 3.16635 8.77819 3.14147 8.87271C3.11951 8.95615 3.11951 9.04385 3.14147 9.12728C3.16635 9.2218 3.2309 9.30787 3.36 9.48L11.36 20.1467C11.5771 20.4362 11.6857 20.5809 11.8188 20.6327C11.9353 20.678 12.0647 20.678 12.1812 20.6327C12.3143 20.5809 12.4229 20.4362 12.64 20.1467Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),W2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M9 17H13M9 13H13M9 9H10M17 18V21M17 15H17.01M13 3H8.2C7.0799 3 6.51984 3 6.09202 3.21799C5.71569 3.40973 5.40973 3.71569 5.21799 4.09202C5 4.51984 5 5.0799 5 6.2V17.8C5 18.9201 5 19.4802 5.21799 19.908C5.40973 20.2843 5.71569 20.5903 6.09202 20.782C6.51984 21 7.0799 21 8.2 21H13M13 3L19 9M13 3V7.4C13 7.96005 13 8.24008 13.109 8.45399C13.2049 8.64215 13.3578 8.79513 13.546 8.89101C13.7599 9 14.0399 9 14.6 9H19M19 9V11.5",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),G2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M4 14L9 19L20 8M6 8.88889L9.07692 12L16 5",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),Y2=e=>(0,Yn.jsx)(LF,{width:"16px",height:"16px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M5 7.25L8 10.25M8 10.25L11 7.25M8 10.25V1.25M14.75 7.25V12.3494C14.75 13.1895 14.75 13.6095 14.5865 13.9304C14.4427 14.2126 14.2132 14.4421 13.931 14.5859C13.6101 14.7494 13.1901 14.7494 12.35 14.7494H3.65C2.80992 14.7494 2.38988 14.7494 2.06901 14.5859C1.78677 14.4421 1.5573 14.2126 1.41349 13.9304C1.25 13.6095 1.25 13.1895 1.25 12.3494V7.25",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),Z2=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M8.5 21H4C4 17.134 7.13401 14 11 14C11.1681 14 11.3348 14.0059 11.5 14.0176M15 7C15 9.20914 13.2091 11 11 11C8.79086 11 7 9.20914 7 7C7 4.79086 8.79086 3 11 3C13.2091 3 15 4.79086 15 7ZM12.5898 21L14.6148 20.595C14.7914 20.5597 14.8797 20.542 14.962 20.5097C15.0351 20.4811 15.1045 20.4439 15.1689 20.399C15.2414 20.3484 15.3051 20.2848 15.4324 20.1574L19.5898 16C20.1421 15.4477 20.1421 14.5523 19.5898 14C19.0376 13.4477 18.1421 13.4477 17.5898 14L13.4324 18.1574C13.3051 18.2848 13.2414 18.3484 13.1908 18.421C13.1459 18.4853 13.1088 18.5548 13.0801 18.6279C13.0478 18.7102 13.0302 18.7985 12.9948 18.975L12.5898 21Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),X2=e=>(0,Yn.jsx)(LF,{width:"12px",height:"12px",fill:"none",stroke:E$.orange,viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M6 3.66667V6.58333M6 8.33333H6.00583M11.25 6C11.25 8.89949 8.89949 11.25 6 11.25C3.1005 11.25 0.75 8.89949 0.75 6C0.75 3.1005 3.1005 0.75 6 0.75C8.89949 0.75 11.25 3.1005 11.25 6Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),J2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M15 3V15M3 9H12M12 9L9 6M12 9L9 12",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),Q2=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M15 3L9 9M15 3V6.375M15 3H11.625M14.25 9.375V12.6C14.25 13.4401 14.25 13.8601 14.0865 14.181C13.9427 14.4632 13.7132 14.6927 13.431 14.8365C13.1101 15 12.6901 15 11.85 15H5.4C4.55992 15 4.13988 15 3.81901 14.8365C3.53677 14.6927 3.3073 14.4632 3.16349 14.181C3 13.8601 3 13.4401 3 12.6V6.15C3 5.30992 3 4.88988 3.16349 4.56901C3.3073 4.28677 3.53677 4.0573 3.81901 3.91349C4.13988 3.75 4.55992 3.75 5.4 3.75H8.625",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),e5=e=>(0,Yn.jsxs)(LF,{width:"16px",height:"12px",fill:"none",viewBox:"0 0 16 12",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,Yn.jsx)("path",{d:"M10.2501 6C10.2501 7.24264 9.2427 8.25 8.00006 8.25C6.75742 8.25 5.75006 7.24264 5.75006 6C5.75006 4.75736 6.75742 3.75 8.00006 3.75C9.2427 3.75 10.2501 4.75736 10.2501 6Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M8.00039 0.75C4.64217 0.75 1.79946 2.95716 0.84375 5.99997C1.79944 9.04282 4.64217 11.25 8.00041 11.25C11.3586 11.25 14.2013 9.04284 15.157 6.00003C14.2014 2.95719 11.3586 0.75 8.00039 0.75Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})]}),t5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M2.25024 2.25L15.7502 15.75M7.38345 7.43523C6.99147 7.84016 6.75024 8.39191 6.75024 9C6.75024 10.2426 7.7576 11.25 9.00024 11.25C9.6171 11.25 10.176 11.0018 10.5824 10.5997M4.87524 4.98536C3.45076 5.92525 2.36577 7.33796 1.84375 8.99997C2.79944 12.0428 5.64217 14.25 9.00041 14.25C10.4921 14.25 11.882 13.8145 13.0501 13.0638M8.25024 3.78705C8.49697 3.76254 8.74722 3.75 9.00039 3.75C12.3586 3.75 15.2014 5.95719 16.157 9.00003C15.9465 9.67048 15.6443 10.3004 15.2651 10.875",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),r5=e=>(0,Yn.jsx)(LF,{width:"30px",height:"15px",fill:E$.gray[450],viewBox:"1 1 30 15",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M1.2429 13V4.27273H7.02131V5.79403H3.08807V7.87358H6.63778V9.39489H3.08807V13H1.2429ZM8.67685 13H6.69957L9.71236 4.27273H12.0902L15.0987 13H13.1214L10.9354 6.26705H10.8672L8.67685 13ZM8.55327 9.5696H13.2237V11.0099H8.55327V9.5696ZM19.4847 4.27273V13H17.6396V6.02415H17.5884L15.5898 7.27699V5.64062L17.7504 4.27273H19.4847ZM22.1683 13.1108C21.8871 13.1108 21.6456 13.0114 21.4439 12.8125C21.245 12.6108 21.1456 12.3693 21.1456 12.0881C21.1456 11.8097 21.245 11.571 21.4439 11.3722C21.6456 11.1733 21.8871 11.0739 22.1683 11.0739C22.4411 11.0739 22.6797 11.1733 22.8842 11.3722C23.0888 11.571 23.1911 11.8097 23.1911 12.0881C23.1911 12.2756 23.1428 12.4474 23.0462 12.6037C22.9524 12.7571 22.8288 12.8807 22.6754 12.9744C22.522 13.0653 22.353 13.1108 22.1683 13.1108ZM24.6644 13V11.6705L27.771 8.79403C28.0352 8.53835 28.2567 8.30824 28.4357 8.10369C28.6175 7.89915 28.7553 7.69886 28.8491 7.50284C28.9428 7.30398 28.9897 7.08949 28.9897 6.85938C28.9897 6.60369 28.9315 6.38352 28.815 6.19886C28.6985 6.01136 28.5394 5.8679 28.3377 5.76847C28.136 5.66619 27.9073 5.61506 27.6516 5.61506C27.3846 5.61506 27.1516 5.66903 26.9528 5.77699C26.7539 5.88494 26.6005 6.03977 26.4925 6.24148C26.3846 6.44318 26.3306 6.68324 26.3306 6.96165H24.5792C24.5792 6.39062 24.7085 5.89489 24.967 5.47443C25.2255 5.05398 25.5877 4.72869 26.0536 4.49858C26.5195 4.26847 27.0565 4.15341 27.6644 4.15341C28.2894 4.15341 28.8335 4.2642 29.2965 4.4858C29.7624 4.70455 30.1246 5.00852 30.3832 5.39773C30.6417 5.78693 30.771 6.23295 30.771 6.7358C30.771 7.06534 30.7056 7.39062 30.5749 7.71165C30.4471 8.03267 30.2184 8.3892 29.8888 8.78125C29.5593 9.17045 29.0948 9.63778 28.4954 10.1832L27.2212 11.4318V11.4915H30.886V13H24.6644Z"})}),n5=e=>(0,Yn.jsx)(LF,{width:"23px",height:"18px",fill:E$.gray[450],viewBox:"0 0 23 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M1.0261 13V4.27273H6.80451V5.79403H2.87127V7.87358H6.42099V9.39489H2.87127V13H1.0261ZM8.46005 13H6.48278L9.49556 4.27273H11.8734L14.8819 13H12.9047L10.7186 6.26705H10.6504L8.46005 13ZM8.33647 9.5696H13.0069V11.0099H8.33647V9.5696ZM15.8812 13V11.6705L18.9877 8.79403C19.252 8.53835 19.4735 8.30824 19.6525 8.10369C19.8343 7.89915 19.9721 7.69886 20.0659 7.50284C20.1596 7.30398 20.2065 7.08949 20.2065 6.85938C20.2065 6.60369 20.1483 6.38352 20.0318 6.19886C19.9153 6.01136 19.7562 5.8679 19.5545 5.76847C19.3528 5.66619 19.1241 5.61506 18.8684 5.61506C18.6014 5.61506 18.3684 5.66903 18.1696 5.77699C17.9707 5.88494 17.8173 6.03977 17.7093 6.24148C17.6014 6.44318 17.5474 6.68324 17.5474 6.96165H15.796C15.796 6.39062 15.9252 5.89489 16.1838 5.47443C16.4423 5.05398 16.8045 4.72869 17.2704 4.49858C17.7363 4.26847 18.2733 4.15341 18.8812 4.15341C19.5062 4.15341 20.0502 4.2642 20.5133 4.4858C20.9792 4.70455 21.3414 5.00852 21.6 5.39773C21.8585 5.78693 21.9877 6.23295 21.9877 6.7358C21.9877 7.06534 21.9224 7.39062 21.7917 7.71165C21.6639 8.03267 21.4352 8.3892 21.1056 8.78125C20.7761 9.17045 20.3116 9.63778 19.7122 10.1832L18.438 11.4318V11.4915H22.1028V13H15.8812Z"})}),i5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M8 10.5H16M8 14.5H11M21.0039 12C21.0039 16.9706 16.9745 21 12.0039 21C9.9675 21 3.00463 21 3.00463 21C3.00463 21 4.56382 17.2561 3.93982 16.0008C3.34076 14.7956 3.00391 13.4372 3.00391 12C3.00391 7.02944 7.03334 3 12.0039 3C16.9745 3 21.0039 7.02944 21.0039 12Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),o5=e=>(0,Yn.jsx)(LF,{width:"19px",height:"19px",fill:"none",stroke:E$.gray[400],viewBox:"0 0 19 19",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M15.7842 10.2916C15.8165 10.0323 15.8332 9.76807 15.8332 9.49996C15.8332 6.00216 12.9976 3.16663 9.49984 3.16663C7.52021 3.16663 5.75273 4.07488 4.59135 5.49742M3.2155 8.70829C3.18316 8.96764 3.1665 9.23185 3.1665 9.49996C3.1665 12.9978 6.00203 15.8333 9.49984 15.8333C11.3914 15.8333 13.0893 15.004 14.2498 13.6892M11.8748 13.4583H14.2498V13.6892M4.59135 3.16663V5.49742M4.59135 5.49742V5.54157L6.96635 5.54163M14.2498 15.8333V13.6892",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),a5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M9 8.25V12.75M9 12.75L7.5 11.25M9 12.75L10.5 11.25M9.75 2.25H6.15C5.30992 2.25 4.88988 2.25 4.56901 2.41349C4.28677 2.5573 4.0573 2.78677 3.91349 3.06901C3.75 3.38988 3.75 3.80992 3.75 4.65V13.35C3.75 14.1901 3.75 14.6101 3.91349 14.931C4.0573 15.2132 4.28677 15.4427 4.56901 15.5865C4.88988 15.75 5.30992 15.75 6.15 15.75H11.85C12.6901 15.75 13.1101 15.75 13.431 15.5865C13.7132 15.4427 13.9427 15.2132 14.0865 14.931C14.25 14.6101 14.25 14.1901 14.25 13.35V6.75M9.75 2.25L14.25 6.75M9.75 2.25V5.55C9.75 5.97004 9.75 6.18006 9.83175 6.34049C9.90365 6.48161 10.0184 6.59635 10.1595 6.66825C10.3199 6.75 10.53 6.75 10.95 6.75H14.25",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),s5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M11.25 2.25V4.8C11.25 5.22004 11.25 5.43006 11.3317 5.59049C11.4037 5.73161 11.5184 5.84635 11.6595 5.91825C11.8199 6 12.03 6 12.45 6H15M7.5 6H4.5C3.67157 6 3 6.67157 3 7.5V14.25C3 15.0784 3.67157 15.75 4.5 15.75H9C9.82843 15.75 10.5 15.0784 10.5 14.25V12M12 2.25H9.9C9.05992 2.25 8.63988 2.25 8.31901 2.41349C8.03677 2.5573 7.8073 2.78677 7.66349 3.06901C7.5 3.38988 7.5 3.80992 7.5 4.65V9.6C7.5 10.4401 7.5 10.8601 7.66349 11.181C7.8073 11.4632 8.03677 11.6927 8.31901 11.8365C8.63988 12 9.05992 12 9.9 12H12.6C13.4401 12 13.8601 12 14.181 11.8365C14.4632 11.6927 14.6927 11.4632 14.8365 11.181C15 10.8601 15 10.4401 15 9.6V5.25L12 2.25Z",strokeLinejoin:"round",strokeWidth:"1.2"})}),c5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:"black",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M2.95314 5.997C4.05824 3.77605 6.35091 2.25 9 2.25C12.4718 2.25 15.3314 4.87105 15.708 8.24231M2.2912 9.74998C2.66427 13.125 5.52558 15.75 9 15.75C11.6496 15.75 13.9427 14.2234 15.0475 12.0017M2.25 3V6.375H5.625M15.75 15.375V12H12.375M8.625 6.75L7.5 9H10.5L9.375 11.25",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),l5=e=>(0,Yn.jsxs)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,Yn.jsx)("path",{d:"M15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"}),(0,Yn.jsx)("path",{d:"M12.9046 3.06005C12.6988 3 12.4659 3 12 3C11.5341 3 11.3012 3 11.0954 3.06005C10.7942 3.14794 10.5281 3.32808 10.3346 3.57511C10.2024 3.74388 10.1159 3.96016 9.94291 4.39272C9.69419 5.01452 9.00393 5.33471 8.36857 5.123L7.79779 4.93281C7.3929 4.79785 7.19045 4.73036 6.99196 4.7188C6.70039 4.70181 6.4102 4.77032 6.15701 4.9159C5.98465 5.01501 5.83376 5.16591 5.53197 5.4677C5.21122 5.78845 5.05084 5.94882 4.94896 6.13189C4.79927 6.40084 4.73595 6.70934 4.76759 7.01551C4.78912 7.2239 4.87335 7.43449 5.04182 7.85566C5.30565 8.51523 5.05184 9.26878 4.44272 9.63433L4.16521 9.80087C3.74031 10.0558 3.52786 10.1833 3.37354 10.3588C3.23698 10.5141 3.13401 10.696 3.07109 10.893C3 11.1156 3 11.3658 3 11.8663C3 12.4589 3 12.7551 3.09462 13.0088C3.17823 13.2329 3.31422 13.4337 3.49124 13.5946C3.69158 13.7766 3.96395 13.8856 4.50866 14.1035C5.06534 14.3261 5.35196 14.9441 5.16236 15.5129L4.94721 16.1584C4.79819 16.6054 4.72367 16.829 4.7169 17.0486C4.70875 17.3127 4.77049 17.5742 4.89587 17.8067C5.00015 18.0002 5.16678 18.1668 5.5 18.5C5.83323 18.8332 5.99985 18.9998 6.19325 19.1041C6.4258 19.2295 6.68733 19.2913 6.9514 19.2831C7.17102 19.2763 7.39456 19.2018 7.84164 19.0528L8.36862 18.8771C9.00393 18.6654 9.6942 18.9855 9.94291 19.6073C10.1159 20.0398 10.2024 20.2561 10.3346 20.4249C10.5281 20.6719 10.7942 20.8521 11.0954 20.94C11.3012 21 11.5341 21 12 21C12.4659 21 12.6988 21 12.9046 20.94C13.2058 20.8521 13.4719 20.6719 13.6654 20.4249C13.7976 20.2561 13.8841 20.0398 14.0571 19.6073C14.3058 18.9855 14.9961 18.6654 15.6313 18.8773L16.1579 19.0529C16.605 19.2019 16.8286 19.2764 17.0482 19.2832C17.3123 19.2913 17.5738 19.2296 17.8063 19.1042C17.9997 18.9999 18.1664 18.8333 18.4996 18.5001C18.8328 18.1669 18.9994 18.0002 19.1037 17.8068C19.2291 17.5743 19.2908 17.3127 19.2827 17.0487C19.2759 16.8291 19.2014 16.6055 19.0524 16.1584L18.8374 15.5134C18.6477 14.9444 18.9344 14.3262 19.4913 14.1035C20.036 13.8856 20.3084 13.7766 20.5088 13.5946C20.6858 13.4337 20.8218 13.2329 20.9054 13.0088C21 12.7551 21 12.4589 21 11.8663C21 11.3658 21 11.1156 20.9289 10.893C20.866 10.696 20.763 10.5141 20.6265 10.3588C20.4721 10.1833 20.2597 10.0558 19.8348 9.80087L19.5569 9.63416C18.9478 9.26867 18.6939 8.51514 18.9578 7.85558C19.1262 7.43443 19.2105 7.22383 19.232 7.01543C19.2636 6.70926 19.2003 6.40077 19.0506 6.13181C18.9487 5.94875 18.7884 5.78837 18.4676 5.46762C18.1658 5.16584 18.0149 5.01494 17.8426 4.91583C17.5894 4.77024 17.2992 4.70174 17.0076 4.71872C16.8091 4.73029 16.6067 4.79777 16.2018 4.93273L15.6314 5.12287C14.9961 5.33464 14.3058 5.0145 14.0571 4.39272C13.8841 3.96016 13.7976 3.74388 13.6654 3.57511C13.4719 3.32808 13.2058 3.14794 12.9046 3.06005Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})]}),u5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M18.3795 5.65166L14.1055 9.86303M9.89445 14.137L5.63994 18.3679M5.63408 5.63799L9.89445 9.86303M14.1056 14.137L18.364 18.364M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12ZM15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12Z",stroke:E$.gray[450],strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),d5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M15 2.25H3M15 15.75H3M3.75 2.25C3.75 4.13267 4.65921 5.89944 6.1912 6.99371L11.8088 11.0063C13.3408 12.1006 14.25 13.8673 14.25 15.75M14.25 2.25C14.25 4.13267 13.3408 5.89944 11.8088 6.99371L6.1912 11.0063C4.65921 12.1006 3.75 13.8673 3.75 15.75",stroke:"#FB4F57",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),h5=e=>(0,Yn.jsx)(P5,{css:{rotate:"180deg"},...e}),f5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none","data-testid":"key-icon",strokeWidth:"1.2",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M9.24092 8.01389L3 14.25L4.5 15.75M5.25 12L6.75 13.5M15 5.625C15 7.48896 13.489 9 11.625 9C9.76104 9 8.25 7.48896 8.25 5.625C8.25 3.76104 9.76104 2.25 11.625 2.25C13.489 2.25 15 3.76104 15 5.625Z",strokeLinecap:"round",strokeLinejoin:"round"})});var p5={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},m5=t.createContext&&t.createContext(p5),g5=function(){return g5=Object.assign||function(e){for(var t,r=1,n=arguments.length;r(0,Yn.jsx)(LF,{as:x5,width:"18px",height:"18px","data-testid":"ledger-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e}),S5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M9.16586 17.6508C8.9261 17.8747 8.74055 18.0245 8.55093 18.134C7.62273 18.6699 6.47914 18.6699 5.55093 18.134C5.20889 17.9365 4.88009 17.6077 4.22251 16.9501C3.56492 16.2925 3.23612 15.9637 3.03864 15.6217C2.50274 14.6935 2.50274 13.5499 3.03864 12.6217C3.23612 12.2797 3.56492 11.9509 4.2225 11.2933L7.05093 8.46484C7.70852 7.80725 8.03732 7.47846 8.37936 7.28098C9.30756 6.74508 10.4512 6.74508 11.3794 7.28098C11.7214 7.47846 12.0502 7.80725 12.7078 8.46484C13.3654 9.12243 13.6942 9.45123 13.8916 9.79327C14.4275 10.7215 14.4275 11.8651 13.8916 12.7933C13.7822 12.9829 13.6323 13.1684 13.4085 13.4082M10.5929 10.5926C10.369 10.8323 10.2192 11.0179 10.1097 11.2075C9.57381 12.1357 9.57381 13.2793 10.1097 14.2075C10.3072 14.5495 10.636 14.8783 11.2936 15.5359C11.9512 16.1935 12.28 16.5223 12.622 16.7198C13.5502 17.2557 14.6938 17.2557 15.622 16.7198C15.964 16.5223 16.2928 16.1935 16.9504 15.5359L19.7789 12.7075C20.4364 12.0499 20.7652 11.7211 20.9627 11.3791C21.4986 10.4509 21.4986 9.30726 20.9627 8.37906C20.7652 8.03701 20.4364 7.70822 19.7789 7.05063C19.1213 6.39304 18.7925 6.06425 18.4504 5.86677C17.5222 5.33087 16.3786 5.33087 15.4504 5.86677C15.2608 5.97625 15.0753 6.12608 14.8355 6.34992",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),k5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M12 14.5V16.5M7 10.0288C7.47142 10 8.05259 10 8.8 10H15.2C15.9474 10 16.5286 10 17 10.0288M7 10.0288C6.41168 10.0647 5.99429 10.1455 5.63803 10.327C5.07354 10.6146 4.6146 11.0735 4.32698 11.638C4 12.2798 4 13.1198 4 14.8V16.2C4 17.8802 4 18.7202 4.32698 19.362C4.6146 19.9265 5.07354 20.3854 5.63803 20.673C6.27976 21 7.11984 21 8.8 21H15.2C16.8802 21 17.7202 21 18.362 20.673C18.9265 20.3854 19.3854 19.9265 19.673 19.362C20 18.7202 20 17.8802 20 16.2V14.8C20 13.1198 20 12.2798 19.673 11.638C19.3854 11.0735 18.9265 10.6146 18.362 10.327C18.0057 10.1455 17.5883 10.0647 17 10.0288M7 10.0288V8C7 5.23858 9.23858 3 12 3C14.7614 3 17 5.23858 17 8V10.0288",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),E5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M12 8H12.01M12 11V16M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),P5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],"data-testid":"outgoing-arrow-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M5.25 12.75L12.75 5.25M12.75 5.25H6M12.75 5.25V12",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),O5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M11.3348 4.66483L13.2208 6.55082M3 15L3.03164 14.7785C3.1436 13.9948 3.19958 13.6029 3.32692 13.2371C3.43992 12.9124 3.59428 12.6037 3.78619 12.3185C4.00247 11.9971 4.28237 11.7172 4.84218 11.1574L12.609 3.3906C13.1298 2.8698 13.9742 2.8698 14.495 3.3906C15.0158 3.9114 15.0158 4.75578 14.495 5.27658L6.58565 13.1859C6.07779 13.6938 5.82386 13.9477 5.53462 14.1497C5.27789 14.3289 5.001 14.4774 4.70965 14.5921C4.3814 14.7213 4.02937 14.7923 3.32535 14.9344L3 15Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),A5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[300],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M4 12H20M12 4V20",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),T5=e=>(0,Yn.jsx)(LF,{width:"18",height:"18",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3 9C3 12.3137 5.68629 15 9 15C12.3137 15 15 12.3137 15 9C15 5.68629 12.3137 3 9 3C7.20796 3 5.59942 3.78563 4.5 5.03126C4.43696 5.10268 4.3756 5.17562 4.31597 5.25M9 6V9L10.875 10.875M4.31543 3.00293V5.25293H6.56543",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),j5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],"data-testid":"rotate-icon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M12.5 18.5C17.1944 18.5 21 14.6944 21 10C21 5.30558 17.1944 1.5 12.5 1.5C7.80558 1.5 4 5.30558 4 10C4 11.5433 4.41128 12.9905 5.13022 14.238M1.5 13L5.13022 14.238M6.82531 10.3832L5.47107 14.3542L5.13022 14.238",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),C5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M16 3L8 21",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),R5=e=>(0,Yn.jsx)(LF,{width:"32px",height:"32px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M16 7.33333C16 9.17428 14.5076 10.6667 12.6667 10.6667C10.8257 10.6667 9.33333 9.17428 9.33333 7.33333M16 7.33333C16 5.49238 14.5076 4 12.6667 4C10.8257 4 9.33333 5.49238 9.33333 7.33333M16 7.33333H28M9.33333 7.33333H4M25.3333 16C25.3333 17.8409 23.8409 19.3333 22 19.3333C20.1591 19.3333 18.6667 17.8409 18.6667 16M25.3333 16C25.3333 14.1591 23.8409 12.6667 22 12.6667C20.1591 12.6667 18.6667 14.1591 18.6667 16M25.3333 16H28M18.6667 16H4M13.3333 24.6667C13.3333 26.5076 11.8409 28 10 28C8.15905 28 6.66667 26.5076 6.66667 24.6667M13.3333 24.6667C13.3333 22.8257 11.8409 21.3333 10 21.3333C8.15905 21.3333 6.66667 22.8257 6.66667 24.6667M13.3333 24.6667H28M6.66667 24.6667H4",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})});const I5=r.p+"static/media/google-icon.727bb8d0140ffbc5686602029965f126.svg",M5=e=>(0,Yn.jsx)(HX,{"data-testid":"social-icon",src:I5,...e});const L5=r.p+"static/media/tez.ee59a85037aa1727d7a3c5c5373e5e1d.svg",N5=e=>(0,Yn.jsx)(HX,{"data-testid":"tez-icon",src:L5,...e});const D5=r.p+"static/media/coin-front.fc1df90ba2fd68cda8dcf63056bfef7f.svg",B5=({contract:e,...t})=>{const r=`https://services.tzkt.io/v1/avatars/${e}`;return(0,Yn.jsx)(z5,{url:r,...t})},z5=({url:e,...t})=>(0,Yn.jsx)(HX,{fallbackSrc:D5,src:e,...t}),U5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3 4.5H15M12 4.5L11.797 3.89105C11.6003 3.30094 11.502 3.00588 11.3195 2.78774C11.1584 2.5951 10.9516 2.44599 10.7179 2.35408C10.4532 2.25 10.1422 2.25 9.52018 2.25H8.47982C7.85779 2.25 7.54677 2.25 7.28213 2.35408C7.04844 2.44599 6.84156 2.5951 6.68047 2.78774C6.49804 3.00588 6.39969 3.30094 6.20298 3.89105L6 4.5M13.5 4.5V12.15C13.5 13.4101 13.5 14.0402 13.2548 14.5215C13.039 14.9448 12.6948 15.289 12.2715 15.5048C11.7902 15.75 11.1601 15.75 9.9 15.75H8.1C6.83988 15.75 6.20982 15.75 5.72852 15.5048C5.30516 15.289 4.96095 14.9448 4.74524 14.5215C4.5 14.0402 4.5 13.4101 4.5 12.15V4.5M10.5 7.5V12.75M7.5 7.5V12.75",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),F5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none","data-testid":"unknown-contact-icon",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M3.16602 15.5625C3.16602 12.7435 5.45123 10.4583 8.27018 10.4583C8.51775 10.4583 8.7612 10.476 8.99935 10.51M13.3722 13.375C14.1014 12.6458 14.8305 12.3575 14.8305 11.5521C14.8305 10.7467 14.1776 10.0938 13.3722 10.0938C12.6927 10.0938 12.1217 10.5585 11.9598 11.1875M13.3722 15.5625H13.3795M11.1868 5.35417C11.1868 6.965 9.88101 8.27083 8.27018 8.27083C6.65935 8.27083 5.35352 6.965 5.35352 5.35417C5.35352 3.74334 6.65935 2.4375 8.27018 2.4375C9.88101 2.4375 11.1868 3.74334 11.1868 5.35417Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),$5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M20.5 11L18.7396 7.60473C18.253 6.65855 18.0097 6.18545 17.6514 5.84012C17.3346 5.5347 16.9544 5.30272 16.5379 5.16065C16.067 5 15.535 5 14.471 5H9.52901C8.46503 5 7.93304 5 7.46209 5.16065C7.04558 5.30272 6.66542 5.5347 6.34859 5.84012C5.99034 6.18545 5.74703 6.65855 5.26042 7.60473L3.5 11M20.5 11C20.6981 11.3853 20.7658 11.5446 20.8357 11.747C20.8977 11.9267 20.9426 12.1119 20.9696 12.3002C21 12.5121 21 12.7287 21 13.162V14.2C21 15.8802 21 16.7202 20.673 17.362C20.3854 17.9265 19.9265 18.3854 19.362 18.673C18.7202 19 17.8802 19 16.2 19H7.8C6.11984 19 5.27976 19 4.63803 18.673C4.07354 18.3854 3.6146 17.9265 3.32698 17.362C3 16.7202 3 15.8802 3 14.2V13.162C3 12.7287 3 12.5121 3.03041 12.3002C3.05741 12.1119 3.10225 11.9267 3.16432 11.747C3.23421 11.5446 3.30186 11.3853 3.5 11M20.5 11H3.5M15 15H17",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),H5=()=>(0,Yn.jsxs)(Zn,{position:"relative",alignItems:"center",justifyContent:"center","data-testid":"verified-icon",children:[(0,Yn.jsx)(V5,{}),(0,Yn.jsx)(Zn,{position:"absolute",alignItems:"center",justifyContent:"center",children:(0,Yn.jsx)(q5,{})})]}),V5=e=>(0,Yn.jsx)(LF,{width:"14px",height:"14px",fill:E$.gray[450],viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M6.51019 0.479749C6.78233 0.213196 7.21767 0.213195 7.48981 0.479749L8.86158 1.82333C8.99061 1.94972 9.16351 2.02134 9.34412 2.02321L11.2642 2.04314C11.6451 2.04709 11.9529 2.35492 11.9569 2.73584L11.9768 4.65588C11.9787 4.83649 12.0503 5.00939 12.1767 5.13842L13.5203 6.51019C13.7868 6.78233 13.7868 7.21767 13.5203 7.48981L12.1767 8.86158C12.0503 8.99061 11.9787 9.16351 11.9768 9.34412L11.9569 11.2642C11.9529 11.6451 11.6451 11.9529 11.2642 11.9569L9.34412 11.9768C9.16351 11.9787 8.99061 12.0503 8.86158 12.1767L7.48981 13.5203C7.21767 13.7868 6.78233 13.7868 6.51019 13.5203L5.13842 12.1767C5.00939 12.0503 4.83649 11.9787 4.65588 11.9768L2.73584 11.9569C2.35492 11.9529 2.04709 11.6451 2.04314 11.2642L2.02321 9.34412C2.02134 9.16351 1.94972 8.99061 1.82333 8.86158L0.479749 7.48981C0.213196 7.21767 0.213195 6.78233 0.479749 6.51019L1.82333 5.13842C1.94972 5.00939 2.02134 4.83649 2.02321 4.65588L2.04314 2.73584C2.04709 2.35492 2.35492 2.04709 2.73584 2.04314L4.65588 2.02321C4.83649 2.02134 5.00939 1.94972 5.13842 1.82333L6.51019 0.479749Z",strokeLinecap:"square",strokeLinejoin:"round"})}),q5=e=>(0,Yn.jsx)(LF,{width:"7px",height:"5px",fill:"none",stroke:"white",viewBox:"0 0 7 5",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M1.66699 2.19314L3.0281 3.55425L5.75033 0.832031",strokeLinecap:"square",strokeLinejoin:"round"})}),K5=e=>(0,Yn.jsx)(LF,{width:"24px",height:"24px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M10 16V14.0003M10 14.0003V12M10 14.0003L12 14.0005M10 14.0003L8 14M21 12V11.2C21 10.0799 21 9.51984 20.782 9.09202C20.5903 8.7157 20.2843 8.40973 19.908 8.21799C19.4802 8 18.9201 8 17.8 8H3M21 12V16M21 12H19C17.8954 12 17 12.8954 17 14C17 15.1046 17.8954 16 19 16H21M21 16V16.8C21 17.9201 21 18.4802 20.782 18.908C20.5903 19.2843 20.2843 19.5903 19.908 19.782C19.4802 20 18.9201 20 17.8 20H6.2C5.0799 20 4.51984 20 4.09202 19.782C3.71569 19.5903 3.40973 19.2843 3.21799 18.908C3 18.4802 3 17.9201 3 16.8V8M18 8V7.2C18 6.0799 18 5.51984 17.782 5.09202C17.5903 4.71569 17.2843 4.40973 16.908 4.21799C16.4802 4 15.9201 4 14.8 4H6.2C5.07989 4 4.51984 4 4.09202 4.21799C3.71569 4.40973 3.40973 4.71569 3.21799 5.09202C3 5.51984 3 6.0799 3 7.2V8",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),W5=e=>(0,Yn.jsx)(LF,{width:"36",height:"32",fill:"none",viewBox:"0 0 36 32",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M18.0004 24.3332H18.0171M18.0004 12.6665V19.3332M8.68719 30.9999H27.3136C30.2831 30.9999 31.7678 30.9999 32.6386 30.3754C33.3985 29.8305 33.8946 28.9915 34.0058 28.0631C34.1333 26.9991 33.4178 25.6982 31.9868 23.0963L22.6736 6.16318C21.1499 3.39292 20.3881 2.00779 19.3814 1.54954C18.5041 1.15015 17.4968 1.15015 16.6194 1.54954C15.6127 2.00779 14.8509 3.39292 13.3273 6.16317L4.01404 23.0963C2.58301 25.6982 1.8675 26.9991 1.99498 28.0631C2.10622 28.9915 2.6023 29.8305 3.36219 30.3754C4.23304 30.9999 5.71776 30.9999 8.68719 30.9999Z",stroke:"#FC7884",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"})}),G5=e=>(0,Yn.jsx)(LF,{width:"18px",height:"18px",fill:"none",viewBox:"0 0 18 18",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M4.5 4.5L13.5 13.5M13.5 4.5L4.5 13.5","data-testid":"xmark-icon-path",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})});var Y5=r(3810),Z5=r.n(Y5);const X5="default"in Z5()?Z5().default:Z5(),J5=({address:e,identiconSize:t,...r})=>(0,Yn.jsx)(Qn,{sx:{canvas:{borderRadius:"4px"}},background:"white",borderRadius:"4px","data-testid":"identicon",...r,children:(0,Yn.jsx)(X5,{background:"white",size:t,string:e,style:{borderRadius:4}})}),Q5={stroke:E$.gray[400],borderRadius:"4px",p:"5px",bg:E$.gray[500]},e3=({addressKind:e,size:t="sm",identiconSize:r=20})=>{let n;switch(t){case"sm":n="30px";break;case"md":n="38.5px";break;case"lg":n="45.5px"}switch(e.type){case"secret_key":case"mnemonic":return(0,Yn.jsx)(J5,{width:n,height:n,padding:"5px",address:e.pkh,identiconSize:r});case"social":return(0,Yn.jsx)(M5,{width:n,height:n,...Q5,background:"white"});case"ledger":return(0,Yn.jsx)(_5,{width:n,height:n,...Q5,color:E$.gray[400]});case"multisig":return(0,Yn.jsx)(f5,{width:n,height:n,...Q5});case"contact":return(0,Yn.jsx)(H2,{width:n,height:n,...Q5});case"unknown":return(0,Yn.jsx)(F5,{width:n,height:n,...Q5});case"baker":{const t=`https://services.tzkt.io/v1/avatars/${e.pkh}`;return(0,Yn.jsx)(UX,{width:"30px",height:"30px",marginRight:"8px","data-testid":"baker-icon",ratio:1,children:(0,Yn.jsx)(HX,{src:t})})}}},t3=eo,r3=qi,n3=()=>{const e=r3((e=>e.accounts.seedPhrases)),t=r3((e=>e.accounts.secretKeys));return async(r,n)=>{if("secret_key"===r.type){const e=t[r.address.pkh];if(!e)throw new Error(`Missing secret key for account ${r.address.pkh}`);return Oc(e,n)}{const t=e[r.seedFingerPrint];if(!t)throw new Error(`Missing seedphrase for account ${r.address.pkh}`);return((e,t,r)=>Qc.fromMnemonic({mnemonic:e,derivationPath:t,curve:r}).secretKey())(await Oc(t,n),r.derivationPath,r.curve)}}},i3=()=>r3((e=>e.networks.current)),o3=()=>r3((e=>e.networks.available)),a3=()=>{const e=o3(),t=eo();return r=>{const n=e.find((e=>e.name===r));n&&t(nO.setCurrent(n))}},s3=()=>{const e=i3(),t=r3((t=>t.tokens[e.name]));return(e,r)=>(0,iE.get)(t,[e,r])},c3=(e,t)=>e.length>t?e.slice(0,t-3)+"...":e,l3=e=>uc("tz","mutez",e),u3=e=>uc("mutez","tz",e),d3=e=>{const t=Ms(u3(e)).toNumber();return`${new Intl.NumberFormat("en-US",{minimumFractionDigits:6,maximumFractionDigits:6}).format(t)} \ua729`},h3=e=>`${e.slice(0,5)}...${e.slice(-5)}`,f3=e=>{const t=r3((e=>e.assets.blockLevel));return null!==t?t-e>=2:null},p3=()=>{const e=v3(),t=r3((e=>e.assets.balances.tokens)),r=Object.keys(t);return(0,iE.fromPairs)(r.map((t=>[t,e(t)])))},m3=()=>{const e=s3(),t=r3((e=>e.assets.balances.tokens));return r=>{const n=t[r]||[];return(0,iE.compact)(n.map((({contract:t,tokenId:r,...n})=>{const i=e(t,r);return i&&{...i,...n}})))}},g3=()=>{const e=(()=>{const e=m3();return t=>e(t).filter((e=>"fa1.2"===e.type))})(),t=(()=>{const e=m3();return t=>e(t).filter((e=>"fa2"===e.type))})();return r=>[...e(r),...t(r)]},v3=()=>{const e=m3();return t=>e(t).filter((e=>"nft"===e.type))},y3=()=>{const e=r3((e=>e.assets.conversionRate));return t=>null===e?null:new Is(t).multipliedBy(e).decimalPlaces(2,Is.ROUND_UP)},b3=()=>{const e=r3((e=>e.assets.balances.mutez)),t=y3(),r=(e=>{const t=(0,iE.compact)(Object.values(e));return 0===t.length?null:t.reduce(((e,t)=>e.plus(t)),new Ms(0))})(e);if(null==r)return null;const n=t(u3(r));return{mutez:r.toFixed(),usd:n}},w3=()=>{const e=r3((e=>e.assets.balances.mutez));return t=>e[t]},x3=()=>r3((e=>e.assets.bakers)),_3=()=>r3((e=>e.contacts)),S3=()=>{const e=_3();return{addressExistsInContacts:t=>t in e,nameExistsInContacts:t=>KP(e,t)}},k3=()=>{const e=_3();return t=>t in e?e[t].name:void 0},E3=()=>r3((e=>e.accounts.items)),P3=()=>{const e=E3();return t=>e.find((e=>e.address.pkh===t))},O3=()=>{const e=E3(),t=r3((e=>e.multisigs.items));return[...e,...t]},A3=()=>{const e=O3();return t=>e.find((e=>e.address.pkh===t))},T3=()=>{const e=A3();return t=>{const r=e(t);if(!r)throw new Error(`You do not own account:${t}`);return r}},j3=e=>O3().map((e=>e.address.pkh)).includes(e),C3=()=>{const e=(()=>{const e=E3();return t=>{const r=e.filter((e=>t.signers.some((t=>t.pkh===e.address.pkh))));return 0===r.length&&console.warn("Wallet doesn't own any signers for multisig contract "+t.address.pkh),r}})();return t=>{switch(t.type){case"ledger":case"mnemonic":case"social":case"secret_key":return[t];case"multisig":return e(t)}}},R3=()=>{const e=C3(),t=w3();return r=>(0,iE.maxBy)(e(r),(e=>t(e.address.pkh)||"0"))},I3=e=>{const t=M3(e),r=L3(e),n=N3(e);return t||r||n||{pkh:e.pkh,type:"unknown",label:null}},M3=({pkh:e})=>{const t=A3()(e);return t?{type:t.type,pkh:e,label:t.label}:null},L3=({pkh:e})=>{const t=(()=>{const e=x3();return t=>e.find((e=>e.address===t))})(),r=t(e);return r?{pkh:e,type:"baker",label:r.name}:null},N3=({pkh:e})=>{const t=k3()(e);return t?{pkh:e,type:"contact",label:t}:null},D3=({number:e,size:t="md"})=>{const r="md"===t?"md":"lg",n="md"===t?"sm":"md",{integer:i,decimal:o}=(e=>{const[t,r]=e.split(".");return{integer:t,decimal:r}})(e);return(0,Yn.jsxs)(Zn,{alignItems:"end","data-testid":"pretty-number",children:[(0,Yn.jsx)(li,{size:r,children:i}),o&&(0,Yn.jsxs)(li,{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",size:n,children:[".",o]})]})},B3=({address:e,size:t,...r})=>{const n=w3()(e);if(!n)return null;const i=d3(n);return(0,Yn.jsx)(Qn,{overflow:"hidden",textAlign:"right","data-testid":"account-balance",...r,children:(0,Yn.jsx)(D3,{number:i,size:t})})},z3=({address:e,...t})=>{const r=I3(e);return(0,Yn.jsx)(R2,{background:E$.white,hasArrow:!0,label:r.label,placement:"left",children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",width:"400px",padding:"9px 10px",background:E$.gray[800],borderRadius:"4px","data-testid":"address-tile",...t,children:[(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(e3,{addressKind:r}),"unknown"===r.type?(0,Yn.jsx)(NX,{marginLeft:"10px",color:E$.gray[300],size:"sm",children:e.pkh}):(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(Qn,{overflow:"hidden",width:"102px",marginLeft:"12px",whiteSpace:"nowrap",children:(0,Yn.jsx)(li,{overflow:"hidden",textOverflow:"ellipsis",size:"sm",children:r.label})}),(0,Yn.jsx)(NX,{width:"89px",marginLeft:"10px",color:E$.gray[300],size:"xs",children:h3(r.pkh)})]})]}),(0,Yn.jsx)(B3,{overflow:"hidden",textAlign:"right",address:e.pkh})]})})},U3=({contacts:e,onChange:t})=>0===e.length?null:(0,Yn.jsx)(N0,{position:"absolute",zIndex:2,overflowY:"auto",width:"100%",maxHeight:300,marginTop:"8px",marginLeft:0,background:E$.gray[700],border:"1px solid",borderColor:E$.gray[500],borderRadius:"8px","data-testid":"suggestions-list",listStyleType:"none",children:e.map(((r,n)=>(0,Yn.jsx)(Qn,{children:(0,Yn.jsx)(D0,{marginBottom:n===e.length-1?"5px":0,padding:"5px 15px 0 5px",onMouseDown:()=>{t(r.name)},children:(0,Yn.jsx)(z3,{width:"370px",height:"40px",padding:"10px 8px 10px 5px",background:E$.gray[700],borderRadius:"4px",_hover:{background:E$.gray[500]},cursor:"pointer",address:dd(r.pkh)})})},r.pkh)))}),F3=(e,t)=>{if(""===e)return t;return t.filter((t=>t.name.toLowerCase().includes(e.trim().toLowerCase())))},$3=({contacts:e,isDisabled:r,isLoading:n=!1,allowUnknown:i,inputName:o,onUpdate:a,validate:s,label:c,keepValid:l,style:u,size:d})=>{const{register:h,setValue:f,formState:{defaultValues:p},getValues:m}=iQ(),g=f,v=(0,t.useId)(),[y,b]=(0,t.useState)((()=>{var t;if(l||!p)return"";const r=(0,iE.get)(p,o);return r?(null===(t=e.find((e=>e.pkh===r)))||void 0===t?void 0:t.name)||r:""})),[w,x]=(0,t.useState)(!0),[_,S]=(0,t.useState)(F3("",e)),k=m(o),E=t=>{b(t),S(F3(t,e));const r=e.find((e=>e.name===t||e.pkh===t));let n;if(void 0!==r)n=r.pkh,x(!0);else if(i&&hd(t))n=t;else{if(l)return;n=""}g(o,n,{shouldValidate:!0}),a&&a(n)};let P="raw_input";n?P="selected_tile":r?P="disabled_tile":k&&(P="selected_tile");const O=()=>{E(""),x(!1)};return(0,Yn.jsxs)(Qn,{"data-testid":`address-autocomplete-${o}`,children:[(0,Yn.jsx)(b0,{htmlFor:v,children:c}),"disabled_tile"===P&&(0,Yn.jsx)(z3,{address:dd(k)}),"selected_tile"===P&&(0,Yn.jsx)(Qn,{height:"48px",background:E$.gray[800],border:"1px solid",borderColor:E$.gray[500],borderRadius:"4px","data-testid":`selected-address-tile-${k}`,onClick:O,paddingY:0,children:(0,Yn.jsxs)(Xn,{justifyContent:"space-between",cursor:"pointer","data-testid":"clear-selected-button",children:[(0,Yn.jsx)(z3,{width:"short"===d?"338px":"365px",paddingTop:"8px",background:"transparent",address:dd(k)}),l?(0,Yn.jsx)(U2,{marginRight:"12px","data-testid":"chevron-icon"}):(0,Yn.jsx)(H3,{marginRight:"14px"})]})}),"raw_input"===P&&(0,Yn.jsxs)(k0,{children:[(0,Yn.jsx)(O0,{...u,"aria-label":o,autoComplete:"off",id:v,onBlur:e=>{if(e.preventDefault(),x(!0),l&&k!==e.target.value)return E(k);E(e.target.value)},onChange:e=>E(e.target.value),onFocus:()=>x(!1),placeholder:"Enter address or contact name",value:y}),(0,Yn.jsx)(C0,{children:y?(0,Yn.jsx)(H3,{marginRight:"0px",onClick:O}):(0,Yn.jsx)(U2,{"data-testid":"chevron-icon"})})]}),(0,Yn.jsx)(O0,{...h(o,{required:"Invalid address or contact name",validate:s}),marginBottom:0,"data-testid":`real-address-input-${o}`,name:o,type:"hidden"}),!w&&(0,Yn.jsx)(U3,{contacts:_,onChange:E})]})},H3=e=>(0,Yn.jsx)(G5,{marginRight:"16px",stroke:E$.gray[450],cursor:"pointer","data-testid":"clear-input-button",...e}),V3=e=>{const t=Object.values(_3()),r=O3().map((e=>({name:e.label,pkh:e.address.pkh})));return(0,Yn.jsx)($3,{...e,contacts:t.concat(r)})},q3=e=>{const t=E3().map((e=>({name:e.label,pkh:e.address.pkh})));return(0,Yn.jsx)($3,{...e,contacts:t})},K3=e=>{const t=O3().map((e=>({name:e.label,pkh:e.address.pkh})));return(0,Yn.jsx)($3,{...e,contacts:t})},W3=e=>{const t=x3().map((e=>({name:e.name,pkh:e.address})));return(0,Yn.jsx)($3,{...e,contacts:t})},G3=e=>{const t=C3()(e.account).map((e=>({name:e.label,pkh:e.address.pkh})));return(0,Yn.jsx)($3,{allowUnknown:!1,contacts:t,isDisabled:1===t.length,...e})},Y3=({request:e,onSuccess:t})=>{const r=(()=>{const e=eo();return(t,r,n)=>e(qP.actions.addConnection({dAppId:t,accountPkh:r,networkType:n}))})(),n=E3(),i=h0({mode:"onBlur"}),{getValues:o,formState:{errors:a,isValid:s}}=i;return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsxs)(MX,{marginBottom:"24px",children:[(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"center",children:"Permission Request"}),(0,Yn.jsxs)(NX,{marginTop:"10px",color:E$.gray[400],textAlign:"center",size:"sm",children:[e.appMetadata.name," is requesting permission to sign this operation."]}),(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"center",marginTop:"10px",children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"sm",children:"Network:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],size:"sm",children:e.network.type})]})]}),(0,Yn.jsx)(DX,{}),(0,Yn.jsxs)(BX,{"data-testid":"beacon-request-body",children:[e.appMetadata.icon&&(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"16px",padding:"15px",borderRadius:"4px",backgroundColor:E$.gray[800],children:[(0,Yn.jsx)(UX,{width:"60px",marginRight:"12px",ratio:1,children:(0,Yn.jsx)(HX,{borderRadius:"4px",src:e.appMetadata.icon})}),(0,Yn.jsx)(li,{size:"sm",children:e.appMetadata.name})]}),(0,Yn.jsx)(pJ,{marginTop:"16px",allowToggle:!0,children:(0,Yn.jsxs)(mJ,{background:E$.gray[800],border:"none",borderRadius:"8px",children:[(0,Yn.jsxs)(gJ,{children:[(0,Yn.jsx)(li,{flex:"1",textAlign:"left",marginY:"10px",size:"md",children:"Request Payload"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)(y0,{value:e})})]})}),(0,Yn.jsx)(oQ,{...i,children:(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!a.address,children:[(0,Yn.jsx)(q3,{allowUnknown:!1,inputName:"address",label:"Select Account"}),a.address&&(0,Yn.jsx)(CJ,{children:a.address.message})]})})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",isDisabled:!s,onClick:i=>(async()=>{const i=n.find((e=>e.address.pkh===o().address));if(!i)throw new Error("No account selected");const a={type:HW.PermissionResponse,network:{type:e.network.type},scopes:e.scopes,id:e.id,publicKey:i.pk};await Ste.respond(a),r(e.senderId,i.address.pkh,e.network.type),t()})(),size:"lg",children:"Grant"})})]})};var Z3=re(((e,r)=>{const{icon:n,children:i,isRound:o,"aria-label":a,...s}=e,c=n||i,l=(0,t.isValidElement)(c)?(0,t.cloneElement)(c,{"aria-hidden":!0,focusable:!1}):null;return(0,Yn.jsx)(_i,{padding:"0",borderRadius:o?"full":void 0,ref:r,"aria-label":a,...s,children:l})}));function X3(e){return X3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X3(e)}function J3(e){var t=function(e,t){if("object"!==X3(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==X3(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===X3(t)?t:String(t)}function Q3(e,t,r){return(t=J3(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Z3.displayName="IconButton";var e6=r(6331),t6=r.n(e6),r6=r(1646),n6=r.n(r6);function i6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o6(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};const r={mode:"cors",headers:{}};(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).useAPIKey&&(r.headers=o6(o6({},r.headers),m6()));const n=t6()(r,t,{method:"GET"}),i=await p6(e,n);if(i.ok)return i.json();throw g6(i),i},y6=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={mode:"cors",headers:{"Content-Type":"application/json; charset=utf-8"}};n.useAPIKey&&(i.headers=o6(o6({},i.headers),m6()));const o=t6()(i,r,{method:"POST"});return n.isUrlEncodedData?(o.body=t,"application/json; charset=utf-8"===o.headers["Content-Type"]&&delete o.headers["Content-Type"]):o.body=JSON.stringify(t),((e,t)=>{const r=new Promise(((t,r)=>{const n=setTimeout((()=>{clearTimeout(n),r(new Error(`Timed out in ${e}ms`))}),e)}));return Promise.race([t,r])})(n.timeout||6e4,p6(e,o).then((e=>{if(n.logTracingHeader&&function(e){a6.info(`Request tracing with traceID=${e.headers.get("x-web3-correlation-id")}`)}(e),e.ok)return e.json();throw g6(e),e})))},b6=(e,t)=>({jsonrpc:"2.0",method:e,id:10,params:t});function w6(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var x6=r(5461),_6=r.n(x6);Promise.resolve(!1),Promise.resolve(!0);var S6=Promise.resolve();function k6(e,t){return e||(e=0),new Promise((function(r){return setTimeout((function(){return r(t)}),e)}))}function E6(){return Math.random().toString(36).substring(2)}var P6=0,O6=0;function A6(){var e=(new Date).getTime();return e===P6?1e3*e+ ++O6:(P6=e,O6=0,1e3*e)}var T6=n6().getLogger("broadcast-channel");T6.setLevel("error");const j6={create:function(e){var t={messagesCallback:null,bc:new BroadcastChannel(e),subFns:[]};return t.bc.onmessage=function(e){t.messagesCallback&&t.messagesCallback(e.data)},t},close:function(e){e.bc.close(),e.subFns=[]},onMessage:function(e,t){e.messagesCallback=t},postMessage:function(e,t){try{return e.bc.postMessage(t,!1),S6}catch(Zue){return Promise.reject(Zue)}},canBeUsed:function(e){if("undefined"===typeof window)return!1;if(!e.support3PC)return!1;if("function"===typeof BroadcastChannel){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}return!1},type:"native",averageResponseTime:function(){return 150},microSeconds:A6};var C6=function(){function e(e){this.ttl=e,this.map=new Map,this._to=!1}return e.prototype.has=function(e){return this.map.has(e)},e.prototype.add=function(e){var t=this;this.map.set(e,R6()),this._to||(this._to=!0,setTimeout((function(){t._to=!1,function(e){var t=R6()-e.ttl,r=e.map[Symbol.iterator]();for(;;){var n=r.next().value;if(!n)return;var i=n[0];if(!(n[1]0&&void 0!==arguments[0]?arguments[0]:{},t=JSON.parse(JSON.stringify(e));return"undefined"===typeof t.support3PC&&(t.support3PC=function(){if("undefined"===typeof navigator)return!1;var e=_6().parse(navigator.userAgent);T6.info(JSON.stringify(e),"current browser info");var t=!0;return navigator.brave&&(t=!1),e.engine.name!==_6().ENGINE_MAP.WebKit&&e.engine.name!==_6().ENGINE_MAP.Gecko||(t=!1),t}()),"undefined"===typeof t.webWorkerSupport&&(t.webWorkerSupport=!0),t.idb||(t.idb={}),t.idb.ttl||(t.idb.ttl=45e3),t.idb.fallbackInterval||(t.idb.fallbackInterval=150),e.idb&&"function"===typeof e.idb.onclose&&(t.idb.onclose=e.idb.onclose),t.localstorage||(t.localstorage={}),t.localstorage.removeTimeout||(t.localstorage.removeTimeout=6e4),t.server||(t.server={}),t.server.url||(t.server.url="https://broadcast-server.tor.us"),t.server.removeTimeout||(t.server.removeTimeout=3e5),e.methods&&(t.methods=e.methods),t}var M6="pubkey.broadcast-channel-0-",L6="messages",N6={durability:"relaxed"};function D6(){if("undefined"!==typeof indexedDB)return indexedDB;if("undefined"!==typeof window){if("undefined"!==typeof window.mozIndexedDB)return window.mozIndexedDB;if("undefined"!==typeof window.webkitIndexedDB)return window.webkitIndexedDB;if("undefined"!==typeof window.msIndexedDB)return window.msIndexedDB}return!1}function B6(e){e.commit&&e.commit()}function z6(e,t){var r=e.transaction(L6,"readonly",N6),n=r.objectStore(L6),i=[],o=IDBKeyRange.bound(t+1,1/0);if(n.getAll){var a=n.getAll(o);return new Promise((function(e,t){a.onerror=function(e){return t(e)},a.onsuccess=function(t){e(t.target.result)}}))}return new Promise((function(e,a){var s=function(){try{return o=IDBKeyRange.bound(t+1,1/0),n.openCursor(o)}catch(e){return n.openCursor()}}();s.onerror=function(e){return a(e)},s.onsuccess=function(n){var o=n.target.result;o?o.value.ide.lastCursorId&&(e.lastCursorId=t.id),t})).filter((function(t){return function(e,t){return e.uuid!==t.uuid&&!t.eMIs.has(e.id)&&!(e.data.time{e4[Q6[e]]=e}));const t4={type:"error",data:"parser error"},r4="function"===typeof Blob||"undefined"!==typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),n4="function"===typeof ArrayBuffer,i4=e=>"function"===typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,o4=({type:e,data:t},r,n)=>r4&&t instanceof Blob?r?n(t):a4(t,n):n4&&(t instanceof ArrayBuffer||i4(t))?r?n(t):a4(new Blob([t]),n):n(Q6[e]+(t||"")),a4=(e,t)=>{const r=new FileReader;return r.onload=function(){const e=r.result.split(",")[1];t("b"+(e||""))},r.readAsDataURL(e)};function s4(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let c4;function l4(e,t){return r4&&e.data instanceof Blob?e.data.arrayBuffer().then(s4).then(t):n4&&(e.data instanceof ArrayBuffer||i4(e.data))?t(s4(e.data)):void o4(e,!1,(e=>{c4||(c4=new TextEncoder),t(c4.encode(e))}))}const u4="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d4="undefined"===typeof Uint8Array?[]:new Uint8Array(256);for(let r=0;r<64;r++)d4[u4.charCodeAt(r)]=r;const h4="function"===typeof ArrayBuffer,f4=(e,t)=>{if("string"!==typeof e)return{type:"message",data:m4(e,t)};const r=e.charAt(0);if("b"===r)return{type:"message",data:p4(e.substring(1),t)};return e4[r]?e.length>1?{type:e4[r],data:e.substring(1)}:{type:e4[r]}:t4},p4=(e,t)=>{if(h4){const r=(e=>{let t,r,n,i,o,a=.75*e.length,s=e.length,c=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);const l=new ArrayBuffer(a),u=new Uint8Array(l);for(t=0;t>4,u[c++]=(15&n)<<4|i>>2,u[c++]=(3&i)<<6|63&o;return l})(e);return m4(r,t)}return{base64:!0,data:e}},m4=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,g4=String.fromCharCode(30);let v4;function y4(e){if(e)return function(e){for(var t in y4.prototype)e[t]=y4.prototype[t];return e}(e)}y4.prototype.on=y4.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},y4.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this},y4.prototype.off=y4.prototype.removeListener=y4.prototype.removeAllListeners=y4.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r,n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var i=0;i(e.hasOwnProperty(r)&&(t[r]=e[r]),t)),{})}const x4=b4.setTimeout,_4=b4.clearTimeout;function S4(e,t){t.useNativeTimers?(e.setTimeoutFn=x4.bind(b4),e.clearTimeoutFn=_4.bind(b4)):(e.setTimeoutFn=b4.setTimeout.bind(b4),e.clearTimeoutFn=b4.clearTimeout.bind(b4))}class k4 extends Error{constructor(e,t,r){super(e),this.description=t,this.context=r,this.type="TransportError"}}class E4 extends y4{constructor(e){super(),this.writable=!1,S4(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,r){return super.emitReserved("error",new k4(e,t,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=f4(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=function(e){let t="";for(let r in e)e.hasOwnProperty(r)&&(t.length&&(t+="&"),t+=encodeURIComponent(r)+"="+encodeURIComponent(e[r]));return t}(e);return t.length?"?"+t:""}}const P4="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),O4=64,A4={};let T4,j4=0,C4=0;function R4(e){let t="";do{t=P4[e%O4]+t,e=Math.floor(e/O4)}while(e>0);return t}function I4(){const e=R4(+new Date);return e!==T4?(j4=0,T4=e):e+"."+R4(j4++)}for(;C4{var e;3===r.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(r)),4===r.readyState&&(200===r.status||1223===r.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"===typeof r.status?r.status:0)}),0))},r.send(this.data)}catch(n){return void this.setTimeoutFn((()=>{this.onError(n)}),0)}"undefined"!==typeof document&&(this.index=z4.requestsCount++,z4.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if("undefined"!==typeof this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=D4,e)try{this.xhr.abort()}catch(t){}"undefined"!==typeof document&&delete z4.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(z4.requestsCount=0,z4.requests={},"undefined"!==typeof document)if("function"===typeof attachEvent)attachEvent("onunload",U4);else if("function"===typeof addEventListener){addEventListener("onpagehide"in b4?"pagehide":"unload",U4,!1)}function U4(){for(let e in z4.requests)z4.requests.hasOwnProperty(e)&&z4.requests[e].abort()}const F4="function"===typeof Promise&&"function"===typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),$4=b4.WebSocket||b4.MozWebSocket;r(261).Buffer;const H4="undefined"!==typeof navigator&&"string"===typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();function V4(e,t){return"message"===e.type&&"string"!==typeof e.data&&t[0]>=48&&t[0]<=54}const q4={websocket:class extends E4{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,r=H4?{}:w4(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=H4?new $4(e,t,r):t?new $4(e,t):new $4(e)}catch(Zue){return this.emitReserved("error",Zue)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{try{this.ws.send(e)}catch(t){}n&&F4((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){"undefined"!==typeof this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=I4()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!$4}},webtransport:class extends E4{get name(){return"webtransport"}doOpen(){"function"===typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((e=>{this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=e.readable.getReader();let r;this.writer=e.writable.getWriter();const n=()=>{t.read().then((({done:e,value:t})=>{e||(r||1!==t.byteLength||54!==t[0]?(this.onPacket(function(e,t,r){v4||(v4=new TextDecoder);const n=t||e[0]<48||e[0]>54;return f4(n?e:v4.decode(e),r)}(t,r,"arraybuffer")),r=!1):r=!0,n())})).catch((e=>{}))};n();const i=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write((new TextEncoder).encode(i)).then((()=>this.onOpen()))}))})))}write(e){this.writable=!1;for(let t=0;t{V4(r,e)&&this.writer.write(Uint8Array.of(54)),this.writer.write(e).then((()=>{n&&F4((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends E4{constructor(e){if(super(e),this.polling=!1,"undefined"!==typeof location){const t="https:"===location.protocol;let r=location.port;r||(r=t?"443":"80"),this.xd="undefined"!==typeof location&&e.hostname!==location.hostname||r!==e.port}const t=e&&e.forceBase64;this.supportsBinary=B4&&!t,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((e,t)=>{const r=e.split(g4),n=[];for(let i=0;i{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,((e,t)=>{const r=e.length,n=new Array(r);let i=0;e.forEach(((e,o)=>{o4(e,!1,(e=>{n[o]=e,++i===r&&t(n.join(g4))}))}))})(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=I4()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new z4(this.uri(),e)}doWrite(e,t){const r=this.request({method:"POST",data:e});r.on("success",t),r.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}},K4=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,W4=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function G4(e){const t=e,r=e.indexOf("["),n=e.indexOf("]");-1!=r&&-1!=n&&(e=e.substring(0,r)+e.substring(r,n).replace(/:/g,";")+e.substring(n,e.length));let i=K4.exec(e||""),o={},a=14;for(;a--;)o[W4[a]]=i[a]||"";return-1!=r&&-1!=n&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(e,t){const r=/\/{2,9}/g,n=t.replace(r,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||n.splice(0,1);"/"==t.slice(-1)&&n.splice(n.length-1,1);return n}(0,o.path),o.queryKey=function(e,t){const r={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(r[t]=n)})),r}(0,o.query),o}class Y4 extends y4{constructor(e,t={}){super(),this.writeBuffer=[],e&&"object"===typeof e&&(t=e,e=null),e?(e=G4(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=G4(t.host).host),S4(this,t),this.secure=null!=t.secure?t.secure:"undefined"!==typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!==typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!==typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"===typeof this.opts.query&&(this.opts.query=function(e){let t={},r=e.split("&");for(let n=0,i=r.length;n{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const r=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new q4[e](r)}open(){let e;if(this.opts.rememberUpgrade&&Y4.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(t){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),r=!1;Y4.priorWebsocketSuccess=!1;const n=()=>{r||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!r)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Y4.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{r||"closed"!==this.readyState&&(l(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function i(){r||(r=!0,l(),t.close(),t=null)}const o=e=>{const r=new Error("probe error: "+e);r.transport=t.name,i(),this.emitReserved("upgradeError",r)};function a(){o("transport closed")}function s(){o("socket closed")}function c(e){t&&e.name!==t.name&&i()}const l=()=>{t.removeListener("open",n),t.removeListener("error",o),t.removeListener("close",a),this.off("close",s),this.off("upgrading",c)};t.once("open",n),t.once("error",o),t.once("close",a),this.once("close",s),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{r||t.open()}),200):t.open()}onOpen(){if(this.readyState="open",Y4.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let r=0;r=57344?r+=3:(n++,r+=4);return r}(t):Math.ceil(1.33*(t.byteLength||t.size))),r>0&&e>this.maxPayload)return this.writeBuffer.slice(0,r);e+=2}var t;return this.writeBuffer}write(e,t,r){return this.sendPacket("message",e,t,r),this}send(e,t,r){return this.sendPacket("message",e,t,r),this}sendPacket(e,t,r,n){if("function"===typeof t&&(n=t,t=void 0),"function"===typeof r&&(n=r,r=null),"closing"===this.readyState||"closed"===this.readyState)return;(r=r||{}).compress=!1!==r.compress;const i={type:e,data:t,options:r};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),n&&this.once("flush",n),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},r=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?r():e()})):this.upgrading?r():e()),this}onError(e){Y4.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"===typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let r=0;const n=e.length;for(;r"function"===typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,J4=Object.prototype.toString,Q4="function"===typeof Blob||"undefined"!==typeof Blob&&"[object BlobConstructor]"===J4.call(Blob),e8="function"===typeof File||"undefined"!==typeof File&&"[object FileConstructor]"===J4.call(File);function t8(e){return Z4&&(e instanceof ArrayBuffer||X4(e))||Q4&&e instanceof Blob||e8&&e instanceof File}function r8(e,t){if(!e||"object"!==typeof e)return!1;if(Array.isArray(e)){for(let t=0,r=e.length;t=0&&e.num{delete this.acks[e];for(let t=0;t{this.io.clearTimeoutFn(i),t.apply(this,[null,...e])}}emitWithAck(e,...t){const r=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((n,i)=>{t.push(((e,t)=>r?e?i(e):n(t):n(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"===typeof e[e.length-1]&&(t=e.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...n)=>{if(r!==this._queue[0])return;return null!==e?r.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...n)),r.pending=!1,this._drainQueue()})),this._queue.push(r),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:l8.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case l8.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case l8.EVENT:case l8.BINARY_EVENT:this.onevent(e);break;case l8.ACK:case l8.BINARY_ACK:this.onack(e);break;case l8.DISCONNECT:this.ondisconnect();break;case l8.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const r of t)r.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"===typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let r=!1;return function(...n){r||(r=!0,t.packet({type:l8.ACK,id:e,data:n}))}}onack(e){const t=this.acks[e.id];"function"===typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:l8.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}v8.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),r=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-r:e+r}return 0|Math.min(e,this.max)},v8.prototype.reset=function(){this.attempts=0},v8.prototype.setMin=function(e){this.ms=e},v8.prototype.setMax=function(e){this.max=e},v8.prototype.setJitter=function(e){this.jitter=e};class y8 extends y4{constructor(t,r){var n;super(),this.nsps={},this.subs=[],t&&"object"===typeof t&&(r=t,t=void 0),(r=r||{}).path=r.path||"/socket.io",this.opts=r,S4(this,r),this.reconnection(!1!==r.reconnection),this.reconnectionAttempts(r.reconnectionAttempts||1/0),this.reconnectionDelay(r.reconnectionDelay||1e3),this.reconnectionDelayMax(r.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(n=r.randomizationFactor)&&void 0!==n?n:.5),this.backoff=new v8({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==r.timeout?2e4:r.timeout),this._readyState="closed",this.uri=t;const i=r.parser||e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=!1!==r.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Y4(this.uri,this.opts);const t=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const n=p8(t,"open",(function(){r.onopen(),e&&e()})),i=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=p8(t,"error",i);if(!1!==this._timeout){const e=this._timeout,r=this.setTimeoutFn((()=>{n(),i(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&r.unref(),this.subs.push((()=>{this.clearTimeoutFn(r)}))}return this.subs.push(n),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(p8(e,"ping",this.onping.bind(this)),p8(e,"data",this.ondata.bind(this)),p8(e,"error",this.onerror.bind(this)),p8(e,"close",this.onclose.bind(this)),p8(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){F4((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let r=this.nsps[e];return r?this._autoConnect&&!r.active&&r.connect():(r=new g8(this,e,t),this.nsps[e]=r),r}_destroy(e){const t=Object.keys(this.nsps);for(const r of t){if(this.nsps[r].active)return}this._close()}_packet(e){const t=this.encoder.encode(e);for(let r=0;re())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&r.unref(),this.subs.push((()=>{this.clearTimeoutFn(r)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const b8={};function w8(e,t){"object"===typeof e&&(t=e,e=void 0);const r=function(e,t="",r){let n=e;r=r||"undefined"!==typeof location&&location,null==e&&(e=r.protocol+"//"+r.host),"string"===typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?r.protocol+e:r.host+e),/^(https?|wss?):\/\//.test(e)||(e="undefined"!==typeof r?r.protocol+"//"+e:"https://"+e),n=G4(e)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const i=-1!==n.host.indexOf(":")?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+t,n.href=n.protocol+"://"+i+(r&&r.port===n.port?"":":"+n.port),n}(e,(t=t||{}).path||"/socket.io"),n=r.source,i=r.id,o=r.path,a=b8[i]&&o in b8[i].nsps;let s;return t.forceNew||t["force new connection"]||!1===t.multiplex||a?s=new y8(n,t):(b8[i]||(b8[i]=new y8(n,t)),s=b8[i]),r.query&&!t.query&&(t.query=r.queryKey),s.socket(r.path,t)}Object.assign(w8,{Manager:y8,Socket:g8,io:w8,connect:w8});var x8=r(8247),_8=r.n(x8),S8=r(261).Buffer;const k8=new Ns.ec("secp256k1"),E8=r.g.crypto||r.g.msCrypto||{},P8=E8.subtle||E8.webkitSubtle,O8=S8.from("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141","hex"),A8=S8.alloc(32,0);function T8(e,t){if(!e)throw new Error(t||"Assertion failed")}function j8(e){return!!function(e){return S8.isBuffer(e)&&32===e.length}(e)&&(e.compare(A8)>0&&e.compare(O8)<0)}function C8(e){const t=new Uint8Array(e);return"undefined"===typeof E8.getRandomValues?S8.from(_8().randomBytes(e)):(E8.getRandomValues(t),S8.from(t))}async function R8(e){if(P8){const t=await P8.digest("SHA-512",e);return new Uint8Array(t)}const t=_8().createHash("sha512").update(e).digest();return new Uint8Array(t)}function I8(e){return async function(t,r,n){if(P8){const i={name:"AES-CBC"},o=await P8.importKey("raw",r,i,!1,[e]),a={name:"AES-CBC",iv:t},s=await P8[e](a,o,n);return S8.from(new Uint8Array(s))}if("encrypt"===e){const e=_8().createCipheriv("aes-256-cbc",r,t),i=e.update(n),o=e.final();return S8.concat([i,o])}if("decrypt"===e){const e=_8().createDecipheriv("aes-256-cbc",r,t),i=e.update(n),o=e.final();return S8.concat([i,o])}throw new Error(`Unsupported operation: ${e}`)}}const M8=I8("encrypt"),L8=I8("decrypt");async function N8(e,t){if(P8){const r={name:"HMAC",hash:{name:"SHA-256"}},n=await P8.importKey("raw",new Uint8Array(e),r,!1,["sign","verify"]),i=await P8.sign("HMAC",n,t);return S8.from(new Uint8Array(i))}const r=_8().createHmac("sha256",S8.from(e));r.update(t);return r.digest()}const D8=function(){let e=C8(32);for(;!j8(e);)e=C8(32);return e},B8=function(e){return T8(32===e.length,"Bad private key"),T8(j8(e),"Bad private key"),S8.from(k8.keyFromPrivate(e).getPublic("array"))},z8=async function(e,t){return T8(32===e.length,"Bad private key"),T8(j8(e),"Bad private key"),T8(t.length>0,"Message should not be empty"),T8(t.length<=32,"Message is too long"),S8.from(k8.sign(t,e,{canonical:!0}).toDER())},U8=async function(e,t){T8(S8.isBuffer(e),"Bad private key"),T8(S8.isBuffer(t),"Bad public key"),T8(32===e.length,"Bad private key"),T8(j8(e),"Bad private key"),T8(65===t.length||33===t.length,"Bad public key"),65===t.length&&T8(4===t[0],"Bad public key"),33===t.length&&T8(2===t[0]||3===t[0],"Bad public key");const r=k8.keyFromPrivate(e),n=k8.keyFromPublic(t),i=r.derive(n.getPublic());return S8.from(i.toArray())},F8=async function(e,t){T8(S8.isBuffer(e),"Bad private key"),T8(S8.isBuffer(t),"Bad public key"),T8(32===e.length,"Bad private key"),T8(j8(e),"Bad private key"),T8(65===t.length||33===t.length,"Bad public key"),65===t.length&&T8(4===t[0],"Bad public key"),33===t.length&&T8(2===t[0]||3===t[0],"Bad public key");const r=k8.keyFromPrivate(e),n=k8.keyFromPublic(t),i=r.derive(n.getPublic());return S8.from(i.toString(16,64),"hex")},$8=async function(e,t,r){let n=(r=r||{}).ephemPrivateKey||C8(32);for(;!j8(n);)n=r.ephemPrivateKey||C8(32);const i=B8(n),o=await U8(n,e),a=await R8(o),s=r.iv||C8(16),c=a.slice(0,32),l=a.slice(32),u=await M8(s,S8.from(c),t),d=S8.concat([s,i,u]);return{iv:s,ephemPublicKey:i,ciphertext:u,mac:await N8(S8.from(l),d)}},H8=async function(e,t,r){const n=null!==r&&void 0!==r&&r,i=n?F8:U8,o=await i(e,t.ephemPublicKey),a=await R8(o),s=a.slice(0,32),c=a.slice(32),l=S8.concat([t.iv,t.ephemPublicKey,t.ciphertext]),u=await async function(e,t,r){return function(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n0||e._addEL.internal.length>0}function w9(e,t,r){e._addEL[t].push(r),function(e){if(!e._iL&&b9(e)){var t=function(t){e._addEL[t.type].forEach((function(r){var n=1e5,i=r.time-n;(t.time>=i||"server"===e.method.type)&&r.fn(t.data)}))},r=e.method.microSeconds();e._prepP?e._prepP.then((function(){e._iL=!0,e.method.onMessage(e._state,t,r)})):(e._iL=!0,e.method.onMessage(e._state,t,r))}}(e)}function x9(e,t,r){e._addEL[t]=e._addEL[t].filter((function(e){return e!==r})),function(e){if(e._iL&&!b9(e)){e._iL=!1;var t=e.method.microSeconds();e.method.onMessage(e._state,null,t)}}(e)}function _9(e){this.message=e}v9._pubkey=!0,v9.prototype={postMessage:function(e){if(this.closed)throw new Error("BroadcastChannel.postMessage(): Cannot post message after channel has closed "+JSON.stringify(e));return y9(this,"message",e)},postInternal:function(e){return y9(this,"internal",e)},set onmessage(e){var t={time:this.method.microSeconds(),fn:e};x9(this,"message",this._onML),e&&"function"===typeof e?(this._onML=t,w9(this,"message",t)):this._onML=null},addEventListener:function(e,t){w9(this,e,{time:this.method.microSeconds(),fn:t})},removeEventListener:function(e,t){x9(this,e,this._addEL[e].find((function(e){return e.fn===t})))},close:function(){var e=this;if(!this.closed){m9.delete(this),this.closed=!0;var t=this._prepP?this._prepP:S6;return this._onML=null,this._addEL.message=[],t.then((function(){return Promise.all(Array.from(e._uMP))})).then((function(){return Promise.all(e._befC.map((function(e){return e()})))})).then((function(){return e.method.close(e._state)}))}},get type(){return this.method.type},get isClosed(){return this.closed}},_9.prototype=new Error,_9.prototype.name="InvalidCharacterError";var S9="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new _9("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,o=0,a="";n=t.charAt(o++);~n&&(r=i%4?64*r+n:n,i++%4)?a+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return a};function k9(e){this.message=e}k9.prototype=new Error,k9.prototype.name="InvalidTokenError";const E9=function(e,t){if("string"!=typeof e)throw new k9("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(S9(e).replace(/(.)/g,(function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return S9(t)}}(e.split(".")[r]))}catch(e){throw new k9("Invalid token specified: "+e.message)}},P9={MAINNET:"mainnet",TESTNET:"testnet",CYAN:"cyan",AQUA:"aqua",CELESTE:"celeste"},O9={SAPPHIRE_DEVNET:"sapphire_devnet",SAPPHIRE_TESTNET:"sapphire_testnet",SAPPHIRE_MAINNET:"sapphire_mainnet"},A9=[P9.AQUA,P9.CELESTE,P9.CYAN],T9={[P9.AQUA]:{migrationCompleted:!1,networkIdentifier:"aqua",networkMigratedTo:O9.SAPPHIRE_MAINNET},[P9.CELESTE]:{migrationCompleted:!1,networkIdentifier:"celeste",networkMigratedTo:O9.SAPPHIRE_MAINNET},[P9.CYAN]:{migrationCompleted:!1,networkIdentifier:"cyan",networkMigratedTo:O9.SAPPHIRE_MAINNET},[P9.MAINNET]:{migrationCompleted:!1,networkIdentifier:"mainnet",networkMigratedTo:O9.SAPPHIRE_MAINNET},[P9.TESTNET]:{migrationCompleted:!0,networkIdentifier:"teal",networkMigratedTo:O9.SAPPHIRE_TESTNET}},j9={[P9.MAINNET]:"https://signer.tor.us",[P9.TESTNET]:"https://signer.tor.us",[P9.CYAN]:"https://signer-polygon.tor.us",[P9.AQUA]:"https://signer-polygon.tor.us",[P9.CELESTE]:"https://signer-polygon.tor.us"},C9={[O9.SAPPHIRE_DEVNET]:["https://sapphire-dev-2-1.authnetwork.dev","https://sapphire-dev-2-2.authnetwork.dev","https://sapphire-dev-2-3.authnetwork.dev","https://sapphire-dev-2-4.authnetwork.dev","https://sapphire-dev-2-5.authnetwork.dev"],[O9.SAPPHIRE_TESTNET]:["https://sapphire-dev-2-1.authnetwork.dev","https://sapphire-dev-2-2.authnetwork.dev","https://sapphire-dev-2-3.authnetwork.dev","https://sapphire-dev-2-4.authnetwork.dev","https://sapphire-dev-2-5.authnetwork.dev"],[O9.SAPPHIRE_MAINNET]:["https://sapphire-1.auth.network","https://sapphire-2.auth.network","https://sapphire-3.auth.network","https://sapphire-4.auth.network","https://sapphire-5.auth.network"]},R9=(e,t)=>{const r=C9[e];if(!r||0===r.length)throw new Error(`Unsupported network: ${e}`);const n=T9[t];return r.map((e=>n&&n.networkIdentifier?`${e}/sss/${n.networkIdentifier}/jrpc`:`${e}/sss/jrpc`))},I9=(e,t)=>{const r=C9[e];if(!r||0===r.length)throw new Error(`Unsupported network: ${e}`);const n=T9[t];return r.map((e=>n&&n.networkIdentifier?`${e}/rss/${n.networkIdentifier}`:`${e}/rss`))},M9=(e,t)=>{const r=C9[e];if(!r||0===r.length)throw new Error(`Unsupported network: ${e}`);const n=T9[t];return r.map((e=>n&&n.networkIdentifier?`${e}/tss/${n.networkIdentifier}`:`${e}/tss`))},L9={currentEpoch:"19",torusNodeEndpoints:["https://torus-19.torusnode.com/jrpc","https://torus-node.ens.domains/jrpc","https://torus-node.matic.network/jrpc","https://torus.zilliqa.network/jrpc","https://torus-mainnet.cosmos.network/jrpc","https://torus2.etherscan.com/jrpc","https://torus-node-v2.skalelabs.com/jrpc","https://torus-node.binancex.dev/jrpc","https://torusnode.ont.io/jrpc"],torusIndexes:[1,2,3,4,5,6,7,8,9],torusNodePub:[{X:"bbe83c64177c3775550e6ba6ac2bc059f6847d644c9e4894e42c60d7974d8c2b",Y:"82b49a7caf70def38cdad2740af45c1e4f969650105c5019a29bb18b21a9acb5"},{X:"c208cac4ef9a47d386097a9c915b28e9cb89213abee8d26a17198ee261201b0d",Y:"c7db2fe4631109f40833de9dc78d07e35706549ee48fa557b33e4e75e1047873"},{X:"ca1766bb426d4ca5582818a0c5439d560ea64f5baa060793ab29dd3d0ceacfe",Y:"d46c1d08c40e1306e1bca328c2287b8268166b11a1ba4b8442ea2ad0c5e32152"},{X:"c3934dd2f6f4b3d2e1e398cc501e143c1e1a381b52feb6d1525af34d16253768",Y:"71f5141a5035799099f5ea3e241e66946bc55dc857ac3bd7d6fcdb8dcd3eeeef"},{X:"22e66f1929631d00bf026227581597f085fd94fd952fc0dca9f0833398b5c064",Y:"6088b3912e10a1e9d50355a609c10db7d188f16a2e2fd7357e51bf4f6a74f0a1"},{X:"9dc9fa410f3ce9eb70df70cdea00a49f2c4cc7a31c08c0dab5f863ed35ff5139",Y:"627a291cb87a75c61da3f65d6818e1e05e360217179817ed27e8c73bca7ec122"},{X:"118b9fc07e97b096d899b9f6658463ce6a8caa64038e37fc969df4e6023dd8c6",Y:"baf9fa4e51770f4796ea165dd03a769b8606681a38954a0a92c4cbffd6609ce9"},{X:"8a6d8b925da15a273dec3d8f8395ec35cd6878f274b2b180e4e106999db64043",Y:"96f67f870c157743da0b1eb84d89bf30500d74dc84c11f501ee1cb013acc8c46"},{X:"39cecb62e863729f572f7dfc46c24867981bf04bb405fed0df39e33984bfade5",Y:"61c2364434012e68a2be2e9952805037e52629d7762fafc8e10e9fb5bad8f790"}]},N9={[O9.SAPPHIRE_MAINNET]:[{X:"e0925898fee0e9e941fdca7ee88deec99939ae9407e923535c4d4a3a3ff8b052",Y:"54b9fea924e3f3e40791f9987f4234ae4222412d65b74068032fa5d8b63375c1"},{X:"9124cf1e280aab32ba50dffd2de81cecabc13d82d2c1fe9de82f3b3523f9b637",Y:"fca939a1ceb42ce745c55b21ef094f543b457630cb63a94ef4f1afeee2b1f107"},{X:"555f681a63d469cc6c3a58a97e29ebd277425f0e6159708e7c7bf05f18f89476",Y:"606f2bcc0884fa5b64366fc3e8362e4939841b56acd60d5f4553cf36b891ac4e"},{X:"2b5f58d8e340f1ab922e89b3a69a68930edfe51364644a456335e179bc130128",Y:"4b4daa05939426e3cbe7d08f0e773d2bf36f64c00d04620ee6df2a7af4d2247"},{X:"3ecbb6a68afe72cf34ec6c0a12b5cb78a0d2e83ba402983b6adbc5f36219861a",Y:"dc1031c5cc8f0472bd521a62a64ebca9e163902c247bf05937daf4ae835091e4"}],[O9.SAPPHIRE_TESTNET]:[{X:"f74389b0a4c8d10d2a687ae575f69b20f412d41ab7f1fe6b358aa14871327247",Y:"54e3a73098ed9bced3ef8821736e9794f9264a1420c0c7ad15d2fa617ba35ef7"},{X:"bc38813a6873e526087918507c78fc3a61624670ee851ecfb4f3bef55d027b5a",Y:"ac4b21229f662a0aefdfdac21cf17c3261a392c74a8790db218b34e3e4c1d56a"},{X:"b56541684ea5fa40c8337b7688d502f0e9e092098962ad344c34e94f06d293fb",Y:"759a998cef79d389082f9a75061a29190eec0cac99b8c25ddcf6b58569dad55c"},{X:"7bcb058d4c6ffc6ba4bfdfd93d141af35a66338a62c7c27cdad2ae3f8289b767",Y:"336ab1935e41ed4719e162587f0ab55518db4207a1eb36cc72303f1b86689d2b"},{X:"bf12a136ef94399ea098f926f04e26a4ec4ac70f69cce274e8893704c4951773",Y:"bdd44828020f52ce510e026338216ada184a6867eb4e19fb4c2d495d4a7e15e4"}],[O9.SAPPHIRE_DEVNET]:[{X:"f74389b0a4c8d10d2a687ae575f69b20f412d41ab7f1fe6b358aa14871327247",Y:"54e3a73098ed9bced3ef8821736e9794f9264a1420c0c7ad15d2fa617ba35ef7"},{X:"bc38813a6873e526087918507c78fc3a61624670ee851ecfb4f3bef55d027b5a",Y:"ac4b21229f662a0aefdfdac21cf17c3261a392c74a8790db218b34e3e4c1d56a"},{X:"b56541684ea5fa40c8337b7688d502f0e9e092098962ad344c34e94f06d293fb",Y:"759a998cef79d389082f9a75061a29190eec0cac99b8c25ddcf6b58569dad55c"},{X:"7bcb058d4c6ffc6ba4bfdfd93d141af35a66338a62c7c27cdad2ae3f8289b767",Y:"336ab1935e41ed4719e162587f0ab55518db4207a1eb36cc72303f1b86689d2b"},{X:"bf12a136ef94399ea098f926f04e26a4ec4ac70f69cce274e8893704c4951773",Y:"bdd44828020f52ce510e026338216ada184a6867eb4e19fb4c2d495d4a7e15e4"}]},D9=(e,t)=>({currentEpoch:"1",torusNodeEndpoints:R9(e,t),torusNodeSSSEndpoints:R9(e,t),torusNodeRSSEndpoints:I9(e,t),torusNodeTSSEndpoints:M9(e,t),torusIndexes:[1,2,3,4,5],torusNodePub:N9[e]});const B9=n6().getLogger("fnd");class z9{constructor(){let{network:e=O9.SAPPHIRE_MAINNET,fndServerEndpoint:t,enableLogging:r=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Q3(this,"fndServerEndpoint","https://fnd.tor.us/node-details"),Q3(this,"_currentEpoch","1"),Q3(this,"_torusNodeEndpoints",[]),Q3(this,"_torusNodeRSSEndpoints",[]),Q3(this,"_torusNodeSSSEndpoints",[]),Q3(this,"_torusNodeTSSEndpoints",[]),Q3(this,"_torusNodePub",[]),Q3(this,"_torusIndexes",[]),Q3(this,"updated",void 0),Q3(this,"network",void 0),this.network=e,this.updated=!1,t&&(this.fndServerEndpoint=t),r?B9.enableAll():B9.disableAll()}get _nodeDetails(){return{currentEpoch:this._currentEpoch,torusNodeEndpoints:this._torusNodeEndpoints,torusNodeSSSEndpoints:this._torusNodeSSSEndpoints,torusNodeRSSEndpoints:this._torusNodeRSSEndpoints,torusNodeTSSEndpoints:this._torusNodeTSSEndpoints,torusNodePub:this._torusNodePub,torusIndexes:this._torusIndexes,updated:this.updated}}async getNodeDetails(e){let{verifier:t,verifierId:r}=e;try{if(this.updated&&!A9.includes(this.network))return this._nodeDetails;try{const{nodeDetails:e}=await v6(`${this.fndServerEndpoint}?network=${this.network}&verifier=${t}&verifierId=${r}`);return this.setNodeDetails(e),this._nodeDetails}catch(n){B9.error("Failed to fetch node details from server, using local.",n)}const e=function(e){if(Object.values(O9).includes(e))return D9(e);if(Object.values(P9).includes(e)){const t=T9[e];if(t.migrationCompleted)return D9(t.networkMigratedTo,e);if(e===P9.MAINNET)return L9}}(this.network);if(!e)throw new Error("Failed to fetch node details");return this.setNodeDetails(e),this._nodeDetails}catch(n){throw B9.error("Failed to fetch node details",n),n}}setNodeDetails(e){const{currentEpoch:t,torusNodeEndpoints:r,torusNodeSSSEndpoints:n,torusNodeRSSEndpoints:i,torusNodeTSSEndpoints:o,torusNodePub:a,torusIndexes:s}=e;this._torusNodeEndpoints=r,this._torusNodeSSSEndpoints=n||[],this._torusNodeRSSEndpoints=i||[],this._torusNodeTSSEndpoints=o||[],this._torusNodePub=a,this._torusIndexes=s,this._currentEpoch=t,this.updated=!0}}var U9=r(2304),F9=r.n(U9),$9=r(261).Buffer;const H9="GetPubKeyOrKeyAssign",V9="CommitmentRequest",q9="ImportShare",K9="GetShareOrKeyAssign",W9="https://metadata.tor.us",G9=(e,t)=>{let r=e;if("number"===typeof r&&(r=Array.from({length:r},((e,t)=>t))),t>r.length||t<=0)return[];if(t===r.length)return[r];if(1===t)return r.reduce(((e,t)=>[...e,[t]]),[]);const n=[];let i=[];for(let o=0;o<=r.length-t+1;o+=1){i=G9(r.slice(o+1),t-1);for(let e=0;e{const r={};for(let n=0;n=8?o+=t[a].toUpperCase():o+=t[a];return o}function t7(e,t){const r=e.keyFromPrivate(t.toString("hex",64),"hex").getPublic().encode("hex",!1).slice(2);J9.info(r,"public key");return e7(`0x${Q9($9.from(r,"hex")).slice(26)}`)}function r7(e,t,r){const n=e.keyFromPublic({x:t.toString("hex",64),y:r.toString("hex",64)}),i=n.getPublic().encode("hex",!1).slice(2);J9.info(n.getPublic().encode("hex",!1),"public key");return e7(`0x${Q9($9.from(i,"hex")).slice(26)}`)}J9.disableAll();class n7{constructor(e,t,r){Q3(this,"x",void 0),Q3(this,"y",void 0),Q3(this,"ecCurve",void 0),this.x=new(F9())(e,"hex"),this.y=new(F9())(t,"hex"),this.ecCurve=r}encode(e){switch(e){case"arr":return $9.concat([$9.from("0x04","hex"),$9.from(this.x.toString("hex"),"hex"),$9.from(this.y.toString("hex"),"hex")]);case"elliptic-compressed":{const e=this.ecCurve.keyFromPublic({x:this.x.toString("hex",64),y:this.y.toString("hex",64)},"hex");return $9.from(e.getPublic(!0,"hex"))}default:throw new Error("encoding doesn't exist in Point")}}}class i7{constructor(e,t){Q3(this,"share",void 0),Q3(this,"shareIndex",void 0),this.share=new(F9())(t,"hex"),this.shareIndex=new(F9())(e,"hex")}static fromJSON(e){const{share:t,shareIndex:r}=e;return new i7(r,t)}toJSON(){return{share:this.share.toString("hex"),shareIndex:this.shareIndex.toString("hex")}}}class o7{constructor(e,t){Q3(this,"polynomial",void 0),Q3(this,"ecCurve",void 0),this.polynomial=e,this.ecCurve=t}getThreshold(){return this.polynomial.length}polyEval(e){const t=new(F9())(e,"hex");let r=new(F9())(t),n=new(F9())(0);n=n.add(this.polynomial[0]);for(let i=1;i"number"===typeof e?new(F9())(e):e instanceof F9()?e:"string"===typeof e?new(F9())(e,"hex"):e)),r={};for(let n=0;ne.eq(t)))?a7(e):t}const s7=e=>Array.from({length:e},(()=>new(F9())(0))),c7=(e,t,r)=>{let n=s7(r.length);const i=((e,t,r)=>{let n=new(F9())(1);const i=r[t].x;for(let o=r.length-1;o>=0;o-=1)if(t!==o){let t=new(F9())(i);t=t.sub(r[o].x),t=t.umod(e.curve.n),n=n.mul(t),n=n.umod(e.curve.n)}return n})(e,t,r);if(0===i.cmp(new(F9())(0)))throw new Error("Denominator for interpolationPoly is 0");n[0]=i.invm(e.curve.n);for(let o=0;o=0;a-=1){i[a+1]=i[a+1].add(n[a]).umod(e.curve.n);let t=new(F9())(r[o].x);t=t.mul(n[a]).umod(e.curve.n),i[a]=i[a].sub(t).umod(e.curve.n)}n=i}}return n},l7=(e,t)=>{const r=(e=>{const t=[...e];return t.sort(((e,t)=>e.x.cmp(t.x))),t})(t),n=s7(r.length);for(let i=0;it)throw new Error("deterministicShares in generateRandomPolynomial should be less or equal than degree to ensure an element of randomness");const o={};n.forEach((t=>{o[t.shareIndex.toString("hex",64)]=new n7(t.shareIndex,t.share,e)}));for(let a=0;a2&&void 0!==arguments[2]?arguments[2]:{};try{const n=await y6(`${e}/get`,t,r,{useAPIKey:!0});return n&&n.message?new(F9())(n.message,16):new(F9())(0)}catch(n){return n6().error("get metadata error",n),new(F9())(0)}}async function g7(e,t,r,n,i,o){let a;const s=arguments.length>6&&void 0!==arguments[6]&&arguments[6]?"getNonce":"getOrSetNonce";return a=o?function(e,t,r,n){const i=e.keyFromPrivate(n.toString("hex",64)),o={data:r,timestamp:new(F9())(~~(t+Date.now()/1e3)).toString(16)},a=i.sign(Q9($9.from(K8()(o),"utf8")).slice(2));return{pub_key_X:i.getPublic().getX().toString("hex",64),pub_key_Y:i.getPublic().getY().toString("hex",64),set_data:o,signature:$9.from(a.r.toString(16,64)+a.s.toString(16,64)+new(F9())("").toString(16,2),"hex").toString("base64")}}(t,r,s,o):{pub_key_X:n,pub_key_Y:i,set_data:{data:s}},y6(`${e}/get_or_set_nonce`,a,void 0,{useAPIKey:!0})}async function v7(e,t,r,n,i,o){return g7(e,t,r,n,i,o,!0)}const y7={logRequestTracing:!1};class b7 extends Error{constructor(e){let{errors:t,responses:r,predicate:n}=e;super("Unable to resolve enough promises."),Q3(this,"errors",void 0),Q3(this,"responses",void 0),Q3(this,"predicate",void 0),this.errors=t,this.responses=r,this.predicate=n}get message(){return`${super.message}. ${this.errors.length} errors: ${this.errors.map((e=>e.message||e)).join(", ")} and ${this.responses.length} responses: ${JSON.stringify(this.responses)}`}toString(){return this.message}}const w7=(e,t)=>new Promise(((r,n)=>{let i=0;const o={resolved:!1},a=new Array(e.length).fill(void 0),s=new Array(e.length).fill(void 0);let c;return e.forEach(((l,u)=>l.then((e=>{s[u]=e})).catch((e=>{a[u]=e})).finally((()=>{if(!o.resolved)return t(s.slice(0),o).then((e=>{o.resolved=!0,r(e)})).catch((e=>{c=e})).finally((()=>{if(i+=1,i===e.length){const e=Object.values(s.reduce(((e,t)=>{if(t){var r;const{id:i,error:o}=t;(null===o||void 0===o||null===(r=o.data)||void 0===r?void 0:r.length)>0&&(o.data.startsWith("Error occurred while verifying params")?e[i]=(n=o.data).charAt(0).toUpperCase()+n.slice(1):e[i]=o.data)}var n;return e}),{}));if(e.length>0){const t=e.length>1?`\n${e.map((e=>`\u2022 ${e}`)).join("\n")}`:e[0];n(new Error(t))}else{var t;n(new b7({errors:a,responses:s,predicate:(null===(t=c)||void 0===t?void 0:t.message)||c}))}}}))}))))}));function x7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _7(e){for(var t=1;t0){if(h.length!==c.length)throw new Error("Invalid imported shares length");w=!0}for(let x=0;x{J9.error("commitment error",e)}));p.push(e)}return w7(p,(e=>{const t=e.filter((e=>!(!e||"object"!==typeof e)&&!e.error));if(h.length>0&&t.length===c.length)return Promise.resolve(e);if(0===h.length&&t.length>=1+~~(3*c.length/4)){if(t.find((e=>{var t;return!(!e||"1"!==(null===(t=e.result)||void 0===t?void 0:t.nodeindex))})))return Promise.resolve(e)}return Promise.reject(new Error(`invalid ${JSON.stringify(e)}`))})).then((e=>{const t=[],r=[];for(let i=0;iJ9.error("share req",e)));t.push(n)}else{const e=y6(c[i],b6(K9,{encrypted:"yes",use_temp:!0,item:[_7(_7({},u),{},{idtoken:d,nodesignatures:r,verifieridentifier:l},f)],one_key_flow:!0}),null,{logTracingHeader:y7.logRequestTracing}).catch((e=>J9.error("share req",e)));t.push(e)}}let n;return w7(t,(async(e,t)=>{const r=e.filter((e=>!(!e||"object"!==typeof e)&&!e.error)),o=e.map((e=>{if(e&&e.result&&e.result.keys[0].public_key){if(!n&&!u.extended_verifier_id){var t,r;(null===(t=e.result.keys[0].nonce_data)||void 0===t||null===(r=t.pubNonce)||void 0===r?void 0:r.x)&&(n=e.result.keys[0].nonce_data)}return e.result.keys[0].public_key}})),s=Y9(o,1+~~(c.length/2));if(!s)throw new Error("invalid result from nodes, threshold number of public key results are not matching");if(!n&&!u.extended_verifier_id&&!T9[a])throw new Error(`invalid metadata result from nodes, nonce metadata is empty for verifier: ${l} and verifierId: ${u.verifier_id}`);const d=h.length>0?c.length:1+~~(c.length/2);if(r.length>=d&&s&&(n||u.extended_verifier_id||T9[a])){const e=[],o=[],a=[],l=[],d=[];for(let t=0;t0)u&&null!==(f=u[0])&&void 0!==f&&f.ephemPublicKey?o.push(p7(u[0],c[0],m).catch((e=>J9.debug("session sig decryption",e)))):o.push(Promise.resolve($9.from(c[0],"hex")));else o.push(Promise.resolve(void 0));if((null===i||void 0===i?void 0:i.length)>0)s&&null!==(p=s[0])&&void 0!==p&&p.ephemPublicKey?a.push(p7(s[0],i[0],m).catch((e=>J9.debug("session token sig decryption",e)))):a.push(Promise.resolve($9.from(i[0],"base64")));else a.push(Promise.resolve(void 0));if((null===d||void 0===d?void 0:d.length)>0){const t=n.result.keys[0];l.push(new(F9())(t.node_index)),t.share_metadata&&e.push(p7(t.share_metadata,$9.from(t.share,"base64").toString("binary").padStart(64,"0"),m).catch((e=>J9.debug("share decryption",e))))}else l.push(void 0),e.push(Promise.resolve(void 0))}const h=await Promise.all(e.concat(o).concat(a)),g=h.slice(0,e.length),v=h.slice(e.length,e.length+o.length),y=h.slice(e.length+o.length,h.length),b=v.filter((e=>!!e)),w=1+~~(c.length/2);if(!u.extended_verifier_id&&b.length!!e));if(!u.extended_verifier_id&&x.length{e?d.push({token:e.toString("base64"),signature:v[t].toString("hex"),node_pubx:r[t].result.node_pubx,node_puby:r[t].result.node_puby}):d.push(void 0)})),t.resolved)return;const _=g.reduce(((e,t,r)=>(t&&e.push({index:l[r],value:new(F9())(t)}),e)),[]),S=G9(_.length,1+~~(c.length/2));let k=null;for(let t=0;te.includes(r))),n=r.map((e=>e.value)),o=r.map((e=>e.index)),a=u7(i,n,o);if(!a)continue;const c=B8($9.from(a.toString(16,64),"hex")).toString("hex"),l=c.slice(2,66),u=c.slice(66);if(0===new(F9())(l,16).cmp(new(F9())(s.X,16))&&0===new(F9())(u,16).cmp(new(F9())(s.Y,16))){k=a;break}}if(void 0===k||null===k)throw new Error("could not derive private key");return{privateKey:k,sessionTokenData:d,thresholdNonceData:n,nodeIndexes:l}}throw new Error("Invalid")}))})).then((async e=>{var o;const{privateKey:s,sessionTokenData:c,thresholdNonceData:l,nodeIndexes:d}=e;let h=l;if(!s)throw new Error("Invalid private key returned");const f=s,p=B8($9.from(f.toString(16,64),"hex")).toString("hex"),g=p.slice(2,66),v=p.slice(66);let y,b,w=new(F9())(null!==(o=h)&&void 0!==o&&o.nonce?h.nonce.padStart(64,"0"):"0","hex"),x="v1";if(u.extended_verifier_id)x="v2",y=i.keyFromPublic({x:g,y:v}).getPublic();else if(T9[a])if(n)h=await v7(t,i,r,g,v,f),w=new(F9())(h.nonce||"0",16),b={X:h.pubNonce.x,Y:h.pubNonce.y},x=h.typeOfUser,"v2"===x&&(y=i.keyFromPublic({x:g,y:v}).getPublic().add(i.keyFromPublic({x:h.pubNonce.x,y:h.pubNonce.y}).getPublic()));else{x="v1",w=await m7(t,{pub_key_X:g,pub_key_Y:v});const e=f.add(w).umod(i.curve.n);y=i.keyFromPrivate(e.toString(16,64),"hex").getPublic()}else x="v2",y=i.keyFromPublic({x:g,y:v}).getPublic().add(i.keyFromPublic({x:h.pubNonce.x,y:h.pubNonce.y}).getPublic()),b={X:h.pubNonce.x,Y:h.pubNonce.y};const _=t7(i,f),S=r7(i,y.getX(),y.getY());J9.debug("> torus.js/retrieveShares",{finalEvmAddress:S});let k="";if("v1"===x||"v2"===x&&w.gt(new(F9())(0))){k=f.add(w).umod(i.curve.n).toString("hex",64)}let E=!1;return"v1"===x?E=null:"v2"===x&&(E=w.eq(new(F9())("0"))),{finalKeyData:{evmAddress:S,X:y.getX().toString(16,64),Y:y.getY().toString(16,64),privKey:k},oAuthKeyData:{evmAddress:_,X:g,Y:v,privKey:f.toString("hex",64).padStart(64,"0")},sessionData:{sessionTokenData:c,sessionAuthKey:m.toString("hex").padStart(64,"0")},metadata:{pubNonce:b,nonce:w,typeOfUser:x,upgraded:E},nodesData:{nodeIndexes:d.map((e=>e.toNumber()))}}}))}const k7=async(e,t,r)=>{const n=e.map((e=>y6(e,b6("VerifierLookupRequest",{verifier:t,verifier_id:r.toString()})).catch((e=>J9.error("lookup request failed",e)))));return w7(n,(t=>{const r=t.filter((e=>e)),n=Y9(r.map((e=>e&&e.error)),1+~~(e.length/2)),i=Y9(r.map((e=>e&&e.result)),1+~~(e.length/2));return i||n?Promise.resolve({keyResult:i,errorResult:n}):Promise.reject(new Error(`invalid results ${JSON.stringify(t)}`))}))},E7=async e=>{let t,r,{endpoints:n,torusNodePubs:i,lastPoint:o,firstPoint:a,verifier:s,verifierId:c,signerHost:l,network:u,clientId:d}=e;if(void 0===o?(t=Math.floor(Math.random()*n.length),J9.info("keyassign",t,n[t]),r=t):t=o%n.length,t===a)throw new Error("Looped through all");void 0!==a&&(r=a);const h=b6("KeyAssign",{verifier:s,verifier_id:c.toString()});try{const e=await y6(l,h,{headers:{pubKeyX:i[t].X,pubKeyY:i[t].Y,network:u,clientId:d}},{useAPIKey:!0});return await y6(n[t],_7(_7({},h),e),{headers:{"Content-Type":"application/json; charset=utf-8"}})}catch(f){J9.error(f.status,f.message,f,"key assign error");const e=["Timed out","Failed to fetch","cancelled","NetworkError when attempting to fetch resource.","TypeError: Failed to fetch","TypeError: cancelled","TypeError: NetworkError when attempting to fetch resource."];if(502===(null===f||void 0===f?void 0:f.status)||504===(null===f||void 0===f?void 0:f.status)||401===(null===f||void 0===f?void 0:f.status)||e.includes(f.message)||e.some((e=>f.message.includes(e)))||f.message&&f.message.includes("reason: getaddrinfo EAI_AGAIN"))return E7({endpoints:n,torusNodePubs:i,lastPoint:t+1,firstPoint:r,verifier:s,verifierId:c,signerHost:l,network:u,clientId:d});throw new Error(`Sorry, the Torus Network that powers Web3Auth is currently very busy.\n We will generate your key in time. Pls try again later. \n\n ${f.message||""}`)}};function P7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O7(e){for(var t=1;t0&&void 0!==arguments[0])||arguments[0]?(J9.enableAll(),y7.logRequestTracing=!0):J9.disableAll()}static setAPIKey(e){f6(e)}static setEmbedHost(e){h6(e)}static isGetOrSetNonceError(e){return e instanceof X9}static getPostboxKey(e){return"v1"===e.metadata.typeOfUser&&e.finalKeyData.privKey||e.oAuthKeyData.privKey}async retrieveShares(e,t,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.isLegacyNetwork?this.legacyRetrieveShares(e,t,r,n,i,o):S7({legacyMetadataHost:this.legacyMetadataHost,serverTimeOffset:this.serverTimeOffset,enableOneKey:this.enableOneKey,ecCurve:this.ec,allowHost:this.allowHost,network:this.network,clientId:this.clientId,endpoints:e,verifier:r,verifierParams:n,idToken:i,importedShares:[],extraParams:o})}async getPublicAddress(e,t,r){let{verifier:n,verifierId:i,extendedVerifierId:o}=r;return this.isLegacyNetwork?this.getLegacyPublicAddress(e,t,{verifier:n,verifierId:i},this.enableOneKey):this.getNewPublicAddress(e,{verifier:n,verifierId:i,extendedVerifierId:o},this.enableOneKey)}async importPrivateKey(e,t,r,n,i,o,a){let s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(this.isLegacyNetwork)throw new Error("This function is not supported on legacy networks");if(e.length!==t.length)throw new Error("length of endpoints array must be same as length of nodeIndexes array");const c=1+~~(e.length/2)-1,l=[],u=this.ec.keyFromPrivate(a.padStart(64,"0"),"hex");for(const x of t)l.push(new(F9())(x));const d=u.getPrivate(),h=new(F9())(D8()),f=d.sub(h).umod(this.ec.curve.n),p=this.ec.keyFromPrivate(f.toString("hex").padStart(64,"0")).getPublic(),m=d7(this.ec,c,f).generateShares(l),g=this.generateNonceMetadataParams("getOrSetNonce",f,h),v=$9.from(K8()(g.set_data),"utf8").toString("base64"),y=[],b=[];for(let x=0;x5&&void 0!==arguments[5]?arguments[5]:{};const a=[];await v6(this.allowHost,{headers:{verifier:r,verifierId:n.verifier_id,network:this.network,clientId:this.clientId}},{useAPIKey:!0});const s=D8(),c=B8(s).toString("hex"),l=c.slice(2,66),u=c.slice(66),d=Q9($9.from(i,"utf8"));for(let h=0;h{J9.error("commitment",e)}));a.push(t)}return w7(a,(t=>{const r=t.filter((e=>!(!e||"object"!==typeof e)&&!e.error));return r.length>=3*~~(e.length/4)+1?Promise.resolve(t):Promise.reject(new Error(`invalid ${JSON.stringify(t)}`))})).then((a=>{const c=[],l=[];for(let e=0;eJ9.error("share req",e)));c.push(a)}return w7(c,(async(r,n)=>{const i=r.filter((e=>e)),o=Y9(r.map((e=>e&&e.result&&e.result.keys[0].PublicKey)),1+~~(e.length/2));if(i.length>=1+~~(e.length/2)&&o){const i=[],l=[];for(let e=0;e0){n.result.keys.sort(((e,t)=>new(F9())(e.Index,16).cmp(new(F9())(t.Index,16))));const e=n.result.keys[0];if(e.Metadata){const t={ephemPublicKey:$9.from(e.Metadata.ephemPublicKey,"hex"),iv:$9.from(e.Metadata.iv,"hex"),mac:$9.from(e.Metadata.mac,"hex")};i.push(H8(s,O7(O7({},t),{},{ciphertext:$9.from($9.from(e.Share,"base64").toString("binary").padStart(64,"0"),"hex")})).catch((e=>J9.debug("share decryption",e))))}else i.push(Promise.resolve($9.from(e.Share.padStart(64,"0"),"hex")))}else i.push(Promise.resolve(void 0));l.push(new(F9())(t[e],16))}const u=await Promise.all(i);if(n.resolved)return;const d=u.reduce(((e,t,r)=>(t&&e.push({index:l[r],value:new(F9())(t)}),e)),[]),h=G9(d.length,1+~~(e.length/2));let f=null;for(let e=0;et.includes(r))),n=r.map((e=>e.value)),i=r.map((e=>e.index)),a=u7(this.ec,n,i);if(!a)continue;const s=B8($9.from(a.toString(16,64),"hex")).toString("hex"),c=s.slice(2,66),l=s.slice(66);if(0===new(F9())(c,16).cmp(new(F9())(o.X,16))&&0===new(F9())(l,16).cmp(new(F9())(o.Y,16))){f=a;break}}if(void 0===f||null===f)throw new Error("could not derive private key");return f}throw new Error("invalid")}))})).then((async e=>{const t=e;if(!t)throw new Error("Invalid private key returned");const r=B8($9.from(t.toString(16,64),"hex")).toString("hex"),n=r.slice(2,66),i=r.slice(66);let o,a,s,c="v1";if(this.enableOneKey){const e=await v7(this.legacyMetadataHost,this.ec,this.serverTimeOffset,n,i,t);o=new(F9())(e.nonce||"0",16),c=e.typeOfUser,"v2"===e.typeOfUser&&(a=this.ec.keyFromPublic({x:n,y:i}).getPublic().add(this.ec.keyFromPublic({x:e.pubNonce.x,y:e.pubNonce.y}).getPublic()),s={X:e.pubNonce.x,Y:e.pubNonce.y})}else{o=await m7(this.legacyMetadataHost,{pub_key_X:n,pub_key_Y:i});const e=t.add(o).umod(this.ec.curve.n);a=this.ec.keyFromPrivate(e.toString("hex"),"hex").getPublic()}const l=t7(this.ec,t),u=r7(this.ec,a.getX(),a.getY());J9.debug("> torus.js/retrieveShares",{finalEvmAddress:u});let d="";if("v1"===c||"v2"===c&&o.gt(new(F9())(0))){d=t.add(o).umod(this.ec.curve.n).toString("hex",64).padStart(64,"0")}let h=!1;return"v1"===c?h=null:"v2"===c&&(h=o.eq(new(F9())("0"))),{finalKeyData:{evmAddress:u,X:a?a.getX().toString(16,64):"",Y:a?a.getY().toString(16,64):"",privKey:d},oAuthKeyData:{evmAddress:l,X:n,Y:i,privKey:t.toString("hex",64).padStart(64,"0")},sessionData:{sessionTokenData:[],sessionAuthKey:""},metadata:{pubNonce:s,nonce:o,typeOfUser:c,upgraded:h},nodesData:{nodeIndexes:[]}}}))}async getLegacyPublicAddress(e,t,r,n){let i,{verifier:o,verifierId:a}=r;J9.debug("> torus.js/getPublicAddress",{endpoints:e,torusNodePubs:t,verifier:o,verifierId:a});let s=!1;const{keyResult:c,errorResult:l}=await k7(e,o,a)||{};if(l&&JSON.stringify(l).includes("Verifier not supported"))throw new Error("Verifier not supported. Check if you: \n\n 1. Are on the right network (Torus testnet/mainnet) \n\n 2. Have setup a verifier on dashboard.web3auth.io?");if(l&&JSON.stringify(l).includes("Verifier + VerifierID has not yet been assigned")){await E7({endpoints:e,torusNodePubs:t,lastPoint:void 0,firstPoint:void 0,verifier:o,verifierId:a,signerHost:this.signerHost,network:this.network,clientId:this.clientId});const r=await((e,t,r,n)=>new Promise(((i,o)=>{setTimeout((()=>{k7(e,t,r).then(i).catch(o)}),n)})))(e,o,a,1e3);i=null===r||void 0===r?void 0:r.keyResult,s=!0}else{if(!c)throw new Error(`node results do not match at first lookup ${JSON.stringify(c||{})}, ${JSON.stringify(l||{})}`);i=c}if(J9.debug("> torus.js/getPublicAddress",{finalKeyResult:i,isNewKey:s}),i)return this.formatLegacyPublicKeyData({finalKeyResult:i,isNewKey:s,enableOneKey:n});throw new Error(`node results do not match at final lookup ${JSON.stringify(c||{})}, ${JSON.stringify(l||{})}`)}generateNonceMetadataParams(e,t,r){const n=this.ec.keyFromPrivate(t.toString("hex",64)),i={operation:e,timestamp:new(F9())(~~(this.serverTimeOffset+Date.now()/1e3)).toString(16)};r&&(i.data=r.toString("hex",64));const o=n.sign(Q9($9.from(K8()(i),"utf8")).slice(2));return{pub_key_X:n.getPublic().getX().toString("hex",64),pub_key_Y:n.getPublic().getY().toString("hex",64),set_data:i,signature:$9.from(o.r.toString(16,64)+o.s.toString(16,64)+new(F9())("").toString(16,2),"hex").toString("base64")}}async getNewPublicAddress(e,t,r){let{verifier:n,verifierId:i,extendedVerifierId:o}=t;J9.debug("> torus.js/getPublicAddress",{endpoints:e,verifier:n,verifierId:i});const a=await(async e=>{const{endpoints:t,network:r,verifier:n,verifierId:i,extendedVerifierId:o}=e,a=t.map((e=>y6(e,b6(H9,{verifier:n,verifier_id:i.toString(),extended_verifier_id:o,one_key_flow:!0,fetch_node_index:!0}),null,{logTracingHeader:y7.logRequestTracing}).catch((e=>J9.error(`${H9} request failed`,e)))));let s;const c=[],l=await w7(a,(e=>{const a=e.filter((e=>{if(e&&!e.error){var t,r,n;if(!s)(null===(t=e.result)||void 0===t||null===(r=t.keys[0].nonce_data)||void 0===r||null===(n=r.pubNonce)||void 0===n?void 0:n.x)&&(s=e.result.keys[0].nonce_data);return e}return!1})),l=Y9(a.map((e=>e&&e.error)),1+~~(t.length/2)),u=Y9(a.map((e=>e&&(e=>{const t={keys:[],is_new_key:e.is_new_key};return e&&e.keys&&e.keys.length>0&&(t.keys=e.keys.map((e=>({pub_key_X:e.pub_key_X,pub_key_Y:e.pub_key_Y,address:e.address})))),t})(e.result))),1+~~(t.length/2));return u&&(s||o||T9[r])||l?(u&&e.forEach((e=>{if(e&&e.result){const t=parseInt(e.result.node_index);t&&c.push(t)}})),Promise.resolve({keyResult:u,nodeIndexes:c,errorResult:l,nonceResult:s})):Promise.reject(new Error(`invalid public key result: ${JSON.stringify(e)} and nonce result:${JSON.stringify(s||{})} for verifier: ${n}, verifierId: ${i} and extendedVerifierId: ${o} `))}));return l})({endpoints:e,network:this.network,verifier:n,verifierId:i,extendedVerifierId:o}),{errorResult:s,keyResult:c,nodeIndexes:l=[]}=a,{nonceResult:u}=a;if(s&&JSON.stringify(s).toLowerCase().includes("verifier not supported"))throw new Error("Verifier not supported. Check if you: \n\n 1. Are on the right network (Torus testnet/mainnet) \n\n 2. Have setup a verifier on dashboard.web3auth.io?");if(s)throw new Error(`node results do not match at first lookup ${JSON.stringify(c||{})}, ${JSON.stringify(s||{})}`);if(J9.debug("> torus.js/getPublicAddress",{keyResult:c}),null===c||void 0===c||!c.keys)throw new Error(`node results do not match at final lookup ${JSON.stringify(c||{})}, ${JSON.stringify(s||{})}`);if(!u&&!o&&!T9[this.network])throw new X9("metadata nonce is missing in share response");const{pub_key_X:d,pub_key_Y:h}=c.keys[0];let f;const p=new(F9())((null===u||void 0===u?void 0:u.nonce)||"0",16);let m,g;if(o)g=this.ec.keyFromPublic({x:d,y:h}).getPublic(),m=g;else{if(T9[this.network])return this.formatLegacyPublicKeyData({isNewKey:c.is_new_key,enableOneKey:r,finalKeyResult:{keys:c.keys}});{const e=u;m=this.ec.keyFromPublic({x:d,y:h}).getPublic(),g=this.ec.keyFromPublic({x:d,y:h}).getPublic().add(this.ec.keyFromPublic({x:e.pubNonce.x,y:e.pubNonce.y}).getPublic()),f={X:e.pubNonce.x,Y:e.pubNonce.y}}}if(!m)throw new Error("Unable to derive oAuthPubKey");const v=m.getX().toString(16,64),y=m.getY().toString(16,64),b=r7(this.ec,m.getX(),m.getY());if(J9.debug("> torus.js/getPublicAddress, oAuthKeyData",{X:v,Y:y,oAuthAddress:b,nonce:null===p||void 0===p?void 0:p.toString(16),pubNonce:f}),!g)throw new Error("Unable to derive finalPubKey");const w=g?g.getX().toString(16,64):"",x=g?g.getY().toString(16,64):"";return{oAuthKeyData:{evmAddress:b,X:v,Y:y},finalKeyData:{evmAddress:g?r7(this.ec,g.getX(),g.getY()):"",X:w,Y:x},metadata:{pubNonce:f,nonce:p,upgraded:(null===u||void 0===u?void 0:u.upgraded)||!1,typeOfUser:"v2"},nodesData:{nodeIndexes:l}}}async formatLegacyPublicKeyData(e){var t,r;const{finalKeyResult:n,enableOneKey:i,isNewKey:o}=e,{pub_key_X:a,pub_key_Y:s}=n.keys[0];let c,l,u,d,h;const f=this.ec.keyFromPublic({x:a,y:s}).getPublic();if(i){try{c=await g7(this.legacyMetadataHost,this.ec,this.serverTimeOffset,a,s,void 0,!o),l=new(F9())(c.nonce||"0",16),d=c.typeOfUser}catch{throw new X9}if("v1"===c.typeOfUser)u=this.ec.keyFromPublic({x:a,y:s}).getPublic().add(this.ec.keyFromPrivate(l.toString(16)).getPublic());else{if("v2"!==c.typeOfUser)throw new Error("getOrSetNonce should always return typeOfUser.");u=this.ec.keyFromPublic({x:a,y:s}).getPublic().add(this.ec.keyFromPublic({x:c.pubNonce.x,y:c.pubNonce.y}).getPublic()),h={X:c.pubNonce.x,Y:c.pubNonce.y}}}else d="v1",l=await m7(this.legacyMetadataHost,{pub_key_X:a,pub_key_Y:s}),u=this.ec.keyFromPublic({x:a,y:s}).getPublic().add(this.ec.keyFromPrivate(l.toString(16)).getPublic());if(!f)throw new Error("Unable to derive oAuthPubKey");const p=f.getX().toString(16,64),m=f.getY().toString(16,64),g=r7(this.ec,f.getX(),f.getY());if(J9.debug("> torus.js/getPublicAddress, oAuthKeyData",{X:p,Y:m,oAuthAddress:g,nonce:null===(t=l)||void 0===t?void 0:t.toString(16),pubNonce:h}),"v2"===d&&!u)throw new Error("Unable to derive finalPubKey");const v=u?u.getX().toString(16,64):"",y=u?u.getY().toString(16,64):"";return{oAuthKeyData:{evmAddress:g,X:p,Y:m},finalKeyData:{evmAddress:u?r7(this.ec,u.getX(),u.getY()):"",X:v,Y:y},metadata:{pubNonce:h,nonce:l,upgraded:(null===(r=c)||void 0===r?void 0:r.upgraded)||!1,typeOfUser:d},nodesData:{nodeIndexes:[]}}}}var T7=r(1871),j7=r(261).Buffer;function C7(e){return j7.from((0,W8.wn)(e))}const R7=new Ns.ec("secp256k1");function I7(e){return{iv:j7.from(e.iv,"hex"),ephemPublicKey:j7.from(e.ephemPublicKey,"hex"),ciphertext:j7.from(e.ciphertext,"hex"),mac:j7.from(e.mac,"hex")}}function M7(e){return{iv:j7.from(e.iv).toString("hex"),ephemPublicKey:j7.from(e.ephemPublicKey).toString("hex"),ciphertext:j7.from(e.ciphertext).toString("hex"),mac:j7.from(e.mac).toString("hex")}}async function L7(e,t){const r=JSON.stringify(t),n=j7.from(r,"utf-8"),i=M7(await $8(B8(j7.from(e,"hex")),n));return JSON.stringify(i)}async function N7(e,t){const r=I7(JSON.parse(t)),n=R7.keyFromPrivate(e),i=(await H8(j7.from(n.getPrivate().toString("hex",64),"hex"),r)).toString("utf-8");return JSON.parse(i)}var D7=r(261).Buffer;const B7="google",z7="facebook",U7="reddit",F7="discord",$7="twitch",H7="apple",V7="github",q7="linkedin",K7="twitter",W7="weibo",G7="line",Y7="email_password",Z7="passwordless",X7="jwt",J7="webauthn",Q7="single_id_verifier",eee={POPUP:"popup",REDIRECT:"redirect"},tee="localStorage",ree="server",nee="triggerLogin",iee="triggerAggregateLogin",oee="triggerHybridAggregateLogin",aee="fetchNodeDetails",see="pubAddressLookup",cee="fetchShares";var lee=n6().getLogger("customauth");const uee={[H7]:"apple",[V7]:"github",[q7]:"linkedin",[K7]:"twitter",[W7]:"weibo",[G7]:"line",[Y7]:"Username-Password-Authentication",[Z7]:"email"},dee=e=>e.href.endsWith("/")?e.href:`${e.href}/`,hee={webWorkerSupport:!1};function fee(e,t){return t?e:e.toLowerCase()}const pee=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const{name:i,sub:o}=e;if(r)return fee(e[r],n);switch(t){case Z7:case Y7:return fee(i,n);case W7:case V7:case K7:case H7:case q7:case G7:case X7:return fee(o,n);default:throw new Error("Invalid login type")}},mee=(e,t)=>{const r=e.split("&").reduce(((e,t)=>{const[r,n]=t.split("=");return e[r]=n,e}),{});lee.info(r,t);let n={},i="";return Object.keys(r).length>0&&r.state?(n=JSON.parse(atob(decodeURIComponent(decodeURIComponent(r.state))))||{},i=r.error_description||r.error||i):Object.keys(t).length>0&&t.state&&(n=JSON.parse(atob(decodeURIComponent(decodeURIComponent(t.state))))||{},t.error&&(i=t.error)),{error:i,instanceParameters:n,hashParameters:r}};function gee(e){const{baseURL:t,query:r,hash:n}=e,i=new URL(t);if(r&&Object.keys(r).forEach((e=>{i.searchParams.append(e,r[e])})),n){const e=new URL(gee({baseURL:t,query:n})).searchParams.toString();i.hash=e}return i.toString()}const vee=e=>{try{return new URL(decodeURIComponent(e))}catch(t){throw new Error(`${(null===t||void 0===t?void 0:t.message)||""}, Note: Your jwt domain: (i.e ${e}) must have http:// or https:// prefix`)}};function yee(e){return e!==z7&&e!==G7||!function(){const e=_6().getParser(navigator.userAgent).getPlatform();return e.type===_6().PLATFORMS_MAP.tablet||e.type===_6().PLATFORMS_MAP.mobile}()?1e4:6e4}class bee extends yd.EventEmitter{constructor(e){let{url:t,target:r,features:n,timeout:i=3e4}=e;super(),Q3(this,"url",void 0),Q3(this,"target",void 0),Q3(this,"features",void 0),Q3(this,"window",void 0),Q3(this,"windowTimer",void 0),Q3(this,"iClosedWindow",void 0),Q3(this,"timeout",void 0),this.url=t,this.target=r||"_blank",this.features=n||function(){const e=void 0!==window.screenLeft?window.screenLeft:window.screenX,t=void 0!==window.screenTop?window.screenTop:window.screenY,r=window.innerWidth?window.innerWidth:document.documentElement.clientWidth?document.documentElement.clientWidth:window.screen.width,n=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:window.screen.height,i=Math.abs((r-1200)/2/1+e);return`titlebar=0,toolbar=0,status=0,location=0,menubar=0,height=700,width=1200,top=${Math.abs((n-700)/2/1+t)},left=${i}`}(),this.window=void 0,this.windowTimer=void 0,this.iClosedWindow=!1,this.timeout=i,this._setupTimer()}_setupTimer(){this.window&&(this.windowTimer=Number(setInterval((()=>{this.window&&this.window.closed&&(clearInterval(this.windowTimer),setTimeout((()=>{this.iClosedWindow||this.emit("close"),this.iClosedWindow=!1,this.window=void 0}),this.timeout)),void 0===this.window&&clearInterval(this.windowTimer)}),500)))}open(){var e;return this.window=window.open(this.url.href,this.target,this.features),null!==(e=this.window)&&void 0!==e&&e.focus&&this.window.focus(),Promise.resolve()}close(){this.iClosedWindow=!0,this.window&&this.window.close()}redirect(e){e?window.location.replace(this.url.href):window.location.href=this.url.href}}const wee=["access_token","id_token"];function xee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _ee(e){for(var t=1;t{let n;const i=async t=>{try{const{error:i,data:o}=t,a=o||{},{instanceParams:s,hashParams:{access_token:c,id_token:l}}=a,u=w6(a.hashParams,wee);if(i)return lee.error(t),void r(new Error(`Error: ${i}. Info: ${JSON.stringify(t.data||{})}`));t.data&&s.verifier===this.verifier&&(lee.info(t.data),!this.redirectToOpener&&n&&await n.postMessage({success:!0}),e(_ee(_ee({accessToken:c,idToken:l||""},u),{},{state:s})))}catch(i){lee.error(i),r(i)}};if(this.redirectToOpener){const e=async r=>{if(!r.data)return;const n=r.data;n.channel===`redirect_channel_${this.nonce}`&&(window.removeEventListener("message",e),i(n),t.close())};window.addEventListener("message",e)}else n=new v9(`redirect_channel_${this.nonce}`,hee),n.addEventListener("message",(async e=>{await i(e),n.close(),t.close()}));t.open(),t.once("close",(()=>{n&&n.close(),r(new Error("user closed popup"))}))})):(t.redirect(e.locationReplaceOnRedirect),null)}}class kee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token"),Q3(this,"SCOPE","identify email"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://discord.com/api/oauth2/authorize"),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,redirect_uri:this.redirect_uri,scope:this.SCOPE},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://discord.com/api/users/@me",{headers:{Authorization:`Bearer ${t}`}}),{id:n,avatar:i,email:o="",username:a="",discriminator:s=""}=r;return{profileImage:null===i?`https://cdn.discordapp.com/embed/avatars/${Number(s)%5}.png`:`https://cdn.discordapp.com/avatars/${n}/${i}.png?size=2048`,name:`${a}#${s}`,email:o,verifierId:n,verifier:this.verifier,typeOfLogin:this.typeOfLogin}}}class Eee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token"),Q3(this,"SCOPE","public_profile email"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://www.facebook.com/v15.0/dialog/oauth"),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,redirect_uri:this.redirect_uri,scope:this.SCOPE},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://graph.facebook.com/me?fields=name,email,picture.type(large)",{headers:{Authorization:`Bearer ${t}`}}),{name:n="",id:i,picture:o,email:a=""}=r;return{email:a,name:n,profileImage:o.data.url||"",verifier:this.verifier,verifierId:i,typeOfLogin:this.typeOfLogin}}}class Pee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token id_token"),Q3(this,"SCOPE","profile email openid"),Q3(this,"PROMPT","consent select_account"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://accounts.google.com/o/oauth2/v2/auth"),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,prompt:this.PROMPT,redirect_uri:this.redirect_uri,scope:this.SCOPE,nonce:this.nonce},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://www.googleapis.com/userinfo/v2/me",{headers:{Authorization:`Bearer ${t}`}}),{picture:n="",email:i="",name:o=""}=r;return{email:i,name:o,profileImage:n,verifier:this.verifier,verifierId:i.toLowerCase(),typeOfLogin:this.typeOfLogin}}}let Oee=class extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"SCOPE","openid profile email"),Q3(this,"RESPONSE_TYPE","token id_token"),Q3(this,"PROMPT","login"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const{domain:e}=this.jwtParams,t=vee(e);t.pathname+=t.pathname.endsWith("/")?"authorize":"/authorize";const r=JSON.parse(JSON.stringify(this.jwtParams));delete r.domain;const n=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,prompt:this.PROMPT,redirect_uri:this.redirect_uri,scope:this.SCOPE,connection:uee[this.typeOfLogin],nonce:this.nonce},r);Object.keys(n).forEach((e=>{n[e]&&t.searchParams.append(e,n[e])})),this.finalURL=t}async getUserInfo(e){const{idToken:t,accessToken:r}=e,{domain:n,verifierIdField:i,isVerifierIdCaseSensitive:o,user_info_route:a="userinfo"}=this.jwtParams;if(r)try{const e=new URL(n),t=await v6(`${dee(e)}${a}`,{headers:{Authorization:`Bearer ${r}`}}),{picture:s,name:c,email:l}=t;return{email:l,name:c,profileImage:s,verifierId:pee(t,this.typeOfLogin,i,o),verifier:this.verifier,typeOfLogin:this.typeOfLogin}}catch(s){n6().warn(s,"Unable to get userinfo from endpoint")}if(t){const e=E9(t),{name:r,email:n,picture:a}=e;return{profileImage:a,name:r,email:n,verifierId:pee(e,this.typeOfLogin,i,o),verifier:this.verifier,typeOfLogin:this.typeOfLogin}}throw new Error("Access/id token not available")}};class Aee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=JSON.parse(JSON.stringify(this.jwtParams));delete e.domain;const t=t6()({state:this.state,client_id:this.clientId,nonce:this.nonce},e);this.finalURL=new URL(gee({baseURL:this.redirect_uri,query:null,hash:t}))}async getUserInfo(e){const{idToken:t,accessToken:r}=e,{domain:n,verifierIdField:i,isVerifierIdCaseSensitive:o,user_info_route:a="userinfo"}=this.jwtParams;if(r)try{const e=new URL(n),t=await v6(`${dee(e)}${a}`,{headers:{Authorization:`Bearer ${r}`}}),{picture:s,name:c,email:l}=t;return{email:l,name:c,profileImage:s,verifierId:pee(t,this.typeOfLogin,i,o),verifier:this.verifier,typeOfLogin:this.typeOfLogin}}catch(s){n6().warn(s,"Unable to get userinfo from endpoint")}if(t){const e=E9(t),{name:r,email:n,picture:a}=e;return{profileImage:a,name:r,email:n,verifierId:pee(e,this.typeOfLogin,i,o),verifier:this.verifier,typeOfLogin:this.typeOfLogin}}throw new Error("Access/id token not available")}handleLoginWindow(e){const{id_token:t,access_token:r}=this.jwtParams,n=new bee({url:this.finalURL,features:e.popupFeatures});return this.uxMode!==eee.REDIRECT?Promise.resolve({state:{},idToken:t,accessToken:r}):(n.redirect(e.locationReplaceOnRedirect),null)}}const Tee=["access_token","id_token"];function jee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Cee(e){for(var t=1;t{if(this.redirectToOpener)return void t(new Error("Cannot use redirect to opener for passwordless"));const r=r=>{try{const{error:n,data:i}=r,o=i||{},{instanceParams:a,hashParams:{access_token:s,id_token:c}}=o,l=w6(o.hashParams,Tee);if(n)return lee.error(r.error),void t(new Error(n));r.data&&a.verifier===this.verifier&&(lee.info(r.data),e(Cee(Cee({accessToken:s,idToken:c||""},l),{},{state:a})))}catch(n){lee.error(n),t(n)}},n=new v9(`redirect_channel_${this.nonce}`,hee);n.addEventListener("message",(async e=>{r(e),n.close()}));try{const{connection:e="email",login_hint:r}=this.jwtParams,n=t6()({client_id:this.clientId,connection:e,email:"email"===e?r:void 0,phone_number:"sms"===e?r:void 0,send:"link",authParams:{scope:this.SCOPE,state:this.state,response_type:this.RESPONSE_TYPE,redirect_uri:this.redirect_uri,nonce:this.nonce,prompt:this.PROMPT}},{authParams:this.jwtParams});y6(this.finalURL.href,JSON.parse(JSON.stringify(n))).then((e=>{lee.info("posted",e)})).catch((e=>{lee.error(e),t(e)}))}catch(i){lee.error(i),t(i)}}))}}class Iee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token"),Q3(this,"SCOPE","identity"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://www.reddit.com/api/v1/authorize"+(window.innerWidth<600?".compact":"")),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,redirect_uri:this.redirect_uri,scope:this.SCOPE},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://oauth.reddit.com/api/v1/me",{headers:{Authorization:`Bearer ${t}`}}),{icon_img:n="",name:i=""}=r;return{email:"",name:i,profileImage:n.split("?").length>0?n.split("?")[0]:n,verifier:this.verifier,verifierId:i.toLowerCase(),typeOfLogin:this.typeOfLogin}}}class Mee extends See{constructor(e,t,r,n,i,o,a,s){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"RESPONSE_TYPE","token"),Q3(this,"SCOPE","user:read:email"),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.setFinalUrl()}setFinalUrl(){const e=new URL("https://id.twitch.tv/oauth2/authorize"),t=JSON.parse(JSON.stringify(this.jwtParams||{})),r=t6()({state:this.state,response_type:this.RESPONSE_TYPE,client_id:this.clientId,redirect_uri:this.redirect_uri,scope:this.SCOPE,force_verify:!0},t);Object.keys(r).forEach((t=>{r[t]&&e.searchParams.append(t,r[t])})),this.finalURL=e}async getUserInfo(e){const{accessToken:t}=e,r=await v6("https://api.twitch.tv/helix/users",{headers:{Authorization:`Bearer ${t}`,"Client-ID":this.clientId}}),[{profile_image_url:n="",display_name:i="",email:o="",id:a}]=r.data||[];return{profileImage:n,name:i,email:o,verifierId:a,verifier:this.verifier,typeOfLogin:this.typeOfLogin}}}const Lee="https://api.webauthn.openlogin.com";class Nee extends See{constructor(e,t,r,n,i,o,a,s,c){super(e,t,r,n,i,o,a,s),Q3(this,"clientId",void 0),Q3(this,"verifier",void 0),Q3(this,"redirect_uri",void 0),Q3(this,"typeOfLogin",void 0),Q3(this,"uxMode",void 0),Q3(this,"redirectToOpener",void 0),Q3(this,"jwtParams",void 0),Q3(this,"customState",void 0),Q3(this,"registerOnly",void 0),this.clientId=e,this.verifier=t,this.redirect_uri=r,this.typeOfLogin=n,this.uxMode=i,this.redirectToOpener=o,this.jwtParams=a,this.customState=s,this.registerOnly=c,this.setFinalUrl()}setFinalUrl(){const{webauthnURL:e}=this.customState||{},t=e?new URL(e):new URL("https://webauthn.openlogin.com"),r=JSON.parse(JSON.stringify(this.jwtParams||{})),n=t6()({register_only:!!this.registerOnly,state:this.state,client_id:this.clientId,redirect_uri:this.redirect_uri},r);Object.keys(n).forEach((e=>{n[e]&&t.searchParams.append(e,n[e])})),this.finalURL=t}async getUserInfo(e){const{idToken:t,ref:r,extraParamsPassed:n,extraParams:i}=e;let o,a,s,c,l,u,d,h,f;if("true"===n){lee.debug("extraParamsPassed is true, using extraParams passed through hashParams");try{({verifier_id:o,signature:a,clientDataJSON:s,authenticatorData:c,publicKey:l,challenge:u,rpOrigin:d,credId:h,transports:f}=JSON.parse(atob(i)))}catch(p){lee.warn("unable to parse extraParams",p),({verifier_id:o,signature:a,clientDataJSON:s,authenticatorData:c,publicKey:l,challenge:u,rpOrigin:d,credId:h,transports:f}=await v6(`${Lee}/signature/fetch/${t}`))}}else lee.debug("extraParamsPassed is false, using extraParams passed through bridge server"),({verifier_id:o,signature:a,clientDataJSON:s,authenticatorData:c,publicKey:l,challenge:u,rpOrigin:d,credId:h,transports:f}=await v6(`${Lee}/signature/fetch/${t}`));if(a!==t)throw new Error("idtoken should be equal to signature");return{email:"",name:"WebAuthn Login",profileImage:"",verifier:this.verifier,verifierId:o,typeOfLogin:this.typeOfLogin,ref:r,registerOnly:this.registerOnly,extraVerifierParams:{signature:a,clientDataJSON:s,authenticatorData:c,publicKey:l,challenge:u,rpOrigin:d,credId:h,transports:f}}}}const Dee=e=>{let{clientId:t,redirect_uri:r,typeOfLogin:n,verifier:i,jwtParams:o,redirectToOpener:a,uxMode:s,customState:c,registerOnly:l}=e;if(!i||!n||!t)throw new Error("Invalid params");const{domain:u,login_hint:d,id_token:h,access_token:f}=o||{};switch(n){case B7:return new Pee(t,i,r,n,s,a,o,c);case z7:return new Eee(t,i,r,n,s,a,o,c);case $7:return new Mee(t,i,r,n,s,a,o,c);case U7:return new Iee(t,i,r,n,s,a,o,c);case F7:return new kee(t,i,r,n,s,a,o,c);case Z7:if(!u||!d)throw new Error("Invalid params");return new Ree(t,i,r,n,s,a,o,c);case H7:case V7:case q7:case K7:case W7:case G7:case Y7:case X7:if(h||f)return new Aee(t,i,r,n,s,a,o,c);if(!u)throw new Error("Invalid params");return new Oee(t,i,r,n,s,a,o,c);case J7:return new Nee(t,i,r,n,s,a,o,c,l);default:throw new Error("Invalid login type")}};class Bee{constructor(e){Q3(this,"sentry",null),this.sentry=e}startTransaction(e){if(this.sentry)return this.sentry.startTransaction(e)}finishTransaction(e){e&&e.finish()}}class zee{constructor(e){Q3(this,"currentStorageMethod",tee),Q3(this,"isInitialized",!1),Q3(this,"storageServerUrl","https://broadcast-server.tor.us"),this.storageServerUrl=e}init(){const e=function(){var e;const t=_6().parse(navigator.userAgent);lee.info(JSON.stringify(t),"current browser info");let r=!0;return null!==(e=navigator)&&void 0!==e&&e.brave&&(r=!1),t.engine.name!==_6().ENGINE_MAP.WebKit&&t.engine.name!==_6().ENGINE_MAP.Gecko||(r=!1),r}(),t=function(e){let t;try{t=window[e];const r="__storage_test__";return t.setItem(r,r),t.removeItem(r),!0}catch(r){return r&&(22===r.code||1014===r.code||"QuotaExceededError"===r.name||"NS_ERROR_DOM_QUOTA_REACHED"===r.name)&&t&&0!==t.length}}(tee);this.currentStorageMethod=e&&t?tee:ree,this.isInitialized=!0}async storeLoginDetails(e,t){if(!this.isInitialized)throw new Error("StorageHelper is not initialized");if(this.currentStorageMethod===ree){const r=C7(D7.from(t,"utf8")),n=r.toString("hex"),i=B8(r).toString("hex"),o=await L7(n,e),a=(await z8(r,C7(D7.from(o,"utf8")))).toString("hex");await y6(`${this.storageServerUrl}/store/set`,{key:i,data:o,signature:a})}else window.localStorage.setItem(`torus_login_${t}`,JSON.stringify(e))}async retrieveLoginDetails(e){if(!this.isInitialized)throw new Error("StorageHelper is not initialized");if(this.currentStorageMethod===ree){const t=C7(D7.from(e,"utf8")),n=t.toString("hex"),i=B8(t).toString("hex");try{const e=await v6(`${this.storageServerUrl}/store/get?key=${i}`);if(e.message){return await N7(n,e.message)}}catch(r){if(404!==r.status)throw r;lee.warn(r,"Session likely expired")}}const t=window.localStorage.getItem(`torus_login_${e}`);return JSON.parse(t||"{}")}clearLoginDetailsStorage(e){if(!this.isInitialized)throw new Error("StorageHelper is not initialized");this.currentStorageMethod===tee&&window.localStorage.removeItem(`torus_login_${e}`)}clearOrphanedLoginDetails(){if(!this.isInitialized)throw new Error("StorageHelper is not initialized");if(this.currentStorageMethod===tee){Object.keys(window.localStorage).forEach((e=>{e.startsWith("torus_login_")&&window.localStorage.removeItem(e)}))}}}const Uee=["access_token","id_token"],Fee=["access_token","id_token"],$ee=["access_token","id_token"],Hee=["args","method"];function Vee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qee(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};if(this.storageHelper.init(),t)this.isInitialized=!0;else{if(!e){if(!(await fetch(`${this.config.baseUrl}sw.js`,{cache:"reload"})).ok)throw new Error("Service worker is not being served. Please serve it");try{return await(n=this.config.baseUrl,new Promise(((e,t)=>{const r=`${n}sw.js`;"serviceWorker"in window.navigator?(0,T7.z)(r,{ready(){lee.info("App is being served from cache by a service worker.\n For more details, visit https://goo.gl/AFskqB"),e(void 0)},registered(){lee.info("Service worker has been registered."),e(void 0)},cached(){lee.info("Content has been cached for offline use."),e(void 0)},updatefound(){lee.info("New content is downloading.")},updated(){lee.info("New content is available; please refresh.")},offline(){lee.info("No internet connection found. App is running in offline mode."),t(new Error("App is offline"))},error(e){lee.error("Error during service worker registration:",e),t(e)}}):t(new Error("Service workers are not supported"))}))),void(this.isInitialized=!0)}catch(i){lee.warn(i)}}var n;if(!r)return(()=>{var e,t;return(null===(e=window)||void 0===e||null===(t=e.navigator)||void 0===t?void 0:t.userAgent.toLowerCase().indexOf("firefox"))>-1||!1})()?void(this.isInitialized=!0):void await this.handlePrefetchRedirectUri();this.isInitialized=!0}}async triggerLogin(e){const{verifier:t,typeOfLogin:r,clientId:n,jwtParams:i,hash:o,queryParameters:a,customState:s,registerOnly:c}=e;if(lee.info("Verifier: ",t),!this.isInitialized)throw new Error("Not initialized yet");if(c&&r!==J7)throw new Error("registerOnly flag can only be passed for webauthn");const l=Dee({typeOfLogin:r,clientId:n,verifier:t,redirect_uri:this.config.redirect_uri,redirectToOpener:this.config.redirectToOpener,jwtParams:i,uxMode:this.config.uxMode,customState:s,registerOnly:c});let u;if(o&&a){const{error:e,hashParameters:t,instanceParameters:r}=mee(o,a);if(e)throw new Error(e);const{access_token:n,id_token:i}=t;u=qee(qee({accessToken:n,idToken:i},w6(t,Uee)),{},{state:r})}else if(this.storageHelper.clearOrphanedLoginDetails(),this.config.uxMode===eee.REDIRECT&&await this.storageHelper.storeLoginDetails({method:nee,args:e},l.nonce),u=await l.handleLoginWindow({locationReplaceOnRedirect:this.config.locationReplaceOnRedirect,popupFeatures:this.config.popupFeatures}),this.config.uxMode===eee.REDIRECT)return null;const d=await l.getUserInfo(u);if(c){const e=this.sentryHandler.startTransaction({name:aee}),r=await this.nodeDetailManager.getNodeDetails({verifier:t,verifierId:d.verifierId});this.sentryHandler.finishTransaction(e);const n=this.sentryHandler.startTransaction({name:see}),i=await this.torus.getPublicAddress(r.torusNodeEndpoints,r.torusNodePub,{verifier:t,verifierId:d.verifierId});this.sentryHandler.finishTransaction(n);const o={userInfo:qee(qee({},d),u)};return qee(qee(qee({},o),i),{},{finalKeyData:qee(qee({},i.finalKeyData),{},{privKey:void 0}),oAuthKeyData:qee(qee({},i.finalKeyData),{},{privKey:void 0}),metadata:qee(qee({},i.metadata),{},{nonce:void 0}),sessionData:void 0})}return qee(qee({},await this.getTorusKey(t,d.verifierId,{verifier_id:d.verifierId},u.idToken||u.accessToken,d.extraVerifierParams)),{},{userInfo:qee(qee({},d),u)})}async triggerAggregateLogin(e){const{aggregateVerifierType:t,verifierIdentifier:r,subVerifierDetailsArray:n}=e;if(!this.isInitialized)throw new Error("Not initialized yet");if(!t||!r||!Array.isArray(n))throw new Error("Invalid params");if(t===Q7&&1!==n.length)throw new Error("Single id verifier can only have one sub verifier");const i=[],o=[];for(const h of n){const{clientId:t,typeOfLogin:r,verifier:n,jwtParams:a,hash:s,queryParameters:c,customState:l}=h,u=Dee({typeOfLogin:r,clientId:t,verifier:n,redirect_uri:this.config.redirect_uri,redirectToOpener:this.config.redirectToOpener,jwtParams:a,uxMode:this.config.uxMode,customState:l});let d;if(s&&c){const{error:e,hashParameters:t,instanceParameters:r}=mee(s,c);if(e)throw new Error(e);const{access_token:n,id_token:i}=t;d=qee(qee({accessToken:n,idToken:i},w6(t,Fee)),{},{state:r})}else if(this.storageHelper.clearOrphanedLoginDetails(),this.config.uxMode===eee.REDIRECT&&await this.storageHelper.storeLoginDetails({method:iee,args:e},u.nonce),d=await u.handleLoginWindow({locationReplaceOnRedirect:this.config.locationReplaceOnRedirect,popupFeatures:this.config.popupFeatures}),this.config.uxMode===eee.REDIRECT)return null;i.push(u.getUserInfo(d)),o.push(d)}const a=(await Promise.all(i)).map((e=>qee(qee({},e),{},{aggregateVerifier:r}))),s={verify_params:[],sub_verifier_ids:[],verifier_id:""},c=[];let l="",u={};for(let h=0;hqee(qee({},e),o[t])))})}async triggerHybridAggregateLogin(e){const{singleLogin:t,aggregateLoginParams:r}=e;if(!this.isInitialized)throw new Error("Not initialized yet");if(!r.aggregateVerifierType||!r.verifierIdentifier||!Array.isArray(r.subVerifierDetailsArray))throw new Error("Invalid params");if(r.aggregateVerifierType===Q7&&1!==r.subVerifierDetailsArray.length)throw new Error("Single id verifier can only have one sub verifier");const{typeOfLogin:n,clientId:i,verifier:o,jwtParams:a,hash:s,queryParameters:c,customState:l}=t,u=Dee({typeOfLogin:n,clientId:i,verifier:o,redirect_uri:this.config.redirect_uri,redirectToOpener:this.config.redirectToOpener,jwtParams:a,uxMode:this.config.uxMode,customState:l});let d;if(s&&c){const{error:e,hashParameters:t,instanceParameters:r}=mee(s,c);if(e)throw new Error(e);const{access_token:n,id_token:i}=t;d=qee(qee({accessToken:n,idToken:i},w6(t,$ee)),{},{state:r})}else if(this.storageHelper.clearOrphanedLoginDetails(),this.config.uxMode===eee.REDIRECT&&await this.storageHelper.storeLoginDetails({method:oee,args:e},u.nonce),d=await u.handleLoginWindow({locationReplaceOnRedirect:this.config.locationReplaceOnRedirect,popupFeatures:this.config.popupFeatures}),this.config.uxMode===eee.REDIRECT)return null;const h=await u.getUserInfo(d),f=this.getTorusKey(o,h.verifierId,{verifier_id:h.verifierId},d.idToken||d.accessToken,h.extraVerifierParams),{verifierIdentifier:p,subVerifierDetailsArray:m}=r,g={verify_params:[],sub_verifier_ids:[],verifier_id:""},v=[];let y="";for(let S=0;S0&&void 0!==arguments[0]?arguments[0]:{};await this.init({skipInit:!0});const r=new URL(window.location.href),n=r.hash.substring(1),i={};if(r.searchParams.forEach(((e,t)=>{i[t]=e})),e){const e=window.location.origin+window.location.pathname;window.history.replaceState(qee(qee({},window.history.state),{},{as:e,url:e}),"",e)}if(!n&&0===Object.keys(i).length)throw new Error("Unable to fetch result from OAuth login");const{error:o,instanceParameters:a,hashParameters:s}=mee(n,i),{instanceId:c}=a;lee.info(c,"instanceId");const l=await this.storageHelper.retrieveLoginDetails(c),{args:u,method:d}=l,h=w6(l,Hee);if(lee.info(u,d),t&&this.storageHelper.clearLoginDetailsStorage(c),o)return{error:o,state:a||{},method:d,result:{},hashParameters:s,args:u};let f;try{if(d===nee){const e=u;e.hash=n,e.queryParameters=i,f=await this.triggerLogin(e)}else if(d===iee){const e=u;e.subVerifierDetailsArray.forEach((e=>{e.hash=n,e.queryParameters=i})),f=await this.triggerAggregateLogin(e)}else if(d===oee){const e=u;e.singleLogin.hash=n,e.singleLogin.queryParameters=i,f=await this.triggerHybridAggregateLogin(e)}}catch(Zue){return lee.error(Zue),qee({error:`Could not get result from torus nodes \n ${(null===Zue||void 0===Zue?void 0:Zue.message)||""}`,state:a||{},method:d,result:{},hashParameters:s,args:u},h)}return qee(f?{method:d,result:f,state:a||{},hashParameters:s,args:u}:{error:"Unsupported method type",state:a||{},method:d,result:{},hashParameters:s,args:u},h)}async handlePrefetchRedirectUri(){return document?new Promise(((e,t)=>{const r=document.createElement("link");r.href=this.config.redirect_uri,window.location.origin!==new URL(this.config.redirect_uri).origin&&(r.crossOrigin="anonymous"),r.type="text/html",r.rel="prefetch";const n=()=>{this.isInitialized=!0,e()};try{r.relList&&r.relList.supports&&r.relList.supports("prefetch")?(r.onload=n,r.onerror=()=>{t(new Error(`Please serve redirect.html present in serviceworker folder of this package on ${this.config.redirect_uri}`))},document.head.appendChild(r)):n()}catch(Zue){n()}})):Promise.resolve()}}function Wee(e){return b5({tag:"svg",attr:{version:"1.1",x:"0px",y:"0px",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48"},child:[{tag:"path",attr:{fill:"#FFC107",d:"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12\r\n\tc0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24\r\n\tc0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"}},{tag:"path",attr:{fill:"#FF3D00",d:"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657\r\n\tC34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"}},{tag:"path",attr:{fill:"#4CAF50",d:"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36\r\n\tc-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"}},{tag:"path",attr:{fill:"#1976D2",d:"M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571\r\n\tc0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"}}]})(e)}const Gee=e=>{let t="Something went wrong";"object"===typeof e&&"message"in e?t=e.message:"string"===typeof e&&(t=e);let r="";return"object"===typeof e&&"stack"in e&&(r=e.stack),{timestamp:(new Date).toISOString(),description:t,stacktrace:r}},Yee=()=>{const[e,r]=(0,t.useState)(!1),n=DY(),i=t3(),o=async(t,o)=>{if(!e){r(!0);try{return await t()}catch(a){const e=Gee(a);throw n({description:e.description,status:"error",..."function"===typeof o?o(a):o}),i(XP.actions.add(e)),a}finally{r(!1)}}};return{isLoading:e,handleAsyncAction:async(e,t)=>o(e,t).catch((()=>{})),handleAsyncActionUnsafe:o}},Zee=(e,t,r)=>Promise.race([e(),new Promise(((e,n)=>setTimeout((()=>{n(new Error(r||"The operation has timed out"))}),t)))]),Xee=()=>{const{isLoading:e,handleAsyncAction:t}=Yee();return{isLoading:e,getCredentials:async e=>t((()=>Zee((async()=>{const t=new Kee({web3AuthClientId:"BBHmFdLXgGDzSiizRVMWtyL_7Dsoxu5B8zep2Pns8sGELslgXDbktJewVDVDDBlknEKkMCtzISLjJtxk60SK2-g",baseUrl:"https://umamiwallet.com/auth/v2/",redirectPathName:"redirect.html",redirectToOpener:!0,uxMode:"popup",network:"mainnet"});await t.init({skipSw:!0});const r=await t.triggerAggregateLogin({verifierIdentifier:"tezos-google",aggregateVerifierType:"single_id_verifier",subVerifierDetailsArray:[{clientId:"1070572364808-d31nlkneam5ee6dr0tu28fjjbsdkfta5.apps.googleusercontent.com",typeOfLogin:"google",verifier:"umami"}]}),n=dc(r.finalKeyData.privKey||r.oAuthKeyData.privKey,Us[Ls.SPSK]);e(n,r.userInfo[0].email)}),6e4)),{title:"Torus SSO failed"})}},Jee=({onSuccessfulAuth:e,isDisabled:t})=>{const{isLoading:r,getCredentials:n}=Xee();return(0,Yn.jsx)(Z3,{width:"48px",background:"white",borderRadius:"full",_disabled:{bg:E$.gray[900]},"aria-label":"Google SSO",icon:(0,Yn.jsx)(Wee,{size:"24px"}),isDisabled:t,isLoading:r,onClick:()=>n(e),size:"lg",variant:"outline"})},Qee=({children:e,...t})=>(0,Yn.jsxs)(CJ,{color:E$.orange,fontSize:"12px",...t,children:[(0,Yn.jsx)(LF,{as:X2,marginRight:"6px"}),e]}),ete=({inputName:e,label:r="Password",placeholder:n="Enter your password",required:i="Password is required",validate:o,...a})=>{const{register:s}=iQ(),[c,l]=(0,t.useState)(!1);return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(b0,{children:r}),(0,Yn.jsxs)(k0,{marginTop:"12px",children:[(0,Yn.jsx)(O0,{"aria-label":r,autoComplete:"off",placeholder:n,type:c?"text":"password",...s(e,{required:i,minLength:{value:i?8:0,message:"Your password must be at least 8 characters long"},validate:o}),...a}),(0,Yn.jsx)(C0,{children:(0,Yn.jsx)(_i,{onClick:()=>l((e=>!e)),tabIndex:-1,variant:"unstyled",children:c?(0,Yn.jsx)(t5,{"data-testid":"eye-slash-icon"}):(0,Yn.jsx)(e5,{width:"16.5px","data-testid":"eye-icon"})})})]})]})},tte=({isDisabled:e,onSuccessfulAuth:t,children:r})=>{const{isLoading:n,getCredentials:i}=Xee();return(0,Yn.jsx)(_i,{width:"100%",isDisabled:e,isLoading:n,onClick:()=>i(t),size:"lg",children:r})},rte=({signer:e,onSubmit:t,isLoading:r,isDisabled:n,text:i})=>{const o=h0({mode:"onBlur",defaultValues:{password:""}}),{handleSubmit:a,formState:{errors:s,isValid:c}}=o,l=i3(),u=n3(),d=DY(),{isLoading:h,handleAsyncAction:f}=Yee(),p=h||r,m=n||!c,g=async({password:r})=>f((async()=>{const n=await u(e,r);return t(await yE({type:"mnemonic",secretKey:n,network:l}))})),v=async({password:r})=>f((async()=>{const n=await u(e,r);return t(await yE({type:"secret_key",secretKey:n,network:l}))})),y=async e=>f((async()=>t(await yE({type:"social",secretKey:e,network:l})))),b=async()=>f((async()=>(d({description:"Please open the Tezos app on your Ledger and approve the operation",status:"info",duration:6e4,isClosable:!0}),t(await yE({type:"ledger",account:e,network:l})))));switch(e.type){case"secret_key":case"mnemonic":return(0,Yn.jsx)(Qn,{width:"100%",children:(0,Yn.jsxs)(oQ,{...o,children:[(0,Yn.jsxs)(OJ,{isInvalid:!!s.password,marginY:"16px",children:[(0,Yn.jsx)(ete,{"data-testid":"password",inputName:"password"}),s.password&&(0,Yn.jsx)(Qee,{children:s.password.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"8px",isDisabled:m,isLoading:p,onClick:a("mnemonic"===e.type?g:v),size:"lg",type:"submit",children:i||"Submit Transaction"})]})});case"social":return(0,Yn.jsx)(tte,{isDisabled:m,onSuccessfulAuth:y,children:i||"Sign with Google"});case"ledger":return(0,Yn.jsx)(_i,{width:"100%",isDisabled:m,isLoading:p,onClick:b,size:"lg",children:i||"Sign with Ledger"})}},nte=({request:e,onSuccess:t})=>{const r=P3()(e.sourceAddress),n=DY();if(!r)return(0,Yn.jsx)("div",{children:'"unknown account"'});return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsxs)(MX,{children:["Sign payload Request from ",e.appMetadata.name]}),(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(BX,{children:e.payload}),(0,Yn.jsx)(IJ,{justifyContent:"center",display:"flex",children:(0,Yn.jsx)(rte,{onSubmit:async r=>{const i=await r.signer.sign(e.payload),o={type:HW.SignPayloadResponse,id:e.id,signingType:e.signingType,signature:i.prefixSig};await Ste.respond(o),n({description:"Successfully submitted Beacon operation",status:"success"}),t()},signer:r})})]})},ite=e=>(0,Yn.jsx)(LF,{width:"14px",height:"14px",fill:"none",stroke:E$.gray[450],viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M13 1L7 7M13 1V4.375M13 1H9.625M12.25 7.375V10.6C12.25 11.4401 12.25 11.8601 12.0865 12.181C11.9427 12.4632 11.7132 12.6927 11.431 12.8365C11.1101 13 10.6901 13 9.85 13H3.4C2.55992 13 2.13988 13 1.81901 12.8365C1.53677 12.6927 1.3073 12.4632 1.16349 12.181C1 11.8601 1 11.4401 1 10.6V4.15C1 3.30992 1 2.88988 1.16349 2.56901C1.3073 2.28677 1.53677 2.0573 1.81901 1.91349C2.13988 1.75 2.55992 1.75 3.4 1.75H6.625",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),ote=({hash:e})=>{const r=`${i3().tzktExplorerUrl}/${e}`,{onClose:n}=(0,t.useContext)(kW),i=VH();return(0,Yn.jsxs)(IX,{paddingY:"20px",children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(MX,{textAlign:"center",children:"Operation Submitted"}),(0,Yn.jsx)(BX,{children:(0,Yn.jsx)(Zn,{justifyContent:"center",marginTop:"10px",children:(0,Yn.jsx)(NX,{color:"text.dark",textAlign:"center",size:"sm",children:"You can follow this operation's progress in the Operations section. It may take up to 30 seconds to appear."})})}),(0,Yn.jsxs)(IJ,{justifyContent:"center",flexDirection:"column",width:"100%",children:[(0,Yn.jsx)(_i,{width:"100%",onClick:()=>{n(),i("/operations")},size:"lg",children:"See all Operations"}),(0,Yn.jsx)(vV,{rel:"noopener noreferrer",target:"_blank",to:r,children:(0,Yn.jsx)(Zn,{alignItems:"center",marginTop:"24px",children:(0,Yn.jsxs)(_i,{variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"View in Tzkt"}),(0,Yn.jsx)(ite,{stroke:"currentcolor"})]})})})]})]})},ate=(e,r)=>{const{onClose:n}=(0,t.useContext)(kW),[i,o]=(0,t.useState)(null),a=i3(),{isLoading:s,handleAsyncAction:c}=Yee(),{openWith:l}=(0,t.useContext)(kW),u=h0({mode:"onBlur",defaultValues:{signer:e.signer.address.pkh,sender:e.sender.address.pkh}});(0,t.useEffect)((()=>{c((async()=>{const t=await kE(e,a);o(t)}),(e=>(n(),{title:"Error",description:`Error while processing beacon request: ${e.message}`,status:"error"})))}),[a,e]);return{fee:i,form:u,isSigning:s,onSign:async t=>c((async()=>{const{opHash:n}=await QE(e,t);l((0,Yn.jsx)(ote,{hash:n})),r(n)}))}},ste=({mutezAmount:e})=>(0,Yn.jsxs)(Zn,{alignItems:"center",height:"60px",padding:"15px",background:E$.gray[800],borderRadius:"4px",children:[(0,Yn.jsx)(N5,{marginRight:"12px"}),(0,Yn.jsx)(Zn,{alignItems:"end",children:(0,Yn.jsx)(D3,{number:d3(e)})})]}),cte=({fee:e})=>(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"sm",children:"Fee:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"fee",size:"sm",children:d3(e)})]}),lte=Gn(MX,{baseStyle:{padding:0,paddingBottom:"32px",textAlign:"center"}}),ute=({title:e="Send",subTitle:t="Send one or insert into batch"})=>(0,Yn.jsxs)(lte,{children:[(0,Yn.jsx)(NX,{fontWeight:"600",size:"2xl",children:e}),(0,Yn.jsx)(NX,{color:E$.gray[400],textAlign:"center",size:"sm",children:t}),(0,Yn.jsx)(DX,{})]});var dte=xV({d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z",displayName:"ArrowBackIcon"});const hte=({onClick:e})=>(0,Yn.jsx)(Z3,{...F$,"aria-label":"Back",icon:(0,Yn.jsx)(dte,{width:"24px",height:"20px"}),onClick:e,size:"sm",variant:"ghost"}),fte=(e,t)=>{let r;switch(e){case"implicit":r="batch"===t?"Submit":"Confirm";break;case"proposal":r="Propose"}switch(t){case"single":return`${r} Transaction`;case"batch":return`${r} Batch`}},pte=({goBack:e,mode:t,operationsType:r})=>(0,Yn.jsxs)(lte,{children:[e&&(0,Yn.jsx)(hte,{onClick:e}),(0,Yn.jsx)(NX,{fontWeight:"600",size:"2xl",children:fte(r,t)}),(0,Yn.jsx)(NX,{color:E$.gray[400],textAlign:"center",size:"sm",children:"Enter your password to confirm this transaction."}),(0,Yn.jsx)(DX,{})]}),mte=({operation:e,onBeaconSuccess:t})=>{const{amount:r,contract:n,entrypoint:i,args:o}=e.operations[0],{isSigning:a,form:s,onSign:c,fee:l}=ate(e,t);return l?(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{mode:"single",operationsType:e.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(ste,{mutezAmount:r}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",children:(0,Yn.jsx)(cte,{fee:l})}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"From "}),(0,Yn.jsx)(z3,{address:e.sender.address}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"To "}),(0,Yn.jsx)(z3,{address:n}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"Parameter"}),(0,Yn.jsx)(pJ,{allowToggle:!0,children:(0,Yn.jsxs)(mJ,{background:E$.gray[800],border:"none",borderRadius:"8px",children:[(0,Yn.jsxs)(gJ,{children:[(0,Yn.jsx)(Qn,{flex:"1",textAlign:"left",children:"JSON"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)(y0,{value:{entrypoint:i,values:o}})})]})})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isLoading:a,onSubmit:c,signer:e.signer,text:fte(e.type,"single")})})]})})}):null},gte=({operation:e,onBeaconSuccess:t})=>{const{recipient:r}=e.operations[0],{isSigning:n,form:i,onSign:o,fee:a}=ate(e,t);return a?(0,Yn.jsx)(oQ,{...i,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{mode:"single",operationsType:e.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:e.signer.address}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",marginBottom:"24px",paddingX:"4px",children:(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(cte,{fee:a})})}),(0,Yn.jsx)(b0,{children:"To"}),(0,Yn.jsx)(z3,{address:r})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isLoading:n,onSubmit:o,signer:e.signer,text:fte(e.type,"single")})})]})})}):null},vte=({operation:e,onBeaconSuccess:t})=>{const{amount:r,recipient:n}=e.operations[0],{isSigning:i,form:o,onSign:a,fee:s}=ate(e,t);return s?(0,Yn.jsx)(oQ,{...o,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{mode:"single",operationsType:e.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(ste,{mutezAmount:r}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",children:(0,Yn.jsx)(cte,{fee:s})}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"From "}),(0,Yn.jsx)(z3,{address:e.sender.address}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"To "}),(0,Yn.jsx)(z3,{address:n})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isLoading:i,onSubmit:a,signer:e.signer,text:fte(e.type,"single")})})]})})}):null},yte=({operation:e,onBeaconSuccess:t})=>{const{isSigning:r,form:n,onSign:i,fee:o}=ate(e,t);return o?(0,Yn.jsx)(oQ,{...n,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{mode:"single",operationsType:e.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:e.signer.address}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",paddingX:"4px",children:(0,Yn.jsx)(cte,{fee:o})})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isLoading:r,onSubmit:i,signer:e.signer,text:fte(e.type,"single")})})]})})}):null},bte=({operation:e,onBeaconSuccess:t})=>{switch(e.operations[0].type){case"tez":return(0,Yn.jsx)(vte,{onBeaconSuccess:t,operation:e});case"contract_call":return(0,Yn.jsx)(mte,{onBeaconSuccess:t,operation:e});case"delegation":return(0,Yn.jsx)(gte,{onBeaconSuccess:t,operation:e});case"undelegation":return(0,Yn.jsx)(yte,{onBeaconSuccess:t,operation:e});case"fa1.2":case"fa2":case"contract_origination":throw new Error("Unsupported operation type")}},wte=({message:e,onClose:t})=>{const r=P3(),n=DY();switch(e.type){case HW.PermissionRequest:return(0,Yn.jsx)(Y3,{onSuccess:t,request:e});case HW.SignPayloadRequest:return(0,Yn.jsx)(nte,{onSuccess:t,request:e});case HW.OperationRequest:{const o=r(e.sourceAddress);if(!o)return(0,Yn.jsxs)(Qn,{children:["Account not in this wallet ",e.sourceAddress]});try{const r=xte(e,o),i=async r=>{const i={type:HW.OperationResponse,id:e.id,transactionHash:r};try{await Ste.respond(i)}catch(o){console.warn("Failed to parse Beacon request",o),n({description:`Failed to confirm Beacon operation: ${o.message}`})}finally{t()}};return(0,Yn.jsx)(bte,{onBeaconSuccess:i,operation:r})}catch(i){return(0,Yn.jsxs)(Qn,{children:["Error handling operation request: ",i.message]})}}default:return(0,Yn.jsxs)("div",{children:["Unsupported request: ",e.type]})}},xte=({operationDetails:e},t)=>{if(0===e.length)throw new Error("Empty operation details!");if(e.length>1)throw new Error("Batch operation is not supported");const r=e[0],n=((e,t)=>{switch(e.kind){case KW.TRANSACTION:{const{destination:t,amount:r,parameters:n}=e;return fd(t)&&n?{type:"contract_call",amount:r,contract:md(t),entrypoint:n.entrypoint,args:n.value}:{type:"tez",amount:r,recipient:gd(e.destination)}}case KW.DELEGATION:{const{delegate:r}=e;return r?{type:"delegation",sender:t.address,recipient:gd(r)}:{type:"undelegation",sender:t.address}}default:return null}})(e[0],t);if(!n)throw new Error(`Unsupported operation: ${r.kind}`);return{type:"implicit",operations:[n],sender:t,signer:t}},_te=ld.object({name:ld.string(),publicKey:ld.string(),version:ld.string(),icon:ld.string().optional(),relayServer:ld.string().optional()}).parse,Ste=new NY({name:"Umami",iconUrl:"",appUrl:"https://umamiwallet.com/"}),kte="beaconPeers",Ete=()=>{const e=(0,Oi.useQueryClient)();return()=>e.refetchQueries(kte)},Pte=()=>{const e=Ete(),t=(()=>{const e=eo();return t=>e(qP.actions.removeConnection({dAppId:t}))})();return r=>Ste.removePeer(r).then((()=>t(r.senderId))).then(e)},Ote=()=>{const e=Ete(),t=DY();return r=>{(new MG).deserialize(r).then(_te).then((t=>{Ste.addPeer(t).then(e)})).catch((e=>{t({description:"Beacon sync code in the clipboard is invalid. Please copy a beacon sync code from the dApp",status:"error"}),console.error(e)}))}},Ate=({children:e})=>{const{openWith:r,onClose:n}=(0,t.useContext)(kW);return(0,t.useEffect)((()=>{Ste.init().then((()=>{Ste.connect((e=>{r((0,Yn.jsx)(wte,{message:e,onClose:n}))}))})).catch(console.error)}),[n,r]),(0,Yn.jsx)(Yn.Fragment,{children:e})},Tte=1963879877,jte=-1890025422,Cte=e=>({address:md(e.address),threshold:Number(e.storage.threshold),signers:e.storage.signers.map(gd),pendingOperationsBigmapId:e.storage.pending_ops}),Rte=async(e,t)=>VE((async()=>{const r=await(e=>VE((async()=>{try{const t=`${e.tzktApiUrl}/v1/contracts?typeHash=1963879877&codeHash=-1890025422&includeStorage=true&limit=10000`,{data:r}=await nE.get(t);return r}catch(t){throw new Error(`Error fetching same contracts from tzkt: ${t.message}`)}})))(t);return r.filter((({storage:{signers:t}})=>{if(!(0,iE.every)(t,pd))return!1;const r=t.filter((t=>e.has(t)));return r.length>0})).map(Cte)})),Ite=e=>{const{bigmap:t,key:r,value:n}=e;if(null===r||null===n)throw new Error("parseMultisigOperation failed");return{id:r,bigmapId:t,rawActions:n.actions,approvals:n.approvals.map(gd)}},Mte=async(e,t)=>0===e.length?[]:VE((async()=>{const r=e.map((e=>e.pendingOperationsBigmapId)),n=await((e,t)=>0===e.length?Promise.resolve([]):VE((async()=>{const r=`${t.tzktApiUrl}/v1/bigmaps/keys?active=true&bigmap.in=${e.join(",")}&limit=10000`,{data:n}=await nE.get(r);return n})))(r,t);return(0,iE.compact)(n.map(Ite))})),Lte=async(e,t,r)=>{const n=await Mte(r,t);e(eO.setPendingOperations(n.flat()))},Nte=async(e,t,r)=>{const n=await qE(r,t);e(DP.updateTezBalance(n.flat()))},Dte=async(e,t,r)=>{const n=await KE(r,t),i=n.flat().map((({token:e,lastLevel:t})=>({...e,lastLevel:t})));e(aO.addTokens({network:t,tokens:i})),e(DP.updateTokenBalance(n.flat()))},Bte=async e=>{const t=await(async()=>{const{data:{data:{priceUsd:e}}}=await nE.get("https://api.coincap.io/v2/assets/tezos");return null!==e&&void 0!==e?e:null})();e(DP.updateConversionRate({rate:t}))},zte=()=>{const e=t3(),r=E3(),n=r3((e=>e.assets.refetchTrigger)),i=i3(),o=(0,Oi.useQueryClient)(),a=DY(),s=r.map((e=>e.address.pkh)),c=(0,Oi.useQuery)("allAssets",{queryFn:()=>(async(e,t,r)=>{try{e(DP.setIsLoading(!0));const n=await Rte(new Set(r),t);e(eO.setMultisigs(n));const i=[...r,...n.map((e=>e.address.pkh))];await Promise.all([Lte(e,t,n),Nte(e,t,i),Dte(e,t,i)]),e(DP.setLastTimeUpdated((new Date).toUTCString()))}finally{e(DP.setIsLoading(!1))}})(e,i,s),onError:t=>{e(XP.actions.add(Gee(t))),a({description:`Data fetching error: ${t.message}`,status:"error",isClosable:!0})},retry:!1,refetchInterval:15e3,refetchIntervalInBackground:!0,refetchOnWindowFocus:!1}),l=(0,Oi.useQuery)("conversionRate",{queryFn:()=>Bte(e),refetchInterval:3e5,refetchIntervalInBackground:!0,refetchOnWindowFocus:!1}),u=(0,Oi.useQuery)("blockNumber",{queryFn:()=>(async(e,t)=>{const r=await XE(t);e(DP.updateBlockLevel(r))})(e,i),retry:!1,refetchInterval:15e3,refetchIntervalInBackground:!0,refetchOnWindowFocus:!1}),d=(0,Oi.useQuery)("bakers",{queryFn:()=>(async(e,t)=>{const r=(await JE(t)).map((({address:e,alias:t,stakingBalance:r})=>({address:e,stakingBalance:r,name:null!==t&&void 0!==t?t:"Unknown baker"})));e(DP.updateBakers(r))})(e,i),retry:!1,refetchInterval:72e5,refetchIntervalInBackground:!0,refetchOnWindowFocus:!1}),h=(0,t.useRef)(l),f=(0,t.useRef)(u),p=(0,t.useRef)(c),m=(0,t.useRef)(d);(0,t.useEffect)((()=>{o.cancelQueries({queryKey:"allAssets"}),o.cancelQueries({queryKey:"conversionRate"}),o.cancelQueries({queryKey:"blockNumber"}),o.cancelQueries({queryKey:"bakers"}),h.current.refetch(),f.current.refetch(),p.current.refetch(),m.current.refetch()}),[i,n,o])},Ute=()=>{const e=DY(),r=Ote(),n=(0,t.useRef)(r),i=(0,t.useRef)(e),o=(e,t)=>{const r=t.replace(":///","://");if(r.startsWith("umami://auth/")){const e=(e=>{const t=e.replace("umami://auth/",""),r=new URLSearchParams(t),n={instanceParams:{insanceId:r.get("instanceId"),verifier:r.get("verifier"),typeOfLogin:r.get("typeOfLogin"),redirectToOpener:r.get("redirectToOpener")},hashParams:{state:r.get("state"),access_token:r.get("access_token"),token_type:r.get("token_type"),expires_in:r.get("expires_in"),scope:r.get("scope"),id_token:r.get("id_token"),authuser:r.get("authuser"),hd:r.get("hd"),prompt:r.get("prompt")}};return{channel:r.get("channel"),data:n,error:r.get("error")}})(r);window.postMessage(e)}else if(r.startsWith("umami://?type=tzip10&data=")){const e=new URL(r).searchParams.get("data");e?n.current(e):i.current({title:"Linkhandler",description:"Data Payload missing"})}else i.current({title:"Linkhandler",description:"Unsupported link type"})};(0,t.useEffect)((()=>{const e=window;return e&&e.electronAPI&&e.electronAPI.onDeeplink(o),()=>{}}),[])};var Fte=re(((e,t)=>{var r;const{overflow:n,overflowX:i,className:o,...a}=e;return(0,Yn.jsx)(Gn.div,{ref:t,className:ne("chakra-table__container",o),...a,__css:{display:"block",whiteSpace:"nowrap",WebkitOverflowScrolling:"touch",overflowX:null!=(r=null!=n?n:i)?r:"auto",overflowY:"hidden",maxWidth:"100%"}})})),[$te,Hte]=ui({name:"TableStylesContext",errorMessage:"useTableStyles returned is 'undefined'. Seems you forgot to wrap the components in \"
\" "}),Vte=re(((e,t)=>{const r=ci("Table",e),{className:n,layout:i,...o}=Jt(e);return(0,Yn.jsx)($te,{value:r,children:(0,Yn.jsx)(Gn.table,{ref:t,__css:{tableLayout:i,...r.table},className:ne("chakra-table",n),...o})})}));Vte.displayName="Table";var qte=re(((e,t)=>{const r=Hte();return(0,Yn.jsx)(Gn.tbody,{...e,ref:t,__css:r.tbody})})),Kte=re(((e,t)=>{const r=Hte();return(0,Yn.jsx)(Gn.tr,{...e,ref:t,__css:r.tr})})),Wte=re((({isNumeric:e,...t},r)=>{const n=Hte();return(0,Yn.jsx)(Gn.td,{...t,ref:r,__css:n.td,"data-is-numeric":e})}));function Gte(e){return b5({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"}},{tag:"path",attr:{d:"M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z"}}]})(e)}function Yte(e){return b5({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"}}]})(e)}function Zte(e){return b5({tag:"svg",attr:{viewBox:"0 0 15 15",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M7.49991 0.877045C3.84222 0.877045 0.877075 3.84219 0.877075 7.49988C0.877075 11.1575 3.84222 14.1227 7.49991 14.1227C11.1576 14.1227 14.1227 11.1575 14.1227 7.49988C14.1227 3.84219 11.1576 0.877045 7.49991 0.877045ZM1.82708 7.49988C1.82708 4.36686 4.36689 1.82704 7.49991 1.82704C10.6329 1.82704 13.1727 4.36686 13.1727 7.49988C13.1727 10.6329 10.6329 13.1727 7.49991 13.1727C4.36689 13.1727 1.82708 10.6329 1.82708 7.49988ZM10.1589 5.53774C10.3178 5.31191 10.2636 5.00001 10.0378 4.84109C9.81194 4.68217 9.50004 4.73642 9.34112 4.96225L6.51977 8.97154L5.35681 7.78706C5.16334 7.59002 4.84677 7.58711 4.64973 7.78058C4.45268 7.97404 4.44978 8.29061 4.64325 8.48765L6.22658 10.1003C6.33054 10.2062 6.47617 10.2604 6.62407 10.2483C6.77197 10.2363 6.90686 10.1591 6.99226 10.0377L10.1589 5.53774Z",fill:"currentColor"}}]})(e)}function Xte(e){return b5({tag:"svg",attr:{viewBox:"0 0 15 15",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M12.8536 2.85355C13.0488 2.65829 13.0488 2.34171 12.8536 2.14645C12.6583 1.95118 12.3417 1.95118 12.1464 2.14645L7.5 6.79289L2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L6.79289 7.5L2.14645 12.1464C1.95118 12.3417 1.95118 12.6583 2.14645 12.8536C2.34171 13.0488 2.65829 13.0488 2.85355 12.8536L7.5 8.20711L12.1464 12.8536C12.3417 13.0488 12.6583 13.0488 12.8536 12.8536C13.0488 12.6583 13.0488 12.3417 12.8536 12.1464L8.20711 7.5L12.8536 2.85355Z",fill:"currentColor"}}]})(e)}const Jte="TOAST_ID",Qte=({pkh:e,formatAddress:t=!0,copyable:r=!0,iconColor:n=E$.gray[600],...i})=>(0,Yn.jsx)(ere,{copyValue:r?e:void 0,displayText:t?h3(e):e,iconColor:n,toastMessage:"Address copied to clipboard",...i}),ere=({displayText:e,copyValue:t,toastMessage:r,iconColor:n,...i})=>{const o=DY();return(0,Yn.jsxs)(Zn,{alignItems:"center",...i,children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[400],size:"sm",children:e}),t&&(0,Yn.jsx)(s5,{stroke:E$.gray[450],_hover:{stroke:E$.green},cursor:"pointer",onClick:()=>(async()=>{t&&(await navigator.clipboard.writeText(t),r&&!o.isActive(Jte)&&o({id:Jte,render:()=>(0,Yn.jsx)(tre,{message:r,onClose:()=>{o.close(Jte)}})}))})()})]})},tre=({message:e,onClose:t})=>(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",padding:2,borderRadius:"4px",backgroundColor:"white",children:[(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(LF,{as:Gte,margin:1,color:E$.green}),(0,Yn.jsx)(NX,{color:"black",children:e})]}),(0,Yn.jsx)(LF,{as:Xte,color:"black",_hover:{color:E$.gray[600]},cursor:"pointer",onClick:t})]}),rre=({title:e,buttonText:r,contact:n})=>{const i=t3(),o=A3(),{isOpen:a,onClose:s}=(0,t.useContext)(kW),{handleSubmit:c,formState:{isValid:l,errors:u},register:d,reset:h,getValues:f}=h0({mode:"onBlur",defaultValues:n}),p=void 0!==n,m=O3(),{nameExistsInContacts:g,addressExistsInContacts:v}=S3(),y=(0,t.useRef)(h);return(0,t.useEffect)((()=>{a&&y.current(n)}),[a,n]),(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:c((({name:e,pkh:t})=>{var r;r={name:e.trim(),pkh:t},o(r.pkh)||(i(YP.upsert(r)),s()),h()})),children:[(0,Yn.jsx)(MX,{textAlign:"center",children:e}),(0,Yn.jsx)(DX,{}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!u.name,marginY:5,children:[(0,Yn.jsx)(b0,{children:"Name"}),(0,Yn.jsx)(O0,{type:"text",...d("name",{required:"Name is required",validate:e=>m.map((e=>e.label)).includes(e)?"Name already used in accounts":!g(e.trim())||"Name already registered"}),placeholder:"Enter contact's name"}),u.name&&(0,Yn.jsx)(Qee,{children:u.name.message})]}),(0,Yn.jsxs)(OJ,{isInvalid:!!u.pkh,marginY:5,children:[(0,Yn.jsx)(b0,{children:"Address"}),(0,Yn.jsx)(O0,{type:"text",...d("pkh",{required:"Address is required",validate:e=>hd(e)?p?f("name")!==n.name:o(e)?"Address already used in accounts":!v(e)||"Address already registered":"Invalid address"}),disabled:p,placeholder:"Enter contact\u2019s tz address",value:null===n||void 0===n?void 0:n.pkh,variant:p?"filled":void 0}),u.pkh&&(0,Yn.jsx)(Qee,{children:u.pkh.message})]})]}),(0,Yn.jsx)(IJ,{padding:"16px 0 0 0",children:(0,Yn.jsx)(Qn,{width:"100%",children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:2,isDisabled:!l,size:"lg",type:"submit",children:r})})})]})})},nre=({contact:e})=>{const r=t3(),{onClose:n}=(0,t.useContext)(kW);return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsx)(MX,{textAlign:"center",children:"Delete Contact"}),(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(BX,{children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",flexDirection:"column",children:[(0,Yn.jsx)(NX,{color:E$.gray[400],size:"sm",children:"Are you sure you want to remove this contact?"}),(0,Yn.jsxs)(Qn,{marginTop:5,children:[(0,Yn.jsx)(li,{marginBottom:3,textAlign:"center",size:"md",children:e.name}),(0,Yn.jsx)(Qte,{pkh:e.pkh})]})]})}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Qn,{width:"100%",children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:2,onClick:()=>{r(YP.remove(e.pkh)),n()},variant:"warning",children:"Delete"})})})]})};var ire=re((function(e,t){const{borderLeftWidth:r,borderBottomWidth:n,borderTopWidth:i,borderRightWidth:o,borderWidth:a,borderStyle:s,borderColor:c,...l}=si("Divider",e),{className:u,orientation:d="horizontal",__css:h,...f}=Jt(e),p={vertical:{borderLeftWidth:r||o||a||"1px",height:"100%"},horizontal:{borderBottomWidth:n||i||a||"1px",width:"100%"}};return(0,Yn.jsx)(Gn.hr,{ref:t,"aria-orientation":d,...f,__css:{...l,border:"0",borderColor:c,borderStyle:s,...p[d],...h},className:ne("chakra-divider",u)})}));function ore(e){const{isOpen:r,ref:n}=e,[i,o]=(0,t.useState)(r),[a,s]=(0,t.useState)(!1);(0,t.useEffect)((()=>{a||(o(r),s(!0))}),[r,a,i]),P2((()=>n.current),"animationend",(()=>{o(r)}));return{present:!(!r&&!i),onComplete(){var e;const t=function(e){var t,r;return null!=(r=null==(t=xX(e))?void 0:t.defaultView)?r:window}(n.current),r=new t.CustomEvent("animationend",{bubbles:!0});null==(e=n.current)||e.dispatchEvent(r)}}}ire.displayName="Divider";var are=()=>"undefined"!==typeof window;var sre=e=>are()&&e.test(function(){var e;const t=navigator.userAgentData;return null!=(e=null==t?void 0:t.platform)?e:navigator.platform}()),cre=()=>sre(/mac|iphone|ipad|ipod/i)&&(e=>are()&&e.test(navigator.vendor))(/apple/i);function lre(e){const t=e.current;if(!t)return!1;const r=function(e){return xX(e).activeElement}(t);return!!r&&(!t.contains(r)&&!(!((n=r)&&wX(n)&&EX(n))||SX(n)));var n}function ure(e,t){const{shouldFocus:r,visible:n,focusRef:i}=t,o=r&&!n;PM((()=>{if(!o)return;if(lre(e))return;const t=(null==i?void 0:i.current)||e.current;let r;return t?(r=requestAnimationFrame((()=>{t.focus({preventScroll:!0})})),()=>{cancelAnimationFrame(r)}):void 0}),[o,e,i])}var dre={preventScroll:!0,shouldFocus:!1};function hre(e){const{wasSelected:t,enabled:r,isSelected:n,mode:i="unmount"}=e;return!r||(!!n||!("keepMounted"!==i||!t))}var fre={click:"click",hover:"hover"};function pre(e={}){const{closeOnBlur:r=!0,closeOnEsc:n=!0,initialFocusRef:i,id:o,returnFocusOnClose:a=!0,autoFocus:s=!0,arrowSize:c,arrowShadowColor:l,trigger:u=fre.click,openDelay:d=200,closeDelay:h=200,isLazy:f,lazyBehavior:p="unmount",computePositionOnMount:m,...g}=e,{isOpen:v,onClose:y,onOpen:b,onToggle:w}=E2(e),x=(0,t.useRef)(null),_=(0,t.useRef)(null),S=(0,t.useRef)(null),k=(0,t.useRef)(!1),E=(0,t.useRef)(!1);v&&(E.current=!0);const[P,O]=(0,t.useState)(!1),[A,T]=(0,t.useState)(!1),j=(0,t.useId)(),C=null!=o?o:j,[R,I,M,L]=["popover-trigger","popover-content","popover-header","popover-body"].map((e=>`${e}-${C}`)),{referenceRef:N,getArrowProps:D,getPopperProps:B,getArrowInnerProps:z,forceUpdate:U}=S2({...g,enabled:v||!!m}),F=ore({isOpen:v,ref:S});!function(e){const{ref:t,elements:r,enabled:n}=e,i=()=>{var e,r;return null!=(r=null==(e=t.current)?void 0:e.ownerDocument)?r:document};P2(i,"pointerdown",(e=>{if(!cre()||!n)return;const o=e.target,a=(null!=r?r:[t]).some((e=>{const t="current"in e?e.current:e;return(null==t?void 0:t.contains(o))||t===o}));i().activeElement!==o&&a&&(e.preventDefault(),o.focus())}))}({enabled:v,ref:_}),ure(S,{focusRef:_,visible:v,shouldFocus:a&&u===fre.click}),function(e,r=dre){const{focusRef:n,preventScroll:i,shouldFocus:o,visible:a}=r,s="current"in e?e.current:e,c=o&&a,l=(0,t.useRef)(c),u=(0,t.useRef)(a);jO((()=>{!u.current&&a&&(l.current=c),u.current=a}),[a,c]);const d=(0,t.useCallback)((()=>{if(a&&s&&l.current&&(l.current=!1,!s.contains(document.activeElement)))if(null==n?void 0:n.current)requestAnimationFrame((()=>{var e;null==(e=n.current)||e.focus({preventScroll:i})}));else{const e=TX(s);e.length>0&&requestAnimationFrame((()=>{e[0].focus({preventScroll:i})}))}}),[a,i,s,n]);PM((()=>{d()}),[d]),P2(s,"transitionend",d)}(S,{focusRef:i,visible:v,shouldFocus:s&&u===fre.click});const $=hre({wasSelected:E.current,enabled:f,mode:p,isSelected:F.present}),H=(0,t.useCallback)(((e={},t=null)=>{const i={...e,style:{...e.style,transformOrigin:$0.transformOrigin.varRef,[$0.arrowSize.var]:c?`${c}px`:void 0,[$0.arrowShadowColor.var]:l},ref:wi(S,t),children:$?e.children:null,id:I,tabIndex:-1,role:"dialog",onKeyDown:ue(e.onKeyDown,(e=>{n&&"Escape"===e.key&&y()})),onBlur:ue(e.onBlur,(e=>{const t=gre(e),n=mre(S.current,t),i=mre(_.current,t);v&&r&&(!n&&!i)&&y()})),"aria-labelledby":P?M:void 0,"aria-describedby":A?L:void 0};return u===fre.hover&&(i.role="tooltip",i.onMouseEnter=ue(e.onMouseEnter,(()=>{k.current=!0})),i.onMouseLeave=ue(e.onMouseLeave,(e=>{null!==e.nativeEvent.relatedTarget&&(k.current=!1,setTimeout((()=>y()),h))}))),i}),[$,I,P,M,A,L,u,n,y,v,r,h,l,c]),V=(0,t.useCallback)(((e={},t=null)=>B({...e,style:{visibility:v?"visible":"hidden",...e.style}},t)),[v,B]),q=(0,t.useCallback)(((e,t=null)=>({...e,ref:wi(t,x,N)})),[x,N]),K=(0,t.useRef)(),W=(0,t.useRef)(),G=(0,t.useCallback)((e=>{null==x.current&&N(e)}),[N]),Y=(0,t.useCallback)(((e={},t=null)=>{const n={...e,ref:wi(_,t,G),id:R,"aria-haspopup":"dialog","aria-expanded":v,"aria-controls":I};return u===fre.click&&(n.onClick=ue(e.onClick,w)),u===fre.hover&&(n.onFocus=ue(e.onFocus,(()=>{void 0===K.current&&b()})),n.onBlur=ue(e.onBlur,(e=>{const t=gre(e),n=!mre(S.current,t);v&&r&&n&&y()})),n.onKeyDown=ue(e.onKeyDown,(e=>{"Escape"===e.key&&y()})),n.onMouseEnter=ue(e.onMouseEnter,(()=>{k.current=!0,K.current=window.setTimeout((()=>b()),d)})),n.onMouseLeave=ue(e.onMouseLeave,(()=>{k.current=!1,K.current&&(clearTimeout(K.current),K.current=void 0),W.current=window.setTimeout((()=>{!1===k.current&&y()}),h)}))),n}),[R,v,I,u,G,w,b,r,y,d,h]);(0,t.useEffect)((()=>()=>{K.current&&clearTimeout(K.current),W.current&&clearTimeout(W.current)}),[]);const Z=(0,t.useCallback)(((e={},t=null)=>({...e,id:M,ref:wi(t,(e=>{O(!!e)}))})),[M]),X=(0,t.useCallback)(((e={},t=null)=>({...e,id:L,ref:wi(t,(e=>{T(!!e)}))})),[L]);return{forceUpdate:U,isOpen:v,onAnimationComplete:F.onComplete,onClose:y,getAnchorProps:q,getArrowProps:D,getArrowInnerProps:z,getPopoverPositionerProps:V,getPopoverProps:H,getTriggerProps:Y,getHeaderProps:Z,getBodyProps:X}}function mre(e,t){return e===t||(null==e?void 0:e.contains(t))}function gre(e){var t;const r=e.currentTarget.ownerDocument.activeElement;return null!=(t=e.relatedTarget)?t:r}var[vre,yre]=ui({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[bre,wre]=ui({name:"PopoverStylesContext",errorMessage:"usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "});function xre(e){const t=ci("Popover",e),{children:r,...n}=Jt(e),i=pre({...n,direction:ri().direction});return(0,Yn.jsx)(vre,{value:i,children:(0,Yn.jsx)(bre,{value:t,children:ae(r,{isOpen:i.isOpen,onClose:i.onClose,forceUpdate:i.forceUpdate})})})}function _re(e){const r=t.Children.only(e.children),{getTriggerProps:n}=yre();return(0,t.cloneElement)(r,n(r.props,r.ref))}function Sre(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}xre.displayName="Popover",_re.displayName="PopoverTrigger";var kre={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},Ere=Gn(jF.section),Pre=re((function(e,t){const{variants:r=kre,...n}=e,{isOpen:i}=yre();return(0,Yn.jsx)(Ere,{ref:t,variants:Sre(r),initial:!1,animate:i?"enter":"exit",...n})}));Pre.displayName="PopoverTransition";var Ore=re((function(e,t){const{rootProps:r,motionProps:n,...i}=e,{getPopoverProps:o,getPopoverPositionerProps:a,onAnimationComplete:s}=yre(),c=wre(),l={position:"relative",display:"flex",flexDirection:"column",...c.content};return(0,Yn.jsx)(Gn.div,{...a(r),__css:c.popper,className:"chakra-popover__popper",children:(0,Yn.jsx)(Pre,{...n,...o(i,t),onAnimationComplete:de(s,i.onAnimationComplete),className:ne("chakra-popover__content",e.className),__css:l})})}));Ore.displayName="PopoverContent";var Are=re((function(e,t){const{getBodyProps:r}=yre(),n=wre();return(0,Yn.jsx)(Gn.div,{...r(e,t),className:ne("chakra-popover__body",e.className),__css:n.body})}));Are.displayName="PopoverBody";const Tre=e=>{const{onOpen:t,onClose:r,isOpen:n}=aK();return(0,Yn.jsxs)(xre,{isOpen:n,onClose:r,onOpen:t,placement:"bottom-start",children:[(0,Yn.jsx)(_re,{children:(0,Yn.jsx)(_i,{minWidth:"24px",height:"24px",padding:"0",background:n?E$.green:E$.gray[500],border:"none",borderRadius:"full",_hover:{bg:n?E$.green:E$.gray[450]},"data-testid":"popover-cta",variant:"unstyled",children:(0,Yn.jsx)(Xn,{children:(0,Yn.jsx)(LF,{as:Yte,display:"inline",color:E$.white})})})}),(0,Yn.jsx)(Ore,{width:"100px",background:E$.gray[700],children:(0,Yn.jsx)(Are,{borderRadius:"lg",children:e.children})})]})},jre=({onRename:e,onRemove:t})=>(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(Tre,{children:(0,Yn.jsxs)(Qn,{paddingY:"0",children:[(0,Yn.jsx)(_i,{height:t?"24px":"28px",onClick:e,variant:"popover",children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Rename"}),(0,Yn.jsx)(O5,{stroke:"inherit"})]})}),t&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ire,{marginY:"4px"}),(0,Yn.jsx)(_i,{"data-testid":"popover-remove",onClick:t,variant:"popover",children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Remove"}),(0,Yn.jsx)(U5,{stroke:"inherit"})]})})]})]})})}),Cre=({onClick:e,...t})=>(0,Yn.jsxs)(_i,{width:"60px",onClick:e,variant:"specialCTA",...t,children:[(0,Yn.jsx)(P5,{stroke:"currentcolor"}),(0,Yn.jsx)(NX,{marginLeft:"4px",children:"Send"})]}),Rre=({sender:e,operationType:t,isLoading:r,reEstimate:n})=>{switch(t){case"proposal":return(0,Yn.jsx)(OJ,{marginTop:"24px","data-testid":"signer-selector",children:(0,Yn.jsx)(G3,{account:e,inputName:"signer",isLoading:r,keepValid:!0,label:"Select Proposer",onUpdate:n})});case"implicit":return null}},Ire=(e,t,r)=>{switch(e.type){case"ledger":case"mnemonic":case"social":case"secret_key":if(e.address.pkh!==t.address.pkh)throw new Error("Sender and Signer must be the same");return{type:"implicit",operations:r,signer:e,sender:e};case"multisig":return{type:"proposal",operations:r,sender:e,signer:t}}},Mre=()=>{const e=t3(),t=i3();return r=>e(HP.clear({pkh:r.address.pkh,network:t}))},Lre=({isLoading:e,isValid:t,onSingleSubmit:r,onAddToBatch:n,showPreview:i=!0})=>(0,Yn.jsx)(Yn.Fragment,{children:(0,Yn.jsxs)(Qn,{width:"100%",children:[i&&(0,Yn.jsx)(_i,{width:"100%",marginBottom:"16px",isDisabled:!t,isLoading:e,onClick:r,size:"lg",type:"submit",children:"Preview"}),(0,Yn.jsx)(_i,{width:"100%",isDisabled:!t,isLoading:e,onClick:n,size:"lg",type:"submit",variant:"tertiary",children:"Insert Into Batch"})]})}),Nre=({sender:e,form:t})=>t||(e?{sender:e.address.pkh}:{}),Dre=(e,r,n)=>{const[i,o]=(0,t.useState)(!1),a=(()=>{const e=P3();return t=>e(t)})(),[s,c]=(0,t.useState)(e),[l,u]=(0,t.useState)(r),d=i3(),h=Mre(),{isLoading:f,handleAsyncAction:p,handleAsyncActionUnsafe:m}=Yee(),{openWith:g}=(0,t.useContext)(kW),v=h0({mode:"onBlur",defaultValues:{signer:l.signer.address.pkh,sender:l.sender.address.pkh}}),y=v.watch("signer");return{fee:s,estimationFailed:i,operations:l,isLoading:f,form:v,signer:a(y),reEstimate:async e=>m((async()=>{const t={...l,signer:a(e)};c(await kE(l,d)),u(t),o(!1)}),{isClosable:!0,duration:null}).catch((()=>o(!0))),onSign:async e=>p((async()=>{const{opHash:t}=await QE(l,e);"batch"===n&&h(l.sender),g((0,Yn.jsx)(ote,{hash:t}))}))}},Bre=e=>{const t=T3(),r=R3();return n=>{const i=t(n.sender);return Ire(i,r(i),[e(n)])}},zre=e=>{e<0&&(console.warn("Decimals cannot be negative"),e=0);return`${0===e?"":"0."+(0,iE.repeat)("0",e-1)}1`},Ure=e=>t=>{if(t.includes(".")){if(t.split(".")[1].length>e)return`Please enter a value with up to ${e} decimal places`}return!0},Fre=e=>{const{mode:t,operations:r,fee:n}=e,{fee:i,operations:o,estimationFailed:a,isLoading:s,form:c,signer:l,reEstimate:u,onSign:d}=Dre(n,r,t),{amount:h,recipient:f}=o.operations[0];return(0,Yn.jsx)(oQ,{...c,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:o.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(ste,{mutezAmount:h}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",children:(0,Yn.jsx)(cte,{fee:i})}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"From "}),(0,Yn.jsx)(z3,{address:o.sender.address}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"To "}),(0,Yn.jsx)(z3,{address:f}),(0,Yn.jsx)(Rre,{isLoading:s,operationType:o.type,reEstimate:u,sender:o.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:a,isLoading:s,onSubmit:d,signer:l,text:fte(o.type,t)})})]})})})},$re=(e,t)=>async r=>{await kE(e,t),r(HP.add({operations:e,network:t}))},Hre=({SignPage:e,signPageExtraData:r,FormPage:n,defaultFormPageProps:i,toOperation:o})=>{const{openWith:a}=(0,t.useContext)(kW),s=Bre(o),c=i3();return async t=>{const o=s(t);a((0,Yn.jsx)(e,{data:r,fee:await kE(o,c),goBack:()=>{a((0,Yn.jsx)(n,{...i,form:t}))},mode:"single",operations:o}))}},Vre=e=>{const{onClose:r}=(0,t.useContext)(kW),n=i3(),i=Bre(e),o=t3(),a=DY();return async e=>{const t=i(e);await o($re(t,n)),a({description:"Transaction added to batch!",status:"success"}),r()}},qre=e=>{const{handleAsyncAction:t,isLoading:r}=Yee();return{onFormSubmitActionHandlers:e.map((e=>async r=>t((()=>e(r))))),isLoading:r}},Kre=({showPreview:e=!0,...t})=>{const r=Hre({SignPage:Fre,signPageExtraData:void 0,FormPage:Kre,defaultFormPageProps:t,toOperation:Wre}),n=Vre(Wre),{onFormSubmitActionHandlers:[i,o],isLoading:a}=qre([r,n]),s=h0({mode:"onBlur",defaultValues:Nre(t)}),{formState:{isValid:c,errors:l},register:u,handleSubmit:d}=s;return(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(ute,{}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!l.prettyAmount,children:[(0,Yn.jsx)(b0,{children:"Amount"}),(0,Yn.jsxs)(k0,{children:[(0,Yn.jsx)(O0,{isDisabled:a,step:zre(6),type:"number",...u("prettyAmount",{required:"Amount is required",validate:Ure(6)}),placeholder:"0.000000"}),(0,Yn.jsx)(C0,{children:"\ua729"})]}),l.prettyAmount&&(0,Yn.jsx)(Qee,{"data-testid":"amount-error",children:l.prettyAmount.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.sender,children:[(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!!t.sender,label:"From"}),l.sender&&(0,Yn.jsx)(Qee,{"data-testid":"from-error",children:l.sender.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.recipient,children:[(0,Yn.jsx)(V3,{allowUnknown:!0,inputName:"recipient",label:"To"}),l.recipient&&(0,Yn.jsx)(Qee,{"data-testid":"recipient-error",children:l.recipient.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:a,isValid:c,onAddToBatch:d(o),onSingleSubmit:d(i),showPreview:e})})]})})})},Wre=e=>({type:"tez",amount:l3(e.prettyAmount).toFixed(),recipient:dd(e.recipient)}),Gre=({contacts:e})=>{const{openWith:r}=(0,t.useContext)(kW);return(0,Yn.jsx)(Qn,{overflow:"auto",background:E$.gray[900],borderRadius:"8px",paddingX:"30px",children:(0,Yn.jsx)(Fte,{overflowX:"unset",overflowY:"unset",children:(0,Yn.jsx)(Vte,{children:(0,Yn.jsx)(qte,{children:e.map(((t,n)=>{const i=n===e.length-1?"transparent":E$.gray[700];return(0,Yn.jsxs)(Kte,{"data-testid":"contact-row",children:[(0,Yn.jsx)(Wte,{borderColor:i,"data-testid":"contact-row-name",paddingX:"0",children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(Qn,{width:"150px",marginRight:"40px",children:(0,Yn.jsx)(NX,{overflow:"hidden",fontWeight:600,whiteSpace:"nowrap",textOverflow:"ellipsis",children:t.name})}),(0,Yn.jsx)(Qte,{justifyContent:"space-between","data-testid":"contact-row-pkh",formatAddress:!1,iconColor:E$.gray[400],pkh:t.pkh})]})}),(0,Yn.jsx)(Wte,{borderColor:i,paddingX:"0",children:(0,Yn.jsxs)(Zn,{justifyContent:"end",children:[(0,Yn.jsx)(Cre,{marginRight:"20px",onClick:()=>r((0,Yn.jsx)(Kre,{form:{sender:"",recipient:t.pkh,prettyAmount:""}}))}),(0,Yn.jsx)(jre,{onRemove:()=>{r((0,Yn.jsx)(nre,{contact:t}))},onRename:()=>{r((0,Yn.jsx)(rre,{buttonText:"Update",contact:t,title:"Edit contact"}))}})]})})]},t.pkh)}))})})})})};function Yre(e,r={}){const{ssr:n=!0,fallback:i}=r,{getWindow:o}=function({defer:e}={}){const[,r]=(0,t.useReducer)((e=>e+1),0);return jO((()=>{e&&r()}),[e]),(0,t.useContext)(MO)}(),a=Array.isArray(e)?e:[e];let s=Array.isArray(i)?i:[i];s=s.filter((e=>null!=e));const[c,l]=(0,t.useState)((()=>a.map(((e,t)=>({media:e,matches:n?!!s[t]:o().matchMedia(e).matches})))));return(0,t.useEffect)((()=>{const e=o();l(a.map((t=>({media:t,matches:e.matchMedia(t).matches}))));const t=a.map((t=>e.matchMedia(t))),r=e=>{l((t=>t.slice().map((t=>t.media===e.media?{...t,matches:e.matches}:t))))};return t.forEach((e=>{"function"===typeof e.addListener?e.addListener(r):e.addEventListener("change",r)})),()=>{t.forEach((e=>{"function"===typeof e.removeListener?e.removeListener(r):e.removeEventListener("change",r)}))}}),[o]),c.map((e=>e.matches))}Math.pow(10,8);function Zre(e){return Zre="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zre(e)}function Xre(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}function Jre(e){Xre(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===Zre(e)&&"[object Date]"===t?new Date(e.getTime()):"number"===typeof e||"[object Number]"===t?new Date(e):("string"!==typeof e&&"[object String]"!==t||"undefined"===typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function Qre(e,t){return Xre(2,arguments),Jre(e).getTime()-Jre(t).getTime()}var ene={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}},tne="trunc";function rne(e){return e?ene[e]:ene[tne]}var nne={};function ine(){return nne}function one(e,t){Xre(2,arguments);var r=Jre(e),n=Jre(t),i=r.getTime()-n.getTime();return i<0?-1:i>0?1:i}function ane(e){Xre(1,arguments);var t=Jre(e);return function(e){Xre(1,arguments);var t=Jre(e);return t.setHours(23,59,59,999),t}(t).getTime()===function(e){Xre(1,arguments);var t=Jre(e),r=t.getMonth();return t.setFullYear(t.getFullYear(),r+1,0),t.setHours(23,59,59,999),t}(t).getTime()}function sne(e,t){Xre(2,arguments);var r,n=Jre(e),i=Jre(t),o=one(n,i),a=Math.abs(function(e,t){Xre(2,arguments);var r=Jre(e),n=Jre(t);return 12*(r.getFullYear()-n.getFullYear())+(r.getMonth()-n.getMonth())}(n,i));if(a<1)r=0;else{1===n.getMonth()&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-o*a);var s=one(n,i)===-o;ane(Jre(e))&&1===a&&1===one(e,i)&&(s=!1),r=o*(a-Number(s))}return 0===r?0:r}var cne={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};const lne=function(e,t,r){var n,i=cne[e];return n="string"===typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),null!==r&&void 0!==r&&r.addSuffix?r.comparison&&r.comparison>0?"in "+n:n+" ago":n};function une(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.width?String(t.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}const dne={date:une({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:une({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:une({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})};var hne={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};const fne=function(e,t,r,n){return hne[e]};function pne(e){return function(t,r){var n;if("formatting"===(null!==r&&void 0!==r&&r.context?String(r.context):"standalone")&&e.formattingValues){var i=e.defaultFormattingWidth||e.defaultWidth,o=null!==r&&void 0!==r&&r.width?String(r.width):i;n=e.formattingValues[o]||e.formattingValues[i]}else{var a=e.defaultWidth,s=null!==r&&void 0!==r&&r.width?String(r.width):e.defaultWidth;n=e.values[s]||e.values[a]}return n[e.argumentCallback?e.argumentCallback(t):t]}}var mne={ordinalNumber:function(e,t){var r=Number(e),n=r%100;if(n>20||n<10)switch(n%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},era:pne({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:pne({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:pne({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:pne({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:pne({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};const gne=mne;function vne(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.width,i=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;var a,s=o[0],c=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(c)?function(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(yne.matchPattern);if(!r)return null;var n=r[0],i=e.match(yne.parsePattern);if(!i)return null;var o=yne.valueCallback?yne.valueCallback(i[0]):i[0];return{value:o=t.valueCallback?t.valueCallback(o):o,rest:e.slice(n.length)}}),era:vne({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:vne({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:vne({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:vne({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:vne({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};const wne={code:"en-US",formatDistance:lne,formatLong:dne,formatRelative:fne,localize:gne,match:bne,options:{weekStartsOn:0,firstWeekContainsDate:1}};function xne(e,t){if(null==e)throw new TypeError("assign requires that input parameter not be null or undefined");for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}function _ne(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}var Sne=43200;function kne(e,t,r){var n,i;Xre(2,arguments);var o=ine(),a=null!==(n=null!==(i=null===r||void 0===r?void 0:r.locale)&&void 0!==i?i:o.locale)&&void 0!==n?n:wne;if(!a.formatDistance)throw new RangeError("locale must contain formatDistance property");var s=one(e,t);if(isNaN(s))throw new RangeError("Invalid time value");var c,l,u=xne(xne({},r),{addSuffix:Boolean(null===r||void 0===r?void 0:r.addSuffix),comparison:s});s>0?(c=Jre(t),l=Jre(e)):(c=Jre(e),l=Jre(t));var d,h=function(e,t,r){Xre(2,arguments);var n=Qre(e,t)/1e3;return rne(null===r||void 0===r?void 0:r.roundingMethod)(n)}(l,c),f=(_ne(l)-_ne(c))/1e3,p=Math.round((h-f)/60);if(p<2)return null!==r&&void 0!==r&&r.includeSeconds?h<5?a.formatDistance("lessThanXSeconds",5,u):h<10?a.formatDistance("lessThanXSeconds",10,u):h<20?a.formatDistance("lessThanXSeconds",20,u):h<40?a.formatDistance("halfAMinute",0,u):h<60?a.formatDistance("lessThanXMinutes",1,u):a.formatDistance("xMinutes",1,u):0===p?a.formatDistance("lessThanXMinutes",1,u):a.formatDistance("xMinutes",p,u);if(p<45)return a.formatDistance("xMinutes",p,u);if(p<90)return a.formatDistance("aboutXHours",1,u);if(p<1440){var m=Math.round(p/60);return a.formatDistance("aboutXHours",m,u)}if(p<2520)return a.formatDistance("xDays",1,u);if(p{const t=i3(),r="mainnet"===t.name,n=r?"Buy Tez":"Request Tez from faucet",i=h0({mode:"onBlur",defaultValues:{address:e}}),{formState:{isValid:o,errors:a}}=i;let s=t.buyTezUrl;return t.buyTezUrl&&r&&(s+="/default/widget/"),(0,Yn.jsx)(oQ,{...i,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{action:s,rel:"noreferrer noopener",target:"_blank",children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(MX,{textAlign:"center",children:"Buy Tez"}),r&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)("input",{name:"commodity",type:"hidden",value:"XTZ:Tezos"}),(0,Yn.jsx)(NX,{color:E$.gray[400],textAlign:"center",size:"sm",children:"Please select the recipient account."}),(0,Yn.jsx)(BX,{children:(0,Yn.jsxs)(OJ,{"data-testid":"buy-tez-selector",isInvalid:!!a.address,paddingY:5,children:[(0,Yn.jsx)(q3,{allowUnknown:!1,inputName:"address",isDisabled:!!e,label:"Recipient Account"}),a.address&&(0,Yn.jsx)(Qee,{children:a.address.message})]})})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Qn,{width:"100%","data-testid":"buy-tez-button",children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:2,isDisabled:!o,size:"lg",type:"submit",children:n})})})]})})})},Pne=e=>(0,Yn.jsx)(LF,{width:"15px",height:"11px",fill:"none",stroke:"white",viewBox:"0 0 15 11",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,Yn.jsx)("path",{d:"M1.16602 5.98371L5.06345 9.85408L13.8327 1.14575",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"})}),One=()=>{const e=t3(),r=r3((e=>e.assets.isLoading)),n=r3((e=>e.assets.lastTimeUpdated)),[i,o]=(0,t.useState)(!1),[a,s]=(0,t.useState)(!1),[c]=Yre("(max-width: 1200px)");if((0,t.useEffect)((()=>{if(n){o(!0),s(!0);const e=setTimeout((()=>{o(!1)}),2e3),t=setTimeout((()=>{s(!1)}),3500);return()=>{clearTimeout(e),clearTimeout(t)}}}),[n]),c||null===n)return null;const l=function(e,t,r){Xre(2,arguments);var n=Qre(e,t)/6e4;return rne(null===r||void 0===r?void 0:r.roundingMethod)(n)}(new Date,new Date(n))>=2,u={opacity:i?1:0,transition:"opacity 2s ease-in-out"};return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsxs)(NX,{display:"inline",color:E$.gray[400],size:"sm",style:a?u:void 0,children:[a&&"Updated just now",l&&`Updated ${kne(new Date(n),new Date)} ago`]}),(0,Yn.jsx)(Z3,{marginRight:"36px",marginLeft:"8px",_active:{color:"white",bg:E$.green},"aria-label":"refetch",backgroundColor:a?E$.green:E$.gray[500],"data-testid":"refetch-button",icon:a?(0,Yn.jsx)(Pne,{style:u}):(0,Yn.jsx)(o5,{color:"white"}),isLoading:r,onClick:()=>{e(DP.refetch())},variant:"circle_without_hover_color"})]})},Ane=({title:e,subtitle:r})=>{const{openWith:n}=(0,t.useContext)(kW);return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",height:"88px",children:[(0,Yn.jsxs)(Zn,{alignItems:"end",children:[(0,Yn.jsx)(li,{marginRight:"6px",size:"xl",children:e}),(0,Yn.jsx)(NX,{color:E$.gray[450],"data-testid":"nft-total-amount",size:"xs",children:r})]}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(One,{}),(0,Yn.jsx)(_i,{onClick:()=>n((0,Yn.jsx)(Ene,{})),variant:"tertiary",children:"Buy Tez"}),(0,Yn.jsx)(_i,{marginLeft:4,onClick:()=>n((0,Yn.jsx)(Kre,{})),children:"Send"})]})]}),(0,Yn.jsx)(ire,{})]})},Tne=()=>{const{openWith:e}=(0,t.useContext)(kW);return(0,Yn.jsxs)(_i,{alignItems:"center",justifyContent:"end",marginTop:"16px",marginBottom:"16px",cursor:"pointer",onClick:()=>e((0,Yn.jsx)(rre,{buttonText:"Add to Contact",title:"Add contact"})),variant:"CTAWithIcon",children:[(0,Yn.jsx)(L2,{stroke:"currentcolor"}),(0,Yn.jsx)(NX,{marginLeft:"4px",size:"sm",children:"Add contact"})]})},jne=()=>{const e=(()=>{const e=_3();return Object.values(e).sort(((e,t)=>e.name.localeCompare(t.name)))})();return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Address Book"}),(0,Yn.jsx)(Zn,{flexDirection:"row-reverse",children:(0,Yn.jsx)(Tne,{})}),(0,Yn.jsx)(Gre,{contacts:e})]})};var Cne=r(903),Rne=r.n(Cne);const Ine=({pkh:e,...t})=>{const r=O3().find((t=>t.address.pkh===e)),n=w3()(e);return r?(0,Yn.jsxs)(Zn,{alignItems:"space-between",cursor:"pointer","data-testid":"account-small-tile",...t,children:[(0,Yn.jsx)(J5,{height:"30px",marginRight:"12px",padding:"5px",address:e,identiconSize:20}),(0,Yn.jsxs)(Zn,{alignSelf:"center",height:"20px",children:[(0,Yn.jsx)(li,{marginRight:"10px","data-testid":"account-small-tile-label",size:"sm",children:r.label}),(0,Yn.jsx)(NX,{marginRight:"35px",color:E$.gray[300],"data-testid":"account-small-tile-pkh",size:"xs",children:h3(e)}),n&&(0,Yn.jsx)(li,{"data-testid":"account-small-tile-balance",size:"sm",children:d3(n)})]})]}):null};function Mne(e,t){var r;const n=e.target;if(n){if(!rK(n).contains(n))return!1}return!(null==(r=t.current)?void 0:r.contains(n))}var Lne=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function Nne(e){var t;const{bg:r,bgColor:n,backgroundColor:i,shadow:o,boxShadow:a,shadowColor:s}=e,{getArrowProps:c,getArrowInnerProps:l}=yre(),u=wre(),d=null!=(t=null!=r?r:n)?t:i,h=null!=o?o:a;return(0,Yn.jsx)(Gn.div,{...c(),className:"chakra-popover__arrow-positioner",children:(0,Yn.jsx)(Gn.div,{className:ne("chakra-popover__arrow",e.className),...l(e),__css:{"--popper-arrow-shadow-color":Lne("colors",s),"--popper-arrow-bg":Lne("colors",d),"--popper-arrow-shadow":Lne("shadows",h),...u.arrow}})})}Nne.displayName="PopoverArrow";const Dne=({addressKind:{type:e},...t})=>{switch(e){case"multisig":return(0,Yn.jsx)(f5,{"data-testid":`${e}-icon`,...t});case"fa1.2":return(0,Yn.jsx)(r5,{"data-testid":`${e}-icon`,...t,fill:t.stroke,stroke:"none"});case"fa2":return(0,Yn.jsx)(n5,{"data-testid":`${e}-icon`,...t,fill:t.stroke,stroke:"none"});case"baker":return(0,Yn.jsx)(D2,{"data-testid":`${e}-icon`,...t});case"contact":return(0,Yn.jsx)(H2,{"data-testid":`${e}-icon`,...t});case"unknown":case"implicit":return null}},Bne=({addressKind:{type:e,pkh:r},addressPillMode:n,...i})=>{const{addressExistsInContacts:o}=S3(),{openWith:a}=(0,t.useContext)(kW);if("removable"===n.type)return(0,Yn.jsx)(G5,{cursor:"pointer",onClick:n.onRemove,...i});return["implicit","multisig","baker"].includes(e)||o(r)?null:(0,Yn.jsx)(Yn.Fragment,{children:(0,Yn.jsx)(L2,{"data-testid":"add-contact-icon",onClick:()=>{a((0,Yn.jsx)(rre,{buttonText:"Add to Contact",contact:{name:"",pkh:r},title:"Add contact"}))},...i})})},zne=({addressKind:{pkh:e,label:t},showPkh:r,alias:n,...i})=>{const o=k3(),a=h3(e),s=o(e)||t||n;return r?(0,Yn.jsx)(NX,{...i,children:a}):(0,Yn.jsx)(NX,{...i,children:s?c3(s,21):a})},Une=e=>{const t=M3(e);if(!t)return null;const{pkh:r,label:n}=t;return{type:"multisig"===t.type?"multisig":"implicit",pkh:r,label:n}},Fne=({pkh:e})=>{const t=(e=>{const t=r3((t=>t.tokens[e.name]));return e=>{if(!t||!(e in t))return;const r=t[e],n=Object.keys(r)[0];return n?r[n].type:void 0}})(i3()),r=t(e);if(!r)return null;switch(r){case"fa1.2":return{pkh:e,type:"fa1.2",label:null};case"fa2":case"nft":return{pkh:e,type:"fa2",label:null}}},$ne=({address:e,mode:r={type:"default"},...n})=>{const i=!("pkh"in e&&"type"in e),o=i?dd(e.address):e,a=(e=>{const t=Une(e),r=Fne(e),n=L3(e),i=N3(e);return t||r||n||i||{pkh:e.pkh,type:"unknown",label:null}})(o),s="no_icons"!==r.type,{onOpen:c,onClose:l,isOpen:u}=aK(),[d,h]=(0,t.useState)(!1),f=(0,t.useRef)(null);let p,m,g;return function(e){const{ref:r,handler:n,enabled:i=!0}=e,o=oK(n),a=(0,t.useRef)({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;(0,t.useEffect)((()=>{if(!i)return;const e=e=>{Mne(e,r)&&(a.isPointerDown=!0)},t=e=>{a.ignoreEmulatedMouseEvents?a.ignoreEmulatedMouseEvents=!1:a.isPointerDown&&n&&Mne(e,r)&&(a.isPointerDown=!1,o(e))},s=e=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&Mne(e,r)&&(a.isPointerDown=!1,o(e))},c=rK(r.current);return c.addEventListener("mousedown",e,!0),c.addEventListener("mouseup",t,!0),c.addEventListener("touchstart",e,!0),c.addEventListener("touchend",s,!0),()=>{c.removeEventListener("mousedown",e,!0),c.removeEventListener("mouseup",t,!0),c.removeEventListener("touchstart",e,!0),c.removeEventListener("touchend",s,!0)}}),[n,r,o,a,i])}({ref:f,handler:()=>{h(!1)}}),u?(p=E$.green,m=E$.gray[300],g="white"):d?(p=E$.gray[450],m=E$.gray[400],g=E$.gray[200]):(p=E$.gray[500],m=E$.gray[450],g=E$.gray[300]),(0,Yn.jsx)(Qn,{maxWidth:"max-content","data-testid":"address-pill",...n,children:(0,Yn.jsxs)(Zn,{ref:f,alignItems:"center",background:p,borderRadius:"full",onMouseEnter:()=>{h(!0)},onMouseLeave:()=>{h(!1)},paddingX:"4px",children:[s&&(0,Yn.jsx)(Dne,{marginLeft:"4px",stroke:m,addressKind:a,"data-testid":"address-pill-left-icon"}),(0,Yn.jsxs)(xre,{autoFocus:!1,isOpen:u,onOpen:async()=>{await navigator.clipboard.writeText(o.pkh),c(),setTimeout(l,1e3)},children:[(0,Yn.jsx)(_re,{children:(0,Yn.jsx)(_i,{height:"24px",_focus:{boxShadow:"none"},onClick:e=>e.stopPropagation(),variant:"unstyled",children:(0,Yn.jsx)(zne,{color:g,cursor:"pointer",addressKind:a,alias:i&&e.alias?e.alias:void 0,"data-testid":"address-pill-text",marginX:"4px",showPkh:!s,size:"sm"})})}),(0,Yn.jsxs)(Ore,{maxWidth:"max-content",background:"white",children:[(0,Yn.jsx)(Nne,{background:"white !important"}),(0,Yn.jsx)(Are,{children:(0,Yn.jsx)(NX,{color:"black",size:"sm",children:"Copied!"})})]})]}),s&&(0,Yn.jsx)(Bne,{marginRight:"4px",stroke:E$.gray[300],cursor:"pointer",addressKind:a,addressPillMode:r,"data-testid":"address-pill-right-icon"})]})})},Hne=({operation:e})=>{let t;switch(e.type){case"undelegation":case"contract_origination":t=void 0;break;case"tez":case"fa1.2":case"fa2":case"delegation":t=e.recipient;break;case"contract_call":t=e.contract}return t?(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:t,"data-testid":"recipient"})]}):(0,Yn.jsx)(NX,{color:E$.gray[500],"data-testid":"recipient",children:"N/A"})},Vne=e=>null===e||void 0===e?void 0:e.replace("ipfs://","https://ipfs.io/ipfs/"),qne=e=>(0,iE.orderBy)(e,["lastLevel","id","owner"],["desc"]),Kne=({operation:e})=>{const t=s3(),r=i3();switch(e.type){case"tez":return(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(P5,{marginRight:"8px"}),(0,Yn.jsx)(li,{size:"sm",children:d3(e.amount)})]});case"fa1.2":case"fa2":{const n=t(e.contract.pkh,e.tokenId);return"nft"===(null===n||void 0===n?void 0:n.type)?(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(P5,{marginRight:"8px"}),Number(e.amount)>1&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsxs)(li,{color:E$.gray[450],size:"sm",children:["x",e.amount]}),"\xa0"]}),(0,Yn.jsx)(li,{size:"sm",children:(0,Yn.jsx)(R2,{padding:"8px",background:E$.gray[700],border:"1px solid",borderColor:E$.gray[500],borderRadius:"8px",label:(0,Yn.jsx)(UX,{width:"170px",height:"170px",ratio:1,children:(0,Yn.jsx)(HX,{src:Vne(SP(n))})}),children:(0,Yn.jsx)(ki,{"data-testid":"link",href:PP(n,r),children:pP(n)})})})]}):(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(P5,{marginRight:"8px"}),(0,Yn.jsx)(li,{size:"sm",children:(0,Yn.jsx)(ki,{"data-testid":"link",href:n?PP(n,r):void 0,children:Qne(n,e.amount)})})]})}case"delegation":return(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(D2,{marginRight:"8px"}),(0,Yn.jsx)(li,{size:"sm",children:"Delegate"})]});case"undelegation":return(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(D2,{marginRight:"8px"}),(0,Yn.jsx)(li,{size:"sm",children:"End Delegation"})]});case"contract_origination":case"contract_call":throw new Error(`${e.type} is not supported yet`)}},Wne=({title:e,description:r,buttonLabel:n,onSubmit:i})=>{const{onClose:o}=(0,t.useContext)(kW);return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsxs)(MX,{marginBottom:"10px",textAlign:"center",children:[(0,Yn.jsx)(Qn,{children:(0,Yn.jsx)(W5,{width:"40px",height:"40px",marginBottom:"16px"})}),(0,Yn.jsx)(li,{children:e}),(0,Yn.jsx)(DX,{})]}),r&&(0,Yn.jsx)(BX,{children:(0,Yn.jsx)(NX,{align:"center",color:E$.gray[400],"data-testid":"description",children:r})}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",onClick:()=>{i(),o()},size:"lg",variant:"warning",children:n})})]})},Gne=({title:e,fee:t,transactionCount:r,signerAddress:n})=>(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ute,{subTitle:" Enter your password to confirm this transaction.",title:e}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:n}),(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",marginY:"12px",paddingX:"4px",children:[(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(NX,{marginRight:1,color:E$.gray[450],size:"sm",children:"Transactions:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"transaction-length",size:"sm",children:r})]}),(0,Yn.jsx)(cte,{fee:t})]})]})]}),Yne=({initialOperations:e,initialFee:t})=>{const{fee:r,operations:n,estimationFailed:i,isLoading:o,signer:a,form:s,reEstimate:c,onSign:l}=Dre(t,e,"batch"),u=fte(n.type,"batch");return(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(Gne,{fee:r,signerAddress:a.address,title:u,transactionCount:n.operations.length}),(0,Yn.jsx)(Rre,{isLoading:o,operationType:n.type,reEstimate:c,sender:n.sender}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:i,isLoading:o,onSubmit:l,signer:a,text:u})})]})})})},Zne=({operations:e})=>{const{type:r,sender:n,operations:i}=e,{openWith:o}=(0,t.useContext)(kW),{handleAsyncAction:a,isLoading:s}=Yee(),c=i3();return(0,Yn.jsxs)(Qn,{alignItems:"center",justifyContent:"space-between","data-testid":"right-header",children:[(0,Yn.jsx)(NX,{display:"inline-block",color:E$.gray[400],size:"sm",children:Rne()("transaction",i.length,!0)}),(0,Yn.jsx)(_i,{marginLeft:"30px",isLoading:s,onClick:()=>a((async()=>{const t=await kE(e,c);o((0,Yn.jsx)(Yne,{initialFee:t,initialOperations:e}))})),variant:"primary",children:fte(r,"batch")}),(0,Yn.jsx)(Z3,{marginLeft:"16px",borderRadius:"4px","aria-label":"remove-batch","data-testid":"remove-batch",icon:(0,Yn.jsx)(U5,{stroke:E$.gray[300]}),onClick:()=>o((0,Yn.jsx)(Jne,{sender:n}),"sm"),variant:"circle"})]})},Xne=e=>{switch(e.type){case"fa1.2":case"fa2":return"Token Transfer";case"undelegation":case"delegation":return"Delegation";case"tez":return"\ua729 Transfer";case"contract_origination":case"contract_call":throw new Error(`${e.type} is not supported yet`)}},Jne=({sender:e})=>{const t=Mre();return(0,Yn.jsx)(Wne,{buttonLabel:"Delete Batch",description:"Are you sure you want to remove all transactions from the batch?",onSubmit:()=>t(e),title:"Delete Batch"})},Qne=(e,t)=>{if(!e)return`${t} Unknown Token`;const r=mP(e),n=xP(t,e,{showSymbol:!1}),i=r?void 0:vP(e);return(0,iE.compact)([n,i,r]).join(" ")},eie=({operations:e})=>{const{operations:t,sender:r}=e,n=(()=>{const e=t3(),t=i3();return(r,n)=>e(HP.removeItem({pkh:r.address.pkh,index:n,network:t}))})(),i=t.length>9;return(0,Yn.jsxs)(Qn,{width:"100%",marginBottom:"16px","data-testid":`batch-table-${r.address.pkh}`,children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",padding:"20px 23px 20px 30px",background:E$.gray[800],borderTopRadius:"8px","data-testid":"header",children:[(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(Ine,{paddingLeft:0,pkh:r.address.pkh})}),(0,Yn.jsx)(Zne,{operations:e})]}),(0,Yn.jsx)(Zn,{flexDirection:"column",background:E$.gray[900],borderBottomRadius:i?0:"8px",paddingX:"30px",paddingY:"20px",children:t.map(((e,i)=>(0,Yn.jsxs)(Qn,{"data-testid":"operation",children:[(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"50px",children:[(0,Yn.jsx)(Zn,{children:(0,Yn.jsx)(Kne,{operation:e})}),(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",width:"100%",marginTop:"8px",children:[(0,Yn.jsx)(Zn,{children:(0,Yn.jsx)(Hne,{operation:e})}),(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(NX,{alignSelf:"flex-end",color:E$.gray[450],size:"sm",children:Xne(e)}),(0,Yn.jsx)(Z3,{width:"24px",marginLeft:"12px",borderRadius:"full","aria-label":"Remove",icon:(0,Yn.jsx)(U5,{stroke:E$.gray[300]}),onClick:()=>n(r,i),size:"xs",variant:"circle"})]})]})]}),icrypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")),""))())))}),i&&(0,Yn.jsx)(Zn,{justifyContent:"end",verticalAlign:"middle",padding:"20px 23px 20px 30px",background:E$.gray[800],borderRadius:"0 0 8px 8px","data-testid":"footer",children:(0,Yn.jsx)(Zne,{operations:e})})]})};var tie=r(6065),rie=r.n(tie);function nie(e){const t=new Is(e);return t.isLessThan(0)?null:t.toFixed()}const iie=(e,t,r)=>{const n=t.filter((e=>e.length>0)),i=n.length;if(i<2||4{const e=i3(),r=DY(),n=s3(),i=t3(),o=T3(),a=R3(),{onClose:s}=(0,t.useContext)(kW),{isLoading:c,handleAsyncAction:l}=Yee(),u=h0({mode:"onBlur"}),{handleSubmit:d,formState:{isValid:h,errors:f}}=u;return(0,Yn.jsx)(oQ,{...u,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:d((async({file:t,sender:c})=>l((async()=>{const l=o(c),u=await new Promise((e=>{rie().parse(t[0],{skipEmptyLines:!0,complete:e})}));if(u.errors.length>0)throw new Error("Error loading csv file: "+u.errors.map((e=>e.message)).join(", "));const d=[];for(let e=0;e{const{openWith:e}=(0,t.useContext)(kW);return(0,Yn.jsxs)(_i,{onClick:()=>e((0,Yn.jsx)(oie,{})),variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{marginRight:"4px",size:"sm",children:"Load CSV file"}),(0,Yn.jsx)(a5,{stroke:"currentcolor"})]})},sie=({href:e,children:t,...r})=>(0,Yn.jsx)(ki,{alignItems:"center",display:"flex",_hover:{textDecoration:"none"},href:e,rel:"noopener noreferrer",role:"link",target:"_blank",...r,children:t}),cie=({batchPending:e})=>(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"24px",marginBottom:"24px",children:[(0,Yn.jsxs)(li,{flex:1,color:E$.orangeL,size:"sm",children:[e," Pending"]}),(0,Yn.jsx)(aie,{}),(0,Yn.jsx)(sie,{marginLeft:"8px",href:"https://github.com/trilitech/umami-v1/blob/main/CSV_FILE_SPEC.md",children:(0,Yn.jsxs)(_i,{paddingRight:"0",variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{marginRight:"4px",size:"sm",children:"See file specs"}),(0,Yn.jsx)(Q2,{stroke:"currentcolor"})]})})]}),lie=()=>{const e=(()=>{const e=i3(),t=r3((t=>t.batches[e.name]));return t||[]})();return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Batch"}),(0,Yn.jsx)(cie,{batchPending:e.length}),(0,Yn.jsx)(Qn,{overflowY:"auto",minHeight:"80%",children:e.length>0?e.map((e=>(0,Yn.jsx)(eie,{operations:e},e.sender.address.pkh))):(0,Yn.jsx)(uie,{})})]})},uie=()=>{const{openWith:e}=(0,t.useContext)(kW);return(0,Yn.jsx)(Xn,{height:"100%",textAlign:"center",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(li,{size:"3xl",children:"No 'batch' to show"}),(0,Yn.jsx)(NX,{marginTop:"10px",color:E$.gray[400],size:"xl",children:"There is no batch transaction to show..."}),(0,Yn.jsx)(Zn,{justifyContent:"space-around",marginTop:"30px",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(_i,{onClick:()=>e((0,Yn.jsx)(Kre,{showPreview:!1})),children:"Start a Batch"}),(0,Yn.jsx)(_i,{marginLeft:"15px",onClick:()=>e((0,Yn.jsx)(oie,{})),variant:"tertiary",children:"Load CSV file"})]})})]})})};var die=re((function(e,t){const{templateAreas:r,gap:n,rowGap:i,columnGap:o,column:a,row:s,autoFlow:c,autoRows:l,templateRows:u,autoColumns:d,templateColumns:h,...f}=e,p={display:"grid",gridTemplateAreas:r,gridGap:n,gridRowGap:i,gridColumnGap:o,gridAutoColumns:d,gridColumn:a,gridRow:s,gridAutoFlow:c,gridAutoRows:l,gridTemplateRows:u,gridTemplateColumns:h};return(0,Yn.jsx)(Gn.div,{ref:t,__css:p,...f})}));function hie(e){return zX(e,(e=>"auto"===e?"auto":`span ${e}/span ${e}`))}die.displayName="Grid";var fie=re((function(e,t){const{area:r,colSpan:n,colStart:i,colEnd:o,rowEnd:a,rowSpan:s,rowStart:c,...l}=e,u=LX({gridArea:r,gridColumn:hie(n),gridRow:hie(s),gridColumnStart:i,gridColumnEnd:o,gridRowStart:c,gridRowEnd:a});return(0,Yn.jsx)(Gn.div,{ref:t,__css:u,...l})}));fie.displayName="GridItem";const pie=({onClick:e,children:t,isSelected:r,...n})=>(0,Yn.jsx)(g0,{justifyContent:"center",height:"66px",marginBottom:"10px",padding:"24px",border:"1px solid",borderColor:r?` ${E$.orangeL}`:"transparent",borderRadius:"lg",_hover:{border:`1px solid ${E$.gray[500]}`,bg:E$.gray[800]},cursor:e?"pointer":void 0,backgroundColor:E$.gray[900],onClick:e,...n,children:(0,Yn.jsx)(v0,{padding:0,children:t})}),mie=({left:e,isSelected:t,onClick:r})=>(0,Yn.jsx)(pie,{isSelected:t,onClick:r,children:(0,Yn.jsx)(Zn,{alignItems:"center",height:"100%",children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",width:"100%",children:[(0,Yn.jsx)(li,{size:"sm",children:e}),(0,Yn.jsx)(F2,{})]})})}),gie=()=>(0,Yn.jsxs)(die,{gridGap:"1",gridTemplateRows:"0fr 1fr 1fr",gridTemplateColumns:"1fr 1fr",gridTemplateAreas:'\n "header header"\n "main main"\n "main main"\n ',height:"100%",children:[(0,Yn.jsx)(fie,{gridArea:"header",children:(0,Yn.jsx)(Ane,{title:"Help"})}),(0,Yn.jsxs)(fie,{gridArea:"main",marginTop:1,children:[(0,Yn.jsx)(yie,{title:"Learn More",children:(0,Yn.jsx)(vie,{about:"Browse Articles",externalLink:"https://medium.com/umamiwallet"})}),(0,Yn.jsxs)(yie,{title:"Need Help?",children:[(0,Yn.jsx)(vie,{about:"Contact our Support Team",externalLink:"mailto:umami-support@trili.tech",linkDescription:"umami-support@trili.tech"}),(0,Yn.jsx)(vie,{about:"Get in touch with the Community",externalLink:"https://join.slack.com/t/tezos-dev/shared_invite/zt-1ur1ymxrp-G_X_bFHrvWXwoeiy53J8lg",linkDescription:"Slack #Umami"})]}),(0,Yn.jsx)(yie,{title:"Terms of Use",children:(0,Yn.jsx)(vie,{about:"Read Terms of Service",externalLink:"https://umamiwallet.com/tos.html"})})]})]}),vie=({about:e,externalLink:t,linkDescription:r})=>(0,Yn.jsx)(vV,{rel:"noopener noreferrer",target:"_blank",to:t,children:(0,Yn.jsx)(pie,{cursor:"pointer",isSelected:!1,children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",children:[(0,Yn.jsx)(li,{size:"sm",children:e}),(0,Yn.jsxs)(Zn,{alignItems:"center",children:[r&&(0,Yn.jsx)(NX,{marginRight:"4px",color:E$.gray[400],size:"sm",children:r}),(0,Yn.jsx)(Q2,{})]})]})})}),yie=({title:e,children:t})=>(0,Yn.jsx)(Qn,{"data-testid":"help-card",marginY:"10px",children:(0,Yn.jsx)(Zn,{children:(0,Yn.jsxs)(Qn,{width:"550px",children:[(0,Yn.jsx)(li,{marginBottom:"16px",size:"lg",children:e}),t]})})});var[bie,wie]=ui(),xie={start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}};function _ie(e){var t;const{isOpen:r,onClose:n,placement:i="right",children:o,...a}=e,s=ri(),c=null==(t=s.components)?void 0:t.Drawer,l=function(e,t){var r,n;if(e)return null!=(n=null==(r=xie[e])?void 0:r[t])?n:e}(i,s.direction);return(0,Yn.jsx)(bie,{value:{placement:l},children:(0,Yn.jsx)(kK,{isOpen:r,onClose:n,styleConfig:c,...a,children:o})})}var Sie={exit:{duration:.15,ease:EK.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},kie={exit:({direction:e,transition:t,transitionEnd:r,delay:n})=>{var i;const{exit:o}=jK({direction:e});return{...o,transition:null!=(i=null==t?void 0:t.exit)?i:IK(Sie.exit,n),transitionEnd:null==r?void 0:r.exit}},enter:({direction:e,transitionEnd:t,transition:r,delay:n})=>{var i;const{enter:o}=jK({direction:e});return{...o,transition:null!=(i=null==r?void 0:r.enter)?i:RK(Sie.enter,n),transitionEnd:null==t?void 0:t.enter}}},Eie=(0,t.forwardRef)((function(e,t){const{direction:r="right",style:n,unmountOnExit:i,in:o,className:a,transition:s,transitionEnd:c,delay:l,motionProps:u,...d}=e,h=jK({direction:r}),f=Object.assign({position:"fixed"},h.position,n),p=!i||o&&i,m=o||i?"enter":"exit",g={transitionEnd:c,transition:s,direction:r,delay:l};return(0,Yn.jsx)(i$,{custom:g,children:p&&(0,Yn.jsx)(jF.div,{...d,ref:t,initial:"exit",className:ne("chakra-slide",a),animate:m,exit:"exit",custom:g,variants:kie,style:f,...u})})}));Eie.displayName="Slide";var Pie=Gn(Eie),Oie=re(((e,t)=>{const{className:r,children:n,motionProps:i,containerProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:c,isOpen:l}=SK(),u=s(a,t),d=c(o),h=ne("chakra-modal__content",r),f=xK(),p={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...f.dialog},m={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...f.dialogContainer},{placement:g}=wie();return(0,Yn.jsx)(RX,{children:(0,Yn.jsx)(Gn.div,{...d,className:"chakra-modal__content-container",__css:m,children:(0,Yn.jsx)(Pie,{motionProps:i,direction:g,in:l,className:h,...u,__css:p,children:n})})})}));Oie.displayName="DrawerContent";const Aie=({onRemove:e,onCreate:t})=>(0,Yn.jsx)(Tre,{children:(0,Yn.jsxs)(Qn,{paddingY:"0",children:[(0,Yn.jsx)(_i,{height:t?"24px":"28px","data-testid":"popover-remove",onClick:e,variant:"popover",children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",flex:1,children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Remove"}),(0,Yn.jsx)(U5,{stroke:"inherit"})]})}),t&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ire,{marginY:"4px"}),(0,Yn.jsx)(_i,{onClick:t,variant:"popover",children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",flex:1,children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Create"}),(0,Yn.jsx)(A5,{width:"18px",height:"18px",stroke:"inherit"})]})})]})]})});var Tie=e=>(0,Yn.jsx)(Gn.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});Tie.displayName="StackItem";var jie=re(((e,r)=>{const{isInline:n,direction:i,align:o,justify:a,spacing:s="0.5rem",wrap:c,children:l,divider:u,className:d,shouldWrapChildren:h,...f}=e,p=n?"row":null!=i?i:"column",m=(0,t.useMemo)((()=>function(e){const{spacing:t,direction:r}=e,n={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":zX(r,(e=>n[e]))}}({spacing:s,direction:p})),[s,p]),g=!!u,v=!h&&!g,y=(0,t.useMemo)((()=>{const e=x0(l);return v?e:e.map(((r,n)=>{const i="undefined"!==typeof r.key?r.key:n,o=n+1===e.length,a=h?(0,Yn.jsx)(Tie,{children:r},i):r;if(!g)return a;const s=(0,t.cloneElement)(u,{__css:m}),c=o?null:s;return(0,Yn.jsxs)(t.Fragment,{children:[a,c]},i)}))}),[u,m,g,v,h,l]),b=ne("chakra-stack",d);return(0,Yn.jsx)(Gn.div,{ref:r,display:"flex",alignItems:o,justifyContent:a,flexDirection:p,flexWrap:c,gap:g?void 0:s,className:b,...f,children:y})}));jie.displayName="Stack";var Cie=re(((e,t)=>(0,Yn.jsx)(jie,{align:"center",...e,direction:"column",ref:t})));Cie.displayName="VStack";const Rie=({icon:e,size:t,onClick:r=(()=>{})})=>(0,Yn.jsx)(Qn,{width:t,height:t,margin:"auto",background:E$.gray[700],borderRadius:"full",onClick:r,children:(0,Yn.jsx)(Xn,{height:"100%",children:e})}),Iie=({children:e,icon:t,title:r,subtitle:n})=>(0,Yn.jsxs)(Cie,{maxHeight:"83vh",spacing:0,children:[(0,Yn.jsx)(Qn,{marginBottom:"20px",children:(0,Yn.jsx)(Rie,{icon:t,size:"48px"})}),(0,Yn.jsxs)(Xn,{flexDirection:"column",marginBottom:"32px",children:[(0,Yn.jsx)(li,{size:"xl",children:r}),n&&(0,Yn.jsx)(NX,{marginTop:"10px",color:E$.gray[400],textAlign:"center",size:"sm",children:n})]}),e]}),Mie=({onSubmit:e,isLoading:t})=>{const r=h0({mode:"onBlur"}),{handleSubmit:n,formState:{errors:i,isValid:o}}=r;return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(k5,{}),subtitle:"Enter your master password for Umami.",title:"Umami Master Password",children:(0,Yn.jsx)(oQ,{...r,children:(0,Yn.jsxs)("form",{onSubmit:n((t=>{e(t.password)})),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{isInvalid:!!i.password,children:[(0,Yn.jsx)(ete,{"data-testid":"password",inputName:"password"}),i.password&&(0,Yn.jsx)(Qee,{children:i.password.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",isDisabled:!o,isLoading:t,size:"lg",type:"submit",children:"Submit"})]})})})},Lie=({onSubmit:e,title:t="Name Your Account",subtitle:r})=>{const{register:n,handleSubmit:i}=h0({mode:"onChange"});return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(Z2,{}),subtitle:r,title:t,children:(0,Yn.jsxs)("form",{onSubmit:i(e),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{children:[(0,Yn.jsx)(b0,{children:"Account name"}),(0,Yn.jsx)(O0,{"data-testid":"name",type:"text",...n("accountName",{required:!1}),placeholder:"Optional"})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",size:"lg",type:"submit",children:"Continue"})]})})},Nie=e=>{const[r,n]=(0,t.useState)();return void 0===r?(0,Yn.jsx)(Lie,{onSubmit:e=>n(e.accountName),subtitle:e.subtitle,title:e.title}):(0,Yn.jsx)(Mie,{isLoading:e.isLoading,onSubmit:t=>e.onSubmit({name:r,password:t})})},Die=({addressKind:e})=>{switch(e.type){case"secret_key":case"mnemonic":return(0,Yn.jsx)(J5,{width:"48px",height:"48px",padding:"8px",address:e.pkh,identiconSize:32});case"social":case"contact":case"ledger":case"multisig":case"unknown":case"baker":{const t="social"===e.type?"white":E$.gray[500];return(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"center",padding:"4px",background:t,borderRadius:"4px",children:(0,Yn.jsx)(e3,{addressKind:e,size:"md"})})}}},Bie=({icon:e,leftElement:t,rightElement:r,...n})=>(0,Yn.jsxs)(Zn,{alignItems:"center",height:90,marginBottom:4,padding:4,background:E$.gray[900],border:`1px solid ${E$.gray[800]}`,borderRadius:4,...n,children:[e,(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",flex:1,children:[t,r]})]}),zie=({label:e,pkh:t})=>(0,Yn.jsxs)(Qn,{margin:4,"data-testid":"account-identifier",children:[e&&(0,Yn.jsx)(li,{size:"md",children:e}),(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(NX,{color:"text.dark","data-testid":"short-address",size:"sm",children:h3(t)})})]}),Uie=({selected:e,onClick:t,address:r,balance:n})=>{const i=t?`1px solid ${e?E$.orangeL:E$.gray[700]}`:void 0,o=I3(dd(r)),a=!!r3((e=>e.assets.delegationLevels))[r],s=v3(),c=qne(s(r));return(0,Yn.jsxs)(Qn,{background:E$.gray[900],border:`1px solid ${e?E$.orangeL:"transparent"}`,borderRadius:"8px",_hover:{border:i},cursor:"pointer",onClick:t,paddingX:"21px",children:[(0,Yn.jsx)(Bie,{align:"bottom",marginBottom:0,padding:0,border:"none","data-testid":`account-tile-${r}`+(e?"-selected":""),icon:(0,Yn.jsx)(Die,{addressKind:o}),leftElement:(0,Yn.jsx)(zie,{label:o.label,pkh:r}),rightElement:(0,Yn.jsxs)(Zn,{flexDirection:"column",children:[(0,Yn.jsx)(NX,{align:"right",color:E$.gray[450],fontWeight:700,size:"sm",children:a?"Delegated":(0,Yn.jsx)(Yn.Fragment,{children:"\xa0"})}),n&&(0,Yn.jsx)(li,{alignSelf:"flex-end",size:"lg",children:d3(n)})]})}),c.length>0&&(0,Yn.jsxs)(Zn,{flexDirection:"column","data-testid":"nfts-list",children:[(0,Yn.jsx)(ire,{}),(0,Yn.jsx)(Zn,{marginY:"21px",children:c.slice(0,7).map(((e,t)=>{const n=Vne(SP(e));return 6===t?(0,Yn.jsx)(vV,{"data-testid":"show-more-nfts-link",to:`/nfts?accounts=${r}`,children:(0,Yn.jsx)(Qn,{height:"32px",marginLeft:"4px",background:E$.gray[600],borderRadius:"4px",children:(0,Yn.jsx)(NX,{align:"center",width:"32px",color:E$.gray[450],fontWeight:700,children:"..."})})},"last"):(0,Yn.jsx)(vV,{"data-testid":"nft-link",to:`/home/${r}/${fP(e)}`,children:(0,Yn.jsx)(UX,{width:"32px",height:"32px",marginLeft:t>0?"4px":0,ratio:1,children:(0,Yn.jsx)(HX,{borderRadius:"4px",src:n})})},fP(e))}))})]})]})},Fie=e=>(0,Yn.jsx)(Qn,{overflowY:"auto",height:"100%",children:e.children}),$ie=({goToStep:e})=>{const t=E3().length>0;return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(S5,{}),title:"Connect or Import Account",children:(0,Yn.jsxs)(Cie,{width:"100%",spacing:"16px",children:[(0,Yn.jsx)(_i,{width:"100%",onClick:t=>e({type:tae.restoreMnemonic}),size:"lg",children:"Import with Seed Phrase"}),(0,Yn.jsx)(_i,{width:"100%",onClick:t=>e({type:tae.restoreSecretKey}),size:"lg",variant:"tertiary",children:"Import with Secret Key"}),!t&&(0,Yn.jsx)(_i,{width:"100%",onClick:t=>{e({type:tae.restoreBackup})},size:"lg",variant:"tertiary",children:"Restore from Backup"}),(0,Yn.jsx)(_i,{width:"100%",onClick:t=>{e({type:tae.nameAccount,account:{type:"ledger"}})},size:"lg",variant:"tertiary",children:"Connect ledger"})]})})},Hie=e=>async t=>{t(sP.actions.removeSecretKey(e)),t(sP.actions.removeAccount(e))},{addAccount:Vie,removeMnemonicAndAccounts:qie,removeNonMnemonicAccounts:Kie}=sP.actions,Wie=()=>{const e=t3();return(t,r,n,i)=>e(iP({mnemonic:t,password:r,label:n,derivationPathPattern:i})).unwrap()},Gie=()=>{const e=t3();return(t,r,n)=>e((({secretKey:e,label:t,password:r})=>async n=>{const i=new Qc(e),o=await i.publicKey(),a=await i.publicKeyHash(),s=await Pc(e,r);n(sP.actions.addSecretKey({pkh:a,encryptedSecretKey:s})),n(sP.actions.addAccount({type:"secret_key",pk:o,label:t,address:gd(a)}))})({secretKey:t,password:r,label:n}))},Yie=()=>{const e=t3();return(t,r,n,i)=>{e(Vie({derivationPath:t,curve:"ed25519",type:"ledger",pk:r,address:{type:"implicit",pkh:n},label:i}))}},Zie=({goToStep:e,closeModal:t})=>{const{handleAsyncAction:r}=Yee(),n=(()=>{const e=t3();return(t,r,n)=>{e(Vie({type:"social",pk:t,address:{type:"implicit",pkh:r},idp:"google",label:n}))}})(),i=DY();return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(K5,{}),title:"Connect or Create Account",children:(0,Yn.jsxs)(Cie,{width:"100%",spacing:"16px",children:[(0,Yn.jsx)(_i,{width:"100%",onClick:t=>e({type:tae.notice}),size:"lg",children:"Create a new Account"}),(0,Yn.jsx)(_i,{width:"100%",onClick:t=>e({type:tae.connectOptions}),size:"lg",variant:"tertiary",children:"I already have a wallet"}),(0,Yn.jsxs)(Zn,{width:"100%",paddingTop:"14px",paddingBottom:"6px",children:[(0,Yn.jsx)(ire,{marginTop:"11px"}),(0,Yn.jsx)(NX,{minWidth:"160px",color:E$.gray[400],textAlign:"center",noOfLines:1,size:"sm",children:"Continue with Google"}),(0,Yn.jsx)(ire,{marginTop:"11px"})]}),(0,Yn.jsx)(Jee,{onSuccessfulAuth:(e,o)=>r((async()=>{const{pk:r,pkh:a}=await(async e=>{const t=new Qc(e);return{pk:await t.publicKey(),pkh:await t.publicKeyHash()}})(e);n(r,a,o),i({description:`Successfully added ${o} account`,status:"success"}),t()}))})]})})},Xie=({selected:e,options:r,onChange:n})=>{const[i,o]=(0,t.useState)(e),[a,s]=(0,t.useState)(!1);return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",height:"48px",padding:"12px 15px 15px 15px",color:E$.gray[300],background:E$.gray[800],border:"1px solid",borderColor:E$.gray[500],borderRadius:"4px",_hover:{borderColor:E$.gray[450]},cursor:"pointer","data-testid":"select-input",onClick:()=>s((e=>!e)),children:[(0,Yn.jsx)(NX,{size:"sm",children:i.label}),(0,Yn.jsx)(U2,{})]}),a&&(0,Yn.jsx)(N0,{position:"absolute",zIndex:2,width:"100%",margin:0,marginTop:"8px",padding:"15px",background:E$.gray[700],border:"1px solid",borderColor:E$.gray[500],borderRadius:"8px","data-testid":"select-options",listStyleType:"none",children:r.map((e=>(0,Yn.jsx)(D0,{marginBottom:"5px",padding:"11px",color:E$.gray[300],background:"transparent",borderRadius:"4px",_hover:{background:E$.gray[500]},cursor:"pointer",onClick:()=>{s(!1),o(e),n(e.value)},children:(0,Yn.jsx)(NX,{size:"sm",children:e.label})},e.value)))})]})},Jie=({goToStep:e,account:t})=>{const{handleSubmit:r,setValue:n,formState:{errors:i}}=h0({mode:"onBlur",defaultValues:{derivationPath:el}});return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(C5,{}),subtitle:"Choose a custom derivation path or select the default derivation path and use the default key.",title:"Derivation Path",children:(0,Yn.jsxs)("form",{onSubmit:r((async({derivationPath:r})=>{switch(t.type){case"ledger":e({type:tae.restoreLedger,account:{...t,derivationPath:r}});break;case"mnemonic":e({type:tae.masterPassword,account:{...t,derivationPath:r}})}})),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{marginBottom:"20px",children:[(0,Yn.jsx)(b0,{children:"Select Path"}),(0,Yn.jsx)(Xie,{onChange:e=>n("derivationPath",e),options:rl,selected:tl}),i.derivationPath&&(0,Yn.jsx)(Qee,{"data-testid":"error-message",children:i.derivationPath.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"12px",size:"lg",type:"submit",children:"Continue"}),(0,Yn.jsx)(sie,{display:"block",width:"100%",marginTop:"32px",textAlign:"center",href:"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki",children:(0,Yn.jsx)(R2,{backgroundColor:"white",defaultIsOpen:!1,hasArrow:!0,label:"Derivation path is a set of directions that helps create different secret keys; it starts from a master key or seed.",children:(0,Yn.jsx)(NX,{color:E$.blue,fontWeight:600,textDecoration:"underline",_hover:{textDecoration:"underline"},size:"sm",children:"What's a Derivation Path?"})})})]})})};var[Qie,eoe]=ui({name:"CheckboxGroupContext",strict:!1});function toe(e){return(0,Yn.jsx)(Gn.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:(0,Yn.jsx)("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function roe(e){return(0,Yn.jsx)(Gn.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:(0,Yn.jsx)("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function noe(e){const{isIndeterminate:t,isChecked:r,...n}=e,i=t?roe:toe;return r||t?(0,Yn.jsx)(Gn.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:(0,Yn.jsx)(i,{...n})}):null}var ioe={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};var ooe=()=>"undefined"!==typeof document;var aoe=!1,soe=null,coe=!1,loe=!1,uoe=new Set;function doe(e,t){uoe.forEach((r=>r(e,t)))}var hoe="undefined"!==typeof window&&null!=window.navigator&&/^Mac/.test(window.navigator.platform);function foe(e){coe=!0,function(e){return!(e.metaKey||!hoe&&e.altKey||e.ctrlKey||"Control"===e.key||"Shift"===e.key||"Meta"===e.key)}(e)&&(soe="keyboard",doe("keyboard",e))}function poe(e){if(soe="pointer","mousedown"===e.type||"pointerdown"===e.type){coe=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let r=!1;try{r=t.matches(":focus-visible")}catch{}if(r)return;doe("pointer",e)}}function moe(e){var t;(0===(t=e).mozInputSource&&t.isTrusted||0===t.detail&&!t.pointerType)&&(coe=!0,soe="virtual")}function goe(e){e.target!==window&&e.target!==document&&(coe||loe||(soe="virtual",doe("virtual",e)),coe=!1,loe=!1)}function voe(){coe=!1,loe=!0}function yoe(){return"pointer"!==soe}function boe(){if(!ooe()||aoe)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...t){coe=!0,e.apply(this,t)},document.addEventListener("keydown",foe,!0),document.addEventListener("keyup",foe,!0),document.addEventListener("click",moe,!0),window.addEventListener("focus",goe,!0),window.addEventListener("blur",voe,!1),"undefined"!==typeof PointerEvent?(document.addEventListener("pointerdown",poe,!0),document.addEventListener("pointermove",poe,!0),document.addEventListener("pointerup",poe,!0)):(document.addEventListener("mousedown",poe,!0),document.addEventListener("mousemove",poe,!0),document.addEventListener("mouseup",poe,!0)),aoe=!0}function woe(e){boe(),e(yoe());const t=()=>e(yoe());return uoe.add(t),()=>{uoe.delete(t)}}function xoe(e={}){const r=P0(e),{isDisabled:n,isReadOnly:i,isRequired:o,isInvalid:a,id:s,onBlur:c,onFocus:l,"aria-describedby":u}=r,{defaultChecked:d,isChecked:h,isFocusable:f,onChange:p,isIndeterminate:m,name:g,value:v,tabIndex:y,"aria-label":b,"aria-labelledby":w,"aria-invalid":x,..._}=e,S=function(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}(_,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),k=EM(p),E=EM(c),P=EM(l),[O,A]=(0,t.useState)(!1),[T,j]=(0,t.useState)(!1),[C,R]=(0,t.useState)(!1),[I,M]=(0,t.useState)(!1);(0,t.useEffect)((()=>woe(A)),[]);const L=(0,t.useRef)(null),[N,D]=(0,t.useState)(!0),[B,z]=(0,t.useState)(!!d),U=void 0!==h,F=U?h:B,$=(0,t.useCallback)((e=>{i||n?e.preventDefault():(U||z(F?e.target.checked:!!m||e.target.checked),null==k||k(e))}),[i,n,F,U,m,k]);jO((()=>{L.current&&(L.current.indeterminate=Boolean(m))}),[m]),PM((()=>{n&&j(!1)}),[n,j]),jO((()=>{const e=L.current;if(!(null==e?void 0:e.form))return;const t=()=>{z(!!d)};return e.form.addEventListener("reset",t),()=>{var r;return null==(r=e.form)?void 0:r.removeEventListener("reset",t)}}),[]);const H=n&&!f,V=(0,t.useCallback)((e=>{" "===e.key&&M(!0)}),[M]),q=(0,t.useCallback)((e=>{" "===e.key&&M(!1)}),[M]);jO((()=>{if(!L.current)return;L.current.checked!==F&&z(L.current.checked)}),[L.current]);const K=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-active":ce(I),"data-hover":ce(C),"data-checked":ce(F),"data-focus":ce(T),"data-focus-visible":ce(T&&O),"data-indeterminate":ce(m),"data-disabled":ce(n),"data-invalid":ce(a),"data-readonly":ce(i),"aria-hidden":!0,onMouseDown:ue(e.onMouseDown,(e=>{T&&e.preventDefault(),M(!0)})),onMouseUp:ue(e.onMouseUp,(()=>M(!1))),onMouseEnter:ue(e.onMouseEnter,(()=>R(!0))),onMouseLeave:ue(e.onMouseLeave,(()=>R(!1)))})),[I,F,n,T,O,C,m,a,i]),W=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-active":ce(I),"data-hover":ce(C),"data-checked":ce(F),"data-focus":ce(T),"data-focus-visible":ce(T&&O),"data-indeterminate":ce(m),"data-disabled":ce(n),"data-invalid":ce(a),"data-readonly":ce(i)})),[I,F,n,T,O,C,m,a,i]),G=(0,t.useCallback)(((e={},t=null)=>({...S,...e,ref:wi(t,(e=>{e&&D("LABEL"===e.tagName)})),onClick:ue(e.onClick,(()=>{var e;N||(null==(e=L.current)||e.click(),requestAnimationFrame((()=>{var e;null==(e=L.current)||e.focus({preventScroll:!0})})))})),"data-disabled":ce(n),"data-checked":ce(F),"data-invalid":ce(a)})),[S,n,F,a,N]),Y=(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(L,t),type:"checkbox",name:g,value:v,id:s,tabIndex:y,onChange:ue(e.onChange,$),onBlur:ue(e.onBlur,E,(()=>j(!1))),onFocus:ue(e.onFocus,P,(()=>j(!0))),onKeyDown:ue(e.onKeyDown,V),onKeyUp:ue(e.onKeyUp,q),required:o,checked:F,disabled:H,readOnly:i,"aria-label":b,"aria-labelledby":w,"aria-invalid":x?Boolean(x):a,"aria-describedby":u,"aria-disabled":n,style:ioe})),[g,v,s,$,E,P,V,q,o,F,H,i,b,w,x,a,u,n,y]),Z=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,onMouseDown:ue(e.onMouseDown,_oe),"data-disabled":ce(n),"data-checked":ce(F),"data-invalid":ce(a)})),[F,n,a]);return{state:{isInvalid:a,isFocused:T,isChecked:F,isActive:I,isHovered:C,isIndeterminate:m,isDisabled:n,isReadOnly:i,isRequired:o},getRootProps:G,getCheckboxProps:K,getIndicatorProps:W,getInputProps:Y,getLabelProps:Z,htmlProps:S}}function _oe(e){e.preventDefault(),e.stopPropagation()}var Soe={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},koe={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},Eoe=gi({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),Poe=gi({from:{opacity:0},to:{opacity:1}}),Ooe=gi({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),Aoe=re((function(e,r){const n=eoe(),i=ci("Checkbox",{...n,...e}),o=Jt(e),{spacing:a="0.5rem",className:s,children:c,iconColor:l,iconSize:u,icon:d=(0,Yn.jsx)(noe,{}),isChecked:h,isDisabled:f=(null==n?void 0:n.isDisabled),onChange:p,inputProps:m,...g}=o;let v=h;(null==n?void 0:n.value)&&o.value&&(v=n.value.includes(o.value));let y=p;(null==n?void 0:n.onChange)&&o.value&&(y=de(n.onChange,p));const{state:b,getInputProps:w,getCheckboxProps:x,getLabelProps:_,getRootProps:S}=xoe({...g,isDisabled:f,isChecked:v,onChange:y}),k=function(e){const[r,n]=(0,t.useState)(e),[i,o]=(0,t.useState)(!1);return e!==r&&(o(!0),n(e)),i}(b.isChecked),E=(0,t.useMemo)((()=>({animation:k?b.isIndeterminate?`${Poe} 20ms linear, ${Ooe} 200ms linear`:`${Eoe} 200ms linear`:void 0,fontSize:u,color:l,...i.icon})),[l,u,k,b.isIndeterminate,i.icon]),P=(0,t.cloneElement)(d,{__css:E,isIndeterminate:b.isIndeterminate,isChecked:b.isChecked});return(0,Yn.jsxs)(Gn.label,{__css:{...koe,...i.container},className:ne("chakra-checkbox",s),...S(),children:[(0,Yn.jsx)("input",{className:"chakra-checkbox__input",...w(m,r)}),(0,Yn.jsx)(Gn.span,{__css:{...Soe,...i.control},className:"chakra-checkbox__control",...x(),children:P}),c&&(0,Yn.jsx)(Gn.span,{className:"chakra-checkbox__label",..._(),__css:{marginStart:a,...i.label},children:c})]})}));Aoe.displayName="Checkbox";const Toe=({goToStep:e})=>{const[r,n]=t.useState(!1);return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(W2,{}),title:"Accept to Continue",children:(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsxs)(Aoe,{paddingBottom:"24px",fontWeight:"600",onChange:e=>n(e.target.checked),children:["I confirm that I have read and agreed with the"," ",(0,Yn.jsx)(ki,{textDecoration:"underline",_hover:{color:E$.green},href:"https://umamiwallet.com/tos.html",rel:"noopener noreferrer",target:"_blank",children:"Terms of Service"})," ","and the"," ",(0,Yn.jsx)(ki,{textDecoration:"underline",_hover:{color:E$.green},href:"https://umamiwallet.com/privacypolicy.html",rel:"noopener noreferrer",target:"_blank",children:"Privacy Policy"})]}),(0,Yn.jsx)(_i,{width:"100%",isDisabled:!r,onClick:()=>{e({type:tae.connectOrCreate})},size:"lg",children:"Continue"})]})})},joe=({onClose:e})=>{const{register:t,handleSubmit:r,formState:{errors:n}}=h0({mode:"onBlur"}),i=Yie();return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(K5,{}),title:"Add a Fake Account",children:(0,Yn.jsxs)("form",{onSubmit:r((async({pkh:t,name:r})=>{const n=new Vh(BP.rpcUrl),o=await n.getManagerKey(t),a="string"===typeof o?o:o.key;i(el,a,t,r),e()})),style:{width:"100%"},children:[(0,Yn.jsx)(NX,{children:"It will be restored as a ledger account"}),(0,Yn.jsxs)(OJ,{isInvalid:!!n.pkh,children:[(0,Yn.jsx)(b0,{children:"Address"}),(0,Yn.jsx)(O0,{...t("pkh",{required:!0}),autoComplete:"off",placeholder:"Please enter the account address"})]}),(0,Yn.jsxs)(OJ,{isInvalid:!!n.name,children:[(0,Yn.jsx)(b0,{children:"Name"}),(0,Yn.jsx)(O0,{...t("name",{required:!0}),autoComplete:"off",placeholder:"Please enter the account name"})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:2,size:"lg",type:"submit",children:"Add account"})]})})},Coe=({onSubmit:e,isLoading:t})=>{const r=h0({mode:"onBlur"}),{handleSubmit:n,formState:{errors:i,isValid:o},getValues:a}=r;return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(k5,{}),subtitle:"Please choose a master password for Umami. You will need to use this password in order to perform any operations within Umami.",title:"Umami Master Password",children:(0,Yn.jsx)(oQ,{...r,children:(0,Yn.jsxs)("form",{onSubmit:n((async t=>{e(t.confirm)})),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{isInvalid:!!i.password,children:[(0,Yn.jsx)(ete,{"data-testid":"password",inputName:"password",placeholder:"Enter master password"}),i.password&&(0,Yn.jsx)(Qee,{children:i.password.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!i.confirm,children:[(0,Yn.jsx)(ete,{"data-testid":"confirmation",inputName:"confirm",label:"Confirm Password",placeholder:"Confirm your password",required:"Confirmation is required",validate:e=>a("password")===e||"Your passwords do no match"}),i.confirm&&(0,Yn.jsx)(Qee,{children:i.confirm.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",isDisabled:!o||t,isLoading:t,size:"lg",type:"submit",children:"Submit"})]})})})},Roe=({account:e,onClose:t})=>{const r=Wie(),n=Gie(),i=(()=>{const e=r3((e=>e.accounts.seedPhrases)),t=Object.values(e)[0];return t?async e=>{await Oc(t,e)}:null})(),o=null!==i,{isLoading:a,handleAsyncAction:s}=Yee(),c=DY(),l=a=>s((async()=>{switch(o&&await i(a),e.type){case"secret_key":await n(e.secretKey,a,e.label);break;case"mnemonic":await r(e.mnemonic,a,e.label,e.derivationPath)}c({description:"Account successfully created!",status:"success"}),t()}));return o?(0,Yn.jsx)(Mie,{isLoading:a,onSubmit:l}):(0,Yn.jsx)(Coe,{isLoading:a,onSubmit:l})},Ioe="Account",Moe=e=>`${Ioe} ${e+1}`,Loe=({goToStep:e,account:t})=>{const r=(()=>{const e=O3().map((e=>e.label)),t=Object.values(_3()).map((e=>e.name));return r=>![...e,...t].includes(r)})();return(0,Yn.jsx)(Lie,{onSubmit:n=>{let i=n.accountName.trim();switch(t.type){case"secret_key":return i=i.length>0?i:Noe(r),e({type:tae.masterPassword,account:{...t,label:i}});case"ledger":return i=i.length>0?i:Noe(r),e({type:tae.derivationPath,account:{...t,label:i}});case"mnemonic":return i=i.length>0?i:Ioe,e({type:tae.derivationPath,account:{...t,label:i}})}},subtitle:"Please choose a name for your first account. You can edit your account name later."})},Noe=e=>{let t=0;for(;!e(Moe(t));)t+=1;return Moe(t)},Doe=({goToStep:e})=>(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(E5,{}),subtitle:"Please read the following before you continue to see your secret Seed Phrase.",title:"Important Notice",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(L0,{spacing:"16px",variant:"onboardingNotice",children:[{content:"Write down your seed phrase and store it in a safe place."},{content:"Make sure there is no one around you or looking over your shoulder."},{content:"Do not copy and paste the Seed Phrase or store it on your device."},{content:"Do not take a screenshot of your Seed Phrase."}].map(((e,t)=>(0,Yn.jsx)(D0,{fontSize:"16px",fontWeight:600,children:e.content},t)))}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"28px",onClick:()=>e({type:tae.showSeedphrase,account:{type:"mnemonic",mnemonic:(0,jc.OF)(256)}}),size:"lg",children:"I understand"}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"16px",onClick:()=>e({type:tae.restoreMnemonic}),size:"lg",variant:"tertiary",children:"I already have a Seed Phrase"})]})}),Boe=()=>{const e=h0({mode:"onBlur"}),{handleSubmit:t,register:r,formState:{errors:n,isValid:i}}=e,{handleAsyncAction:o}=Yee(),a=(()=>{const e=Wie();return async(t,r)=>{const n=t.recoveryPhrases,i=t.derivationPaths.map((e=>"m/"===e.slice(0,2)?e.slice(2):e));localStorage.clear();try{for(const[t,o]of n.entries()){const n=await Oc(o,r,"V1");await e(n,r,void 0,i[t])}}catch(o){throw new Error("Invalid password.")}}})();return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(j5,{}),subtitle:"Select a JSON backup file and enter the password you used to encrypt it.",title:"Restore from Backup",children:(0,Yn.jsx)(oQ,{...e,children:(0,Yn.jsx)("form",{onSubmit:t((({password:e,file:t})=>o((async()=>{const r=await t[0].text(),n=JSON.parse(r);if(n.recoveryPhrases&&n.derivationPaths)await a(n,e);else{if(!n["persist:accounts"])throw new Error("Invalid backup file.");await(async(e,t)=>{const r=e["persist:accounts"];if(!r)throw new Error("Invalid backup file.");const n=JSON.parse(r),i=JSON.parse(n.seedPhrases);try{for(const e of Object.values(i))await Oc(e,t,"V2")}catch(o){throw new Error("Invalid password.")}localStorage.clear(),localStorage.setItem("persist:accounts",r),localStorage.setItem("persist:root",e["persist:root"])})(n,e)}window.location.reload()})))),style:{width:"100%"},children:(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!n.file,children:[(0,Yn.jsx)(b0,{children:"Upload File"}),(0,Yn.jsx)(Zn,{children:(0,Yn.jsx)(O0,{padding:"2px","data-testid":"file-input",...r("file",{required:"File is required"}),accept:".json",type:"file",variant:"unstyled"})}),n.file&&(0,Yn.jsx)(CJ,{"data-testid":"file",children:n.file.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",children:[(0,Yn.jsx)(ete,{"data-testid":"password-input",inputName:"password",label:"Your password (if you have one)",required:!1}),n.password&&(0,Yn.jsx)(CJ,{"data-testid":"password",children:n.password.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",isDisabled:!i,size:"lg",type:"submit",children:"Import Wallet"})]})})})})},zoe=({closeModal:e,account:t})=>{const r=Yie(),n=DY(),{isLoading:i,handleAsyncAction:o}=Yee();return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)($5,{}),subtitle:"Complete the steps to connect.",title:"Connect Ledger",children:(0,Yn.jsxs)(Cie,{overflowY:"auto",spacing:"24px",children:[(0,Yn.jsx)(L0,{spacing:4,children:[{content:"Plug your Ledger into your computer using a USB cable."},{content:"Unlock your Ledger."},{content:"Make sure your Ledger has the latest firmware version."},{content:"Install and open the Tezos Wallet app on your Ledger."},{content:"Click the button below and confirm the action on your Ledger."}].map(((e,t)=>(0,Yn.jsx)(D0,{children:e.content},t)))}),(0,Yn.jsx)(_i,{width:"100%",isLoading:i,onClick:()=>o((()=>Zee((async()=>{const i=n({description:"Please open the Tezos app on your Ledger and approve the operation",status:"info"}),o=nl(t.derivationPath,0),{pk:a,pkh:s}=await(async e=>{const t=await ch.create(),r=new bh(t,e,!0),n=await r.publicKey(),i=await r.publicKeyHash();return await t.close(),{pk:n,pkh:i}})(o);r(o,a,s,t.label),n.close(i),n({description:"Account successfully created!",status:"success"}),e()}),6e4)),(e=>"PublicKeyRetrievalError"===e.name?{description:"Request rejected. Please unlock your Ledger and open the Tezos app"}:"InvalidStateError"===e.name?{description:"Request pending. Check your ledger..."}:{description:`Ledger error. ${e.message||e.name}`})),size:"lg",children:"Export Public Key"})]})})};var Uoe=xV({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"}),Foe=xV({d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z",displayName:"WarningIcon"}),$oe=re((function(e,t){const{children:r,placeholder:n,className:i,...o}=e;return(0,Yn.jsxs)(Gn.select,{...o,ref:t,className:ne("chakra-select",i),children:[n&&(0,Yn.jsx)("option",{value:"",children:n}),r]})}));$oe.displayName="SelectField";var Hoe=re(((e,t)=>{var r;const n=ci("Select",e),{rootProps:i,placeholder:o,icon:a,color:s,height:c,h:l,minH:u,minHeight:d,iconColor:h,iconSize:f,...p}=Jt(e),[m,g]=function(e,t){const r={},n={};for(const[i,o]of Object.entries(e))t.includes(i)?r[i]=o:n[i]=o;return[r,n]}(p,Ft),v=E0(g),y={width:"100%",height:"fit-content",position:"relative",color:s},b={paddingEnd:"2rem",...n.field,_focus:{zIndex:"unset",...null==(r=n.field)?void 0:r._focus}};return(0,Yn.jsxs)(Gn.div,{className:"chakra-select__wrapper",__css:y,...m,...i,children:[(0,Yn.jsx)($oe,{ref:t,height:null!=l?l:c,minH:null!=u?u:d,placeholder:o,...v,__css:b,children:e.children}),(0,Yn.jsx)(Koe,{"data-disabled":ce(v.disabled),...(h||s)&&{color:h||s},__css:n.icon,...f&&{fontSize:f},children:a})]})}));Hoe.displayName="Select";var Voe=e=>(0,Yn.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,Yn.jsx)("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),qoe=Gn("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),Koe=e=>{const{children:r=(0,Yn.jsx)(Voe,{}),...n}=e,i=(0,t.cloneElement)(r,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return(0,Yn.jsx)(qoe,{...n,className:"chakra-select__icon-wrapper",children:(0,t.isValidElement)(r)?i:null})};Koe.displayName="SelectIcon";const Woe=[12,15,18,24],Goe=({goToStep:e})=>{const{register:r,handleSubmit:n,setValue:i,trigger:o,formState:{errors:a,isValid:s}}=h0({mode:"onBlur"}),{handleAsyncAction:c}=Yee(),[l,u]=(0,t.useState)(24);return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(f5,{width:"24px",height:"24px",stroke:E$.gray[450]}),subtitle:"Please fill in the Seed Phrase in sequence.",title:"Import Seed Phrase",children:(0,Yn.jsx)(Qn,{overflowX:"hidden",children:(0,Yn.jsx)("form",{onSubmit:n((t=>c((async()=>{const r=Object.values(t).join(" ").trim();if(!(0,jc._I)(r))throw new Error(`Invalid Mnemonic: "${r}"`);e({type:tae.nameAccount,account:{type:"mnemonic",mnemonic:r}})})))),style:{width:"100%"},children:(0,Yn.jsxs)(Cie,{width:"100%",spacing:4,children:[(0,Yn.jsx)(Hoe,{height:"48px",color:E$.gray[450],"data-testid":"select",icon:(0,Yn.jsx)(Uoe,{}),onChange:e=>(e=>{const t=Number(e);Woe.includes(t)&&(u((e=>(e>t&&(0,iE.range)(t,Math.max(...Woe)).forEach((e=>{i(`word${e}`,void 0)})),t))),o())})(e.target.value),value:l,children:Woe.reverse().map((e=>(0,Yn.jsxs)("option",{value:e,children:[e," Words"]},e)))}),(0,Yn.jsx)(die,{gridGap:3,gridTemplateColumns:"repeat(3, 1fr)",paddingBottom:"20px",children:(0,iE.range)(l).map((e=>(0,Yn.jsxs)(fie,{display:"flex",height:"38px",padding:"4px",fontSize:"sm",background:E$.gray[800],border:"1px solid",borderColor:E$.gray[500],borderRadius:"4px",children:[(0,Yn.jsx)(li,{width:"18px",marginRight:"6px",paddingTop:"6px",color:E$.gray[400],textAlign:"right",size:"sm",children:e+1}),(0,Yn.jsx)(O0,{border:"none",autoComplete:"off",onPaste:async e=>{e.preventDefault();(e=>{c((async()=>{const t=e.split(" ");if(!Woe.includes(t.length))throw new Error(`the mnemonic must be ${Woe.join(", ")} words long`);t.slice(0,l).forEach(((e,t)=>{i(`word${t}`,e)})),o()}))})(await navigator.clipboard.readText())},placeholder:"Type here...",size:"xsmall",...r(`word${e}`,{required:!0})}),a[`${e}`]&&(0,Yn.jsx)(Foe,{width:"40px",height:"40px",padding:"8px",color:"red"})]},e)))}),(0,Yn.jsx)(_i,{width:"100%",isDisabled:!s,size:"lg",type:"submit",children:"Continue"})]})})})})};var Yoe=["h","minH","height","minHeight"],Zoe=re(((e,t)=>{const r=si("Textarea",e),{className:n,rows:i,...o}=Jt(e),a=E0(o),s=i?function(e,t=[]){const r=Object.assign({},e);for(const n of t)n in r&&delete r[n];return r}(r,Yoe):r;return(0,Yn.jsx)(Gn.textarea,{ref:t,rows:i,...a,className:ne("chakra-textarea",n),__css:s})}));Zoe.displayName="Textarea";const Xoe=({goToStep:e})=>{const{register:t,handleSubmit:r,formState:{errors:n}}=h0({mode:"onBlur"});return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(f5,{width:"24px",height:"24px",stroke:E$.gray[450]}),title:"Insert Secret Key",children:(0,Yn.jsxs)("form",{onSubmit:r((({secretKey:t})=>e({type:tae.nameAccount,account:{type:"secret_key",secretKey:t.trim()}}))),style:{width:"100%"},children:[(0,Yn.jsxs)(OJ,{isInvalid:!!n.secretKey,children:[(0,Yn.jsx)(b0,{children:"Secret Key"}),(0,Yn.jsx)(Zoe,{minHeight:"130px","data-testid":"name",...t("secretKey",{required:"Secret key is required"}),placeholder:"Your secret key"}),n.secretKey&&(0,Yn.jsx)(CJ,{children:n.secretKey.message})]}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"32px",isDisabled:!!n.secretKey,size:"lg",type:"submit",children:"Continue"})]})})};var Joe=re((function(e,t){const{columns:r,spacingX:n,spacingY:i,spacing:o,minChildWidth:a,...s}=e,c=ri(),l=a?function(e,t){return zX(e,(e=>{const r=ii("sizes",e,function(e){return"number"===typeof e?`${e}px`:e}(e))(t);return null===e?null:`repeat(auto-fit, minmax(${r}, 1fr))`}))}(a,c):zX(r,(e=>null===e?null:`repeat(${e}, minmax(0, 1fr))`));return(0,Yn.jsx)(die,{ref:t,gap:o,columnGap:n,rowGap:i,templateColumns:l,...s})}));Joe.displayName="SimpleGrid";const Qoe=({goToStep:e,account:t})=>(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(f5,{width:"24px",height:"24px",stroke:E$.gray[450]}),subtitle:"Please record the following 24 words in sequence in order to restore it in the future.",title:"Record Seed Phrase",children:(0,Yn.jsxs)(Cie,{children:[(0,Yn.jsx)(Joe,{columns:3,spacing:2,children:t.mnemonic.split(" ").map(((e,t)=>(0,Yn.jsxs)(Zn,{width:"126px",padding:"6px",border:"1px dashed",borderColor:E$.gray[500],borderRadius:"4px",children:[(0,Yn.jsx)(li,{width:"18px",marginRight:"10px",paddingTop:"2px",color:E$.gray[450],textAlign:"right",size:"sm",children:t+1}),(0,Yn.jsx)(NX,{"data-testid":`mnemonic-word-${t}`,size:"sm",children:e})]},t)))}),(0,Yn.jsx)(_i,{width:"100%",marginTop:"20px",onClick:r=>{e({type:tae.verifySeedphrase,account:t})},size:"lg",children:"OK, I've recorded it"})]})}),eae=({goToStep:e,account:r})=>{const n=r.mnemonic.split(" "),{register:i,handleSubmit:o,formState:{errors:a,isValid:s,isDirty:c}}=h0({mode:"onBlur"}),[l]=(0,t.useState)(((e,t)=>(0,iE.shuffle)(e.map(((e,t)=>({value:e,index:t})))).slice(0,t).sort(((e,t)=>e.index-t.index)))(n,5));return(0,Yn.jsx)(Iie,{icon:(0,Yn.jsx)(G2,{}),subtitle:"To verify, please type in the word that corresponds to each sequence number.",title:"Verify Seed Phrase",children:(0,Yn.jsx)(Qn,{overflowX:"hidden",overflowY:"auto",width:"100%",children:(0,Yn.jsxs)("form",{onSubmit:o((()=>{e({type:tae.nameAccount,account:r})})),children:[l.map(((e,t)=>(0,Yn.jsxs)(OJ,{marginBottom:"12px",isInvalid:!!a[`${e.index}`]&&c,children:[(0,Yn.jsxs)(k0,{size:"md",children:[(0,Yn.jsx)(j0,{"data-testid":"mnemonic-index",children:e.index+1}),(0,Yn.jsx)(O0,{placeholder:"Type here",...i(`${e.index}`,{required:!0,validate:t=>t===`${e.value}`})})]}),a[`${e.index}`]&&(0,Yn.jsx)(Qee,{children:"Invalid input"})]},t))),(0,Yn.jsx)(_i,{width:"100%",marginTop:"20px",isDisabled:!s,size:"lg",type:"submit",children:"Continue"})]})})})};let tae=function(e){return e.eula="eula",e.connectOrCreate="connectOrCreate",e.connectOptions="connectOptions",e.notice="notice",e.restoreMnemonic="restoreMnemonic",e.restoreSecretKey="restoreSecretKey",e.restoreLedger="restoreLedger",e.restoreBackup="restoreBackup",e.showSeedphrase="showSeedphrase",e.verifySeedphrase="verifySeedphrase",e.nameAccount="nameAccount",e.derivationPath="derivationPath",e.masterPassword="masterPassword",e.fakeAccount="fakeAccount",e}({});const rae=e=>{const{isOpen:r,onOpen:n,onClose:i}=aK(),o=0!==E3().length,a=(e=>{const[r,n]=(0,t.useState)(e),[i,o]=(0,t.useState)([r]),a=1===i.length;return{reset:()=>{n(e),o([e])},goToStep:e=>{n(e),o([...i,e])},currentStep:r,goBack:()=>{if(a)return;i.pop();const e=i[i.length-1];o(i),n(e)},atInitialStep:a,fullHistory:i}})({type:o?tae.connectOrCreate:tae.eula}),{currentStep:s,goToStep:c}=a,l=()=>{a.reset(),e&&e(),i()};return{modalElement:(0,Yn.jsxs)(kK,{autoFocus:!1,closeOnOverlayClick:!1,isCentered:!0,isOpen:r,onClose:l,children:[o&&(0,Yn.jsx)(BK,{}),(0,Yn.jsxs)(IX,{children:[!a.atInitialStep&&(0,Yn.jsx)(hte,{onClick:a.goBack}),(0,Yn.jsx)(DX,{onClick:l}),(()=>{switch(s.type){case tae.eula:return(0,Yn.jsx)(Toe,{goToStep:c});case tae.connectOrCreate:return(0,Yn.jsx)(Zie,{closeModal:l,goToStep:c});case tae.connectOptions:return(0,Yn.jsx)($ie,{goToStep:c});case tae.notice:return(0,Yn.jsx)(Doe,{goToStep:c});case tae.restoreMnemonic:return(0,Yn.jsx)(Goe,{goToStep:c});case tae.restoreBackup:return(0,Yn.jsx)(Boe,{});case tae.showSeedphrase:return(0,Yn.jsx)(Qoe,{goToStep:c,...s});case tae.verifySeedphrase:return(0,Yn.jsx)(eae,{goToStep:c,...s});case tae.nameAccount:return(0,Yn.jsx)(Loe,{goToStep:c,...s});case tae.derivationPath:return(0,Yn.jsx)(Jie,{goToStep:c,...s});case tae.restoreLedger:return(0,Yn.jsx)(zoe,{closeModal:l,...s});case tae.masterPassword:return(0,Yn.jsx)(Roe,{onClose:i,...s});case tae.fakeAccount:return(0,Yn.jsx)(joe,{onClose:i});case tae.restoreSecretKey:return(0,Yn.jsx)(Xoe,{goToStep:c})}})()]})]}),onOpen:n}},nae=e=>{const{mode:t,operations:r,fee:n,data:{threshold:i,signers:o,name:a,sender:s}}=e,{fee:c,operations:l,estimationFailed:u,isLoading:d,form:h,signer:f,onSign:p}=Dre(n,r,t);return(0,Yn.jsx)(oQ,{...h,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:l.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"Contract Name"}),(0,Yn.jsx)(NX,{marginBottom:"24px",padding:"14px",color:E$.gray[50],background:E$.gray[800],borderRadius:"6px","data-testid":"contract-name",children:a}),(0,Yn.jsxs)(Qn,{marginBottom:"24px",children:[(0,Yn.jsx)(b0,{children:"Owner"}),(0,Yn.jsx)(z3,{marginBottom:"12px",address:dd(s)}),(0,Yn.jsx)(Zn,{justifyContent:"flex-end",children:(0,Yn.jsx)(cte,{fee:c})})]}),(0,Yn.jsx)(b0,{children:"Approvers"}),o.map((e=>(0,Yn.jsx)(z3,{marginBottom:"12px",address:dd(e.val),"data-testid":`approver-${e.val}`},e.val))),(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"24px",marginBottom:"24px",children:[(0,Yn.jsx)(li,{marginRight:"12px",size:"md",children:"Min No. of approvals:"}),(0,Yn.jsx)(Xn,{width:"100px",height:"48px",background:E$.gray[800],borderRadius:"4px",children:(0,Yn.jsxs)(NX,{textAlign:"center","data-testid":"threshold",children:[i," out of ",o.length]})})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:u,isLoading:d,onSubmit:p,signer:f,text:fte(l.type,t)})})]})})})},iae=[{prim:"storage",args:[{prim:"pair",args:[{prim:"address",annots:["%owner"]},{prim:"pair",args:[{prim:"set",args:[{prim:"address"}],annots:["%signers"]},{prim:"pair",args:[{prim:"nat",annots:["%threshold"]},{prim:"pair",args:[{prim:"nat",annots:["%last_op_id"]},{prim:"pair",args:[{prim:"big_map",args:[{prim:"nat"},{prim:"pair",args:[{prim:"lambda",args:[{prim:"unit"},{prim:"list",args:[{prim:"operation"}]}],annots:["%actions"]},{prim:"set",args:[{prim:"address"}],annots:["%approvals"]}]}],annots:["%pending_ops"]},{prim:"big_map",args:[{prim:"string"},{prim:"bytes"}],annots:["%metadata"]}]}]}]}]}]}]},{prim:"parameter",args:[{prim:"or",args:[{prim:"or",args:[{prim:"or",args:[{prim:"bytes",annots:["%set_metadata_uri"]},{prim:"unit",annots:["%default"]}]},{prim:"or",args:[{prim:"lambda",args:[{prim:"unit"},{prim:"list",args:[{prim:"operation"}]}],annots:["%propose"]},{prim:"nat",annots:["%approve"]}]}]},{prim:"nat",annots:["%execute"]}]}]},{prim:"code",args:[[{prim:"NIL",args:[{prim:"operation"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"UNPAIR"},{prim:"DIP",args:[{int:"1"},[{prim:"UNPAIR",args:[{int:"6"}]}]]},{prim:"IF_LEFT",args:[[{prim:"IF_LEFT",args:[[{prim:"IF_LEFT",args:[[{prim:"DUP",args:[{int:"2"}]},{prim:"SENDER"},{prim:"COMPARE"},{prim:"EQ"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"INVALID_CALLER"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"7"}]},{prim:"DUP",args:[{int:"2"}]},{prim:"SOME"},{prim:"PUSH",args:[{prim:"string"},{string:""}]},{prim:"UPDATE"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"1"}]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}],[{prim:"DROP",args:[{int:"1"}]},{prim:"DUP",args:[{int:"3"}]},{prim:"DUP",args:[{int:"3"}]},{prim:"SIZE"},{prim:"COMPARE"},{prim:"GE"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"FUNDING BLOCKED SINCE PARAMS ARE INVALID"}]},{prim:"FAILWITH"}],[]]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}]]}],[{prim:"IF_LEFT",args:[[{prim:"PUSH",args:[{prim:"mutez"},{int:"0"}]},{prim:"AMOUNT"},{prim:"COMPARE"},{prim:"EQ"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"TO FUND CONTRACT, PLEASE USE THE DEFAULT ENTRYPOINT"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"3"}]},{prim:"SENDER"},{prim:"MEM"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"ONLY FOR SIGNERS"}]},{prim:"FAILWITH"}],[]]},{prim:"PUSH",args:[{prim:"nat"},{int:"1"}]},{prim:"DUP",args:[{int:"6"}]},{prim:"ADD"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"4"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"4"}]},{prim:"DUP",args:[{int:"6"}]},{prim:"DUP",args:[{int:"6"}]},{prim:"MEM"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"pending_ops"}]},{prim:"PUSH",args:[{prim:"string"},{string:"KEY_EXISTS"}]},{prim:"PAIR"},{prim:"FAILWITH"}],[{prim:"DUP",args:[{int:"6"}]},{prim:"EMPTY_SET",args:[{prim:"address"}]},{prim:"PUSH",args:[{prim:"bool"},{prim:"True"}]},{prim:"SENDER"},{prim:"UPDATE"},{prim:"DUP",args:[{int:"3"}]},{prim:"PAIR"},{prim:"SOME"},{prim:"DUP",args:[{int:"7"}]},{prim:"UPDATE"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"5"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"5"}]}]]},{prim:"DROP",args:[{int:"1"}]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}],[{prim:"DUP",args:[{int:"6"}]},{prim:"DUP",args:[{int:"2"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"INVALID OP ID"}]},{prim:"FAILWITH"}],[]]},{prim:"PUSH",args:[{prim:"mutez"},{int:"0"}]},{prim:"AMOUNT"},{prim:"COMPARE"},{prim:"EQ"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"TO FUND CONTRACT, PLEASE USE THE DEFAULT ENTRYPOINT"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"4"}]},{prim:"SENDER"},{prim:"MEM"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"ONLY FOR SIGNERS"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP"},{prim:"CDR"},{prim:"SENDER"},{prim:"MEM"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"ALREADY APPROVED"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"7"}]},{prim:"DUP",args:[{int:"8"}]},{prim:"DUP",args:[{int:"4"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"pending_ops"}]},{prim:"PUSH",args:[{prim:"string"},{string:"ASSET_NOT_FOUND"}]},{prim:"PAIR"},{prim:"FAILWITH"}],[]]},{prim:"UNPAIR"},{prim:"SWAP"},{prim:"DROP",args:[{int:"1"}]},{prim:"DUP",args:[{int:"9"}]},{prim:"DUP",args:[{int:"5"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"pending_ops"}]},{prim:"PUSH",args:[{prim:"string"},{string:"ASSET_NOT_FOUND"}]},{prim:"PAIR"},{prim:"FAILWITH"}],[]]},{prim:"CDR"},{prim:"PUSH",args:[{prim:"bool"},{prim:"True"}]},{prim:"SENDER"},{prim:"UPDATE"},{prim:"SWAP"},{prim:"PAIR"},{prim:"SOME"},{prim:"DUP",args:[{int:"4"}]},{prim:"UPDATE"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"2"}]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}]]}]]}],[{prim:"DUP",args:[{int:"6"}]},{prim:"DUP",args:[{int:"2"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"INVALID OP ID"}]},{prim:"FAILWITH"}],[]]},{prim:"PUSH",args:[{prim:"mutez"},{int:"0"}]},{prim:"AMOUNT"},{prim:"COMPARE"},{prim:"EQ"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"TO FUND CONTRACT, PLEASE USE THE DEFAULT ENTRYPOINT"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"4"}]},{prim:"SENDER"},{prim:"MEM"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"ONLY FOR SIGNERS"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"5"}]},{prim:"DUP",args:[{int:"2"}]},{prim:"CDR"},{prim:"SIZE"},{prim:"COMPARE"},{prim:"GE"},{prim:"NOT"},{prim:"IF",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"NOT YET APPROVED"}]},{prim:"FAILWITH"}],[]]},{prim:"DUP",args:[{int:"7"}]},{prim:"DUP",args:[{int:"3"}]},{prim:"GET"},{prim:"IF_NONE",args:[[{prim:"PUSH",args:[{prim:"string"},{string:"pending_ops"}]},{prim:"PUSH",args:[{prim:"string"},{string:"ASSET_NOT_FOUND"}]},{prim:"PAIR"},{prim:"FAILWITH"}],[]]},{prim:"CAR"},{prim:"PUSH",args:[{prim:"unit"},{prim:"Unit"}]},{prim:"EXEC"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"8"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"8"}]},{prim:"DUP",args:[{int:"7"}]},{prim:"NONE",args:[{prim:"pair",args:[{prim:"lambda",args:[{prim:"unit"},{prim:"list",args:[{prim:"operation"}]}]},{prim:"set",args:[{prim:"address"}]}]}]},{prim:"DUP",args:[{int:"4"}]},{prim:"UPDATE"},{prim:"DIP",args:[{int:"1"},[{prim:"DIG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"1"}]}]]},{prim:"DUG",args:[{int:"6"}]},{prim:"DROP",args:[{int:"2"}]},{prim:"PAIR",args:[{int:"6"}]},{prim:"DIG",args:[{int:"1"}]},{prim:"PAIR"}]]}]]}],oae=e=>{return{type:"contract_origination",sender:dd(e.sender),code:iae,storage:(t=e.sender,r=e.signers.map((e=>e.val)),n=String(e.threshold),{owner:t,signers:r,threshold:n,last_op_id:"0",pending_ops:[],metadata:[]})};var t,r,n},aae=e=>{const r=h0({mode:"onBlur",defaultValues:{signers:[{val:""}],threshold:1,...Nre(e)}}),{formState:{errors:n,isValid:i},control:o,register:a,handleSubmit:s,getValues:c,watch:l}=r,u=function(e){const r=iQ(),{control:n=r.control,name:i,keyName:o="id",shouldUnregister:a}=e,[s,c]=t.useState(n._getFieldArray(i)),l=t.useRef(n._getFieldArray(i).map(yQ)),u=t.useRef(s),d=t.useRef(i),h=t.useRef(!1);d.current=i,u.current=s,n._names.array.add(i),e.rules&&n.register(i,e.rules),uQ({next:({values:e,name:t})=>{if(t===d.current||!t){const t=KJ(e,d.current);Array.isArray(t)&&(c(t),l.current=t.map(yQ))}},subject:n._subjects.array});const f=t.useCallback((e=>{h.current=!0,n._updateFieldArray(i,e)}),[n,i]);return t.useEffect((()=>{if(n._state.action=!1,xQ(i,n._names)&&n._subjects.state.next({...n._formState}),h.current&&(!wQ(n._options.mode).isOnSubmit||n._formState.isSubmitted))if(n._options.resolver)n._executeSchema([i]).then((e=>{const t=KJ(e.errors,i),r=KJ(n._formState.errors,i);(r?!t&&r.type||t&&(r.type!==t.type||r.message!==t.message):t&&t.type)&&(t?mQ(n._formState.errors,i,t):VQ(n._formState.errors,i),n._subjects.state.next({errors:n._formState.errors}))}));else{const e=KJ(n._fields,i);e&&e._f&&NQ(e,n._formValues,n._options.criteriaMode===YJ.all,n._options.shouldUseNativeValidation,!0).then((e=>!sQ(e)&&n._subjects.state.next({errors:_Q(n._formState.errors,e,i)})))}n._subjects.values.next({name:i,values:{...n._formValues}}),n._names.focus&&vQ(n._fields,(e=>!!e&&e.startsWith(n._names.focus||""))),n._names.focus="",n._updateValid(),h.current=!1}),[s,i,n]),t.useEffect((()=>(!KJ(n._formValues,i)&&n._updateFieldArray(i),()=>{(n._options.shouldUnregister||a)&&n.unregister(i)})),[i,n,o,a]),{swap:t.useCallback(((e,t)=>{const r=n._getFieldArray(i);HQ(r,e,t),HQ(l.current,e,t),f(r),c(r),n._updateFieldArray(i,r,HQ,{argA:e,argB:t},!1)}),[f,i,n]),move:t.useCallback(((e,t)=>{const r=n._getFieldArray(i);UQ(r,e,t),UQ(l.current,e,t),f(r),c(r),n._updateFieldArray(i,r,UQ,{argA:e,argB:t},!1)}),[f,i,n]),prepend:t.useCallback(((e,t)=>{const r=lQ(HJ(e)),o=FQ(n._getFieldArray(i),r);n._names.focus=bQ(i,0,t),l.current=FQ(l.current,r.map(yQ)),f(o),c(o),n._updateFieldArray(i,o,FQ,{argA:BQ(e)})}),[f,i,n]),append:t.useCallback(((e,t)=>{const r=lQ(HJ(e)),o=DQ(n._getFieldArray(i),r);n._names.focus=bQ(i,o.length-1,t),l.current=DQ(l.current,r.map(yQ)),f(o),c(o),n._updateFieldArray(i,o,DQ,{argA:BQ(e)})}),[f,i,n]),remove:t.useCallback((e=>{const t=$Q(n._getFieldArray(i),e);l.current=$Q(l.current,e),f(t),c(t),n._updateFieldArray(i,t,$Q,{argA:e})}),[f,i,n]),insert:t.useCallback(((e,t,r)=>{const o=lQ(HJ(t)),a=zQ(n._getFieldArray(i),e,o);n._names.focus=bQ(i,e,r),l.current=zQ(l.current,e,o.map(yQ)),f(a),c(a),n._updateFieldArray(i,a,zQ,{argA:e,argB:BQ(t)})}),[f,i,n]),update:t.useCallback(((e,t)=>{const r=HJ(t),o=qQ(n._getFieldArray(i),e,r);l.current=[...o].map(((t,r)=>t&&r!==e?l.current[r]:yQ())),f(o),c([...o]),n._updateFieldArray(i,o,qQ,{argA:e,argB:r},!0,!1)}),[f,i,n]),replace:t.useCallback((e=>{const t=lQ(HJ(e));l.current=t.map(yQ),f([...t]),c([...t]),n._updateFieldArray(i,[...t],(e=>e),{},!0,!1)}),[f,i,n]),fields:t.useMemo((()=>s.map(((e,t)=>({...e,[o]:l.current[t]||yQ()})))),[s,o])}}({control:o,name:"signers",rules:{minLength:1}}),d=l("signers").length,h=Hre({SignPage:nae,signPageExtraData:l(),FormPage:aae,defaultFormPageProps:{},toOperation:oae}),{onFormSubmitActionHandlers:[f],isLoading:p}=qre([h]);return(0,Yn.jsx)(oQ,{...r,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:s(f),children:[(0,Yn.jsx)(ute,{subTitle:"Name your contract, select an owner and the signers of the contract.",title:"Create Multisig"}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!n.name,children:[(0,Yn.jsx)(b0,{children:"Name the Contract"}),(0,Yn.jsx)(k0,{children:(0,Yn.jsx)(O0,{type:"text",...a("name",{required:"Name is required"}),placeholder:"The name is only stored locally"})}),n.name&&(0,Yn.jsx)(Qee,{"data-testid":"name-error",children:n.name.message})]}),(0,Yn.jsxs)(OJ,{isInvalid:!!n.sender,marginY:"24px",children:[(0,Yn.jsx)(q3,{allowUnknown:!1,inputName:"sender",label:"Select Owner"}),n.sender&&(0,Yn.jsx)(Qee,{"data-testid":"owner-error",children:n.sender.message})]}),u.fields.map(((e,t)=>{var r;const i=n.signers&&n.signers[t],o=`${0===t?"Select ":""}${t+1} signer`,a=d>1?"short":"default",s="short"===a?"368px":"100%";return(0,Yn.jsxs)(OJ,{display:"inline-block",width:s,marginBottom:"8px","data-testid":`signer-input-${t}`,isInvalid:!!i,children:[(0,Yn.jsx)(q3,{allowUnknown:!0,inputName:`signers.${t}.val`,label:o,size:a,style:{width:s},validate:e=>{if(!pd(e))return"Signer must be valid TZ address";const t=c("signers").map((e=>e.val));return t.length>new Set(t).size?"Duplicate signer":void 0}}),d>1&&(0,Yn.jsx)(Z3,{position:"absolute",height:"24px",marginTop:"-36px",marginLeft:"374px",background:E$.gray[500],"aria-label":"Remove","data-testid":`remove-signer-${t}`,icon:(0,Yn.jsx)(U5,{width:"12px",height:"14px",stroke:E$.gray[300]}),isRound:!0,onClick:()=>u.remove(t),size:"xs",variant:"tertiary"}),i&&(0,Yn.jsx)(Qee,{"data-testid":`signer-${t}-error`,children:null===(r=i.val)||void 0===r?void 0:r.message})]},e.id)})),(0,Yn.jsx)(_i,{paddingLeft:0,onClick:()=>u.append({val:""}),variant:"specialCTA",children:"+ Add Signer"}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!n.threshold,children:[(0,Yn.jsxs)(b0,{display:"inline",children:["Min No. of approvals:",(0,Yn.jsx)(k0,{display:"inline",marginLeft:"10px",children:(0,Yn.jsx)(O0,{width:"60px",color:"white","data-testid":"threshold-input",step:1,type:"number",...a("threshold",{required:"No. of approvals is required",max:{value:d,message:`Max no. of approvals is ${d}`},min:{value:1,message:"Min no. of approvals is 1"}})})}),(0,Yn.jsxs)(NX,{display:"inline",marginLeft:"10px","data-testid":"max-signers",children:["out of ",d]})]}),n.threshold&&(0,Yn.jsx)(Qee,{"data-testid":"threshold-error",children:n.threshold.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",isDisabled:!i,isLoading:p,size:"lg",type:"submit",children:"Review"})})]})})})},sae=()=>{const{onOpen:e,modalElement:t}=rae();return(0,Yn.jsxs)(Zn,{flexDirection:"row-reverse",marginTop:"12px",marginBottom:"16px",children:[(0,Yn.jsxs)(_i,{paddingRight:"0",onClick:e,variant:"CTAWithIcon",children:[(0,Yn.jsx)(M2,{stroke:"currentcolor"}),(0,Yn.jsx)(NX,{marginLeft:"4px",size:"sm",children:"Add Account"})]}),t]})},cae=({groupLabel:e,accounts:r,balances:n,onSelect:i,selected:o})=>{const a=r[0],s="multisig"===a.type,c="mnemonic"===a.type,{openWith:l,onClose:u}=(0,t.useContext)(kW),d=(()=>{const e=t3();return t=>{e(qie({fingerPrint:t}))}})(),h=(()=>{const e=t3();return t=>{e(Kie({accountType:t}))}})(),f=E3().length===r.length;let p,m="Remove All";const g=lae(a);f?(p="Removing all your accounts will off-board you from Umami. This will remove or reset all customised settings to their defaults. Personal data (including saved contacts, password and accounts) won't be affected.",m="Remove & Off-board"):p=c?`Are you sure you want to remove all accounts derived from ${g}?`:`Are you sure you want to remove all of your ${g}?`;return(0,Yn.jsxs)(Qn,{"data-testid":`account-group-${e}`,children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsx)(li,{marginBottom:4,"data-testid":"account-group-title",size:"md",children:e}),!s&&(0,Yn.jsx)(Aie,{onCreate:c?()=>{if(!c)throw new Error("Can't derive a non mnemonic account!");l((0,Yn.jsx)(dae,{fingerprint:a.seedFingerPrint,onDone:u}))}:void 0,onRemove:()=>{l((0,Yn.jsx)(Wne,{buttonLabel:m,description:p,onSubmit:()=>{c?d(a.seedFingerPrint):h(a.type),u()},title:"Remove All Accounts"}))}})]}),r.map((e=>(0,Yn.jsx)(Qn,{marginBottom:"16px",children:(0,Yn.jsx)(Uie,{address:e.address.pkh,balance:n[e.address.pkh],onClick:t=>i(e.address.pkh),selected:e.address.pkh===o})},e.address.pkh)))]})},lae=e=>{switch(e.type){case"mnemonic":return`Seedphrase ${e.seedFingerPrint}`;case"social":return"Social Accounts";case"ledger":return"Ledger Accounts";case"secret_key":return"Secret Key Accounts";case"multisig":return"Multisig Accounts"}},uae=({onOpen:e,selected:r,onSelect:n})=>{const i=O3(),o=r3((e=>e.assets.balances.mutez)),a=(0,iE.groupBy)(i,lae),{openWith:s}=(0,t.useContext)(kW),c=Object.entries(a).map((([t,i])=>(0,Yn.jsx)(cae,{accounts:i,balances:o,groupLabel:t,onSelect:t=>{e(),n(t)},selected:r},t)));return(0,Yn.jsx)(Yn.Fragment,{children:(0,Yn.jsx)(Qn,{height:"100%",marginRight:0,children:(0,Yn.jsxs)(Fie,{children:[(0,iE.compact)(c),(0,Yn.jsx)(_i,{width:"100%",height:"90px",background:E$.black,border:"1px dashed",borderColor:E$.gray[500],onClick:()=>s((0,Yn.jsx)(aae,{})),variant:"outline",children:(0,Yn.jsxs)(NX,{display:"block",width:"100%",margin:5,color:E$.gray[400],textAlign:"center",children:[(0,Yn.jsx)(f5,{marginRight:1,stroke:E$.gray[450]}),"Create New Multisig"]})})]})})})},dae=e=>{const t=t3(),{isLoading:r,handleAsyncAction:n}=Yee(),i=DY();return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(Nie,{isLoading:r,onSubmit:({name:r,password:o})=>n((async()=>{await t(oP({fingerPrint:e.fingerprint,password:o,label:r})).unwrap(),e.onDone(),i({description:`New account created! Successfully derived account from ${e.fingerprint}`})}),{title:"Failed to derive new account"}),subtitle:`Name the new account derived from ${e.fingerprint}`})]})},hae=({onClose:e})=>(0,Yn.jsx)(Zn,{justifyContent:"flex-end",paddingBottom:"30px",cursor:"pointer",children:(0,Yn.jsx)(fae,{onClose:e})}),fae=({onClose:e})=>(0,Yn.jsxs)(_i,{onClick:e,variant:"CTAWithIcon",children:[(0,Yn.jsx)(J2,{stroke:"currentcolor"}),(0,Yn.jsx)(NX,{marginLeft:"4px",children:"Close"})]});function pae(e){const t=e.target,{tagName:r,isContentEditable:n}=t;return"INPUT"!==r&&"TEXTAREA"!==r&&!0!==n}function mae(e={}){const{ref:r,isDisabled:n,isFocusable:i,clickOnEnter:o=!0,clickOnSpace:a=!0,onMouseDown:s,onMouseUp:c,onClick:l,onKeyDown:u,onKeyUp:d,tabIndex:h,onMouseOver:f,onMouseLeave:p,...m}=e,[g,v]=(0,t.useState)(!0),[y,b]=(0,t.useState)(!1),w=function(){const e=(0,t.useRef)(new Map),r=e.current,n=(0,t.useCallback)(((t,r,n,i)=>{e.current.set(n,{type:r,el:t,options:i}),t.addEventListener(r,n,i)}),[]),i=(0,t.useCallback)(((t,r,n,i)=>{t.removeEventListener(r,n,i),e.current.delete(n)}),[]);return(0,t.useEffect)((()=>()=>{r.forEach(((e,t)=>{i(e.el,e.type,t,e.options)}))}),[i,r]),{add:n,remove:i}}(),x=g?h:h||0,_=n&&!i,S=(0,t.useCallback)((e=>{if(n)return e.stopPropagation(),void e.preventDefault();e.currentTarget.focus(),null==l||l(e)}),[n,l]),k=(0,t.useCallback)((e=>{y&&pae(e)&&(e.preventDefault(),e.stopPropagation(),b(!1),w.remove(document,"keyup",k,!1))}),[y,w]),E=(0,t.useCallback)((e=>{if(null==u||u(e),n||e.defaultPrevented||e.metaKey)return;if(!pae(e.nativeEvent)||g)return;const t=o&&"Enter"===e.key;if(a&&" "===e.key&&(e.preventDefault(),b(!0)),t){e.preventDefault();e.currentTarget.click()}w.add(document,"keyup",k,!1)}),[n,g,u,o,a,w,k]),P=(0,t.useCallback)((e=>{if(null==d||d(e),n||e.defaultPrevented||e.metaKey)return;if(!pae(e.nativeEvent)||g)return;if(a&&" "===e.key){e.preventDefault(),b(!1);e.currentTarget.click()}}),[a,g,n,d]),O=(0,t.useCallback)((e=>{0===e.button&&(b(!1),w.remove(document,"mouseup",O,!1))}),[w]),A=(0,t.useCallback)((e=>{if(0!==e.button)return;if(n)return e.stopPropagation(),void e.preventDefault();g||b(!0);e.currentTarget.focus({preventScroll:!0}),w.add(document,"mouseup",O,!1),null==s||s(e)}),[n,g,s,w,O]),T=(0,t.useCallback)((e=>{0===e.button&&(g||b(!1),null==c||c(e))}),[c,g]),j=(0,t.useCallback)((e=>{n?e.preventDefault():null==f||f(e)}),[n,f]),C=(0,t.useCallback)((e=>{y&&(e.preventDefault(),b(!1)),null==p||p(e)}),[y,p]),R=wi(r,(e=>{e&&"BUTTON"!==e.tagName&&v(!1)}));return g?{...m,ref:R,type:"button","aria-disabled":_?void 0:n,disabled:_,onClick:S,onMouseDown:s,onMouseUp:c,onKeyUp:d,onKeyDown:u,onMouseOver:f,onMouseLeave:p}:{...m,ref:R,role:"button","data-active":ce(y),"aria-disabled":n?"true":void 0,tabIndex:_?void 0:x,onClick:S,onMouseDown:A,onMouseUp:T,onKeyUp:P,onKeyDown:E,onMouseOver:j,onMouseLeave:C}}var[gae,vae,yae,bae]=eJ();var[wae,xae]=ui({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});var[_ae,Sae]=ui({});function kae(e,t){return`${e}--tab-${t}`}function Eae(e,t){return`${e}--tabpanel-${t}`}var[Pae,Oae]=ui({name:"TabsStylesContext",errorMessage:"useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),Aae=re((function(e,r){const n=ci("Tabs",e),{children:i,className:o,...a}=Jt(e),{htmlProps:s,descendants:c,...l}=function(e){var r;const{defaultIndex:n,onChange:i,index:o,isManual:a,isLazy:s,lazyBehavior:c="unmount",orientation:l="horizontal",direction:u="ltr",...d}=e,[h,f]=(0,t.useState)(null!=n?n:0),[p,m]=lJ({defaultValue:null!=n?n:0,value:o,onChange:i});(0,t.useEffect)((()=>{null!=o&&f(o)}),[o]);const g=yae(),v=(0,t.useId)();return{id:`tabs-${null!=(r=e.id)?r:v}`,selectedIndex:p,focusedIndex:h,setSelectedIndex:m,setFocusedIndex:f,isManual:a,isLazy:s,lazyBehavior:c,orientation:l,descendants:g,direction:u,htmlProps:d}}(a),u=(0,t.useMemo)((()=>l),[l]),{isFitted:d,...h}=s,f={position:"relative",...n.root};return(0,Yn.jsx)(gae,{value:c,children:(0,Yn.jsx)(wae,{value:u,children:(0,Yn.jsx)(Pae,{value:n,children:(0,Yn.jsx)(Gn.div,{className:ne("chakra-tabs",o),ref:r,...h,__css:f,children:i})})})})}));Aae.displayName="Tabs";var Tae=re((function(e,r){const n=function(e){const{focusedIndex:r,orientation:n,direction:i}=xae(),o=vae(),a=(0,t.useCallback)((e=>{const t=()=>{var e;const t=o.nextEnabled(r);t&&(null==(e=t.node)||e.focus())},a=()=>{var e;const t=o.prevEnabled(r);t&&(null==(e=t.node)||e.focus())},s="horizontal"===n,c="vertical"===n,l=e.key,u={["ltr"===i?"ArrowLeft":"ArrowRight"]:()=>s&&a(),["ltr"===i?"ArrowRight":"ArrowLeft"]:()=>s&&t(),ArrowDown:()=>c&&t(),ArrowUp:()=>c&&a(),Home:()=>{var e;const t=o.firstEnabled();t&&(null==(e=t.node)||e.focus())},End:()=>{var e;const t=o.lastEnabled();t&&(null==(e=t.node)||e.focus())}},d=u[l];d&&(e.preventDefault(),d(e))}),[o,r,n,i]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:ue(e.onKeyDown,a)}}({...e,ref:r}),i={display:"flex",...Oae().tablist};return(0,Yn.jsx)(Gn.div,{...n,className:ne("chakra-tabs__tablist",e.className),__css:i})}));Tae.displayName="TabList";var jae=re((function(e,r){const n=function(e){const r=xae(),{id:n,selectedIndex:i}=r,o=x0(e.children).map(((e,r)=>(0,t.createElement)(_ae,{key:r,value:{isSelected:r===i,id:Eae(n,r),tabId:kae(n,r),selectedIndex:i}},e)));return{...e,children:o}}(e),i=Oae();return(0,Yn.jsx)(Gn.div,{...n,width:"100%",ref:r,className:ne("chakra-tabs__tab-panels",e.className),__css:i.tabpanels})}));jae.displayName="TabPanels";var Cae=re((function(e,r){const n=function(e){const{children:r,...n}=e,{isLazy:i,lazyBehavior:o}=xae(),{isSelected:a,id:s,tabId:c}=Sae(),l=(0,t.useRef)(!1);return a&&(l.current=!0),{tabIndex:0,...n,children:hre({wasSelected:l.current,isSelected:a,enabled:i,mode:o})?r:null,role:"tabpanel","aria-labelledby":c,hidden:!a,id:s}}({...e,ref:r}),i=Oae();return(0,Yn.jsx)(Gn.div,{outline:"0",...n,className:ne("chakra-tabs__tab-panel",e.className),__css:i.tabpanel})}));function Rae(e){Xre(1,arguments);var t=Jre(e);return t.setHours(0,0,0,0),t}Cae.displayName="TabPanel";var Iae=864e5;function Mae(e,t){Xre(2,arguments);var r=Rae(e),n=Rae(t),i=r.getTime()-_ne(r),o=n.getTime()-_ne(n);return Math.round((i-o)/Iae)}function Lae(e){if(Xre(1,arguments),!function(e){return Xre(1,arguments),e instanceof Date||"object"===Zre(e)&&"[object Date]"===Object.prototype.toString.call(e)}(e)&&"number"!==typeof e)return!1;var t=Jre(e);return!isNaN(Number(t))}function Nae(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function Dae(e,t){return Xre(2,arguments),function(e,t){Xre(2,arguments);var r=Jre(e).getTime(),n=Nae(t);return new Date(r+n)}(e,-Nae(t))}function Bae(e){Xre(1,arguments);var t=Jre(e),r=t.getUTCDay(),n=(r<1?7:0)+r-1;return t.setUTCDate(t.getUTCDate()-n),t.setUTCHours(0,0,0,0),t}function zae(e){Xre(1,arguments);var t=Jre(e),r=t.getUTCFullYear(),n=new Date(0);n.setUTCFullYear(r+1,0,4),n.setUTCHours(0,0,0,0);var i=Bae(n),o=new Date(0);o.setUTCFullYear(r,0,4),o.setUTCHours(0,0,0,0);var a=Bae(o);return t.getTime()>=i.getTime()?r+1:t.getTime()>=a.getTime()?r:r-1}function Uae(e){Xre(1,arguments);var t=Jre(e),r=Bae(t).getTime()-function(e){Xre(1,arguments);var t=zae(e),r=new Date(0);return r.setUTCFullYear(t,0,4),r.setUTCHours(0,0,0,0),Bae(r)}(t).getTime();return Math.round(r/6048e5)+1}function Fae(e,t){var r,n,i,o,a,s,c,l;Xre(1,arguments);var u=ine(),d=Nae(null!==(r=null!==(n=null!==(i=null!==(o=null===t||void 0===t?void 0:t.weekStartsOn)&&void 0!==o?o:null===t||void 0===t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:u.weekStartsOn)&&void 0!==n?n:null===(c=u.locale)||void 0===c||null===(l=c.options)||void 0===l?void 0:l.weekStartsOn)&&void 0!==r?r:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=Jre(e),f=h.getUTCDay(),p=(f=1&&f<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setUTCFullYear(d+1,0,f),p.setUTCHours(0,0,0,0);var m=Fae(p,t),g=new Date(0);g.setUTCFullYear(d,0,f),g.setUTCHours(0,0,0,0);var v=Fae(g,t);return u.getTime()>=m.getTime()?d+1:u.getTime()>=v.getTime()?d:d-1}function Hae(e,t){Xre(1,arguments);var r=Jre(e),n=Fae(r,t).getTime()-function(e,t){var r,n,i,o,a,s,c,l;Xre(1,arguments);var u=ine(),d=Nae(null!==(r=null!==(n=null!==(i=null!==(o=null===t||void 0===t?void 0:t.firstWeekContainsDate)&&void 0!==o?o:null===t||void 0===t||null===(a=t.locale)||void 0===a||null===(s=a.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:u.firstWeekContainsDate)&&void 0!==n?n:null===(c=u.locale)||void 0===c||null===(l=c.options)||void 0===l?void 0:l.firstWeekContainsDate)&&void 0!==r?r:1),h=$ae(e,t),f=new Date(0);return f.setUTCFullYear(h,0,d),f.setUTCHours(0,0,0,0),Fae(f,t)}(r,t).getTime();return Math.round(n/6048e5)+1}function Vae(e,t){for(var r=e<0?"-":"",n=Math.abs(e).toString();n.length0?r:1-r;return Vae("yy"===t?n%100:n,t.length)},M:function(e,t){var r=e.getUTCMonth();return"M"===t?String(r+1):Vae(r+1,2)},d:function(e,t){return Vae(e.getUTCDate(),t.length)},a:function(e,t){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];default:return"am"===r?"a.m.":"p.m."}},h:function(e,t){return Vae(e.getUTCHours()%12||12,t.length)},H:function(e,t){return Vae(e.getUTCHours(),t.length)},m:function(e,t){return Vae(e.getUTCMinutes(),t.length)},s:function(e,t){return Vae(e.getUTCSeconds(),t.length)},S:function(e,t){var r=t.length,n=e.getUTCMilliseconds();return Vae(Math.floor(n*Math.pow(10,r-3)),t.length)}};const Kae=qae;var Wae="midnight",Gae="noon",Yae="morning",Zae="afternoon",Xae="evening",Jae="night",Qae={G:function(e,t,r){var n=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});default:return r.era(n,{width:"wide"})}},y:function(e,t,r){if("yo"===t){var n=e.getUTCFullYear(),i=n>0?n:1-n;return r.ordinalNumber(i,{unit:"year"})}return Kae.y(e,t)},Y:function(e,t,r,n){var i=$ae(e,n),o=i>0?i:1-i;return"YY"===t?Vae(o%100,2):"Yo"===t?r.ordinalNumber(o,{unit:"year"}):Vae(o,t.length)},R:function(e,t){return Vae(zae(e),t.length)},u:function(e,t){return Vae(e.getUTCFullYear(),t.length)},Q:function(e,t,r){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(n);case"QQ":return Vae(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,t,r){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(n);case"qq":return Vae(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,t,r){var n=e.getUTCMonth();switch(t){case"M":case"MM":return Kae.M(e,t);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(e,t,r){var n=e.getUTCMonth();switch(t){case"L":return String(n+1);case"LL":return Vae(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(e,t,r,n){var i=Hae(e,n);return"wo"===t?r.ordinalNumber(i,{unit:"week"}):Vae(i,t.length)},I:function(e,t,r){var n=Uae(e);return"Io"===t?r.ordinalNumber(n,{unit:"week"}):Vae(n,t.length)},d:function(e,t,r){return"do"===t?r.ordinalNumber(e.getUTCDate(),{unit:"date"}):Kae.d(e,t)},D:function(e,t,r){var n=function(e){Xre(1,arguments);var t=Jre(e),r=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var n=r-t.getTime();return Math.floor(n/864e5)+1}(e);return"Do"===t?r.ordinalNumber(n,{unit:"dayOfYear"}):Vae(n,t.length)},E:function(e,t,r){var n=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(e,t,r,n){var i=e.getUTCDay(),o=(i-n.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Vae(o,2);case"eo":return r.ordinalNumber(o,{unit:"day"});case"eee":return r.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(i,{width:"short",context:"formatting"});default:return r.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,r,n){var i=e.getUTCDay(),o=(i-n.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Vae(o,t.length);case"co":return r.ordinalNumber(o,{unit:"day"});case"ccc":return r.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(i,{width:"narrow",context:"standalone"});case"cccccc":return r.day(i,{width:"short",context:"standalone"});default:return r.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,r){var n=e.getUTCDay(),i=0===n?7:n;switch(t){case"i":return String(i);case"ii":return Vae(i,t.length);case"io":return r.ordinalNumber(i,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(e,t,r){var n=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(e,t,r){var n,i=e.getUTCHours();switch(n=12===i?Gae:0===i?Wae:i/12>=1?"pm":"am",t){case"b":case"bb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(e,t,r){var n,i=e.getUTCHours();switch(n=i>=17?Xae:i>=12?Zae:i>=4?Yae:Jae,t){case"B":case"BB":case"BBB":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,t,r){if("ho"===t){var n=e.getUTCHours()%12;return 0===n&&(n=12),r.ordinalNumber(n,{unit:"hour"})}return Kae.h(e,t)},H:function(e,t,r){return"Ho"===t?r.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Kae.H(e,t)},K:function(e,t,r){var n=e.getUTCHours()%12;return"Ko"===t?r.ordinalNumber(n,{unit:"hour"}):Vae(n,t.length)},k:function(e,t,r){var n=e.getUTCHours();return 0===n&&(n=24),"ko"===t?r.ordinalNumber(n,{unit:"hour"}):Vae(n,t.length)},m:function(e,t,r){return"mo"===t?r.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Kae.m(e,t)},s:function(e,t,r){return"so"===t?r.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Kae.s(e,t)},S:function(e,t){return Kae.S(e,t)},X:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return tse(i);case"XXXX":case"XX":return rse(i);default:return rse(i,":")}},x:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"x":return tse(i);case"xxxx":case"xx":return rse(i);default:return rse(i,":")}},O:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+ese(i,":");default:return"GMT"+rse(i,":")}},z:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+ese(i,":");default:return"GMT"+rse(i,":")}},t:function(e,t,r,n){var i=n._originalDate||e;return Vae(Math.floor(i.getTime()/1e3),t.length)},T:function(e,t,r,n){return Vae((n._originalDate||e).getTime(),t.length)}};function ese(e,t){var r=e>0?"-":"+",n=Math.abs(e),i=Math.floor(n/60),o=n%60;if(0===o)return r+String(i);var a=t||"";return r+String(i)+a+Vae(o,2)}function tse(e,t){return e%60===0?(e>0?"-":"+")+Vae(Math.abs(e)/60,2):rse(e,t)}function rse(e,t){var r=t||"",n=e>0?"-":"+",i=Math.abs(e);return n+Vae(Math.floor(i/60),2)+r+Vae(i%60,2)}const nse=Qae;var ise=function(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ose=function(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},ase={p:ose,P:function(e,t){var r,n=e.match(/(P+)(p+)?/)||[],i=n[1],o=n[2];if(!o)return ise(e,t);switch(i){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",ise(i,t)).replace("{{time}}",ose(o,t))}};const sse=ase;var cse=["D","DD"],lse=["YY","YYYY"];function use(e,t,r){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var dse=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,hse=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,fse=/^'([^]*?)'?$/,pse=/''/g,mse=/[a-zA-Z]/;function gse(e,t,r){var n,i,o,a,s,c,l,u,d,h,f,p,m,g,v,y,b,w;Xre(2,arguments);var x=String(t),_=ine(),S=null!==(n=null!==(i=null===r||void 0===r?void 0:r.locale)&&void 0!==i?i:_.locale)&&void 0!==n?n:wne,k=Nae(null!==(o=null!==(a=null!==(s=null!==(c=null===r||void 0===r?void 0:r.firstWeekContainsDate)&&void 0!==c?c:null===r||void 0===r||null===(l=r.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==s?s:_.firstWeekContainsDate)&&void 0!==a?a:null===(d=_.locale)||void 0===d||null===(h=d.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==o?o:1);if(!(k>=1&&k<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var E=Nae(null!==(f=null!==(p=null!==(m=null!==(g=null===r||void 0===r?void 0:r.weekStartsOn)&&void 0!==g?g:null===r||void 0===r||null===(v=r.locale)||void 0===v||null===(y=v.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==m?m:_.weekStartsOn)&&void 0!==p?p:null===(b=_.locale)||void 0===b||null===(w=b.options)||void 0===w?void 0:w.weekStartsOn)&&void 0!==f?f:0);if(!(E>=0&&E<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!S.localize)throw new RangeError("locale must contain localize property");if(!S.formatLong)throw new RangeError("locale must contain formatLong property");var P=Jre(e);if(!Lae(P))throw new RangeError("Invalid time value");var O=Dae(P,_ne(P)),A={firstWeekContainsDate:k,weekStartsOn:E,locale:S,_originalDate:P},T=x.match(hse).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,sse[t])(e,S.formatLong):e})).join("").match(dse).map((function(n){if("''"===n)return"'";var i=n[0];if("'"===i)return function(e){var t=e.match(fse);if(!t)return e;return t[1].replace(pse,"'")}(n);var o=nse[i];if(o)return null!==r&&void 0!==r&&r.useAdditionalWeekYearTokens||!function(e){return-1!==lse.indexOf(e)}(n)||use(n,t,String(e)),null!==r&&void 0!==r&&r.useAdditionalDayOfYearTokens||!function(e){return-1!==cse.indexOf(e)}(n)||use(n,t,String(e)),o(O,n,S.localize,A);if(i.match(mse))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return n})).join("");return T}const vse=()=>{const e=w3();return t=>{const r=e(t.sender),n=new Date,i=d3(t.amount),o=r&&d3(r),a=`Since ${function(e,t,r){var n,i,o,a,s,c,l,u,d,h;Xre(2,arguments);var f=Jre(e),p=Jre(t),m=ine(),g=null!==(n=null!==(i=null===r||void 0===r?void 0:r.locale)&&void 0!==i?i:m.locale)&&void 0!==n?n:wne,v=Nae(null!==(o=null!==(a=null!==(s=null!==(c=null===r||void 0===r?void 0:r.weekStartsOn)&&void 0!==c?c:null===r||void 0===r||null===(l=r.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==s?s:m.weekStartsOn)&&void 0!==a?a:null===(d=m.locale)||void 0===d||null===(h=d.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==o?o:0);if(!g.localize)throw new RangeError("locale must contain localize property");if(!g.formatLong)throw new RangeError("locale must contain formatLong property");if(!g.formatRelative)throw new RangeError("locale must contain formatRelative property");var y,b=Mae(f,p);if(isNaN(b))throw new RangeError("Invalid time value");y=b<-6?"other":b<-1?"lastWeek":b<0?"yesterday":b<1?"today":b<2?"tomorrow":b<7?"nextWeek":"other";var w=Dae(f,_ne(f)),x=Dae(p,_ne(p));return gse(f,g.formatRelative(y,w,x,{locale:g,weekStartsOn:v}),{locale:g,weekStartsOn:v})}(new Date(t.timestamp),n)}`;return{initialBalance:i,currentBalance:o,duration:a}}},yse=({title:e,children:t,small:r=!1})=>{const n=r?"md":"3xl";return(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"center",width:"100%",height:"100%",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(li,{padding:"42px",size:n,children:e}),(0,Yn.jsx)(Xn,{children:t})]})})},bse=({small:e})=>(0,Yn.jsx)(yse,{small:e,title:"No NFTs found",children:(0,Yn.jsx)(sie,{href:"https://objkt.com",children:(0,Yn.jsx)(_i,{size:e?"md":"lg",children:"Buy your first NFT"})})}),wse=({small:e})=>(0,Yn.jsx)(yse,{small:e,title:"No operations found"}),xse=({small:e,onDelegate:t})=>(0,Yn.jsx)(yse,{small:e,title:"Currently not delegating",children:(0,Yn.jsx)(_i,{onClick:t,size:e?"md":"lg",children:"Start delegating"})}),_se=e=>{const{mode:t,operations:r,fee:n}=e,{fee:i,operations:o,estimationFailed:a,isLoading:s,form:c,signer:l,reEstimate:u,onSign:d}=Dre(n,r,t),h=o.operations[0].recipient;return(0,Yn.jsx)(oQ,{...c,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:o.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:l.address}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",marginBottom:"24px",paddingX:"4px",children:(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(cte,{fee:i})})}),(0,Yn.jsx)(b0,{children:"To"}),(0,Yn.jsx)(z3,{address:h}),(0,Yn.jsx)(Rre,{isLoading:s,operationType:o.type,reEstimate:u,sender:o.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:a,isLoading:s,onSubmit:d,signer:l,text:fte(o.type,t)})})]})})})},Sse=e=>{var t;const r=null===(t=e.form)||void 0===t?void 0:t.baker,n=Hre({SignPage:_se,signPageExtraData:void 0,FormPage:Sse,defaultFormPageProps:e,toOperation:kse}),i=Vre(kse),{onFormSubmitActionHandlers:[o,a],isLoading:s}=qre([n,i]),c=h0({mode:"onBlur",defaultValues:Nre(e)}),{formState:{isValid:l,errors:u},handleSubmit:d}=c;return(0,Yn.jsx)(oQ,{...c,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsxs)(lte,{children:[(0,Yn.jsx)(NX,{fontWeight:"600",size:"2xl",children:r?"Change Baker":"Delegate"}),(0,Yn.jsx)(DX,{})]}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!u.sender,children:[(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!!e.sender,label:"From"}),u.sender&&(0,Yn.jsx)(Qee,{"data-testid":"from-error",children:u.sender.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px","data-testid":"baker",isInvalid:!!u.baker,children:[(0,Yn.jsx)(W3,{allowUnknown:!0,inputName:"baker",label:"Baker"}),u.baker&&(0,Yn.jsx)(Qee,{children:u.baker.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:s,isValid:l,onAddToBatch:d(a),onSingleSubmit:d(o)})})]})})})},kse=e=>({type:"delegation",sender:dd(e.sender),recipient:gd(e.baker)}),Ese=e=>{const{mode:t,operations:r,fee:n}=e,{fee:i,operations:o,estimationFailed:a,isLoading:s,form:c,signer:l,reEstimate:u,onSign:d}=Dre(n,r,t);return(0,Yn.jsx)(oQ,{...c,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:o.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{address:l.address}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",paddingX:"4px",children:(0,Yn.jsx)(cte,{fee:i})}),(0,Yn.jsx)(Rre,{isLoading:s,operationType:o.type,reEstimate:u,sender:o.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:a,isLoading:s,onSubmit:d,signer:l,text:fte(o.type,t)})})]})})})},Pse=e=>{var t;const{sender:r}=e,n=null===(t=e.form)||void 0===t?void 0:t.baker,i=Hre({SignPage:Ese,signPageExtraData:void 0,FormPage:Pse,defaultFormPageProps:{sender:r},toOperation:Ose}),o=Vre(Ose),{onFormSubmitActionHandlers:[a,s],isLoading:c}=qre([i,o]),l=h0({mode:"onBlur",defaultValues:Nre({sender:r})}),{handleSubmit:u}=l;return(0,Yn.jsx)(oQ,{...l,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(ute,{subTitle:"Select preview to end delegation or insert this transaction into a Batch.",title:"End delegation"}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(OJ,{children:(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!0,label:"From"})}),(0,Yn.jsx)(b0,{marginTop:"24px",children:"Baker"}),n&&(0,Yn.jsx)(z3,{address:dd(n)})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:c,isValid:!0,onAddToBatch:u(s),onSingleSubmit:u(a)})})]})})})},Ose=e=>({type:"undelegation",sender:dd(e.sender)}),Ase=({label:e,value:t,...r})=>(0,Yn.jsxs)(Zn,{alignItems:"center",height:"50px",padding:"16px","data-testid":e,...r,children:[(0,Yn.jsx)(Qn,{flex:1,children:(0,Yn.jsx)(li,{color:E$.gray[400],size:"sm",children:e})}),(0,Yn.jsx)(Qn,{flex:1,children:"string"===typeof t?(0,Yn.jsx)(NX,{size:"sm",children:t}):t})]}),Tse=({delegation:e,account:r})=>{const{openWith:n}=(0,t.useContext)(kW),i=T3(),o=vse();if(!e)return(0,Yn.jsx)(xse,{onDelegate:()=>{n((0,Yn.jsx)(Sse,{sender:r}))},small:!0});const{currentBalance:a,duration:s,initialBalance:c}=o(e),{sender:l,delegate:{address:u}}=e,d=i(l);return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(Ase,{borderBottom:`1px solid ${E$.gray[700]}`,borderTopRadius:"8px",_odd:{bg:E$.gray[800]},label:"Initial Balance:",value:c}),a&&(0,Yn.jsx)(Ase,{_odd:{bg:E$.gray[800]},label:"Current Balance:",value:a}),(0,Yn.jsx)(Ase,{borderBottom:`1px solid ${E$.gray[700]}`,_odd:{bg:E$.gray[800]},label:"Duration:",value:s}),(0,Yn.jsx)(Ase,{borderBottomRadius:"8px",_odd:{bg:E$.gray[800]},label:"Baker:",value:(0,Yn.jsx)($ne,{address:dd(e.delegate.address)})}),(0,Yn.jsxs)(Zn,{marginTop:"24px",children:[(0,Yn.jsx)(_i,{flex:1,marginRight:"16px",onClick:()=>n((0,Yn.jsx)(Pse,{form:{sender:l,baker:u},sender:d})),variant:"warning",children:"End Delegation"}),(0,Yn.jsx)(_i,{flex:1,onClick:()=>{n((0,Yn.jsx)(Sse,{form:{sender:l,baker:u},sender:d}))},variant:"tertiary",children:"Change Baker"})]})]})};function jse(e){return b5({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"line",attr:{x1:"7",y1:"17",x2:"17",y2:"7"}},{tag:"polyline",attr:{points:"7 7 17 7 17 17"}}]})(e)}const Cse=({operation:e})=>{switch(e.type){case"delegation":return(0,Yn.jsxs)(Qn,{margin:1,paddingLeft:5,"data-testid":"decoded-item-delegate",marginY:6,children:["Delegate to ",(0,Yn.jsx)($ne,{address:e.recipient})]});case"undelegation":return(0,Yn.jsx)(Qn,{margin:1,paddingLeft:5,"data-testid":"decoded-item-undelegate",marginY:6,children:"End Delegation"});case"tez":case"fa1.2":case"fa2":return(0,Yn.jsxs)(Qn,{marginY:6,children:[(0,Yn.jsx)(Rse,{operation:e}),(0,Yn.jsxs)(Zn,{alignItems:"center",margin:1,paddingLeft:5,children:[(0,Yn.jsx)(li,{marginRight:2,color:E$.gray[400],size:"sm",children:"Send to :"}),(0,Yn.jsx)($ne,{address:e.recipient})]})]});case"contract_origination":case"contract_call":throw new Error(`${e.type} is not suported yet`)}},Rse=({operation:e})=>{const t=s3();switch(e.type){case"tez":return(0,Yn.jsxs)(Zn,{alignItems:"center","data-testid":"decoded-tez-amount",children:[(0,Yn.jsx)(LF,{as:jse,width:5,height:5,color:E$.gray[400]}),(0,Yn.jsxs)(NX,{marginLeft:1,textAlign:"center",children:["-",d3(e.amount)]})]});case"fa1.2":case"fa2":{const r=t(e.contract.pkh,e.tokenId);if(!r)return null;const n=pP(r),i="nft"===r.type;return(0,Yn.jsxs)(Zn,{alignItems:"center","data-testid":"decoded-fa-amount",children:[(0,Yn.jsx)(LF,{as:jse,width:5,height:5,color:E$.gray[400]}),i?(0,Yn.jsxs)(NX,{marginLeft:1,textAlign:"center",children:[e.amount," ",n]}):(0,Yn.jsxs)(NX,{marginLeft:1,textAlign:"center",children:["-",xP(e.amount,r,{showSymbol:!0})]})]})}case"delegation":case"undelegation":case"contract_origination":case"contract_call":return null}},Ise=e=>ld.string().regex(new RegExp(`^${e}$`,"i")),Mse=e=>ld.object({prim:Ise(e)}),Lse=ld.object({prim:ld.literal("PUSH"),args:ld.tuple([ld.object({prim:ld.literal("key_hash")}),ld.object({bytes:ld.string()})])}),Nse=ld.object({prim:ld.literal("PUSH"),args:ld.tuple([ld.object({prim:ld.literal("address")}),ld.object({bytes:ld.string()})])}),Dse=(e,t)=>ld.object({prim:ld.literal("Pair"),args:ld.tuple([e,t])}),Bse=ld.object({prim:ld.literal("PUSH"),args:ld.tuple([ld.object({prim:ld.literal("mutez")}),ld.object({int:ld.literal("0")})])}),zse=[Mse("TRANSFER_TOKENS"),Mse("CONS")],Use=ld.object({prim:ld.literal("CONTRACT")}),Fse=ld.tuple([ld.object({prim:ld.literal("DROP")}),ld.object({prim:ld.literal("NIL"),args:ld.array(ld.object({prim:ld.literal("operation")}))})]),$se=ld.object({prim:ld.literal("PUSH"),args:ld.tuple([ld.object({prim:ld.literal("mutez")}),ld.object({int:ld.string()})])}),Hse=ld.tuple([Lse,Mse("IMPLICIT_ACCOUNT"),$se,Mse("UNIT"),...zse]),Vse=ld.tuple([Nse,Use,Mse("IF_NONE"),$se,Mse("UNIT"),...zse]),qse=ld.tuple([Lse,Mse("SOME"),Mse("SET_DELEGATE"),Mse("CONS")]),Kse=ld.tuple([ld.object({prim:ld.literal("NONE"),args:ld.tuple([ld.object({prim:ld.literal("key_hash")})])}),Mse("SET_DELEGATE"),Mse("CONS")]),Wse=ld.tuple([Nse,Use,ld.tuple([Mse("IF_NONE")]),Bse,ld.object({prim:ld.literal("PUSH"),args:ld.tuple([Mse("list"),ld.array(Dse(ld.object({bytes:ld.string({description:"from"})}),ld.array(Dse(ld.object({bytes:ld.string({description:"to"})}),Dse(ld.object({int:ld.string({description:"token_id"})}),ld.object({int:ld.string({description:"amount"})}))))))])}),...zse]),Gse=ld.tuple([Nse,Use,ld.tuple([Mse("IF_NONE")]),Bse,ld.object({prim:ld.literal("PUSH"),args:ld.tuple([Mse("Pair"),Dse(ld.object({bytes:ld.string({description:"from"})}),Dse(ld.object({bytes:ld.string({description:"to"})}),ld.object({int:ld.string({description:"amount"})})))])}),...zse]);class Yse extends Error{}const Zse=e=>(42===e.length&&(e="00"+e),fc(e)),Xse=[{schema:Hse,parsingFn:e=>{const t=Hse.parse(e),r=t[0].args[1].bytes,n=t[2].args[1].int;return{type:"tez",recipient:gd(Zse(r)),amount:n}}},{schema:Vse,parsingFn:e=>{const t=Vse.parse(e),r=t[0].args[1].bytes,n=t[3].args[1].int;return{type:"tez",recipient:md(Zse(r)),amount:n}}},{schema:Wse,parsingFn:e=>{const t=Wse.parse(e),r=md(Zse(t[0].args[1].bytes));return t[4].args[1].flatMap((e=>{const t=e.args[0].bytes;return e.args[1].map((e=>{const n=e.args[0].bytes,i=e.args[1].args[0].int,o=e.args[1].args[1].int;return{type:"fa2",contract:r,sender:dd(Zse(t)),recipient:dd(Zse(n)),tokenId:i,amount:o}}))}))}},{schema:Gse,parsingFn:e=>{const t=Gse.parse(e),r=t[0],n=t[4].args[1],i=n.args[0].bytes,o=n.args[1].args[0].bytes;return{type:"fa1.2",amount:n.args[1].args[1].int,contract:md(Zse(r.args[1].bytes)),recipient:dd(Zse(o)),sender:dd(Zse(i)),tokenId:"0"}}},{schema:qse,parsingFn:(e,t)=>{const r=qse.parse(e);return{type:"delegation",sender:t.address,recipient:gd(Zse(r[0].args[1].bytes))}}},{schema:Kse,parsingFn:(e,t)=>({type:"undelegation",sender:t.address})}],Jse=(e,t,r=[])=>{if(0===e.length)return r;for(let n=0;n((e=>{Fse.parse(e.slice(0,2))})(e),Jse(e.slice(2),t)),ece=(e,t)=>{const r=JSON.parse(e);return Qse(r,t)},tce=({rawActions:e,sender:t})=>{try{const r=ece(e,t);return(0,Yn.jsx)(Qn,{children:r.map(((e,t)=>(0,Yn.jsx)(Cse,{operation:e},t)))})}catch(Zue){return Zue instanceof Yse?(0,Yn.jsx)(rce,{unrecoginizedRawActions:e}):(0,Yn.jsxs)(Qn,{children:["Invalid michelson code: ",Zue.message]})}},rce=({unrecoginizedRawActions:e})=>(0,Yn.jsx)(pJ,{width:"70%",marginBottom:2,allowMultiple:!0,children:(0,Yn.jsxs)(mJ,{marginBottom:"2",background:"umami.gray.800",border:"none",borderRadius:"8px",children:[(0,Yn.jsx)("h2",{children:(0,Yn.jsxs)(gJ,{children:[(0,Yn.jsx)(Qn,{as:"span",flex:"1",paddingLeft:1,textAlign:"left",children:"Unrecognized operation"}),(0,Yn.jsx)(vJ,{})]})}),(0,Yn.jsx)(_J,{overflowY:"scroll",height:"400px",paddingBottom:3,children:(0,Yn.jsx)(y0,{space:1,value:JSON.parse(e)})})]})});function nce(e){return b5({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M13 6H11V7C11 7.55228 11.4477 8 12 8C12.5523 8 13 7.55228 13 7V6Z",fill:"currentColor"}},{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M6 2V4H7V7C7 9.76142 9.23858 12 12 12C9.23858 12 7 14.2386 7 17V20H6V22H18V20H17V17C17 14.2386 14.7614 12 12 12C14.7614 12 17 9.76142 17 7V4H18V2H6ZM9 4H15V7C15 8.65685 13.6569 10 12 10C10.3431 10 9 8.65685 9 7V4ZM9 17V20H15V17C15 15.3431 13.6569 14 12 14C10.3431 14 9 15.3431 9 17Z",fill:"currentColor"}}]})(e)}const ice=({icon:e,onClick:t=(()=>{}),label:r,iconWidth:n=4,iconHeight:i=4,textMargin:o="4px",iconColor:a,textFirst:s,...c})=>{const l=(0,Yn.jsx)(LF,{as:e,width:n,height:i,color:a}),u=s?{mr:o}:{ml:o},d=(0,Yn.jsx)(NX,{...u,fontSize:"sm",children:r});return(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",color:"text.dark",_hover:{color:E$.gray[300]},cursor:"pointer",onClick:t,role:"button",...c,children:[s?d:null,l,s?null:d]})},oce=({onClickApproveExecute:e,isLoading:t=!1,signerState:r})=>{switch(r){case"awaitingApprovalByExternalSigner":return(0,Yn.jsx)(ice,{"data-testid":"multisig-signer-awaiting-approval",icon:nce,iconColor:E$.orange,iconHeight:5,iconWidth:5,label:"Awaiting Approval"});case"approved":return(0,Yn.jsx)(ice,{"data-testid":"multisig-signer-approved",icon:Zte,iconColor:E$.greenL,iconHeight:5,iconWidth:5,label:"Approved"});case"executable":return(0,Yn.jsx)(_i,{"data-testid":"multisig-signer-button",isLoading:t,onClick:e,children:"Execute"});case"approvable":return(0,Yn.jsx)(_i,{"data-testid":"multisig-signer-button",isLoading:t,onClick:e,children:"Approve"})}},ace=({signer:e,fee:r,operation:n,actionType:i,transactionCount:o})=>{const{handleAsyncAction:a}=Yee(),{openWith:s}=(0,t.useContext)(kW),c=`${(0,iE.capitalize)(i)} transaction`;return(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(Gne,{fee:r,signerAddress:e.address,title:c,transactionCount:o}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{onSubmit:e=>a((async()=>{const{opHash:t}=await QE(n,e);s((0,Yn.jsx)(ote,{hash:t}))}),{title:`Failed ${i}`}),signer:e,text:c})})]})})},sce=({pendingApprovals:e,sender:r,operation:n,signerAddress:i})=>{const o=I3(i),a=P3(),{isLoading:s,handleAsyncAction:c}=Yee(),{openWith:l}=(0,t.useContext)(kW),u=i3(),d=a(i.pkh),h=0===e,f=cce({approvals:n.approvals,signerAddress:i,operationIsExecutable:h,signerAccount:d});return(0,Yn.jsx)(Bie,{icon:(0,Yn.jsx)(Die,{addressKind:o}),leftElement:(0,Yn.jsx)(zie,{label:o.label,pkh:o.pkh}),rightElement:(0,Yn.jsx)(oce,{isLoading:s,onClickApproveExecute:()=>c((async()=>{if(!d)throw new Error("Can't approve or execute with an account you don't own");const e=h?"execute":"approve",t=Ire(d,d,[hE(r.address,e,n.id)]),i=await kE(t,u),o=ece(n.rawActions,r).length;l((0,Yn.jsx)(ace,{actionType:e,fee:i,operation:t,signer:d,transactionCount:o}))})),signerState:f})})},cce=({signerAccount:e,operationIsExecutable:t,approvals:r,signerAddress:n})=>{const i=!!r.find((e=>e.pkh===n.pkh));return e?i&&!t?"approved":t?"executable":"approvable":i?"approved":"awaitingApprovalByExternalSigner"},lce=({operation:e,sender:t})=>{const{signers:r,threshold:n}=t,i=Math.max(n-e.approvals.length,0);return(0,Yn.jsx)(Qn,{padding:3,paddingBottom:0,background:E$.gray[800],borderRadius:6,"data-testid":"multisig-pending-operation-"+e.id,marginY:3,children:(0,Yn.jsxs)(mJ,{border:"none",borderRadius:"8px",children:[(0,Yn.jsx)("h2",{children:(0,Yn.jsxs)(gJ,{flex:"1",marginBottom:0,paddingBottom:0,textAlign:"left",children:[(0,Yn.jsxs)(li,{width:"100%",size:"sm",children:["Pending #",e.id]}),(0,Yn.jsx)(vJ,{})]})}),(0,Yn.jsxs)(_J,{children:[(0,Yn.jsxs)(Zn,{alignItems:"end",justifyContent:"space-between",marginY:2,children:[(0,Yn.jsx)(tce,{rawActions:e.rawActions,sender:t}),(0,Yn.jsxs)(Zn,{alignItems:"center",marginBottom:"6",children:[(0,Yn.jsx)(li,{marginRight:1,color:E$.gray[400],size:"sm",children:"Pending Approvals:"}),(0,Yn.jsx)(NX,{color:"w","data-testid":"pending-approvals-count",children:i})]})]}),(0,Yn.jsx)(Qn,{marginY:5,children:r.map((r=>(0,Yn.jsx)(sce,{operation:e,pendingApprovals:i,sender:t,signerAddress:r},r.pkh)))})]})]})})},uce=({account:e})=>{const t=(()=>{const e=r3((e=>e.multisigs.pendingOperations));return t=>{var r;return[...null!==(r=e[t.pendingOperationsBigmapId])&&void 0!==r?r:[]].sort(((e,t)=>Number(t.id)-Number(e.id)))}})(),r=t(e);return 0===r.length?(0,Yn.jsx)(yse,{small:!0,title:"No multisig pending operations"}):(0,Yn.jsx)(Qn,{width:"100%",children:(0,Yn.jsx)(pJ,{allowMultiple:!0,defaultIndex:(0,iE.range)(r.length),children:r.map((t=>(0,Yn.jsx)(lce,{operation:t,sender:e},t.id)))})})},dce=({to:e})=>(0,Yn.jsx)(Xn,{children:(0,Yn.jsxs)(ki,{as:vV,color:E$.gray[300],stroke:E$.gray[450],_hover:{color:E$.green,stroke:E$.green},to:e,children:[(0,Yn.jsx)(T5,{display:"inline",stroke:"inherit"}),(0,Yn.jsx)(NX,{display:"inline",size:"sm",children:"\xa0View All"})]})}),hce=({owner:e,nfts:t,...r})=>{if(0===t.length)return(0,Yn.jsx)(bse,{small:!0});const n=qne(t).slice(0,18);return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(Joe,{marginBottom:"35px",spacing:"12px",...r,children:n.map((t=>{const r=Vne(SP(t)),n=Vne(t.displayUri);return(0,Yn.jsx)(vV,{"data-testid":"nft-link",to:`/home/${e}/${fP(t)}`,children:(0,Yn.jsx)(g0,{background:E$.gray[800],children:(0,Yn.jsxs)(v0,{padding:"8px",children:[(0,Yn.jsx)(UX,{width:"100%",ratio:1,children:(0,Yn.jsx)(HX,{width:"100%",height:40,fallbackSrc:n,src:r})}),Number(t.balance)>1&&(0,Yn.jsx)(NX,{position:"absolute",display:"inline",height:"20px",marginTop:"-24px",marginLeft:"4px",padding:"0 8px",borderRadius:"100px",backgroundColor:"rgba(33, 33, 33, 0.75)","data-testid":"nft-owned-count",size:"xs",children:"x"+t.balance})]})})},`${e}:${fP(t)}`)}))}),(0,Yn.jsx)(dce,{to:`/nfts?accounts=${e}`})]})},fce=t.createContext({mode:"page"}),pce=["bakerFee","storageFee","allocationFee"],mce=({operation:e})=>{const r=(0,t.useContext)(fce),n=j3(e.sender.address);if("drawer"===r.mode)return null;if(!n)return null;const i=pce.reduce(((t,r)=>r in e?t.plus((0,iE.get)(e,r)||0):t),Is(0));return i.eq(0)?null:(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"md",children:"Fee:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"fee",children:d3(i)})]})},gce=({level:e,status:t})=>{const r=f3(e);return void 0===t||"applied"===t?r?(0,Yn.jsx)(z2,{"data-testid":"checkmark"}):(0,Yn.jsx)(d5,{"data-testid":"hourglass"}):(0,Yn.jsx)(q2,{"data-testid":"crossed-circle"})},vce=({children:e})=>"drawer"===(0,t.useContext)(fce).mode?null:(0,Yn.jsx)(NX,{marginRight:"4px",color:E$.gray[300],"data-testid":"operation-type",size:"sm",children:e});function yce(e,t){var r=e.getFullYear()-t.getFullYear()||e.getMonth()-t.getMonth()||e.getDate()-t.getDate()||e.getHours()-t.getHours()||e.getMinutes()-t.getMinutes()||e.getSeconds()-t.getSeconds()||e.getMilliseconds()-t.getMilliseconds();return r<0?-1:r>0?1:r}const bce=({timestamp:e})=>e?(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"timestamp",size:"sm",children:wce(e)}):null,wce=e=>{const t=new Date,r=new Date(e);return function(e,t){Xre(2,arguments);var r=Jre(e),n=Jre(t),i=yce(r,n),o=Math.abs(Mae(r,n));r.setDate(r.getDate()-i*o);var a=i*(o-Number(yce(r,n)===-i));return 0===a?0:a}(t,r)<2?kne(r,t,{addSuffix:!0}):gse(r,"dd MMM yyyy")},xce=({hash:e,counter:t,transactionId:r,originationId:n,migrationId:i,children:o,...a})=>{const{tzktExplorerUrl:s}=i3();let c=s;return e?c=(0,iE.compact)([s,e,t]).join("/"):i?c=`${c}/migrations/${i}`:n?c=`${c}/originations/${n}`:r?c=`${c}/transactions/${r}`:console.warn("No id provided to TzktLink"),(0,Yn.jsx)(ki,{"data-testid":"tzkt-link",href:c,isExternal:!0,...a,children:o})},_ce=e=>{const r=(0,t.useContext)(fce);return!!e&&("page"===r.mode||r.selectedAddress.pkh!==e)},Sce=({operation:e})=>{var t;const r=_ce(e.target.address),n=_ce(e.sender.address),i=!r&&!n;return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-contract-call",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(V2,{marginRight:"8px"}),(0,Yn.jsx)(xce,{marginRight:"8px",counter:e.counter,"data-testid":"title",hash:e.hash,children:(0,Yn.jsxs)(li,{size:"md",children:["Contract Call: ",null===(t=e.parameter)||void 0===t?void 0:t.entrypoint]})}),(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:e.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsxs)(Zn,{children:[r&&(0,Yn.jsxs)(Zn,{marginRight:"15px","data-testid":"to",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:e.target})]}),(n||i)&&(0,Yn.jsxs)(Zn,{"data-testid":"from",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:e.sender})]})]}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:"Contract Call"}),(0,Yn.jsx)(gce,{...e})]})]})})]})},kce=({operation:e})=>{const t=!!e.newDelegate,r=t?"Delegate":"Delegation Ended",n=_ce(e.sender.address);return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-delegation",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(D2,{marginRight:"8px"}),(0,Yn.jsx)(xce,{marginRight:"8px",counter:e.counter,"data-testid":"title",hash:e.hash,children:(0,Yn.jsx)(li,{size:"md",children:r})}),(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:e.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsxs)(Zn,{children:[t&&(0,Yn.jsxs)(Zn,{marginRight:"15px","data-testid":"to",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:e.newDelegate})]}),n&&(0,Yn.jsxs)(Zn,{"data-testid":"from",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:e.sender})]}),!t&&!n&&(0,Yn.jsx)(NX,{color:E$.gray[450],children:"N/A"})]}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:r}),(0,Yn.jsx)(gce,{...e})]})]})})]})},Ece=({operation:e})=>{var t;const r=(null===(t=e.originatedContract)||void 0===t?void 0:t.codeHash)===jte&&e.originatedContract.typeHash===Tte?"Multisig Account Created":"Contract Origination",n=_ce(e.sender.address);return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-origination",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(V2,{marginRight:"8px"}),(0,Yn.jsx)(xce,{marginRight:"8px",counter:e.counter,"data-testid":"title",hash:e.hash,children:(0,Yn.jsx)(li,{size:"md",children:r})}),(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:e.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsx)(Zn,{"data-testid":"from",children:n?(0,Yn.jsxs)(Zn,{marginRight:"15px",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:e.sender})]}):(0,Yn.jsx)(NX,{color:E$.gray[450],children:"N/A"})}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:"Contract Origination"}),(0,Yn.jsx)(gce,{...e})]})]})})]})},Pce=({isOutgoing:e,...t})=>e?(0,Yn.jsx)(P5,{"data-testid":"outgoing-arrow",...t}):(0,Yn.jsx)(h5,{"data-testid":"incoming-arrow",...t}),Oce=({operation:e,tokenTransfer:t,token:r})=>{var n,i;const o=t.amount,a=_ce(t.to.address),s=_ce((null===(n=t.from)||void 0===n?void 0:n.address)||""),c=!a&&!s,l=j3((null===(i=t.from)||void 0===i?void 0:i.address)||""),u="nft"===r.type,d=xP(o,r,{showSymbol:!0}),h=l?E$.orange:E$.green,f=u?"white":h,p=l?"-":"+",m=u?(0,Yn.jsx)(R2,{padding:"8px",background:E$.gray[700],border:"1px solid",borderColor:E$.gray[500],borderRadius:"8px","data-testid":"nft-tooltip",label:(0,Yn.jsx)(UX,{width:"170px",height:"170px",ratio:1,children:(0,Yn.jsx)(HX,{src:Vne(SP(r))})}),children:(0,Yn.jsx)(Zn,{children:(0,Yn.jsxs)(xce,{marginRight:"8px",color:f,"data-testid":"title",migrationId:t.migrationId,originationId:t.originationId,transactionId:t.transactionId,children:[(0,Yn.jsxs)(NX,{display:"inline",color:h,fontWeight:"600",children:[p,d]}),(0,Yn.jsxs)(NX,{display:"inline",fontWeight:"600",children:[" ",pP(r)]})]})})}):(0,Yn.jsx)(xce,{marginRight:"8px",color:f,"data-testid":"title",migrationId:t.migrationId,originationId:t.originationId,transactionId:t.transactionId,children:(0,Yn.jsxs)(NX,{display:"inline",color:h,fontWeight:"600",children:[p,d]})});return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-token-transfer",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(Pce,{marginRight:"8px",isOutgoing:l}),m,e&&(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:t.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsxs)(Zn,{children:[(a||c)&&(0,Yn.jsxs)(Zn,{marginRight:"15px","data-testid":"to",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:t.to})]}),s&&(0,Yn.jsxs)(Zn,{"data-testid":"from",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:t.from})]})]}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:"Token Transfer"}),(0,Yn.jsx)(gce,{level:t.level})]})]})})]})},Ace=({operation:e})=>{const t=j3(e.sender.address),r=d3(String(e.amount)),n=_ce(e.target.address),i=_ce(e.sender.address),o=!n&&!i,a=t?E$.orange:E$.green,s=t?"-":"+";return(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"100%","data-testid":"operation-tile-transaction",children:[(0,Yn.jsxs)(Zn,{justifyContent:"space-between",marginBottom:"10px",children:[(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(Pce,{marginRight:"8px",isOutgoing:t}),(0,Yn.jsx)(xce,{marginRight:"8px",color:a,counter:e.counter,"data-testid":"title",hash:e.hash,children:(0,Yn.jsxs)(NX,{color:a,fontWeight:"600",children:[s," ",r]})}),(0,Yn.jsx)(mce,{operation:e})]}),(0,Yn.jsx)(Zn,{alignSelf:"flex-end",children:(0,Yn.jsx)(bce,{timestamp:e.timestamp})})]}),(0,Yn.jsx)(Qn,{children:(0,Yn.jsxs)(Zn,{justifyContent:"space-between",children:[(0,Yn.jsxs)(Zn,{children:[(n||o)&&(0,Yn.jsxs)(Zn,{marginRight:"15px","data-testid":"to",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"To:"}),(0,Yn.jsx)($ne,{address:dd(e.target.address)})]}),i&&(0,Yn.jsxs)(Zn,{"data-testid":"from",children:[(0,Yn.jsx)(NX,{marginRight:"6px",color:E$.gray[450],children:"From:"}),(0,Yn.jsx)($ne,{address:dd(e.sender.address)})]})]}),(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(vce,{children:"Transaction"}),(0,Yn.jsx)(gce,{...e})]})]})})]})},Tce=({operation:e})=>{const t=(()=>{const e=r3((e=>e.assets.transfers.tokens));return t=>e[t]})();switch(e.type){case"token_transfer":{const t=hP(e.token);return t?(0,Yn.jsx)(Oce,{token:t,tokenTransfer:e}):(console.warn(`Could not parse token transfer ${e.id}`),null)}case"transaction":{const r=!!e.parameter,n=t(e.id);if(n){const t=hP(n.token);return t?(0,Yn.jsx)(Oce,{operation:e,token:t,tokenTransfer:n}):(0,Yn.jsx)(Ace,{operation:e})}return r?(0,Yn.jsx)(Sce,{operation:e}):(0,Yn.jsx)(Ace,{operation:e})}case"delegation":return(0,Yn.jsx)(kce,{operation:e});case"origination":return(0,Yn.jsx)(Ece,{operation:e})}},jce=({owner:e,operations:t})=>{if(0===t.length)return(0,Yn.jsx)(wse,{small:!0});const r=t.slice(0,20);return(0,Yn.jsxs)(Yn.Fragment,{children:[r.map(((e,t)=>(0,Yn.jsxs)(Qn,{height:"90px",children:[(0,Yn.jsx)(Tce,{operation:e}),t{const r=Cce.includes(e.contract);return(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(NX,{...t,marginRight:"4px",children:pP(e)}),r&&(0,Yn.jsx)(H5,{})]})},Ice=({token:e})=>{const t=xP(e.balance,e,{showSymbol:!1});return(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-around",height:20,borderBottom:`1px solid ${E$.gray[800]}`,"data-testid":"token-tile",children:[(0,Yn.jsxs)(Zn,{alignItems:"center",flex:1,children:[(0,Yn.jsx)(B5,{width:"38px",background:E$.gray[500],borderRadius:"4px",contract:e.contract}),(0,Yn.jsx)(Qn,{marginLeft:"16px",children:(0,Yn.jsx)(Rce,{fontWeight:600,"data-testid":"token-name",token:e})})]}),(0,Yn.jsx)(li,{"data-testid":"token-balance",size:"lg",children:t})]})},Mce=({tokens:e})=>0===e.length?(0,Yn.jsx)(yse,{small:!0,title:"No Tokens found"}):(0,Yn.jsx)(Qn,{children:e.map((e=>(0,Yn.jsx)(Ice,{token:e},e.contract+("fa2"===e.type?e.tokenId:""))))}),Lce=(e,t)=>`${e.tzktExplorerUrl}/${t}`,Nce=e=>{const r=i3(),[n,i]=(0,t.useState)([]),[o,a]=(0,t.useState)(!0),[s,c]=(0,t.useState)(!0),{isLoading:l,handleAsyncAction:u}=Yee(),[d,h]=(0,t.useState)(e),f=t3(),[p,m]=(0,t.useState)(0);(0,t.useEffect)((()=>{const e=setInterval((()=>{u((async()=>{var e;const t=null===(e=n[0])||void 0===e?void 0:e.id,o=await Dce(f,r,d,{lastId:t,sort:"asc"});i((e=>(0,iE.uniqBy)([...o.reverse(),...e],(e=>e.id))))}))}),15e3);return()=>clearInterval(e)}),[p]);const g=d.join(",");(0,t.useEffect)((()=>{i([]),a(!0),u((async()=>{const e=await Dce(f,r,g.split(","));i(e),a(e.length>0),m((e=>e+1))})).finally((()=>{c(!1)}))}),[r,g,f]);return{operations:Bce(n),isFirstLoad:s,isLoading:l,hasMore:o,loadMore:async()=>{var e;const t=null===(e=n[n.length-1])||void 0===e?void 0:e.id;if(t)return u((async()=>{const e=await Dce(f,r,d,{lastId:t});a(e.length>0),i((t=>[...t,...e]))}))},setAddresses:h}},Dce=async(e,t,r,n)=>{const i=await(async(e,t,r)=>{var n;const i=(null===r||void 0===r?void 0:r.limit)||100,o=null!==(n=null===r||void 0===r?void 0:r.sort)&&void 0!==n?n:"desc",a={limit:i,offset:null!==r&&void 0!==r&&r.lastId?{cr:r.lastId}:void 0,sort:{[o]:"id"}},s=await Promise.all([GE(e,t,a),WE(e,t,a),YE(e,t,a),ZE(e,t,a)]);return(0,iE.sortBy)(s.flat(),(e=>"asc"===o?e.id:-e.id)).slice(0,i)})(r,t,n),o=i.filter((e=>"transaction"===e.type)).map((e=>e.id)),a=await(async(e,t)=>0===e.length?[]:VE((()=>UE({transactionId:{in:[e.join(",")]}},{baseUrl:t.tzktApiUrl}))))(o,t),s=[...a,...i.filter((e=>"token_transfer"===e.type))];return e(DP.updateTokenTransfers(s)),e(aO.addTokens({network:t,tokens:s.map((e=>e.token))})),i},Bce=e=>{const t=[];for(let r=0;r{i(l)}))}),id:kae(a,l),role:"tab",tabIndex:d?0:-1,type:"button","aria-selected":d,"aria-controls":Eae(a,l),onFocus:t?void 0:ue(e.onFocus,(()=>{s(l),!o&&(!t||!r)&&i(l)}))}}({...e,ref:t}),i={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return(0,Yn.jsx)(Gn.button,{...n,className:ne("chakra-tabs__tab",e.className),__css:i})}));zce.displayName="Tab";const Uce=({children:e,...t})=>(0,Yn.jsx)(zce,{...t,fontSize:"sm",paddingX:3,children:e}),Fce=({tokens:e,nfts:t,account:r,delegation:n})=>{const i="multisig"===r.type,o=i3(),{operations:a,isFirstLoad:s}=Nce([r.address.pkh]);return(0,Yn.jsxs)(Aae,{flexDirection:"column",display:"flex",width:"100%",height:"100%",marginTop:"60px","data-testid":"asset-panel",children:[(0,Yn.jsxs)(Tae,{justifyContent:"space-between","data-testid":"asset-panel-tablist",children:[(0,Yn.jsxs)(Zn,{children:[i&&(0,Yn.jsx)(Uce,{"data-testid":"account-card-pending-tab",children:"Pending"}),(0,Yn.jsx)(Uce,{children:"Operations"}),(0,Yn.jsx)(Uce,{children:"Delegation"}),(0,Yn.jsx)(Uce,{children:"NFTs"}),(0,Yn.jsx)(Uce,{children:"Tokens"})]}),(0,Yn.jsx)(sie,{href:Lce(o,r.address.pkh),children:(0,Yn.jsxs)(_i,{paddingRight:0,variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{marginRight:"7px",size:"sm",children:"View on Tzkt"}),(0,Yn.jsx)(Q2,{stroke:"currentcolor"})]})})]}),(0,Yn.jsxs)(jae,{height:"100%",children:[i&&(0,Yn.jsx)(Cae,{paddingTop:"24px","data-testid":"account-card-pending-tab-panel",children:(0,Yn.jsx)(uce,{account:r})}),(0,Yn.jsx)(Cae,{paddingTop:"24px",paddingBottom:"25px","data-testid":"account-card-operations-tab",children:(0,Yn.jsx)(fce.Provider,{value:{mode:"drawer",selectedAddress:r.address},children:s?(0,Yn.jsx)(NX,{color:E$.gray[500],textAlign:"center",children:"Loading..."}):(0,Yn.jsx)(jce,{operations:a,owner:r.address.pkh})})}),(0,Yn.jsx)(Cae,{paddingTop:"24px","data-testid":"account-card-delegation-tab",children:(0,Yn.jsx)(Tse,{account:r,delegation:n})}),(0,Yn.jsx)(Cae,{overflow:"hidden",height:"100%",paddingTop:"24px","data-testid":"account-card-nfts-tab",children:(0,Yn.jsx)(hce,{columns:3,nfts:t,owner:r.address.pkh})}),(0,Yn.jsx)(Cae,{paddingTop:"24px","data-testid":"account-card-tokens-tab",children:(0,Yn.jsx)(Mce,{tokens:e})})]})]})};var $ce=re((function(e,r){const{spacing:n="0.5rem",spacingX:i,spacingY:o,children:a,justify:s,direction:c,align:l,className:u,shouldWrapChildren:d,...h}=e,f=(0,t.useMemo)((()=>d?t.Children.map(a,((e,t)=>(0,Yn.jsx)(Hce,{children:e},t))):a),[a,d]);return(0,Yn.jsx)(Gn.div,{ref:r,className:ne("chakra-wrap",u),...h,children:(0,Yn.jsx)(Gn.ul,{className:"chakra-wrap__list",__css:{display:"flex",flexWrap:"wrap",justifyContent:s,alignItems:l,flexDirection:c,listStyleType:"none",gap:n,columnGap:i,rowGap:o,padding:"0"},children:f})})}));$ce.displayName="Wrap";var Hce=re((function(e,t){const{className:r,...n}=e;return(0,Yn.jsx)(Gn.li,{ref:t,__css:{display:"flex",alignItems:"flex-start"},className:ne("chakra-wrap__listitem",r),...n})}));Hce.displayName="WrapItem";const Vce=({signers:e})=>(0,Yn.jsx)(Qn,{width:"100%",marginTop:"60px",padding:"15px",background:E$.gray[800],borderRadius:"8px",children:(0,Yn.jsx)(pJ,{allowToggle:!0,defaultIndex:0,children:(0,Yn.jsxs)(mJ,{background:E$.gray[800],border:"none",borderRadius:"8px",children:[(0,Yn.jsx)("h2",{children:(0,Yn.jsxs)(gJ,{as:"span",flex:"1",textAlign:"left",children:[(0,Yn.jsx)(li,{width:"100%",size:"sm",children:"Approvers"}),(0,Yn.jsx)(vJ,{cursor:"pointer"})]})}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)($ce,{marginTop:"3","data-testid":"multisig-tag-section",children:e.map((e=>(0,Yn.jsx)(Hce,{padding:"3px 8px",borderRadius:"100px",children:(0,Yn.jsx)($ne,{address:e})},e.pkh)))})})]})})}),qce=({account:e})=>{const r=t3(),{onClose:n}=(0,t.useContext)(kW),i=({name:t})=>{r(((e,t)=>(r,n)=>{const{accounts:i,multisigs:o,contacts:a}=n(),s="multisig"===e.type,c=i.items.map((e=>e.label));[c,o.items.map((e=>e.label)),Object.values(a).map((e=>e.name))].flat().includes(t)||r(s?QP.actions.setName({newName:t,account:e}):sP.actions.renameAccount({newName:t,account:e}))})(e,t)),n()},{handleSubmit:o,formState:{isValid:a,errors:s},register:c,reset:l}=h0({mode:"onBlur",defaultValues:{name:e.label}}),u=O3(),{nameExistsInContacts:d}=S3();return(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:o((({name:e})=>{i({name:e.trim()}),l()})),children:[(0,Yn.jsx)(ute,{subTitle:"Edit your account name here.",title:"Edit Name"}),(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(BX,{children:(0,Yn.jsxs)(OJ,{isInvalid:!!s.name,marginY:"20px",children:[(0,Yn.jsx)(b0,{children:"Account name"}),(0,Yn.jsx)(O0,{type:"text",...c("name",{required:"Name is required",validate:e=>u.map((e=>e.label)).includes(e)?"Name already used in accounts":!d(e.trim())||"Name already registered in address book"}),placeholder:"Enter contact's name"}),s.name&&(0,Yn.jsx)(CJ,{"data-testid":"name-error",children:s.name.message})]})}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:"8px",isDisabled:!a,size:"lg",type:"submit",children:"Save"})})]})})},Kce=({account:e})=>{const{openWith:r,onClose:n}=(0,t.useContext)(kW),i=t3(),o=VH(),a=1===E3().length;let s;switch(e.type){case"secret_key":s=Hie;break;case"ledger":case"social":s=sP.actions.removeAccount(e)}let c="Are you sure you want to remove this account?",l="Remove Account";a&&(c="Removing your last account will off-board you from Umami. This will remove or reset all customised settings to their defaults. Personal data (including saved contacts, password and accounts) won't be affected.",l="Remove & Off-board");const u=s?()=>{r((0,Yn.jsx)(Wne,{buttonLabel:l,description:c,onSubmit:()=>{i(s(e)),n(),o("/")},title:"Remove Account"}))}:void 0;return(0,Yn.jsx)(jre,{onRemove:u,onRename:()=>r((0,Yn.jsx)(qce,{account:e}))})},Wce=e=>(0,Yn.jsxs)(Qn,{textAlign:e.center?"center":"initial",children:[(0,Yn.jsx)(li,{size:"md",children:d3(e.balance)}),null!==e.dollarBalance&&(0,Yn.jsxs)(NX,{marginTop:"6px",color:E$.gray[400],size:"sm",children:["$",e.dollarBalance.toFixed(2)]})]}),Gce=({icon:e,label:t,onClick:r=(()=>{})})=>(0,Yn.jsxs)(Qn,{color:E$.gray[300],textAlign:"center",_hover:{color:E$.green},cursor:"pointer",marginX:"24px",onClick:r,children:[(0,Yn.jsx)(Z3,{marginBottom:"8px","aria-label":"button",icon:e,size:"lg",variant:"circle_without_color"}),(0,Yn.jsx)(NX,{cursor:"pointer",size:"sm",children:t})]}),Yce=({onSend:e,onReceive:r=(()=>{}),balance:n,dollarBalance:i,tokens:o,nfts:a,account:s})=>{const c="multisig"===s.type,{openWith:l}=(0,t.useContext)(kW),u=I3(s.address),d=i3(),[h,f]=(0,t.useState)(null),{handleAsyncAction:p}=Yee();return(0,t.useEffect)((()=>{p((async()=>{const e=await((e,t)=>WE([e],t,{limit:1,sort:{desc:"id"}}).then(iE.first))(s.address.pkh,d);e&&f((e=>{var t,r,n;const i=null===(t=e.sender)||void 0===t?void 0:t.address,o=null===(r=e.newDelegate)||void 0===r?void 0:r.address,a=e.timestamp,s=e.id,c=e.amount;return null==i||null==o||null==a||null==s||null==c?null:{sender:i,timestamp:a,id:s,amount:new Is(c),delegate:{address:o,alias:(null===(n=e.newDelegate)||void 0===n?void 0:n.alias)||void 0}}})(e))}))}),[s.address.pkh,d]),(0,Yn.jsxs)(Zn,{alignItems:"center",flexDirection:"column","data-testid":`account-card-${s.address.pkh}`,children:[(0,Yn.jsx)(Die,{addressKind:u}),(0,Yn.jsx)(li,{marginTop:"24px",size:"md",children:s.label}),(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"8px",marginBottom:"30px",children:[(0,Yn.jsx)($ne,{marginRight:"4px",address:s.address,mode:{type:"no_icons"}}),(0,Yn.jsx)(Kce,{account:s})]}),n&&(0,Yn.jsx)(Wce,{balance:n,center:!0,dollarBalance:i}),(0,Yn.jsxs)(Xn,{marginTop:"34px",children:[(0,Yn.jsx)(Gce,{icon:(0,Yn.jsx)(P5,{width:"24px",height:"24px",stroke:"currentcolor"}),label:"Send",onClick:e}),(0,Yn.jsx)(Gce,{icon:(0,Yn.jsx)(h5,{width:"24px",height:"24px",stroke:"currentcolor"}),label:"Receive",onClick:r}),!c&&(0,Yn.jsx)(Gce,{icon:(0,Yn.jsx)(A5,{stroke:"currentcolor"}),label:"Buy tez",onClick:()=>{l((0,Yn.jsx)(Ene,{recipient:s.address.pkh}))}}),(0,Yn.jsx)(Gce,{icon:(0,Yn.jsx)(D2,{width:"24px",height:"24px",stroke:"currentcolor"}),label:"Delegate",onClick:()=>{l((0,Yn.jsx)(Sse,{form:h?{baker:h.delegate.address,sender:s.address.pkh}:void 0,sender:s}))}})]}),c&&(0,Yn.jsx)(Vce,{signers:s.signers}),(0,Yn.jsx)(Fce,{account:s,delegation:h,nfts:a,tokens:o})]})};var Zce=r(7003);const Xce=({pkh:e})=>{const t=A3()(e);return(0,Yn.jsxs)(IX,{children:[(0,Yn.jsx)(ute,{subTitle:"You can receive tez or other digital assets by scanning or sharing this QR code",title:"Receive"}),(0,Yn.jsx)(BX,{children:(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"space-between",flexDirection:"column",children:(0,Yn.jsx)(Qn,{padding:"8px",background:"white",borderRadius:"8px",children:(0,Yn.jsx)(Zce.QRCode,{size:232,value:e})})})}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsxs)(Qn,{width:"100%",children:[t&&(0,Yn.jsx)(li,{textAlign:"center",marginY:2,children:t.label}),(0,Yn.jsx)(Zn,{justifyContent:"center",width:"100%",children:(0,Yn.jsx)($ne,{address:dd(e),mode:{type:"no_icons"}})})]})})]})},Jce=({account:e})=>{const r=w3(),n=(()=>{const e=y3(),t=w3();return r=>{const n=t(r);if(null==n)return null;const i=u3(n);return e(i)}})(),i=g3(),o=v3(),{openWith:a}=(0,t.useContext)(kW),s=r(e.address.pkh),c=n(e.address.pkh),l=i(e.address.pkh),u=qne(o(e.address.pkh));return(0,Yn.jsx)(Yce,{account:e,balance:s,dollarBalance:c,nfts:u,onReceive:()=>{a((0,Yn.jsx)(Xce,{pkh:e.address.pkh}))},onSend:()=>a((0,Yn.jsx)(Kre,{sender:e})),tokens:l})};var Qce=r(7294);const ele=({nft:e,style:t})=>{const r=e.metadata.attributes;return r&&0!==r.length?(0,Yn.jsxs)(mJ,{background:E$.gray[800],"data-testid":"attributes-section",style:t,children:[(0,Yn.jsxs)(gJ,{paddingY:"16px",children:[(0,Yn.jsx)(li,{flex:"1",textAlign:"left",size:"md",children:"Attributes"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)($ce,{marginLeft:"0",spacing:"10px",children:r.map((e=>(0,Yn.jsx)(Hce,{flex:"1","data-testid":"nft-attribute",children:(0,Yn.jsx)(g0,{width:"160px",height:"128px",marginBottom:"2px",background:E$.gray[700],children:(0,Yn.jsxs)(v0,{padding:"16px",children:[(0,Yn.jsx)(NX,{color:E$.gray[400],size:"sm",children:e.name}),(0,Yn.jsx)(li,{size:"md",children:e.value})]})})},e.name)))})})]}):null},tle=({text:e,maxLength:t})=>e.length<=t?(0,Yn.jsx)(NX,{"data-testid":"truncated-text",children:e}):(0,Yn.jsx)(R2,{label:e,children:(0,Yn.jsx)(NX,{"data-testid":"truncated-text",children:c3(e,t)})}),rle=({url:e,...t})=>(0,Yn.jsx)("a",{"data-testid":"tzkt-link",href:e,rel:"noopener noreferrer",target:"_blank",children:(0,Yn.jsx)(ite,{...t})}),nle=({nft:e})=>{if(!e.metadata.creators||0===e.metadata.creators.length)return(0,Yn.jsx)(Yn.Fragment,{children:"-"});const t=e.metadata.creators[0];return t.startsWith("tz")?(0,Yn.jsx)($ne,{marginRight:1,address:dd(t)}):(0,Yn.jsx)(tle,{maxLength:15,text:t})},ile=({nft:e,style:t})=>{const r=(e=>{const t=e.metadata.royalties;if(!t)return[];const r=Math.pow(10,Number(t.decimals)),n=Object.entries(t.shares).map((([e,t])=>({address:e,share:100*Number(t)/r})));return n.sort(((e,t)=>e.sharee+t.share),0).toFixed(2),i=i3();return(0,Yn.jsxs)(mJ,{background:E$.gray[800],style:t,children:[(0,Yn.jsxs)(gJ,{paddingY:"16px",children:[(0,Yn.jsx)(li,{flex:"1",textAlign:"left",size:"md",children:"Properties"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)(Fte,{children:(0,Yn.jsx)(Vte,{variant:"stripped",children:(0,Yn.jsxs)(qte,{fontSize:"14px",children:[(0,Yn.jsxs)(Kte,{background:E$.gray[900],borderColor:E$.gray[700],borderBottomWidth:"1px",borderRadius:"8px",children:[(0,Yn.jsx)(Wte,{width:"20%",padding:"16px 0 16px 15px",paddingRight:"0",color:E$.gray[400],borderTopLeftRadius:"8px","data-testid":"nft-editions",children:"Editions:"}),(0,Yn.jsx)(Wte,{width:"30%",padding:"16px 0 16px 5px",borderColor:E$.gray[700],borderRightWidth:"1px","data-testid":"nft-editions-value",children:e.totalSupply||"?"}),(0,Yn.jsx)(Wte,{width:"20%",padding:"16px 0 16px 15px",color:E$.gray[400],children:"Token ID:"}),(0,Yn.jsx)(Wte,{width:"30%",padding:"16px 0 16px 5px",borderTopRightRadius:"8px",children:e.tokenId})]}),(0,Yn.jsxs)(Kte,{background:E$.gray[800],borderColor:E$.gray[700],borderBottomWidth:"1px",children:[(0,Yn.jsxs)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],"data-testid":"nft-royalty",children:["Royalties",r.length>1?" ("+r.length+")":"",":"]}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 5px",borderColor:E$.gray[700],borderRightWidth:"1px","data-testid":"nft-royalty-value",children:r.length>0?n+"%":"-"}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],"data-testid":"nft-mime",children:"MIME type:"}),(0,Yn.jsx)(Wte,{width:"30%",padding:"16px 0 16px 5px","data-testid":"nft-mime-value",children:kP(e)||"-"})]}),(0,Yn.jsxs)(Kte,{background:E$.gray[900],borderColor:E$.gray[700],borderBottomWidth:"1px",children:[(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],children:"Contract:"}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 5px",borderColor:E$.gray[700],borderRightWidth:"1px",children:(0,Yn.jsx)($ne,{marginRight:1,address:dd(e.contract)})}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],children:"Metadata:"}),(0,Yn.jsxs)(Wte,{width:"30%",padding:"16px 0 16px 5px",children:["TzKT ",(0,Yn.jsx)(rle,{url:EP(e,i)})]})]}),(0,Yn.jsxs)(Kte,{background:E$.gray[800],borderColor:E$.gray[700],borderBottomWidth:"1px",children:[(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],"data-testid":"nft-creator",children:"Creator:"}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 5px",borderColor:E$.gray[700],borderRightWidth:"1px","data-testid":"nft-creator-value",children:(0,Yn.jsx)(nle,{nft:e})}),(0,Yn.jsx)(Wte,{padding:"16px 0 16px 15px",color:E$.gray[400],children:"License:"}),(0,Yn.jsx)(Wte,{width:"30%",padding:"16px 0 16px 5px",children:(0,Yn.jsx)(tle,{maxLength:15,text:e.metadata.rights||"-"})})]})]})})})})]})},ole=({nft:e})=>{const t=e.metadata.tags;return t&&0!==t.length?(0,Yn.jsx)($ce,{marginTop:"20px","data-testid":"tags-section",children:t.map((e=>(0,Yn.jsx)(Hce,{padding:"3px 8px",background:E$.gray[600],borderRadius:"100px",children:(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"nft-tag",children:e})},e)))}):null},ale=({nft:e})=>{const t=Vne(SP(e)),r=Vne(e.displayUri);return(0,Yn.jsx)(Qn,{width:"100%","aria-label":"nft",children:(0,Yn.jsxs)(Zn,{alignItems:"center",height:"60px",padding:3,background:E$.gray[800],borderRadius:"4px","data-testid":"nft-name",children:[(0,Yn.jsx)(UX,{width:"30px",height:"30px",ratio:1,children:(0,Yn.jsx)(HX,{fallbackSrc:r,src:t})}),e.metadata.name&&(0,Yn.jsx)(li,{marginLeft:4,size:"sm",children:c3(e.metadata.name,45)})]})})},sle=e=>{const{mode:t,operations:r,fee:n,data:{nft:i}}=e,{fee:o,operations:a,estimationFailed:s,isLoading:c,form:l,signer:u,reEstimate:d,onSign:h}=Dre(n,r,t),{recipient:f}=a.operations[0];return(0,Yn.jsx)(oQ,{...l,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:a.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(Zn,{marginBottom:"12px",children:(0,Yn.jsx)(ale,{nft:i})}),(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",marginY:"12px",paddingX:"4px",children:[(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"sm",children:"Owned:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"nft-owned",size:"sm",children:i.balance})]}),(0,Yn.jsx)(cte,{fee:o})]}),(0,Yn.jsxs)(Zn,{alignItems:"center",marginTop:"12px",marginBottom:"24px",children:[(0,Yn.jsx)(li,{marginRight:"12px",size:"md",children:"Quantity:"}),(0,Yn.jsx)(Xn,{width:"100px",height:"48px",background:E$.gray[800],borderRadius:"4px",children:(0,Yn.jsxs)(NX,{textAlign:"center",children:[a.operations[0].amount," out of ",i.balance]})})]}),(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{marginBottom:"24px",address:a.sender.address}),(0,Yn.jsx)(b0,{children:"To"}),(0,Yn.jsx)(z3,{address:f}),(0,Yn.jsx)(Rre,{isLoading:c,operationType:a.type,reEstimate:d,sender:a.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:s,isLoading:c,onSubmit:h,signer:u,text:fte(a.type,t)})})]})})})},cle=e=>{const{nft:t}=e,r=Hre({SignPage:sle,signPageExtraData:{nft:t},FormPage:cle,defaultFormPageProps:e,toOperation:lle(t)}),n=Vre(lle(t)),{onFormSubmitActionHandlers:[i,o],isLoading:a}=qre([r,n]),s=h0({mode:"onBlur",defaultValues:{quantity:1,...Nre(e)}}),{formState:{isValid:c,errors:l},register:u,handleSubmit:d}=s;return(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(ute,{}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(Zn,{marginBottom:"12px",children:(0,Yn.jsx)(ale,{nft:e.nft})}),(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(li,{marginRight:"4px",color:E$.gray[450],size:"sm",children:"Owned:"}),(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"nft-owned",size:"sm",children:t.balance})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.quantity,children:[(0,Yn.jsx)(b0,{children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(li,{marginRight:"8px",size:"md",children:"Quantity:"}),(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(k0,{width:"75px",children:(0,Yn.jsx)(O0,{width:"60px",color:"white","data-testid":"quantity-input",step:1,type:"number",...u("quantity",{required:"Quantity is required",max:{value:t.balance,message:`Max quantity is ${t.balance}`},min:{value:1,message:"Min quantity is 1"}})})}),(0,Yn.jsxs)(NX,{"data-testid":"out-of-nft",children:["out of ",t.balance]})]})]})}),l.quantity&&(0,Yn.jsx)(Qee,{"data-testid":"quantity-error",children:l.quantity.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.sender,children:[(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!0,label:"From"}),l.sender&&(0,Yn.jsx)(Qee,{"data-testid":"from-error",children:l.sender.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.recipient,children:[(0,Yn.jsx)(V3,{allowUnknown:!0,inputName:"recipient",label:"To"}),l.recipient&&(0,Yn.jsx)(Qee,{"data-testid":"recipient-error",children:l.recipient.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:a,isValid:c,onAddToBatch:d(o),onSingleSubmit:d(i)})})]})})})},lle=e=>t=>({type:"fa2",sender:dd(t.sender),recipient:dd(t.recipient),contract:md(e.contract),tokenId:e.tokenId,amount:t.quantity.toString()}),ule=({nft:e,ownerPkh:r})=>{var n;const i=Vne(_P(e)),o=Vne(e.displayUri),a=T3(),{openWith:s}=(0,t.useContext)(kW),c=null===(n=kP(e))||void 0===n?void 0:n.startsWith("video/"),l=mP(e),u={border:"none",borderRadius:"8px",marginBottom:"20px"};return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(g0,{width:"534px",height:"534px",background:E$.gray[800],children:(0,Yn.jsxs)(v0,{padding:"24px",children:[(0,Yn.jsx)(Qn,{width:"486px",height:"486px",children:c?(0,Yn.jsx)(Qce.Z,{width:"100%",height:"100%",loop:!0,playing:!0,url:i}):(0,Yn.jsx)(HX,{width:"486px",height:"486px",objectFit:"contain",alt:l,"data-testid":"nft-image",fallbackSrc:o,src:i})}),Number(e.balance)>1&&(0,Yn.jsx)(NX,{position:"absolute",display:"inline",height:"24px",marginTop:"-38px",marginLeft:"16px",borderRadius:"100px",backgroundColor:"rgba(33, 33, 33, 0.75)","data-testid":"nft-owned-count",paddingX:"8px",children:"x"+e.balance})]})}),(0,Yn.jsx)(ole,{nft:e}),l&&(0,Yn.jsx)(li,{marginTop:"16px",marginBottom:"14px","data-testid":"nft-name",size:"lg",children:l}),e.metadata.description&&(0,Yn.jsx)(NX,{color:E$.gray[400],"data-testid":"nft-description",size:"sm",children:e.metadata.description}),(0,Yn.jsx)(_i,{marginTop:"20px",onClick:()=>{s((0,Yn.jsx)(cle,{nft:e,sender:a(r)}))},children:"Send"}),(0,Yn.jsxs)(pJ,{marginTop:"32px",allowMultiple:!0,children:[(0,Yn.jsx)(ele,{nft:e,style:u}),(0,Yn.jsx)(ile,{nft:e,style:u}),(0,Yn.jsxs)(mJ,{background:E$.gray[800],style:u,children:[(0,Yn.jsxs)(gJ,{paddingY:"16px",children:[(0,Yn.jsx)(li,{flex:"1",textAlign:"left",size:"md",children:"JSON"}),(0,Yn.jsx)(vJ,{})]}),(0,Yn.jsx)(_J,{children:(0,Yn.jsx)(y0,{value:e})})]})]})]})},dle=({ownerPkh:e,nft:t,onCloseDrawer:r})=>(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",paddingBottom:"22px",color:E$.gray[400],"data-testid":"nft-drawer-body",children:[(0,Yn.jsx)($ne,{address:dd(e)}),(0,Yn.jsx)(fae,{onClose:r})]}),(0,Yn.jsx)(ule,{nft:t,ownerPkh:e})]}),hle=()=>{const[e,r]=(0,t.useState)(null),n=O3(),{ownerPkh:i,nftId:o}=function(){let{matches:e}=t.useContext(zH),r=e[e.length-1];return r?r.params:{}}(),a=p3(),s=i&&(0,iE.get)(a,[i],[]).find((e=>fP(e)===o)),c=!!s,{isOpen:l,onClose:u,onOpen:d}=aK({defaultIsOpen:c}),{isOpen:h}=EW(),f=VH(),p=(0,t.useCallback)((()=>{r(null),u(),f("/home")}),[r,u,f]);(0,t.useEffect)((()=>{const e=e=>{"Escape"===e.key&&p()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}),[p]);const m=n.find((t=>t.address.pkh===e));return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(uae,{onOpen:d,onSelect:r,selected:e}),(0,Yn.jsxs)(_ie,{autoFocus:!1,blockScrollOnMount:!h,isOpen:l,onClose:p,placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsx)(BX,{children:c?(0,Yn.jsx)(dle,{nft:s,onCloseDrawer:p,ownerPkh:i}):(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(hae,{onClose:p}),m&&(0,Yn.jsx)(Jce,{account:m})]})})})]})]})},fle=()=>(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Accounts"}),(0,Yn.jsx)(Zn,{flex:1,minHeight:1,children:(0,Yn.jsxs)(Zn,{flexDirection:"column",flex:1,marginRight:"12px",paddingBottom:"12px",children:[(0,Yn.jsx)(sae,{}),(0,Yn.jsx)(Qn,{flex:1,overflow:"hidden",borderRadius:"8px",children:(0,Yn.jsx)(hle,{})})]})})]}),ple=({nft:e,onClick:t})=>{const r=Vne(SP(e)),n=Vne(e.displayUri),i=e.metadata.name,o=$H().pathname.includes(`${e.owner}/${fP(e)}`);return(0,Yn.jsx)(g0,{minWidth:"274px",borderRadius:"8px",cursor:"pointer","data-testid":"nft-card",onClick:t,children:(0,Yn.jsxs)(v0,{padding:"16px",background:E$.gray[900],border:"1px solid",borderColor:o?E$.orangeL:"transparent",borderRadius:"8px",_hover:{bg:E$.gray[700],borderColor:`${E$.gray[500]}`},children:[(0,Yn.jsx)(Xn,{children:(0,Yn.jsx)(HX,{width:"100%",minWidth:"242px",minHeight:"242px",objectFit:"contain",aspectRatio:"1 /1","data-testid":"nft-image",fallbackSrc:n,src:r})}),Number(e.balance)>1&&(0,Yn.jsx)(NX,{position:"absolute",display:"inline",height:"24px",marginTop:"-36px",marginLeft:"10px",paddingTop:"1px",fontSize:"14px",borderRadius:"full",backgroundColor:"rgba(33, 33, 33, 0.75)","data-testid":"nft-owned-count",paddingX:"8px",children:"x"+e.balance}),(0,Yn.jsx)(Qn,{overflow:"hidden","data-testid":"nft-card-name",children:(0,Yn.jsx)(li,{overflow:"hidden",marginTop:"15px",marginBottom:"8px",fontSize:"sm",whiteSpace:"nowrap",textOverflow:"ellipsis",children:i})}),(0,Yn.jsx)($ne,{address:dd(e.owner)})]})})},mle=({nftsByOwner:e,onSelect:t})=>{const r=Object.entries(e).flatMap((([e,t])=>(t||[]).map((t=>({owner:e,...t})))));let n="repeat(auto-fit, minmax(min(100%/2, max(274px, 100%/7)), 1fr))";return r.length<3&&(n=`repeat(auto-fit, min(100% / ${r.length} - 16px, 450px))`),(0,Yn.jsx)(Joe,{gridTemplateColumns:n,marginBottom:"16px",minChildWidth:"340px",spacing:"16px",children:qne(r).map((e=>(0,Yn.jsx)(ple,{nft:e,onClick:()=>t(e)},`${e.owner}:${fP(e)}`)))})};function gle(e={}){const{timeout:r=300,preventDefault:n=(()=>!0)}=e,[i,o]=(0,t.useState)([]),a=(0,t.useRef)(),s=()=>{a.current&&(clearTimeout(a.current),a.current=null)};return(0,t.useEffect)((()=>s),[]),function(e){return t=>{if("Backspace"===t.key){const e=[...i];return e.pop(),void o(e)}if(function(e){const{key:t}=e;return 1===t.length||t.length>1&&/[^a-zA-Z0-9]/.test(t)}(t)){const c=i.concat(t.key);n(t)&&(t.preventDefault(),t.stopPropagation()),o(c),e(c.join("")),s(),a.current=setTimeout((()=>{o([]),a.current=null}),r)}}}}function vle(e,t){var r;const n=e.target;if(n){if(!yle(n).contains(n))return!1}return!(null==(r=t.current)?void 0:r.contains(n))}function yle(e){var t;return null!=(t=null==e?void 0:e.ownerDocument)?t:document}var[ble,wle,xle,_le]=eJ(),[Sle,kle]=ui({strict:!1,name:"MenuContext"});function Ele(e){var t;return null!=(t=null==e?void 0:e.ownerDocument)?t:document}function Ple(e){return Ele(e).activeElement===e}function Ole(e={}){const{id:r,closeOnSelect:n=!0,closeOnBlur:i=!0,initialFocusRef:o,autoSelect:a=!0,isLazy:s,isOpen:c,defaultIsOpen:l,onClose:u,onOpen:d,placement:h="bottom-start",lazyBehavior:f="unmount",direction:p,computePositionOnMount:m=!1,...g}=e,v=(0,t.useRef)(null),y=(0,t.useRef)(null),b=xle(),w=(0,t.useCallback)((()=>{requestAnimationFrame((()=>{var e;null==(e=v.current)||e.focus({preventScroll:!1})}))}),[]),x=(0,t.useCallback)((()=>{const e=setTimeout((()=>{var e;if(o)null==(e=o.current)||e.focus();else{const e=b.firstEnabled();e&&j(e.index)}}));L.current.add(e)}),[b,o]),_=(0,t.useCallback)((()=>{const e=setTimeout((()=>{const e=b.lastEnabled();e&&j(e.index)}));L.current.add(e)}),[b]),S=(0,t.useCallback)((()=>{null==d||d(),a?x():w()}),[a,x,w,d]),{isOpen:k,onOpen:E,onClose:P,onToggle:O}=E2({isOpen:c,defaultIsOpen:l,onClose:u,onOpen:S});!function(e){const{ref:r,handler:n,enabled:i=!0}=e,o=EM(n),a=(0,t.useRef)({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;(0,t.useEffect)((()=>{if(!i)return;const e=e=>{vle(e,r)&&(a.isPointerDown=!0)},t=e=>{a.ignoreEmulatedMouseEvents?a.ignoreEmulatedMouseEvents=!1:a.isPointerDown&&n&&vle(e,r)&&(a.isPointerDown=!1,o(e))},s=e=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&vle(e,r)&&(a.isPointerDown=!1,o(e))},c=yle(r.current);return c.addEventListener("mousedown",e,!0),c.addEventListener("mouseup",t,!0),c.addEventListener("touchstart",e,!0),c.addEventListener("touchend",s,!0),()=>{c.removeEventListener("mousedown",e,!0),c.removeEventListener("mouseup",t,!0),c.removeEventListener("touchstart",e,!0),c.removeEventListener("touchend",s,!0)}}),[n,r,o,a,i])}({enabled:k&&i,ref:v,handler:e=>{var t;(null==(t=y.current)?void 0:t.contains(e.target))||P()}});const A=S2({...g,enabled:k||m,placement:h,direction:p}),[T,j]=(0,t.useState)(-1);PM((()=>{k||j(-1)}),[k]),ure(v,{focusRef:y,visible:k,shouldFocus:!0});const C=ore({isOpen:k,ref:v}),[R,I]=function(e,...r){const n=(0,t.useId)(),i=e||n;return(0,t.useMemo)((()=>r.map((e=>`${e}-${i}`))),[i,r])}(r,"menu-button","menu-list"),M=(0,t.useCallback)((()=>{E(),w()}),[E,w]),L=(0,t.useRef)(new Set([]));(0,t.useEffect)((()=>{const e=L.current;return()=>{e.forEach((e=>clearTimeout(e))),e.clear()}}),[]);const N=(0,t.useCallback)((()=>{E(),x()}),[x,E]),D=(0,t.useCallback)((()=>{E(),_()}),[E,_]),B=(0,t.useCallback)((()=>{var e,t;const r=Ele(v.current),n=null==(e=v.current)?void 0:e.contains(r.activeElement);if(!(k&&!n))return;const i=null==(t=b.item(T))?void 0:t.node;null==i||i.focus({preventScroll:!0})}),[k,T,b]),z=(0,t.useRef)(null);return{openAndFocusMenu:M,openAndFocusFirstItem:N,openAndFocusLastItem:D,onTransitionEnd:B,unstable__animationState:C,descendants:b,popper:A,buttonId:R,menuId:I,forceUpdate:A.forceUpdate,orientation:"vertical",isOpen:k,onToggle:O,onOpen:E,onClose:P,menuRef:v,buttonRef:y,focusedIndex:T,closeOnSelect:n,closeOnBlur:i,autoSelect:a,setFocusedIndex:j,isLazy:s,lazyBehavior:f,initialFocusRef:o,rafId:z}}function Ale(e){var t;return function(e){var t;if(!function(e){return null!=e&&"object"==typeof e&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}(e))return!1;const r=null!=(t=e.ownerDocument.defaultView)?t:window;return e instanceof r.HTMLElement}(e)&&!!(null==(t=null==e?void 0:e.getAttribute("role"))?void 0:t.startsWith("menuitem"))}function Tle(e={},r=null){const{onMouseEnter:n,onMouseMove:i,onMouseLeave:o,onClick:a,onFocus:s,isDisabled:c,isFocusable:l,closeOnSelect:u,type:d,...h}=e,f=kle(),{setFocusedIndex:p,focusedIndex:m,closeOnSelect:g,onClose:v,menuRef:y,isOpen:b,menuId:w,rafId:x}=f,_=(0,t.useRef)(null),S=`${w}-menuitem-${(0,t.useId)()}`,{index:k,register:E}=_le({disabled:c&&!l}),P=(0,t.useCallback)((e=>{null==n||n(e),c||p(k)}),[p,k,c,n]),O=(0,t.useCallback)((e=>{null==i||i(e),_.current&&!Ple(_.current)&&P(e)}),[P,i]),A=(0,t.useCallback)((e=>{null==o||o(e),c||p(-1)}),[p,c,o]),T=(0,t.useCallback)((e=>{null==a||a(e),Ale(e.currentTarget)&&(null!=u?u:g)&&v()}),[v,a,g,u]),j=(0,t.useCallback)((e=>{null==s||s(e),p(k)}),[p,s,k]),C=k===m,R=c&&!l;PM((()=>{if(b)return C&&!R&&_.current?(x.current&&cancelAnimationFrame(x.current),x.current=requestAnimationFrame((()=>{var e;null==(e=_.current)||e.focus({preventScroll:!0}),x.current=null}))):y.current&&!Ple(y.current)&&y.current.focus({preventScroll:!0}),()=>{x.current&&cancelAnimationFrame(x.current)}}),[C,R,y,b]);const I=mae({onClick:T,onFocus:j,onMouseEnter:P,onMouseMove:O,onMouseLeave:A,ref:wi(E,_,r),isDisabled:c,isFocusable:l});return{...h,...I,type:null!=d?d:I.type,id:S,role:"menuitem",tabIndex:C?0:-1}}var[jle,Cle]=ui({name:"MenuStylesContext",errorMessage:"useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),Rle=e=>{const{children:r}=e,n=ci("Menu",e),i=Jt(e),{direction:o}=ri(),{descendants:a,...s}=Ole({...i,direction:o}),c=(0,t.useMemo)((()=>s),[s]),{isOpen:l,onClose:u,forceUpdate:d}=c;return(0,Yn.jsx)(ble,{value:a,children:(0,Yn.jsx)(Sle,{value:c,children:(0,Yn.jsx)(jle,{value:n,children:ae(r,{isOpen:l,onClose:u,forceUpdate:d})})})})};Rle.displayName="Menu";var Ile=re(((e,t)=>{const r=Cle();return(0,Yn.jsx)(Gn.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...r.button}})})),Mle=re(((e,r)=>{const{children:n,as:i,...o}=e,a=function(e={},r=null){const n=kle(),{onToggle:i,popper:o,openAndFocusFirstItem:a,openAndFocusLastItem:s}=n,c=(0,t.useCallback)((e=>{const t=e.key,r={Enter:a,ArrowDown:a,ArrowUp:s}[t];r&&(e.preventDefault(),e.stopPropagation(),r(e))}),[a,s]);return{...e,ref:wi(n.buttonRef,r,o.referenceRef),id:n.buttonId,"data-active":ce(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:ue(e.onClick,i),onKeyDown:ue(e.onKeyDown,c)}}(o,r),s=i||Ile;return(0,Yn.jsx)(s,{...a,className:ne("chakra-menu__menu-button",e.className),children:(0,Yn.jsx)(Gn.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})}));Mle.displayName="MenuButton";var Lle={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},Nle=Gn(jF.div),Dle=re((function(e,r){var n,i;const{rootProps:o,motionProps:a,...s}=e,{isOpen:c,onTransitionEnd:l,unstable__animationState:u}=kle(),d=function(e={},r=null){const n=kle();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:i,setFocusedIndex:o,menuRef:a,isOpen:s,onClose:c,menuId:l,isLazy:u,lazyBehavior:d,unstable__animationState:h}=n,f=wle(),p=gle({preventDefault:e=>" "!==e.key&&Ale(e.target)}),m=(0,t.useCallback)((e=>{if(!e.currentTarget.contains(e.target))return;const t=e.key,r={Tab:e=>e.preventDefault(),Escape:c,ArrowDown:()=>{const e=f.nextEnabled(i);e&&o(e.index)},ArrowUp:()=>{const e=f.prevEnabled(i);e&&o(e.index)}},n=r[t];if(n)return e.preventDefault(),void n(e);const a=p((e=>{const t=function(e,t,r,n){if(null==t)return n;if(!n)return e.find((e=>r(e).toLowerCase().startsWith(t.toLowerCase())));const i=e.filter((e=>r(e).toLowerCase().startsWith(t.toLowerCase())));if(i.length>0){let t;return i.includes(n)?(t=i.indexOf(n)+1,t===i.length&&(t=0),i[t]):(t=e.indexOf(i[0]),e[t])}return n}(f.values(),e,(e=>{var t,r;return null!=(r=null==(t=null==e?void 0:e.node)?void 0:t.textContent)?r:""}),f.item(i));if(t){const e=f.indexOf(t.node);o(e)}}));Ale(e.target)&&a(e)}),[f,i,p,c,o]),g=(0,t.useRef)(!1);s&&(g.current=!0);const v=hre({wasSelected:g.current,enabled:u,mode:d,isSelected:h.present});return{...e,ref:wi(a,r),children:v?e.children:null,tabIndex:-1,role:"menu",id:l,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:ue(e.onKeyDown,m)}}(s,r),h=function(e={}){const{popper:t,isOpen:r}=kle();return t.getPopperProps({...e,style:{visibility:r?"visible":"hidden",...e.style}})}(o),f=Cle();return(0,Yn.jsx)(Gn.div,{...h,__css:{zIndex:null!=(i=e.zIndex)?i:null==(n=f.list)?void 0:n.zIndex},children:(0,Yn.jsx)(Nle,{variants:Lle,initial:!1,animate:c?"enter":"exit",__css:{outline:0,...f.list},...a,className:ne("chakra-menu__menu-list",d.className),...d,onUpdate:l,onAnimationComplete:de(u.onComplete,d.onAnimationComplete)})})}));Dle.displayName="MenuList";var Ble=re(((e,t)=>{const r=Cle();return(0,Yn.jsx)(Gn.span,{ref:t,...e,__css:r.command,className:"chakra-menu__command"})}));Ble.displayName="MenuCommand";var zle=re(((e,r)=>{const{type:n,...i}=e,o=Cle(),a=i.as||n?null!=n?n:void 0:"button",s=(0,t.useMemo)((()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item})),[o.item]);return(0,Yn.jsx)(Gn.button,{ref:r,type:a,...i,__css:s})})),Ule=e=>{const{className:r,children:n,...i}=e,o=Cle(),a=t.Children.only(n),s=(0,t.isValidElement)(a)?(0,t.cloneElement)(a,{focusable:"false","aria-hidden":!0,className:ne("chakra-menu__icon",a.props.className)}):null,c=ne("chakra-menu__icon-wrapper",r);return(0,Yn.jsx)(Gn.span,{className:c,...i,__css:o.icon,children:s})};Ule.displayName="MenuIcon";var Fle=re(((e,t)=>{const{icon:r,iconSpacing:n="0.75rem",command:i,commandSpacing:o="0.75rem",children:a,...s}=e,c=Tle(s,t),l=r||i?(0,Yn.jsx)("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return(0,Yn.jsxs)(zle,{...c,className:ne("chakra-menu__menuitem",c.className),children:[r&&(0,Yn.jsx)(Ule,{fontSize:"0.8em",marginEnd:n,children:r}),l,i&&(0,Yn.jsx)(Ble,{marginStart:o,children:i})]})}));Fle.displayName="MenuItem";const $le=({accounts:e,onSelect:t})=>(0,Yn.jsx)(Dle,{zIndex:"docked",overflowY:"scroll",maxHeight:"300px",padding:0,background:E$.gray[900],children:e.map((e=>(0,Yn.jsx)(Fle,{width:"100%",minHeight:"48px",padding:"5px",background:E$.gray[700],"aria-label":e.label,onClick:()=>{t(e)},value:e.address.pkh,children:(0,Yn.jsx)(z3,{width:"370px",height:"40px",padding:"5px",background:E$.gray[700],borderRadius:"4px",_hover:{background:E$.gray[500]},cursor:"pointer",address:e.address})},e.address.pkh)))}),Hle=()=>{const e=O3(),[t,r]=wV(),n=t.getAll("accounts"),i=e.filter((e=>n.includes(e.address.pkh))),o=(0,iE.differenceBy)(e,i,(e=>e.address.pkh)),a=i.length===e.length;return{selectedAccounts:0===i.length?e:i,accountsFilter:(0,Yn.jsxs)(Xn,{children:[(0,Yn.jsx)(Qn,{alignSelf:"flex-start",children:(0,Yn.jsxs)(Rle,{children:[(0,Yn.jsx)(Mle,{as:_i,maxHeight:"26px",paddingLeft:0,fontWeight:"normal",_hover:{bg:"none"},_active:{bg:"none"},"data-testid":"account-filter",isDisabled:a,marginY:"16px",rightIcon:(0,Yn.jsx)(Uoe,{}),variant:"ghost",children:"Filter by Account"}),(0,Yn.jsx)($le,{accounts:o,onSelect:e=>{r({...t,accounts:[...i,e].map((e=>e.address.pkh))})}})]})}),(0,Yn.jsx)($ce,{width:"100%",children:i.map((e=>(0,Yn.jsx)($ne,{address:e.address,"data-testid":"account-pill",mode:{type:"removable",onRemove:()=>{r({...t,accounts:n.filter((t=>t!==e.address.pkh))})}}},e.address.pkh)))})]})}},Vle=()=>{const e=p3(),{isOpen:r}=EW(),{accountsFilter:n,selectedAccounts:i}=Hle(),[o,a]=(0,t.useState)(void 0);(0,t.useEffect)((()=>{const e=e=>{"Escape"===e.key&&a(void 0)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}),[]);const s=(0,iE.pick)(e,i.map((e=>e.address.pkh))),c=(0,iE.sumBy)(Object.values(s).flat(),(e=>Number((null===e||void 0===e?void 0:e.balance)||0))),l=(0,iE.every)(s,(e=>!e||0===e.length));return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{subtitle:`(${c})`,title:"NFTs"}),n,l?(0,Yn.jsx)(bse,{}):(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(Qn,{overflowY:"scroll",children:(0,Yn.jsx)(mle,{nftsByOwner:s,onSelect:e=>a(e)})}),(0,Yn.jsxs)(_ie,{autoFocus:!1,blockScrollOnMount:!r,isOpen:!!o,onClose:()=>a(void 0),placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsx)(BX,{children:o&&(0,Yn.jsx)(dle,{nft:o,onCloseDrawer:()=>a(void 0),ownerPkh:o.owner})})})]})]})]})},qle=()=>{const{accountsFilter:e,selectedAccounts:r}=Hle(),{operations:n,loadMore:i,hasMore:o,setAddresses:a,isLoading:s}=Nce(r.map((e=>e.address.pkh))),c=r.map((e=>e.address.pkh)).join(",");(0,t.useEffect)((()=>{a(c.split(","))}),[a,c]);const l=(0,Yn.jsx)(NX,{color:E$.gray[500],textAlign:"center",paddingY:"20px",children:"Loading..."});return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Operations"}),e,0===n.length&&s&&l,0===n.length&&!s&&(0,Yn.jsx)(wse,{}),n.length>0&&(0,Yn.jsx)(Qn,{overflowY:"scroll",marginBottom:"20px",background:E$.gray[900],borderRadius:"8px",onScroll:async e=>{if(!o||s)return;const t=e.target;t.scrollHeight-t.scrollTop-t.clientHeight<100&&i()},paddingX:"20px",children:(0,Yn.jsxs)(fce.Provider,{value:{mode:"page"},children:[n.map(((e,t)=>{const r=t===n.length-1;return(0,Yn.jsxs)(Qn,{height:"90px",marginBottom:r?"10px":0,paddingY:"20px",children:[(0,Yn.jsx)(Tce,{operation:e}),!r&&(0,Yn.jsx)(Qn,{children:(0,Yn.jsx)(ire,{marginTop:"20px"})})]},e.id)})),s&&(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ire,{}),l]})]})})]})},Kle=()=>{const{data:e}=(0,Oi.useQuery)(kte,(()=>Ste.getPeers())),r=Pte(),[n,i]=(0,t.useState)([]);return(0,t.useEffect)((()=>{(async()=>{const t=await Promise.all((e||[]).map((async e=>({...e,senderId:await wG(e.publicKey)}))));i(t)})()}),[e]),0===n.length?null:(0,Yn.jsx)(Wle,{peerInfos:n,removePeer:r})},Wle=({peerInfos:e,removePeer:r})=>(0,Yn.jsx)(Qn,{children:e.map((e=>(0,Yn.jsxs)(t.Fragment,{children:[(0,Yn.jsx)(ire,{}),(0,Yn.jsx)(Gle,{onRemove:()=>r(e),peerInfo:e})]},e.name)))}),Gle=({peerInfo:e,onRemove:t})=>(0,Yn.jsxs)(Zn,{justifyContent:"space-between",height:"106px","data-testid":"peer-row",paddingY:"30px",children:[(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(UX,{width:"48px",marginRight:"16px",ratio:1,children:(0,Yn.jsx)(HX,{width:"100%",src:e.icon})}),(0,Yn.jsxs)(Xn,{alignItems:"flex-start",flexDirection:"column",children:[(0,Yn.jsx)(li,{marginBottom:"6px",size:"md",children:e.name}),(0,Yn.jsx)(Yle,{peerInfo:e})]})]}),(0,Yn.jsx)(Xn,{children:(0,Yn.jsx)(Z3,{"aria-label":"Remove Peer",icon:(0,Yn.jsx)(U5,{}),onClick:t,size:"xs",variant:"circle"})})]}),Yle=({peerInfo:e})=>{const t=(e=>{const t=r3((e=>e.beacon));return t[e]})(e.senderId);return t?(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)($ne,{marginRight:"10px",address:dd(t.accountPkh)}),(0,Yn.jsx)(ire,{marginRight:"10px",orientation:"vertical"}),(0,Yn.jsx)(NX,{marginTop:"2px",marginRight:"4px",color:E$.gray[450],fontWeight:650,size:"sm",children:"Network:"}),(0,Yn.jsx)(NX,{marginTop:"2px",color:E$.white,"data-testid":"dapp-connection-network",size:"sm",children:(0,iE.capitalize)(t.networkType)})]}):null},Zle=()=>{const{isOpen:e,onClose:t,onOpen:r}=aK(),{isOpen:n}=EW();return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(mie,{left:"dApps",isSelected:e,onClick:r}),(0,Yn.jsxs)(_ie,{autoFocus:!1,blockScrollOnMount:!n,isOpen:e,onClose:t,placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(hae,{onClose:t}),(0,Yn.jsx)(Xle,{})]})})]})]})},Xle=()=>{const e=Ote();return(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"space-between",height:24,children:(0,Yn.jsx)(li,{size:"xl",children:"dApps"})}),(0,Yn.jsx)(_i,{onClick:()=>navigator.clipboard.readText().then((t=>{e(t)})),children:"Paste a peer request code"}),(0,Yn.jsx)(NX,{marginTop:"16px",marginBottom:"32px",color:"text.dark",children:"or open a deeplink from inside the dApp..."}),(0,Yn.jsx)(Kle,{})]})};function Jle(e){return b5({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attr:{d:"M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]})(e)}const Qle=()=>{const{isOpen:e,onClose:t,onOpen:r}=aK(),{isOpen:n}=EW();return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(mie,{left:"ErrorLogs",isSelected:e,onClick:r}),(0,Yn.jsxs)(_ie,{blockScrollOnMount:!n,isOpen:e,onClose:t,placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(hae,{onClose:t}),(0,Yn.jsx)(eue,{})]})})]})]})},eue=()=>{const e=[...r3((e=>e.errors))].reverse(),t=eo();return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",height:"50px",marginBottom:"20px",children:[(0,Yn.jsx)(li,{size:"xl",children:"Error Logs"}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)("a",{download:"UmamiErrorLogs.json",href:`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(e))}`,children:(0,Yn.jsx)(_i,{variant:"tertiary",children:"Download error logs"})}),(0,Yn.jsx)(_i,{marginLeft:"8px",onClick:()=>{t(XP.actions.reset())},variant:"warning",children:"Clear All"})]})]}),e.map((e=>(0,Yn.jsx)(tue,{errorLog:e},Ta())))]})},tue=({errorLog:e})=>(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(ire,{marginY:1}),(0,Yn.jsx)(Zn,{justifyContent:"space-between",paddingY:3,children:(0,Yn.jsxs)(Zn,{children:[(0,Yn.jsx)(LF,{as:Jle,marginTop:"1px",marginRight:2}),(0,Yn.jsxs)(Zn,{flexDirection:"column",children:[(0,Yn.jsx)(li,{wordBreak:"break-all",size:"sm",children:e.description}),(0,Yn.jsx)(NX,{color:E$.gray[400],size:"sm",children:e.timestamp})]})]})})]});function rue(e={}){const{onChange:r,value:n,defaultValue:i,name:o,isDisabled:a,isFocusable:s,isNative:c,...l}=e,[u,d]=(0,t.useState)(i||""),h="undefined"!==typeof n,f=h?n:u,p=(0,t.useRef)(null),m=(0,t.useCallback)((()=>{const e=p.current;if(!e)return;let t="input:not(:disabled):checked";const r=e.querySelector(t);if(r)return void r.focus();t="input:not(:disabled)";const n=e.querySelector(t);null==n||n.focus()}),[]),g=(0,t.useId)(),v=o||`radio-${g}`,y=(0,t.useCallback)((e=>{const t=function(e){return e&&ie(e)&&ie(e.target)}(e)?e.target.value:e;h||d(t),null==r||r(String(t))}),[r,h]);return{getRootProps:(0,t.useCallback)(((e={},t=null)=>({...e,ref:wi(t,p),role:"radiogroup"})),[]),getRadioProps:(0,t.useCallback)(((e={},t=null)=>{const r=c?"checked":"isChecked";return{...e,ref:t,name:v,[r]:null!=f?e.value===f:void 0,onChange(e){y(e)},"data-radiogroup":!0}}),[c,v,y,f]),name:v,ref:p,focus:m,setValue:d,value:f,onChange:y,isDisabled:a,isFocusable:s,htmlProps:l}}var[nue,iue]=ui({name:"RadioGroupContext",strict:!1}),oue=re(((e,r)=>{const{colorScheme:n,size:i,variant:o,children:a,className:s,isDisabled:c,isFocusable:l,...u}=e,{value:d,onChange:h,getRootProps:f,name:p,htmlProps:m}=rue(u),g=(0,t.useMemo)((()=>({name:p,size:i,onChange:h,colorScheme:n,value:d,variant:o,isDisabled:c,isFocusable:l})),[p,i,h,n,d,o,c,l]);return(0,Yn.jsx)(nue,{value:g,children:(0,Yn.jsx)(Gn.div,{...f(m,r),className:ne("chakra-radio-group",s),children:a})})}));oue.displayName="RadioGroup";var aue={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function sue(e){e.preventDefault(),e.stopPropagation()}var cue=re(((e,r)=>{var n;const i=iue(),{onChange:o,value:a}=e,s=ci("Radio",{...i,...e}),c=Jt(e),{spacing:l="0.5rem",children:u,isDisabled:d=(null==i?void 0:i.isDisabled),isFocusable:h=(null==i?void 0:i.isFocusable),inputProps:f,...p}=c;let m=e.isChecked;null!=(null==i?void 0:i.value)&&null!=a&&(m=i.value===a);let g=o;(null==i?void 0:i.onChange)&&null!=a&&(g=de(i.onChange,o));const v=null!=(n=null==e?void 0:e.name)?n:null==i?void 0:i.name,{getInputProps:y,getCheckboxProps:b,getLabelProps:w,getRootProps:x,htmlProps:_}=function(e={}){const{defaultChecked:r,isChecked:n,isFocusable:i,isDisabled:o,isReadOnly:a,isRequired:s,onChange:c,isInvalid:l,name:u,value:d,id:h,"data-radiogroup":f,"aria-describedby":p,...m}=e,g=`radio-${(0,t.useId)()}`,v=PJ(),y=iue();let b=!v||y||f?g:v.id;b=null!=h?h:b;const w=null!=o?o:null==v?void 0:v.isDisabled,x=null!=a?a:null==v?void 0:v.isReadOnly,_=null!=s?s:null==v?void 0:v.isRequired,S=null!=l?l:null==v?void 0:v.isInvalid,[k,E]=(0,t.useState)(!1),[P,O]=(0,t.useState)(!1),[A,T]=(0,t.useState)(!1),[j,C]=(0,t.useState)(!1),[R,I]=(0,t.useState)(Boolean(r)),M="undefined"!==typeof n,L=M?n:R;(0,t.useEffect)((()=>woe(E)),[]);const N=(0,t.useCallback)((e=>{x||w?e.preventDefault():(M||I(e.target.checked),null==c||c(e))}),[M,w,x,c]),D=(0,t.useCallback)((e=>{" "===e.key&&C(!0)}),[C]),B=(0,t.useCallback)((e=>{" "===e.key&&C(!1)}),[C]),z=(0,t.useCallback)(((e={},t=null)=>({...e,ref:t,"data-active":ce(j),"data-hover":ce(A),"data-disabled":ce(w),"data-invalid":ce(S),"data-checked":ce(L),"data-focus":ce(P),"data-focus-visible":ce(P&&k),"data-readonly":ce(x),"aria-hidden":!0,onMouseDown:ue(e.onMouseDown,(()=>C(!0))),onMouseUp:ue(e.onMouseUp,(()=>C(!1))),onMouseEnter:ue(e.onMouseEnter,(()=>T(!0))),onMouseLeave:ue(e.onMouseLeave,(()=>T(!1)))})),[j,A,w,S,L,P,x,k]),{onFocus:U,onBlur:F}=null!=v?v:{},$=(0,t.useCallback)(((e={},t=null)=>{const r=w&&!i;return{...e,id:b,ref:t,type:"radio",name:u,value:d,onChange:ue(e.onChange,N),onBlur:ue(F,e.onBlur,(()=>O(!1))),onFocus:ue(U,e.onFocus,(()=>O(!0))),onKeyDown:ue(e.onKeyDown,D),onKeyUp:ue(e.onKeyUp,B),checked:L,disabled:r,readOnly:x,required:_,"aria-invalid":le(S),"aria-disabled":le(r),"aria-required":le(_),"data-readonly":ce(x),"aria-describedby":p,style:aue}}),[w,i,b,u,d,N,F,U,D,B,L,x,_,S,p]);return{state:{isInvalid:S,isFocused:P,isChecked:L,isActive:j,isHovered:A,isDisabled:w,isReadOnly:x,isRequired:_},getCheckboxProps:z,getRadioProps:z,getInputProps:$,getLabelProps:(e={},t=null)=>({...e,ref:t,onMouseDown:ue(e.onMouseDown,sue),"data-disabled":ce(w),"data-checked":ce(L),"data-invalid":ce(S)}),getRootProps:(e,t=null)=>({...e,ref:t,"data-disabled":ce(w),"data-checked":ce(L),"data-invalid":ce(S)}),htmlProps:m}}({...p,isChecked:m,isFocusable:h,isDisabled:d,onChange:g,name:v}),[S,k]=function(e,t){const r={},n={};for(const[i,o]of Object.entries(e))t.includes(i)?r[i]=o:n[i]=o;return[r,n]}(_,Ft),E=b(k),P=y(f,r),O=w(),A=Object.assign({},S,x()),T={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...s.container},j={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...s.control},C={userSelect:"none",marginStart:l,...s.label};return(0,Yn.jsxs)(Gn.label,{className:"chakra-radio",...A,__css:T,children:[(0,Yn.jsx)("input",{className:"chakra-radio__input",...P}),(0,Yn.jsx)(Gn.span,{className:"chakra-radio__control",...E,__css:j}),u&&(0,Yn.jsx)(Gn.span,{className:"chakra-radio__label",...O,__css:C,children:u})]})}));cue.displayName="Radio";const lue=({network:e})=>{const r=e?"edit":"create",{onClose:n}=(0,t.useContext)(kW),i=eo(),o=o3(),{formState:{errors:a,isValid:s},register:c,handleSubmit:l}=h0({mode:"onBlur",defaultValues:e});return(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{onSubmit:l((e=>{i(nO.upsertNetwork(e)),n()})),children:[(0,Yn.jsxs)(MX,{textAlign:"center",children:["edit"===r?"Edit":"Add"," Network",(0,Yn.jsx)(DX,{})]}),(0,Yn.jsxs)(BX,{children:["create"===r&&(0,Yn.jsxs)(OJ,{marginTop:"32px",marginBottom:"24px",isInvalid:!!a.name,children:[(0,Yn.jsx)(b0,{children:"Name"}),(0,Yn.jsx)(O0,{placeholder:"mainnet",...c("name",{required:"Name is required",validate:e=>{if(o.find((t=>t.name===e)))return"Network with this name already exists"}})}),a.name&&(0,Yn.jsx)(Qee,{children:a.name.message})]}),(0,Yn.jsxs)(OJ,{marginBottom:"24px",isInvalid:!!a.rpcUrl,children:[(0,Yn.jsx)(b0,{children:"RPC URL"}),(0,Yn.jsx)(O0,{placeholder:"https://prod.tcinfra.net/rpc/mainnet",...c("rpcUrl",{required:"RPC URL is required"})}),a.rpcUrl&&(0,Yn.jsx)(Qee,{children:a.rpcUrl.message})]}),(0,Yn.jsxs)(OJ,{marginBottom:"24px",isInvalid:!!a.tzktApiUrl,children:[(0,Yn.jsx)(b0,{children:"Tzkt API URL"}),(0,Yn.jsx)(O0,{placeholder:"https://api.ghostnet.tzkt.io",...c("tzktApiUrl",{required:"Tzkt API URL is required"})}),a.tzktApiUrl&&(0,Yn.jsx)(Qee,{children:a.tzktApiUrl.message})]}),(0,Yn.jsxs)(OJ,{marginBottom:"24px",isInvalid:!!a.tzktExplorerUrl,children:[(0,Yn.jsx)(b0,{children:"Tzkt Explorer URL"}),(0,Yn.jsx)(O0,{placeholder:"https://ghostnet.tzkt.io",...c("tzktExplorerUrl",{required:"Tzkt Explorer URL is required"})}),a.tzktExplorerUrl&&(0,Yn.jsx)(Qee,{children:a.tzktExplorerUrl.message})]}),(0,Yn.jsxs)(OJ,{children:[(0,Yn.jsx)(b0,{children:"Buy Tez URL"}),(0,Yn.jsx)(O0,{placeholder:"https://faucet.ghostnet.teztnets.xyz",...c("buyTezUrl")})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",isDisabled:!s,onClick:()=>{},type:"submit",children:"edit"===r?"Save changes":"Add network"})})]})]})})},uue=()=>{const{openWith:e}=(0,t.useContext)(kW),r=i3(),n=a3(),i=o3(),o=t3();return(0,Yn.jsxs)(Zn,{flexDirection:"column",children:[(0,Yn.jsxs)(Xn,{justifyContent:"space-between",children:[(0,Yn.jsx)(li,{children:"Network Settings"}),(0,Yn.jsxs)(_i,{paddingRight:"0",onClick:()=>e((0,Yn.jsx)(lue,{})),variant:"CTAWithIcon",children:[(0,Yn.jsx)(NX,{size:"sm",children:"Add Network"}),(0,Yn.jsx)(A5,{width:"18px",height:"18px",marginLeft:"4px",stroke:"currentcolor"})]})]}),(0,Yn.jsx)(oue,{marginTop:"60px",onChange:n,value:r.name,children:(0,Yn.jsx)(jie,{children:i.map((r=>(0,Yn.jsxs)(t.Fragment,{children:[(0,Yn.jsx)(ire,{borderColor:E$.gray[700]}),(0,Yn.jsxs)(Zn,{justifyContent:"space-between","data-testid":`network-${r.name}`,children:[(0,Yn.jsx)(cue,{height:"100px",value:r.name,variant:"primary",children:(0,Yn.jsxs)(Zn,{flexDirection:"column",marginLeft:"16px",children:[(0,Yn.jsx)(li,{marginBottom:"4px",size:"sm",children:r.name}),(0,Yn.jsx)(NX,{color:E$.gray[400],children:r.rpcUrl})]})}),!zP(r)&&(0,Yn.jsx)(Xn,{"data-testid":"popover-menu",children:(0,Yn.jsxs)(Tre,{children:[(0,Yn.jsxs)(_i,{onClick:()=>e((0,Yn.jsx)(lue,{network:r})),variant:"popover",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Edit"}),(0,Yn.jsx)(O5,{stroke:"inherit"})]}),(0,Yn.jsx)(ire,{marginTop:"4px"}),(0,Yn.jsxs)(_i,{onClick:()=>(e=>{o(nO.removeNetwork(e))})(r),variant:"popover",children:[(0,Yn.jsx)(NX,{marginRight:"4px",children:"Remove"}),(0,Yn.jsx)(U5,{stroke:"inherit"})]})]})})]})]},r.name)))})})]})},due=()=>{const{isOpen:e,onClose:r,onOpen:n}=aK(),{isOpen:i}=(0,t.useContext)(kW);return(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(mie,{left:"Network Settings",isSelected:e,onClick:n}),(0,Yn.jsxs)(_ie,{blockScrollOnMount:!i,isOpen:e,onClose:r,placement:"right",children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(Oie,{children:(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(hae,{onClose:r}),(0,Yn.jsx)(uue,{})]})})]})]})},hue="2.0.0-beta1",fue=()=>{const{onClose:e}=(0,t.useContext)(kW),r=h0({mode:"onBlur"}),n=DY(),i=t3(),{handleAsyncAction:o,isLoading:a}=Yee(),{handleSubmit:s,formState:{isValid:c,errors:l},getValues:u}=r;return(0,Yn.jsx)(oQ,{...r,children:(0,Yn.jsx)(IX,{background:E$.gray[700],"data-testid":"change-password-modal",children:(0,Yn.jsxs)("form",{onSubmit:s((async({currentPassword:t,newPassword:r,newPasswordConfirmation:a})=>{t!==r&&r===a&&o((async()=>{await i(nP({currentPassword:t,newPassword:r})).unwrap(),n({description:"Password updated",status:"success"}),e()}))})),children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(MX,{textAlign:"center",children:(0,Yn.jsx)(li,{children:"Change Password"})}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{marginTop:"32px",isInvalid:!!l.currentPassword,children:[(0,Yn.jsx)(ete,{"data-testid":"current-password",inputName:"currentPassword",label:"Current Password",placeholder:"Enter your current password",required:"Current password is required"}),l.currentPassword&&(0,Yn.jsx)(Qee,{"data-testid":"current-password-error",children:l.currentPassword.message})]}),(0,Yn.jsxs)(OJ,{isInvalid:!!l.newPassword,marginY:6,children:[(0,Yn.jsx)(ete,{"data-testid":"new-password",inputName:"newPassword",label:"New Password",placeholder:"Enter new password",required:"New password is required",validate:e=>u("currentPassword")!==e||"Cannot be the same as old password"}),l.newPassword&&(0,Yn.jsx)(Qee,{"data-testid":"new-password-error",children:l.newPassword.message})]}),(0,Yn.jsxs)(OJ,{marginTop:3,isInvalid:!!l.newPasswordConfirmation,children:[(0,Yn.jsx)(ete,{"data-testid":"new-password-confirmation",inputName:"newPasswordConfirmation",label:"Confirm New Password",placeholder:"Confirm new password",required:"Confirmation is required",validate:e=>u("newPassword")===e||"Your new passwords do no match"}),l.newPasswordConfirmation&&(0,Yn.jsx)(Qee,{"data-testid":"new-password-confirmation-error",children:l.newPasswordConfirmation.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(_i,{width:"100%",isDisabled:!c,isLoading:a,size:"lg",type:"submit",children:"Update Password"})})]})})})},pue="wasabi",mue=()=>{const e=()=>{localStorage.clear(),window.location.reload()},t=h0({mode:"onBlur"}),{register:r,handleSubmit:n,formState:{isValid:i,errors:o},getValues:a}=t;return(0,Yn.jsx)(oQ,{...t,children:(0,Yn.jsxs)("form",{onSubmit:n((()=>{a("check")&&a("confirmationCode")===pue&&e()})),children:[(0,Yn.jsx)(DX,{}),(0,Yn.jsx)(MX,{marginBottom:"12px",textAlign:"center",children:(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(W5,{width:10,height:10,marginBottom:5}),(0,Yn.jsx)(li,{children:"Off-board Wallet"})]})}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(NX,{marginBottom:2,color:E$.gray[400],fontWeight:"bold",textAlign:"center",size:"sm",children:"This will permanently remove any data from this computer."}),(0,Yn.jsxs)(NX,{color:E$.gray[400],textAlign:"center",size:"sm",children:["Please enter \xab ",pue," \xbb to confirm. The accounts are still available to be imported in the future; in order to regain access to your accounts, please make sure that you keep the recovery phrase."]}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(ire,{borderColor:E$.gray[700],marginY:5}),(0,Yn.jsx)(OJ,{isInvalid:!!o.check,children:(0,Yn.jsx)(Aoe,{...r("check",{required:!0}),children:(0,Yn.jsx)(NX,{marginLeft:2,fontWeight:"bold",children:"I have read the warning and I am certain I want to remove my private keys locally. I also made sure to keep my recovery phrase."})})}),(0,Yn.jsx)(ire,{borderColor:E$.gray[700],marginY:5}),(0,Yn.jsxs)(OJ,{isInvalid:!!o.confirmationCode,paddingY:5,children:[(0,Yn.jsx)(O0,{type:"text",...r("confirmationCode",{required:"Confirmation is required",validate:e=>e===pue||"Confirmation code does not match"}),placeholder:"Enter code word to confirm"}),o.confirmationCode&&(0,Yn.jsx)(Qee,{children:o.confirmationCode.message})]})]})]}),(0,Yn.jsx)(IJ,{padding:0,children:(0,Yn.jsx)(_i,{width:"100%",marginBottom:2,isDisabled:!i,size:"lg",type:"submit",variant:"warning",children:"Confirm"})})]})})},gue=()=>(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Settings"}),(0,Yn.jsxs)(Qn,{overflowY:"scroll",children:[(0,Yn.jsx)(Qn,{marginTop:"16px",children:(0,Yn.jsx)(vue,{})}),(0,Yn.jsx)(yue,{}),(0,Yn.jsx)(wue,{}),(0,Yn.jsx)(xue,{})]})]}),vue=()=>(0,Yn.jsxs)(_ue,{title:"General",children:[(0,Yn.jsx)(due,{}),(0,Yn.jsx)(Qle,{})]}),yue=()=>null,bue=()=>{const e={version:hue,"persist:accounts":localStorage.getItem("persist:accounts"),"persist:root":localStorage.getItem("persist:root")},t=`data:text/json;chatset=utf-8,${encodeURIComponent(JSON.stringify(e))}`,r=document.createElement("a");r.href=t,r.download="UmamiV2Backup.json",r.click()},wue=()=>(0,Yn.jsx)(_ue,{title:"Backup",children:(0,Yn.jsx)(pie,{isSelected:!1,onClick:bue,children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",children:[(0,Yn.jsx)(li,{size:"sm",children:"Download backup file"}),(0,Yn.jsx)(_i,{onClick:bue,variant:"unstyled",children:(0,Yn.jsx)(Y2,{cursor:"pointer"})})]})})}),xue=()=>{const{modalElement:e,onOpen:r}=(()=>{const{isOpen:e,onOpen:t,onClose:r}=aK();return{modalElement:(0,Yn.jsxs)(kK,{isCentered:!0,isOpen:e,onClose:r,children:[(0,Yn.jsx)(BK,{}),(0,Yn.jsx)(IX,{background:E$.gray[900],children:(0,Yn.jsx)(mue,{})})]}),onOpen:t}})(),{openWith:n}=(0,t.useContext)(kW);return(0,Yn.jsxs)(_ue,{title:"Advanced Settings",children:[(0,Yn.jsx)(Zle,{}),(0,Yn.jsx)(mie,{left:"Off-board Wallet",isSelected:!1,onClick:r}),(0,Yn.jsx)(mie,{left:"Change Password",isSelected:!1,onClick:()=>n((0,Yn.jsx)(fue,{}))}),e]})},_ue=({title:e,children:t})=>(0,Yn.jsx)(Qn,{marginTop:"8px",children:(0,Yn.jsx)(Zn,{children:(0,Yn.jsxs)(Qn,{width:"550px",children:[(0,Yn.jsx)(li,{marginBottom:"16px",size:"lg",children:e}),t]})})}),Sue=({token:e,amount:t,...r})=>{const{contract:n}=e,i=xP(t,e),o=gP(e);return(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"start",width:"400px",padding:"15px",background:E$.gray[800],borderRadius:"4px","data-testid":"token-tile",...r,children:[(0,Yn.jsx)(Zn,{alignItems:"center",children:(0,Yn.jsx)(UX,{width:"30px",height:"30px",marginRight:"12px",ratio:1,children:(0,Yn.jsx)(B5,{padding:"6.25px",background:E$.gray[500],borderRadius:"4px",contract:n})})}),(0,Yn.jsx)(D3,{number:i}),(0,Yn.jsx)(NX,{marginLeft:"4px",size:"sm",children:o})]})},kue=e=>{const{mode:t,operations:r,fee:n,data:{token:i}}=e,{fee:o,operations:a,estimationFailed:s,isLoading:c,form:l,signer:u,reEstimate:d,onSign:h}=Dre(n,r,t),{amount:f,recipient:p}=a.operations[0];return(0,Yn.jsx)(oQ,{...l,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(pte,{...e,operationsType:a.type}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsx)(Sue,{amount:f,token:i}),(0,Yn.jsx)(Zn,{alignItems:"center",justifyContent:"end",marginTop:"12px",marginBottom:"24px",paddingX:"4px",children:(0,Yn.jsx)(Zn,{children:(0,Yn.jsx)(cte,{fee:o})})}),(0,Yn.jsx)(b0,{children:"From"}),(0,Yn.jsx)(z3,{marginBottom:"24px",address:a.sender.address}),(0,Yn.jsx)(b0,{children:"To"}),(0,Yn.jsx)(z3,{address:p}),(0,Yn.jsx)(Rre,{isLoading:c,operationType:a.type,reEstimate:d,sender:a.sender})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(rte,{isDisabled:s,isLoading:c,onSubmit:h,signer:u,text:fte(a.type,t)})})]})})})},Eue=e=>{const{token:t}=e,r=Hre({SignPage:kue,signPageExtraData:{token:t},FormPage:Eue,defaultFormPageProps:e,toOperation:Pue(t)}),n=Vre(Pue(t)),{onFormSubmitActionHandlers:[i,o],isLoading:a}=qre([r,n]),s=h0({mode:"onBlur",defaultValues:Nre(e)}),{formState:{isValid:c,errors:l},register:u,handleSubmit:d}=s,h=yP(t),f=wP(t.balance,h),p=zre(Number(h));return(0,Yn.jsx)(oQ,{...s,children:(0,Yn.jsx)(IX,{children:(0,Yn.jsxs)("form",{children:[(0,Yn.jsx)(ute,{}),(0,Yn.jsxs)(BX,{children:[(0,Yn.jsxs)(OJ,{isInvalid:!!l.prettyAmount,children:[(0,Yn.jsx)(b0,{children:"Amount"}),(0,Yn.jsxs)(k0,{children:[(0,Yn.jsx)(O0,{isDisabled:a,step:p,type:"number",...u("prettyAmount",{required:"Amount is required",max:{value:f.toString(),message:`Max amount is ${f}`},validate:Ure(Number(h))}),placeholder:p}),(0,Yn.jsx)(C0,{paddingRight:"12px","data-testid":"token-symbol",children:gP(t)})]}),l.prettyAmount&&(0,Yn.jsx)(Qee,{"data-testid":"amount-error",children:l.prettyAmount.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.sender,children:[(0,Yn.jsx)(K3,{allowUnknown:!1,inputName:"sender",isDisabled:!0,label:"From"}),l.sender&&(0,Yn.jsx)(Qee,{"data-testid":"from-error",children:l.sender.message})]}),(0,Yn.jsxs)(OJ,{marginTop:"24px",isInvalid:!!l.recipient,children:[(0,Yn.jsx)(V3,{allowUnknown:!0,inputName:"recipient",label:"To"}),l.recipient&&(0,Yn.jsx)(Qee,{"data-testid":"recipient-error",children:l.recipient.message})]})]}),(0,Yn.jsx)(IJ,{children:(0,Yn.jsx)(Lre,{isLoading:a,isValid:c,onAddToBatch:d(o),onSingleSubmit:d(i)})})]})})})},Pue=e=>t=>{const r={type:"fa2",sender:dd(t.sender),recipient:dd(t.recipient),contract:md(e.contract),tokenId:e.tokenId,amount:bP(e,t.prettyAmount)};return"fa2"===e.type?r:{...r,type:"fa1.2",tokenId:"0"}},Oue=({account:e})=>{const{address:t,label:r}=e,n=I3(t);return(0,Yn.jsxs)(Zn,{alignItems:"center",height:"78px",background:E$.gray[800],borderTopRadius:"8px","data-testid":"header",paddingX:"30px",children:[(0,Yn.jsx)(e3,{addressKind:n,identiconSize:35,size:"lg"}),(0,Yn.jsxs)(Zn,{justifyContent:"space-between",flex:1,children:[(0,Yn.jsxs)(Qn,{marginLeft:"16px","data-testid":"account-identifier",children:[(0,Yn.jsx)(li,{marginBottom:"4px",size:"md",children:r}),(0,Yn.jsx)(NX,{color:E$.gray[300],size:"sm",children:h3(t.pkh)})]}),(0,Yn.jsx)(Zn,{flexDirection:"column-reverse",children:(0,Yn.jsx)(B3,{verticalAlign:"bottom",address:e.address.pkh})})]})]})},Aue=({account:e,tokens:r})=>{const{openWith:n}=(0,t.useContext)(kW);return(0,Yn.jsxs)(g0,{overflowX:"auto",marginBottom:"16px",borderBottomRadius:"8px",backgroundColor:E$.gray[900],children:[(0,Yn.jsx)(Oue,{account:e}),(0,Yn.jsx)(Fte,{paddingX:"30px",children:(0,Yn.jsx)(Vte,{children:(0,Yn.jsx)(qte,{children:r.map(((t,i)=>{const o=i===r.length-1?"transparent":E$.gray[700];return(0,Yn.jsxs)(Kte,{"data-testid":"token-tile",children:[(0,Yn.jsx)(Wte,{width:"20%",minWidth:"240px",borderColor:o,paddingX:"0",children:(0,Yn.jsxs)(Zn,{alignItems:"center",children:[(0,Yn.jsx)(B5,{display:"inline-block",width:"38px",contract:t.contract}),(0,Yn.jsx)(li,{display:"inline-block",marginLeft:"16px",size:"sm",children:(0,Yn.jsx)(Rce,{token:t})})]})}),(0,Yn.jsx)(Wte,{width:"20%",minWidth:"200px",borderColor:o,paddingX:"0",children:(0,Yn.jsx)($ne,{address:md(t.contract)})}),(0,Yn.jsx)(Wte,{width:"15%",minWidth:"160px",borderColor:o,paddingX:"0",children:(0,Yn.jsx)(li,{size:"sm",children:xP(t.balance,t,{showSymbol:!1})})}),(0,Yn.jsx)(Wte,{textAlign:"right",borderColor:o,paddingX:"0",children:(0,Yn.jsx)(Cre,{onClick:()=>{n((0,Yn.jsx)(Eue,{sender:e,token:t}))}})})]},fP(t))}))})})})]})},Tue=()=>{const{accountsFilter:e,selectedAccounts:t}=Hle(),r=g3(),n=t.map((e=>[e,r(e.address.pkh)])).filter((([,e])=>e.length>0));return(0,Yn.jsxs)(Zn,{flexDirection:"column",height:"100%",children:[(0,Yn.jsx)(Ane,{title:"Tokens"}),e,0===n.length?(0,Yn.jsx)(yse,{title:"No Tokens found"}):(0,Yn.jsx)(Qn,{overflowY:"auto",children:n.map((([e,t])=>(0,Yn.jsx)(Aue,{account:e,tokens:t},e.address.pkh)))})]})},jue=e=>(0,Yn.jsxs)(NX,{color:E$.gray[450],...e,children:["Umami v",hue]}),Cue=r.p+"static/media/maki-default.9b24fbf6d7fd050fb08b.png",Rue=({size:e=100,...t})=>(0,Yn.jsx)(HX,{boxSize:e,objectFit:"cover",alt:"Maki logo",src:Cue,...t}),Iue=()=>{const e=i3(),t=o3(),r=a3();return(0,Yn.jsx)(Qn,{width:"105px",children:(0,Yn.jsx)(Hoe,{padding:0,color:E$.green,fontSize:"14px",fontWeight:600,border:"1px solid transparent","data-testid":"network-selector",onChange:e=>r(e.target.value),size:"xs",value:e.name,children:t.map((e=>(0,Yn.jsx)("option",{value:e.name,children:(0,iE.capitalize)(e.name)},e.name)))})})},Mue=()=>{const[e,r]=(0,t.useState)(!1),n=window;(0,t.useEffect)((()=>{n&&n.electronAPI&&n.electronAPI.onAppUpdateDownloaded((e=>r(!0)))}),[n]);return e?(0,Yn.jsx)(Qn,{marginTop:"24px",marginBottom:"6px",children:(0,Yn.jsxs)(_i,{justifyContent:"flex-start",width:"100%",height:"32px",paddingTop:"7px",paddingRight:"8px",paddingBottom:"7px",paddingLeft:"8px",color:E$.black,background:E$.green,_hover:{color:E$.black,background:E$.greenL},onClick:()=>{n&&n.electronAPI&&n.electronAPI.installAppUpdateAndQuit()},children:[(0,Yn.jsx)(c5,{}),(0,Yn.jsx)(NX,{marginLeft:"4px",size:"sm",children:"Update Umami"})]})}):null},Lue=()=>(0,Yn.jsxs)(Zn,{flexDirection:"column",width:"236px",padding:"30px 30px 30px 30px",background:E$.gray[900],children:[(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"space-between",height:"30px",children:[(0,Yn.jsx)(Rue,{size:38}),(0,Yn.jsx)(Iue,{})]}),(0,Yn.jsx)(ire,{marginTop:"28px"})]}),(0,Yn.jsxs)(Zn,{justifyContent:"space-between",flexDirection:"column",flex:1,children:[(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(Mue,{}),(0,Yn.jsx)(Due,{}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(I2,{}),label:"Accounts",to:"/home"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(K2,{}),label:"NFTs",to:"/nfts"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(T5,{width:"24px",height:"24px"}),label:"Operations",to:"/operations"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)($2,{}),label:"Tokens",to:"/tokens"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(B2,{}),label:"Batch",to:"/batch"})]})]}),(0,Yn.jsxs)(Qn,{children:[(0,Yn.jsx)(ire,{}),(0,Yn.jsx)(Nue,{marginTop:"22px",icon:(0,Yn.jsx)(N2,{}),label:"Address Book",to:"/address-book"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(l5,{}),label:"Settings",to:"/settings"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(u5,{}),label:"Help",to:"/help"}),(0,Yn.jsx)(Nue,{icon:(0,Yn.jsx)(i5,{}),label:"Share Feedback",target:"_blank",to:`mailto:umami-support@trili.tech?subject=Umami V2 feedback&body=${Ei}`}),(0,Yn.jsx)(jue,{marginTop:"24px",fontSize:"14px"})]})]})]}),Nue=({icon:e,target:t,label:r,to:n,...i})=>{const o=$H().pathname.startsWith(n);return(0,Yn.jsx)(vV,{rel:"noopener noreferrer",target:t,to:n,children:(0,Yn.jsxs)(Zn,{alignItems:"center",justifyContent:"flex-start",width:"176px",marginBottom:"8px",padding:"10px",background:o?E$.gray[600]:"transparent",borderRadius:"4px",_hover:{background:o?E$.gray[600]:E$.gray[800]},cursor:"pointer",...i,children:[e,(0,Yn.jsx)(NX,{marginLeft:"10px",size:"sm",children:r})]})})},Due=()=>{const e=b3(),[t]=Yre("(max-height: 900px)");return(0,Yn.jsxs)(Qn,{marginTop:"24px",marginBottom:t?"30px":"100px",children:[(0,Yn.jsx)(NX,{marginBottom:"4px",size:"sm",children:"Balance"}),null!==e&&(0,Yn.jsx)(Wce,{balance:e.mutez,dollarBalance:e.usd})]})},Bue=e=>(0,Yn.jsxs)(Zn,{height:"100vh",children:[(0,Yn.jsx)(Lue,{}),(0,Yn.jsx)(Qn,{flex:1,overflowX:"hidden",height:"100%",paddingX:6,children:e})]}),zue=r.p+"static/media/accounts.5f47a2af4c8394165d1e.png",Uue=r.p+"static/media/background_image.a833e862a22ad4910526.png",Fue=r.p+"static/media/batch.5ba4eb38fa8c4e1ed39b.png",$ue=r.p+"static/media/multisig.3ab2bbc3bda7df25ea83.png";var Hue=r(5155);const Vue=({children:e})=>{const t={background:E$.gray[400],width:"10px",height:"10px",display:"inline-block",margin:"0 4px 60px 4px",borderRadius:"5px"};return(0,Yn.jsx)(Qn,{backgroundImage:"linear-gradient(180deg, rgba(18, 18, 18, 0.00) 36.43%, rgba(18, 18, 18, 0.50) 53.65%, #121212 76.24%)",borderRightRadius:"30px",backgroundColor:"#323131",children:(0,Yn.jsx)(Hue.lr,{autoPlay:!0,dynamicHeight:!1,infiniteLoop:!0,interval:5e3,renderIndicator:(e,r,n)=>r?(0,Yn.jsx)("li",{style:{...t,background:"#00C39A",width:"24px"}}):(0,Yn.jsx)("li",{onClick:e,onKeyDown:e,role:"button",style:t,tabIndex:0,value:n},n),showArrows:!1,showStatus:!1,showThumbs:!1,transitionTime:1e3,children:e})})},que=({item:e})=>(0,Yn.jsx)(Qn,{height:"730px",paddingTop:"500px",paddingBottom:"35px",backgroundImage:e.image,backgroundSize:"cover",backgroundRepeat:"no-repeat","data-testid":`slide-${e.id}`,children:(0,Yn.jsxs)(Xn,{flexDirection:"column",paddingBottom:"50px",children:[(0,Yn.jsx)(Rie,{icon:e.icon,size:"58px"}),(0,Yn.jsx)(NX,{width:"400px",margin:"16px 50px 0 50px",children:e.text})]})}),Kue=()=>{const[e,r]=(0,t.useState)(!0),{onOpen:n,modalElement:i}=rae((()=>r(!0))),o=[{id:1,text:(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(NX,{as:"span",fontWeight:600,size:"md",children:"Streamline asset management:\xa0"}),(0,Yn.jsx)(NX,{as:"span",size:"md",children:"one mnemonic, multiple accounts, full control."})]}),icon:(0,Yn.jsx)(R5,{}),image:zue},{id:2,text:(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(NX,{as:"span",size:"md",children:"Enhance security with\xa0"}),(0,Yn.jsx)(NX,{as:"span",fontWeight:600,size:"md",children:"Multi-sig"}),(0,Yn.jsx)(NX,{as:"span",size:"md",children:", requiring multiple signatures for transaction executions."})]}),icon:(0,Yn.jsx)(f5,{width:"32px",height:"32px",stroke:E$.gray[450],strokeWidth:"0.9"}),image:$ue},{id:3,text:(0,Yn.jsxs)(Yn.Fragment,{children:[(0,Yn.jsx)(NX,{as:"span",size:"md",children:"Utilize the\xa0"}),(0,Yn.jsx)(NX,{as:"span",fontWeight:600,size:"md",children:"Batch\xa0"}),(0,Yn.jsx)(NX,{as:"span",size:"md",children:"feature to bundle transactions, improving efficiency and reducing costs."})]}),icon:(0,Yn.jsx)(B2,{width:"32px",height:"32px",strokeWidth:"0.9"}),image:Fue}];return(0,Yn.jsxs)(Xn,{height:"100vh",padding:"60px",backgroundImage:Uue,backgroundSize:"cover",children:[e&&(0,Yn.jsxs)(Joe,{boxShadow:"0px 0px 30px rgba(0, 0, 0, 0.30)",columns:[1,1,2],children:[(0,Yn.jsx)(Xn,{width:"100%",maxWidth:"660px",background:E$.gray[800],borderLeftRadius:"30px",children:(0,Yn.jsxs)(Cie,{maxWidth:"400px",padding:"32px",spacing:"0",children:[(0,Yn.jsx)(Rue,{marginBottom:"24px",size:"48px"}),(0,Yn.jsx)(li,{marginBottom:"16px",size:"3xl",children:"Welcome to Umami"}),(0,Yn.jsx)(ire,{maxWidth:"400px",marginBottom:"16px"}),(0,Yn.jsx)(NX,{marginBottom:"32px",color:E$.gray[450],children:"A powerful Tezos wallet"}),(0,Yn.jsx)(_i,{width:"100%",marginBottom:"24px",onClick:()=>{r(!1),n()},size:"lg",children:"Get started"}),(0,Yn.jsx)(jue,{fontSize:"13px"})]})}),(0,Yn.jsx)(Qn,{maxWidth:"660px",children:(0,Yn.jsx)(Vue,{children:o.map((e=>(0,Yn.jsx)(que,{item:e},e.id)))})})]}),i]})},Wue=()=>{Ute();return E3().length>0?(0,Yn.jsx)(Gue,{}):(0,Yn.jsx)(Yue,{})},Gue=()=>{zte();const e=EW();return(0,Yn.jsx)(pV,{children:(0,Yn.jsx)(kW.Provider,{value:e,children:(0,Yn.jsxs)(Ate,{children:[(0,Yn.jsx)(Qq,{}),(0,Yn.jsxs)(sV,{children:[(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(fle,{})),path:"/home"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(fle,{})),path:"/home/:ownerPkh/:nftId"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(Vle,{})),path:"/nfts"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(qle,{})),path:"/operations"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(Tue,{})),path:"/tokens"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(jne,{})),path:"/address-book"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(gue,{})),path:"/settings"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(gie,{})),path:"/help"}),(0,Yn.jsx)(oV,{element:Bue((0,Yn.jsx)(lie,{})),path:"/batch"}),(0,Yn.jsx)(oV,{element:(0,Yn.jsx)(iV,{to:"/home"}),path:"/*"})]}),e.content]})})})},Yue=()=>{const e=(()=>{const e=eo();return()=>e(qP.actions.reset())})();return(0,t.useEffect)((()=>{(async()=>{await Ste.removeAllAccounts(),await Ste.removeAllAppMetadata(),await Ste.removeAllPeers(),await Ste.removeAllPermissions()})().then(e)}),[e]),(0,Yn.jsx)(pV,{children:(0,Yn.jsxs)(sV,{children:[(0,Yn.jsx)(oV,{element:(0,Yn.jsx)(iV,{to:"/welcome"}),path:"/*"}),(0,Yn.jsx)(oV,{element:(0,Yn.jsx)(Kue,{}),path:"/welcome"})]})})};i.createRoot(document.getElementById("root")).render((0,Yn.jsx)(t.StrictMode,{children:(0,Yn.jsx)(Z$,{children:(0,Yn.jsx)(uO,{children:(0,Yn.jsx)(te,{loading:null,persistor:function(e,t,r){var n=r||!1,i=z(G,W,t&&t.enhancer?t.enhancer:void 0),o=function(e){i.dispatch({type:p,key:e})},a=function(t,r,o){var a={type:u,payload:r,err:o,key:t};e.dispatch(a),i.dispatch(a),n&&s.getState().bootstrapped&&(n(),n=!1)},s=q({},i,{purge:function(){var t=[];return e.dispatch({type:f,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:l,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:d})},persist:function(){e.dispatch({type:h,register:o,rehydrate:a})}});return t&&t.manualPersist||s.persist(),s}(lO),children:(0,Yn.jsx)(s,{fallback:(0,Yn.jsx)(Pi,{}),onError:(e,t)=>{const r={...Gee(e),stacktrace:String(t.componentStack)};lO.dispatch(XP.actions.add(r))},children:(0,Yn.jsx)(Ti,{children:(0,Yn.jsx)(Wue,{})})})})})})}))})()})(); +//# sourceMappingURL=main.908d7cc4.js.map \ No newline at end of file diff --git a/static/js/main.e5ce2461.js.LICENSE.txt b/static/js/main.908d7cc4.js.LICENSE.txt similarity index 100% rename from static/js/main.e5ce2461.js.LICENSE.txt rename to static/js/main.908d7cc4.js.LICENSE.txt diff --git a/static/js/main.e5ce2461.js.map b/static/js/main.908d7cc4.js.map similarity index 67% rename from static/js/main.e5ce2461.js.map rename to static/js/main.908d7cc4.js.map index 9c05123d5..d2fa69f6d 100644 --- a/static/js/main.e5ce2461.js.map +++ b/static/js/main.908d7cc4.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/main.e5ce2461.js","mappings":"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C/D02B,EAAM,WAENC,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAKhB,EACLiB,EAAMhB,EACNiB,EAAMhB,EACNiB,EAAMhB,EACNiB,EAAMhB,EACNiB,EAAMhB,EACNiB,EAAMhB,EAGD9zB,EAAI,EAAGA,EAAI4yB,EAAQ5yB,GAAK,EAQ7B+zB,IADAre,GADAif,IADAjf,GADA6e,IADA7e,GADAye,IADAze,EAAIqe,EAAKY,EAAM,IACJ,EAAIjf,IAAO,IACbqe,EAAK,IACH,EAAIre,IAAO,IACbye,EAAK,IACF,GAAKze,IAAO,IACd6e,EAAK,IACJ,GAAK7e,IAAO,GASvB0e,IADA1e,GADAse,IADAte,GADAkf,IADAlf,GADA8e,IADA9e,EAAI0e,EAAKJ,EAAK,IACH,EAAIte,IAAO,IACb0e,EAAK,IACF,EAAI1e,IAAO,IACb8e,EAAK,IACJ,GAAK9e,IAAO,IACdkf,EAAM,IACJ,GAAKlf,IAAO,GASvB+e,IADA/e,GADA2e,IADA3e,GADAue,IADAve,GADAmf,IADAnf,EAAI+e,EAAMJ,EAAK,IACH,EAAI3e,IAAO,IACb+e,EAAM,IACL,EAAI/e,IAAO,IACbmf,EAAM,IACJ,GAAKnf,IAAO,IACdue,EAAK,IACF,GAAKve,IAAO,GASxBof,IADApf,GADAgf,IADAhf,GADA4e,IADA5e,GADAwe,IADAxe,EAAIof,EAAMJ,EAAM,IACL,EAAIhf,IAAO,IACbof,EAAM,IACJ,EAAIpf,IAAO,IACbwe,EAAK,IACF,GAAKxe,IAAO,IACd4e,EAAK,IACH,GAAK5e,IAAO,GASxBqe,IADAre,GADAwe,IADAxe,GADAue,IADAve,GADAse,IADAte,EAAIqe,EAAKG,EAAK,IACH,EAAIxe,IAAO,IACbqe,EAAK,IACH,EAAIre,IAAO,IACbse,EAAK,IACH,GAAKte,IAAO,IACdue,EAAK,IACH,GAAKve,IAAO,GASvB0e,IADA1e,GADAye,IADAze,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2E,GAAK3E,EAAE2E,GAAK3E,EAAE4E,GAAKiM,EACrB7Q,EAAEof,GAAKkwB,EAAOtvC,EAAEof,GAAKpf,EAAE2E,GAAI,IAC3B3E,EAAE9G,GAAK8G,EAAE9G,GAAK8G,EAAEof,GAChBpf,EAAE4E,GAAK0qC,EAAOtvC,EAAE4E,GAAK5E,EAAE9G,GAAI,IAC3B8G,EAAE2E,GAAK3E,EAAE2E,GAAK3E,EAAE4E,GAAKkM,EACrB9Q,EAAEof,GAAKkwB,EAAOtvC,EAAEof,GAAKpf,EAAE2E,GAAI,GAC3B3E,EAAE9G,GAAK8G,EAAE9G,GAAK8G,EAAEof,GAChBpf,EAAE4E,GAAK0qC,EAAOtvC,EAAE4E,GAAK5E,EAAE9G,GAAI,EAC7B,CAKA,SAASo2C,EAAQz+B,EAAGC,GAClB,OAAQD,IAAMC,EAAMD,GAAM,GAAKC,CACjC,CAGA,MAAMy+B,EAAa,IAAI/kC,YAAY,CACjC,WACA,WACA,WACA,WACA,WACA,WACA,UACA,aAGIqO,EAAQ,IAAI1R,WAAW,CAC3B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,GACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EA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CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINN,IAAK,CACHplB,IAAK,EACL0lB,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,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C,WACnBr0G,IAAS0xG,GAAU4C,SACnBt0G,IAAS0xG,GAAU6C,MACnBv0G,IAAS0xG,GAAU8C,OAEvB,CK+4CS2K,CAAsBn/G,GAAS,IAAGA,KAAUA,CACrD,CC3+CA,MAAMo/G,GAAgB,gCAEtB,SAASC,GAAgBxyW,GACvB,OAAOyyW,GAAgBzyW,EAAIG,WAAW,GACxC,CAEA,MAAMsyW,GAAkB,CACtB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,MACA,MACA,MACA,UACA,MACA,MACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,GACA,GACA,MACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,OACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCrKWC,GAAQ55W,OAAO6xM,OAAO,CAAC,GAgU7B,SAASgoK,GAAqBjzF,EAASvsB,GAC5C,MAAMy/G,EAAclzF,EAAQvsB,GAE5B,MAA2B,kBAAhBy/G,EAEFA,EACyB,oBAAhBA,EAET,CACLC,MAAOD,EACPE,WAAOriX,GAIJ,CAC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","sources":["../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/index.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/adapters/xhr.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/axios.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/cancel/Cancel.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/cancel/CancelToken.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/cancel/isCancel.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/Axios.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/InterceptorManager.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/buildFullPath.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/createError.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/dispatchRequest.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/enhanceError.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/mergeConfig.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/settle.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/core/transformData.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/defaults.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/env/data.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/bind.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/buildURL.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/combineURLs.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/cookies.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/spread.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/helpers/validator.js","../node_modules/@airgap/beacon-transport-matrix/node_modules/axios/lib/utils.js","../node_modules/@chaitanyapotti/register-service-worker/index.js","../node_modules/@noble/hashes/src/_assert.ts","../node_modules/@noble/hashes/src/_sha2.ts","../node_modules/@noble/hashes/src/_u64.ts","../node_modules/@noble/hashes/src/crypto.ts","../node_modules/@noble/hashes/src/hmac.ts","../node_modules/@noble/hashes/src/pbkdf2.ts","../node_modules/@noble/hashes/src/sha256.ts","../node_modules/@noble/hashes/src/sha3.ts","../node_modules/@noble/hashes/src/sha512.ts","../node_modules/@noble/hashes/src/utils.ts","../node_modules/@stablelib/binary/binary.ts","../node_modules/@stablelib/blake2b/blake2b.ts","../node_modules/@stablelib/bytes/bytes.ts","../node_modules/@stablelib/constant-time/constant-time.ts","../node_modules/@stablelib/ed25519/ed25519.ts","../node_modules/@stablelib/hash/hash.ts","../node_modules/@stablelib/hmac/hmac.ts","../node_modules/@stablelib/int/int.ts","../node_modules/@stablelib/nacl/box.ts","../node_modules/@stablelib/nacl/nacl.ts","../node_modules/@stablelib/nacl/secretbox.ts","../node_modules/@stablelib/poly1305/poly1305.ts","../node_modules/@stablelib/random/random.ts","../node_modules/@stablelib/random/source/browser.ts","../node_modules/@stablelib/random/source/node.ts","../node_modules/@stablelib/random/source/system.ts","../node_modules/@stablelib/salsa20/salsa20.ts","../node_modules/@stablelib/sha512/sha512.ts","../node_modules/@stablelib/utf8/utf8.ts","../node_modules/@stablelib/wipe/wipe.ts","../node_modules/@stablelib/x25519-session/keyagreement.ts","../node_modules/@stablelib/x25519-session/x25519-session.ts","../node_modules/@stablelib/x25519/x25519.ts","../node_modules/@stablelib/xsalsa20/xsalsa20.ts","../node_modules/@taquito/http-utils/node_modules/node-fetch/browser.js","../node_modules/@taquito/utils/node_modules/base-x/src/index.js","../node_modules/@taquito/utils/node_modules/bs58/index.js","../node_modules/@taquito/utils/node_modules/bs58check/base.js","../node_modules/@taquito/utils/node_modules/bs58check/index.js","../node_modules/@toruslabs/torus.js/node_modules/bn.js/lib/bn.js","../node_modules/base-x/src/index.js","../node_modules/base64-js/index.js","../node_modules/bip39/src/_wordlists.js","../node_modules/bip39/src/index.js","../node_modules/blakejs/blake2b.js","../node_modules/blakejs/blake2s.js","../node_modules/blakejs/index.js","../node_modules/blakejs/util.js","../node_modules/bn.js/lib/bn.js","../node_modules/bowser/es5.js","../node_modules/brorand/index.js","../node_modules/bs58/index.js","../node_modules/bs58check/base.js","../node_modules/bs58check/index.js","../node_modules/buffer/index.js","../node_modules/cipher-base/index.js","../node_modules/classnames/index.js","../node_modules/create-hash/browser.js","../node_modules/create-hash/md5.js","../node_modules/cross-fetch/dist/browser-ponyfill.js","../node_modules/deepmerge/dist/cjs.js","../node_modules/elliptic/lib/elliptic.js","../node_modules/elliptic/lib/elliptic/curve/base.js","../node_modules/elliptic/lib/elliptic/curve/edwards.js","../node_modules/elliptic/lib/elliptic/curve/index.js","../node_modules/elliptic/lib/elliptic/curve/mont.js","../node_modules/elliptic/lib/elliptic/curve/short.js","../node_modules/elliptic/lib/elliptic/curves.js","../node_modules/elliptic/lib/elliptic/ec/index.js","../node_modules/elliptic/lib/elliptic/ec/key.js","../node_modules/elliptic/lib/elliptic/ec/signature.js","../node_modules/elliptic/lib/elliptic/eddsa/index.js","../node_modules/elliptic/lib/elliptic/eddsa/key.js","../node_modules/elliptic/lib/elliptic/eddsa/signature.js","../node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","../node_modules/elliptic/lib/elliptic/utils.js","../node_modules/err-code/index.js","../node_modules/ethereum-cryptography/keccak.js","../node_modules/ethereum-cryptography/utils.js","../node_modules/events/events.js","../node_modules/fast-json-stable-stringify/index.js","../node_modules/hash-base/index.js","../node_modules/hash.js/lib/hash.js","../node_modules/hash.js/lib/hash/common.js","../node_modules/hash.js/lib/hash/hmac.js","../node_modules/hash.js/lib/hash/ripemd.js","../node_modules/hash.js/lib/hash/sha.js","../node_modules/hash.js/lib/hash/sha/1.js","../node_modules/hash.js/lib/hash/sha/224.js","../node_modules/hash.js/lib/hash/sha/256.js","../node_modules/hash.js/lib/hash/sha/384.js","../node_modules/hash.js/lib/hash/sha/512.js","../node_modules/hash.js/lib/hash/sha/common.js","../node_modules/hash.js/lib/hash/utils.js","../node_modules/hmac-drbg/lib/hmac-drbg.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/ieee754/index.js","../node_modules/inherits/inherits_browser.js","../node_modules/json-stable-stringify/index.js","../node_modules/jsonify/index.js","../node_modules/jsonify/lib/parse.js","../node_modules/jsonify/lib/stringify.js","../node_modules/load-script/index.js","../node_modules/lodash.isequal/index.js","../node_modules/lodash.merge/index.js","../node_modules/lodash.mergewith/index.js","../node_modules/lodash/lodash.js","../node_modules/loglevel/lib/loglevel.js","../node_modules/lru-cache/index.js","../node_modules/md5.js/index.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/minimalistic-assert/index.js","../node_modules/minimalistic-crypto-utils/lib/utils.js","../node_modules/papaparse/papaparse.min.js","../node_modules/pbkdf2/browser.js","../node_modules/pbkdf2/lib/async.js","../node_modules/pbkdf2/lib/default-encoding.js","../node_modules/pbkdf2/lib/precondition.js","../node_modules/pbkdf2/lib/sync-browser.js","../node_modules/pbkdf2/lib/to-buffer.js","../node_modules/pluralize/pluralize.js","../node_modules/process/browser.js","../node_modules/promise-retry/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/qrcode-generator/qrcode.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-easy-swipe/lib/index.js","../node_modules/react-easy-swipe/lib/react-swipe.js","../node_modules/react-fast-compare/index.js","../node_modules/react-identicons/build/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-player/lib/Player.js","../node_modules/react-player/lib/Preview.js","../node_modules/react-player/lib/ReactPlayer.js","../node_modules/react-player/lib/index.js","../node_modules/react-player/lib/patterns.js","../node_modules/react-player/lib/players/DailyMotion.js","../node_modules/react-player/lib/players/Facebook.js","../node_modules/react-player/lib/players/FilePlayer.js","../node_modules/react-player/lib/players/Kaltura.js","../node_modules/react-player/lib/players/Mixcloud.js","../node_modules/react-player/lib/players/SoundCloud.js","../node_modules/react-player/lib/players/Streamable.js","../node_modules/react-player/lib/players/Twitch.js","../node_modules/react-player/lib/players/Vidyard.js","../node_modules/react-player/lib/players/Vimeo.js","../node_modules/react-player/lib/players/Wistia.js","../node_modules/react-player/lib/players/YouTube.js","../node_modules/react-player/lib/players/index.js","../node_modules/react-player/lib/props.js","../node_modules/react-player/lib/utils.js","../node_modules/react-qrcode-logo/dist/index.js","../node_modules/react-query/es/core/focusManager.js","../node_modules/react-query/es/core/logger.js","../node_modules/react-query/es/core/notifyManager.js","../node_modules/react-query/es/core/onlineManager.js","../node_modules/react-query/es/core/query.js","../node_modules/react-query/es/core/queryCache.js","../node_modules/react-query/es/core/mutation.js","../node_modules/react-query/es/core/mutationCache.js","../node_modules/react-query/es/core/infiniteQueryBehavior.js","../node_modules/react-query/es/core/queryClient.js","../node_modules/react-query/es/core/retryer.js","../node_modules/react-query/es/core/subscribable.js","../node_modules/react-query/es/core/utils.js","../node_modules/react-query/es/react/reactBatchedUpdates.js","../node_modules/react-query/es/react/setBatchUpdatesFn.js","../node_modules/react-query/es/react/logger.js","../node_modules/react-query/es/react/setLogger.js","../node_modules/react-query/es/react/QueryClientProvider.js","../node_modules/react-query/es/core/queryObserver.js","../node_modules/react-query/es/react/QueryErrorResetBoundary.js","../node_modules/react-query/es/react/useQuery.js","../node_modules/react-query/es/react/useBaseQuery.js","../node_modules/react-query/es/react/utils.js","../node_modules/react-responsive-carousel/lib/js/CSSTranslate.js","../node_modules/react-responsive-carousel/lib/js/components/Carousel/animations.js","../node_modules/react-responsive-carousel/lib/js/components/Carousel/index.js","../node_modules/react-responsive-carousel/lib/js/components/Carousel/utils.js","../node_modules/react-responsive-carousel/lib/js/components/Thumbs.js","../node_modules/react-responsive-carousel/lib/js/cssClasses.js","../node_modules/react-responsive-carousel/lib/js/dimensions.js","../node_modules/react-responsive-carousel/lib/js/index.js","../node_modules/react-responsive-carousel/lib/js/shims/document.js","../node_modules/react-responsive-carousel/lib/js/shims/window.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/readable-stream/errors-browser.js","../node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/readable-stream/lib/_stream_readable.js","../node_modules/readable-stream/lib/_stream_transform.js","../node_modules/readable-stream/lib/_stream_writable.js","../node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/readable-stream/readable-browser.js","../node_modules/redux-persist/lib/storage/createWebStorage.js","../node_modules/redux-persist/lib/storage/getStorage.js","../node_modules/redux-persist/lib/storage/index.js","../node_modules/retry/index.js","../node_modules/retry/lib/retry.js","../node_modules/retry/lib/retry_operation.js","../node_modules/ripemd160/index.js","../node_modules/safe-buffer/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/semver/classes/comparator.js","../node_modules/semver/classes/range.js","../node_modules/semver/classes/semver.js","../node_modules/semver/functions/clean.js","../node_modules/semver/functions/cmp.js","../node_modules/semver/functions/coerce.js","../node_modules/semver/functions/compare-build.js","../node_modules/semver/functions/compare-loose.js","../node_modules/semver/functions/compare.js","../node_modules/semver/functions/diff.js","../node_modules/semver/functions/eq.js","../node_modules/semver/functions/gt.js","../node_modules/semver/functions/gte.js","../node_modules/semver/functions/inc.js","../node_modules/semver/functions/lt.js","../node_modules/semver/functions/lte.js","../node_modules/semver/functions/major.js","../node_modules/semver/functions/minor.js","../node_modules/semver/functions/neq.js","../node_modules/semver/functions/parse.js","../node_modules/semver/functions/patch.js","../node_modules/semver/functions/prerelease.js","../node_modules/semver/functions/rcompare.js","../node_modules/semver/functions/rsort.js","../node_modules/semver/functions/satisfies.js","../node_modules/semver/functions/sort.js","../node_modules/semver/functions/valid.js","../node_modules/semver/index.js","../node_modules/semver/internal/constants.js","../node_modules/semver/internal/debug.js","../node_modules/semver/internal/identifiers.js","../node_modules/semver/internal/parse-options.js","../node_modules/semver/internal/re.js","../node_modules/semver/ranges/gtr.js","../node_modules/semver/ranges/intersects.js","../node_modules/semver/ranges/ltr.js","../node_modules/semver/ranges/max-satisfying.js","../node_modules/semver/ranges/min-satisfying.js","../node_modules/semver/ranges/min-version.js","../node_modules/semver/ranges/outside.js","../node_modules/semver/ranges/simplify.js","../node_modules/semver/ranges/subset.js","../node_modules/semver/ranges/to-comparators.js","../node_modules/semver/ranges/valid.js","../node_modules/sha.js/hash.js","../node_modules/sha.js/index.js","../node_modules/sha.js/sha.js","../node_modules/sha.js/sha1.js","../node_modules/sha.js/sha224.js","../node_modules/sha.js/sha256.js","../node_modules/sha.js/sha384.js","../node_modules/sha.js/sha512.js","../node_modules/stream-browserify/index.js","../node_modules/string_decoder/lib/string_decoder.js","../node_modules/typedarray-to-buffer/index.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/util-deprecate/browser.js","../node_modules/yallist/iterator.js","../node_modules/yallist/yallist.js","../node_modules/@toruslabs/broadcast-channel/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@toruslabs/broadcast-channel/node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@toruslabs/broadcast-channel/node_modules/@babel/runtime/regenerator/index.js","../node_modules/react-query/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-query/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-query/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/nonce","../node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../node_modules/redux-persist/es/constants.js","../node_modules/redux-persist/es/stateReconciler/autoMergeLevel1.js","../node_modules/redux-persist/es/createPersistoid.js","../node_modules/redux-persist/es/getStoredState.js","../node_modules/redux-persist/es/purgeStoredState.js","../node_modules/redux-persist/es/persistReducer.js","../node_modules/redux/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/redux/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/redux/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/redux/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/redux/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/redux/es/redux.js","../node_modules/redux-persist/es/persistStore.js","../node_modules/redux-persist/es/integration/react.js","../node_modules/@chakra-ui/system/src/forward-ref.tsx","../node_modules/@chakra-ui/shared-utils/dist/index.mjs","../node_modules/@chakra-ui/styled-system/dist/index.mjs","../node_modules/@chakra-ui/system/src/should-forward-prop.ts","../node_modules/@chakra-ui/color-mode/src/color-mode-context.ts","../node_modules/@chakra-ui/utils/dist/chunk-YTQ3XZ3T.mjs","../node_modules/@chakra-ui/utils/dist/chunk-M3TFMUOL.mjs","../node_modules/@chakra-ui/utils/dist/chunk-Y5FGD7DM.mjs","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@chakra-ui/system/src/system.ts","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@chakra-ui/object-utils/dist/chunk-OLTBUDV5.mjs","../node_modules/@chakra-ui/system/src/factory.ts","../node_modules/@chakra-ui/layout/src/flex.tsx","../node_modules/@chakra-ui/layout/src/center.tsx","../node_modules/@chakra-ui/layout/src/box.tsx","../node_modules/@chakra-ui/system/src/use-theme.ts","../node_modules/@chakra-ui/system/src/hooks.ts","../node_modules/@chakra-ui/system/src/use-style-config.ts","../node_modules/@chakra-ui/layout/src/heading.tsx","../node_modules/@chakra-ui/react-context/src/index.ts","../node_modules/@chakra-ui/button/src/button-context.ts","../node_modules/@chakra-ui/button/src/button-icon.tsx","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@chakra-ui/spinner/src/spinner.tsx","../node_modules/@chakra-ui/button/src/button-spinner.tsx","../node_modules/@chakra-ui/react-use-merge-refs/src/index.ts","../node_modules/@chakra-ui/button/src/button.tsx","../node_modules/@chakra-ui/button/src/use-button-type.tsx","../node_modules/@chakra-ui/layout/src/link.tsx","components/ErrorPage.tsx","providers/ReactQueryProvider.tsx","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/connect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/react-redux/es/index.js","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createAsyncThunk.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/task.ts","../node_modules/@reduxjs/toolkit/src/autoBatchEnhancer.ts","../node_modules/@reduxjs/toolkit/src/index.ts","../node_modules/bignumber.js/bignumber.mjs","utils/crypto/KDF.ts","utils/crypto/AES.ts","utils/account/derivationPathUtils.ts","../node_modules/zod/lib/index.mjs","types/Address.ts","utils/account/makeMnemonicAccount.ts","../node_modules/@ledgerhq/errors/src/helpers.ts","../node_modules/@ledgerhq/errors/src/index.ts","../node_modules/@ledgerhq/hw-transport/src/Transport.ts","../node_modules/@ledgerhq/devices/src/hid-framing.ts","../node_modules/@ledgerhq/devices/src/index.ts","../node_modules/@ledgerhq/logs/src/index.ts","../node_modules/@ledgerhq/hw-transport-webusb/src/webusb.ts","../node_modules/@ledgerhq/hw-transport-webusb/src/TransportWebUSB.ts","../node_modules/tslib/tslib.es6.mjs","../node_modules/rxjs/src/internal/util/isFunction.ts","../node_modules/rxjs/src/internal/util/createErrorClass.ts","../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts","../node_modules/rxjs/src/internal/util/arrRemove.ts","../node_modules/rxjs/src/internal/Subscription.ts","../node_modules/rxjs/src/internal/config.ts","../node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts","../node_modules/rxjs/src/internal/util/reportUnhandledError.ts","../node_modules/rxjs/src/internal/util/noop.ts","../node_modules/rxjs/src/internal/NotificationFactories.ts","../node_modules/rxjs/src/internal/util/errorContext.ts","../node_modules/rxjs/src/internal/Subscriber.ts","../node_modules/rxjs/src/internal/symbol/observable.ts","../node_modules/rxjs/src/internal/util/identity.ts","../node_modules/rxjs/src/internal/util/pipe.ts","../node_modules/rxjs/src/internal/Observable.ts","../node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts","../node_modules/rxjs/src/internal/Subject.ts","../node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts","../node_modules/rxjs/src/internal/ReplaySubject.ts","../node_modules/rxjs/src/internal/BehaviorSubject.ts","../node_modules/rxjs/src/internal/observable/throwError.ts","../node_modules/rxjs/src/internal/util/isArrayLike.ts","../node_modules/rxjs/src/internal/util/isPromise.ts","../node_modules/rxjs/src/internal/util/isInteropObservable.ts","../node_modules/rxjs/src/internal/util/isAsyncIterable.ts","../node_modules/rxjs/src/internal/util/throwUnobservableError.ts","../node_modules/rxjs/src/internal/symbol/iterator.ts","../node_modules/rxjs/src/internal/util/isIterable.ts","../node_modules/rxjs/src/internal/util/isReadableStreamLike.ts","../node_modules/rxjs/src/internal/observable/innerFrom.ts","../node_modules/rxjs/src/internal/observable/defer.ts","../node_modules/rxjs/src/internal/observable/empty.ts","../node_modules/rxjs/src/internal/observable/range.ts","../node_modules/rxjs/src/internal/util/isScheduler.ts","../node_modules/rxjs/src/internal/util/args.ts","../node_modules/rxjs/src/internal/util/executeSchedule.ts","../node_modules/rxjs/src/internal/util/lift.ts","../node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts","../node_modules/rxjs/src/internal/operators/observeOn.ts","../node_modules/rxjs/src/internal/operators/subscribeOn.ts","../node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts","../node_modules/rxjs/src/internal/scheduled/scheduled.ts","../node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts","../node_modules/rxjs/src/internal/scheduled/scheduleArray.ts","../node_modules/rxjs/src/internal/scheduled/schedulePromise.ts","../node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts","../node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts","../node_modules/rxjs/src/internal/observable/from.ts","../node_modules/rxjs/src/internal/observable/of.ts","../node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts","../node_modules/rxjs/src/internal/operators/map.ts","../node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts","../node_modules/rxjs/src/internal/observable/combineLatest.ts","../node_modules/rxjs/src/internal/util/createObject.ts","../node_modules/rxjs/src/internal/operators/mergeMap.ts","../node_modules/rxjs/src/internal/operators/mergeInternals.ts","../node_modules/rxjs/src/internal/operators/concatAll.ts","../node_modules/rxjs/src/internal/operators/mergeAll.ts","../node_modules/rxjs/src/internal/observable/concat.ts","../node_modules/rxjs/src/internal/observable/never.ts","../node_modules/rxjs/src/internal/scheduler/Action.ts","../node_modules/rxjs/src/internal/scheduler/intervalProvider.ts","../node_modules/rxjs/src/internal/scheduler/AsyncAction.ts","../node_modules/rxjs/src/internal/Scheduler.ts","../node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts","../node_modules/rxjs/src/internal/scheduler/async.ts","../node_modules/rxjs/src/internal/util/isDate.ts","../node_modules/rxjs/src/internal/observable/timer.ts","../node_modules/rxjs/src/internal/operators/switchMap.ts","../node_modules/rxjs/src/internal/operators/timeout.ts","../node_modules/rxjs/src/internal/operators/concatMap.ts","../node_modules/rxjs/src/internal/operators/endWith.ts","../node_modules/rxjs/src/internal/operators/tap.ts","../node_modules/rxjs/src/internal/operators/share.ts","../node_modules/rxjs/src/internal/operators/shareReplay.ts","../node_modules/rxjs/src/internal/operators/filter.ts","../node_modules/rxjs/src/internal/util/EmptyError.ts","../node_modules/rxjs/src/internal/operators/throwIfEmpty.ts","../node_modules/rxjs/src/internal/operators/first.ts","../node_modules/rxjs/src/internal/operators/take.ts","../node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts","../node_modules/rxjs/src/internal/operators/catchError.ts","../node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts","../node_modules/rxjs/src/internal/operators/retry.ts","../node_modules/rxjs/src/internal/operators/pluck.ts","../node_modules/rxjs/src/internal/operators/refCount.ts","../node_modules/rxjs/src/internal/observable/ConnectableObservable.ts","../node_modules/rxjs/src/internal/operators/connect.ts","../node_modules/rxjs/src/internal/observable/fromSubscribable.ts","../node_modules/rxjs/src/internal/operators/publish.ts","../node_modules/rxjs/src/internal/operators/multicast.ts","../node_modules/rxjs/src/internal/operators/takeWhile.ts","../node_modules/rxjs/src/internal/operators/startWith.ts","../node_modules/rxjs/src/internal/operators/takeUntil.ts","../node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","utils/tezos/fakeSigner.ts","multisig/multisigUtils.ts","types/Operation.ts","utils/tezos/helpers.ts","utils/tezos/estimate.ts","../node_modules/@chriscdn/promise-semaphore/src/index.ts","../node_modules/@tzkt/oazapfts/src/runtime/util.ts","../node_modules/@tzkt/oazapfts/src/runtime/query.ts","../node_modules/@tzkt/oazapfts/src/index.ts","../node_modules/@tzkt/sdk-api/src/queryParamParsers.ts","../node_modules/@tzkt/sdk-api/src/index.ts","../node_modules/@tzkt/oazapfts/src/runtime/index.ts","utils/tezos/consts.ts","utils/tezos/fetch.ts","utils/tezos/execute.ts","utils/mnemonic.ts","utils/redux/extraArgument.ts","utils/redux/thunks/changeMnemonicPassword.ts","utils/redux/thunks/restoreMnemonicAccounts.ts","utils/redux/slices/accountsSlice.ts","types/Token.ts","types/TokenBalance.ts","utils/redux/slices/assetsSlice.ts","types/Network.ts","utils/redux/slices/batches.ts","utils/redux/slices/beaconSlice.ts","utils/hooks/contactsUtils.ts","utils/redux/slices/contactsSlice.ts","utils/redux/slices/errorsSlice.ts","utils/redux/slices/multisigsSlice.ts","utils/redux/slices/networks.ts","utils/redux/slices/tokensSlice.ts","utils/redux/reducer.ts","utils/redux/store.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","providers/ReduxStore.tsx","../node_modules/@chakra-ui/css-reset/src/css-reset.tsx","../node_modules/@chakra-ui/portal/src/portal-manager.tsx","../node_modules/@chakra-ui/react-utils/dist/chunk-ITIKTQWJ.mjs","../node_modules/@chakra-ui/system/src/providers.tsx","../node_modules/@chakra-ui/color-mode/src/color-mode.utils.ts","../node_modules/@chakra-ui/color-mode/src/storage-manager.ts","../node_modules/@chakra-ui/react-use-safe-layout-effect/src/index.ts","../node_modules/@chakra-ui/color-mode/src/color-mode-provider.tsx","../node_modules/@chakra-ui/react-env/src/env.tsx","../node_modules/@chakra-ui/provider/src/chakra-provider.tsx","../node_modules/@chakra-ui/theme/src/foundations/transition.ts","../node_modules/@chakra-ui/theme/src/foundations/z-index.ts","../node_modules/@chakra-ui/theme/src/foundations/borders.ts","../node_modules/@chakra-ui/theme/src/foundations/breakpoints.ts","../node_modules/@chakra-ui/theme/src/foundations/colors.ts","../node_modules/@chakra-ui/theme/src/foundations/radius.ts","../node_modules/@chakra-ui/theme/src/foundations/shadows.ts","../node_modules/@chakra-ui/theme/src/foundations/blur.ts","../node_modules/@chakra-ui/theme/src/foundations/typography.ts","../node_modules/@chakra-ui/theme/src/foundations/spacing.ts","../node_modules/@chakra-ui/theme/src/foundations/sizes.ts","../node_modules/@chakra-ui/theme/src/foundations/index.ts","../node_modules/@chakra-ui/theme/src/components/stepper.ts","../node_modules/@chakra-ui/anatomy/src/anatomy.ts","../node_modules/@chakra-ui/anatomy/src/components.ts","../node_modules/@chakra-ui/theme-tools/src/css-var.ts","../node_modules/@chakra-ui/theme-tools/src/css-calc.ts","../node_modules/@chakra-ui/theme/src/components/switch.ts","../node_modules/@chakra-ui/theme-tools/src/component.ts","../node_modules/@chakra-ui/theme/src/components/table.ts","../node_modules/color2k/src/guard.ts","../node_modules/color2k/src/ColorError.ts","../node_modules/color2k/src/parseToRgba.ts","../node_modules/color2k/src/rgba.ts","../node_modules/color2k/src/transparentize.ts","../node_modules/@chakra-ui/theme-tools/src/color.ts","../node_modules/.pnpm/dlv@1.1.3/node_modules/dlv/index.js","../node_modules/color2k/src/toHex.ts","../node_modules/@chakra-ui/theme/src/components/tabs.ts","../node_modules/@chakra-ui/theme/src/components/badge.ts","../node_modules/@chakra-ui/theme/src/components/tag.ts","../node_modules/@chakra-ui/theme/src/components/input.ts","../node_modules/@chakra-ui/theme/src/components/textarea.ts","../node_modules/@chakra-ui/theme/src/components/tooltip.ts","../node_modules/@chakra-ui/theme/src/components/progress.ts","../node_modules/@chakra-ui/theme/src/utils/run-if-fn.ts","../node_modules/@chakra-ui/theme/src/components/checkbox.ts","../node_modules/@chakra-ui/theme/src/components/select.ts","../node_modules/@chakra-ui/theme/src/components/radio.ts","../node_modules/@chakra-ui/theme/src/components/skeleton.ts","../node_modules/@chakra-ui/theme/src/components/skip-link.ts","../node_modules/@chakra-ui/theme/src/components/slider.ts","../node_modules/@chakra-ui/theme/src/components/spinner.ts","../node_modules/@chakra-ui/theme/src/components/stat.ts","../node_modules/@chakra-ui/theme/src/components/kbd.ts","../node_modules/@chakra-ui/theme/src/components/link.ts","../node_modules/@chakra-ui/theme/src/components/list.ts","../node_modules/@chakra-ui/theme/src/components/menu.ts","../node_modules/@chakra-ui/theme/src/components/modal.ts","../node_modules/@chakra-ui/theme/src/components/number-input.ts","../node_modules/@chakra-ui/theme/src/components/pin-input.ts","../node_modules/@chakra-ui/theme/src/components/popover.ts","../node_modules/@chakra-ui/theme/src/components/drawer.ts","../node_modules/@chakra-ui/theme/src/components/editable.ts","../node_modules/@chakra-ui/theme/src/components/form-control.ts","../node_modules/@chakra-ui/theme/src/components/form-error.ts","../node_modules/@chakra-ui/theme/src/components/form-label.ts","../node_modules/@chakra-ui/theme/src/components/heading.ts","../node_modules/@chakra-ui/theme/src/components/breadcrumb.ts","../node_modules/@chakra-ui/theme/src/components/button.ts","../node_modules/@chakra-ui/theme/src/components/card.ts","../node_modules/@chakra-ui/theme/src/components/close-button.ts","../node_modules/@chakra-ui/theme/src/components/code.ts","../node_modules/@chakra-ui/theme/src/components/container.ts","../node_modules/@chakra-ui/theme/src/components/divider.ts","../node_modules/@chakra-ui/theme/src/components/accordion.ts","../node_modules/@chakra-ui/theme/src/components/alert.ts","../node_modules/@chakra-ui/theme/src/components/avatar.ts","../node_modules/@chakra-ui/theme/src/components/index.ts","../node_modules/@chakra-ui/theme/src/semantic-tokens.ts","../node_modules/@chakra-ui/theme/src/styles.ts","../node_modules/@chakra-ui/theme/src/index.ts","../node_modules/@chakra-ui/toast/src/toast.utils.ts","../node_modules/@chakra-ui/react-use-callback-ref/src/index.ts","../node_modules/@chakra-ui/react-use-update-effect/src/index.ts","../node_modules/framer-motion/dist/es/context/PresenceContext.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","../node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","../node_modules/framer-motion/dist/es/utils/is-browser.mjs","../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","../node_modules/framer-motion/dist/es/context/LazyContext.mjs","../node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","../node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs","../node_modules/framer-motion/dist/es/render/utils/variant-props.mjs","../node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","../node_modules/framer-motion/dist/es/motion/features/definitions.mjs","../node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","../node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","../node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","../node_modules/framer-motion/dist/es/motion/index.mjs","../node_modules/framer-motion/dist/es/motion/features/load-features.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","../node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs","../node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs","../node_modules/framer-motion/dist/es/render/html/utils/transform.mjs","../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","../node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs","../node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs","../node_modules/framer-motion/dist/es/utils/clamp.mjs","../node_modules/framer-motion/dist/es/value/types/numbers/index.mjs","../node_modules/framer-motion/dist/es/value/types/utils.mjs","../node_modules/framer-motion/dist/es/value/types/numbers/units.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs","../node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs","../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","../node_modules/framer-motion/dist/es/render/html/use-props.mjs","../node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/path.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs","../node_modules/framer-motion/dist/es/render/svg/use-props.mjs","../node_modules/framer-motion/dist/es/render/dom/use-render.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs","../node_modules/framer-motion/dist/es/render/html/utils/render.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/render.mjs","../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs","../node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs","../node_modules/framer-motion/dist/es/utils/use-constant.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs","../node_modules/framer-motion/dist/es/utils/resolve-value.mjs","../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","../node_modules/framer-motion/dist/es/utils/noop.mjs","../node_modules/framer-motion/dist/es/frameloop/render-step.mjs","../node_modules/framer-motion/dist/es/frameloop/batcher.mjs","../node_modules/framer-motion/dist/es/frameloop/frame.mjs","../node_modules/framer-motion/dist/es/render/svg/config-motion.mjs","../node_modules/framer-motion/dist/es/render/html/config-motion.mjs","../node_modules/framer-motion/dist/es/events/add-dom-event.mjs","../node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.mjs","../node_modules/framer-motion/dist/es/events/event-info.mjs","../node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","../node_modules/framer-motion/dist/es/utils/pipe.mjs","../node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs","../node_modules/framer-motion/dist/es/motion/features/Feature.mjs","../node_modules/framer-motion/dist/es/gestures/hover.mjs","../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs","../node_modules/framer-motion/dist/es/gestures/press.mjs","../node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","../node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","../node_modules/framer-motion/dist/es/motion/features/gestures.mjs","../node_modules/framer-motion/dist/es/gestures/focus.mjs","../node_modules/framer-motion/dist/es/utils/shallow-compare.mjs","../node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs","../node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs","../node_modules/framer-motion/dist/es/utils/errors.mjs","../node_modules/framer-motion/dist/es/utils/time-conversion.mjs","../node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs","../node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs","../node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs","../node_modules/framer-motion/dist/es/easing/ease.mjs","../node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs","../node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs","../node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs","../node_modules/framer-motion/dist/es/easing/circ.mjs","../node_modules/framer-motion/dist/es/easing/back.mjs","../node_modules/framer-motion/dist/es/easing/utils/map.mjs","../node_modules/framer-motion/dist/es/easing/anticipate.mjs","../node_modules/framer-motion/dist/es/value/types/color/utils.mjs","../node_modules/framer-motion/dist/es/value/types/color/rgba.mjs","../node_modules/framer-motion/dist/es/value/types/color/hex.mjs","../node_modules/framer-motion/dist/es/value/types/color/hsla.mjs","../node_modules/framer-motion/dist/es/value/types/color/index.mjs","../node_modules/framer-motion/dist/es/utils/mix.mjs","../node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs","../node_modules/framer-motion/dist/es/utils/mix-color.mjs","../node_modules/framer-motion/dist/es/value/types/complex/index.mjs","../node_modules/framer-motion/dist/es/utils/mix-complex.mjs","../node_modules/framer-motion/dist/es/utils/progress.mjs","../node_modules/framer-motion/dist/es/utils/interpolate.mjs","../node_modules/framer-motion/dist/es/utils/offsets/default.mjs","../node_modules/framer-motion/dist/es/utils/offsets/fill.mjs","../node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs","../node_modules/framer-motion/dist/es/utils/offsets/time.mjs","../node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs","../node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs","../node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs","../node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs","../node_modules/framer-motion/dist/es/animation/generators/inertia.mjs","../node_modules/framer-motion/dist/es/animation/animators/js/driver-frameloop.mjs","../node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs","../node_modules/framer-motion/dist/es/animation/animators/js/index.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/create-accelerated-animation.mjs","../node_modules/framer-motion/dist/es/utils/memo.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs","../node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs","../node_modules/framer-motion/dist/es/value/types/complex/filter.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs","../node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-none.mjs","../node_modules/framer-motion/dist/es/animation/utils/transitions.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs","../node_modules/framer-motion/dist/es/animation/utils/keyframes.mjs","../node_modules/framer-motion/dist/es/animation/animators/instant.mjs","../node_modules/framer-motion/dist/es/value/use-will-change/is.mjs","../node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs","../node_modules/framer-motion/dist/es/utils/array.mjs","../node_modules/framer-motion/dist/es/utils/subscription-manager.mjs","../node_modules/framer-motion/dist/es/value/index.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs","../node_modules/framer-motion/dist/es/render/utils/setters.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs","../node_modules/framer-motion/dist/es/render/utils/animation-state.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs","../node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","../node_modules/framer-motion/dist/es/motion/features/animations.mjs","../node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","../node_modules/framer-motion/dist/es/utils/distance.mjs","../node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs","../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","../node_modules/framer-motion/dist/es/projection/geometry/models.mjs","../node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs","../node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs","../node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs","../node_modules/framer-motion/dist/es/projection/utils/measure.mjs","../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","../node_modules/framer-motion/dist/es/gestures/pan/index.mjs","../node_modules/framer-motion/dist/es/projection/node/state.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs","../node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","../node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs","../node_modules/framer-motion/dist/es/projection/geometry/copy.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs","../node_modules/framer-motion/dist/es/projection/geometry/utils.mjs","../node_modules/framer-motion/dist/es/projection/shared/stack.mjs","../node_modules/framer-motion/dist/es/projection/styles/transform.mjs","../node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs","../node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs","../node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs","../node_modules/framer-motion/dist/es/debug/record.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs","../node_modules/framer-motion/dist/es/utils/delay.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/single-value.mjs","../node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs","../node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs","../node_modules/framer-motion/dist/es/motion/features/drag.mjs","../node_modules/framer-motion/dist/es/gestures/drag/index.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.mjs","../node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs","../node_modules/framer-motion/dist/es/render/store.mjs","../node_modules/framer-motion/dist/es/render/VisualElement.mjs","../node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs","../node_modules/framer-motion/dist/es/render/utils/motion-values.mjs","../node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs","../node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs","../node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs","../node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","../node_modules/framer-motion/dist/es/render/dom/motion.mjs","../node_modules/framer-motion/dist/es/motion/features/layout.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs","../node_modules/@chakra-ui/toast/src/toast.component.tsx","../node_modules/@chakra-ui/react-use-timeout/src/index.ts","../node_modules/@chakra-ui/toast/src/toast.placement.ts","../node_modules/@chakra-ui/icon/src/icon.tsx","../node_modules/@chakra-ui/alert/src/icons.tsx","../node_modules/@chakra-ui/alert/src/alert-context.ts","../node_modules/@chakra-ui/alert/src/alert.tsx","../node_modules/@chakra-ui/alert/src/alert-icon.tsx","../node_modules/@chakra-ui/alert/src/alert-title.tsx","../node_modules/@chakra-ui/alert/src/alert-description.tsx","../node_modules/@chakra-ui/close-button/src/close-button.tsx","../node_modules/@chakra-ui/toast/src/toast.store.ts","../node_modules/@chakra-ui/toast/src/toast.tsx","../node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs","../node_modules/framer-motion/dist/es/utils/use-force-update.mjs","../node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs","../node_modules/@chakra-ui/portal/src/portal.tsx","../node_modules/@chakra-ui/toast/src/toast.provider.tsx","../node_modules/@chakra-ui/react/src/chakra-provider.tsx","../node_modules/@chakra-ui/color-mode/src/color-mode-script.tsx","../node_modules/@chakra-ui/theme/src/utils/is-chakra-theme.ts","../node_modules/@chakra-ui/theme-utils/dist/chunk-LIR5QAZY.mjs","style/colors.ts","style/theme/button.ts","style/theme/checkbox.ts","style/theme/drawer.ts","style/theme/list.ts","style/theme/modal.ts","style/theme/radio.ts","style/theme/tabs.ts","style/theme.ts","providers/UmamiTheme.tsx","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/@chakra-ui/icon/src/create-icon.tsx","components/Icons.tsx","graphql/generated.ts","../node_modules/graphql-request/src/defaultJsonSerializer.ts","../node_modules/graphql-request/src/parseArgs.ts","../node_modules/graphql/jsutils/invariant.mjs","../node_modules/graphql/language/location.mjs","../node_modules/graphql/language/printLocation.mjs","../node_modules/graphql/error/GraphQLError.mjs","../node_modules/graphql/jsutils/isObjectLike.mjs","../node_modules/graphql/error/syntaxError.mjs","../node_modules/graphql/language/ast.mjs","../node_modules/graphql/language/directiveLocation.mjs","../node_modules/graphql/language/kinds.mjs","../node_modules/graphql/language/tokenKind.mjs","../node_modules/graphql/language/characterClasses.mjs","../node_modules/graphql/language/blockString.mjs","../node_modules/graphql/language/lexer.mjs","../node_modules/graphql/jsutils/devAssert.mjs","../node_modules/graphql/jsutils/inspect.mjs","../node_modules/graphql/jsutils/instanceOf.mjs","../node_modules/graphql/language/source.mjs","../node_modules/graphql/language/parser.mjs","../node_modules/graphql/language/printString.mjs","../node_modules/graphql/language/visitor.mjs","../node_modules/graphql/language/printer.mjs","../node_modules/graphql-request/src/resolveRequestDocument.ts","../node_modules/graphql-request/src/types.ts","../node_modules/graphql-request/src/index.ts","../node_modules/graphql-request/src/helpers.ts","components/AnnouncementBanner.tsx","utils/datocms/request.ts","../node_modules/@chakra-ui/hooks/src/use-id.ts","../node_modules/@chakra-ui/utils/dist/chunk-O3SWHQEE.mjs","../node_modules/@chakra-ui/hooks/src/use-safe-layout-effect.ts","../node_modules/@chakra-ui/hooks/src/use-callback-ref.ts","../node_modules/@chakra-ui/hooks/src/use-disclosure.ts","../node_modules/@chakra-ui/hooks/src/use-controllable.ts","../node_modules/@chakra-ui/modal/src/modal-manager.ts","../node_modules/aria-hidden/dist/es2015/index.js","../node_modules/@chakra-ui/modal/src/use-modal.ts","../node_modules/@chakra-ui/modal/src/modal.tsx","../node_modules/@chakra-ui/transition/src/transition-utils.ts","../node_modules/@chakra-ui/transition/src/fade.tsx","../node_modules/@chakra-ui/modal/src/modal-overlay.tsx","../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../node_modules/use-callback-ref/dist/es2015/useRef.js","../node_modules/use-callback-ref/dist/es2015/assignRef.js","../node_modules/use-sidecar/dist/es2015/medium.js","../node_modules/react-remove-scroll/dist/es2015/medium.js","../node_modules/react-remove-scroll/dist/es2015/UI.js","../node_modules/use-sidecar/dist/es2015/exports.js","../node_modules/get-nonce/dist/es2015/index.js","../node_modules/react-style-singleton/dist/es2015/singleton.js","../node_modules/react-style-singleton/dist/es2015/component.js","../node_modules/react-style-singleton/dist/es2015/hook.js","../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../node_modules/react-remove-scroll-bar/dist/es2015/component.js","../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../node_modules/react-remove-scroll/dist/es2015/sidecar.js","../node_modules/react-remove-scroll/dist/es2015/Combination.js","components/DynamicModal.tsx","../../../../src/utils/keys.ts","../../../../src/utils/exposed-promise.ts","../../../../src/utils/crypto.ts","../../../../src/utils/generate-uuid.ts","../../../../../src/types/beacon/BeaconMessageType.ts","../../../../../src/types/beacon/PermissionScope.ts","../../../../../src/types/beacon/NetworkType.ts","../../../../../src/types/tezos/OperationTypes.ts","../../../../src/types/Origin.ts","../../../../src/types/ExtensionMessageTarget.ts","../../../../src/types/BeaconErrorType.ts","../../../../../src/types/transport/TransportStatus.ts","../../../../../src/types/transport/TransportType.ts","../../../../../src/types/storage/StorageKey.ts","../../../../../src/types/storage/StorageKeyReturnDefaults.ts","../../../../../src/types/beacon/SigningType.ts","../../../../src/types/ColorMode.ts","../../../../src/types/Regions.ts","../../../src/constants.ts","../../../src/MockWindow.ts","../../../src/MockAnalytics.ts","../../../../../src/clients/beacon-client/BeaconClient.ts","../../../../src/managers/StorageManager.ts","../../../../src/utils/get-account-identifier.ts","../../../../src/managers/PermissionValidator.ts","../../../../src/managers/AccountManager.ts","../../../../src/utils/get-sender-id.ts","../../../src/debug.ts","../../../../src/utils/Logger.ts","../../../../../src/clients/client/Client.ts","../../../../src/transports/Transport.ts","../../../../src/storage/LocalStorage.ts","../../../../src/storage/getStorage.ts","../../../src/Serializer.ts","../../../../src/managers/AppMetadataManager.ts","../../../../src/managers/PermissionManager.ts","../../../../src/managers/PeerManager.ts","../../../../../src/transports/clients/CommunicationClient.ts","../../../../../src/matrix-client/models/MatrixMessage.ts","../../../../../src/matrix-client/utils/events.ts","../../../../../src/matrix-client/models/MatrixRoom.ts","../../../../src/matrix-client/MatrixClientStore.ts","../../../../src/matrix-client/MatrixHttpClient.ts","../../../../../src/matrix-client/services/MatrixRoomService.ts","../../../../../src/matrix-client/services/MatrixUserService.ts","../../../../../src/matrix-client/models/MatrixClientEvent.ts","../../../../../src/matrix-client/services/MatrixEventService.ts","../../../../src/matrix-client/EventEmitter.ts","../../../../src/matrix-client/MatrixClientEventEmitter.ts","../../../../src/matrix-client/MatrixClient.ts","../../../../src/communication-client/P2PCommunicationClient.ts","../../../src/P2PTransport.ts","../../../../src/transports/WalletP2PTransport.ts","../../../../src/interceptors/IncomingRequestInterceptor.ts","../../../../src/interceptors/OutgoingResponseInterceptor.ts","../../../../src/client/WalletClient.ts","../node_modules/@chakra-ui/toast/src/use-toast.tsx","../node_modules/@chakra-ui/transition/src/slide-fade.tsx","../node_modules/@chakra-ui/transition/src/scale-fade.tsx","../node_modules/@chakra-ui/modal/src/modal-transition.tsx","../node_modules/react-focus-lock/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/focus-lock/dist/es2015/constants.js","../node_modules/react-focus-lock/dist/es2015/FocusGuard.js","../node_modules/react-focus-lock/dist/es2015/medium.js","../node_modules/react-focus-lock/dist/es2015/Lock.js","../node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/react-clientside-effect/lib/index.es.js","../node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/focus-lock/dist/es2015/utils/array.js","../node_modules/focus-lock/dist/es2015/utils/is.js","../node_modules/focus-lock/dist/es2015/utils/tabOrder.js","../node_modules/focus-lock/dist/es2015/utils/tabUtils.js","../node_modules/focus-lock/dist/es2015/utils/tabbables.js","../node_modules/focus-lock/dist/es2015/utils/DOMutils.js","../node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","../node_modules/focus-lock/dist/es2015/utils/safe.js","../node_modules/focus-lock/dist/es2015/utils/all-affected.js","../node_modules/focus-lock/dist/es2015/focusInside.js","../node_modules/focus-lock/dist/es2015/utils/correctFocus.js","../node_modules/focus-lock/dist/es2015/utils/firstFocus.js","../node_modules/focus-lock/dist/es2015/solver.js","../node_modules/focus-lock/dist/es2015/utils/auto-focus.js","../node_modules/focus-lock/dist/es2015/utils/parenting.js","../node_modules/focus-lock/dist/es2015/focusSolver.js","../node_modules/focus-lock/dist/es2015/moveFocusInside.js","../node_modules/focus-lock/dist/es2015/commands.js","../node_modules/react-focus-lock/dist/es2015/util.js","../node_modules/react-focus-lock/dist/es2015/Trap.js","../node_modules/focus-lock/dist/es2015/focusIsHidden.js","../node_modules/focus-lock/dist/es2015/focusables.js","../node_modules/react-focus-lock/dist/es2015/Combination.js","../node_modules/react-focus-lock/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-focus-lock/dist/es2015/index.js","../node_modules/@chakra-ui/dom-utils/dist/chunk-3XANSPY5.mjs","../node_modules/@chakra-ui/dom-utils/dist/chunk-ROURZMX4.mjs","../node_modules/@chakra-ui/dom-utils/dist/index.mjs","../node_modules/@chakra-ui/focus-lock/src/focus-lock.tsx","../node_modules/@chakra-ui/modal/src/modal-focus.tsx","../node_modules/@chakra-ui/modal/src/modal-content.tsx","../node_modules/@chakra-ui/modal/src/modal-header.tsx","../node_modules/@chakra-ui/object-utils/dist/chunk-R3DH46PF.mjs","../node_modules/@chakra-ui/layout/src/text.tsx","../node_modules/@chakra-ui/modal/src/modal-close-button.tsx","../node_modules/@chakra-ui/modal/src/modal-body.tsx","../node_modules/@chakra-ui/breakpoint-utils/dist/chunk-G72KV6MB.mjs","../node_modules/@chakra-ui/layout/src/aspect-ratio.tsx","../node_modules/@chakra-ui/image/src/native-image.tsx","../node_modules/utilities/object-utils/src/omit.ts","../node_modules/@chakra-ui/image/src/image.tsx","../node_modules/@chakra-ui/image/src/use-image.ts","../node_modules/@chakra-ui/descendant/src/utils.ts","../node_modules/@chakra-ui/descendant/src/descendant.ts","../node_modules/@chakra-ui/descendant/src/use-descendant.ts","../node_modules/@chakra-ui/accordion/src/accordion-context.ts","../node_modules/@chakra-ui/react-use-controllable-state/src/index.ts","../node_modules/@chakra-ui/accordion/src/use-accordion.ts","../node_modules/@chakra-ui/accordion/src/accordion.tsx","../node_modules/@chakra-ui/accordion/src/accordion-item.tsx","../node_modules/@chakra-ui/accordion/src/accordion-button.tsx","../node_modules/@chakra-ui/accordion/src/accordion-icon.tsx","../node_modules/@chakra-ui/transition/src/collapse.tsx","../node_modules/@chakra-ui/accordion/src/accordion-panel.tsx","../node_modules/@chakra-ui/form-control/src/form-control.tsx","../node_modules/@chakra-ui/form-control/src/form-error.tsx","../node_modules/@chakra-ui/modal/src/modal-footer.tsx","../node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","../node_modules/react-hook-form/src/utils/isDateObject.ts","../node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","../node_modules/react-hook-form/src/utils/isObject.ts","../node_modules/react-hook-form/src/logic/getEventValue.ts","../node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","../node_modules/react-hook-form/src/logic/getNodeParentName.ts","../node_modules/react-hook-form/src/utils/isPlainObject.ts","../node_modules/react-hook-form/src/utils/isWeb.ts","../node_modules/react-hook-form/src/utils/cloneObject.ts","../node_modules/react-hook-form/src/utils/compact.ts","../node_modules/react-hook-form/src/utils/isUndefined.ts","../node_modules/react-hook-form/src/utils/get.ts","../node_modules/react-hook-form/src/utils/isBoolean.ts","../node_modules/react-hook-form/src/constants.ts","../node_modules/react-hook-form/src/useFormContext.tsx","../node_modules/react-hook-form/src/logic/getProxyFormState.ts","../node_modules/react-hook-form/src/utils/isEmptyObject.ts","../node_modules/react-hook-form/src/logic/shouldRenderFormState.ts","../node_modules/react-hook-form/src/utils/convertToArrayPayload.ts","../node_modules/react-hook-form/src/useSubscribe.ts","../node_modules/react-hook-form/src/utils/isString.ts","../node_modules/react-hook-form/src/logic/generateWatchOutput.ts","../node_modules/react-hook-form/src/utils/isKey.ts","../node_modules/react-hook-form/src/utils/stringToPath.ts","../node_modules/react-hook-form/src/utils/set.ts","../node_modules/react-hook-form/src/logic/appendErrors.ts","../node_modules/react-hook-form/src/logic/focusFieldBy.ts","../node_modules/react-hook-form/src/logic/generateId.ts","../node_modules/react-hook-form/src/logic/getFocusFieldName.ts","../node_modules/react-hook-form/src/logic/getValidationModes.ts","../node_modules/react-hook-form/src/logic/isWatched.ts","../node_modules/react-hook-form/src/logic/updateFieldArrayRootError.ts","../node_modules/react-hook-form/src/utils/isFileInput.ts","../node_modules/react-hook-form/src/utils/isFunction.ts","../node_modules/react-hook-form/src/utils/isHTMLElement.ts","../node_modules/react-hook-form/src/utils/isMessage.ts","../node_modules/react-hook-form/src/utils/isRadioInput.ts","../node_modules/react-hook-form/src/utils/isRegex.ts","../node_modules/react-hook-form/src/logic/getCheckboxValue.ts","../node_modules/react-hook-form/src/logic/getRadioValue.ts","../node_modules/react-hook-form/src/logic/getValidateError.ts","../node_modules/react-hook-form/src/logic/getValueAndMessage.ts","../node_modules/react-hook-form/src/logic/validateField.ts","../node_modules/react-hook-form/src/utils/append.ts","../node_modules/react-hook-form/src/utils/fillEmptyArray.ts","../node_modules/react-hook-form/src/utils/insert.ts","../node_modules/react-hook-form/src/utils/move.ts","../node_modules/react-hook-form/src/utils/prepend.ts","../node_modules/react-hook-form/src/utils/remove.ts","../node_modules/react-hook-form/src/utils/swap.ts","../node_modules/react-hook-form/src/utils/unset.ts","../node_modules/react-hook-form/src/utils/update.ts","../node_modules/react-hook-form/src/utils/createSubject.ts","../node_modules/react-hook-form/src/utils/isPrimitive.ts","../node_modules/react-hook-form/src/utils/deepEqual.ts","../node_modules/react-hook-form/src/utils/isMultipleSelect.ts","../node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","../node_modules/react-hook-form/src/utils/live.ts","../node_modules/react-hook-form/src/utils/objectHasFunction.ts","../node_modules/react-hook-form/src/logic/getDirtyFields.ts","../node_modules/react-hook-form/src/logic/getFieldValueAs.ts","../node_modules/react-hook-form/src/logic/getFieldValue.ts","../node_modules/react-hook-form/src/logic/getResolverOptions.ts","../node_modules/react-hook-form/src/logic/getRuleValue.ts","../node_modules/react-hook-form/src/logic/hasValidation.ts","../node_modules/react-hook-form/src/logic/schemaErrorLookup.ts","../node_modules/react-hook-form/src/logic/skipValidation.ts","../node_modules/react-hook-form/src/logic/unsetEmptyArray.ts","../node_modules/react-hook-form/src/logic/createFormControl.ts","../node_modules/react-hook-form/src/useForm.ts","../node_modules/@chakra-ui/card/src/card-context.tsx","../node_modules/@chakra-ui/card/src/card.tsx","../node_modules/@chakra-ui/card/src/card-body.tsx","components/AccountDrawer/JsValueWrap.tsx","../node_modules/@chakra-ui/form-control/src/form-label.tsx","../node_modules/@chakra-ui/react-children-utils/dist/index.mjs","../node_modules/@chakra-ui/input/src/input-group.tsx","../node_modules/@chakra-ui/form-control/src/use-form-control.ts","../node_modules/@chakra-ui/input/src/input.tsx","../node_modules/@chakra-ui/input/src/input-element.tsx","../node_modules/@chakra-ui/layout/src/list.tsx","../node_modules/@chakra-ui/tooltip/src/tooltip.transition.tsx","../node_modules/@chakra-ui/dom-utils/dist/chunk-4WEUWBTD.mjs","../node_modules/@chakra-ui/popper/src/utils.ts","../node_modules/@chakra-ui/popper/src/modifiers.ts","../node_modules/@chakra-ui/popper/src/popper.placement.ts","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@chakra-ui/popper/src/use-popper.ts","../node_modules/@chakra-ui/react-use-disclosure/src/index.ts","../node_modules/@chakra-ui/react-use-event-listener/src/index.ts","../node_modules/@chakra-ui/tooltip/src/use-tooltip.ts","../node_modules/@chakra-ui/tooltip/src/tooltip.tsx","../node_modules/utilities/object-utils/src/pick.ts","assets/icons/Accounts.tsx","assets/icons/AddAccount.tsx","assets/icons/AddContact.tsx","assets/icons/AddressBook.tsx","assets/icons/Baker.tsx","assets/icons/Batch.tsx","assets/icons/Checkmark.tsx","assets/icons/ChevronDown.tsx","assets/icons/ChevronRight.tsx","assets/icons/Coin.tsx","assets/icons/Contact.tsx","assets/icons/Contract.tsx","assets/icons/CrossedCircle.tsx","assets/icons/Diamond.tsx","assets/icons/Document.tsx","assets/icons/DoubleCheckmark.tsx","assets/icons/Download.tsx","assets/icons/EditAccount.tsx","assets/icons/Exclamation.tsx","assets/icons/ExitArrow.tsx","assets/icons/ExternalLink.tsx","assets/icons/Eye.tsx","assets/icons/EyeSlash.tsx","assets/icons/FA1.2.tsx","assets/icons/FA2.tsx","assets/icons/Feedback.tsx","assets/icons/Fetching.tsx","assets/icons/FileArrowDown.tsx","assets/icons/FileCopy.tsx","assets/icons/FlipForwardEnergy.tsx","assets/icons/Gear.tsx","assets/icons/Help.tsx","assets/icons/Hourglass.tsx","assets/icons/IncomingArrow.tsx","assets/icons/Key.tsx","../node_modules/react-icons/lib/esm/iconsManifest.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/md/index.esm.js","assets/icons/Ledger.tsx","assets/icons/Link.tsx","assets/icons/Lock.tsx","assets/icons/Notice.tsx","assets/icons/OutgoingArrow.tsx","assets/icons/Pen.tsx","assets/icons/Plus.tsx","assets/icons/RefreshClock.tsx","assets/icons/Rotate.tsx","assets/icons/Slash.tsx","assets/icons/Sliders.tsx","assets/google-icon.svg","assets/icons/Social.tsx","assets/tez.svg","assets/icons/Tez.tsx","assets/coin-front.svg","assets/icons/Token.tsx","assets/icons/Trash.tsx","assets/icons/UnknownContact.tsx","assets/icons/USB.tsx","assets/icons/Verified.tsx","assets/icons/WalletPlus.tsx","assets/icons/Warning.tsx","assets/icons/XMark.tsx","components/Identicon.tsx","components/AddressTile/AddressTileIcon.tsx","utils/redux/hooks.ts","utils/hooks/accountUtils.ts","utils/hooks/networkHooks.ts","utils/hooks/tokensHooks.ts","utils/format.ts","utils/hooks/assetsHooks.ts","utils/hooks/contactsHooks.ts","utils/hooks/getAccountDataHooks.ts","utils/hooks/multisigHooks.ts","components/AddressTile/useAddressKind.ts","components/PrettyNumber.tsx","components/AccountBalance.tsx","components/AddressTile/AddressTile.tsx","components/AddressAutocomplete/Suggestions.tsx","components/AddressAutocomplete/AddressAutocomplete.tsx","utils/beacon/BeaconNotification/panels/PermissionRequestPanel.tsx","utils/hooks/beaconHooks.ts","../node_modules/@chakra-ui/button/src/icon-button.tsx","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@toruslabs/http-helpers/src/index.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/util.js","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/methods/native.js","../node_modules/oblivious-set/src/index.ts","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/options.js","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/methods/indexed-db.js","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/methods/localstorage.js","../node_modules/@toruslabs/broadcast-channel/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/engine.io-parser/build/esm/commons.js","../node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../node_modules/engine.io-parser/build/esm/index.js","../node_modules/@socket.io/component-emitter/index.mjs","../node_modules/engine.io-client/build/esm/globalThis.browser.js","../node_modules/engine.io-client/build/esm/util.js","../node_modules/engine.io-client/build/esm/transport.js","../node_modules/engine.io-client/build/esm/contrib/parseqs.js","../node_modules/engine.io-client/build/esm/contrib/yeast.js","../node_modules/engine.io-client/build/esm/contrib/has-cors.js","../node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js","../node_modules/engine.io-client/build/esm/transports/polling.js","../node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js","../node_modules/engine.io-client/build/esm/transports/websocket.js","../node_modules/engine.io-client/build/esm/transports/webtransport.js","../node_modules/engine.io-client/build/esm/transports/index.js","../node_modules/engine.io-client/build/esm/contrib/parseuri.js","../node_modules/engine.io-client/build/esm/socket.js","../node_modules/engine.io-client/build/esm/index.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/socket.io-client/build/esm/on.js","../node_modules/socket.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/contrib/backo2.js","../node_modules/socket.io-client/build/esm/manager.js","../node_modules/socket.io-client/build/esm/index.js","../node_modules/socket.io-client/build/esm/url.js","../node_modules/@toruslabs/eccrypto/src/index.ts","../node_modules/@toruslabs/broadcast-channel/node_modules/@toruslabs/http-helpers/src/index.ts","../node_modules/@toruslabs/broadcast-channel/node_modules/@toruslabs/metadata-helpers/src/utils.ts","../node_modules/@toruslabs/broadcast-channel/node_modules/@toruslabs/metadata-helpers/src/webAuthnShareResolver.ts","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/methods/server.js","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/methods/simulate.js","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/method-chooser.js","../node_modules/@toruslabs/broadcast-channel/dist/esbrowser/broadcast-channel.js","../node_modules/jwt-decode/lib/atob.js","../node_modules/jwt-decode/lib/index.js","../node_modules/jwt-decode/lib/base64_url_decode.js","../node_modules/@toruslabs/constants/src/constants.ts","../node_modules/@toruslabs/fnd-base/src/endpoints.ts","../node_modules/@toruslabs/fnd-base/src/legacyMainnetConfig.ts","../node_modules/@toruslabs/fnd-base/src/pubKeys.ts","../node_modules/@toruslabs/fnd-base/src/sapphireNetworkConfig.ts","../node_modules/@toruslabs/fetch-node-details/src/nodeDetailManager.ts","../node_modules/@toruslabs/fnd-base/src/utils.ts","../node_modules/@toruslabs/torus.js/src/constants.ts","../node_modules/@toruslabs/torus.js/src/helpers/common.ts","../node_modules/@toruslabs/torus.js/src/helpers/errorUtils.ts","../node_modules/@toruslabs/torus.js/src/loglevel.ts","../node_modules/@toruslabs/torus.js/src/helpers/keyUtils.ts","../node_modules/@toruslabs/torus.js/src/Point.ts","../node_modules/@toruslabs/torus.js/src/Share.ts","../node_modules/@toruslabs/torus.js/src/Polynomial.ts","../node_modules/@toruslabs/torus.js/src/helpers/langrangeInterpolatePoly.ts","../node_modules/@toruslabs/torus.js/src/helpers/metadataUtils.ts","../node_modules/@toruslabs/torus.js/src/config.ts","../node_modules/@toruslabs/torus.js/src/some.ts","../node_modules/@toruslabs/torus.js/src/helpers/nodeUtils.ts","../node_modules/@toruslabs/torus.js/src/torus.ts","../node_modules/@toruslabs/metadata-helpers/src/utils.ts","../node_modules/@toruslabs/metadata-helpers/src/webAuthnShareResolver.ts","../node_modules/@toruslabs/customauth/src/utils/enums.ts","../node_modules/@toruslabs/customauth/src/utils/loglevel.ts","../node_modules/@toruslabs/customauth/src/utils/helpers.ts","../node_modules/@toruslabs/customauth/src/utils/PopupHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/AbstractLoginHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/DiscordHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/FacebookHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/GoogleHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/JwtHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/MockLoginHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/PasswordlessHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/RedditHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/TwitchHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/WebAuthnHandler.ts","../node_modules/@toruslabs/customauth/src/handlers/HandlerFactory.ts","../node_modules/@toruslabs/customauth/src/sentry.ts","../node_modules/@toruslabs/customauth/src/utils/StorageHelper.ts","../node_modules/@toruslabs/customauth/src/login.ts","../node_modules/@toruslabs/customauth/src/registerServiceWorker.ts","../node_modules/react-icons/fc/index.esm.js","utils/getErrorContext.ts","utils/hooks/useAsyncActionHandler.ts","utils/withTimeout.ts","GoogleAuth.tsx","components/FormErrorMessage.tsx","components/PasswordInput.tsx","components/SendFlow/SignButton.tsx","utils/beacon/BeaconNotification/panels/SignPayloadRequestPanel.tsx","assets/icons/WindowLink.tsx","components/SendFlow/SuccessStep.tsx","components/SendFlow/Beacon/useSignWithBeacon.tsx","components/AssetTiles/TezTile.tsx","components/SendFlow/SignPageFee.tsx","components/SendFlow/FormPageHeader.tsx","../node_modules/@chakra-ui/icons/src/ArrowBack.tsx","components/ModalBackButton.tsx","components/SendFlow/SignPageHeader.tsx","components/SendFlow/Beacon/ContractCallSignPage.tsx","components/SendFlow/Beacon/DelegationSignPage.tsx","components/SendFlow/Beacon/TezSignPage.tsx","components/SendFlow/Beacon/UndelegationSignPage.tsx","components/SendFlow/Beacon/BeaconSignPage.tsx","utils/beacon/BeaconNotification/BeaconRequestNotification.tsx","utils/beacon/types.ts","utils/beacon/beacon.tsx","utils/multisig/fetch.ts","utils/multisig/helpers.ts","utils/useAssetsPolling.ts","utils/useDeeplinkHandler.ts","../node_modules/@chakra-ui/table/src/table-container.tsx","../node_modules/@chakra-ui/table/src/table.tsx","../node_modules/@chakra-ui/table/src/tbody.tsx","../node_modules/@chakra-ui/table/src/tr.tsx","../node_modules/@chakra-ui/table/src/td.tsx","../node_modules/react-icons/bs/index.esm.js","../node_modules/react-icons/rx/index.esm.js","components/CopyableText.tsx","components/ContactModal.tsx","../node_modules/@chakra-ui/layout/src/divider.tsx","../node_modules/@chakra-ui/react-use-animation-state/src/index.ts","../node_modules/@chakra-ui/react-use-focus-on-pointer-down/src/index.ts","../node_modules/@chakra-ui/react-use-focus-effect/src/index.ts","../node_modules/@chakra-ui/lazy-utils/dist/index.mjs","../node_modules/@chakra-ui/popover/src/use-popover.ts","../node_modules/@chakra-ui/popover/src/popover-context.ts","../node_modules/@chakra-ui/popover/src/popover.tsx","../node_modules/@chakra-ui/popover/src/popover-trigger.tsx","../node_modules/@chakra-ui/popover/src/popover-transition.tsx","../node_modules/@chakra-ui/popover/src/popover-content.tsx","../node_modules/@chakra-ui/popover/src/popover-body.tsx","components/PopoverMenu.tsx","components/RenameRemoveMenu.tsx","components/SendButton.tsx","components/SendFlow/OperationSignerSelector.tsx","types/AccountOperations.ts","utils/hooks/batchesHooks.ts","components/SendFlow/utils.tsx","components/SendFlow/Tez/SignPage.tsx","utils/redux/thunks/estimateAndUpdateBatch.ts","components/SendFlow/onSubmitFormActionHooks.tsx","components/SendFlow/Tez/FormPage.tsx","views/addressBook/ContactTable.tsx","../node_modules/@chakra-ui/media-query/src/use-media-query.ts","../node_modules/date-fns/esm/constants/index.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/date-fns/esm/toDate/index.js","../node_modules/date-fns/esm/differenceInMilliseconds/index.js","../node_modules/date-fns/esm/_lib/roundingMethods/index.js","../node_modules/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/date-fns/esm/compareAsc/index.js","../node_modules/date-fns/esm/isLastDayOfMonth/index.js","../node_modules/date-fns/esm/endOfDay/index.js","../node_modules/date-fns/esm/endOfMonth/index.js","../node_modules/date-fns/esm/differenceInMonths/index.js","../node_modules/date-fns/esm/differenceInCalendarMonths/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/_lib/defaultLocale/index.js","../node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns/esm/formatDistance/index.js","../node_modules/date-fns/esm/_lib/cloneObject/index.js","../node_modules/date-fns/esm/differenceInSeconds/index.js","components/BuyTez/BuyTezForm.tsx","assets/icons/CheckIcon.tsx","components/TopBar.tsx","../node_modules/date-fns/esm/differenceInMinutes/index.js","views/addressBook/AddressBookView.tsx","views/batch/AccountSmallTile.tsx","../node_modules/@chakra-ui/hooks/src/use-outside-click.ts","../node_modules/@chakra-ui/popover/src/popover-arrow.tsx","components/AddressPill/AddressPillIcon.tsx","components/AddressPill/AddressPillText.tsx","components/AddressPill/useAddressKind.ts","components/AddressPill/AddressPill.tsx","views/batch/OperationRecipient.tsx","utils/token/utils.ts","views/batch/OperationView.tsx","components/ConfirmationModal.tsx","components/SendFlow/BatchModalBody.tsx","components/SendFlow/Batch/SignPage.tsx","views/batch/BatchView.tsx","../node_modules/nanoid/index.browser.js","utils/helpers.ts","components/CSVFileUploader/utils.ts","components/CSVFileUploader/CSVFileUploadForm.tsx","components/CSVFileUploader/index.tsx","components/ExternalLink.tsx","views/batch/BatchPage.tsx","../node_modules/@chakra-ui/layout/src/grid.tsx","../node_modules/@chakra-ui/layout/src/grid-item.tsx","components/ClickableCard.tsx","views/help/HelpView.tsx","../node_modules/@chakra-ui/modal/src/drawer.tsx","../node_modules/@chakra-ui/transition/src/slide.tsx","../node_modules/@chakra-ui/modal/src/drawer-content.tsx","views/home/AccountGroupPopover.tsx","../node_modules/@chakra-ui/layout/src/stack/stack-item.tsx","../node_modules/@chakra-ui/layout/src/stack/stack.tsx","../node_modules/@chakra-ui/layout/src/stack/stack.utils.tsx","../node_modules/@chakra-ui/layout/src/stack/v-stack.tsx","components/CircleIcon.tsx","components/Onboarding/ModalContentWrapper.tsx","components/Onboarding/masterPassword/password/EnterPassword.tsx","components/Onboarding/nameAccount/NameAccountDisplay.tsx","views/home/DeriveAccountDisplay.tsx.tsx","components/AccountTile/AccountTileIcon.tsx","components/AccountTile/AccountTile.tsx","components/NestedScroll.tsx","components/Onboarding/connectOptions/ConnectOptions.tsx","utils/redux/thunks/secretKeyAccount.ts","utils/hooks/setAccountDataHooks.ts","components/Onboarding/connectOrCreate/ConnectOrCreate.tsx","components/Select.tsx","components/Onboarding/derivationPath/DerivationPath.tsx","../node_modules/@chakra-ui/checkbox/src/checkbox-context.ts","../node_modules/@chakra-ui/checkbox/src/checkbox-icon.tsx","../node_modules/@chakra-ui/visually-hidden/src/visually-hidden.style.ts","../node_modules/@zag-js/dom-query/src/platform.ts","../node_modules/@zag-js/dom-query/src/index.ts","../node_modules/@zag-js/focus-visible/src/index.ts","../node_modules/@chakra-ui/checkbox/src/use-checkbox.ts","../node_modules/@chakra-ui/checkbox/src/checkbox.tsx","../node_modules/@chakra-ui/checkbox/src/use-initial-animation-state.tsx","components/Onboarding/eula/Eula.tsx","components/Onboarding/FakeAccount.tsx","components/Onboarding/masterPassword/password/EnterAndConfirmPassword.tsx","components/Onboarding/masterPassword/MasterPassword.tsx","components/Onboarding/nameAccount/NameAccount.tsx","components/Onboarding/notice/Notice.tsx","components/Onboarding/restoreBackupFile/RestoreBackupFile.tsx","components/Onboarding/restoreBackupFile/utils.ts","components/Onboarding/restoreLedger/RestoreLedger.tsx","utils/ledger/pk.ts","../node_modules/@chakra-ui/icons/src/ChevronDown.tsx","../node_modules/@chakra-ui/icons/src/Warning.tsx","../node_modules/@chakra-ui/select/src/select-field.tsx","../node_modules/@chakra-ui/select/src/select.tsx","../node_modules/utilities/object-utils/src/split.ts","components/Onboarding/restoreMnemonic/RestoreMnemonic.tsx","../node_modules/@chakra-ui/textarea/src/textarea.tsx","components/Onboarding/restoreSecretKey/RestoreSecretKey.tsx","../node_modules/@chakra-ui/layout/src/simple-grid.tsx","components/Onboarding/showSeedphrase/ShowSeedphrase.tsx","components/Onboarding/verifySeedphrase/VerifySeedphrase.tsx","components/Onboarding/useOnboardingModal.tsx","components/useStepHistory.tsx","components/SendFlow/MultisigAccount/SignPage.tsx","multisig/multisigContract.ts","components/SendFlow/MultisigAccount/FormPage.tsx","../node_modules/react-hook-form/src/useFieldArray.ts","views/home/AccountsList.tsx","views/home/DrawerTopButtons.tsx","../node_modules/@chakra-ui/clickable/src/use-clickable.ts","../node_modules/@chakra-ui/clickable/src/use-event-listeners.ts","../node_modules/@chakra-ui/tabs/src/use-tabs.ts","../node_modules/@chakra-ui/tabs/src/tabs.tsx","../node_modules/@chakra-ui/tabs/src/tab-list.tsx","../node_modules/@chakra-ui/tabs/src/tab-panels.tsx","../node_modules/@chakra-ui/tabs/src/tab-panel.tsx","../node_modules/date-fns/esm/startOfDay/index.js","../node_modules/date-fns/esm/differenceInCalendarDays/index.js","../node_modules/date-fns/esm/isValid/index.js","../node_modules/date-fns/esm/isDate/index.js","../node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/date-fns/esm/format/index.js","utils/hooks/delegationHooks.ts","../node_modules/date-fns/esm/formatRelative/index.js","components/NoItems/index.tsx","components/SendFlow/Delegation/SignPage.tsx","components/SendFlow/Delegation/FormPage.tsx","components/SendFlow/Undelegation/SignPage.tsx","components/SendFlow/Undelegation/FormPage.tsx","components/AccountDrawer/AssetsPanel/DelegationDisplay.tsx","../node_modules/react-icons/fi/index.esm.js","components/AccountDrawer/AssetsPanel/MultisigPendingAccordion/MultisigDecodedOperationItem.tsx","multisig/decode/schemas.ts","multisig/decode/UnrecognizedMichelsonError.ts","multisig/decode/decodeLambda.ts","components/AccountDrawer/AssetsPanel/MultisigPendingAccordion/MultisigDecodedOperations.tsx","../node_modules/react-icons/cg/index.esm.js","components/IconAndTextBtn.tsx","components/AccountDrawer/AssetsPanel/MultisigPendingAccordion/MultisigActionButton.tsx","components/SendFlow/Multisig/SignPage.tsx","components/AccountDrawer/AssetsPanel/MultisigPendingAccordion/MultisigSignerTile.tsx","components/AccountDrawer/AssetsPanel/MultisigPendingAccordion/MultisigPendingAccordionItem.tsx","components/AccountDrawer/AssetsPanel/MultisigPendingAccordion/index.tsx","components/AccountDrawer/AssetsPanel/ViewAllLink.tsx","components/AccountDrawer/AssetsPanel/NFTsGrid.tsx","components/OperationTile/OperationTileContext.ts","components/OperationTile/Fee.tsx","components/OperationTile/OperationStatus.tsx","components/OperationTile/OperationTypeWrapper.tsx","../node_modules/date-fns/esm/differenceInDays/index.js","components/OperationTile/Timestamp.tsx","components/OperationTile/TzktLink.tsx","components/OperationTile/useShowAddress.tsx","components/OperationTile/ContractCallTile.tsx","components/OperationTile/DelegationTile.tsx","components/OperationTile/OriginationTile.tsx","components/OperationTile/TransactionDirectionIcon.tsx","components/OperationTile/TokenTransferTile.tsx","components/OperationTile/TransactionTile.tsx","components/OperationTile/OperationTile.tsx","components/AccountDrawer/AssetsPanel/OperationListDisplay.tsx","views/tokens/TokenNameWithIcon.tsx","components/AccountDrawer/AssetsPanel/TokenList.tsx","utils/tzkt/helpers.ts","views/operations/useGetOperations.tsx","../node_modules/@chakra-ui/tabs/src/tab.tsx","components/SmallTab.tsx","components/AccountDrawer/AssetsPanel/AssetsPanel.tsx","../node_modules/@chakra-ui/layout/src/wrap.tsx","components/AccountDrawer/MultisigApprovers.tsx","components/AccountDrawer/RenameAccountModal.tsx","utils/redux/thunks/renameAccount.ts","components/AccountDrawer/RenameRemoveMenuSwitch.tsx","components/TezRecapDisplay.tsx","components/AccountDrawer/AccountDrawerDisplay.tsx","types/Delegation.ts","components/ReceiveModal.tsx","components/AccountDrawer/index.tsx","views/nfts/drawer/AttributesAccordionItem.tsx","components/TruncatedTextWithTooltip.tsx","components/TzktLink.tsx","views/nfts/drawer/PropertiesAccordionItem.tsx","views/nfts/drawer/TagsSection.tsx","components/SendFlow/SendNFTRecapTile.tsx","components/SendFlow/NFT/SignPage.tsx","components/SendFlow/NFT/FormPage.tsx","views/nfts/NFTDrawerCard.tsx","views/nfts/NFTDrawerBody.tsx","views/home/AccountListWithDrawer.tsx","views/home/HomeView.tsx","views/nfts/NFTCard.tsx","views/nfts/NFTGallery.tsx","../node_modules/@chakra-ui/menu/src/use-shortcut.ts","../node_modules/@chakra-ui/react-use-outside-click/src/index.ts","../node_modules/@chakra-ui/menu/src/use-menu.ts","../node_modules/@chakra-ui/menu/src/menu.tsx","../node_modules/@chakra-ui/menu/src/menu-button.tsx","../node_modules/@chakra-ui/menu/src/menu-list.tsx","../node_modules/@chakra-ui/menu/src/get-next-item-from-search.ts","../node_modules/@chakra-ui/menu/src/menu-command.tsx","../node_modules/@chakra-ui/menu/src/styled-menu-item.tsx","../node_modules/@chakra-ui/menu/src/menu-icon.tsx","../node_modules/@chakra-ui/menu/src/menu-item.tsx","components/AccountSelector/AccountListDisplay.tsx","components/useAccountsFilter.tsx","views/nfts/NftsView.tsx","views/operations/OperationsView.tsx","utils/beacon/BeaconPeers.tsx","views/settings/BeaconDrawerCard.tsx","../node_modules/react-icons/ai/index.esm.js","views/settings/ErrorLogsDrawerCard.tsx","../node_modules/@chakra-ui/radio/src/use-radio-group.ts","../node_modules/@chakra-ui/radio/src/radio-group.tsx","../node_modules/@chakra-ui/radio/src/use-radio.ts","../node_modules/@chakra-ui/radio/src/radio.tsx","views/settings/network/UpsertNetworkModal.tsx","views/settings/network/NetworkSettingsDrawerBody.tsx","views/settings/network/NetworkSettingsDrawerCard.tsx","components/ChangePassword/ChangePasswordForm.tsx","components/Offboarding/OffboardingForm.tsx","views/settings/SettingsView.tsx","components/Offboarding/useOffboardingModal.tsx","components/TokenTile.tsx","components/SendFlow/Token/SignPage.tsx","components/SendFlow/Token/FormPage.tsx","views/tokens/AccountTokens.tsx","views/tokens/TokensPage.tsx","components/AppVersion.tsx","components/MakiLogo.tsx","components/NetworkSelector.tsx","components/UpdateAppButton.tsx","components/SideNavbar.tsx","views/withSideMenu.tsx","components/Slider.tsx","components/SliderItem.tsx","WelcomeScreen.tsx","Router.tsx","index.tsx"],"sourcesContent":["module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.24.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","// Register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\nvar isLocalhost = function () { return Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n ); };\n\nvar waitWindowLoad;\n// https://github.com/yyx990803/register-service-worker/pull/33#discussion_r394181861\nif (typeof window !== \"undefined\") {\n // Typically, a browser that supports `serviceWorker` should also have supported\n // `Promise`. But as this package can be used in environments without service\n // worker support (in that case it would do nothing), there's a chance that\n // `Promise` does not exist. So we must check for its existence first.\n if (typeof document !== \"undefined\" && (document.readyState === \"interactive\" || document.readyState === \"complete\")) {\n waitWindowLoad = Promise.resolve();\n } else if (typeof Promise !== \"undefined\") {\n waitWindowLoad = new Promise(function (resolve) { return window.addEventListener(\"load\", resolve); });\n } else {\n waitWindowLoad = { then: function (cb) { return window.addEventListener(\"load\", cb); } };\n }\n}\n\nexports.register = function register(swUrl, hooks) {\n if ( hooks === void 0 ) hooks = {};\n\n var registrationOptions = hooks.registrationOptions; if ( registrationOptions === void 0 ) registrationOptions = {};\n delete hooks.registrationOptions;\n\n var emit = function (hook) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n if (hooks && hooks[hook]) {\n hooks[hook].apply(hooks, args);\n }\n };\n\n if (\"serviceWorker\" in navigator) {\n waitWindowLoad.then(function () {\n if (isLocalhost()) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, emit, registrationOptions);\n navigator.serviceWorker.ready.then(function (registration) {\n emit(\"ready\", registration);\n });\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl, emit, registrationOptions);\n navigator.serviceWorker.ready.then(function (registration) {\n emit(\"ready\", registration);\n });\n }\n });\n }\n}\n\nfunction handleError(emit, error) {\n if (!navigator.onLine) {\n emit(\"offline\");\n }\n emit(\"error\", error);\n}\n\nfunction registerValidSW(swUrl, emit, registrationOptions) {\n navigator.serviceWorker\n .register(swUrl, registrationOptions)\n .then(function (registration) {\n emit(\"registered\", registration);\n if (registration.waiting) {\n emit(\"updated\", registration);\n return;\n }\n registration.onupdatefound = function () {\n emit(\"updatefound\", registration);\n var installingWorker = registration.installing;\n installingWorker.onstatechange = function () {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n emit(\"updated\", registration);\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n emit(\"cached\", registration);\n }\n }\n };\n };\n })\n .catch(function (error) { return handleError(emit, error); });\n}\n\nfunction checkValidServiceWorker(swUrl, emit, registrationOptions) {\n // Check if the service worker can be found.\n fetch(swUrl)\n .then(function (response) {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (response.status === 404) {\n // No service worker found.\n emit(\"error\", new Error((\"Service worker not found at \" + swUrl)));\n unregister();\n } else if (response.headers.get(\"content-type\").indexOf(\"javascript\") === -1) {\n emit(\"error\", new Error(\"Expected \" + swUrl + \" to have javascript content-type, \" + \"but received \" + (response.headers.get(\"content-type\"))));\n unregister();\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, emit, registrationOptions);\n }\n })\n .catch(function (error) { return handleError(emit, error); });\n}\n\nexports.unregister = function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready.then(function (registration) {\n registration.unregister();\n });\n }\n}\n","export function number(n: number) {\n if (!Number.isSafeInteger(n) || n < 0) throw new Error(`Wrong positive integer: ${n}`);\n}\n\nexport function bool(b: boolean) {\n if (typeof b !== 'boolean') throw new Error(`Expected boolean, not ${b}`);\n}\n\nexport function bytes(b: Uint8Array | undefined, ...lengths: number[]) {\n if (!(b instanceof Uint8Array)) throw new TypeError('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\n\ntype Hash = {\n (data: Uint8Array): Uint8Array;\n blockLen: number;\n outputLen: number;\n create: any;\n};\nexport function hash(hash: Hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\n\nexport function exists(instance: any, checkFinished = true) {\n if (instance.destroyed) throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished) throw new Error('Hash#digest() has already been called');\n}\nexport function output(out: any, instance: any) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\n\nconst assert = {\n number,\n bool,\n bytes,\n hash,\n exists,\n output,\n};\n\nexport default assert;\n","import assert from './_assert.js';\nimport { Hash, createView, Input, toBytes } from './utils.js';\n\n// Polyfill for Safari 14\nfunction setBigUint64(view: DataView, byteOffset: number, value: bigint, isLE: boolean): void {\n if (typeof view.setBigUint64 === 'function') return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n\n// Base SHA2 class (RFC 6234)\nexport abstract class SHA2> extends Hash {\n protected abstract process(buf: DataView, offset: number): void;\n protected abstract get(): number[];\n protected abstract set(...args: number[]): void;\n abstract destroy(): void;\n protected abstract roundClean(): void;\n // For partial updates less than block size\n protected buffer: Uint8Array;\n protected view: DataView;\n protected finished = false;\n protected length = 0;\n protected pos = 0;\n protected destroyed = false;\n\n constructor(\n readonly blockLen: number,\n public outputLen: number,\n readonly padOffset: number,\n readonly isLE: boolean\n ) {\n super();\n this.buffer = new Uint8Array(blockLen);\n this.view = createView(this.buffer);\n }\n update(data: Input): this {\n assert.exists(this);\n const { view, buffer, blockLen } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len; ) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = createView(data);\n for (; blockLen <= len - pos; pos += blockLen) this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out: Uint8Array) {\n assert.exists(this);\n assert.output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++) buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = createView(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4) throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length) throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++) oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to?: T): T {\n to ||= new (this.constructor as any)() as T;\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen) to.buffer.set(buffer);\n return to;\n }\n}\n","const U32_MASK64 = BigInt(2 ** 32 - 1);\nconst _32n = BigInt(32);\n\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nexport function fromBig(n: bigint, le = false) {\n if (le) return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\n\nexport function split(lst: bigint[], le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\n\nexport const toBig = (h: number, l: number) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h: number, l: number, s: number) => h >>> s;\nconst shrSL = (h: number, l: number, s: number) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h: number, l: number, s: number) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h: number, l: number, s: number) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h: number, l: number, s: number) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h: number, l: number, s: number) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (h: number, l: number) => l;\nconst rotr32L = (h: number, l: number) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h: number, l: number, s: number) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h: number, l: number, s: number) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h: number, l: number, s: number) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h: number, l: number, s: number) => (h << (s - 32)) | (l >>> (64 - s));\n\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\n// Removing \"export\" has 5% perf penalty -_-\nexport function add(Ah: number, Al: number, Bh: number, Bl: number) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al: number, Bl: number, Cl: number) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low: number, Ah: number, Bh: number, Ch: number) =>\n (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al: number, Bl: number, Cl: number, Dl: number) =>\n (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low: number, Ah: number, Bh: number, Ch: number, Dh: number) =>\n (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al: number, Bl: number, Cl: number, Dl: number, El: number) =>\n (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) =>\n (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n","declare const globalThis: Record | undefined;\nexport const crypto =\n typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n","import assert from './_assert.js';\nimport { Hash, CHash, Input, toBytes } from './utils.js';\n// HMAC (RFC 2104)\nclass HMAC> extends Hash> {\n oHash: T;\n iHash: T;\n blockLen: number;\n outputLen: number;\n private finished = false;\n private destroyed = false;\n\n constructor(hash: CHash, _key: Input) {\n super();\n assert.hash(hash);\n const key = toBytes(_key);\n this.iHash = hash.create() as T;\n if (typeof this.iHash.update !== 'function')\n throw new TypeError('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++) pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create() as T;\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++) pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf: Input) {\n assert.exists(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out: Uint8Array) {\n assert.exists(this);\n assert.bytes(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to?: HMAC): HMAC {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to ||= Object.create(Object.getPrototypeOf(this), {});\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to as this;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\n\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nexport const hmac = (hash: CHash, key: Input, message: Input): Uint8Array =>\n new HMAC(hash, key).update(message).digest();\nhmac.create = (hash: CHash, key: Input) => new HMAC(hash, key);\n","import assert from './_assert.js';\nimport { hmac } from './hmac.js';\nimport { Hash, CHash, Input, createView, toBytes, checkOpts, asyncLoop } from './utils.js';\n\n// PBKDF (RFC 2898)\nexport type Pbkdf2Opt = {\n c: number; // Iterations\n dkLen?: number; // Desired key length in bytes (Intended output length in octets of the derived key\n asyncTick?: number; // Maximum time in ms for which async function can block execution\n};\n// Common prologue and epilogue for sync/async functions\nfunction pbkdf2Init(hash: CHash, _password: Input, _salt: Input, _opts: Pbkdf2Opt) {\n assert.hash(hash);\n const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);\n const { c, dkLen, asyncTick } = opts;\n assert.number(c);\n assert.number(dkLen);\n assert.number(asyncTick);\n if (c < 1) throw new Error('PBKDF2: iterations (c) should be >= 1');\n const password = toBytes(_password);\n const salt = toBytes(_salt);\n // DK = PBKDF2(PRF, Password, Salt, c, dkLen);\n const DK = new Uint8Array(dkLen);\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n const PRF = hmac.create(hash, password);\n const PRFSalt = PRF._cloneInto().update(salt);\n return { c, dkLen, asyncTick, DK, PRF, PRFSalt };\n}\n\nfunction pbkdf2Output>(\n PRF: Hash,\n PRFSalt: Hash,\n DK: Uint8Array,\n prfW: Hash,\n u: Uint8Array\n) {\n PRF.destroy();\n PRFSalt.destroy();\n if (prfW) prfW.destroy();\n u.fill(0);\n return DK;\n}\n\n/**\n * PBKDF2-HMAC: RFC 2898 key derivation function\n * @param hash - hash function that would be used e.g. sha256\n * @param password - password from which a derived key is generated\n * @param salt - cryptographic salt\n * @param opts - {c, dkLen} where c is work factor and dkLen is output message size\n */\nexport function pbkdf2(hash: CHash, password: Input, salt: Input, opts: Pbkdf2Opt) {\n const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW: any; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n for (let ui = 1; ui < c; ui++) {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++) Ti[i] ^= u[i];\n }\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n\nexport async function pbkdf2Async(hash: CHash, password: Input, salt: Input, opts: Pbkdf2Opt) {\n const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW: any; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n await asyncLoop(c - 1, asyncTick, (i) => {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++) Ti[i] ^= u[i];\n });\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n","import { SHA2 } from './_sha2.js';\nimport { rotr, wrapConstructor } from './utils.js';\n\n// Choice: a ? b : c\nconst Chi = (a: number, b: number, c: number) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a: number, b: number, c: number) => (a & b) ^ (a & c) ^ (b & c);\n\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = new Uint32Array(64);\nclass SHA256 extends SHA2 {\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n A = IV[0] | 0;\n B = IV[1] | 0;\n C = IV[2] | 0;\n D = IV[3] | 0;\n E = IV[4] | 0;\n F = IV[5] | 0;\n G = IV[6] | 0;\n H = IV[7] | 0;\n\n constructor() {\n super(64, 32, 8, false);\n }\n protected get(): [number, number, number, number, number, number, number, number] {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n protected set(\n A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number\n ) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n protected process(view: DataView, offset: number): void {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n protected roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n A = 0xc1059ed8 | 0;\n B = 0x367cd507 | 0;\n C = 0x3070dd17 | 0;\n D = 0xf70e5939 | 0;\n E = 0xffc00b31 | 0;\n F = 0x68581511 | 0;\n G = 0x64f98fa7 | 0;\n H = 0xbefa4fa4 | 0;\n constructor() {\n super();\n this.outputLen = 28;\n }\n}\n\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = wrapConstructor(() => new SHA256());\nexport const sha224 = wrapConstructor(() => new SHA224());\n","import assert from './_assert.js';\nimport u64 from './_u64.js';\nimport {\n Hash,\n u32,\n Input,\n toBytes,\n wrapConstructor,\n wrapConstructorWithOpts,\n HashXOF,\n} from './utils.js';\n\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA]: [number[], number[], bigint[]] = [[], [], []];\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst _7n = BigInt(7);\nconst _256n = BigInt(256);\nconst _0x71n = BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n) t ^= _1n << ((_1n << BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = u64.split(_SHA3_IOTA, true);\n\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h: number, l: number, s: number) =>\n s > 32 ? u64.rotlBH(h, l, s) : u64.rotlSH(h, l, s);\nconst rotlL = (h: number, l: number, s: number) =>\n s > 32 ? u64.rotlBL(h, l, s) : u64.rotlSL(h, l, s);\n\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s: Uint32Array, rounds: number = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++) B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++) B[x] = s[y + x];\n for (let x = 0; x < 10; x++) s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\n\nexport class Keccak extends Hash implements HashXOF {\n protected state: Uint8Array;\n protected pos = 0;\n protected posOut = 0;\n protected finished = false;\n protected state32: Uint32Array;\n protected destroyed = false;\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(\n public blockLen: number,\n public suffix: number,\n public outputLen: number,\n protected enableXOF = false,\n protected rounds: number = 24\n ) {\n super();\n // Can be passed from user as dkLen\n assert.number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n protected keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data: Input) {\n assert.exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len; ) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++) state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen) this.keccak();\n }\n return this;\n }\n protected finish() {\n if (this.finished) return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1) this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n protected writeInto(out: Uint8Array): Uint8Array {\n assert.exists(this, false);\n assert.bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len; ) {\n if (this.posOut >= blockLen) this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out: Uint8Array): Uint8Array {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF) throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes: number): Uint8Array {\n assert.number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out: Uint8Array) {\n assert.output(out, this);\n if (this.finished) throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to?: Keccak): Keccak {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to ||= new Keccak(blockLen, suffix, outputLen, enableXOF, rounds);\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\n\nconst gen = (suffix: number, blockLen: number, outputLen: number) =>\n wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\n\nexport const sha3_224 = gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = gen(0x06, 136, 256 / 8);\nexport const sha3_384 = gen(0x06, 104, 384 / 8);\nexport const sha3_512 = gen(0x06, 72, 512 / 8);\nexport const keccak_224 = gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = gen(0x01, 136, 256 / 8);\nexport const keccak_384 = gen(0x01, 104, 384 / 8);\nexport const keccak_512 = gen(0x01, 72, 512 / 8);\n\nexport type ShakeOpts = { dkLen?: number };\n\nconst genShake = (suffix: number, blockLen: number, outputLen: number) =>\n wrapConstructorWithOpts(\n (opts: ShakeOpts = {}) =>\n new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true)\n );\n\nexport const shake128 = genShake(0x1f, 168, 128 / 8);\nexport const shake256 = genShake(0x1f, 136, 256 / 8);\n","import { SHA2 } from './_sha2.js';\nimport u64 from './_u64.js';\nimport { wrapConstructor } from './utils.js';\n\n// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):\n// prettier-ignore\nconst [SHA512_Kh, SHA512_Kl] = u64.split([\n '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',\n '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',\n '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',\n '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',\n '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',\n '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',\n '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',\n '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',\n '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',\n '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',\n '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',\n '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',\n '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',\n '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',\n '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',\n '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',\n '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',\n '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',\n '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',\n '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'\n].map(n => BigInt(n)));\n\n// Temporary buffer, not used to store anything between runs\nconst SHA512_W_H = new Uint32Array(80);\nconst SHA512_W_L = new Uint32Array(80);\n\nexport class SHA512 extends SHA2 {\n // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.\n // Also looks cleaner and easier to verify with spec.\n // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n // h -- high 32 bits, l -- low 32 bits\n Ah = 0x6a09e667 | 0;\n Al = 0xf3bcc908 | 0;\n Bh = 0xbb67ae85 | 0;\n Bl = 0x84caa73b | 0;\n Ch = 0x3c6ef372 | 0;\n Cl = 0xfe94f82b | 0;\n Dh = 0xa54ff53a | 0;\n Dl = 0x5f1d36f1 | 0;\n Eh = 0x510e527f | 0;\n El = 0xade682d1 | 0;\n Fh = 0x9b05688c | 0;\n Fl = 0x2b3e6c1f | 0;\n Gh = 0x1f83d9ab | 0;\n Gl = 0xfb41bd6b | 0;\n Hh = 0x5be0cd19 | 0;\n Hl = 0x137e2179 | 0;\n\n constructor() {\n super(128, 64, 16, false);\n }\n // prettier-ignore\n protected get(): [\n number, number, number, number, number, number, number, number,\n number, number, number, number, number, number, number, number\n ] {\n const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];\n }\n // prettier-ignore\n protected set(\n Ah: number, Al: number, Bh: number, Bl: number, Ch: number, Cl: number, Dh: number, Dl: number,\n Eh: number, El: number, Fh: number, Fl: number, Gh: number, Gl: number, Hh: number, Hl: number\n ) {\n this.Ah = Ah | 0;\n this.Al = Al | 0;\n this.Bh = Bh | 0;\n this.Bl = Bl | 0;\n this.Ch = Ch | 0;\n this.Cl = Cl | 0;\n this.Dh = Dh | 0;\n this.Dl = Dl | 0;\n this.Eh = Eh | 0;\n this.El = El | 0;\n this.Fh = Fh | 0;\n this.Fl = Fl | 0;\n this.Gh = Gh | 0;\n this.Gl = Gl | 0;\n this.Hh = Hh | 0;\n this.Hl = Hl | 0;\n }\n protected process(view: DataView, offset: number) {\n // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) {\n SHA512_W_H[i] = view.getUint32(offset);\n SHA512_W_L[i] = view.getUint32((offset += 4));\n }\n for (let i = 16; i < 80; i++) {\n // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)\n const W15h = SHA512_W_H[i - 15] | 0;\n const W15l = SHA512_W_L[i - 15] | 0;\n const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);\n const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);\n // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)\n const W2h = SHA512_W_H[i - 2] | 0;\n const W2l = SHA512_W_L[i - 2] | 0;\n const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);\n const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);\n // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];\n const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);\n const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);\n SHA512_W_H[i] = SUMh | 0;\n SHA512_W_L[i] = SUMl | 0;\n }\n let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n // Compression function main loop, 80 rounds\n for (let i = 0; i < 80; i++) {\n // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)\n const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);\n const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);\n //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const CHIh = (Eh & Fh) ^ (~Eh & Gh);\n const CHIl = (El & Fl) ^ (~El & Gl);\n // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]\n // prettier-ignore\n const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);\n const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);\n const T1l = T1ll | 0;\n // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)\n const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);\n const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);\n const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);\n const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);\n Hh = Gh | 0;\n Hl = Gl | 0;\n Gh = Fh | 0;\n Gl = Fl | 0;\n Fh = Eh | 0;\n Fl = El | 0;\n ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));\n Dh = Ch | 0;\n Dl = Cl | 0;\n Ch = Bh | 0;\n Cl = Bl | 0;\n Bh = Ah | 0;\n Bl = Al | 0;\n const All = u64.add3L(T1l, sigma0l, MAJl);\n Ah = u64.add3H(All, T1h, sigma0h, MAJh);\n Al = All | 0;\n }\n // Add the compressed chunk to the current hash value\n ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));\n ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));\n ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));\n ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));\n ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));\n ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));\n ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));\n ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));\n this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);\n }\n protected roundClean() {\n SHA512_W_H.fill(0);\n SHA512_W_L.fill(0);\n }\n destroy() {\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\n\nclass SHA512_224 extends SHA512 {\n // h -- high 32 bits, l -- low 32 bits\n Ah = 0x8c3d37c8 | 0;\n Al = 0x19544da2 | 0;\n Bh = 0x73e19966 | 0;\n Bl = 0x89dcd4d6 | 0;\n Ch = 0x1dfab7ae | 0;\n Cl = 0x32ff9c82 | 0;\n Dh = 0x679dd514 | 0;\n Dl = 0x582f9fcf | 0;\n Eh = 0x0f6d2b69 | 0;\n El = 0x7bd44da8 | 0;\n Fh = 0x77e36f73 | 0;\n Fl = 0x04c48942 | 0;\n Gh = 0x3f9d85a8 | 0;\n Gl = 0x6a1d36c8 | 0;\n Hh = 0x1112e6ad | 0;\n Hl = 0x91d692a1 | 0;\n\n constructor() {\n super();\n this.outputLen = 28;\n }\n}\n\nclass SHA512_256 extends SHA512 {\n // h -- high 32 bits, l -- low 32 bits\n Ah = 0x22312194 | 0;\n Al = 0xfc2bf72c | 0;\n Bh = 0x9f555fa3 | 0;\n Bl = 0xc84c64c2 | 0;\n Ch = 0x2393b86b | 0;\n Cl = 0x6f53b151 | 0;\n Dh = 0x96387719 | 0;\n Dl = 0x5940eabd | 0;\n Eh = 0x96283ee2 | 0;\n El = 0xa88effe3 | 0;\n Fh = 0xbe5e1e25 | 0;\n Fl = 0x53863992 | 0;\n Gh = 0x2b0199fc | 0;\n Gl = 0x2c85b8aa | 0;\n Hh = 0x0eb72ddc | 0;\n Hl = 0x81c52ca2 | 0;\n\n constructor() {\n super();\n this.outputLen = 32;\n }\n}\n\nclass SHA384 extends SHA512 {\n // h -- high 32 bits, l -- low 32 bits\n Ah = 0xcbbb9d5d | 0;\n Al = 0xc1059ed8 | 0;\n Bh = 0x629a292a | 0;\n Bl = 0x367cd507 | 0;\n Ch = 0x9159015a | 0;\n Cl = 0x3070dd17 | 0;\n Dh = 0x152fecd8 | 0;\n Dl = 0xf70e5939 | 0;\n Eh = 0x67332667 | 0;\n El = 0xffc00b31 | 0;\n Fh = 0x8eb44a87 | 0;\n Fl = 0x68581511 | 0;\n Gh = 0xdb0c2e0d | 0;\n Gl = 0x64f98fa7 | 0;\n Hh = 0x47b5481d | 0;\n Hl = 0xbefa4fa4 | 0;\n\n constructor() {\n super();\n this.outputLen = 48;\n }\n}\n\nexport const sha512 = wrapConstructor(() => new SHA512());\nexport const sha512_224 = wrapConstructor(() => new SHA512_224());\nexport const sha512_256 = wrapConstructor(() => new SHA512_256());\nexport const sha384 = wrapConstructor(() => new SHA384());\n","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n\n// We use `globalThis.crypto`, but node.js versions earlier than v19 don't\n// declare it in global scope. For node.js, package.json#exports field mapping\n// rewrites import from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\n\n// prettier-ignore\nexport type TypedArray = Int8Array | Uint8ClampedArray | Uint8Array |\n Uint16Array | Int16Array | Uint32Array | Int32Array;\n\n// Cast array to different type\nexport const u8 = (arr: TypedArray) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr: TypedArray) =>\n new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n\n// Cast array to view\nexport const createView = (arr: TypedArray) =>\n new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word: number, shift: number) => (word << (32 - shift)) | (word >>> shift);\n\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE) throw new Error('Non little-endian hardware is not supported');\n\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef])) // 'deadbeef'\n */\nexport function bytesToHex(uint8a: Uint8Array): string {\n // pre-caching improves the speed 6x\n if (!(uint8a instanceof Uint8Array)) throw new Error('Uint8Array expected');\n let hex = '';\n for (let i = 0; i < uint8a.length; i++) {\n hex += hexes[uint8a[i]];\n }\n return hex;\n}\n\n/**\n * @example hexToBytes('deadbeef') // Uint8Array.from([0xde, 0xad, 0xbe, 0xef])\n */\nexport function hexToBytes(hex: string): Uint8Array {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n }\n if (hex.length % 2) throw new Error('hexToBytes: received invalid unpadded hex');\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0) throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => {};\n\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters: number, tick: number, cb: (i: number) => void) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick) continue;\n await nextTick();\n ts += diff;\n }\n}\n\n// Global symbols in both browsers and Node.js since v11\n// See https://github.com/microsoft/TypeScript/issues/31535\ndeclare const TextEncoder: any;\ndeclare const TextDecoder: any;\n\nexport function utf8ToBytes(str: string): Uint8Array {\n if (typeof str !== 'string') {\n throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\n\nexport type Input = Uint8Array | string;\nexport function toBytes(data: Input): Uint8Array {\n if (typeof data === 'string') data = utf8ToBytes(data);\n if (!(data instanceof Uint8Array))\n throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);\n return data;\n}\n\n/**\n * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`\n * @example concatBytes(buf1, buf2)\n */\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n if (!arrays.every((a) => a instanceof Uint8Array)) throw new Error('Uint8Array list expected');\n if (arrays.length === 1) return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\n\n// For runtime check if class implements interface\nexport abstract class Hash> {\n abstract blockLen: number; // Bytes per block\n abstract outputLen: number; // Bytes in output\n abstract update(buf: Input): this;\n // Writes digest into buf\n abstract digestInto(buf: Uint8Array): void;\n abstract digest(): Uint8Array;\n /**\n * Resets internal state. Makes Hash instance unusable.\n * Reset is impossible for keyed hashes if key is consumed into state. If digest is not consumed\n * by user, they will need to manually call `destroy()` when zeroing is necessary.\n */\n abstract destroy(): void;\n /**\n * Clones hash instance. Unsafe: doesn't check whether `to` is valid. Can be used as `clone()`\n * when no options are passed.\n * Reasons to use `_cloneInto` instead of clone: 1) performance 2) reuse instance => all internal\n * buffers are overwritten => causes buffer overwrite which is used for digest in some cases.\n * There are no guarantees for clean-up because it's impossible in JS.\n */\n abstract _cloneInto(to?: T): T;\n // Safe version that clones internal state\n clone(): T {\n return this._cloneInto();\n }\n}\n\n/**\n * XOF: streaming API to read digest in chunks.\n * Same as 'squeeze' in keccak/k12 and 'seek' in blake3, but more generic name.\n * When hash used in XOF mode it is up to user to call '.destroy' afterwards, since we cannot\n * destroy state, next call can require more bytes.\n */\nexport type HashXOF> = Hash & {\n xof(bytes: number): Uint8Array; // Read 'bytes' bytes from digest stream\n xofInto(buf: Uint8Array): Uint8Array; // read buf.length bytes from digest stream into buf\n};\n\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj: any) =>\n Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\n\ntype EmptyObj = {};\nexport function checkOpts(\n defaults: T1,\n opts?: T2\n): T1 & T2 {\n if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n throw new TypeError('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged as T1 & T2;\n}\n\nexport type CHash = ReturnType;\n\nexport function wrapConstructor>(hashConstructor: () => Hash) {\n const hashC = (message: Input): Uint8Array => hashConstructor().update(toBytes(message)).digest();\n const tmp = hashConstructor();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashConstructor();\n return hashC;\n}\n\nexport function wrapConstructorWithOpts, T extends Object>(\n hashCons: (opts?: T) => Hash\n) {\n const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({} as T);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts: T) => hashCons(opts);\n return hashC;\n}\n\n/**\n * Secure PRNG. Uses `globalThis.crypto` or node.js crypto module.\n */\nexport function randomBytes(bytesLength = 32): Uint8Array {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\n\nimport { isSafeInteger } from \"@stablelib/int\";\n\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nexport function readInt16BE(array: Uint8Array, offset = 0): number {\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nexport function readUint16BE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nexport function readInt16LE(array: Uint8Array, offset = 0): number {\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nexport function readUint16LE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\n\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint16BE(value: number, out = new Uint8Array(2), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\n\nexport const writeInt16BE = writeUint16BE;\n\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint16LE(value: number, out = new Uint8Array(2), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\n\nexport const writeInt16LE = writeUint16LE;\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nexport function readInt32BE(array: Uint8Array, offset = 0): number {\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nexport function readUint32BE(array: Uint8Array, offset = 0): number {\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nexport function readInt32LE(array: Uint8Array, offset = 0): number {\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nexport function readUint32LE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\n\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint32BE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\n\nexport const writeInt32BE = writeUint32BE;\n\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint32LE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\n\n\nexport const writeInt32LE = writeUint32LE;\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nexport function readInt64BE(array: Uint8Array, offset = 0): number {\n const hi = readInt32BE(array, offset);\n const lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo>>31) * 0x100000000);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nexport function readUint64BE(array: Uint8Array, offset = 0): number {\n const hi = readUint32BE(array, offset);\n const lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nexport function readInt64LE(array: Uint8Array, offset = 0): number {\n const lo = readInt32LE(array, offset);\n const hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo>>31) * 0x100000000);\n}\n\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nexport function readUint64LE(array: Uint8Array, offset = 0): number {\n const lo = readUint32LE(array, offset);\n const hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\n\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint64BE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\n\nexport const writeInt64BE = writeUint64BE;\n\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint64LE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\n\nexport const writeInt64LE = writeUint64LE;\n\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nexport function readUintBE(bitLength: number, array: Uint8Array, offset = 0): number {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintBE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintBE: array is too short for the given bitLength\");\n }\n let result = 0;\n let mul = 1;\n for (let i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\n\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nexport function readUintLE(bitLength: number, array: Uint8Array, offset = 0): number {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintLE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintLE: array is too short for the given bitLength\");\n }\n let result = 0;\n let mul = 1;\n for (let i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\n\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nexport function writeUintBE(bitLength: number, value: number,\n out = new Uint8Array(bitLength / 8), offset = 0): Uint8Array {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");\n }\n if (!isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n let div = 1;\n for (let i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\n\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nexport function writeUintLE(bitLength: number, value: number,\n out = new Uint8Array(bitLength / 8), offset = 0): Uint8Array {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");\n }\n if (!isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n let div = 1;\n for (let i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nexport function readFloat32BE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nexport function readFloat32LE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nexport function readFloat64BE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nexport function readFloat64LE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\n\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat32BE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\n\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat32LE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\n\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat64BE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\n\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat64LE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\n","// Copyright (C) 2017 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package blake2b implements BLAKE2b cryptographic hash function.\n */\n\nimport { SerializableHash } from \"@stablelib/hash\";\nimport { readUint32LE, writeUint32LE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const BLOCK_SIZE = 128;\nexport const DIGEST_LENGTH = 64;\nexport const KEY_LENGTH = 64;\nexport const PERSONALIZATION_LENGTH = 16;\nexport const SALT_LENGTH = 16;\n\nexport const MAX_LEAF_SIZE = Math.pow(2, 32) - 1;\nexport const MAX_FANOUT = 255;\nexport const MAX_MAX_DEPTH = 255; // not a typo\n\n/**\n * Configuration for hash function.\n */\nexport type Config = {\n key?: Uint8Array;\n salt?: Uint8Array;\n personalization?: Uint8Array;\n tree?: Tree;\n};\n\n/**\n * Tree hashing parameters.\n */\nexport type Tree = {\n fanout: number; // fanout\n maxDepth: number; // maximal depth\n leafSize: number; // leaf maximal byte length (0 for unlimited)\n nodeOffsetHighBits: number; // high bits of node offset\n nodeOffsetLowBits: number; // low bits of node offset (0 for first, leftmost or leaf)\n nodeDepth: number; // node depth (0 for leaves)\n innerDigestLength: number; // inner digest length\n lastNode: boolean; // indicates processing of the last node of layer\n};\n\nconst IV = new Uint32Array([\n // low bits // high bits\n 0xf3bcc908, 0x6a09e667,\n 0x84caa73b, 0xbb67ae85,\n 0xfe94f82b, 0x3c6ef372,\n 0x5f1d36f1, 0xa54ff53a,\n 0xade682d1, 0x510e527f,\n 0x2b3e6c1f, 0x9b05688c,\n 0xfb41bd6b, 0x1f83d9ab,\n 0x137e2179, 0x5be0cd19,\n]);\n\n// Note: sigma values are doubled since we store\n// 64-bit ints as two 32-bit ints in arrays.\nconst SIGMA = [\n [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30],\n [28, 20, 8, 16, 18, 30, 26, 12, 2, 24, 0, 4, 22, 14, 10, 6],\n [22, 16, 24, 0, 10, 4, 30, 26, 20, 28, 6, 12, 14, 2, 18, 8],\n [14, 18, 6, 2, 26, 24, 22, 28, 4, 12, 10, 20, 8, 0, 30, 16],\n [18, 0, 10, 14, 4, 8, 20, 30, 28, 2, 22, 24, 12, 16, 6, 26],\n [4, 24, 12, 20, 0, 22, 16, 6, 8, 26, 14, 10, 30, 28, 2, 18],\n [24, 10, 2, 30, 28, 26, 8, 20, 0, 14, 12, 6, 18, 4, 16, 22],\n [26, 22, 14, 28, 24, 2, 6, 18, 10, 0, 30, 8, 16, 12, 4, 20],\n [12, 30, 28, 18, 22, 6, 0, 16, 24, 4, 26, 14, 2, 8, 20, 10],\n [20, 4, 16, 8, 14, 12, 2, 10, 30, 22, 18, 28, 6, 24, 26, 0],\n [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30],\n [28, 20, 8, 16, 18, 30, 26, 12, 2, 24, 0, 4, 22, 14, 10, 6]\n];\n\n/**\n * BLAKE2b hash function.\n */\nexport class BLAKE2b implements SerializableHash {\n readonly blockSize = BLOCK_SIZE;\n\n // Note: Int32Arrays for state and message are used for performance reasons.\n private _state = new Int32Array(IV); // hash state, initialized with IV\n private _buffer = new Uint8Array(BLOCK_SIZE); // buffer for data\n private _bufferLength = 0; // number of bytes in buffer\n private _ctr = new Uint32Array(4);\n private _flag = new Uint32Array(4);\n private _lastNode = false;\n private _finished = false;\n\n private _vtmp = new Uint32Array(32);\n private _mtmp = new Uint32Array(32);\n\n private _paddedKey: Uint8Array | undefined; // copy of zero-padded key if present\n private _initialState: Uint32Array; // initial state after initialization\n\n constructor(public digestLength = 64, config?: Config) {\n // Validate digest length.\n if (digestLength < 1 || digestLength > DIGEST_LENGTH) {\n throw new Error(\"blake2b: wrong digest length\");\n }\n\n // Validate config, if present.\n if (config) {\n this.validateConfig(config);\n }\n\n // Get key length from config.\n let keyLength = 0;\n if (config && config.key) {\n keyLength = config.key.length;\n }\n\n // Get tree fanout and maxDepth from config.\n let fanout = 1;\n let maxDepth = 1;\n if (config && config.tree) {\n fanout = config.tree.fanout;\n maxDepth = config.tree.maxDepth;\n }\n\n // Xor common parameters into state.\n this._state[0] ^= digestLength | (keyLength << 8) | (fanout << 16) | (maxDepth << 24);\n\n // Xor tree parameters into state.\n if (config && config.tree) {\n this._state[1] ^= config.tree.leafSize;\n\n this._state[2] ^= config.tree.nodeOffsetLowBits;\n this._state[3] ^= config.tree.nodeOffsetHighBits;\n this._state[4] ^= config.tree.nodeDepth | (config.tree.innerDigestLength << 8);\n\n this._lastNode = config.tree.lastNode;\n }\n\n // Xor salt into state.\n if (config && config.salt) {\n this._state[8] ^= readUint32LE(config.salt, 0);\n this._state[9] ^= readUint32LE(config.salt, 4);\n this._state[10] ^= readUint32LE(config.salt, 8);\n this._state[11] ^= readUint32LE(config.salt, 12);\n }\n\n // Xor personalization into state.\n if (config && config.personalization) {\n this._state[12] ^= readUint32LE(config.personalization, 0);\n this._state[13] ^= readUint32LE(config.personalization, 4);\n this._state[14] ^= readUint32LE(config.personalization, 8);\n this._state[15] ^= readUint32LE(config.personalization, 12);\n }\n\n // Save a copy of initialized state for reset.\n this._initialState = new Uint32Array(this._state);\n\n // Process key.\n if (config && config.key && keyLength > 0) {\n this._paddedKey = new Uint8Array(BLOCK_SIZE);\n this._paddedKey.set(config.key);\n\n // Put padded key into buffer.\n this._buffer.set(this._paddedKey);\n this._bufferLength = BLOCK_SIZE;\n }\n }\n\n reset(): this {\n // Restore initial state.\n this._state.set(this._initialState);\n\n if (this._paddedKey) {\n // Put padded key into buffer.\n this._buffer.set(this._paddedKey);\n this._bufferLength = BLOCK_SIZE;\n } else {\n this._bufferLength = 0;\n }\n\n // Clear counters and flags.\n wipe(this._ctr);\n wipe(this._flag);\n this._finished = false;\n\n return this;\n }\n\n validateConfig(config: Config) {\n if (config.key && config.key.length > KEY_LENGTH) {\n throw new Error(\"blake2b: wrong key length\");\n }\n if (config.salt && config.salt.length !== SALT_LENGTH) {\n throw new Error(\"blake2b: wrong salt length\");\n }\n if (config.personalization &&\n config.personalization.length !== PERSONALIZATION_LENGTH) {\n throw new Error(\"blake2b: wrong personalization length\");\n }\n if (config.tree) {\n if (config.tree.fanout < 0 || config.tree.fanout > MAX_FANOUT) {\n throw new Error(\"blake2b: wrong tree fanout\");\n }\n if (config.tree.maxDepth < 0 || config.tree.maxDepth > MAX_MAX_DEPTH) {\n throw new Error(\"blake2b: wrong tree depth\");\n }\n if (config.tree.leafSize < 0 || config.tree.leafSize > MAX_LEAF_SIZE) {\n throw new Error(\"blake2b: wrong leaf size\");\n }\n if (config.tree.innerDigestLength < 0 ||\n config.tree.innerDigestLength > DIGEST_LENGTH) {\n throw new Error(\"blake2b: wrong tree inner digest length\");\n }\n }\n }\n\n update(data: Uint8Array, dataLength = data.length): this {\n if (this._finished) {\n throw new Error(\"blake2b: can't update because hash was finished.\");\n }\n\n const left = BLOCK_SIZE - this._bufferLength;\n let dataPos = 0;\n\n if (dataLength === 0) {\n return this;\n }\n\n // Finish buffer.\n if (dataLength > left) {\n for (let i = 0; i < left; i++) {\n this._buffer[this._bufferLength + i] = data[dataPos + i];\n }\n this._processBlock(BLOCK_SIZE);\n dataPos += left;\n dataLength -= left;\n this._bufferLength = 0;\n }\n\n // Process data blocks.\n while (dataLength > BLOCK_SIZE) {\n for (let i = 0; i < BLOCK_SIZE; i++) {\n this._buffer[i] = data[dataPos + i];\n }\n this._processBlock(BLOCK_SIZE);\n dataPos += BLOCK_SIZE;\n dataLength -= BLOCK_SIZE;\n this._bufferLength = 0;\n }\n\n // Copy leftovers to buffer.\n for (let i = 0; i < dataLength; i++) {\n this._buffer[this._bufferLength + i] = data[dataPos + i];\n }\n this._bufferLength += dataLength;\n\n return this;\n }\n\n finish(out: Uint8Array): this {\n if (!this._finished) {\n for (let i = this._bufferLength; i < BLOCK_SIZE; i++) {\n this._buffer[i] = 0;\n }\n\n // Set last block flag.\n this._flag[0] = 0xffffffff;\n this._flag[1] = 0xffffffff;\n\n // Set last node flag if last node in tree.\n if (this._lastNode) {\n this._flag[2] = 0xffffffff;\n this._flag[3] = 0xffffffff;\n }\n\n this._processBlock(this._bufferLength);\n this._finished = true;\n }\n // Reuse buffer as temporary space for digest.\n const tmp = this._buffer.subarray(0, 64);\n for (let i = 0; i < 16; i++) {\n writeUint32LE(this._state[i], tmp, i * 4);\n }\n out.set(tmp.subarray(0, out.length));\n return this;\n }\n\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n clean() {\n wipe(this._vtmp);\n wipe(this._mtmp);\n wipe(this._state);\n wipe(this._buffer);\n wipe(this._initialState);\n if (this._paddedKey) {\n wipe(this._paddedKey);\n }\n this._bufferLength = 0;\n wipe(this._ctr);\n wipe(this._flag);\n this._lastNode = false;\n this._finished = false;\n }\n\n saveState(): SavedState {\n if (this._finished) {\n throw new Error(\"blake2b: cannot save finished state\");\n }\n return {\n state: new Uint32Array(this._state),\n buffer: new Uint8Array(this._buffer),\n bufferLength: this._bufferLength,\n ctr: new Uint32Array(this._ctr),\n flag: new Uint32Array(this._flag),\n lastNode: this._lastNode,\n paddedKey: this._paddedKey ? new Uint8Array(this._paddedKey) : undefined,\n initialState: new Uint32Array(this._initialState)\n };\n }\n\n restoreState(savedState: SavedState): this {\n this._state.set(savedState.state);\n this._buffer.set(savedState.buffer);\n this._bufferLength = savedState.bufferLength;\n this._ctr.set(savedState.ctr);\n this._flag.set(savedState.flag);\n this._lastNode = savedState.lastNode;\n if (this._paddedKey) {\n wipe(this._paddedKey);\n }\n this._paddedKey = savedState.paddedKey ? new Uint8Array(savedState.paddedKey) : undefined;\n this._initialState.set(savedState.initialState);\n return this;\n }\n\n cleanSavedState(savedState: SavedState): void {\n wipe(savedState.state);\n wipe(savedState.buffer);\n wipe(savedState.initialState);\n if (savedState.paddedKey) {\n wipe(savedState.paddedKey);\n }\n savedState.bufferLength = 0;\n wipe(savedState.ctr);\n wipe(savedState.flag);\n savedState.lastNode = false;\n }\n\n private _G(v: Uint32Array,\n al: number, bl: number, cl: number, dl: number,\n ah: number, bh: number, ch: number, dh: number,\n ml0: number, mh0: number,\n ml1: number, mh1: number) {\n let vla = v[al],\n vha = v[ah],\n vlb = v[bl],\n vhb = v[bh],\n vlc = v[cl],\n vhc = v[ch],\n vld = v[dl],\n vhd = v[dh];\n\n // 64-bit: va += vb\n let w = vla & 0xffff,\n x = vla >>> 16,\n y = vha & 0xffff,\n z = vha >>> 16;\n\n w += vlb & 0xffff; x += vlb >>> 16;\n y += vhb & 0xffff; z += vhb >>> 16;\n\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n\n vha = (y & 0xffff) | (z << 16);\n vla = (w & 0xffff) | (x << 16);\n\n // 64-bit: va += m[sigma[r][2 * i + 0]]\n w = vla & 0xffff; x = vla >>> 16;\n y = vha & 0xffff; z = vha >>> 16;\n\n w += ml0 & 0xffff; x += ml0 >>> 16;\n y += mh0 & 0xffff; z += mh0 >>> 16;\n\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n\n vha = (y & 0xffff) | (z << 16);\n vla = (w & 0xffff) | (x << 16);\n\n // 64-bit: vd ^= va\n vld ^= vla; vhd ^= vha;\n\n // 64-bit: rot(vd, 32)\n w = vhd; vhd = vld; vld = w;\n\n // 64-bit: vc += vd\n w = vlc & 0xffff; x = vlc >>> 16;\n y = vhc & 0xffff; z = vhc >>> 16;\n\n w += vld & 0xffff; x += vld >>> 16;\n y += vhd & 0xffff; z += vhd >>> 16;\n\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n\n vhc = (y & 0xffff) | (z << 16);\n vlc = (w & 0xffff) | (x << 16);\n\n // 64-bit: vb ^= vc\n vlb ^= vlc; vhb ^= vhc;\n\n // 64-bit: rot(vb, 24)\n w = vlb << 8 | vhb >>> 24;\n vlb = vhb << 8 | vlb >>> 24;\n vhb = w;\n\n // 64-bit: va += vb\n w = vla & 0xffff; x = vla >>> 16;\n y = vha & 0xffff; z = vha >>> 16;\n\n w += vlb & 0xffff; x += vlb >>> 16;\n y += vhb & 0xffff; z += vhb >>> 16;\n\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n\n vha = (y & 0xffff) | (z << 16);\n vla = (w & 0xffff) | (x << 16);\n\n // 64-bit: va += m[sigma[r][2 * i + 1]\n w = vla & 0xffff; x = vla >>> 16;\n y = vha & 0xffff; z = vha >>> 16;\n\n w += ml1 & 0xffff; x += ml1 >>> 16;\n y += mh1 & 0xffff; z += mh1 >>> 16;\n\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n\n vha = (y & 0xffff) | (z << 16);\n vla = (w & 0xffff) | (x << 16);\n\n // 64-bit: vd ^= va\n vld ^= vla; vhd ^= vha;\n\n // 64-bit: rot(vd, 16)\n w = vld << 16 | vhd >>> 16;\n vld = vhd << 16 | vld >>> 16;\n vhd = w;\n\n // 64-bit: vc += vd\n w = vlc & 0xffff; x = vlc >>> 16;\n y = vhc & 0xffff; z = vhc >>> 16;\n\n w += vld & 0xffff; x += vld >>> 16;\n y += vhd & 0xffff; z += vhd >>> 16;\n\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n\n vhc = (y & 0xffff) | (z << 16);\n vlc = (w & 0xffff) | (x << 16);\n\n // 64-bit: vb ^= vc\n vlb ^= vlc; vhb ^= vhc;\n\n // 64-bit: rot(vb, 63)\n w = vhb << 1 | vlb >>> 31;\n vlb = vlb << 1 | vhb >>> 31;\n vhb = w;\n\n v[al] = vla;\n v[ah] = vha;\n v[bl] = vlb;\n v[bh] = vhb;\n v[cl] = vlc;\n v[ch] = vhc;\n v[dl] = vld;\n v[dh] = vhd;\n }\n\n private _incrementCounter(n: number) {\n for (let i = 0; i < 3; i++) {\n let a = this._ctr[i] + n;\n this._ctr[i] = a >>> 0;\n if (this._ctr[i] === a) {\n return;\n }\n n = 1;\n }\n }\n\n private _processBlock(length: number) {\n this._incrementCounter(length);\n let v = this._vtmp;\n v.set(this._state);\n v.set(IV, 16);\n v[12 * 2 + 0] ^= this._ctr[0];\n v[12 * 2 + 1] ^= this._ctr[1];\n v[13 * 2 + 0] ^= this._ctr[2];\n v[13 * 2 + 1] ^= this._ctr[3];\n v[14 * 2 + 0] ^= this._flag[0];\n v[14 * 2 + 1] ^= this._flag[1];\n v[15 * 2 + 0] ^= this._flag[2];\n v[15 * 2 + 1] ^= this._flag[3];\n\n let m = this._mtmp;\n for (let i = 0; i < 32; i++) {\n m[i] = readUint32LE(this._buffer, i * 4);\n }\n\n for (let r = 0; r < 12; r++) {\n this._G(v,\n 0, 8, 16, 24,\n 1, 9, 17, 25,\n m[SIGMA[r][0]], m[SIGMA[r][0] + 1],\n m[SIGMA[r][1]], m[SIGMA[r][1] + 1]\n );\n\n this._G(v,\n 2, 10, 18, 26,\n 3, 11, 19, 27,\n m[SIGMA[r][2]], m[SIGMA[r][2] + 1],\n m[SIGMA[r][3]], m[SIGMA[r][3] + 1]\n );\n\n this._G(v,\n 4, 12, 20, 28,\n 5, 13, 21, 29,\n m[SIGMA[r][4]], m[SIGMA[r][4] + 1],\n m[SIGMA[r][5]], m[SIGMA[r][5] + 1]\n );\n\n this._G(v,\n 6, 14, 22, 30,\n 7, 15, 23, 31,\n m[SIGMA[r][6]], m[SIGMA[r][6] + 1],\n m[SIGMA[r][7]], m[SIGMA[r][7] + 1]\n );\n\n this._G(v,\n 0, 10, 20, 30,\n 1, 11, 21, 31,\n m[SIGMA[r][8]], m[SIGMA[r][8] + 1],\n m[SIGMA[r][9]], m[SIGMA[r][9] + 1]\n );\n\n this._G(v,\n 2, 12, 22, 24,\n 3, 13, 23, 25,\n m[SIGMA[r][10]], m[SIGMA[r][10] + 1],\n m[SIGMA[r][11]], m[SIGMA[r][11] + 1]\n );\n\n this._G(v,\n 4, 14, 16, 26,\n 5, 15, 17, 27,\n m[SIGMA[r][12]], m[SIGMA[r][12] + 1],\n m[SIGMA[r][13]], m[SIGMA[r][13] + 1]\n );\n\n this._G(v,\n 6, 8, 18, 28,\n 7, 9, 19, 29,\n m[SIGMA[r][14]], m[SIGMA[r][14] + 1],\n m[SIGMA[r][15]], m[SIGMA[r][15] + 1]\n );\n }\n\n for (let i = 0; i < 16; i++) {\n this._state[i] ^= v[i] ^ v[i + 16];\n }\n }\n}\n\nexport type SavedState = {\n state: Uint32Array;\n buffer: Uint8Array;\n bufferLength: number;\n ctr: Uint32Array;\n flag: Uint32Array;\n lastNode: boolean;\n paddedKey: Uint8Array | undefined;\n initialState: Uint32Array;\n};\n\nexport function hash(data: Uint8Array, digestLength = DIGEST_LENGTH, config?: Config): Uint8Array {\n const h = new BLAKE2b(digestLength, config);\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package bytes provides functions for dealing with byte arrays.\n */\n\n/**\n * Concatenates byte arrays.\n */\nexport function concat(...arrays: Uint8Array[]): Uint8Array;\nexport function concat(): Uint8Array {\n // Calculate sum of lengths of all arrays.\n let totalLength = 0;\n for (let i = 0; i < arguments.length; i++) {\n totalLength += arguments[i].length;\n }\n\n // Allocate new array of calculated length.\n const result = new Uint8Array(totalLength);\n\n // Copy all arrays into result.\n let offset = 0;\n for (let i = 0; i < arguments.length; i++) {\n const arg = arguments[i];\n result.set(arg, offset);\n offset += arg.length;\n }\n\n return result;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package constant-time provides functions for performing algorithmically constant-time operations.\n */\n\n/**\n * NOTE! Due to the inability to guarantee real constant time evaluation of\n * anything in JavaScript VM, this is module is the best effort.\n */\n\n/**\n * Returns resultIfOne if subject is 1, or resultIfZero if subject is 0.\n *\n * Supports only 32-bit integers, so resultIfOne or resultIfZero are not\n * integers, they'll be converted to them with bitwise operations.\n */\nexport function select(subject: number, resultIfOne: number, resultIfZero: number): number {\n return (~(subject - 1) & resultIfOne) | ((subject - 1) & resultIfZero);\n}\n\n/**\n * Returns 1 if a <= b, or 0 if not.\n * Arguments must be positive 32-bit integers less than or equal to 2^31 - 1.\n */\nexport function lessOrEqual(a: number, b: number): number {\n return (((a | 0) - (b | 0) - 1) >>> 31) & 1;\n}\n\n/**\n * Returns 1 if a and b are of equal length and their contents\n * are equal, or 0 otherwise.\n *\n * Note that unlike in equal(), zero-length inputs are considered\n * the same, so this function will return 1.\n */\nexport function compare(a: Uint8Array, b: Uint8Array): number {\n if (a.length !== b.length) {\n return 0;\n }\n let result = 0;\n for (let i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return (1 & ((result - 1) >>> 8));\n}\n\n/**\n * Returns true if a and b are of equal non-zero length,\n * and their contents are equal, or false otherwise.\n *\n * Note that unlike in compare() zero-length inputs are considered\n * _not_ equal, so this function will return false.\n */\nexport function equal(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length === 0 || b.length === 0) {\n return false;\n }\n return compare(a, b) !== 0;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package ed25519 implements Ed25519 public-key signature algorithm.\n */\n\nimport { randomBytes, RandomSource } from \"@stablelib/random\";\nimport { hash, SHA512 } from \"@stablelib/sha512\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const SIGNATURE_LENGTH = 64;\nexport const PUBLIC_KEY_LENGTH = 32;\nexport const SECRET_KEY_LENGTH = 64;\nexport const SEED_LENGTH = 32;\n\n// TODO(dchest): some functions are copies of ../kex/x25519.\n// Find a way to combine them without opening up to public.\n\n// Ported from TweetNaCl.js, which was ported from TweetNaCl\n// by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n// https://tweetnacl.js.org\n\n// TweetNaCl contributors:\n// Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen,\n// Tanja Lange, Peter Schwabe, Sjaak Smetsers.\n// Public domain.\n// https://tweetnacl.cr.yp.to/\n\ntype GF = Float64Array;\n\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init?: number[]): GF {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n\n// Base point.\nconst _9 = new Uint8Array(32); _9[0] = 9;\n\nconst gf0 = gf();\n\nconst gf1 = gf([1]);\n\nconst D = gf([\n 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,\n 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203\n]);\n\nconst D2 = gf([\n 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,\n 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406\n]);\n\nconst X = gf([\n 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,\n 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169\n]);\n\nconst Y = gf([\n 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,\n 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666\n]);\n\nconst I = gf([\n 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,\n 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83\n]);\n\nfunction set25519(r: GF, a: GF) {\n for (let i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n}\n\nfunction car25519(o: GF) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\n\nfunction sel25519(p: GF, q: GF, b: number) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o: Uint8Array, n: GF) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\n\nfunction verify32(x: Uint8Array, y: Uint8Array) {\n let d = 0;\n for (let i = 0; i < 32; i++) {\n d |= x[i] ^ y[i];\n }\n return (1 & ((d - 1) >>> 8)) - 1;\n}\n\n\nfunction neq25519(a: GF, b: GF) {\n const c = new Uint8Array(32);\n const d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return verify32(c, d);\n}\n\nfunction par25519(a: GF) {\n const d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\n\nfunction unpack25519(o: GF, n: Uint8Array) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\n\nfunction add(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\n\nfunction sub(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\n\nfunction mul(o: GF, a: GF, b: GF) {\n let v: number, c: number,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction square(o: GF, a: GF) {\n mul(o, a, a);\n}\n\nfunction inv25519(o: GF, i: GF) {\n const c = gf();\n let a: number;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 253; a >= 0; a--) {\n square(c, c);\n if (a !== 2 && a !== 4) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\n\nfunction pow2523(o: GF, i: GF) {\n const c = gf();\n let a: number;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 250; a >= 0; a--) {\n square(c, c);\n if (a !== 1) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\n\n\nfunction edadd(p: GF[], q: GF[]) {\n const a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf(),\n g = gf(), h = gf(), t = gf();\n\n sub(a, p[1], p[0]);\n sub(t, q[1], q[0]);\n mul(a, a, t);\n add(b, p[0], p[1]);\n add(t, q[0], q[1]);\n mul(b, b, t);\n mul(c, p[3], q[3]);\n mul(c, c, D2);\n mul(d, p[2], q[2]);\n add(d, d, d);\n sub(e, b, a);\n sub(f, d, c);\n add(g, d, c);\n add(h, b, a);\n\n mul(p[0], e, f);\n mul(p[1], h, g);\n mul(p[2], g, f);\n mul(p[3], e, h);\n}\n\nfunction cswap(p: GF[], q: GF[], b: number) {\n for (let i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\n\nfunction pack(r: Uint8Array, p: GF[]) {\n const tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n mul(tx, p[0], zi);\n mul(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\n\nfunction scalarmult(p: GF[], q: GF[], s: Uint8Array) {\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (let i = 255; i >= 0; --i) {\n const b = (s[(i / 8) | 0] >> (i & 7)) & 1;\n cswap(p, q, b);\n edadd(q, p);\n edadd(p, p);\n cswap(p, q, b);\n }\n}\n\nfunction scalarbase(p: GF[], s: Uint8Array) {\n const q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n mul(q[3], X, Y);\n scalarmult(p, q, s);\n}\n\nexport interface KeyPair {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n}\n\n// Generates key pair from secret 32-byte seed.\nexport function generateKeyPairFromSeed(seed: Uint8Array): KeyPair {\n if (seed.length !== SEED_LENGTH) {\n throw new Error(`ed25519: seed must be ${SEED_LENGTH} bytes`);\n }\n\n const d = hash(seed);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n const publicKey = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n scalarbase(p, d);\n pack(publicKey, p);\n\n const secretKey = new Uint8Array(64);\n secretKey.set(seed);\n secretKey.set(publicKey, 32);\n\n return {\n publicKey,\n secretKey\n };\n}\n\nexport function generateKeyPair(prng?: RandomSource): KeyPair {\n const seed = randomBytes(32, prng);\n const result = generateKeyPairFromSeed(seed);\n wipe(seed);\n return result;\n}\n\nexport function extractPublicKeyFromSecretKey(secretKey: Uint8Array): Uint8Array {\n if (secretKey.length !== SECRET_KEY_LENGTH) {\n throw new Error(`ed25519: secret key must be ${SECRET_KEY_LENGTH} bytes`);\n }\n return new Uint8Array(secretKey.subarray(32));\n}\n\nconst L = new Float64Array([\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2,\n 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10\n]);\n\nfunction modL(r: Uint8Array, x: Float64Array) {\n let carry: number;\n let i: number;\n let j: number;\n let k: number;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) {\n x[j] -= carry * L[j];\n }\n for (i = 0; i < 32; i++) {\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\n\nfunction reduce(r: Uint8Array) {\n const x = new Float64Array(64);\n for (let i = 0; i < 64; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 64; i++) {\n r[i] = 0;\n }\n modL(r, x);\n}\n\n// Returns 64-byte signature of the message under the 64-byte secret key.\nexport function sign(secretKey: Uint8Array, message: Uint8Array): Uint8Array {\n const x = new Float64Array(64);\n const p = [gf(), gf(), gf(), gf()];\n\n const d = hash(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n const signature = new Uint8Array(64);\n signature.set(d.subarray(32), 32);\n\n const hs = new SHA512();\n hs.update(signature.subarray(32));\n hs.update(message);\n const r = hs.digest();\n hs.clean();\n reduce(r);\n scalarbase(p, r);\n pack(signature, p);\n\n hs.reset();\n hs.update(signature.subarray(0, 32));\n hs.update(secretKey.subarray(32));\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n\n for (let i = 0; i < 32; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 32; i++) {\n for (let j = 0; j < 32; j++) {\n x[i + j] += h[i] * d[j];\n }\n }\n modL(signature.subarray(32), x);\n\n return signature;\n}\n\nfunction unpackneg(r: GF[], p: Uint8Array) {\n const t = gf(), chk = gf(), num = gf(),\n den = gf(), den2 = gf(), den4 = gf(),\n den6 = gf();\n\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n square(num, r[1]);\n mul(den, num, D);\n sub(num, num, r[2]);\n add(den, r[2], den);\n\n square(den2, den);\n square(den4, den2);\n mul(den6, den4, den2);\n mul(t, den6, num);\n mul(t, t, den);\n\n pow2523(t, t);\n mul(t, t, num);\n mul(t, t, den);\n mul(t, t, den);\n mul(r[0], t, den);\n\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n mul(r[0], r[0], I);\n }\n\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n return -1;\n }\n\n if (par25519(r[0]) === (p[31] >> 7)) {\n sub(r[0], gf0, r[0]);\n }\n\n mul(r[3], r[0], r[1]);\n return 0;\n}\n\nexport function verify(publicKey: Uint8Array, message: Uint8Array, signature: Uint8Array): boolean {\n const t = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n const q = [gf(), gf(), gf(), gf()];\n\n if (signature.length !== SIGNATURE_LENGTH) {\n throw new Error(`ed25519: signature must be ${SIGNATURE_LENGTH} bytes`);\n }\n\n if (unpackneg(q, publicKey)) {\n return false;\n }\n\n const hs = new SHA512();\n hs.update(signature.subarray(0, 32));\n hs.update(publicKey);\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n scalarmult(p, q, h);\n\n scalarbase(q, signature.subarray(32));\n edadd(p, q);\n pack(t, p);\n\n if (verify32(signature, t)) {\n return false;\n }\n return true;\n}\n\n/**\n * Convert Ed25519 public key to X25519 public key.\n *\n * Throws if given an invalid public key.\n */\nexport function convertPublicKeyToX25519(publicKey: Uint8Array): Uint8Array {\n let q = [gf(), gf(), gf(), gf()];\n\n if (unpackneg(q, publicKey)) {\n throw new Error(\"Ed25519: invalid public key\");\n }\n\n // Formula: montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p\n let a = gf();\n let b = gf();\n let y = q[1];\n add(a, gf1, y);\n sub(b, gf1, y);\n inv25519(b, b);\n mul(a, a, b);\n\n let z = new Uint8Array(32);\n pack25519(z, a);\n return z;\n}\n\n/**\n * Convert Ed25519 secret (private) key to X25519 secret key.\n */\nexport function convertSecretKeyToX25519(secretKey: Uint8Array): Uint8Array {\n const d = hash(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const o = new Uint8Array(d.subarray(0, 32));\n wipe(d);\n return o;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package hash provides interface for hash functions.\n */\n\n/**\n * Hash interface describes properties of\n * cryptographic hash functions.\n */\nexport interface Hash {\n readonly digestLength: number;\n readonly blockSize: number;\n update(data: Uint8Array): this;\n reset(): this;\n finish(out: Uint8Array): this;\n digest(): Uint8Array;\n clean(): void;\n}\n\nexport interface SerializableHash extends Hash {\n saveState(): any;\n restoreState(savedState: any): this;\n cleanSavedState(savedState: any): void;\n}\n\nexport function isSerializableHash(h: Hash): h is SerializableHash {\n return (\n typeof (h as SerializableHash).saveState !== \"undefined\" &&\n typeof (h as SerializableHash).restoreState !== \"undefined\" &&\n typeof (h as SerializableHash).cleanSavedState !== \"undefined\"\n );\n}\n\n// TODO(dchest): figure out the standardized interface for XOF such as\n// SHAKE and BLAKE2X.\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package hmac implements HMAC algorithm.\n */\n\nimport { Hash, SerializableHash, isSerializableHash } from \"@stablelib/hash\";\nimport { equal as constantTimeEqual } from \"@stablelib/constant-time\";\nimport { wipe } from \"@stablelib/wipe\";\n\n/**\n * HMAC implements hash-based message authentication algorithm.\n */\nexport class HMAC implements SerializableHash {\n readonly blockSize: number;\n readonly digestLength: number;\n\n private _inner: Hash; // inner hash\n private _outer: Hash; // outer hash\n\n private _finished = false; // true if HMAC was finalized\n\n // Copies of hash states after keying.\n // Need for quick reset without hashing the key again.\n private _innerKeyedState: any | undefined;\n private _outerKeyedState: any | undefined;\n\n /**\n * Constructs a new HMAC with the given Hash and secret key.\n */\n constructor(hash: new () => Hash | SerializableHash, key: Uint8Array) {\n // Initialize inner and outer hashes.\n this._inner = new hash();\n this._outer = new hash();\n\n // Set block and digest sizes for this HMAC\n // instance to values from the hash.\n this.blockSize = this._outer.blockSize;\n this.digestLength = this._outer.digestLength;\n\n // Pad temporary stores a key (or its hash) padded with zeroes.\n const pad = new Uint8Array(this.blockSize);\n\n if (key.length > this.blockSize) {\n // If key is bigger than hash block size, it must be\n // hashed and this hash is used as a key instead.\n this._inner.update(key).finish(pad).clean();\n } else {\n // Otherwise, copy the key into pad.\n pad.set(key);\n }\n\n // Now two different keys are derived from padded key\n // by xoring a different byte value to each.\n\n // To make inner hash key, xor byte 0x36 into pad.\n for (let i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n // Update inner hash with the result.\n this._inner.update(pad);\n\n // To make outer hash key, xor byte 0x5c into pad.\n // But since we already xored 0x36 there, we must\n // first undo this by xoring it again.\n for (let i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n // Update outer hash with the result.\n this._outer.update(pad);\n\n // Save states of both hashes, so that we can quickly restore\n // them later in reset() without the need to remember the actual\n // key and perform this initialization again.\n if (isSerializableHash(this._inner) && isSerializableHash(this._outer)) {\n this._innerKeyedState = this._inner.saveState();\n this._outerKeyedState = this._outer.saveState();\n }\n\n // Clean pad.\n wipe(pad);\n }\n\n /**\n * Returns HMAC state to the state initialized with key\n * to make it possible to run HMAC over the other data with the same\n * key without creating a new instance.\n */\n reset(): this {\n if (!isSerializableHash(this._inner) || !isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't reset() because hash doesn't implement restoreState()\");\n }\n // Restore keyed states of inner and outer hashes.\n this._inner.restoreState(this._innerKeyedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans HMAC state.\n */\n clean() {\n if (isSerializableHash(this._inner)) {\n this._inner.cleanSavedState(this._innerKeyedState);\n }\n if (isSerializableHash(this._outer)) {\n this._outer.cleanSavedState(this._outerKeyedState);\n }\n this._inner.clean();\n this._outer.clean();\n }\n\n /**\n * Updates state with provided data.\n */\n update(data: Uint8Array): this {\n this._inner.update(data);\n return this;\n }\n\n /**\n * Finalizes HMAC and puts the result in out.\n */\n finish(out: Uint8Array): this {\n if (this._finished) {\n // If HMAC was finalized, outer hash is also finalized,\n // so it produces the same digest it produced when it\n // was finalized.\n this._outer.finish(out);\n return this;\n }\n\n // Finalize inner hash and store the result temporarily.\n this._inner.finish(out);\n\n // Update outer hash with digest of inner hash and and finalize it.\n this._outer.update(out.subarray(0, this.digestLength)).finish(out);\n this._finished = true;\n\n return this;\n }\n\n /**\n * Returns the computed message authentication code.\n */\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n /**\n * Saves HMAC state.\n * This function is needed for PBKDF2 optimization.\n */\n saveState(): any {\n if (!isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't saveState() because hash doesn't implement it\");\n }\n return this._inner.saveState();\n }\n\n restoreState(savedState: any): this {\n if (!isSerializableHash(this._inner) || !isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't restoreState() because hash doesn't implement it\");\n }\n this._inner.restoreState(savedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n }\n\n cleanSavedState(savedState: any) {\n if (!isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't cleanSavedState() because hash doesn't implement it\");\n }\n this._inner.cleanSavedState(savedState);\n }\n}\n\n/**\n * Returns HMAC using the given hash constructor for the key over data.\n */\nexport function hmac(hash: new () => Hash, key: Uint8Array, data: Uint8Array): Uint8Array {\n const h = new HMAC(hash, key);\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n\n/**\n * Returns true if two HMAC digests are equal.\n * Uses constant-time comparison to avoid leaking timing information.\n *\n * Example:\n *\n * const receivedDigest = ...\n * const realDigest = hmac(SHA256, key, data);\n * if (!equal(receivedDigest, realDigest)) {\n * throw new Error(\"Authentication error\");\n * }\n */\nexport const equal = constantTimeEqual;\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package int provides helper functions for integerss.\n */\n\n// Shim using 16-bit pieces.\nfunction imulShim(a: number, b: number): number {\n const ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n const bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexport const mul = (Math as { imul?(a: number, b: number): number }).imul || imulShim;\n\n/** 32-bit integer addition. */\nexport function add(a: number, b: number): number {\n return (a + b) | 0;\n}\n\n/** 32-bit integer subtraction. */\nexport function sub(a: number, b: number): number {\n return (a - b) | 0;\n}\n\n/** 32-bit integer left rotation */\nexport function rotl(x: number, n: number): number {\n return x << n | x >>> (32 - n);\n}\n\n/** 32-bit integer left rotation */\nexport function rotr(x: number, n: number): number {\n return x << (32 - n) | x >>> n;\n}\n\nfunction isIntegerShim(n: number): boolean {\n return typeof n === \"number\" && isFinite(n) && Math.floor(n) === n;\n}\n\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexport const isInteger = (Number as { isInteger?(n: number): boolean }).isInteger || isIntegerShim;\n\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexport const MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n *\n * In ES2015, Number.isSafeInteger.\n */\nexport const isSafeInteger = (n: number): boolean =>\n isInteger(n) && (n >= -MAX_SAFE_INTEGER && n <= MAX_SAFE_INTEGER);\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { scalarMult } from \"@stablelib/x25519\";\nimport { hsalsa } from \"@stablelib/xsalsa20\";\nimport { secretBox, openSecretBox } from \"./secretbox\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport { generateKeyPair } from \"@stablelib/x25519\";\n\nconst zeros16 = new Uint8Array(16);\n\nexport function precomputeSharedKey(theirPublicKey: Uint8Array, mySecretKey: Uint8Array): Uint8Array {\n // Compute scalar multiplication result.\n const key = scalarMult(mySecretKey, theirPublicKey);\n\n // Hash key with HSalsa function.\n hsalsa(key, zeros16, key);\n\n return key;\n}\n\nexport function box(theirPublicKey: Uint8Array, mySecretKey: Uint8Array,\n nonce: Uint8Array, data: Uint8Array): Uint8Array {\n const sharedKey = precomputeSharedKey(theirPublicKey, mySecretKey);\n const result = secretBox(sharedKey, nonce, data);\n wipe(sharedKey);\n return result;\n}\n\nexport function openBox(theirPublicKey: Uint8Array, mySecretKey: Uint8Array,\n nonce: Uint8Array, data: Uint8Array): Uint8Array | null {\n const sharedKey = precomputeSharedKey(theirPublicKey, mySecretKey);\n const result = openSecretBox(sharedKey, nonce, data);\n wipe(sharedKey);\n return result;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package nacl implements NaCl (Networking and Cryptography library) cryptography.\n */\n\nexport * from \"./box\";\nexport * from \"./secretbox\";\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { streamXOR, stream } from \"@stablelib/xsalsa20\";\nimport { oneTimeAuth, equal as authEqual } from \"@stablelib/poly1305\";\nimport { wipe } from \"@stablelib/wipe\";\nimport { randomBytes, RandomSource } from \"@stablelib/random\";\n\nexport function secretBox(key: Uint8Array, nonce: Uint8Array, data: Uint8Array): Uint8Array {\n if (nonce.length !== 24) {\n throw new Error(\"secretBox nonce must be 24 bytes\");\n }\n const firstBlock = new Uint8Array(64);\n\n // Allocate place for nonce and counter.\n const nonceCounter = new Uint8Array(24 + 8);\n\n // Set first bytes to nonce. Last 8 bytes will be counter.\n nonceCounter.set(nonce);\n\n // Generate first block of XSalsa20 stream, of which\n // first 32 bytes will be authentication key, and the rest\n // will be used for encryption.\n stream(key, nonceCounter, firstBlock, 8);\n\n // Allocate result, which will contain 16-byte authenticator\n // concatenated with ciphertext.\n const result = new Uint8Array(16 + data.length);\n\n // Encrypt first 32 bytes of data with last 32 bytes of generated stream.\n for (let i = 0; i < 32 && i < data.length; i++) {\n result[16 + i] = data[i] ^ firstBlock[32 + i];\n }\n\n // Encrypt the rest of data.\n if (data.length > 32) {\n streamXOR(key, nonceCounter, data.subarray(32), result.subarray(16 + 32), 8);\n }\n\n // Calculate Poly1305 authenticator of encrypted data using\n // authentication key in the first block of XSalsa20 stream.\n const auth = oneTimeAuth(firstBlock.subarray(0, 32), result.subarray(16));\n\n // Copy authenticator to the beginning of result.\n for (let i = 0; i < auth.length; i++) {\n result[i] = auth[i];\n }\n\n // Clean auth.\n wipe(auth);\n\n // Clean first block.\n wipe(firstBlock);\n\n // Clean nonceCounter.\n wipe(nonceCounter);\n\n return result;\n}\n\nexport function openSecretBox(key: Uint8Array, nonce: Uint8Array, box: Uint8Array): Uint8Array | null {\n if (nonce.length !== 24) {\n throw new Error(\"secretBox nonce must be 24 bytes\");\n }\n if (box.length < 16) {\n throw new Error(\"secretBox data must be at least 16 bytes\");\n }\n const firstBlock = new Uint8Array(64);\n\n // Allocate place for nonce and counter.\n const nonceCounter = new Uint8Array(24 + 8);\n\n // Set first bytes to nonce. Last 8 bytes will be counter.\n nonceCounter.set(nonce);\n\n // Generate first block of XSalsa20 stream, of which\n // first 32 bytes will be authentication key, and the rest\n // will be used for encryption.\n stream(key, nonceCounter, firstBlock, 8);\n\n // Calculate Poly1305 authenticator of encrypted data using\n // authentication key in the first block of XSalsa20 stream.\n const auth = oneTimeAuth(firstBlock.subarray(0, 32), box.subarray(16));\n\n // Check authenticator.\n if (!authEqual(auth, box.subarray(0, 16))) {\n // Authenticator is incorrect: ciphertext or authenticator\n // was corrupted, maybe maliciously.\n return null;\n }\n\n // Authenticator verifies, so we can decrypt ciphertext.\n const ciphertext = box.subarray(16);\n\n // Allocate result array.\n const result = new Uint8Array(ciphertext.length);\n\n // Decrypt first 32 bytes of box with last 32 bytes of generated stream.\n for (let i = 0; i < 32 && i < ciphertext.length; i++) {\n result[i] = ciphertext[i] ^ firstBlock[32 + i];\n }\n\n // Decrypt the rest of data.\n if (ciphertext.length > 32) {\n streamXOR(key, nonceCounter, ciphertext.subarray(32), result.subarray(32), 8);\n }\n\n // Clean auth.\n wipe(auth);\n\n // Clean first block.\n wipe(firstBlock);\n\n // Clean nonceCounter.\n wipe(nonceCounter);\n\n return result;\n}\n\n/** Generates a 32-byte random secret key. */\nexport function generateKey(prng?: RandomSource): Uint8Array {\n return randomBytes(32, prng);\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package poly1305 implements Poly1305 one-time message authentication algorithm.\n */\n\nimport { equal as constantTimeEqual } from \"@stablelib/constant-time\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const DIGEST_LENGTH = 16;\n\n// Port of Andrew Moon's Poly1305-donna-16. Public domain.\n// https://github.com/floodyberry/poly1305-donna\n\n/**\n * Poly1305 computes 16-byte authenticator of message using\n * a one-time 32-byte key.\n *\n * Important: key should be used for only one message,\n * it should never repeat.\n */\nexport class Poly1305 {\n readonly digestLength = DIGEST_LENGTH;\n\n private _buffer = new Uint8Array(16);\n private _r = new Uint16Array(10);\n private _h = new Uint16Array(10);\n private _pad = new Uint16Array(8);\n private _leftover = 0;\n private _fin = 0;\n private _finished = false;\n\n constructor(key: Uint8Array) {\n let t0 = key[0] | key[1] << 8; this._r[0] = (t0) & 0x1fff;\n let t1 = key[2] | key[3] << 8; this._r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n let t2 = key[4] | key[5] << 8; this._r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n let t3 = key[6] | key[7] << 8; this._r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n let t4 = key[8] | key[9] << 8; this._r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this._r[5] = ((t4 >>> 1)) & 0x1ffe;\n let t5 = key[10] | key[11] << 8; this._r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n let t6 = key[12] | key[13] << 8; this._r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n let t7 = key[14] | key[15] << 8; this._r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this._r[9] = ((t7 >>> 5)) & 0x007f;\n\n this._pad[0] = key[16] | key[17] << 8;\n this._pad[1] = key[18] | key[19] << 8;\n this._pad[2] = key[20] | key[21] << 8;\n this._pad[3] = key[22] | key[23] << 8;\n this._pad[4] = key[24] | key[25] << 8;\n this._pad[5] = key[26] | key[27] << 8;\n this._pad[6] = key[28] | key[29] << 8;\n this._pad[7] = key[30] | key[31] << 8;\n }\n\n private _blocks(m: Uint8Array, mpos: number, bytes: number) {\n let hibit = this._fin ? 0 : 1 << 11;\n\n let h0 = this._h[0],\n h1 = this._h[1],\n h2 = this._h[2],\n h3 = this._h[3],\n h4 = this._h[4],\n h5 = this._h[5],\n h6 = this._h[6],\n h7 = this._h[7],\n h8 = this._h[8],\n h9 = this._h[9];\n\n let r0 = this._r[0],\n r1 = this._r[1],\n r2 = this._r[2],\n r3 = this._r[3],\n r4 = this._r[4],\n r5 = this._r[5],\n r6 = this._r[6],\n r7 = this._r[7],\n r8 = this._r[8],\n r9 = this._r[9];\n\n while (bytes >= 16) {\n let t0 = m[mpos + 0] | m[mpos + 1] << 8; h0 += (t0) & 0x1fff;\n let t1 = m[mpos + 2] | m[mpos + 3] << 8; h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n let t2 = m[mpos + 4] | m[mpos + 5] << 8; h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n let t3 = m[mpos + 6] | m[mpos + 7] << 8; h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n let t4 = m[mpos + 8] | m[mpos + 9] << 8; h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n let t5 = m[mpos + 10] | m[mpos + 11] << 8; h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n let t6 = m[mpos + 12] | m[mpos + 13] << 8; h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n let t7 = m[mpos + 14] | m[mpos + 15] << 8; h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n\n let c = 0;\n\n let d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13); d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13); d0 &= 0x1fff;\n\n let d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13); d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13); d1 &= 0x1fff;\n\n let d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13); d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13); d2 &= 0x1fff;\n\n let d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13); d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13); d3 &= 0x1fff;\n\n let d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13); d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13); d4 &= 0x1fff;\n\n let d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13); d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13); d5 &= 0x1fff;\n\n let d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13); d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13); d6 &= 0x1fff;\n\n let d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13); d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13); d7 &= 0x1fff;\n\n let d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13); d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13); d8 &= 0x1fff;\n\n let d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13); d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13); d9 &= 0x1fff;\n\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n\n mpos += 16;\n bytes -= 16;\n }\n this._h[0] = h0;\n this._h[1] = h1;\n this._h[2] = h2;\n this._h[3] = h3;\n this._h[4] = h4;\n this._h[5] = h5;\n this._h[6] = h6;\n this._h[7] = h7;\n this._h[8] = h8;\n this._h[9] = h9;\n }\n\n finish(mac: Uint8Array, macpos = 0): this {\n const g = new Uint16Array(10);\n let c: number;\n let mask: number;\n let f: number;\n let i: number;\n\n if (this._leftover) {\n i = this._leftover;\n this._buffer[i++] = 1;\n for (; i < 16; i++) {\n this._buffer[i] = 0;\n }\n this._fin = 1;\n this._blocks(this._buffer, 0, 16);\n }\n\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this._h[i] += c;\n c = this._h[i] >>> 13;\n this._h[i] &= 0x1fff;\n }\n this._h[0] += (c * 5);\n c = this._h[0] >>> 13;\n this._h[0] &= 0x1fff;\n this._h[1] += c;\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n this._h[2] += c;\n\n g[0] = this._h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this._h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) {\n g[i] &= mask;\n }\n mask = ~mask;\n for (i = 0; i < 10; i++) {\n this._h[i] = (this._h[i] & mask) | g[i];\n }\n\n this._h[0] = ((this._h[0]) | (this._h[1] << 13)) & 0xffff;\n this._h[1] = ((this._h[1] >>> 3) | (this._h[2] << 10)) & 0xffff;\n this._h[2] = ((this._h[2] >>> 6) | (this._h[3] << 7)) & 0xffff;\n this._h[3] = ((this._h[3] >>> 9) | (this._h[4] << 4)) & 0xffff;\n this._h[4] = ((this._h[4] >>> 12) | (this._h[5] << 1) | (this._h[6] << 14)) & 0xffff;\n this._h[5] = ((this._h[6] >>> 2) | (this._h[7] << 11)) & 0xffff;\n this._h[6] = ((this._h[7] >>> 5) | (this._h[8] << 8)) & 0xffff;\n this._h[7] = ((this._h[8] >>> 8) | (this._h[9] << 5)) & 0xffff;\n\n f = this._h[0] + this._pad[0];\n this._h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this._h[i] + this._pad[i]) | 0) + (f >>> 16)) | 0;\n this._h[i] = f & 0xffff;\n }\n\n mac[macpos + 0] = this._h[0] >>> 0;\n mac[macpos + 1] = this._h[0] >>> 8;\n mac[macpos + 2] = this._h[1] >>> 0;\n mac[macpos + 3] = this._h[1] >>> 8;\n mac[macpos + 4] = this._h[2] >>> 0;\n mac[macpos + 5] = this._h[2] >>> 8;\n mac[macpos + 6] = this._h[3] >>> 0;\n mac[macpos + 7] = this._h[3] >>> 8;\n mac[macpos + 8] = this._h[4] >>> 0;\n mac[macpos + 9] = this._h[4] >>> 8;\n mac[macpos + 10] = this._h[5] >>> 0;\n mac[macpos + 11] = this._h[5] >>> 8;\n mac[macpos + 12] = this._h[6] >>> 0;\n mac[macpos + 13] = this._h[6] >>> 8;\n mac[macpos + 14] = this._h[7] >>> 0;\n mac[macpos + 15] = this._h[7] >>> 8;\n\n this._finished = true;\n return this;\n }\n\n update(m: Uint8Array): this {\n let mpos = 0;\n let bytes = m.length;\n let want: number;\n\n if (this._leftover) {\n want = (16 - this._leftover);\n if (want > bytes) {\n want = bytes;\n }\n for (let i = 0; i < want; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n bytes -= want;\n mpos += want;\n this._leftover += want;\n if (this._leftover < 16) {\n return this;\n }\n this._blocks(this._buffer, 0, 16);\n this._leftover = 0;\n }\n\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this._blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n\n if (bytes) {\n for (let i = 0; i < bytes; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n this._leftover += bytes;\n }\n\n return this;\n }\n\n digest(): Uint8Array {\n // TODO(dchest): it behaves differently than other hashes/HMAC,\n // because it throws when finished — others just return saved result.\n if (this._finished) {\n throw new Error(\"Poly1305 was finished\");\n }\n let mac = new Uint8Array(16);\n this.finish(mac);\n return mac;\n }\n\n clean(): this {\n wipe(this._buffer);\n wipe(this._r);\n wipe(this._h);\n wipe(this._pad);\n this._leftover = 0;\n this._fin = 0;\n this._finished = true; // mark as finished even if not\n return this;\n }\n}\n\n/**\n * Returns 16-byte authenticator of data using a one-time 32-byte key.\n *\n * Important: key should be used for only one message, it should never repeat.\n */\nexport function oneTimeAuth(key: Uint8Array, data: Uint8Array): Uint8Array {\n const h = new Poly1305(key);\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n\n/**\n * Returns true if two authenticators are 16-byte long and equal.\n * Uses contant-time comparison to avoid leaking timing information.\n */\nexport function equal(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length !== DIGEST_LENGTH || b.length !== DIGEST_LENGTH) {\n return false;\n }\n return constantTimeEqual(a, b);\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package random provides functions to access system's\n * cryptographically secure random byte generator.\n */\n\nimport { RandomSource } from \"./source\";\nimport { SystemRandomSource } from \"./source/system\";\nimport { readUint32LE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport { RandomSource } from \"./source\";\n\nexport const defaultRandomSource = new SystemRandomSource();\n\nexport function randomBytes(length: number, prng: RandomSource = defaultRandomSource): Uint8Array {\n return prng.randomBytes(length);\n}\n\n/**\n * Returns a uniformly random unsigned 32-bit integer.\n */\nexport function randomUint32(prng: RandomSource = defaultRandomSource): number {\n // Generate 4-byte random buffer.\n const buf = randomBytes(4, prng);\n\n // Convert bytes from buffer into a 32-bit integer.\n // It's not important which byte order to use, since\n // the result is random.\n const result = readUint32LE(buf);\n\n // Clean the buffer.\n wipe(buf);\n\n return result;\n}\n\n/** 62 alphanumeric characters for default charset of randomString() */\nconst ALPHANUMERIC = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\n/**\n * Returns a uniform random string of the given length\n * with characters from the given charset.\n *\n * Charset must not have more than 256 characters.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nexport function randomString(\n length: number,\n charset = ALPHANUMERIC,\n prng: RandomSource = defaultRandomSource\n): string {\n if (charset.length < 2) {\n throw new Error(\"randomString charset is too short\");\n }\n if (charset.length > 256) {\n throw new Error(\"randomString charset is too long\");\n }\n let out = '';\n const charsLen = charset.length;\n const maxByte = 256 - (256 % charsLen);\n while (length > 0) {\n const buf = randomBytes(Math.ceil(length * 256 / maxByte), prng);\n for (let i = 0; i < buf.length && length > 0; i++) {\n const randomByte = buf[i];\n if (randomByte < maxByte) {\n out += charset.charAt(randomByte % charsLen);\n length--;\n }\n }\n wipe(buf);\n }\n return out;\n}\n\n/**\n * Returns uniform random string containing at least the given\n * number of bits of entropy.\n *\n * For example, randomStringForEntropy(128) will return a 22-character\n * alphanumeric string, while randomStringForEntropy(128, \"0123456789\")\n * will return a 39-character numeric string, both will contain at\n * least 128 bits of entropy.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nexport function randomStringForEntropy(\n bits: number,\n charset = ALPHANUMERIC,\n prng: RandomSource = defaultRandomSource\n): string {\n const length = Math.ceil(bits / (Math.log(charset.length) / Math.LN2));\n return randomString(length, charset, prng);\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\n\nconst QUOTA = 65536;\n\nexport class BrowserRandomSource implements RandomSource {\n isAvailable = false;\n isInstantiated = false;\n\n private _crypto?: { getRandomValues: typeof window.crypto.getRandomValues };\n\n constructor() {\n const browserCrypto = typeof self !== 'undefined'\n ? (self.crypto || (self as { msCrypto?: any }).msCrypto) // IE11 has msCrypto\n : null;\n\n if (browserCrypto && browserCrypto.getRandomValues !== undefined) {\n this._crypto = browserCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Browser random byte generator is not available.\");\n }\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i += QUOTA) {\n this._crypto.getRandomValues(out.subarray(i, i + Math.min(out.length - i, QUOTA)));\n }\n return out;\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\nimport { wipe } from \"@stablelib/wipe\";\n\ndeclare function require(name: string): any;\n\nexport class NodeRandomSource implements RandomSource {\n isAvailable = false;\n isInstantiated = false;\n\n private _crypto: { randomBytes(n: number): Uint8Array } | undefined;\n\n constructor() {\n if (typeof require !== \"undefined\") {\n const nodeCrypto = require(\"crypto\");\n if (nodeCrypto && nodeCrypto.randomBytes) {\n this._crypto = nodeCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Node.js random byte generator is not available.\");\n }\n\n // Get random bytes (result is Buffer).\n let buffer = this._crypto.randomBytes(length);\n\n // Make sure we got the length that we requested.\n if (buffer.length !== length) {\n throw new Error(\"NodeRandomSource: got fewer bytes than requested\");\n }\n\n // Allocate output array.\n const out = new Uint8Array(length);\n\n // Copy bytes from buffer to output.\n for (let i = 0; i < out.length; i++) {\n out[i] = buffer[i];\n }\n\n // Cleanup.\n wipe(buffer);\n\n return out;\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\nimport { BrowserRandomSource } from \"./browser\";\nimport { NodeRandomSource } from \"./node\";\n\nexport class SystemRandomSource implements RandomSource {\n isAvailable = false;\n name = \"\";\n private _source: RandomSource;\n\n constructor() {\n // Try browser.\n this._source = new BrowserRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Browser\";\n return;\n }\n\n // If no browser source, try Node.\n this._source = new NodeRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Node\";\n return;\n }\n\n // No sources, we're out of options.\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable) {\n throw new Error(\"System random byte generator is not available.\");\n }\n return this._source.randomBytes(length);\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package salsa20 implements Salsa20 stream cipher.\n */\n\nimport { writeUint32LE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\n// Number of Salsa20 rounds (Salsa20/20).\nconst ROUNDS = 20;\n\n/**\n * Applies the Salsa20 core function to 16-byte input,\n * 32-byte key key, and puts the result into 64-byte array out.\n */\nfunction core(out: Uint8Array, input: Uint8Array, key: Uint8Array): void {\n let j0 = 0x61707865; // \"expa\"\n let j1 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n let j2 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n let j3 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n let j4 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n let j5 = 0x3320646E; // \"nd 3\"\n let j6 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n let j7 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n let j8 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n let j9 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n let j10 = 0x79622D32; // \"2-by\"\n let j11 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n let j12 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n let j13 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n let j14 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n let j15 = 0x6B206574; // \"te k\"\n\n let x0 = j0;\n let x1 = j1;\n let x2 = j2;\n let x3 = j3;\n let x4 = j4;\n let x5 = j5;\n let x6 = j6;\n let x7 = j7;\n let x8 = j8;\n let x9 = j9;\n let x10 = j10;\n let x11 = j11;\n let x12 = j12;\n let x13 = j13;\n let x14 = j14;\n let x15 = j15;\n let u: number;\n\n for (let i = 0; i < ROUNDS; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u << 7 | u >>> (32 - 7);\n u = x4 + x0 | 0;\n x8 ^= u << 9 | u >>> (32 - 9);\n u = x8 + x4 | 0;\n x12 ^= u << 13 | u >>> (32 - 13);\n u = x12 + x8 | 0;\n x0 ^= u << 18 | u >>> (32 - 18);\n\n u = x5 + x1 | 0;\n x9 ^= u << 7 | u >>> (32 - 7);\n u = x9 + x5 | 0;\n x13 ^= u << 9 | u >>> (32 - 9);\n u = x13 + x9 | 0;\n x1 ^= u << 13 | u >>> (32 - 13);\n u = x1 + x13 | 0;\n x5 ^= u << 18 | u >>> (32 - 18);\n\n u = x10 + x6 | 0;\n x14 ^= u << 7 | u >>> (32 - 7);\n u = x14 + x10 | 0;\n x2 ^= u << 9 | u >>> (32 - 9);\n u = x2 + x14 | 0;\n x6 ^= u << 13 | u >>> (32 - 13);\n u = x6 + x2 | 0;\n x10 ^= u << 18 | u >>> (32 - 18);\n\n u = x15 + x11 | 0;\n x3 ^= u << 7 | u >>> (32 - 7);\n u = x3 + x15 | 0;\n x7 ^= u << 9 | u >>> (32 - 9);\n u = x7 + x3 | 0;\n x11 ^= u << 13 | u >>> (32 - 13);\n u = x11 + x7 | 0;\n x15 ^= u << 18 | u >>> (32 - 18);\n\n u = x0 + x3 | 0;\n x1 ^= u << 7 | u >>> (32 - 7);\n u = x1 + x0 | 0;\n x2 ^= u << 9 | u >>> (32 - 9);\n u = x2 + x1 | 0;\n x3 ^= u << 13 | u >>> (32 - 13);\n u = x3 + x2 | 0;\n x0 ^= u << 18 | u >>> (32 - 18);\n\n u = x5 + x4 | 0;\n x6 ^= u << 7 | u >>> (32 - 7);\n u = x6 + x5 | 0;\n x7 ^= u << 9 | u >>> (32 - 9);\n u = x7 + x6 | 0;\n x4 ^= u << 13 | u >>> (32 - 13);\n u = x4 + x7 | 0;\n x5 ^= u << 18 | u >>> (32 - 18);\n\n u = x10 + x9 | 0;\n x11 ^= u << 7 | u >>> (32 - 7);\n u = x11 + x10 | 0;\n x8 ^= u << 9 | u >>> (32 - 9);\n u = x8 + x11 | 0;\n x9 ^= u << 13 | u >>> (32 - 13);\n u = x9 + x8 | 0;\n x10 ^= u << 18 | u >>> (32 - 18);\n\n u = x15 + x14 | 0;\n x12 ^= u << 7 | u >>> (32 - 7);\n u = x12 + x15 | 0;\n x13 ^= u << 9 | u >>> (32 - 9);\n u = x13 + x12 | 0;\n x14 ^= u << 13 | u >>> (32 - 13);\n u = x14 + x13 | 0;\n x15 ^= u << 18 | u >>> (32 - 18);\n }\n writeUint32LE(x0 + j0 | 0, out, 0);\n writeUint32LE(x1 + j1 | 0, out, 4);\n writeUint32LE(x2 + j2 | 0, out, 8);\n writeUint32LE(x3 + j3 | 0, out, 12);\n writeUint32LE(x4 + j4 | 0, out, 16);\n writeUint32LE(x5 + j5 | 0, out, 20);\n writeUint32LE(x6 + j6 | 0, out, 24);\n writeUint32LE(x7 + j7 | 0, out, 28);\n writeUint32LE(x8 + j8 | 0, out, 32);\n writeUint32LE(x9 + j9 | 0, out, 36);\n writeUint32LE(x10 + j10 | 0, out, 40);\n writeUint32LE(x11 + j11 | 0, out, 44);\n writeUint32LE(x12 + j12 | 0, out, 48);\n writeUint32LE(x13 + j13 | 0, out, 52);\n writeUint32LE(x14 + j14 | 0, out, 56);\n writeUint32LE(x15 + j15 | 0, out, 60);\n}\n\n/**\n * Encrypt src with Salsa20/20 stream generated for the given 32-byte key\n * and 8-byte and write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * Never use the same key and nonce to encrypt more than one message.\n *\n * If nonceInplaceCounterLength is not 0, the nonce is assumed to be a 16-byte\n * array with stream counter in first nonceInplaceCounterLength bytes and nonce\n * in the last remaining bytes. The counter will be incremented inplace for\n * each Salsa20 block. This is useful if you need to encrypt one stream of data\n * in chunks.\n */\nexport function streamXOR(key: Uint8Array, nonce: Uint8Array,\n src: Uint8Array, dst: Uint8Array, nonceInplaceCounterLength = 0): Uint8Array {\n // We only support 256-bit keys.\n if (key.length !== 32) {\n throw new Error(\"Salsa20: key size must be 32 bytes\");\n }\n\n if (dst.length < src.length) {\n throw new Error(\"Salsa20: destination is shorter than source\");\n }\n\n let nc: Uint8Array;\n let counterStart: number;\n\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 8) {\n throw new Error(\"Salsa20 nonce must be 8 bytes\");\n }\n nc = new Uint8Array(16);\n // First bytes of nc are nonce, set it.\n nc.set(nonce);\n // Last bytes are counter.\n counterStart = nonce.length;\n } else {\n if (nonce.length !== 16) {\n throw new Error(\"Salsa20 nonce with counter must be 16 bytes\");\n }\n // This will update passed nonce with counter inplace.\n nc = nonce;\n counterStart = 16 - nonceInplaceCounterLength;\n }\n\n // Allocate temporary space for Salsa20 block.\n const block = new Uint8Array(64);\n\n for (let i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n\n // XOR block bytes with src into dst.\n for (let j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n\n // Increment counter.\n incrementCounter(nc, counterStart, nc.length - counterStart);\n }\n\n // Cleanup temporary space.\n wipe(block);\n\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe(nc);\n }\n\n return dst;\n}\n\n/**\n * Generate Salsa20/20 stream for the given 32-byte key and 8-byte nonce\n * and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * If nonceInplaceCounterLength is not 0, it behaves the same\n * with respect to the nonce as described in streamXOR documentation.\n *\n * stream is like streamXOR with all-zero src.\n */\nexport function stream(key: Uint8Array, nonce: Uint8Array,\n dst: Uint8Array, nonceInplaceCounterLength = 0): Uint8Array {\n wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\n\nfunction incrementCounter(counter: Uint8Array, pos: number, len: number) {\n let carry = 1;\n while (len--) {\n carry = carry + (counter[pos] & 0xff) | 0;\n counter[pos] = carry & 0xff;\n carry >>>= 8;\n pos++;\n }\n if (carry > 0) {\n throw new Error(\"Salsa20: counter overflow\");\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package sha512 implements SHA-2-512 cryptographic hash function.\n */\n\nimport { SerializableHash } from \"@stablelib/hash\";\nimport { readUint32BE, writeUint32BE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const DIGEST_LENGTH = 64;\nexport const BLOCK_SIZE = 128;\n\n/**\n * SHA-2-512 cryptographic hash algorithm.\n */\nexport class SHA512 implements SerializableHash {\n /** Length of hash output */\n readonly digestLength: number = DIGEST_LENGTH;\n\n /** Block size */\n readonly blockSize: number = BLOCK_SIZE;\n\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n protected _stateHi = new Int32Array(8); // hash state, high bytes\n protected _stateLo = new Int32Array(8); // hash state, low bytes\n private _tempHi = new Int32Array(16); // temporary state, high bytes\n private _tempLo = new Int32Array(16); // temporary state, low bytes\n private _buffer = new Uint8Array(256); // buffer for data to hash\n private _bufferLength = 0; // number of bytes in buffer\n private _bytesHashed = 0; // number of total bytes hashed\n private _finished = false; // indicates whether the hash was finalized\n\n constructor() {\n this.reset();\n }\n\n protected _initState() {\n this._stateHi[0] = 0x6a09e667;\n this._stateHi[1] = 0xbb67ae85;\n this._stateHi[2] = 0x3c6ef372;\n this._stateHi[3] = 0xa54ff53a;\n this._stateHi[4] = 0x510e527f;\n this._stateHi[5] = 0x9b05688c;\n this._stateHi[6] = 0x1f83d9ab;\n this._stateHi[7] = 0x5be0cd19;\n\n this._stateLo[0] = 0xf3bcc908;\n this._stateLo[1] = 0x84caa73b;\n this._stateLo[2] = 0xfe94f82b;\n this._stateLo[3] = 0x5f1d36f1;\n this._stateLo[4] = 0xade682d1;\n this._stateLo[5] = 0x2b3e6c1f;\n this._stateLo[6] = 0xfb41bd6b;\n this._stateLo[7] = 0x137e2179;\n }\n\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n reset(): this {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans internal buffers and resets hash state.\n */\n clean() {\n wipe(this._buffer);\n wipe(this._tempHi);\n wipe(this._tempLo);\n this.reset();\n }\n\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n update(data: Uint8Array, dataLength: number = data.length): this {\n if (this._finished) {\n throw new Error(\"SHA512: can't update because hash was finished.\");\n }\n let dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < BLOCK_SIZE && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo,\n this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo,\n data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n }\n\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n finish(out: Uint8Array): this {\n if (!this._finished) {\n const bytesHashed = this._bytesHashed;\n const left = this._bufferLength;\n const bitLenHi = (bytesHashed / 0x20000000) | 0;\n const bitLenLo = bytesHashed << 3;\n const padLength = (bytesHashed % 128 < 112) ? 128 : 256;\n\n this._buffer[left] = 0x80;\n for (let i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, padLength);\n\n this._finished = true;\n }\n\n for (let i = 0; i < this.digestLength / 8; i++) {\n writeUint32BE(this._stateHi[i], out, i * 8);\n writeUint32BE(this._stateLo[i], out, i * 8 + 4);\n }\n\n return this;\n }\n\n /**\n * Returns the final hash digest.\n */\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization. Returns hash state to be\n * used with restoreState(). Only chain value is saved, not buffers or\n * other state variables.\n */\n saveState(): SavedState {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n stateHi: new Int32Array(this._stateHi),\n stateLo: new Int32Array(this._stateLo),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization. Restores state saved by\n * saveState() and sets bytesHashed to the given value.\n */\n restoreState(savedState: SavedState): this {\n this._stateHi.set(savedState.stateHi);\n this._stateLo.set(savedState.stateLo);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans state returned by saveState().\n */\n cleanSavedState(savedState: SavedState) {\n wipe(savedState.stateHi);\n wipe(savedState.stateLo);\n if (savedState.buffer) {\n wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n }\n}\n\nexport type SavedState = {\n stateHi: Int32Array;\n stateLo: Int32Array;\n buffer: Uint8Array | undefined;\n bufferLength: number;\n bytesHashed: number;\n};\n\n// Constants\nconst K = new Int32Array([\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]);\n\n\nfunction hashBlocks(wh: Int32Array, wl: Int32Array, hh: Int32Array, hl: Int32Array,\n m: Uint8Array, pos: number, len: number): number {\n\n let ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n\n let h: number, l: number;\n let th: number, tl: number;\n let a: number, b: number, c: number, d: number;\n\n while (len >= 128) {\n for (let i = 0; i < 16; i++) {\n const j = 8 * i + pos;\n wh[i] = readUint32BE(m, j);\n wl[i] = readUint32BE(m, j + 4);\n }\n for (let i = 0; i < 80; i++) {\n let bh0 = ah0;\n let bh1 = ah1;\n let bh2 = ah2;\n let bh3 = ah3;\n let bh4 = ah4;\n let bh5 = ah5;\n let bh6 = ah6;\n let bh7 = ah7;\n\n let bl0 = al0;\n let bl1 = al1;\n let bl2 = al2;\n let bl3 = al3;\n let bl4 = al4;\n let bl5 = al5;\n let bl6 = al6;\n let bl7 = al7;\n\n // add\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32 - 14))) ^ ((ah4 >>> 18) |\n (al4 << (32 - 18))) ^ ((al4 >>> (41 - 32)) | (ah4 << (32 - (41 - 32))));\n l = ((al4 >>> 14) | (ah4 << (32 - 14))) ^ ((al4 >>> 18) |\n (ah4 << (32 - 18))) ^ ((ah4 >>> (41 - 32)) | (al4 << (32 - (41 - 32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // K\n h = K[i * 2];\n l = K[i * 2 + 1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // w\n h = wh[i % 16];\n l = wl[i % 16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n\n // add\n h = th;\n l = tl;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32 - 28))) ^ ((al0 >>> (34 - 32)) |\n (ah0 << (32 - (34 - 32)))) ^ ((al0 >>> (39 - 32)) | (ah0 << (32 - (39 - 32))));\n l = ((al0 >>> 28) | (ah0 << (32 - 28))) ^ ((ah0 >>> (34 - 32)) |\n (al0 << (32 - (34 - 32)))) ^ ((ah0 >>> (39 - 32)) | (al0 << (32 - (39 - 32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n\n // add\n h = bh3;\n l = bl3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = th;\n l = tl;\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i % 16 === 15) {\n for (let j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = wh[(j + 9) % 16];\n l = wl[(j + 9) % 16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma0\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h = ((th >>> 1) | (tl << (32 - 1))) ^ ((th >>> 8) |\n (tl << (32 - 8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32 - 1))) ^ ((tl >>> 8) |\n (th << (32 - 8))) ^ ((tl >>> 7) | (th << (32 - 7)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma1\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h = ((th >>> 19) | (tl << (32 - 19))) ^ ((tl >>> (61 - 32)) |\n (th << (32 - (61 - 32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32 - 19))) ^ ((th >>> (61 - 32)) |\n (tl << (32 - (61 - 32)))) ^ ((tl >>> 6) | (th << (32 - 6)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n\n // add\n h = ah0;\n l = al0;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[0];\n l = hl[0];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n h = ah1;\n l = al1;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[1];\n l = hl[1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n h = ah2;\n l = al2;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[2];\n l = hl[2];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n h = ah3;\n l = al3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[3];\n l = hl[3];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n h = ah4;\n l = al4;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[4];\n l = hl[4];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n h = ah5;\n l = al5;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[5];\n l = hl[5];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n h = ah6;\n l = al6;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[6];\n l = hl[6];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[7];\n l = hl[7];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n pos += 128;\n len -= 128;\n }\n\n return pos;\n}\n\nexport function hash(data: Uint8Array): Uint8Array {\n const h = new SHA512();\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package utf8 implements UTF-8 encoding and decoding.\n */\n\nconst INVALID_UTF16 = \"utf8: invalid string\";\nconst INVALID_UTF8 = \"utf8: invalid source encoding\";\n\n/**\n * Encodes the given string into UTF-8 byte array.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nexport function encode(s: string): Uint8Array {\n // Calculate result length and allocate output array.\n // encodedLength() also validates string and throws errors,\n // so we don't need repeat validation here.\n const arr = new Uint8Array(encodedLength(s));\n\n let pos = 0;\n for (let i = 0; i < s.length; i++) {\n let c = s.charCodeAt(i);\n if (c < 0x80) {\n arr[pos++] = c;\n } else if (c < 0x800) {\n arr[pos++] = 0xc0 | c >> 6;\n arr[pos++] = 0x80 | c & 0x3f;\n } else if (c < 0xd800) {\n arr[pos++] = 0xe0 | c >> 12;\n arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n arr[pos++] = 0x80 | c & 0x3f;\n } else {\n i++; // get one more character\n c = (c & 0x3ff) << 10;\n c |= s.charCodeAt(i) & 0x3ff;\n c += 0x10000;\n\n arr[pos++] = 0xf0 | c >> 18;\n arr[pos++] = 0x80 | (c >> 12) & 0x3f;\n arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n }\n return arr;\n}\n\n/**\n * Returns the number of bytes required to encode the given string into UTF-8.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nexport function encodedLength(s: string): number {\n let result = 0;\n for (let i = 0; i < s.length; i++) {\n const c = s.charCodeAt(i);\n if (c < 0x80) {\n result += 1;\n } else if (c < 0x800) {\n result += 2;\n } else if (c < 0xd800) {\n result += 3;\n } else if (c <= 0xdfff) {\n if (i >= s.length - 1) {\n throw new Error(INVALID_UTF16);\n }\n i++; // \"eat\" next character\n result += 4;\n } else {\n throw new Error(INVALID_UTF16);\n }\n }\n return result;\n}\n\n/**\n * Decodes the given byte array from UTF-8 into a string.\n * Throws if encoding is invalid.\n */\nexport function decode(arr: Uint8Array): string {\n const chars: string[] = [];\n for (let i = 0; i < arr.length; i++) {\n let b = arr[i];\n\n if (b & 0x80) {\n let min;\n if (b < 0xe0) {\n // Need 1 more byte.\n if (i >= arr.length) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n if ((n1 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x1f) << 6 | (n1 & 0x3f);\n min = 0x80;\n } else if (b < 0xf0) {\n // Need 2 more bytes.\n if (i >= arr.length - 1) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n const n2 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 12 | (n1 & 0x3f) << 6 | (n2 & 0x3f);\n min = 0x800;\n } else if (b < 0xf8) {\n // Need 3 more bytes.\n if (i >= arr.length - 2) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n const n2 = arr[++i];\n const n3 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80 || (n3 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 18 | (n1 & 0x3f) << 12 | (n2 & 0x3f) << 6 | (n3 & 0x3f);\n min = 0x10000;\n } else {\n throw new Error(INVALID_UTF8);\n }\n\n if (b < min || (b >= 0xd800 && b <= 0xdfff)) {\n throw new Error(INVALID_UTF8);\n }\n\n if (b >= 0x10000) {\n // Surrogate pair.\n if (b > 0x10ffff) {\n throw new Error(INVALID_UTF8);\n }\n b -= 0x10000;\n chars.push(String.fromCharCode(0xd800 | (b >> 10)));\n b = 0xdc00 | (b & 0x3ff);\n }\n }\n\n chars.push(String.fromCharCode(b));\n }\n return chars.join(\"\");\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package wipe implements functions for zeroing arrays.\n */\n\nexport type NumericArray = number[] | Uint8Array | Int8Array | Uint16Array\n | Int16Array | Uint32Array | Int32Array | Float32Array | Float64Array;\n\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nexport function wipe(array: NumericArray): NumericArray {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (let i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\n","// Copyright (C) 2020 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { KeyAgreement } from \"@stablelib/keyagreement\";\nimport { randomBytes, RandomSource } from \"@stablelib/random\";\nimport { wipe } from \"@stablelib/wipe\";\nimport { PUBLIC_KEY_LENGTH,\n SECRET_KEY_LENGTH,\n SHARED_KEY_LENGTH,\n generateKeyPairFromSeed,\n sharedKey,\n KeyPair } from \"@stablelib/x25519\";\nimport { SessionKeys, clientSessionKeysFromSharedKey, serverSessionKeysFromSharedKey } from \"./x25519-session\";\n\n/** Constants for key agreement */\nexport const OFFER_MESSAGE_LENGTH = PUBLIC_KEY_LENGTH;\nexport const ACCEPT_MESSAGE_LENGTH = PUBLIC_KEY_LENGTH;\nexport const SAVED_STATE_LENGTH = SECRET_KEY_LENGTH;\nexport const SECRET_SEED_LENGTH = SECRET_KEY_LENGTH;\n\n/**\n * X25519 key agreement using ephemeral key pairs.\n *\n * Note that unless this key agreement is combined with an authentication\n * method, such as public key signatures, it's vulnerable to man-in-the-middle\n * attacks.\n */\nexport class X25519Session implements KeyAgreement {\n readonly offerMessageLength = OFFER_MESSAGE_LENGTH;\n readonly acceptMessageLength = ACCEPT_MESSAGE_LENGTH;\n readonly sharedKeyLength = SHARED_KEY_LENGTH;\n readonly savedStateLength = SAVED_STATE_LENGTH;\n\n private _seed: Uint8Array;\n private _keyPair: KeyPair | undefined;\n private _sharedKey: Uint8Array | undefined;\n private _sessionKeys: SessionKeys | undefined;\n\n constructor(secretSeed?: Uint8Array, prng?: RandomSource) {\n this._seed = secretSeed || randomBytes(SECRET_KEY_LENGTH, prng);\n }\n\n saveState(): Uint8Array {\n return new Uint8Array(this._seed);\n }\n\n restoreState(savedState: Uint8Array): this {\n this._seed = new Uint8Array(savedState);\n return this;\n }\n\n clean(): void {\n if (this._seed) {\n wipe(this._seed);\n }\n if (this._keyPair) {\n wipe(this._keyPair.secretKey);\n wipe(this._keyPair.publicKey);\n }\n if (this._sharedKey) {\n wipe(this._sharedKey);\n }\n if (this._sessionKeys) {\n wipe(this._sessionKeys.receive);\n wipe(this._sessionKeys.send);\n }\n }\n\n offer(): Uint8Array {\n this._keyPair = generateKeyPairFromSeed(this._seed);\n return new Uint8Array(this._keyPair.publicKey);\n }\n\n accept(offerMsg: Uint8Array): Uint8Array {\n if (this._keyPair) {\n throw new Error(\"X25519Session: accept shouldn't be called by offering party\");\n }\n if (offerMsg.length !== this.offerMessageLength) {\n throw new Error(\"X25519Session: incorrect offer message length\");\n }\n if (this._sharedKey) {\n throw new Error(\"X25519Session: accept was already called\");\n }\n const keyPair = generateKeyPairFromSeed(this._seed);\n this._sharedKey = sharedKey(keyPair.secretKey, offerMsg);\n this._sessionKeys = clientSessionKeysFromSharedKey(this._sharedKey, keyPair.publicKey, offerMsg);\n wipe(keyPair.secretKey);\n return keyPair.publicKey;\n }\n\n finish(acceptMsg: Uint8Array): this {\n if (acceptMsg.length !== this.acceptMessageLength) {\n throw new Error(\"X25519Session: incorrect accept message length\");\n }\n if (!this._keyPair) {\n throw new Error(\"X25519Session: no offer state\");\n }\n if (this._sharedKey) {\n throw new Error(\"X25519Session: finish was already called\");\n }\n this._sharedKey = sharedKey(this._keyPair.secretKey, acceptMsg);\n this._sessionKeys = serverSessionKeysFromSharedKey(this._sharedKey, this._keyPair.publicKey, acceptMsg);\n return this;\n }\n\n getSharedKey(): Uint8Array {\n if (!this._sharedKey) {\n throw new Error(\"X25519Session: no shared key established\");\n }\n return new Uint8Array(this._sharedKey);\n }\n\n getSessionKeys(): SessionKeys {\n if (!this._sessionKeys) {\n throw new Error(\"X25519Session: no shared key established\");\n }\n return {\n receive: new Uint8Array(this._sessionKeys.receive),\n send: new Uint8Array(this._sessionKeys.send),\n };\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package x25519-session implements libsodium compatible session keys generation based on X25519 key agreement.\n */\n\nimport { BLAKE2b } from \"@stablelib/blake2b\";\nimport { Hash } from \"@stablelib/hash\";\nimport { sharedKey, KeyPair } from \"@stablelib/x25519\";\nexport { X25519Session } from \"./keyagreement\";\n\nconst SESSION_KEY_LENGTH = 32;\n\nexport interface SessionKeys {\n receive: Uint8Array;\n send: Uint8Array;\n}\n\n/**\n * Generates server-side session encryption keys from the shared key obtained during agreement phase.\n */\nexport function serverSessionKeysFromSharedKey(sharedKey: Uint8Array,\n myPublicKey: Uint8Array,\n theirPublicKey: Uint8Array,\n hash: new() => Hash = BLAKE2b): SessionKeys {\n const state = new hash();\n if (state.digestLength !== SESSION_KEY_LENGTH * 2) {\n throw new Error(\"X25519: incorrect digest length\");\n }\n const h = state.update(sharedKey).update(theirPublicKey).update(myPublicKey).digest();\n\n return {\n send: h.subarray(0, SESSION_KEY_LENGTH),\n receive: h.subarray(SESSION_KEY_LENGTH),\n };\n}\n\n/**\n * Generates client-side session encryption keys from the shared key obtained during agreement phase.\n */\nexport function clientSessionKeysFromSharedKey(sharedKey: Uint8Array,\n myPublicKey: Uint8Array,\n theirPublicKey: Uint8Array,\n hash: new() => Hash = BLAKE2b): SessionKeys {\n const state = new hash();\n if (state.digestLength !== SESSION_KEY_LENGTH * 2) {\n throw new Error(\"X25519: incorrect digest length\");\n }\n const h = state.update(sharedKey).update(myPublicKey).update(theirPublicKey).digest();\n\n return {\n receive: h.subarray(0, SESSION_KEY_LENGTH),\n send: h.subarray(SESSION_KEY_LENGTH),\n };\n}\n\n/**\n * Generates server-side session encryption keys. Uses a key pair and a peer's public key to generate the shared key.\n */\nexport function serverSessionKeys(myKeyPair: KeyPair, theirPublicKey: Uint8Array, hash: new() => Hash = BLAKE2b): SessionKeys {\n const sk = sharedKey(myKeyPair.secretKey, theirPublicKey);\n return serverSessionKeysFromSharedKey(sk, myKeyPair.publicKey, theirPublicKey, hash);\n}\n\n/**\n * Generates client-side session encryption keys. Uses a key pair and a peer's public key to generate the shared key.\n */\nexport function clientSessionKeys(myKeyPair: KeyPair, theirPublicKey: Uint8Array, hash: new() => Hash = BLAKE2b): SessionKeys {\n const sk = sharedKey(myKeyPair.secretKey, theirPublicKey);\n return clientSessionKeysFromSharedKey(sk, myKeyPair.publicKey, theirPublicKey, hash);\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package x25519 implements X25519 key agreement.\n */\n\nimport { randomBytes, RandomSource } from \"@stablelib/random\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const PUBLIC_KEY_LENGTH = 32;\nexport const SECRET_KEY_LENGTH = 32;\nexport const SHARED_KEY_LENGTH = 32;\n\n// TODO(dchest): some functions are copies of ../sign/ed25519.\n// Find a way to combine them without opening up to public.\n\n// Ported from TweetNaCl.js, which is ported from TweetNaCl\n// by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n// https://tweetnacl.js.org\n\n// TweetNaCl contributors:\n// Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen,\n// Tanja Lange, Peter Schwabe, Sjaak Smetsers.\n// Public domain.\n// https://tweetnacl.cr.yp.to/\n\ntype GF = Float64Array;\n\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init?: number[]): GF {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n\n// Base point.\nconst _9 = new Uint8Array(32); _9[0] = 9;\n\nconst _121665 = gf([0xdb41, 1]);\n\nfunction car25519(o: GF) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\n\nfunction sel25519(p: GF, q: GF, b: number) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o: Uint8Array, n: GF) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\n\nfunction unpack25519(o: GF, n: Uint8Array) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\n\nfunction add(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\n\nfunction sub(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\n\nfunction mul(o: GF, a: GF, b: GF) {\n let v: number, c: number,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction square(o: GF, a: GF) {\n mul(o, a, a);\n}\n\nfunction inv25519(o: GF, inp: GF) {\n const c = gf();\n for (let i = 0; i < 16; i++) {\n c[i] = inp[i];\n }\n for (let i = 253; i >= 0; i--) {\n square(c, c);\n if (i !== 2 && i !== 4) {\n mul(c, c, inp);\n }\n }\n for (let i = 0; i < 16; i++) {\n o[i] = c[i];\n }\n}\n\nexport function scalarMult(n: Uint8Array, p: Uint8Array): Uint8Array {\n const z = new Uint8Array(32);\n const x = new Float64Array(80);\n const a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf();\n\n for (let i = 0; i < 31; i++) {\n z[i] = n[i];\n }\n z[31] = (n[31] & 127) | 64;\n z[0] &= 248;\n\n unpack25519(x, p);\n\n for (let i = 0; i < 16; i++) {\n b[i] = x[i];\n }\n\n a[0] = d[0] = 1;\n\n for (let i = 254; i >= 0; --i) {\n const r = (z[i >>> 3] >>> (i & 7)) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n add(e, a, c);\n sub(a, a, c);\n add(c, b, d);\n sub(b, b, d);\n square(d, e);\n square(f, a);\n mul(a, c, a);\n mul(c, b, e);\n add(e, a, c);\n sub(a, a, c);\n square(b, a);\n sub(c, d, f);\n mul(a, c, _121665);\n add(a, a, d);\n mul(c, c, a);\n mul(a, d, f);\n mul(d, b, x);\n square(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for (let i = 0; i < 16; i++) {\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n const x32 = x.subarray(32);\n const x16 = x.subarray(16);\n inv25519(x32, x32);\n mul(x16, x16, x32);\n const q = new Uint8Array(32);\n pack25519(q, x16);\n return q;\n}\n\nexport function scalarMultBase(n: Uint8Array): Uint8Array {\n return scalarMult(n, _9);\n}\n\nexport interface KeyPair {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n}\n\nexport function generateKeyPairFromSeed(seed: Uint8Array): KeyPair {\n if (seed.length !== SECRET_KEY_LENGTH) {\n throw new Error(`x25519: seed must be ${SECRET_KEY_LENGTH} bytes`);\n }\n const secretKey = new Uint8Array(seed);\n const publicKey = scalarMultBase(secretKey);\n return {\n publicKey,\n secretKey\n };\n}\n\nexport function generateKeyPair(prng?: RandomSource): KeyPair {\n const seed = randomBytes(32, prng);\n const result = generateKeyPairFromSeed(seed);\n wipe(seed);\n return result;\n}\n\n/**\n * Returns a shared key between our secret key and a peer's public key.\n *\n * Throws an error if the given keys are of wrong length.\n *\n * If rejectZero is true throws if the calculated shared key is all-zero.\n * From RFC 7748:\n *\n * > Protocol designers using Diffie-Hellman over the curves defined in\n * > this document must not assume \"contributory behavior\". Specially,\n * > contributory behavior means that both parties' private keys\n * > contribute to the resulting shared key. Since curve25519 and\n * > curve448 have cofactors of 8 and 4 (respectively), an input point of\n * > small order will eliminate any contribution from the other party's\n * > private key. This situation can be detected by checking for the all-\n * > zero output, which implementations MAY do, as specified in Section 6.\n * > However, a large number of existing implementations do not do this.\n *\n * IMPORTANT: the returned key is a raw result of scalar multiplication.\n * To use it as a key material, hash it with a cryptographic hash function.\n */\nexport function sharedKey(mySecretKey: Uint8Array, theirPublicKey: Uint8Array, rejectZero = false): Uint8Array {\n if (mySecretKey.length !== PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect secret key length\");\n }\n if (theirPublicKey.length !== PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect public key length\");\n }\n\n const result = scalarMult(mySecretKey, theirPublicKey);\n\n if (rejectZero) {\n let zeros = 0;\n for (let i = 0; i < result.length; i++) {\n zeros |= result[i];\n }\n if (zeros === 0) {\n throw new Error(\"X25519: invalid shared key\");\n }\n }\n\n return result;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package xsalsa20 implements XSalsa20 stream cipher.\n */\n\nimport { writeUint32LE } from \"@stablelib/binary\";\nimport { streamXOR as salsaStreamXOR } from \"@stablelib/salsa20\";\nimport { wipe } from \"@stablelib/wipe\";\n\n/**\n * Encrypt src with Salsa20/20 stream generated for the given 32-byte key\n * and 24-byte and write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * Never use the same key and nonce to encrypt more than one message.\n */\nexport function streamXOR(key: Uint8Array, nonce: Uint8Array, src: Uint8Array,\n dst: Uint8Array, nonceInplaceCounterLength = 0): Uint8Array {\n\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 24) {\n throw new Error(\"XSalsa20 nonce must be 24 bytes\");\n }\n } else {\n if (nonce.length !== 32) {\n throw new Error(\"XSalsa20 nonce with counter must be 32 bytes\");\n }\n }\n\n // Use HSalsa one-way function to transform first 16 bytes of\n // 24-byte extended nonce and key into a new key for Salsa\n // stream -- \"subkey\".\n const subkey = hsalsa(key, nonce.subarray(0, 16), new Uint8Array(32));\n\n // Use last 8 bytes of 24-byte extended nonce as an actual nonce,\n // and a subkey derived in the previous step as key to encrypt.\n //\n // If nonceInplaceCounterLength > 0, we'll still pass the correct\n // nonce || counter, as we don't limit the end of nonce subarray.\n const result = salsaStreamXOR(subkey, nonce.subarray(16), src, dst,\n nonceInplaceCounterLength);\n\n // Clean subkey.\n wipe(subkey);\n\n return result;\n}\n\n/**\n * Generate Salsa20/20 stream for the given 32-byte key and\n * 24-byte nonce and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * stream is like streamXOR with all-zero src.\n */\nexport function stream(key: Uint8Array, nonce: Uint8Array, dst: Uint8Array,\n nonceInplaceCounterLength = 0): Uint8Array {\n\n wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\n\n// Number of Salsa20 rounds (Salsa20/20).\nconst ROUNDS = 20;\n\n/**\n * HSalsa20 is a one-way function used in XSalsa20 to extend nonce,\n * and in NaCl to hash X25519 shared keys. It takes 32-byte key and\n * 16-byte src and writes 32-byte result into dst and returns it.\n */\nexport function hsalsa(key: Uint8Array, src: Uint8Array, dst: Uint8Array): Uint8Array {\n let x0 = 0x61707865; // \"expa\"\n let x1 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n let x2 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n let x3 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n let x4 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n let x5 = 0x3320646E; // \"nd 3\"\n let x6 = (src[3] << 24) | (src[2] << 16) | (src[1] << 8) | src[0];\n let x7 = (src[7] << 24) | (src[6] << 16) | (src[5] << 8) | src[4];\n let x8 = (src[11] << 24) | (src[10] << 16) | (src[9] << 8) | src[8];\n let x9 = (src[15] << 24) | (src[14] << 16) | (src[13] << 8) | src[12];\n let x10 = 0x79622D32; // \"2-by\"\n let x11 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n let x12 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n let x13 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n let x14 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n let x15 = 0x6B206574; // \"te k\"\n\n let u: number;\n\n for (let i = 0; i < ROUNDS; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u << 7 | u >>> (32 - 7);\n u = x4 + x0 | 0;\n x8 ^= u << 9 | u >>> (32 - 9);\n u = x8 + x4 | 0;\n x12 ^= u << 13 | u >>> (32 - 13);\n u = x12 + x8 | 0;\n x0 ^= u << 18 | u >>> (32 - 18);\n\n u = x5 + x1 | 0;\n x9 ^= u << 7 | u >>> (32 - 7);\n u = x9 + x5 | 0;\n x13 ^= u << 9 | u >>> (32 - 9);\n u = x13 + x9 | 0;\n x1 ^= u << 13 | u >>> (32 - 13);\n u = x1 + x13 | 0;\n x5 ^= u << 18 | u >>> (32 - 18);\n\n u = x10 + x6 | 0;\n x14 ^= u << 7 | u >>> (32 - 7);\n u = x14 + x10 | 0;\n x2 ^= u << 9 | u >>> (32 - 9);\n u = x2 + x14 | 0;\n x6 ^= u << 13 | u >>> (32 - 13);\n u = x6 + x2 | 0;\n x10 ^= u << 18 | u >>> (32 - 18);\n\n u = x15 + x11 | 0;\n x3 ^= u << 7 | u >>> (32 - 7);\n u = x3 + x15 | 0;\n x7 ^= u << 9 | u >>> (32 - 9);\n u = x7 + x3 | 0;\n x11 ^= u << 13 | u >>> (32 - 13);\n u = x11 + x7 | 0;\n x15 ^= u << 18 | u >>> (32 - 18);\n\n u = x0 + x3 | 0;\n x1 ^= u << 7 | u >>> (32 - 7);\n u = x1 + x0 | 0;\n x2 ^= u << 9 | u >>> (32 - 9);\n u = x2 + x1 | 0;\n x3 ^= u << 13 | u >>> (32 - 13);\n u = x3 + x2 | 0;\n x0 ^= u << 18 | u >>> (32 - 18);\n\n u = x5 + x4 | 0;\n x6 ^= u << 7 | u >>> (32 - 7);\n u = x6 + x5 | 0;\n x7 ^= u << 9 | u >>> (32 - 9);\n u = x7 + x6 | 0;\n x4 ^= u << 13 | u >>> (32 - 13);\n u = x4 + x7 | 0;\n x5 ^= u << 18 | u >>> (32 - 18);\n\n u = x10 + x9 | 0;\n x11 ^= u << 7 | u >>> (32 - 7);\n u = x11 + x10 | 0;\n x8 ^= u << 9 | u >>> (32 - 9);\n u = x8 + x11 | 0;\n x9 ^= u << 13 | u >>> (32 - 13);\n u = x9 + x8 | 0;\n x10 ^= u << 18 | u >>> (32 - 18);\n\n u = x15 + x14 | 0;\n x12 ^= u << 7 | u >>> (32 - 7);\n u = x12 + x15 | 0;\n x13 ^= u << 9 | u >>> (32 - 9);\n u = x13 + x12 | 0;\n x14 ^= u << 13 | u >>> (32 - 13);\n u = x14 + x13 | 0;\n x15 ^= u << 18 | u >>> (32 - 18);\n }\n writeUint32LE(x0, dst, 0);\n writeUint32LE(x5, dst, 4);\n writeUint32LE(x10, dst, 8);\n writeUint32LE(x15, dst, 12);\n writeUint32LE(x6, dst, 16);\n writeUint32LE(x7, dst, 20);\n writeUint32LE(x8, dst, 24);\n writeUint32LE(x9, dst, 28);\n return dst;\n}\n","\"use strict\";\n\n// ref: https://github.com/tc39/proposal-global\nvar getGlobal = function () {\n\t// the only reliable means to get the global object is\n\t// `Function('return this')()`\n\t// However, this causes CSP violations in Chrome apps.\n\tif (typeof self !== 'undefined') { return self; }\n\tif (typeof window !== 'undefined') { return window; }\n\tif (typeof global !== 'undefined') { return global; }\n\tthrow new Error('unable to locate global object');\n}\n\nvar globalObject = getGlobal();\n\nmodule.exports = exports = globalObject.fetch;\n\n// Needed for TypeScript and Webpack.\nif (globalObject.fetch) {\n\texports.default = globalObject.fetch.bind(globalObject);\n}\n\nexports.Headers = globalObject.Headers;\nexports.Request = globalObject.Request;\nexports.Response = globalObject.Response;\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = new Uint8Array(zeroes + (size - it4))\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","const basex = require('base-x')\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","'use strict'\n\nvar base58 = require('bs58')\n\nmodule.exports = function (checksumFn) {\n // Encode a buffer as a base58-check encoded string\n function encode (payload) {\n var payloadU8 = Uint8Array.from(payload)\n var checksum = checksumFn(payloadU8)\n var length = payloadU8.length + 4\n var both = new Uint8Array(length)\n both.set(payloadU8, 0)\n both.set(checksum.subarray(0, 4), payloadU8.length)\n return base58.encode(both, length)\n }\n\n function decodeRaw (buffer) {\n var payload = buffer.slice(0, -4)\n var checksum = buffer.slice(-4)\n var newChecksum = checksumFn(payload)\n\n if (checksum[0] ^ newChecksum[0] |\n checksum[1] ^ newChecksum[1] |\n checksum[2] ^ newChecksum[2] |\n checksum[3] ^ newChecksum[3]) return\n\n return payload\n }\n\n // Decode a base58-check encoded string to a buffer, no result if checksum is wrong\n function decodeUnsafe (string) {\n var buffer = base58.decodeUnsafe(string)\n if (!buffer) return\n\n return decodeRaw(buffer)\n }\n\n function decode (string) {\n var buffer = base58.decode(string)\n var payload = decodeRaw(buffer, checksumFn)\n if (!payload) throw new Error('Invalid checksum')\n return payload\n }\n\n return {\n encode: encode,\n decode: decode,\n decodeUnsafe: decodeUnsafe\n }\n}\n","'use strict'\n\nvar { sha256 } = require('@noble/hashes/sha256')\nvar bs58checkBase = require('./base')\n\n// SHA256(SHA256(buffer))\nfunction sha256x2 (buffer) {\n return sha256(sha256(buffer))\n}\n\nmodule.exports = bs58checkBase(sha256x2)\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n// @ts-ignore\nvar _Buffer = require('safe-buffer').Buffer\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (Array.isArray(source) || source instanceof Uint8Array) { source = _Buffer.from(source) }\n if (!_Buffer.isBuffer(source)) { throw new TypeError('Expected Buffer') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return _Buffer.alloc(0) }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = _Buffer.allocUnsafe(zeroes + (size - it4))\n vch.fill(0x00, 0, zeroes)\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// browserify by default only pulls in files that are hard coded in requires\n// In order of last to first in this file, the default wordlist will be chosen\n// based on what is present. (Bundles may remove wordlists they don't need)\nconst wordlists = {};\nexports.wordlists = wordlists;\nlet _default;\nexports._default = _default;\ntry {\n exports._default = _default = require('./wordlists/czech.json');\n wordlists.czech = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/chinese_simplified.json');\n wordlists.chinese_simplified = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/chinese_traditional.json');\n wordlists.chinese_traditional = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/korean.json');\n wordlists.korean = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/french.json');\n wordlists.french = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/italian.json');\n wordlists.italian = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/spanish.json');\n wordlists.spanish = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/japanese.json');\n wordlists.japanese = _default;\n wordlists.JA = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/portuguese.json');\n wordlists.portuguese = _default;\n}\ncatch (err) { }\ntry {\n exports._default = _default = require('./wordlists/english.json');\n wordlists.english = _default;\n wordlists.EN = _default;\n}\ncatch (err) { }\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst sha256_1 = require(\"@noble/hashes/sha256\");\nconst sha512_1 = require(\"@noble/hashes/sha512\");\nconst pbkdf2_1 = require(\"@noble/hashes/pbkdf2\");\nconst utils_1 = require(\"@noble/hashes/utils\");\nconst _wordlists_1 = require(\"./_wordlists\");\nlet DEFAULT_WORDLIST = _wordlists_1._default;\nconst INVALID_MNEMONIC = 'Invalid mnemonic';\nconst INVALID_ENTROPY = 'Invalid entropy';\nconst INVALID_CHECKSUM = 'Invalid mnemonic checksum';\nconst WORDLIST_REQUIRED = 'A wordlist is required but a default could not be found.\\n' +\n 'Please pass a 2048 word array explicitly.';\nfunction normalize(str) {\n return (str || '').normalize('NFKD');\n}\nfunction lpad(str, padString, length) {\n while (str.length < length) {\n str = padString + str;\n }\n return str;\n}\nfunction binaryToByte(bin) {\n return parseInt(bin, 2);\n}\nfunction bytesToBinary(bytes) {\n return bytes.map((x) => lpad(x.toString(2), '0', 8)).join('');\n}\nfunction deriveChecksumBits(entropyBuffer) {\n const ENT = entropyBuffer.length * 8;\n const CS = ENT / 32;\n const hash = sha256_1.sha256(Uint8Array.from(entropyBuffer));\n return bytesToBinary(Array.from(hash)).slice(0, CS);\n}\nfunction salt(password) {\n return 'mnemonic' + (password || '');\n}\nfunction mnemonicToSeedSync(mnemonic, password) {\n const mnemonicBuffer = Uint8Array.from(Buffer.from(normalize(mnemonic), 'utf8'));\n const saltBuffer = Uint8Array.from(Buffer.from(salt(normalize(password)), 'utf8'));\n const res = pbkdf2_1.pbkdf2(sha512_1.sha512, mnemonicBuffer, saltBuffer, {\n c: 2048,\n dkLen: 64,\n });\n return Buffer.from(res);\n}\nexports.mnemonicToSeedSync = mnemonicToSeedSync;\nfunction mnemonicToSeed(mnemonic, password) {\n const mnemonicBuffer = Uint8Array.from(Buffer.from(normalize(mnemonic), 'utf8'));\n const saltBuffer = Uint8Array.from(Buffer.from(salt(normalize(password)), 'utf8'));\n return pbkdf2_1.pbkdf2Async(sha512_1.sha512, mnemonicBuffer, saltBuffer, {\n c: 2048,\n dkLen: 64,\n }).then((res) => Buffer.from(res));\n}\nexports.mnemonicToSeed = mnemonicToSeed;\nfunction mnemonicToEntropy(mnemonic, wordlist) {\n wordlist = wordlist || DEFAULT_WORDLIST;\n if (!wordlist) {\n throw new Error(WORDLIST_REQUIRED);\n }\n const words = normalize(mnemonic).split(' ');\n if (words.length % 3 !== 0) {\n throw new Error(INVALID_MNEMONIC);\n }\n // convert word indices to 11 bit binary strings\n const bits = words\n .map((word) => {\n const index = wordlist.indexOf(word);\n if (index === -1) {\n throw new Error(INVALID_MNEMONIC);\n }\n return lpad(index.toString(2), '0', 11);\n })\n .join('');\n // split the binary string into ENT/CS\n const dividerIndex = Math.floor(bits.length / 33) * 32;\n const entropyBits = bits.slice(0, dividerIndex);\n const checksumBits = bits.slice(dividerIndex);\n // calculate the checksum and compare\n const entropyBytes = entropyBits.match(/(.{1,8})/g).map(binaryToByte);\n if (entropyBytes.length < 16) {\n throw new Error(INVALID_ENTROPY);\n }\n if (entropyBytes.length > 32) {\n throw new Error(INVALID_ENTROPY);\n }\n if (entropyBytes.length % 4 !== 0) {\n throw new Error(INVALID_ENTROPY);\n }\n const entropy = Buffer.from(entropyBytes);\n const newChecksum = deriveChecksumBits(entropy);\n if (newChecksum !== checksumBits) {\n throw new Error(INVALID_CHECKSUM);\n }\n return entropy.toString('hex');\n}\nexports.mnemonicToEntropy = mnemonicToEntropy;\nfunction entropyToMnemonic(entropy, wordlist) {\n if (!Buffer.isBuffer(entropy)) {\n entropy = Buffer.from(entropy, 'hex');\n }\n wordlist = wordlist || DEFAULT_WORDLIST;\n if (!wordlist) {\n throw new Error(WORDLIST_REQUIRED);\n }\n // 128 <= ENT <= 256\n if (entropy.length < 16) {\n throw new TypeError(INVALID_ENTROPY);\n }\n if (entropy.length > 32) {\n throw new TypeError(INVALID_ENTROPY);\n }\n if (entropy.length % 4 !== 0) {\n throw new TypeError(INVALID_ENTROPY);\n }\n const entropyBits = bytesToBinary(Array.from(entropy));\n const checksumBits = deriveChecksumBits(entropy);\n const bits = entropyBits + checksumBits;\n const chunks = bits.match(/(.{1,11})/g);\n const words = chunks.map((binary) => {\n const index = binaryToByte(binary);\n return wordlist[index];\n });\n return wordlist[0] === '\\u3042\\u3044\\u3053\\u304f\\u3057\\u3093' // Japanese wordlist\n ? words.join('\\u3000')\n : words.join(' ');\n}\nexports.entropyToMnemonic = entropyToMnemonic;\nfunction generateMnemonic(strength, rng, wordlist) {\n strength = strength || 128;\n if (strength % 32 !== 0) {\n throw new TypeError(INVALID_ENTROPY);\n }\n rng = rng || ((size) => Buffer.from(utils_1.randomBytes(size)));\n return entropyToMnemonic(rng(strength / 8), wordlist);\n}\nexports.generateMnemonic = generateMnemonic;\nfunction validateMnemonic(mnemonic, wordlist) {\n try {\n mnemonicToEntropy(mnemonic, wordlist);\n }\n catch (e) {\n return false;\n }\n return true;\n}\nexports.validateMnemonic = validateMnemonic;\nfunction setDefaultWordlist(language) {\n const result = _wordlists_1.wordlists[language];\n if (result) {\n DEFAULT_WORDLIST = result;\n }\n else {\n throw new Error('Could not find wordlist for language \"' + language + '\"');\n }\n}\nexports.setDefaultWordlist = setDefaultWordlist;\nfunction getDefaultWordlist() {\n if (!DEFAULT_WORDLIST) {\n throw new Error('No Default Wordlist set');\n }\n return Object.keys(_wordlists_1.wordlists).filter((lang) => {\n if (lang === 'JA' || lang === 'EN') {\n return false;\n }\n return _wordlists_1.wordlists[lang].every((word, index) => word === DEFAULT_WORDLIST[index]);\n })[0];\n}\nexports.getDefaultWordlist = getDefaultWordlist;\nvar _wordlists_2 = require(\"./_wordlists\");\nexports.wordlists = _wordlists_2.wordlists;\n","// Blake2B in pure Javascript\n// Adapted from the reference implementation in RFC7693\n// Ported to Javascript by DC - https://github.com/dcposch\n\nconst util = require('./util')\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += v[b,b+1]\n// v should be a Uint32Array\nfunction ADD64AA (v, a, b) {\n const o0 = v[a] + v[b]\n let o1 = v[a + 1] + v[b + 1]\n if (o0 >= 0x100000000) {\n o1++\n }\n v[a] = o0\n v[a + 1] = o1\n}\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += b\n// b0 is the low 32 bits of b, b1 represents the high 32 bits\nfunction ADD64AC (v, a, b0, b1) {\n let o0 = v[a] + b0\n if (b0 < 0) {\n o0 += 0x100000000\n }\n let o1 = v[a + 1] + b1\n if (o0 >= 0x100000000) {\n o1++\n }\n v[a] = o0\n v[a + 1] = o1\n}\n\n// Little-endian byte access\nfunction B2B_GET32 (arr, i) {\n return arr[i] ^ (arr[i + 1] << 8) ^ (arr[i + 2] << 16) ^ (arr[i + 3] << 24)\n}\n\n// G Mixing function\n// The ROTRs are inlined for speed\nfunction B2B_G (a, b, c, d, ix, iy) {\n const x0 = m[ix]\n const x1 = m[ix + 1]\n const y0 = m[iy]\n const y1 = m[iy + 1]\n\n ADD64AA(v, a, b) // v[a,a+1] += v[b,b+1] ... in JS we must store a uint64 as two uint32s\n ADD64AC(v, a, x0, x1) // v[a, a+1] += x ... x0 is the low 32 bits of x, x1 is the high 32 bits\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated to the right by 32 bits\n let xor0 = v[d] ^ v[a]\n let xor1 = v[d + 1] ^ v[a + 1]\n v[d] = xor1\n v[d + 1] = xor0\n\n ADD64AA(v, c, d)\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 24 bits\n xor0 = v[b] ^ v[c]\n xor1 = v[b + 1] ^ v[c + 1]\n v[b] = (xor0 >>> 24) ^ (xor1 << 8)\n v[b + 1] = (xor1 >>> 24) ^ (xor0 << 8)\n\n ADD64AA(v, a, b)\n ADD64AC(v, a, y0, y1)\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated right by 16 bits\n xor0 = v[d] ^ v[a]\n xor1 = v[d + 1] ^ v[a + 1]\n v[d] = (xor0 >>> 16) ^ (xor1 << 16)\n v[d + 1] = (xor1 >>> 16) ^ (xor0 << 16)\n\n ADD64AA(v, c, d)\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 63 bits\n xor0 = v[b] ^ v[c]\n xor1 = v[b + 1] ^ v[c + 1]\n v[b] = (xor1 >>> 31) ^ (xor0 << 1)\n v[b + 1] = (xor0 >>> 31) ^ (xor1 << 1)\n}\n\n// Initialization Vector\nconst BLAKE2B_IV32 = new Uint32Array([\n 0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372,\n 0x5f1d36f1, 0xa54ff53a, 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c,\n 0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19\n])\n\nconst SIGMA8 = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 10, 4, 8, 9, 15, 13,\n 6, 1, 12, 0, 2, 11, 7, 5, 3, 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1,\n 9, 4, 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, 9, 0, 5, 7, 2, 4,\n 10, 15, 14, 1, 11, 12, 6, 8, 3, 13, 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5,\n 15, 14, 1, 9, 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11, 13, 11, 7,\n 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10, 6, 15, 14, 9, 11, 3, 0, 8, 12, 2,\n 13, 7, 1, 4, 10, 5, 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0, 0,\n 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 10, 4, 8, 9, 15, 13, 6,\n 1, 12, 0, 2, 11, 7, 5, 3\n]\n\n// These are offsets into a uint64 buffer.\n// Multiply them all by 2 to make them offsets into a uint32 buffer,\n// because this is Javascript and we don't have uint64s\nconst SIGMA82 = new Uint8Array(\n SIGMA8.map(function (x) {\n return x * 2\n })\n)\n\n// Compression function. 'last' flag indicates last block.\n// Note we're representing 16 uint64s as 32 uint32s\nconst v = new Uint32Array(32)\nconst m = new Uint32Array(32)\nfunction blake2bCompress (ctx, last) {\n let i = 0\n\n // init work variables\n for (i = 0; i < 16; i++) {\n v[i] = ctx.h[i]\n v[i + 16] = BLAKE2B_IV32[i]\n }\n\n // low 64 bits of offset\n v[24] = v[24] ^ ctx.t\n v[25] = v[25] ^ (ctx.t / 0x100000000)\n // high 64 bits not supported, offset may not be higher than 2**53-1\n\n // last block flag set ?\n if (last) {\n v[28] = ~v[28]\n v[29] = ~v[29]\n }\n\n // get little-endian words\n for (i = 0; i < 32; i++) {\n m[i] = B2B_GET32(ctx.b, 4 * i)\n }\n\n // twelve rounds of mixing\n // uncomment the DebugPrint calls to log the computation\n // and match the RFC sample documentation\n // util.debugPrint(' m[16]', m, 64)\n for (i = 0; i < 12; i++) {\n // util.debugPrint(' (i=' + (i < 10 ? ' ' : '') + i + ') v[16]', v, 64)\n B2B_G(0, 8, 16, 24, SIGMA82[i * 16 + 0], SIGMA82[i * 16 + 1])\n B2B_G(2, 10, 18, 26, SIGMA82[i * 16 + 2], SIGMA82[i * 16 + 3])\n B2B_G(4, 12, 20, 28, SIGMA82[i * 16 + 4], SIGMA82[i * 16 + 5])\n B2B_G(6, 14, 22, 30, SIGMA82[i * 16 + 6], SIGMA82[i * 16 + 7])\n B2B_G(0, 10, 20, 30, SIGMA82[i * 16 + 8], SIGMA82[i * 16 + 9])\n B2B_G(2, 12, 22, 24, SIGMA82[i * 16 + 10], SIGMA82[i * 16 + 11])\n B2B_G(4, 14, 16, 26, SIGMA82[i * 16 + 12], SIGMA82[i * 16 + 13])\n B2B_G(6, 8, 18, 28, SIGMA82[i * 16 + 14], SIGMA82[i * 16 + 15])\n }\n // util.debugPrint(' (i=12) v[16]', v, 64)\n\n for (i = 0; i < 16; i++) {\n ctx.h[i] = ctx.h[i] ^ v[i] ^ v[i + 16]\n }\n // util.debugPrint('h[8]', ctx.h, 64)\n}\n\n// reusable parameterBlock\nconst parameterBlock = new Uint8Array([\n 0,\n 0,\n 0,\n 0, // 0: outlen, keylen, fanout, depth\n 0,\n 0,\n 0,\n 0, // 4: leaf length, sequential mode\n 0,\n 0,\n 0,\n 0, // 8: node offset\n 0,\n 0,\n 0,\n 0, // 12: node offset\n 0,\n 0,\n 0,\n 0, // 16: node depth, inner length, rfu\n 0,\n 0,\n 0,\n 0, // 20: rfu\n 0,\n 0,\n 0,\n 0, // 24: rfu\n 0,\n 0,\n 0,\n 0, // 28: rfu\n 0,\n 0,\n 0,\n 0, // 32: salt\n 0,\n 0,\n 0,\n 0, // 36: salt\n 0,\n 0,\n 0,\n 0, // 40: salt\n 0,\n 0,\n 0,\n 0, // 44: salt\n 0,\n 0,\n 0,\n 0, // 48: personal\n 0,\n 0,\n 0,\n 0, // 52: personal\n 0,\n 0,\n 0,\n 0, // 56: personal\n 0,\n 0,\n 0,\n 0 // 60: personal\n])\n\n// Creates a BLAKE2b hashing context\n// Requires an output length between 1 and 64 bytes\n// Takes an optional Uint8Array key\n// Takes an optinal Uint8Array salt\n// Takes an optinal Uint8Array personal\nfunction blake2bInit (outlen, key, salt, personal) {\n if (outlen === 0 || outlen > 64) {\n throw new Error('Illegal output length, expected 0 < length <= 64')\n }\n if (key && key.length > 64) {\n throw new Error('Illegal key, expected Uint8Array with 0 < length <= 64')\n }\n if (salt && salt.length !== 16) {\n throw new Error('Illegal salt, expected Uint8Array with length is 16')\n }\n if (personal && personal.length !== 16) {\n throw new Error('Illegal personal, expected Uint8Array with length is 16')\n }\n\n // state, 'param block'\n const ctx = {\n b: new Uint8Array(128),\n h: new Uint32Array(16),\n t: 0, // input count\n c: 0, // pointer within buffer\n outlen: outlen // output length in bytes\n }\n\n // initialize parameterBlock before usage\n parameterBlock.fill(0)\n parameterBlock[0] = outlen\n if (key) parameterBlock[1] = key.length\n parameterBlock[2] = 1 // fanout\n parameterBlock[3] = 1 // depth\n if (salt) parameterBlock.set(salt, 32)\n if (personal) parameterBlock.set(personal, 48)\n\n // initialize hash state\n for (let i = 0; i < 16; i++) {\n ctx.h[i] = BLAKE2B_IV32[i] ^ B2B_GET32(parameterBlock, i * 4)\n }\n\n // key the hash, if applicable\n if (key) {\n blake2bUpdate(ctx, key)\n // at the end\n ctx.c = 128\n }\n\n return ctx\n}\n\n// Updates a BLAKE2b streaming hash\n// Requires hash context and Uint8Array (byte array)\nfunction blake2bUpdate (ctx, input) {\n for (let i = 0; i < input.length; i++) {\n if (ctx.c === 128) {\n // buffer full ?\n ctx.t += ctx.c // add counters\n blake2bCompress(ctx, false) // compress (not last)\n ctx.c = 0 // counter to zero\n }\n ctx.b[ctx.c++] = input[i]\n }\n}\n\n// Completes a BLAKE2b streaming hash\n// Returns a Uint8Array containing the message digest\nfunction blake2bFinal (ctx) {\n ctx.t += ctx.c // mark last block offset\n\n while (ctx.c < 128) {\n // fill up with zeros\n ctx.b[ctx.c++] = 0\n }\n blake2bCompress(ctx, true) // final block flag = 1\n\n // little endian convert and store\n const out = new Uint8Array(ctx.outlen)\n for (let i = 0; i < ctx.outlen; i++) {\n out[i] = ctx.h[i >> 2] >> (8 * (i & 3))\n }\n return out\n}\n\n// Computes the BLAKE2B hash of a string or byte array, and returns a Uint8Array\n//\n// Returns a n-byte Uint8Array\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer or Uint8Array\n// - key - optional key Uint8Array, up to 64 bytes\n// - outlen - optional output length in bytes, default 64\n// - salt - optional salt bytes, string, Buffer or Uint8Array\n// - personal - optional personal bytes, string, Buffer or Uint8Array\nfunction blake2b (input, key, outlen, salt, personal) {\n // preprocess inputs\n outlen = outlen || 64\n input = util.normalizeInput(input)\n if (salt) {\n salt = util.normalizeInput(salt)\n }\n if (personal) {\n personal = util.normalizeInput(personal)\n }\n\n // do the math\n const ctx = blake2bInit(outlen, key, salt, personal)\n blake2bUpdate(ctx, input)\n return blake2bFinal(ctx)\n}\n\n// Computes the BLAKE2B hash of a string or byte array\n//\n// Returns an n-byte hash in hex, all lowercase\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer, or Uint8Array\n// - key - optional key Uint8Array, up to 64 bytes\n// - outlen - optional output length in bytes, default 64\n// - salt - optional salt bytes, string, Buffer or Uint8Array\n// - personal - optional personal bytes, string, Buffer or Uint8Array\nfunction blake2bHex (input, key, outlen, salt, personal) {\n const output = blake2b(input, key, outlen, salt, personal)\n return util.toHex(output)\n}\n\nmodule.exports = {\n blake2b: blake2b,\n blake2bHex: blake2bHex,\n blake2bInit: blake2bInit,\n blake2bUpdate: blake2bUpdate,\n blake2bFinal: blake2bFinal\n}\n","// BLAKE2s hash function in pure Javascript\n// Adapted from the reference implementation in RFC7693\n// Ported to Javascript by DC - https://github.com/dcposch\n\nconst util = require('./util')\n\n// Little-endian byte access.\n// Expects a Uint8Array and an index\n// Returns the little-endian uint32 at v[i..i+3]\nfunction B2S_GET32 (v, i) {\n return v[i] ^ (v[i + 1] << 8) ^ (v[i + 2] << 16) ^ (v[i + 3] << 24)\n}\n\n// Mixing function G.\nfunction B2S_G (a, b, c, d, x, y) {\n v[a] = v[a] + v[b] + x\n v[d] = ROTR32(v[d] ^ v[a], 16)\n v[c] = v[c] + v[d]\n v[b] = ROTR32(v[b] ^ v[c], 12)\n v[a] = v[a] + v[b] + y\n v[d] = ROTR32(v[d] ^ v[a], 8)\n v[c] = v[c] + v[d]\n v[b] = ROTR32(v[b] ^ v[c], 7)\n}\n\n// 32-bit right rotation\n// x should be a uint32\n// y must be between 1 and 31, inclusive\nfunction ROTR32 (x, y) {\n return (x >>> y) ^ (x << (32 - y))\n}\n\n// Initialization Vector.\nconst BLAKE2S_IV = new Uint32Array([\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n])\n\nconst SIGMA = new Uint8Array([\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 14,\n 10,\n 4,\n 8,\n 9,\n 15,\n 13,\n 6,\n 1,\n 12,\n 0,\n 2,\n 11,\n 7,\n 5,\n 3,\n 11,\n 8,\n 12,\n 0,\n 5,\n 2,\n 15,\n 13,\n 10,\n 14,\n 3,\n 6,\n 7,\n 1,\n 9,\n 4,\n 7,\n 9,\n 3,\n 1,\n 13,\n 12,\n 11,\n 14,\n 2,\n 6,\n 5,\n 10,\n 4,\n 0,\n 15,\n 8,\n 9,\n 0,\n 5,\n 7,\n 2,\n 4,\n 10,\n 15,\n 14,\n 1,\n 11,\n 12,\n 6,\n 8,\n 3,\n 13,\n 2,\n 12,\n 6,\n 10,\n 0,\n 11,\n 8,\n 3,\n 4,\n 13,\n 7,\n 5,\n 15,\n 14,\n 1,\n 9,\n 12,\n 5,\n 1,\n 15,\n 14,\n 13,\n 4,\n 10,\n 0,\n 7,\n 6,\n 3,\n 9,\n 2,\n 8,\n 11,\n 13,\n 11,\n 7,\n 14,\n 12,\n 1,\n 3,\n 9,\n 5,\n 0,\n 15,\n 4,\n 8,\n 6,\n 2,\n 10,\n 6,\n 15,\n 14,\n 9,\n 11,\n 3,\n 0,\n 8,\n 12,\n 2,\n 13,\n 7,\n 1,\n 4,\n 10,\n 5,\n 10,\n 2,\n 8,\n 4,\n 7,\n 6,\n 1,\n 5,\n 15,\n 11,\n 9,\n 14,\n 3,\n 12,\n 13,\n 0\n])\n\n// Compression function. \"last\" flag indicates last block\nconst v = new Uint32Array(16)\nconst m = new Uint32Array(16)\nfunction blake2sCompress (ctx, last) {\n let i = 0\n for (i = 0; i < 8; i++) {\n // init work variables\n v[i] = ctx.h[i]\n v[i + 8] = BLAKE2S_IV[i]\n }\n\n v[12] ^= ctx.t // low 32 bits of offset\n v[13] ^= ctx.t / 0x100000000 // high 32 bits\n if (last) {\n // last block flag set ?\n v[14] = ~v[14]\n }\n\n for (i = 0; i < 16; i++) {\n // get little-endian words\n m[i] = B2S_GET32(ctx.b, 4 * i)\n }\n\n // ten rounds of mixing\n // uncomment the DebugPrint calls to log the computation\n // and match the RFC sample documentation\n // util.debugPrint(' m[16]', m, 32)\n for (i = 0; i < 10; i++) {\n // util.debugPrint(' (i=' + i + ') v[16]', v, 32)\n B2S_G(0, 4, 8, 12, m[SIGMA[i * 16 + 0]], m[SIGMA[i * 16 + 1]])\n B2S_G(1, 5, 9, 13, m[SIGMA[i * 16 + 2]], m[SIGMA[i * 16 + 3]])\n B2S_G(2, 6, 10, 14, m[SIGMA[i * 16 + 4]], m[SIGMA[i * 16 + 5]])\n B2S_G(3, 7, 11, 15, m[SIGMA[i * 16 + 6]], m[SIGMA[i * 16 + 7]])\n B2S_G(0, 5, 10, 15, m[SIGMA[i * 16 + 8]], m[SIGMA[i * 16 + 9]])\n B2S_G(1, 6, 11, 12, m[SIGMA[i * 16 + 10]], m[SIGMA[i * 16 + 11]])\n B2S_G(2, 7, 8, 13, m[SIGMA[i * 16 + 12]], m[SIGMA[i * 16 + 13]])\n B2S_G(3, 4, 9, 14, m[SIGMA[i * 16 + 14]], m[SIGMA[i * 16 + 15]])\n }\n // util.debugPrint(' (i=10) v[16]', v, 32)\n\n for (i = 0; i < 8; i++) {\n ctx.h[i] ^= v[i] ^ v[i + 8]\n }\n // util.debugPrint('h[8]', ctx.h, 32)\n}\n\n// Creates a BLAKE2s hashing context\n// Requires an output length between 1 and 32 bytes\n// Takes an optional Uint8Array key\nfunction blake2sInit (outlen, key) {\n if (!(outlen > 0 && outlen <= 32)) {\n throw new Error('Incorrect output length, should be in [1, 32]')\n }\n const keylen = key ? key.length : 0\n if (key && !(keylen > 0 && keylen <= 32)) {\n throw new Error('Incorrect key length, should be in [1, 32]')\n }\n\n const ctx = {\n h: new Uint32Array(BLAKE2S_IV), // hash state\n b: new Uint8Array(64), // input block\n c: 0, // pointer within block\n t: 0, // input count\n outlen: outlen // output length in bytes\n }\n ctx.h[0] ^= 0x01010000 ^ (keylen << 8) ^ outlen\n\n if (keylen > 0) {\n blake2sUpdate(ctx, key)\n ctx.c = 64 // at the end\n }\n\n return ctx\n}\n\n// Updates a BLAKE2s streaming hash\n// Requires hash context and Uint8Array (byte array)\nfunction blake2sUpdate (ctx, input) {\n for (let i = 0; i < input.length; i++) {\n if (ctx.c === 64) {\n // buffer full ?\n ctx.t += ctx.c // add counters\n blake2sCompress(ctx, false) // compress (not last)\n ctx.c = 0 // counter to zero\n }\n ctx.b[ctx.c++] = input[i]\n }\n}\n\n// Completes a BLAKE2s streaming hash\n// Returns a Uint8Array containing the message digest\nfunction blake2sFinal (ctx) {\n ctx.t += ctx.c // mark last block offset\n while (ctx.c < 64) {\n // fill up with zeros\n ctx.b[ctx.c++] = 0\n }\n blake2sCompress(ctx, true) // final block flag = 1\n\n // little endian convert and store\n const out = new Uint8Array(ctx.outlen)\n for (let i = 0; i < ctx.outlen; i++) {\n out[i] = (ctx.h[i >> 2] >> (8 * (i & 3))) & 0xff\n }\n return out\n}\n\n// Computes the BLAKE2S hash of a string or byte array, and returns a Uint8Array\n//\n// Returns a n-byte Uint8Array\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer, or Uint8Array\n// - key - optional key Uint8Array, up to 32 bytes\n// - outlen - optional output length in bytes, default 64\nfunction blake2s (input, key, outlen) {\n // preprocess inputs\n outlen = outlen || 32\n input = util.normalizeInput(input)\n\n // do the math\n const ctx = blake2sInit(outlen, key)\n blake2sUpdate(ctx, input)\n return blake2sFinal(ctx)\n}\n\n// Computes the BLAKE2S hash of a string or byte array\n//\n// Returns an n-byte hash in hex, all lowercase\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer, or Uint8Array\n// - key - optional key Uint8Array, up to 32 bytes\n// - outlen - optional output length in bytes, default 64\nfunction blake2sHex (input, key, outlen) {\n const output = blake2s(input, key, outlen)\n return util.toHex(output)\n}\n\nmodule.exports = {\n blake2s: blake2s,\n blake2sHex: blake2sHex,\n blake2sInit: blake2sInit,\n blake2sUpdate: blake2sUpdate,\n blake2sFinal: blake2sFinal\n}\n","const b2b = require('./blake2b')\nconst b2s = require('./blake2s')\n\nmodule.exports = {\n blake2b: b2b.blake2b,\n blake2bHex: b2b.blake2bHex,\n blake2bInit: b2b.blake2bInit,\n blake2bUpdate: b2b.blake2bUpdate,\n blake2bFinal: b2b.blake2bFinal,\n blake2s: b2s.blake2s,\n blake2sHex: b2s.blake2sHex,\n blake2sInit: b2s.blake2sInit,\n blake2sUpdate: b2s.blake2sUpdate,\n blake2sFinal: b2s.blake2sFinal\n}\n","const ERROR_MSG_INPUT = 'Input must be an string, Buffer or Uint8Array'\n\n// For convenience, let people hash a string, not just a Uint8Array\nfunction normalizeInput (input) {\n let ret\n if (input instanceof Uint8Array) {\n ret = input\n } else if (typeof input === 'string') {\n const encoder = new TextEncoder()\n ret = encoder.encode(input)\n } else {\n throw new Error(ERROR_MSG_INPUT)\n }\n return ret\n}\n\n// Converts a Uint8Array to a hexadecimal string\n// For example, toHex([255, 0, 255]) returns \"ff00ff\"\nfunction toHex (bytes) {\n return Array.prototype.map\n .call(bytes, function (n) {\n return (n < 16 ? '0' : '') + n.toString(16)\n })\n .join('')\n}\n\n// Converts any value in [0...2^32-1] to an 8-character hex string\nfunction uint32ToHex (val) {\n return (0x100000000 + val).toString(16).substring(1)\n}\n\n// For debugging: prints out hash state in the same format as the RFC\n// sample computation exactly, so that you can diff\nfunction debugPrint (label, arr, size) {\n let msg = '\\n' + label + ' = '\n for (let i = 0; i < arr.length; i += 2) {\n if (size === 32) {\n msg += uint32ToHex(arr[i]).toUpperCase()\n msg += ' '\n msg += uint32ToHex(arr[i + 1]).toUpperCase()\n } else if (size === 64) {\n msg += uint32ToHex(arr[i + 1]).toUpperCase()\n msg += uint32ToHex(arr[i]).toUpperCase()\n } else throw new Error('Invalid size ' + size)\n if (i % 6 === 4) {\n msg += '\\n' + new Array(label.length + 4).join(' ')\n } else if (i < arr.length - 2) {\n msg += ' '\n }\n }\n console.log(msg)\n}\n\n// For performance testing: generates N bytes of input, hashes M times\n// Measures and prints MB/second hash performance each time\nfunction testSpeed (hashFn, N, M) {\n let startMs = new Date().getTime()\n\n const input = new Uint8Array(N)\n for (let i = 0; i < N; i++) {\n input[i] = i % 256\n }\n const genMs = new Date().getTime()\n console.log('Generated random input in ' + (genMs - startMs) + 'ms')\n startMs = genMs\n\n for (let i = 0; i < M; i++) {\n const hashHex = hashFn(input)\n const hashMs = new Date().getTime()\n const ms = hashMs - startMs\n startMs = hashMs\n console.log('Hashed in ' + ms + 'ms: ' + hashHex.substring(0, 20) + '...')\n console.log(\n Math.round((N / (1 << 20) / (ms / 1000)) * 100) / 100 + ' MB PER SECOND'\n )\n }\n}\n\nmodule.exports = {\n normalizeInput: normalizeInput,\n toHex: toHex,\n debugPrint: debugPrint,\n testSpeed: testSpeed\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","var basex = require('base-x')\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","'use strict'\n\nvar base58 = require('bs58')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (checksumFn) {\n // Encode a buffer as a base58-check encoded string\n function encode (payload) {\n var checksum = checksumFn(payload)\n\n return base58.encode(Buffer.concat([\n payload,\n checksum\n ], payload.length + 4))\n }\n\n function decodeRaw (buffer) {\n var payload = buffer.slice(0, -4)\n var checksum = buffer.slice(-4)\n var newChecksum = checksumFn(payload)\n\n if (checksum[0] ^ newChecksum[0] |\n checksum[1] ^ newChecksum[1] |\n checksum[2] ^ newChecksum[2] |\n checksum[3] ^ newChecksum[3]) return\n\n return payload\n }\n\n // Decode a base58-check encoded string to a buffer, no result if checksum is wrong\n function decodeUnsafe (string) {\n var buffer = base58.decodeUnsafe(string)\n if (!buffer) return\n\n return decodeRaw(buffer)\n }\n\n function decode (string) {\n var buffer = base58.decode(string)\n var payload = decodeRaw(buffer, checksumFn)\n if (!payload) throw new Error('Invalid checksum')\n return payload\n }\n\n return {\n encode: encode,\n decode: decode,\n decodeUnsafe: decodeUnsafe\n }\n}\n","'use strict'\n\nvar createHash = require('create-hash')\nvar bs58checkBase = require('./base')\n\n// SHA256(SHA256(buffer))\nfunction sha256x2 (buffer) {\n var tmp = createHash('sha256').update(buffer).digest()\n return createHash('sha256').update(tmp).digest()\n}\n\nmodule.exports = bs58checkBase(sha256x2)\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","'use strict';\n\nfunction assign(obj, props) {\n for (const key in props) {\n Object.defineProperty(obj, key, {\n value: props[key],\n enumerable: true,\n configurable: true,\n });\n }\n\n return obj;\n}\n\nfunction createError(err, code, props) {\n if (!err || typeof err === 'string') {\n throw new TypeError('Please pass an Error to err-code');\n }\n\n if (!props) {\n props = {};\n }\n\n if (typeof code === 'object') {\n props = code;\n code = undefined;\n }\n\n if (code != null) {\n props.code = code;\n }\n\n try {\n return assign(err, props);\n } catch (_) {\n props.message = err.message;\n props.stack = err.stack;\n\n const ErrClass = function () {};\n\n ErrClass.prototype = Object.create(Object.getPrototypeOf(err));\n\n return assign(new ErrClass(), props);\n }\n}\n\nmodule.exports = createError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.keccak512 = exports.keccak384 = exports.keccak256 = exports.keccak224 = void 0;\nconst sha3_1 = require(\"@noble/hashes/sha3\");\nconst utils_1 = require(\"./utils\");\nexports.keccak224 = (0, utils_1.wrapHash)(sha3_1.keccak_224);\nexports.keccak256 = (() => {\n const k = (0, utils_1.wrapHash)(sha3_1.keccak_256);\n k.create = sha3_1.keccak_256.create;\n return k;\n})();\nexports.keccak384 = (0, utils_1.wrapHash)(sha3_1.keccak_384);\nexports.keccak512 = (0, utils_1.wrapHash)(sha3_1.keccak_512);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.crypto = exports.wrapHash = exports.equalsBytes = exports.hexToBytes = exports.bytesToUtf8 = exports.utf8ToBytes = exports.createView = exports.concatBytes = exports.toHex = exports.bytesToHex = exports.assertBytes = exports.assertBool = void 0;\n// buf.toString('hex') -> toHex(buf)\nconst _assert_1 = __importDefault(require(\"@noble/hashes/_assert\"));\nconst utils_1 = require(\"@noble/hashes/utils\");\nconst assertBool = _assert_1.default.bool;\nexports.assertBool = assertBool;\nconst assertBytes = _assert_1.default.bytes;\nexports.assertBytes = assertBytes;\nvar utils_2 = require(\"@noble/hashes/utils\");\nObject.defineProperty(exports, \"bytesToHex\", { enumerable: true, get: function () { return utils_2.bytesToHex; } });\nObject.defineProperty(exports, \"toHex\", { enumerable: true, get: function () { return utils_2.bytesToHex; } });\nObject.defineProperty(exports, \"concatBytes\", { enumerable: true, get: function () { return utils_2.concatBytes; } });\nObject.defineProperty(exports, \"createView\", { enumerable: true, get: function () { return utils_2.createView; } });\nObject.defineProperty(exports, \"utf8ToBytes\", { enumerable: true, get: function () { return utils_2.utf8ToBytes; } });\n// buf.toString('utf8') -> bytesToUtf8(buf)\nfunction bytesToUtf8(data) {\n if (!(data instanceof Uint8Array)) {\n throw new TypeError(`bytesToUtf8 expected Uint8Array, got ${typeof data}`);\n }\n return new TextDecoder().decode(data);\n}\nexports.bytesToUtf8 = bytesToUtf8;\nfunction hexToBytes(data) {\n const sliced = data.startsWith(\"0x\") ? data.substring(2) : data;\n return (0, utils_1.hexToBytes)(sliced);\n}\nexports.hexToBytes = hexToBytes;\n// buf.equals(buf2) -> equalsBytes(buf, buf2)\nfunction equalsBytes(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\nexports.equalsBytes = equalsBytes;\n// Internal utils\nfunction wrapHash(hash) {\n return (msg) => {\n _assert_1.default.bytes(msg);\n return hash(msg);\n };\n}\nexports.wrapHash = wrapHash;\nexports.crypto = (() => {\n const webCrypto = typeof self === \"object\" && \"crypto\" in self ? self.crypto : undefined;\n const nodeRequire = typeof module !== \"undefined\" &&\n typeof module.require === \"function\" &&\n module.require.bind(module);\n return {\n node: nodeRequire && !webCrypto ? nodeRequire(\"crypto\") : undefined,\n web: webCrypto\n };\n})();\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\nmodule.exports = function (data, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (node) {\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n if (node === undefined) return;\n if (typeof node == 'number') return isFinite(node) ? '' + node : 'null';\n if (typeof node !== 'object') return JSON.stringify(node);\n\n var i, out;\n if (Array.isArray(node)) {\n out = '[';\n for (i = 0; i < node.length; i++) {\n if (i) out += ',';\n out += stringify(node[i]) || 'null';\n }\n return out + ']';\n }\n\n if (node === null) return 'null';\n\n if (seen.indexOf(node) !== -1) {\n if (cycles) return JSON.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n\n var seenIndex = seen.push(node) - 1;\n var keys = Object.keys(node).sort(cmp && cmp(node));\n out = '';\n for (i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node[key]);\n\n if (!value) continue;\n if (out) out += ',';\n out += JSON.stringify(key) + ':' + value;\n }\n seen.splice(seenIndex, 1);\n return '{' + out + '}';\n })(data);\n};\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar json = typeof JSON !== 'undefined' ? JSON : require('jsonify');\n\nvar isArray = Array.isArray || function (x) {\n\treturn {}.toString.call(x) === '[object Array]';\n};\n\nvar objectKeys = Object.keys || function (obj) {\n\tvar has = Object.prototype.hasOwnProperty || function () { return true; };\n\tvar keys = [];\n\tfor (var key in obj) {\n\t\tif (has.call(obj, key)) { keys.push(key); }\n\t}\n\treturn keys;\n};\n\nmodule.exports = function (obj, opts) {\n\tif (!opts) { opts = {}; }\n\tif (typeof opts === 'function') { opts = { cmp: opts }; }\n\tvar space = opts.space || '';\n\tif (typeof space === 'number') { space = Array(space + 1).join(' '); }\n\tvar cycles = typeof opts.cycles === 'boolean' ? opts.cycles : false;\n\tvar replacer = opts.replacer || function (key, value) { return value; };\n\n\tvar cmp = opts.cmp && (function (f) {\n\t\treturn function (node) {\n\t\t\treturn function (a, b) {\n\t\t\t\tvar aobj = { key: a, value: node[a] };\n\t\t\t\tvar bobj = { key: b, value: node[b] };\n\t\t\t\treturn f(aobj, bobj);\n\t\t\t};\n\t\t};\n\t}(opts.cmp));\n\n\tvar seen = [];\n\treturn (function stringify(parent, key, node, level) {\n\t\tvar indent = space ? '\\n' + new Array(level + 1).join(space) : '';\n\t\tvar colonSeparator = space ? ': ' : ':';\n\n\t\tif (node && node.toJSON && typeof node.toJSON === 'function') {\n\t\t\tnode = node.toJSON();\n\t\t}\n\n\t\tnode = replacer.call(parent, key, node);\n\n\t\tif (node === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tif (typeof node !== 'object' || node === null) {\n\t\t\treturn json.stringify(node);\n\t\t}\n\t\tif (isArray(node)) {\n\t\t\tvar out = [];\n\t\t\tfor (var i = 0; i < node.length; i++) {\n\t\t\t\tvar item = stringify(node, i, node[i], level + 1) || json.stringify(null);\n\t\t\t\tout.push(indent + space + item);\n\t\t\t}\n\t\t\treturn '[' + out.join(',') + indent + ']';\n\t\t}\n\n\t\tif (seen.indexOf(node) !== -1) {\n\t\t\tif (cycles) { return json.stringify('__cycle__'); }\n\t\t\tthrow new TypeError('Converting circular structure to JSON');\n\t\t} else { seen.push(node); }\n\n\t\tvar keys = objectKeys(node).sort(cmp && cmp(node));\n\t\tvar out = [];\n\t\tfor (var i = 0; i < keys.length; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tvar value = stringify(node, key, node[key], level + 1);\n\n\t\t\tif (!value) { continue; }\n\n\t\t\tvar keyValue = json.stringify(key)\n\t\t\t\t\t+ colonSeparator\n\t\t\t\t\t+ value;\n\n\t\t\tout.push(indent + space + keyValue);\n\t\t}\n\t\tseen.splice(seen.indexOf(node), 1);\n\t\treturn '{' + out.join(',') + indent + '}';\n\n\t}({ '': obj }, '', obj, 0));\n};\n","'use strict';\n\nexports.parse = require('./lib/parse');\nexports.stringify = require('./lib/stringify');\n","'use strict';\n\nvar at; // The index of the current character\nvar ch; // The current character\nvar escapee = {\n\t'\"': '\"',\n\t'\\\\': '\\\\',\n\t'/': '/',\n\tb: '\\b',\n\tf: '\\f',\n\tn: '\\n',\n\tr: '\\r',\n\tt: '\\t'\n};\nvar text;\n\n// Call error when something is wrong.\nfunction error(m) {\n\tthrow {\n\t\tname: 'SyntaxError',\n\t\tmessage: m,\n\t\tat: at,\n\t\ttext: text\n\t};\n}\n\nfunction next(c) {\n\t// If a c parameter is provided, verify that it matches the current character.\n\tif (c && c !== ch) {\n\t\terror(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n\t}\n\n\t// Get the next character. When there are no more characters, return the empty string.\n\n\tch = text.charAt(at);\n\tat += 1;\n\treturn ch;\n}\n\nfunction number() {\n\t// Parse a number value.\n\tvar num;\n\tvar str = '';\n\n\tif (ch === '-') {\n\t\tstr = '-';\n\t\tnext('-');\n\t}\n\twhile (ch >= '0' && ch <= '9') {\n\t\tstr += ch;\n\t\tnext();\n\t}\n\tif (ch === '.') {\n\t\tstr += '.';\n\t\twhile (next() && ch >= '0' && ch <= '9') {\n\t\t\tstr += ch;\n\t\t}\n\t}\n\tif (ch === 'e' || ch === 'E') {\n\t\tstr += ch;\n\t\tnext();\n\t\tif (ch === '-' || ch === '+') {\n\t\t\tstr += ch;\n\t\t\tnext();\n\t\t}\n\t\twhile (ch >= '0' && ch <= '9') {\n\t\t\tstr += ch;\n\t\t\tnext();\n\t\t}\n\t}\n\tnum = Number(str);\n\tif (!isFinite(num)) {\n\t\terror('Bad number');\n\t}\n\treturn num;\n}\n\nfunction string() {\n\t// Parse a string value.\n\tvar hex;\n\tvar i;\n\tvar str = '';\n\tvar uffff;\n\n\t// When parsing for string values, we must look for \" and \\ characters.\n\tif (ch === '\"') {\n\t\twhile (next()) {\n\t\t\tif (ch === '\"') {\n\t\t\t\tnext();\n\t\t\t\treturn str;\n\t\t\t} else if (ch === '\\\\') {\n\t\t\t\tnext();\n\t\t\t\tif (ch === 'u') {\n\t\t\t\t\tuffff = 0;\n\t\t\t\t\tfor (i = 0; i < 4; i += 1) {\n\t\t\t\t\t\thex = parseInt(next(), 16);\n\t\t\t\t\t\tif (!isFinite(hex)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tuffff = (uffff * 16) + hex;\n\t\t\t\t\t}\n\t\t\t\t\tstr += String.fromCharCode(uffff);\n\t\t\t\t} else if (typeof escapee[ch] === 'string') {\n\t\t\t\t\tstr += escapee[ch];\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstr += ch;\n\t\t\t}\n\t\t}\n\t}\n\terror('Bad string');\n}\n\n// Skip whitespace.\nfunction white() {\n\twhile (ch && ch <= ' ') {\n\t\tnext();\n\t}\n}\n\n// true, false, or null.\nfunction word() {\n\tswitch (ch) {\n\t\tcase 't':\n\t\t\tnext('t');\n\t\t\tnext('r');\n\t\t\tnext('u');\n\t\t\tnext('e');\n\t\t\treturn true;\n\t\tcase 'f':\n\t\t\tnext('f');\n\t\t\tnext('a');\n\t\t\tnext('l');\n\t\t\tnext('s');\n\t\t\tnext('e');\n\t\t\treturn false;\n\t\tcase 'n':\n\t\t\tnext('n');\n\t\t\tnext('u');\n\t\t\tnext('l');\n\t\t\tnext('l');\n\t\t\treturn null;\n\t\tdefault:\n\t\t\terror(\"Unexpected '\" + ch + \"'\");\n\t}\n}\n\n// Parse an array value.\nfunction array() {\n\tvar arr = [];\n\n\tif (ch === '[') {\n\t\tnext('[');\n\t\twhite();\n\t\tif (ch === ']') {\n\t\t\tnext(']');\n\t\t\treturn arr; // empty array\n\t\t}\n\t\twhile (ch) {\n\t\t\tarr.push(value()); // eslint-disable-line no-use-before-define\n\t\t\twhite();\n\t\t\tif (ch === ']') {\n\t\t\t\tnext(']');\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tnext(',');\n\t\t\twhite();\n\t\t}\n\t}\n\terror('Bad array');\n}\n\n// Parse an object value.\nfunction object() {\n\tvar key;\n\tvar obj = {};\n\n\tif (ch === '{') {\n\t\tnext('{');\n\t\twhite();\n\t\tif (ch === '}') {\n\t\t\tnext('}');\n\t\t\treturn obj; // empty object\n\t\t}\n\t\twhile (ch) {\n\t\t\tkey = string();\n\t\t\twhite();\n\t\t\tnext(':');\n\t\t\tif (Object.prototype.hasOwnProperty.call(obj, key)) {\n\t\t\t\terror('Duplicate key \"' + key + '\"');\n\t\t\t}\n\t\t\tobj[key] = value(); // eslint-disable-line no-use-before-define\n\t\t\twhite();\n\t\t\tif (ch === '}') {\n\t\t\t\tnext('}');\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t\tnext(',');\n\t\t\twhite();\n\t\t}\n\t}\n\terror('Bad object');\n}\n\n// Parse a JSON value. It could be an object, an array, a string, a number, or a word.\nfunction value() {\n\twhite();\n\tswitch (ch) {\n\t\tcase '{':\n\t\t\treturn object();\n\t\tcase '[':\n\t\t\treturn array();\n\t\tcase '\"':\n\t\t\treturn string();\n\t\tcase '-':\n\t\t\treturn number();\n\t\tdefault:\n\t\t\treturn ch >= '0' && ch <= '9' ? number() : word();\n\t}\n}\n\n// Return the json_parse function. It will have access to all of the above functions and variables.\nmodule.exports = function (source, reviver) {\n\tvar result;\n\n\ttext = source;\n\tat = 0;\n\tch = ' ';\n\tresult = value();\n\twhite();\n\tif (ch) {\n\t\terror('Syntax error');\n\t}\n\n\t// If there is a reviver function, we recursively walk the new structure,\n\t// passing each name/value pair to the reviver function for possible\n\t// transformation, starting with a temporary root object that holds the result\n\t// in an empty key. If there is not a reviver function, we simply return the\n\t// result.\n\n\treturn typeof reviver === 'function' ? (function walk(holder, key) {\n\t\tvar k;\n\t\tvar v;\n\t\tvar val = holder[key];\n\t\tif (val && typeof val === 'object') {\n\t\t\tfor (k in value) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(val, k)) {\n\t\t\t\t\tv = walk(val, k);\n\t\t\t\t\tif (typeof v === 'undefined') {\n\t\t\t\t\t\tdelete val[k];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tval[k] = v;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn reviver.call(holder, key, val);\n\t}({ '': result }, '')) : result;\n};\n","'use strict';\n\nvar escapable = /[\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\nvar gap;\nvar indent;\nvar meta = { // table of character substitutions\n\t'\\b': '\\\\b',\n\t'\\t': '\\\\t',\n\t'\\n': '\\\\n',\n\t'\\f': '\\\\f',\n\t'\\r': '\\\\r',\n\t'\"': '\\\\\"',\n\t'\\\\': '\\\\\\\\'\n};\nvar rep;\n\nfunction quote(string) {\n\t// If the string contains no control characters, no quote characters, and no\n\t// backslash characters, then we can safely slap some quotes around it.\n\t// Otherwise we must also replace the offending characters with safe escape sequences.\n\n\tescapable.lastIndex = 0;\n\treturn escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n\t\tvar c = meta[a];\n\t\treturn typeof c === 'string' ? c\n\t\t\t: '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n\t}) + '\"' : '\"' + string + '\"';\n}\n\nfunction str(key, holder) {\n\t// Produce a string from holder[key].\n\tvar i; // The loop counter.\n\tvar k; // The member key.\n\tvar v; // The member value.\n\tvar length;\n\tvar mind = gap;\n\tvar partial;\n\tvar value = holder[key];\n\n\t// If the value has a toJSON method, call it to obtain a replacement value.\n\tif (value && typeof value === 'object' && typeof value.toJSON === 'function') {\n\t\tvalue = value.toJSON(key);\n\t}\n\n\t// If we were called with a replacer function, then call the replacer to obtain a replacement value.\n\tif (typeof rep === 'function') {\n\t\tvalue = rep.call(holder, key, value);\n\t}\n\n\t// What happens next depends on the value's type.\n\tswitch (typeof value) {\n\t\tcase 'string':\n\t\t\treturn quote(value);\n\n\t\tcase 'number':\n\t\t\t// JSON numbers must be finite. Encode non-finite numbers as null.\n\t\t\treturn isFinite(value) ? String(value) : 'null';\n\n\t\tcase 'boolean':\n\t\tcase 'null':\n\t\t\t// If the value is a boolean or null, convert it to a string. Note:\n\t\t\t// typeof null does not produce 'null'. The case is included here in\n\t\t\t// the remote chance that this gets fixed someday.\n\t\t\treturn String(value);\n\n\t\tcase 'object':\n\t\t\tif (!value) {\n\t\t\t\treturn 'null';\n\t\t\t}\n\t\t\tgap += indent;\n\t\t\tpartial = [];\n\n\t\t\t// Array.isArray\n\t\t\tif (Object.prototype.toString.apply(value) === '[object Array]') {\n\t\t\t\tlength = value.length;\n\t\t\t\tfor (i = 0; i < length; i += 1) {\n\t\t\t\t\tpartial[i] = str(i, value) || 'null';\n\t\t\t\t}\n\n\t\t\t\t// Join all of the elements together, separated with commas, and wrap them in brackets.\n\t\t\t\tv = partial.length === 0 ? '[]' : gap\n\t\t\t\t\t? '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']'\n\t\t\t\t\t: '[' + partial.join(',') + ']';\n\t\t\t\tgap = mind;\n\t\t\t\treturn v;\n\t\t\t}\n\n\t\t\t// If the replacer is an array, use it to select the members to be stringified.\n\t\t\tif (rep && typeof rep === 'object') {\n\t\t\t\tlength = rep.length;\n\t\t\t\tfor (i = 0; i < length; i += 1) {\n\t\t\t\t\tk = rep[i];\n\t\t\t\t\tif (typeof k === 'string') {\n\t\t\t\t\t\tv = str(k, value);\n\t\t\t\t\t\tif (v) {\n\t\t\t\t\t\t\tpartial.push(quote(k) + (gap ? ': ' : ':') + v);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, iterate through all of the keys in the object.\n\t\t\t\tfor (k in value) {\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(value, k)) {\n\t\t\t\t\t\tv = str(k, value);\n\t\t\t\t\t\tif (v) {\n\t\t\t\t\t\t\tpartial.push(quote(k) + (gap ? ': ' : ':') + v);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Join all of the member texts together, separated with commas, and wrap them in braces.\n\n\t\t\tv = partial.length === 0 ? '{}' : gap\n\t\t\t\t? '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}'\n\t\t\t\t: '{' + partial.join(',') + '}';\n\t\t\tgap = mind;\n\t\t\treturn v;\n\t\tdefault:\n\t}\n}\n\nmodule.exports = function (value, replacer, space) {\n\tvar i;\n\tgap = '';\n\tindent = '';\n\n\t// If the space parameter is a number, make an indent string containing that many spaces.\n\tif (typeof space === 'number') {\n\t\tfor (i = 0; i < space; i += 1) {\n\t\t\tindent += ' ';\n\t\t}\n\t} else if (typeof space === 'string') {\n\t\t// If the space parameter is a string, it will be used as the indent string.\n\t\tindent = space;\n\t}\n\n\t// If there is a replacer, it must be a function or an array. Otherwise, throw an error.\n\trep = replacer;\n\tif (\n\t\treplacer\n\t\t&& typeof replacer !== 'function'\n\t\t&& (typeof replacer !== 'object' || typeof replacer.length !== 'number')\n\t) {\n\t\tthrow new Error('JSON.stringify');\n\t}\n\n\t// Make a fake root object containing our value under the key of ''.\n\t// Return the result of stringifying the value.\n\treturn str('', { '': value });\n};\n","\nmodule.exports = function load (src, opts, cb) {\n var head = document.head || document.getElementsByTagName('head')[0]\n var script = document.createElement('script')\n\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n opts = opts || {}\n cb = cb || function() {}\n\n script.type = opts.type || 'text/javascript'\n script.charset = opts.charset || 'utf8';\n script.async = 'async' in opts ? !!opts.async : true\n script.src = src\n\n if (opts.attrs) {\n setAttributes(script, opts.attrs)\n }\n\n if (opts.text) {\n script.text = '' + opts.text\n }\n\n var onend = 'onload' in script ? stdOnEnd : ieOnEnd\n onend(script, cb)\n\n // some good legacy browsers (firefox) fail the 'in' detection above\n // so as a fallback we always set onload\n // old IE will ignore this and new IE will set onload\n if (!script.onload) {\n stdOnEnd(script, cb);\n }\n\n head.appendChild(script)\n}\n\nfunction setAttributes(script, attrs) {\n for (var attr in attrs) {\n script.setAttribute(attr, attrs[attr]);\n }\n}\n\nfunction stdOnEnd (script, cb) {\n script.onload = function () {\n this.onerror = this.onload = null\n cb(null, script)\n }\n script.onerror = function () {\n // this.onload = null here is necessary\n // because even IE9 works not like others\n this.onerror = this.onload = null\n cb(new Error('Failed to load ' + this.src), script)\n }\n}\n\nfunction ieOnEnd (script, cb) {\n script.onreadystatechange = function () {\n if (this.readyState != 'complete' && this.readyState != 'loaded') return\n this.onreadystatechange = null\n cb(null, script) // there is no way to catch loading errors in IE8\n }\n}\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = mergeWith;\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '